sindicate / solidbase

SolidBase is a database change management and version control tool that uses annotated SQL
https://code.google.com/p/solidbase/
Apache License 2.0
2 stars 0 forks source link

Delimiter is sent to the database #91

Closed GoogleCodeExporter closed 9 years ago

GoogleCodeExporter commented 9 years ago
With the following patch script:

--* DELIMITER IS ISOLATED ^

BEGIN
    FOR T IN ( SELECT TABLE_NAME, COLUMN_NAME FROM USER_TAB_COLUMNS WHERE COLUMN_NAME = 'WOZ_ENDDATE' ) LOOP
        EXECUTE IMMEDIATE 'ALTER TABLE ' || T.TABLE_NAME || ' MODIFY ' || T.COLUMN_NAME || ' NULL';
    END LOOP;
END;
^

You get the following error:

BUILD FAILED
D:\PROJECTS\TAXI\taxi-parent\taxi-database\build.xml:26: 65000: ORA-06550: 
Regel 6, kolom 1:
PLS-00103: Symbool "^" aangetroffen Symbool "^" werd genegeerd.
.

While executing line 15903: BEGIN
        FOR T IN ( SELECT TABLE_NAME, COLUMN_NAME FROM USER_TAB_COLUMNS WHERE COLUMN_NAME = 'WOZ_ENDDATE' ) LOOP
                EXECUTE IMMEDIATE 'ALTER TABLE ' || T.TABLE_NAME || ' MODIFY ' || T.COLUMN_NAME || ' NULL';
        END LOOP;
END;
^

Which seems to indicate that the delimiter is sent to the database.

Original issue reported on code.google.com by rene.de....@gmail.com on 14 Jun 2010 at 4:03

GoogleCodeExporter commented 9 years ago
Seemed to be caused by ^ which is a special character in regular expressions.
Need to test again.

Original comment by rene.de....@gmail.com on 14 Jun 2010 at 8:26

GoogleCodeExporter commented 9 years ago
Fixed by rev 442.

Original comment by rene.de....@gmail.com on 2 Oct 2010 at 2:08