View Issue Details
ID | Project | Category | View Status | Date Submitted | Last Update |
---|---|---|---|---|---|
0000958 | Database Comparer utility | General | public | 2016-07-05 10:48 | 2020-02-23 08:00 |
Reporter | huff41 | Assigned To | barry | ||
Priority | normal | Severity | block | Reproducibility | always |
Status | closed | Resolution | fixed | ||
OS | Windows | ||||
Fixed in Version | 8.0.0.1695.Beta | ||||
Summary | 0000958: Crash on Database Compare | ||||
Description | Database compare stops with error when comparing stored procedures using the position keyword on firebird 2.5.5 Database compare version:- 6.3.0.1660 | ||||
Steps To Reproduce | procedure content - ALTER PROCEDURE FORMAT_ADDRESS( ADDRESS VARCHAR( 504 ) ) RETURNS ( HOUSENUM_NAME VARCHAR( 100 ) , ADDL1 VARCHAR( 100 ) , ADDL2 VARCHAR( 100 ) , ADDL3 VARCHAR( 100 ) , ADDL4 VARCHAR( 100 ) ) AS DECLARE VARIABLE FIRST_CHAR CHAR( 1 ); DECLARE VARIABLE TEMP_ADDRESS VARCHAR( 554 ); DECLARE VARIABLE ST INTEGER; DECLARE VARIABLE EN INTEGER; BEGIN TEMP_ADDRESS = ADDRESS||ascii_char(10)||ascii_char(10)||ascii_char(10)||ascii_char(10); FIRST_CHAR = SUBSTR_MORE(TEMP_ADDRESS,1,1); if (FIRST_CHAR IN ('1', '2', '3', '4', '5', '6', '7', '8', '9', '0' )) then begin HOUSENUM_NAME = SUBSTR_MORE(TEMP_ADDRESS,1,(POSITION(ascii_char(32),TEMP_ADDRESS,1)) ); ST=1; EN=POSITION(ascii_char(10),temp_address,st); ADDL1 = SUBSTR_MORE(TEMP_ADDRESS,ST,EN-1 ); ST=EN+1; EN=POSITION(ascii_char(10),temp_address,st); ADDL2 = SUBSTR_MORE(TEMP_ADDRESS,ST, EN-1); ST=EN+1; EN=POSITION(ascii_char(10),temp_address,st); ADDL3 = SUBSTR_MORE(TEMP_ADDRESS,ST, EN-1 ); ST=EN+1; EN=POSITION(ascii_char(10),temp_address,st); ADDL4 = SUBSTR_MORE(TEMP_ADDRESS,ST, EN-1 ); end else begin HOUSENUM_NAME = SUBSTR_MORE(TEMP_ADDRESS,1,(POSITION(TEMP_ADDRESS,ascii_char(10),1)-1) ); ST=1; EN=POSITION(ascii_char(10),temp_address,st); ADDL1 = SUBSTR_MORE(TEMP_ADDRESS,ST,EN-1 ); ST=EN+1; EN=POSITION(ascii_char(10),temp_address,st); ADDL2 = SUBSTR_MORE(TEMP_ADDRESS,ST, EN-1); ST=EN+1; EN=POSITION(ascii_char(10),temp_address,st); ADDL3 = SUBSTR_MORE(TEMP_ADDRESS,ST, EN-1 ); ST=EN+1; EN=POSITION(ascii_char(10),temp_address,st); ADDL4 = SUBSTR_MORE(TEMP_ADDRESS,ST, EN-1 ); end SUSPEND; | ||||
Additional Information | Procdure to split address (address line delimiter chr(10) also fails on similar stored procedure code. see screenshot attached. | ||||
Tags | No tags attached. | ||||
Date Modified | Username | Field | Change |
---|---|---|---|
2016-07-05 10:48 | huff41 | New Issue | |
2016-07-05 10:48 | huff41 | File Added: procedure_compare_error.png | |
2019-12-24 16:00 | barry | Assigned To | => barry |
2019-12-24 16:00 | barry | Status | new => acknowledged |
2019-12-24 16:05 | barry | Status | acknowledged => resolved |
2019-12-24 16:05 | barry | Resolution | open => fixed |
2019-12-24 16:05 | barry | Fixed in Version | => 8.0.0.1695.Beta |
2019-12-24 16:05 | barry | Note Added: 0004278 | |
2020-02-23 08:00 | barry | Status | resolved => closed |