pgsql: Allow non-quoted identifiers as isolation test session/step name
От | Tom Lane |
---|---|
Тема | pgsql: Allow non-quoted identifiers as isolation test session/step name |
Дата | |
Msg-id | E1lwBZW-0004ls-9S@gemulon.postgresql.org обсуждение исходный текст |
Список | pgsql-committers |
Allow non-quoted identifiers as isolation test session/step names. For no obvious reason, isolationtester has always insisted that session and step names be written with double quotes. This is fairly tedious and does little for test readability, especially since the names that people actually choose almost always look like normal identifiers. Hence, let's tweak the lexer to allow SQL-like identifiers not only double-quoted strings. (They're SQL-like, not exactly SQL, because I didn't add any case-folding logic. Also there's no provision for U&"..." names, not that anyone's likely to care.) There is one incompatibility introduced by this change: if you write "foo""bar" with no space, that used to be taken as two identifiers, but now it's just one identifier with an embedded quote mark. I converted all the src/test/isolation/ specfiles to remove unnecessary double quotes, but stopped there because my eyes were glazing over already. Like 741d7f104, back-patch to all supported branches, so that this isn't a stumbling block for back-patching isolation test changes. Discussion: https://postgr.es/m/759113.1623861959@sss.pgh.pa.us Branch ------ master Details ------- https://git.postgresql.org/pg/commitdiff/a443c1b2d6a646cf90a8afc193c07ed12a2bf045 Modified Files -------------- contrib/test_decoding/specs/oldest_xmin.spec | 2 +- src/test/isolation/README | 22 +- src/test/isolation/specparse.y | 14 +- src/test/isolation/specs/aborted-keyrevoke.spec | 46 +- src/test/isolation/specs/alter-table-1.spec | 298 +- src/test/isolation/specs/alter-table-2.spec | 118 +- src/test/isolation/specs/alter-table-3.spec | 116 +- src/test/isolation/specs/alter-table-4.spec | 26 +- src/test/isolation/specs/async-notify.spec | 56 +- src/test/isolation/specs/classroom-scheduling.spec | 16 +- src/test/isolation/specs/create-trigger.spec | 68 +- src/test/isolation/specs/deadlock-hard.spec | 66 +- src/test/isolation/specs/deadlock-parallel.spec | 30 +- src/test/isolation/specs/deadlock-simple.spec | 18 +- src/test/isolation/specs/deadlock-soft-2.spec | 30 +- src/test/isolation/specs/deadlock-soft.spec | 30 +- .../isolation/specs/delete-abort-savept-2.spec | 28 +- src/test/isolation/specs/delete-abort-savept.spec | 32 +- .../specs/detach-partition-concurrently-1.spec | 66 +- .../specs/detach-partition-concurrently-2.spec | 32 +- .../specs/detach-partition-concurrently-3.spec | 84 +- .../specs/detach-partition-concurrently-4.spec | 86 +- .../isolation/specs/drop-index-concurrently-1.spec | 36 +- .../isolation/specs/eval-plan-qual-trigger.spec | 420 +-- src/test/isolation/specs/eval-plan-qual.spec | 200 +- src/test/isolation/specs/fk-contention.spec | 10 +- src/test/isolation/specs/fk-deadlock.spec | 44 +- src/test/isolation/specs/fk-deadlock2.spec | 38 +- src/test/isolation/specs/fk-partitioned-1.spec | 56 +- src/test/isolation/specs/fk-partitioned-2.spec | 30 +- src/test/isolation/specs/freeze-the-dead.spec | 48 +- src/test/isolation/specs/horizons.spec | 128 +- src/test/isolation/specs/index-only-scan.spec | 12 +- src/test/isolation/specs/inherit-temp.spec | 56 +- .../specs/insert-conflict-do-nothing-2.spec | 38 +- .../specs/insert-conflict-do-nothing.spec | 20 +- .../specs/insert-conflict-do-update-2.spec | 20 +- .../specs/insert-conflict-do-update-3.spec | 16 +- .../isolation/specs/insert-conflict-do-update.spec | 20 +- .../specs/insert-conflict-specconflict.spec | 192 +- .../isolation/specs/lock-committed-keyupdate.spec | 74 +- .../isolation/specs/lock-committed-update.spec | 84 +- src/test/isolation/specs/lock-update-delete.spec | 46 +- .../isolation/specs/lock-update-traversal.spec | 30 +- src/test/isolation/specs/multiple-cic.spec | 12 +- .../isolation/specs/multiple-row-versions.spec | 32 +- .../isolation/specs/multixact-no-deadlock.spec | 24 +- src/test/isolation/specs/multixact-no-forget.spec | 46 +- src/test/isolation/specs/nowait-2.spec | 20 +- src/test/isolation/specs/nowait-3.spec | 20 +- src/test/isolation/specs/nowait-4.spec | 22 +- src/test/isolation/specs/nowait-5.spec | 20 +- src/test/isolation/specs/nowait.spec | 12 +- src/test/isolation/specs/partial-index.spec | 16 +- .../specs/partition-concurrent-attach.spec | 26 +- .../isolation/specs/partition-key-update-1.spec | 56 +- .../isolation/specs/partition-key-update-2.spec | 24 +- .../isolation/specs/partition-key-update-3.spec | 44 +- .../isolation/specs/partition-key-update-4.spec | 38 +- src/test/isolation/specs/plpgsql-toast.spec | 34 +- src/test/isolation/specs/predicate-gin.spec | 94 +- src/test/isolation/specs/predicate-gist.spec | 104 +- src/test/isolation/specs/predicate-hash.spec | 104 +- .../isolation/specs/predicate-lock-hot-tuple.spec | 22 +- .../isolation/specs/prepared-transactions-cic.spec | 16 +- .../isolation/specs/prepared-transactions.spec | 2894 ++++++++++---------- src/test/isolation/specs/project-manager.spec | 16 +- .../isolation/specs/propagate-lock-delete.spec | 46 +- src/test/isolation/specs/read-only-anomaly-2.spec | 28 +- src/test/isolation/specs/read-only-anomaly-3.spec | 26 +- src/test/isolation/specs/read-only-anomaly.spec | 26 +- src/test/isolation/specs/read-write-unique-2.spec | 20 +- src/test/isolation/specs/read-write-unique-3.spec | 14 +- src/test/isolation/specs/read-write-unique-4.spec | 22 +- src/test/isolation/specs/read-write-unique.spec | 20 +- src/test/isolation/specs/receipt-report.spec | 20 +- .../isolation/specs/referential-integrity.spec | 18 +- src/test/isolation/specs/reindex-concurrently.spec | 32 +- src/test/isolation/specs/reindex-schema.spec | 22 +- src/test/isolation/specs/ri-trigger.spec | 14 +- src/test/isolation/specs/sequence-ddl.spec | 28 +- .../isolation/specs/serializable-parallel-2.spec | 16 +- .../isolation/specs/serializable-parallel.spec | 28 +- src/test/isolation/specs/simple-write-skew.spec | 12 +- src/test/isolation/specs/skip-locked-2.spec | 20 +- src/test/isolation/specs/skip-locked-3.spec | 20 +- src/test/isolation/specs/skip-locked-4.spec | 22 +- src/test/isolation/specs/skip-locked.spec | 16 +- .../isolation/specs/temporal-range-integrity.spec | 16 +- src/test/isolation/specs/timeouts.spec | 36 +- src/test/isolation/specs/total-cash.spec | 16 +- src/test/isolation/specs/truncate-conflict.spec | 34 +- src/test/isolation/specs/tuplelock-conflict.spec | 90 +- src/test/isolation/specs/tuplelock-partition.spec | 18 +- src/test/isolation/specs/tuplelock-update.spec | 32 +- .../specs/tuplelock-upgrade-no-deadlock.spec | 78 +- src/test/isolation/specs/two-ids.spec | 18 +- src/test/isolation/specs/update-conflict-out.spec | 52 +- src/test/isolation/specs/update-locked-tuple.spec | 30 +- .../isolation/specs/vacuum-concurrent-drop.spec | 32 +- src/test/isolation/specs/vacuum-conflict.spec | 54 +- src/test/isolation/specs/vacuum-reltuples.spec | 22 +- src/test/isolation/specs/vacuum-skip-locked.spec | 58 +- src/test/isolation/specscanner.l | 54 +- 104 files changed, 3867 insertions(+), 3841 deletions(-)
В списке pgsql-committers по дате отправления:
Предыдущее
От: Tom LaneДата:
Сообщение: pgsql: Doc: fix confusion about LEAKPROOF in syntax summaries.
Следующее
От: Tom LaneДата:
Сообщение: pgsql: pgcrypto: avoid name conflicts with OpenSSL in one more case.