Re: proposal: schema variables
Pavel Stehule <pavel.stehule@gmail.com>
Commits
GET /api/v1/messages/:b64id/commits
the thread's linked commits as JSON, with link sources.
API reference →
-
Move WAL sequence code into its own file
- a87987cafca6 19 (unreleased) cited
-
Add ExplainState argument to pg_plan_query() and planner().
- c83ac02ec730 19 (unreleased) cited
-
Don't include access/htup_details.h in executor/tuptable.h
- 1a8b5b11e48a 19 (unreleased) cited
-
Refactor to avoid code duplication in transformPLAssignStmt.
- b0fb2c6aa5a4 19 (unreleased) cited
-
Avoid including commands/dbcommands.h in so many places
- 325fc0ab14d1 19 (unreleased) cited
-
Restrict psql meta-commands in plain-text dumps.
- 71ea0d679543 19 (unreleased) cited
-
Split func.sgml into more manageable pieces
- 4e23c9ef65ac 19 (unreleased) cited
-
Fix squashing algorithm for query texts
- 0f65f3eec478 18.0 cited
-
EXPLAIN: Always use two fractional digits for row counts.
- 95dbd827f2ed 18.0 cited
-
Preliminary refactoring of plpgsql expression construction.
- a654af21ae52 18.0 cited
-
plpgsql: pure parser and reentrant scanner
- 7b27f5fd36cb 18.0 cited
-
Add some sanity checks in executor for query ID reporting
- 24f520594809 18.0 cited
-
Fix misleading error message context
- 4af123ad45bd 18.0 cited
-
Add macros for looping through a List without a ListCell.
- 14dd0f27d7cd 17.0 cited
Attachments
- v20240903-0017-expression-with-session-variables-can-be-inlined.patch (text/x-patch) patch v20240903-0017
- v20240903-0020-pg_restore-A-variable.patch (text/x-patch) patch v20240903-0020
- v20240903-0019-transactional-variables.patch (text/x-patch) patch v20240903-0019
- v20240903-0016-plpgsql-implementation-for-LET-statement.patch (text/x-patch) patch v20240903-0016
- v20240903-0018-this-patch-changes-error-message-column-doesn-t-exis.patch (text/x-patch) patch v20240903-0018
- v20240903-0015-allow-parallel-execution-queries-with-session-variab.patch (text/x-patch) patch v20240903-0015
- v20240903-0014-allow-read-an-value-of-session-variable-directly-fro.patch (text/x-patch) patch v20240903-0014
- v20240903-0013-Implementation-of-NOT-NULL-and-IMMUTABLE-clauses.patch (text/x-patch) patch v20240903-0013
- v20240903-0012-Implementation-of-DEFAULT-clause-default-expressions.patch (text/x-patch) patch v20240903-0012
- v20240903-0011-Implementation-ON-TRANSACTION-END-RESET-clause.patch (text/x-patch) patch v20240903-0011
- v20240903-0009-PREPARE-LET-support.patch (text/x-patch) patch v20240903-0009
- v20240903-0008-EXPLAIN-LET-support.patch (text/x-patch) patch v20240903-0008
- v20240903-0010-implementation-of-temporary-session-variables.patch (text/x-patch) patch v20240903-0010
- v20240903-0007-GUC-session_variables_ambiguity_warning.patch (text/x-patch) patch v20240903-0007
- v20240903-0006-plpgsql-tests.patch (text/x-patch) patch v20240903-0006
- v20240903-0005-memory-cleaning-after-DROP-VARIABLE.patch (text/x-patch) patch v20240903-0005
- v20240903-0004-DISCARD-VARIABLES.patch (text/x-patch) patch v20240903-0004
- v20240903-0003-function-pg_session_variables-for-cleaning-tests.patch (text/x-patch) patch v20240903-0003
- v20240903-0002-Storage-for-session-variables-and-SQL-interface.patch (text/x-patch) patch v20240903-0002
- v20240903-0001-Enhancing-catalog-for-support-session-variables-and-.patch (text/x-patch) patch v20240903-0001
Hi po 2. 9. 2024 v 16:00 odesílatel Laurenz Albe <laurenz.albe@cybertec.at> napsal: > On Thu, 2024-08-29 at 19:33 +0200, Pavel Stehule wrote: > > > > > > > + /* > > > > > > > + * Although svar is freshly validated in this point, the > svar->is_valid can > > > > > > > + * be false, due possible accepting invalidation message > inside domain > > > > > > > + * check. Now, the validation is done after lock, that > can also accept > > > > > > > + * invalidation message, so validation should be > trustful. > > > > > > > + * > > > > > > > + * For now, we don't need to repeat validation. Only > svar should be valid > > > > > > > + * pointer. > > > > > > > + */ > > > > > > > > > > This comment is related to assertions. Before I had there > `Assert(svar->is_valid)`, > > > > > because I expected it. But it was not always true. And although it > is true, > > > > > we don't need to validate a variable, because at this moment, the > variable > > > > > should be locked, and then we can return content safely. > > > > > > > > I guess my main problem is the word "trustful". I don't recognize > that word. > > > > Perhaps you can reword the comment along the lines of your above > explanation. > > > > > > > > > I'll try to change it > > > > is this better > > > > <-->/* > > <--> * Although svar is freshly validated in this point, the > svar->is_valid can > > <--> * be false, due possible accepting invalidation message inside > domain > > <--> * check. But now, the variable, and all dependencies are locked, so > we > > <--> * don't need to repeat validation. > > <--> */ > > Much better. > > Here is an improved version: > > Although "svar" is freshly validated in this point, svar->is_valid can > be false, if an invalidation message ws processed during the domain > check. > But the variable and all its dependencies are locked now, so we don't > need > to repeat the validation. > > merged thank you Regards Pavel > Yours, > Laurenz Albe >