Tue Jan 19 01:26:06 PST 2010
- Previous message: [Slony1-general] Hey Slony1-General, I forgot to mention...
- Next message: [Slony1-general] Problem with adding function via EXECUTE SCRIPT
- Messages sorted by: [ date ] [ thread ] [ subject ] [ author ]
I using Slony 1.2.17 + Postgresql 8.4.1 All running fine until i try to add new function via execute script: and i getting function body all time garbled with errors: Looks like some bug in parsing file with statements. Here is details: slonik script look like: ========== include <cluster_config.slonik>; EXECUTE SCRIPT (SET ID=@main, FILENAME = '../sql/update.sql', EVENT NODE=@master); ========== update.sql look like: ========== CREATE OR REPLACE FUNCTION percent_int(bigint, bigint) RETURNS numeric AS $body$ DECLARE percent numeric(10,2); BEGIN if $2 = 0 then percent := 0.00; else percent := ($1::numeric(10,2) * 100 / $2)::numeric(10,2); end if; RETURN percent; END; $body$ LANGUAGE 'plpgsql'; ========= When i trying run this with slonik i got error: postgres at shalyapin:~/dba/plus1/slonik_scripts$ slonik ./execute_script.slonik DDL script consisting of 3 SQL statements DDL Statement 0: (0,1026) [CREATE OR REPLACE FUNCTION percent_int(bigint, bigint) RETURNS numeric AS$body$ OR REPLACE FUNCTION percent_int(bigint, bigint) RETURNS numeric AS DECLARECE FUNCTION percent_int(bigint, bigint) RETURNS numeric AS percent numeric(10,2);(bigint, bigint) RETURNS numeric AS BEGIN percent numeric(10,2);(bigint, bigint) RETURNS numeric AS if $2 = 0 thenc(10,2);(bigint, bigint) RETURNS numeric AS percent := 0.00;igint, bigint) RETURNS numeric AS else percent := 0.00;igint, bigint) RETURNS numeric AS percent := ($1::numeric(10,2) * 100 / $2)::numeric(10,2);T6 end if; percent := ($1::numeric(10,2) * 100 / $2)::numeric(10,2);T6 RETURN; percent := ($1::numeric(10,2) * 100 / $2)::numeric(10,2);T6 percent;:= ($1::numeric(10,2) * 100 / $2)::numeric(10,2);T6 END; percent;:= ($1::numeric(10,2) * 100 / $2)::numeric(10,2);T6 $body$ END;] DDL Statement failed - PGRES_FATAL_ERROR And in postgresql log i see: 2010-01-19 11:47:02 MSK 10236 slony at plus1 [vxid:52/24956042 txid:554963435] [idle in transaction] ERROR: syntax error at or near "cent" at character 969 2010-01-19 11:47:02 MSK 10236 slony at plus1 [vxid:52/24956042 txid:554963435] [idle in transaction] STATEMENT: CREATE OR REPLACE FUNCTION percent_int(bigint, bigint) RETURNS numeric AS $body$ OR REPLACE FUNCTION percent_int(bigint, bigint) RETURNS numeric AS DECLARER REPLACE FUNCTION percent_int(bigint, bigint) RETURNS numeric AS percent numeric(10,2);ON percent_int(bigint, bigint) RETURNS numeric AS BEGINent numeric(10,2);ON percent_int(bigint, bigint) RETURNS numeric AS if $2 = 0 thenc(10,2);ON percent_int(bigint, bigint) RETURNS numeric AS percent := 0.00;0,2);ON percent_int(bigint, bigint) RETURNS numeric AS elsecent := 0.00;0,2);ON percent_int(bigint, bigint) RETURNS numeric AS percent := ($1::numeric(10,2) * 100 / $2)::numeric(10,2);NS numeric AS end if;t := ($1::numeric(10,2) * 100 / $2)::numeric(10,2);NS numeric AS RETURN t := ($1::numeric(10,2) * 100 / $2)::numeric(10,2);NS numeric AS percent;:= ($1::numeric(10,2) * 100 / $2)::numeric(10,2);NS numeric AS END;rcent;:= ($1::numeric(10,2) * 100 / $2)::numeric(10,2);NS numeric AS $body$cent; -- ======================================================= Я в контакте: http://vkontakte.ru/id16323414 Сила солому ломит, но не все в нашей жизни - солома, да и сила далеко не все.
- Previous message: [Slony1-general] Hey Slony1-General, I forgot to mention...
- Next message: [Slony1-general] Problem with adding function via EXECUTE SCRIPT
- Messages sorted by: [ date ] [ thread ] [ subject ] [ author ]
More information about the Slony1-general mailing list