Thread: plpgsql bug OR future request: Assign fileds in composite subfiled. eg. table.compositefield.subfield := TRUE;
plpgsql bug OR future request: Assign fileds in composite subfiled. eg. table.compositefield.subfield := TRUE;
From
"Oleg Serov"
Date:
SQL: CREATE TABLE second_type ( flag BOOLEAN ); CREATE TABLE main_type ( subtype second_type ); CREATE OR REPLACE FUNCTION "bug_in_tabletypes" () RETURNS pg_catalog.void AS $body$ DECLARE row_main_table main_type%rowtype; BEGIN row_main_table.subtype := NULL; -- all okey; row_main_table.subtype.flag := FALSE; -- cannot set END; $body$ LANGUAGE 'plpgsql' VOLATILE CALLED ON NULL INPUT SECURITY INVOKER; Will produce error: ERROR: syntax error at or near "row_main_table" LINE 1: row_main_table.subtype.flag := FALSE ^ QUERY: row_main_table.subtype.flag := FALSE CONTEXT: SQL statement in PL/PgSQL function "bug_in_tabletypes" near line
Re: plpgsql bug OR future request: Assign fileds in composite subfiled. eg. table.compositefield.subfield := TRUE;
From
"Pavel Stehule"
Date:
Hello 2008/12/10 Oleg Serov <serovov@gmail.com>: > SQL: > CREATE TABLE second_type ( > flag BOOLEAN > ); > CREATE TABLE main_type ( > subtype second_type > ); > CREATE OR REPLACE FUNCTION "bug_in_tabletypes" () RETURNS pg_catalog.void AS > $body$ > DECLARE > row_main_table main_type%rowtype; > BEGIN > row_main_table.subtype := NULL; -- all okey; > row_main_table.subtype.flag := FALSE; -- cannot set try (row_main_table.subtype).flag := FALSE; -- cannot set regards Pavel Stehule > END; > $body$ > LANGUAGE 'plpgsql' VOLATILE CALLED ON NULL INPUT SECURITY INVOKER; > > Will produce error: > > > ERROR: syntax error at or near "row_main_table" > LINE 1: row_main_table.subtype.flag := FALSE > ^ > QUERY: row_main_table.subtype.flag := FALSE > CONTEXT: SQL statement in PL/PgSQL function "bug_in_tabletypes" near line > > -- > Sent via pgsql-bugs mailing list (pgsql-bugs@postgresql.org) > To make changes to your subscription: > http://www.postgresql.org/mailpref/pgsql-bugs >
Re: plpgsql bug OR future request: Assign fileds in composite subfiled. eg. table.compositefield.subfield := TRUE;
From
"Oleg Serov"
Date:
RVJST1I6ICBzeW50YXggZXJyb3IgYXQgb3IgbmVhciAiKCIKTElORSAxNTog ICAgICAgIChyb3dfbWFpbl90YWJsZS5zdWJ0eXBlKS5mbGFnIDo9IEZBTFNF OyAtLSBjYW5ub3Qgc2V0CiAgICAgICAgICAgICAgICBeCgoqKioqKioqKioq IO/bycLLwSAqKioqKioqKioqCgpFUlJPUjogc3ludGF4IGVycm9yIGF0IG9y IG5lYXIgIigiClNRTCBzdGF0ZTogNDI2MDEK6MHSwcvUxdLJ09TJy8E6MzIx CgoyMDA4LzEyLzEwIFBhdmVsIFN0ZWh1bGUgPHBhdmVsLnN0ZWh1bGVAZ21h aWwuY29tPjoKPiBIZWxsbwo+Cj4gMjAwOC8xMi8xMCBPbGVnIFNlcm92IDxz ZXJvdm92QGdtYWlsLmNvbT46Cj4+IFNRTDoKPj4gQ1JFQVRFIFRBQkxFIHNl Y29uZF90eXBlICgKPj4gICAgICAgIGZsYWcgQk9PTEVBTgo+PiApOwo+PiBD UkVBVEUgVEFCTEUgbWFpbl90eXBlICgKPj4gICAgICAgIHN1YnR5cGUgc2Vj b25kX3R5cGUKPj4gKTsKPj4gQ1JFQVRFIE9SIFJFUExBQ0UgRlVOQ1RJT04g ImJ1Z19pbl90YWJsZXR5cGVzIiAoKSBSRVRVUk5TIHBnX2NhdGFsb2cudm9p ZCBBUwo+PiAkYm9keSQKPj4gREVDTEFSRQo+PiAgICAgICAgcm93X21haW5f dGFibGUgbWFpbl90eXBlJXJvd3R5cGU7Cj4+IEJFR0lOCj4+ICAgICAgICBy b3dfbWFpbl90YWJsZS5zdWJ0eXBlIDo9IE5VTEw7IC0tIGFsbCBva2V5Owo+ Cj4KPgo+PiAgICAgICAgcm93X21haW5fdGFibGUuc3VidHlwZS5mbGFnIDo9 IEZBTFNFOyAtLSBjYW5ub3Qgc2V0Cj4KPiB0cnkKPiAgKHJvd19tYWluX3Rh YmxlLnN1YnR5cGUpLmZsYWcgOj0gRkFMU0U7IC0tIGNhbm5vdCBzZXQKPgo+ IHJlZ2FyZHMKPiBQYXZlbCBTdGVodWxlCj4KPj4gRU5EOwo+PiAkYm9keSQK Pj4gTEFOR1VBR0UgJ3BscGdzcWwnIFZPTEFUSUxFIENBTExFRCBPTiBOVUxM IElOUFVUIFNFQ1VSSVRZIElOVk9LRVI7Cj4+Cj4+IFdpbGwgcHJvZHVjZSBl cnJvcjoKPj4KPj4KPj4gRVJST1I6ICBzeW50YXggZXJyb3IgYXQgb3IgbmVh ciAicm93X21haW5fdGFibGUiCj4+IExJTkUgMTogcm93X21haW5fdGFibGUu c3VidHlwZS5mbGFnIDo9IEZBTFNFCj4+ICAgICAgICBeCj4+IFFVRVJZOiAg cm93X21haW5fdGFibGUuc3VidHlwZS5mbGFnIDo9IEZBTFNFCj4+IENPTlRF WFQ6ICBTUUwgc3RhdGVtZW50IGluIFBML1BnU1FMIGZ1bmN0aW9uICJidWdf aW5fdGFibGV0eXBlcyIgbmVhciBsaW5lCj4+Cj4+IC0tCj4+IFNlbnQgdmlh IHBnc3FsLWJ1Z3MgbWFpbGluZyBsaXN0IChwZ3NxbC1idWdzQHBvc3RncmVz cWwub3JnKQo+PiBUbyBtYWtlIGNoYW5nZXMgdG8geW91ciBzdWJzY3JpcHRp b246Cj4+IGh0dHA6Ly93d3cucG9zdGdyZXNxbC5vcmcvbWFpbHByZWYvcGdz cWwtYnVncwo+Pgo+Cg==