Thu Jul 12 08:47:30 PDT 2007
- Previous message: [Slony1-general] Re: Split Set
- Next message: [Slony1-general] Re: 3 bugs in Slonik: wrong SQL parsing into DDL statements
- Messages sorted by: [ date ] [ thread ] [ subject ] [ author ]
Hello.
Here is the third bug I found in slonik with SQL parsing. Try to feed the
following to slonik:
CREATE INDEX aaa ON public.bbb USING btree ((-ccc), ddd);
hjkhjkhjkjhk;
You will see:
DDL script consisting of 0 SQL statements
Submit DDL Event to subscribers...
DDL on origin - PGRES_TUPLES_OK
If you replace "-ccc" with "ccc", all works fine: "2 SQL statements".
The second bug:
CREATE RULE "position_get_last_id_on_insert"
AS ON INSERT TO "public"."position" DO (SELECT
currval('position_position_id_seq'::regclass) AS id;);
Incorrectly splitted by "id;".
And the first bug:
DDL Statement 2: (299,471) [
CREATE UNIQUE INDEX "i_dictionary_uni_abbr" ON "static"."dictionary"
USING btree ((substring(dic_russian, E'^([^(]*[^( ]) *\\('::text)))
WHERE (dic_category_id =3D 26);
]
DDL Statement failed - PGRES_FATAL_ERROR
You see, it generates an error. Here is a portion of postgres logs:
2007-06-28 18:56:55 GMT 87.250.244.99(55965)ERROR: invalid regular
expression: parentheses () not balanced
2007-06-28 18:56:55 GMT 87.250.244.99(55965)STATEMENT:
CREATE UNIQUE INDEX "i_dictionary_uni_abbr" ON "static"."dictionary"
USING btree ((substring(dic_russian, E'^([^(]*[^( ]) *\('::text)))
WHERE (dic_category_id =3D 26);
Note the \\( part above: it is sent to the server as \(.
Seems slonik replaces \\ by \ before sending it to postgres?
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://lists.slony.info/pipermail/slony1-general/attachments/20070712/=
e8771b5a/attachment.htm
- Previous message: [Slony1-general] Re: Split Set
- Next message: [Slony1-general] Re: 3 bugs in Slonik: wrong SQL parsing into DDL statements
- Messages sorted by: [ date ] [ thread ] [ subject ] [ author ]
More information about the Slony1-general mailing list