home *** CD-ROM | disk | FTP | other *** search
/ Black Box 4 / BlackBox.cdr / lan / xql211.arj / NPATVAP.211 < prev    next >
Text File  |  1991-03-21  |  10KB  |  609 lines

  1. .       patch #15  fixes problems with MIN/MAX on autoinc field
  2. a cs:100
  3. mov ax,cs
  4. add ax,1000
  5. mov ds,ax
  6.  
  7. r sp
  8. 110
  9. g =100,107
  10. e cs:100  4D 5A 38 01 1C 03 87 18 24 06 00 00 FF FF 00 00
  11. a DS:d86c
  12. PUSH    BX
  13. MOV     BX,[BP+0E]
  14. MOV     DX,[BP+10]
  15. MOV     SI,[BP+12]
  16. MOV     DI,AX
  17. DEC     DI
  18. JZ      D887
  19. CMP     DI,+0E
  20. JZ      D887
  21. CMP     DI,+08
  22. JZ      D8DF
  23. JMP     D8CD
  24.  
  25. a DS:D8CD
  26. DEC     DI
  27. JZ      D8A8
  28.  
  29. .       end patch #15
  30.  
  31. .       patch #16  - fixes GPI from scalar function and subst. var.
  32. .                      in a restriction
  33. a cs:100
  34. mov ax,cs
  35. add ax, 1000
  36. mov ds, ax
  37.  
  38. r sp
  39. 110
  40. g =100 107
  41. e cs:100 4d 5a 38 01 1c 03 87 18 24 06 00 00 ff ff 00 00
  42.  
  43. a ds:8406
  44. ;patch 16a - in SetTypeForVar
  45. push cs
  46. mov  bx, [15f]
  47. push bx
  48. mov  bx, 2b1
  49. push bx
  50. es:
  51. mov  bx, [si]
  52. cmp  bx, 0
  53. jge  841a
  54. neg  bx
  55. retf
  56. nop
  57.  
  58. a ds:8449
  59. ; patch 16b - in SetTypeForVar
  60. push cs
  61. mov  cx, [15f]
  62. push cx
  63. mov  cx, 2d3
  64. push cx
  65. retf
  66.  
  67. a cs:100
  68. mov ax,cs
  69. add ax, 4000
  70. mov ds, ax
  71.  
  72. r sp
  73. 110
  74. g =100 107
  75. e cs:100 4d 5a 38 01 1c 03 87 18 24 06 00 00 ff ff 00 00
  76.  
  77. a ds:c74c
  78. ; patch 16c - in Substex
  79. mov     ax,bx
  80. mov     dx,es
  81. nop
  82. nop
  83. nop
  84. nop
  85.  
  86. a cs:65f1
  87. ;patch 16a
  88. cmp  bx, 100
  89. je   6609
  90. cmp  bx, 306
  91. je   6609
  92. cmp  bx, 301
  93. je   6609
  94. cmp  bx, 304
  95. jne  660e
  96. mov  bx, 260c
  97. push bx
  98. retf
  99. mov  bx, 262a
  100. push bx
  101. retf
  102. ;patch 16b
  103. es:
  104. mov  ax,[si+a]
  105. cmp  ax,ffff
  106. je   6628
  107. es:
  108. mov     dx,[si+c]
  109. mov     bx,[bp-6]
  110. mov  cx, 2644
  111. push cx
  112. retf
  113. mov  cx, 264b
  114. push cx
  115. retf
  116.  
  117. .       end of patch #16
  118.  
  119.  
  120. .       patch #18 fixes data truncation in INSERT INTO...SELECT
  121. a cs:100
  122. mov ax,cs
  123. add ax,3000
  124. mov ds,ax
  125.  
  126. r sp
  127. 110
  128. g =100,107
  129. e cs:100  4D 5A 38 01 1C 03 87 18 24 06 00 00 FF FF 00 00
  130. a ds:AFCD
  131. JMP AFED
  132.  
  133. .       end of patch #18
  134.  
  135. .       patch #20
  136. .      xDescribe (option 3) does not return secondary field count if the
  137. .      join type is cartesion product join.
  138. a cs:100
  139. mov ax,cs
  140. add ax, 1000
  141. mov ds, ax
  142.  
  143. r sp
  144. 110
  145. g =100 107
  146. e cs:100 4d 5a 38 01 1c 03 87 18 24 06 00 00 ff ff 00 00
  147.  
  148. a ds:efda
  149. les     bx, [bp-c]
  150. es:
  151. mov     ax,[bx]
  152. mov     [bp-4],ax
  153. es:
  154. mov     ax,[bx+2]
  155. mov     [bp-2],ax
  156. es:
  157. add     word ptr [bx],2
  158. les     bx, [bp+e]
  159. es:
  160. add     word ptr [bx],2
  161. es:
  162. mov     ax,[bx]
  163. cmp     ax,[bp+12]
  164. jl      f002
  165. mov     word ptr [bp-18],d2
  166. les     bx, [bp-10]
  167. es:
  168. mov     si,[bx+33]
  169. es:
  170. mov     di,[bx+35]
  171. es:
  172. cmp     byte ptr [bx+4],2
  173. je      f03e
  174.  
  175. .       end of patch #20
  176.  
  177.  
  178. .       patch #22 - ddExtend with record sizes 511 and 512 return status 28
  179. a cs:100
  180. mov ax,cs
  181. add ax,3000
  182. mov ds,ax
  183.  
  184. r sp
  185. 110
  186. g =100,107
  187. e cs:100  4D 5A 38 01 1C 03 87 18 24 06 00 00 FF FF 00 00
  188.  
  189. a ds:1c5b
  190. ; patch 22 - in ddExtend
  191. push cs
  192. mov  ax, [15f]
  193. push ax
  194. mov  ax, 2ed
  195. push ax
  196. retf
  197. nop
  198.  
  199. a cs:662d
  200. ;patch 22
  201. add     si,6
  202. cmp     si,[bp - 1c]
  203. jle     663b
  204. add     byte ptr [bp - 1b],2
  205. jmp     6630
  206. sub     si,6
  207. mov  ax, c3e6
  208. push ax
  209. retf
  210.  
  211. .       end of patch #22
  212. .
  213. .       patch #23  Autoinc field on INSERT  INTO subquery
  214. .
  215. a cs:100
  216. mov ax,cs
  217. add ax, 1000
  218. mov ds, ax
  219.  
  220. r sp
  221. 110
  222. g =100 107
  223. e cs:100 4d 5a 38 01 1c 03 87 18 24 06 00 00 ff ff 00 00
  224.  
  225. a ds:cca0
  226. ;  CnvrtAscii
  227. push cs
  228. mov  bx, [15f]
  229. push bx
  230. mov  bx,32d
  231. push bx
  232. retf
  233.  
  234.  
  235. a cs:666d
  236. cmp   al,2
  237. jne   6676
  238. mov   bx,6f31
  239. jmp   66a0
  240. cmp   al,5
  241. je    6682
  242. cmp   al,6
  243. je    6682
  244. cmp   al,8
  245. jne   6687
  246. mov   bx,6f78
  247. jmp   66a0
  248. cmp   al,9
  249. jne   6690
  250. mov   bx,70ca
  251. jmp   66a0
  252. cmp   al,f
  253. je    6698
  254. cmp   al,1
  255. jne   669d
  256. mov   bx,6ea2
  257. jmp   66a0
  258. mov   bx,70f3
  259. push  bx
  260. retf
  261.  
  262. .       end of patch #23
  263. .
  264. .       patch #24  GPI from xValidate for ZSTRING to be checked
  265. .                  which is smaller than size indicated in data buffer size
  266. .                  parameter
  267. a cs:100
  268. mov ax,cs
  269. add ax, 4000
  270. mov ds, ax
  271.  
  272. r sp
  273. 110
  274. g =100 107
  275. e cs:100 4d 5a 38 01 1c 03 87 18 24 06 00 00 ff ff 00 00
  276.  
  277. a ds:435f
  278. push cs
  279. mov  bx, [15f]
  280. push bx
  281. mov  bx, 303
  282. push bx
  283. retf
  284. nop
  285. nop
  286.  
  287. a cs:6643
  288. ;patch 24
  289. MOV     BX, ebec  ; offset to L15 - 7
  290. PUSH    BX
  291. mov     es, [bp-48]
  292. mov     bx, [bp-46]
  293. es:
  294. cmp     byte ptr [bx+6], b
  295. jne     666c
  296. push    cx                  ; strlen
  297. push    di
  298. push    es
  299. mov     di,[bp-4a]
  300. mov     es,[bp-4c]
  301. mov     cx,ffff
  302. xor     ax,ax
  303. repne   scasb
  304. not     cx
  305. dec     cx
  306. mov     ax,cx
  307. pop     es
  308. pop     di
  309. pop     cx
  310. retf
  311.  
  312. .       end of patch #24
  313.  
  314. .           patch #25 - When searching for all values in a ZSTRING field
  315. .                       on a BEGINS WITH restriction all records that
  316. .                       begin with all but the last chracter in the
  317. .                       specified string are returned.
  318. .                       If want records that begin with 'abc' then all
  319. .                       records beginning with 'ab' are returned.
  320.  
  321. a cs:100
  322. mov ax,cs
  323. add ax, 1000
  324. mov ds, ax
  325.  
  326. r sp
  327. 110
  328. g =100 107
  329. e cs:100  4D 5A 38 01 1C 03 87 18 24 06 00 00 FF FF 00 00
  330.  
  331. a ds:fe17
  332. push cs
  333. mov  ax, [15f]
  334. push ax
  335. mov  ax, 3c3
  336. push ax
  337. retf
  338. nop
  339. nop
  340.  
  341. a cs:6703
  342. ;patch 25
  343. MOV     AX, a014  ; offset to L84
  344. PUSH    AX
  345. test    bx,bx
  346. jz      6717
  347. lea     si,[bp-22]
  348. les     ax,[si+6]
  349. add     bx,ax
  350. es:
  351. inc     byte ptr [bx-1]
  352. retf
  353.  
  354. .       end of patch #25
  355. .
  356. .       patch #26  *** OPTIONAL ***
  357. .
  358. .       Allows use of european format of decimal comma instead of decimal
  359. .       point.
  360. .
  361. .       This patch is NOT applied unless this patch file is modified.
  362. a cs:100
  363. mov ax,cs
  364. add ax, 5000
  365. mov ds, ax
  366.  
  367. r sp
  368. 110
  369. g =100 107
  370. e cs:100  4D 5A 38 01 1C 03 87 18 24 06 00 00 FF FF 00 00
  371. .
  372. .   DELETE THE SEMI-COLON FROM THE BEGINNING OF THE FOLLOWING LINES TO
  373. .   ENABLE PATCH.
  374. ;e DS:c342 2c
  375. ;a cs:100
  376. ;mov ax,cs
  377. ;add ax,3000
  378. ;mov ds, ax
  379.  
  380. ;r sp
  381. ;110
  382. ;g =100 107
  383. ;e cs:100  4D 5A 38 01 1C 03 87 18 24 06 00 00 FF FF 00 00
  384. ;e DS:adf7 2c
  385. ;e DS:ae2f 2c
  386. ;e DS:3d53 2c
  387. ;e DS:3d9d 2c
  388.  
  389. .       end of patch #26
  390. .
  391. .       patch #27  VAP GPI's when workstation is rebooted while a session
  392. .                  is still active.
  393. a c0bd
  394. mov  ax, [15f]
  395. push ax
  396. mov  ax, 362
  397. push ax
  398. retf
  399.  
  400. a  66a2
  401. mov  word ptr[4de],-1
  402. xor  ax,ax
  403. db   c9
  404. pop  di
  405. pop  es
  406. pop  si
  407. pop  cx
  408. retf
  409.  
  410. .       end of patch #27
  411.  
  412. .       patch #29 Fixes problems removing supplemental indexes.
  413. a 66b0
  414. LEA     BX,[BP-10]
  415. ES:
  416. MOV     AX,[SI]
  417. CMP     AX,[BX]
  418. JNZ     66C5
  419. TEST    BYTE PTR [BX+08],80
  420. JZ      66CA
  421. MOV     AX,CD81
  422. JMP     66CD
  423. MOV     AX,CDA9
  424. JMP     66CD
  425. MOV     AX,CDA4
  426. PUSH    AX
  427. RETF
  428.  
  429. a cs:100
  430. mov ax,cs
  431. add ax, 3000
  432. mov ds, ax
  433.  
  434. r sp
  435. 110
  436. g =100 107
  437. e cs:100  4D 5A 38 01 1C 03 87 18 24 06 00 00 FF FF 00 00
  438. a DS:25f3
  439. PUSH    CS
  440. MOV     BX,[015F]
  441. PUSH    BX
  442. MOV     BX,0370
  443. PUSH    BX
  444. RETF
  445. NOP
  446. NOP
  447. NOP
  448.  
  449. .       end of patch #29
  450.  
  451. .       patch #30  prevents server GPI for equal comparisons of fields
  452. .                  of different sizes from different files.
  453. a cs:100
  454. mov ax,cs
  455. add ax, 2000
  456. mov ds, ax
  457.  
  458. r sp
  459. 110
  460. g =100 107
  461. e cs:100  4D 5A 38 01 1C 03 87 18 24 06 00 00 FF FF 00 00
  462. e DS:9c27 08
  463. a DS:9c5b
  464. ES:
  465. CMP     DX,[SI+04]
  466. JA      9C70
  467. MOV     BX,[BP+14]
  468. OR      BX,[BP+16]
  469. JNZ     9C70
  470. NOP
  471. NOP
  472.  
  473. .       end of patch #30
  474.  
  475. .           patch #32   - *** OPTIONAL ***
  476. .                       - xValidate causing memory to be over written
  477. .                         when an invalid field value is given and a view
  478. .                         has not yet been created - GPI's server
  479. .                       - if this patch is applied, a view is created
  480. .                         and an invalid field value is given then the
  481. .                         XQLStatus will not provide the field name associated
  482. .                         with the invalid value
  483. .
  484. .
  485. .       This patch is NOT applied unless this patch file is modified.
  486.  
  487.  
  488. .
  489. .
  490. .  DELETE THE SEMI-COLON FROM THE BEGINNING OF THE FOLLOWING LINES TO
  491. .  ENABLE PATCH.
  492.  
  493. ;a cs:100
  494. ;mov ax,cs
  495. ;add ax, 4000
  496. ;mov ds, ax
  497.  
  498. ;r sp
  499. ;110
  500. ;g =100 107
  501. ;e cs:100  4D 5A 38 01 1C 03 87 18 24 06 00 00 FF FF 00 00
  502.  
  503. ;a ds:4469
  504. ;jmp 4488
  505.  
  506. .       end of patch #32
  507. .
  508. .       patch #34 Status 328 on xRestrict
  509. a cs:100
  510. mov ax,cs
  511. add ax, 2000
  512. mov ds, ax
  513.  
  514. r sp
  515. 110
  516. g =100 107
  517. e cs:100  4D 5A 38 01 1C 03 87 18 24 06 00 00 FF FF 00 00
  518. a ds:6c0e
  519. push cs
  520. mov bx, [15f]
  521. push bx
  522. mov bx,38f
  523. push bx
  524. retf
  525. test ax,ax
  526. jne 6c7a
  527. nop
  528. nop
  529. nop
  530. nop
  531.  
  532. a 66cf
  533. pop bx
  534. push bx
  535. mov ax,cs
  536. push ax
  537. mov ax,3ab
  538. push ax
  539. push bx
  540. mov ax, 1307
  541. push ax
  542. lea bx,[bp-a]
  543. mov cx,ds
  544. es:
  545. mov ax,[si+a]
  546. es:
  547. mov dx,[si+c]
  548. retf
  549. mov dx,ax
  550. mov ax,1399
  551. push ax
  552. xor ax,ax
  553. cmp word ptr [bp-6],110
  554. je 6701
  555. cmp word ptr [bp-6], 111
  556. jne 6702
  557. inc ax
  558. retf
  559.  
  560. .       end of patch #34
  561.  
  562.  
  563. .       patch #36 Owner name ignored on xRecall
  564. a cs:100
  565. mov ax,cs
  566. add ax,1000
  567. mov ds,ax
  568.  
  569. r sp
  570. 110
  571. g =100,107
  572. e cs:100  4D 5A 38 01 1C 03 87 18 24 06 00 00 FF FF 00 00
  573. e ds:a927 90 90 90
  574. .       end of patch #36
  575.  
  576. .       patch #40 Field to field comparisons may not return correct records.
  577. a cs:100
  578. mov ax,cs
  579. add ax,2000
  580. mov ds,ax
  581.  
  582. r sp
  583. 110
  584. g =100,107
  585. e cs:100  4D 5A 38 01 1C 03 87 18 24 06 00 00 FF FF 00 00
  586. a ds:9bf2
  587. jmp 9c76
  588.  
  589. .       end of patch #40
  590. .       patch #41 XQLFormat sets display size incorrectly for number masks
  591. a cs:100
  592. mov ax,cs
  593. add ax,4000
  594. mov ds,ax
  595.  
  596. r sp
  597. 110
  598. g =100,107
  599. e cs:100  4D 5A 38 01 1C 03 87 18 24 06 00 00 FF FF 00 00
  600. a ds:ae90
  601. mov ax,[bp-8]
  602. jmp aead
  603.  
  604. .       end of patch #41
  605. .       END OF PATCH FILE FOR NW$SQL.VP0
  606. .       DO NOT REMOVE THE NEXT TWO LINES!!
  607. w
  608. q
  609.