Re: Schema variables - new implementation for Postgres 15
Pavel Stehule <pavel.stehule@gmail.com>
From: Pavel Stehule <pavel.stehule@gmail.com>
To: Sergey Shinderuk <s.shinderuk@postgrespro.ru>
Cc: Tomas Vondra <tomas.vondra@enterprisedb.com>,
Julien Rouhaud <rjuju123@gmail.com>, dean.a.rasheed@gmail.com, er@xs4all.nl, joel@compiler.org, pgsql-hackers@lists.postgresql.org
Date: 2022-11-15T20:22:12Z
Lists: pgsql-hackers
Commits
Same data as JSON:
GET /api/v1/messages/:b64id/commits
the thread's linked commits as JSON, with link sources.
API reference →
-
Allow underscores in integer and numeric constants.
- faff8f8e47f1 16.0 cited
-
Remove special outfuncs/readfuncs handling of RangeVar.catalogname.
- 3cece34be842 16.0 cited
-
Remove extra space from dumped ALTER DEFAULT PRIVILEGES.
- 2af33369e794 16.0 cited
-
Create FKs properly when attaching table as partition
- b0284bfb1db5 16.0 cited
-
psql: improve tab-complete's handling of variant SQL names.
- 02b8048ba5dc 15.0 cited
Attachments
- v20221115-1-0010-documentation.patch (text/x-patch) patch v20221115-0010
- v20221115-1-0008-regress-tests-for-session-variables.patch (text/x-patch) patch v20221115-0008
- v20221115-1-0006-enhancing-psql-for-session-variables.patch (text/x-patch) patch v20221115-0006
- v20221115-1-0007-possibility-to-dump-session-variables-by-pg_dump.patch (text/x-patch) patch v20221115-0007
- v20221115-1-0009-this-patch-changes-error-message-column-doesn-t-exis.patch (text/x-patch) patch v20221115-0009
- v20221115-1-0005-DISCARD-VARIABLES-command.patch (text/x-patch) patch v20221115-0005
- v20221115-1-0004-support-of-LET-command-in-PLpgSQL.patch (text/x-patch) patch v20221115-0004
- v20221115-1-0003-LET-command.patch (text/x-patch) patch v20221115-0003
- v20221115-1-0002-session-variables.patch (text/x-patch) patch v20221115-0002
- v20221115-1-0001-catalog-support-for-session-variables.patch (text/x-patch) patch v20221115-0001
Hi po 14. 11. 2022 v 8:00 odesílatel Sergey Shinderuk < s.shinderuk@postgrespro.ru> napsal: > On 13.11.2022 20:59, Pavel Stehule wrote: > > fresh rebase > > Hello, > > Sorry, I haven't been following this thread, but I'd like to report a > memory management bug. I couldn't apply the latest patches, so I tested > with v20221104-1-* patches applied atop of commit b0284bfb1db. > > > postgres=# create variable s text default 'abc'; > > create function f() returns text as $$ > begin > return g(s); > end; > $$ language plpgsql; > > create function g(t text) returns text as $$ > begin > let s = 'BOOM!'; > return t; > end; > $$ language plpgsql; > > select f(); > CREATE VARIABLE > CREATE FUNCTION > CREATE FUNCTION > server closed the connection unexpectedly > This probably means the server terminated abnormally > before or while processing the request. > > LOG: server process (PID 55307) was terminated by signal 11: > Segmentation fault > DETAIL: Failed process was running: select f(); > should be fixed now Thank you for check Regards Pavel > > > I believe it's a use-after-free error, triggered by assigning a new > value to s in g(), thus making t a dangling pointer. > > After reconnecting I get a scary error: > > postgres=# select f(); > ERROR: compressed pglz data is corrupt > > > Best regards, > > -- > Sergey Shinderuk https://postgrespro.com/ > >