home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Black Box 4
/
BlackBox.cdr
/
lan
/
xql211.arj
/
XQLO.211
< prev
next >
Wrap
Text File
|
1991-03-21
|
15KB
|
922 lines
. beginning of patch #5 - ALTER TABLE with ZSTRING or LSTRING
a cs:1e47
ADD AX,1B47
PUSH AX
MOV AX,0B59
PUSH AX
CMP WORD PTR [BP+0C],+03
JNZ 1E84
MOV BX,[BP-7E]
MOV CL,[BX+0A]
CMP CL,0A
JNZ 1E6F
MOV BX,[BP-76]
MOV BL,[BX]
XOR BH,BH
ADD BX,[BP-7a]
MOV BYTE PTR [BX],00
JMP 1E84
CMP CL,0B
JNZ 1E84
MOV DI,[BP-7A]
MOV SI,[BP-76]
MOV AX,DS
MOV ES,AX
LODSB
STOSB
TEST AL,AL
JNZ 1E7E
MOV BX,[BP-7E]
MOV AX,[BX+11]
MOV [BP-4E],AX
MOV AX,[BP-7A]
RETF
MOV CX,CS
ADD CX,238F
CMP WORD PTR [BP-26],+00
JNZ 1EA2
MOV AX,043D
JMP 1EBB
MOV AL,[BX+0A]
CMP AL,0A
JZ 1EB8
CMP AL,0B
JZ 1EB8
MOV AX,22CE
PUSH AX
PUSH AX
PUSH CX
MOV CX,0438
PUSH CX
RETF
MOV AX,049F
PUSH CX
PUSH AX
RETF
a cs:100
mov ax,cs
add ax,2000
mov ds,ax
r sp
110
g =100 107
e cs:100 4d 5a 80 01 8f 00 da 05 80 01 9e 1c ff ff 76 2c
a ds:413d
MOV AX,CS
SUB AX,1B47
PUSH AX
MOV BX,0547
PUSH BX
RETF
NOP
a ds:f94d
mov ax, cs
sub ax,238f
push ax
mov ax,591
push ax
retf
a cs:100
mov ax,cs
add ax,3000
mov ds,ax
r sp
110
g =100 107
e cs:100 4d 5a 80 01 8f 00 da 05 80 01 9e 1c ff ff 76 2c
a ds:3b5
mov ax,3
. end of patch #5
.
.
. patch #15 fixes min/max on autoinc fields
a cs:5c12
push si
push bp
mov bp,sp
sub sp,6
push bx
mov si,dx
mov bx,[bp+8]
mov di,ax
dec di
jz 5c34
dec di
jz 5c51
cmp di,d
jz 5c34
cmp di,7
jz 5c76
jmp 5c69
nop
mov ax,cx
a cs:5c57
push cx
a cs:5c5e
mov ax,cx
a cs:5c76
mov ax,cx
a cs:5c69
cbw
mov dx,cx
mov cx,si
nop
a cs:5c83
pop bp
pop si
nop
nop
. end of patch #15
. patch #16 fixes substitution variable with scalar function
a cs:100
mov ax,cs
add ax, 3000
mov ds, ax
r sp
110
g =100 107
e cs:100 4d 5a 80 01 8f 00 da 05 80 01 9e 1c ff ff 76 2c
a ds:61aa
;patch 16a - in SetTypeForVar
mov bx, cs
sub bx, 272d
push bx
mov bx, 44e
push bx
retf
test bx,bx
je 61c5
cmp bx,1
je 61da
mov [si+9],bl
jmp 61da
nop
a ds:61ce
; patch 16b - in SetTypeForVar
mov bx, cs
sub bx, 272d
push bx
mov bx, 517
push bx
retf
a ds:4d07
; patch 16c - in Substex
mov ax,si
nop
a cs:1d4e
;patch 16a
MOV BX,CS
ADD BX,272d ; diff to seg of settypeforvar
PUSH BX
MOV BX,576 ; offset to test bx,bx
PUSH BX
xor bx,bx
cmp ax,0100
je 1d86
cmp ax,0306
je 1d86
cmp ax,0301
je 1d86
cmp ax,0304
je 1d86
mov bx,1
mov si,[si+4]
cmp byte ptr [si+f],01
je 1d86
cmp dl,[si+8]
je 1d86
mov [si+8],cl
mov bx,2
retf
;patch 16b
MOV BX,CS
ADD BX,272d ; diff to seg of settypeforvar
PUSH BX
MOV BX,59a ; offset to L69
PUSH BX
mov ax,[si+a]
cmp ax,ffff
je 1daf
push cs
mov bx, 4af ; offset to L71
push bx
mov bx,cs
add bx, 272d ; diff to seg of settypeforvar
push bx
mov bx, 54b ; offset settypeforvar
push bx
mov dx,cx
mov bx,[bp-2]
retf
. end of patch #16
. patch #18 fixes data truncatation on INSERT INTO ... SELECT
a cs:100
mov ax,cs
add ax,2000
mov ds,ax
r sp
110
g =100 107
e cs:100 4d 5a 80 01 8f 00 da 05 80 01 9e 1c ff ff 76 2c
a ds:FB9D
JMP FBB6
. end of patch #18
.
. patch #19 status 109 on fetch distinct
a 1db0
XOR DI,DI
MOV BX,[23E6]
MOV AL,[BX+16]
XOR AH,AH
DEC AX
JZ 1DD0
DEC AX
JZ 1DD0
DEC AX
JZ 1DC9
DEC AX
JZ 1DC9
JMP 1DD5
CMP SI,+02
JZ 1DE1
JMP 1DD5
CMP SI,+03
JZ 1DE1
CMP SI,+01
JZ 1DEB
CMP SI,+04
JZ 1DEB
JMP 1DE6
INC DI
TEST DI,DI
JNZ 1DEB
MOV BX,0280
JMP 1DEE
MOV BX,0266
MOV AX,CS
ADD AX,018B
PUSH AX
PUSH BX
MOV BX,[1F54]
RETF
a 3408
push di
MOV AX,CS
SUB AX,018B
PUSH AX
MOV AX,04B0
PUSH AX
RETF
NOP
NOP
a 342d
MOV [BX+2E],AX
MOV BX,[1F54]
TEST DI,DI
JNZ 3444
a 343e
mov di,[bx+6]
mov byte ptr [di], 0
pop di
nop
nop
nop
. end of patch #19
. patch #20
. xDescribe (option 3) does not return secondary field count if the
. join type is cartesion product join.
a cs:100
mov ax,cs
add ax, 3000
mov ds, ax
r sp
110
g =100 107
e cs:100 4d 5a 80 01 8f 00 da 05 80 01 9e 1c ff ff 76 2c
a ds:710b
mov bx,[bp-16]
mov bx,[bx]
mov [bp-4],bx
mov bx,[bp-16]
mov ax,[bx+2]
mov [bp-2],ax
add word ptr [bx],2
mov bx,[bp-82]
add word ptr [bx],2
mov ax,[bx]
cmp ax,[bp-84]
jl 7133
mov word ptr [bp-c],d2
mov bx,[bp-e]
mov si,[bx+2d]
cmp byte ptr [bx+4],2
je 7164
cmp word ptr [bp-c],0
. end of patch #20
. patch #21
. Using 386MAX with overlayed version
.
a fb2b
cmp ah,4c
je fb35
cmp ah,0
. end of patch #21
.
. patch #22 - ddCreate with record sizes 512 and 511 return status 28
a cs:100
mov ax,cs
add ax, 1000
mov ds, ax
r sp
110
g =100 107
e cs:100 4d 5a 80 01 8f 00 da 05 80 01 9e 1c ff ff 76 2c
a ds:b140
;patch 22 - in ddextend
mov bx, cs
sub bx, 132a
push bx
mov bx, 4fa
push bx
retf
nop
nop
a cs:1dfa
;patch 22
MOV BX,CS
ADD BX,132a ; diff to seg of ddextend
PUSH BX
MOV BX,5ee ; offset to L63
PUSH BX
mov ax,[bp-1a]
add ax,6
cmp ax,[bp-16]
jle 1e16
add byte ptr [bp-15],2
jmp 1e0b
retf
. end of patch #22
.
. patch #23 Autoinc field on INSERT INTO subquery
a cs:100
mov ax,cs
add ax, 1000
mov ds, ax
r sp
110
g =100 107
e cs:100 4d 5a 80 01 8f 00 da 05 80 01 9e 1c ff ff 76 2c
a ds:7a9a
push cs
mov bx,cs
sub bx,430
push bx
mov bx,5be
push bx
retf
nop
nop
a 1ebe
cmp al,2
jne 1ec7
mov bx,e54f
jmp 1ef1
cmp al,5
je 1ed3
cmp al,6
je 1ed3
cmp al,8
jne 1ed8
mov bx,e584
jmp 1ef1
cmp al,9
jne 1ee1
mov bx,e698
jmp 1ef1
cmp al,f
je 1ee9
cmp al,1
jne 1eee
mov bx,e4dc
jmp 1ef1
mov bx,e6ba
push bx
retf
. end of patch #23
. patch #24 status 282 from xValidate for ZSTRING to be checked
. which is smaller than size indicated in data buffer size
. parameter
a cs:100
mov ax,cs
add ax, 3000
mov ds, ax
r sp
110
g =100 107
e cs:100 4d 5a 80 01 8f 00 da 05 80 01 9e 1c ff ff 76 2c
a ds:86d4
mov bx, cs
sub bx, 272d
push bx
mov bx, 517
push bx
retf
nop
mov bx,[bp-38]
a cs:1e17
;patch 24
MOV BX,CS
ADD BX,272d ; diff to seg of validdata
PUSH BX
MOV BX,8d1 ; offset to L13 - 3
PUSH BX
mov bx, [bp-38]
cmp byte ptr [bx+6], b
jne 1e3f
mov ax, word ptr [bp - 3a] ; call strlen
push cs
mov bx, 53e
push bx
mov bx, cs
add bx, 0dca
push bx
mov bx, 4d
push bx
retf
cmp byte ptr [bx+6], c
jne 1e46
dec ax
retf
. end of patch #24
. patch #25 - When searching for all values in a ZSTRING field
. on a BEGINS WITH restriction all records that
. begin with all but the last chracter in the
. specified string are returned.
. If want records that begin with 'abc' then all
. records beginning with 'ab' are returned.
a cs:100
mov ax,cs
add ax, 2000
mov ds, ax
r sp
110
g =100 107
e cs:100 4d 5a 80 01 8f 00 da 05 80 01 9e 1c ff ff 76 2c
a ds:8460
mov bx, cs
sub bx, 1efb
push bx
mov bx, 623
push bx
retf
nop
a cs:1f23
;patch 25
MOV BX,CS
ADD BX,1efb ; diff to seg of cmpValues
PUSH BX
MOV BX,5ed ; offset to L79
PUSH BX
test dx,dx
jz 1f3e
cmp dx,ax
ja 1f3e
mov bx, [bp-16]
add bx, dx
dec bx
inc byte ptr [bx]
retf
. end of patch #25
. patch #26 *** OPTIONAL ***
.
. Allows use of european format of decimal comma instead of decimal
. point.
.
. This patch is NOT applied unless this patch file is modified.
. See instruction below
a cs:100
mov ax,cs
add ax, 4000
mov ds, ax
r sp
110
g =100 107
e cs:100 4d 5a 80 01 8f 00 da 05 80 01 9e 1c ff ff 76 2c
.
. DELETE THE SEMI-COLON FROM THE BEGINNING OF THE FOLLOWING LINES TO
. ENABLE PATCH.
;e ds:593c 2c
;a cs:100
;mov ax,cs
;add ax, 2000
;mov ds, ax
;r sp
;110
;g =100 107
;e cs:100 4d 5a 80 01 8f 00 da 05 80 01 9e 1c ff ff 76 2c
;e DS:3530 2c
;e DS:356a 2c
;e DS:fa59 2c
;e DS:fa7e 2c
. end of patch #26
. patch #29 Fixes problems removing supplemental indexes
a cs:100
mov ax,cs
add ax, 1000
mov ds, ax
r sp
110
g =100 107
e cs:100 4d 5a 80 01 8f 00 da 05 80 01 9e 1c ff ff 76 2c
a ds:b8c1
mov al,20
mov dx,si
mov bx,[bp-30]
a ds:b856
push ax
nop
a ds:b8d4
mov di,[si]
mov [bp-2],di
a ds:b8ff
cmp di,[bp-2]
jne b92b
test byte ptr [bp-6], 80
je b926
a ds:b92b
pop ax
nop
. end of patch #29
. patch #30 prevents workstation from crashing when restrict
. contains equal comparisons of string fields
. of different sizes from different files.
a cs:100
mov ax,cs
add ax,1000
mov ds,ax
r sp
110
g =100 107
e cs:100 4d 5a 80 01 8f 00 da 05 80 01 9e 1c ff ff 76 2c
a ds:a19d
mov al, [di+8]
a ds:a1cd
cmp word ptr [bp+e], 0
jne a1db
nop
nop
nop
nop
nop
a ds:a1b8
ja a1db
cmp dx,bx
jne a1db
nop
. end of patch #30
. patch #31 *** OPTIONAL ***
.
. The overlayed version of XQL crashes on XQLConvert.
. This patch is optional because it disables error checking of
. data values passed in to XQLConvert. Data must be specified
. according to the default mask or the mask passed in to the XQLConvert
. function. No error will be returned if the data is not in the
. correct format.
.
. This patch is NOT applied unless this patch file is modified.
. See instruction below
a cs:100
mov ax,cs
add ax,1000
mov ds,ax
r sp
110
g =100 107
e cs:100 4d 5a 80 01 8f 00 da 05 80 01 9e 1c ff ff 76 2c
. REMOVE THE SEMI-COLON FROM THE BEGINNING OF THE NEXT LINE TO ENABLE PATCH.
;e ds:44db eb 05
. end of patch #31
. patch #32 - *** OPTIONAL ***
. - xValidate causing memory to be over written
. when an invalid field value is given and a view
. has not yet been created
. - if this patch is applied, a view is created
. and an invalid field value is given then the
. XQLStatus will not provide the field name associated
. with the invalid value
.
.
. This patch is NOT applied unless this patch file is modified.
.
.
. DELETE THE SEMI-COLON FROM THE BEGINNING OF THE FOLLOWING LINES TO
. ENABLE PATCH.
;a cs:100
;mov ax,cs
;add ax, 3000
;mov ds, ax
;r sp
;110
;g =100 107
;e cs:100 4d 5a 80 01 8f 00 da 05 80 01 9e 1c ff ff 76 2c
;a ds:8793
;jmp 87a5
. end of patch #32
. patch #34
a cs:100
mov ax,cs
add ax,2000
mov ds,ax
r sp
110
g =100 107
e cs:100 4d 5a 80 01 8f 00 da 05 80 01 9e 1c ff ff 76 2c
a ds:31bc
mov ax,cs
push ax
sub ax,1a2e
push ax
mov ax,5f3
push ax
retf
a cs:1ef3
MOV AX,CS
PUSH AX
MOV ax,60b
PUSH ax
mov ax,cs
ADD AX,1a2e
PUSH AX
MOV AX,0CF8
PUSH AX
MOV AX,[SI+06]
LEA DX,[BP-04]
RETF
MOV DX,AX
CMP CX,0110
JZ 1f19
CMP CX,0111
JNZ 1f1e
MOV AX,def
JMP 1f21
MOV AX,d68
PUSH AX
RETF
. beginning of patch #36 Owner name ignored by xRecall
a cs:100
mov ax,cs
add ax,3000
mov ds,ax
r sp
110
g =100 107
e cs:100 4d 5a 80 01 8f 00 da 05 80 01 9e 1c ff ff 76 2c
e ds:d3c6 90 90
. end of patch #36
.
. beginning of patch #37 xUpdall does not work properly with BREQUEST
a cs:100
mov ax,cs
add ax,2000
mov ds,ax
r sp
110
g =100 107
e cs:100 4d 5a 80 01 8f 00 da 05 80 01 9e 1c ff ff 76 2c
a ds:4e2d
mov cx,21
jmp 4e3b
. end of patch #37
.
. patch #38 *** OPTIONAL ***
.
. patch to allow XQL to process requests from Windows interface
.
. DELETE THE SEMI-COLON FROM THE BEGINNING OF THE FOLLOWING LINES TO
. ENABLE PATCH.
;a cs:100
;mov ax,cs
;add ax, 1000
;mov ds, ax
;r sp
;110
;g =100 107
;e cs:100 4d 5a 80 01 8f 00 da 05 80 01 9e 1c ff ff 76 2c
;e ds:0253e f0
;a 1b24
;cs:
;mov byte ptr[1d6],0
;jmp 1f3f
;cs:
;a 1f3f
;cmp si,6666
;jne 1f4b
;cmp di,bbbb
;je 1f57
;cmp si,5555
;jne 1f59
;cmp di,aaaa
;jne 1f59
;mov ds,ax
;mov si,dx
;push cs
;pop es
;jmp 1b2d
. end of patch #38
.
. patch #39 *** OPTIONAL ***
.
. patch to disable use of EMS for overlay caching
.
. DELETE THE SEMI-COLON FROM THE BEGINNING OF THE FOLLOWING LINES TO
. ENABLE PATCH.
.
;a cs:100
;mov ax,cs
;add ax, 1000
;mov ds, ax
;r sp
;110
;g =100 107
;e cs:100 4d 5a 80 01 8f 00 da 05 80 01 9e 1c ff ff 76 2c
;e ds:0f24 2
.
.
. end of patch #39
.
. patch #40 Field to field comparison may not return correct records
a cs:100
mov ax,cs
add ax,1000
mov ds,ax
r sp
110
g =100 107
e cs:100 4d 5a 80 01 8f 00 da 05 80 01 9e 1c ff ff 76 2c
a ds:97f9
mov si,cs
push si
sub si, 132a
push si
mov si, 63f
push si
retf
a cs:1f3f
mov cx,[bx+5]
and cx,0040
jne 1f4d
mov cx,[bx+1]
jmp 1f50
mov cx,2
add cx,7
add ax,cx
add bx,cx
dec dx
mov si, 189
push si
retf
a ds:a23f
XOR AX,AX
JMP a248
MOV AL,[DI+08]
XOR AH,AH
MOV DI,[BP-16]
MOV BX,[BX+04]
MOV [DI],AL
INC DI
MOV [DI],BX
INC DI
INC DI
MOV [BP-16],DI
MOV DI,[BP-10]
MOV BX,[DI+06]
MOV DI,[BP-16]
MOV [DI],BX
ADD WORD PTR [BP-16],+02
NOP
NOP
NOP
. end of patch #40
. patch #41 XQLFormat sets incorrect display size for number masks
a cs:100
mov ax,cs
add ax,2000
mov ds,ax
r sp
110
g =100 107
e cs:100 4d 5a 80 01 8f 00 da 05 80 01 9e 1c ff ff 76 2c
a ds:bffd
mov ax,[bp-4]
jmp c012
. end of patch #41
.
. END OF XQLO.EXE PATCH FILE
. DO NOT REMOVE THE NEXT TWO LINES!
w
q