postgresql/src/test/regress/sql
Peter Geoghegan 5bf748b86b Enhance nbtree ScalarArrayOp execution.
Commit 9e8da0f7 taught nbtree to handle ScalarArrayOpExpr quals
natively.  This works by pushing down the full context (the array keys)
to the nbtree index AM, enabling it to execute multiple primitive index
scans that the planner treats as one continuous index scan/index path.
This earlier enhancement enabled nbtree ScalarArrayOp index-only scans.
It also allowed scans with ScalarArrayOp quals to return ordered results
(with some notable restrictions, described further down).

Take this general approach a lot further: teach nbtree SAOP index scans
to decide how to execute ScalarArrayOp scans (when and where to start
the next primitive index scan) based on physical index characteristics.
This can be far more efficient.  All SAOP scans will now reliably avoid
duplicative leaf page accesses (just like any other nbtree index scan).
SAOP scans whose array keys are naturally clustered together now require
far fewer index descents, since we'll reliably avoid starting a new
primitive scan just to get to a later offset from the same leaf page.

The scan's arrays now advance using binary searches for the array
element that best matches the next tuple's attribute value.  Required
scan key arrays (i.e. arrays from scan keys that can terminate the scan)
ratchet forward in lockstep with the index scan.  Non-required arrays
(i.e. arrays from scan keys that can only exclude non-matching tuples)
"advance" without the process ever rolling over to a higher-order array.

Naturally, only required SAOP scan keys trigger skipping over leaf pages
(non-required arrays cannot safely end or start primitive index scans).
Consequently, even index scans of a composite index with a high-order
inequality scan key (which we'll mark required) and a low-order SAOP
scan key (which we won't mark required) now avoid repeating leaf page
accesses -- that benefit isn't limited to simpler equality-only cases.
In general, all nbtree index scans now output tuples as if they were one
continuous index scan -- even scans that mix a high-order inequality
with lower-order SAOP equalities reliably output tuples in index order.
This allows us to remove a couple of special cases that were applied
when building index paths with SAOP clauses during planning.

Bugfix commit 807a40c5 taught the planner to avoid generating unsafe
path keys: path keys on a multicolumn index path, with a SAOP clause on
any attribute beyond the first/most significant attribute.  These cases
are now all safe, so we go back to generating path keys without regard
for the presence of SAOP clauses (just like with any other clause type).
Affected queries can now exploit scan output order in all the usual ways
(e.g., certain "ORDER BY ... LIMIT n" queries can now terminate early).

Also undo changes from follow-up bugfix commit a4523c5a, which taught
the planner to produce alternative index paths, with path keys, but
without low-order SAOP index quals (filter quals were used instead).
We'll no longer generate these alternative paths, since they can no
longer offer any meaningful advantages over standard index qual paths.
Affected queries thereby avoid all of the disadvantages that come from
using filter quals within index scan nodes.  They can avoid extra heap
page accesses from using filter quals to exclude non-matching tuples
(index quals will never have that problem).  They can also skip over
irrelevant sections of the index in more cases (though only when nbtree
determines that starting another primitive scan actually makes sense).

There is a theoretical risk that removing restrictions on SAOP index
paths from the planner will break compatibility with amcanorder-based
index AMs maintained as extensions.  Such an index AM could have the
same limitations around ordered SAOP scans as nbtree had up until now.
Adding a pro forma incompatibility item about the issue to the Postgres
17 release notes seems like a good idea.

Author: Peter Geoghegan <pg@bowt.ie>
Author: Matthias van de Meent <boekewurm+postgres@gmail.com>
Reviewed-By: Heikki Linnakangas <hlinnaka@iki.fi>
Reviewed-By: Matthias van de Meent <boekewurm+postgres@gmail.com>
Reviewed-By: Tomas Vondra <tomas.vondra@enterprisedb.com>
Discussion: https://postgr.es/m/CAH2-Wz=ksvN_sjcnD1+Bt-WtifRA5ok48aDYnq3pkKhxgMQpcw@mail.gmail.com
2024-04-06 11:47:10 -04:00
..
advisory_lock.sql tests: Restrict pg_locks queries in advisory_locks.sql to current database 2022-10-05 10:44:38 -07:00
aggregates.sql Fix unstable aggregate regression test 2024-03-28 00:13:48 +13:00
alter_generic.sql Rearrange core regression tests to reduce cross-script dependencies. 2022-02-08 15:30:38 -05:00
alter_operator.sql Extend ALTER OPERATOR to allow setting more optimization attributes. 2023-10-20 12:28:46 -04:00
alter_table.sql Update comments to match location of definition 2023-09-06 10:18:30 +02:00
amutils.sql Add support for nearest-neighbor (KNN) searches to SP-GiST 2018-09-19 01:54:10 +03:00
arrays.sql Improve readability and error detection of array_in(). 2023-11-13 13:01:51 -05:00
async.sql
bit.sql Use a safer outfuncs/readfuncs representation for BitStrings. 2024-02-13 12:18:25 -05:00
bitmapops.sql
boolean.sql Add tests for int4_bool() in int.c 2024-01-31 15:02:28 +09:00
box.sql Rework pg_input_error_message(), now renamed pg_input_error_info() 2023-02-28 08:04:13 +09:00
brin.sql Check if ii_AmCache is NULL in aminsertcleanup 2023-11-27 16:53:06 +01:00
brin_bloom.sql BRIN bloom indexes 2021-03-26 13:35:32 +01:00
brin_multi.sql Fix typos in comments and in one isolation test. 2024-01-02 12:05:41 -05:00
btree_index.sql Enhance nbtree ScalarArrayOp execution. 2024-04-06 11:47:10 -04:00
case.sql Add support for NullIfExpr in eval_const_expressions 2021-04-02 11:01:49 +02:00
char.sql Rework pg_input_error_message(), now renamed pg_input_error_info() 2023-02-28 08:04:13 +09:00
circle.sql Clean up ancient test style 2020-12-15 22:03:39 +01:00
cluster.sql Reintroduce MAINTAIN privilege and pg_maintain predefined role. 2024-03-13 14:49:26 -05:00
collate.icu.utf8.sql Allow planner to use Merge Append to efficiently implement UNION 2024-03-25 14:31:14 +13:00
collate.linux.utf8.sql Remove read-only server settings lc_collate and lc_ctype 2023-06-07 16:57:06 +02:00
collate.sql Introduce "builtin" collation provider. 2024-03-13 23:33:44 -07:00
collate.utf8.sql Support C.UTF-8 locale in the new builtin collation provider. 2024-03-19 15:24:41 -07:00
collate.windows.win1252.sql Fix collate.windows.win1252 test. 2023-12-29 11:26:10 -08:00
combocid.sql Sanitize the term "combo CID" in code comments 2021-03-25 16:08:03 +09:00
comments.sql
compression.sql Revert "Improve compression and storage support with inheritance" 2024-02-20 11:10:59 +01:00
constraints.sql Admit deferrable PKs into rd_pkindex, but flag them as such 2024-03-08 16:32:29 +01:00
conversion.sql Rearrange core regression tests to reduce cross-script dependencies. 2022-02-08 15:30:38 -05:00
copy.sql Fix bulk table extension when copying into multiple partitions 2023-10-13 19:16:44 -07:00
copy2.sql Add new COPY option LOG_VERBOSITY. 2024-04-01 15:25:25 +09:00
copydml.sql Extend a test case a little 2021-02-26 09:11:15 +01:00
copyselect.sql psql: Show all query results by default 2022-04-04 20:00:33 +02:00
create_aggregate.sql Introduce "anycompatible" family of polymorphic types. 2020-03-19 11:43:11 -04:00
create_am.sql Don't use the pg_am system catalog in new test 2024-04-02 13:10:16 +02:00
create_cast.sql Record dependencies of a cast on other casts that it requires. 2022-10-17 14:02:05 -04:00
create_function_c.sql Rename create_function_N test scripts for clarity. 2022-02-08 15:40:08 -05:00
create_function_sql.sql Fix handling of R/W expanded datums that are passed to SQL functions. 2022-08-10 13:37:25 -04:00
create_index.sql Enhance nbtree ScalarArrayOp execution. 2024-04-06 11:47:10 -04:00
create_index_spgist.sql Add a planner support function for starts_with(). 2021-11-17 16:54:12 -05:00
create_misc.sql Rearrange core regression tests to reduce cross-script dependencies. 2022-02-08 15:30:38 -05:00
create_operator.sql Extend ALTER OPERATOR to allow setting more optimization attributes. 2023-10-20 12:28:46 -04:00
create_procedure.sql Fix confusion about the return rowtype of SQL-language procedures. 2024-03-12 18:16:25 -04:00
create_role.sql Fix DROP ROLE when specifying duplicated roles 2024-01-29 08:05:59 +09:00
create_schema.sql Fix crashes with CREATE SCHEMA AUTHORIZATION and schema elements 2023-04-28 19:29:12 +09:00
create_table.sql Catalog not-null constraints 2023-08-25 13:31:24 +02:00
create_table_like.sql Revert "Improve compression and storage support with inheritance" 2024-02-20 11:10:59 +01:00
create_type.sql Add test scaffolding for soft error reporting from input functions. 2022-12-09 10:08:44 -05:00
create_view.sql Fix under-parenthesized display of AT TIME ZONE constructs. 2022-12-01 11:38:14 -05:00
date.sql Rework pg_input_error_message(), now renamed pg_input_error_info() 2023-02-28 08:04:13 +09:00
dbsize.sql Add support for unit "B" to pg_size_bytes() 2023-03-07 20:31:16 +01:00
delete.sql
dependency.sql Reintroduce MAINTAIN privilege and pg_maintain predefined role. 2024-03-13 14:49:26 -05:00
domain.sql Add pg_basetype() function to extract a domain's base type. 2024-03-30 13:57:19 -04:00
drop_if_exists.sql Introduce the 'force' option for the Drop Database command. 2019-11-13 08:25:33 +05:30
drop_operator.sql
enum.sql Allow more cases to pass the unsafe-use-of-new-enum-value restriction. 2024-03-24 14:30:29 -04:00
equivclass.sql Remove useless self-joins 2023-10-25 12:59:16 +03:00
errors.sql Rearrange core regression tests to reduce cross-script dependencies. 2022-02-08 15:30:38 -05:00
event_trigger.sql Fix assertion failure with REINDEX and event triggers 2023-12-07 08:31:02 +09:00
event_trigger_login.sql Remove the flaky check in event_trigger_login regression test 2024-01-17 23:16:53 +02:00
explain.sql Invent SERIALIZE option for EXPLAIN. 2024-04-03 17:41:57 -04:00
expressions.sql Add back SQLValueFunction for SQL keywords 2023-05-17 10:19:17 +09:00
fast_default.sql Ensure we preprocess expressions before checking their volatility. 2023-11-16 10:05:14 -05:00
float4.sql Rework pg_input_error_message(), now renamed pg_input_error_info() 2023-02-28 08:04:13 +09:00
float8.sql Add support for the error functions erf() and erfc(). 2023-03-14 09:17:36 +00:00
foreign_data.sql Fix failure of ALTER FOREIGN TABLE SET SCHEMA to move sequences. 2024-03-26 15:28:31 -04:00
foreign_key.sql Reject system columns as elements of foreign keys. 2023-03-31 11:18:49 -04:00
functional_deps.sql
generated.sql ALTER TABLE command to change generation expression 2024-01-04 16:28:54 +01:00
geometry.sql Rework pg_input_error_message(), now renamed pg_input_error_info() 2023-02-28 08:04:13 +09:00
gin.sql Avoid loss of code coverage with unlogged-index test cases. 2022-09-25 13:10:17 -04:00
gist.sql Avoid loss of code coverage with unlogged-index test cases. 2022-09-25 13:10:17 -04:00
groupingsets.sql Make pull_var_clause() handle GroupingFuncs exactly like Aggrefs. 2022-05-12 11:31:46 -04:00
guc.sql Remove SQL regression tests for GUCs related to NO_SHOW_ALL 2023-02-08 16:56:21 +09:00
hash_func.sql Reduce dependency to money data type in main regression test suite 2024-01-15 09:30:16 +09:00
hash_index.sql Fix an uninitialized access in hash_xlog_squeeze_page(). 2023-12-01 10:22:13 +05:30
hash_part.sql Update comments to match location of definition 2023-09-06 10:18:30 +02:00
horology.sql Detect Julian-date overflow in timestamp[tz]_pl_interval. 2024-01-26 13:39:45 -05:00
identity.sql Fix propagation of persistence to sequences in ALTER TABLE / ADD COLUMN 2024-02-09 08:09:22 +01:00
incremental_sort.sql Allow Incremental Sorts on GiST and SP-GiST indexes 2023-07-04 23:08:52 +12:00
index_including.sql Support INCLUDE'd columns in SP-GiST. 2021-04-05 18:41:21 -04:00
index_including_gist.sql Support for INCLUDE attributes in GiST indexes 2019-03-10 11:37:17 +03:00
indexing.sql Avoid trying to fetch metapage of an SPGist partitioned index. 2023-12-21 12:43:36 -05:00
indirect_toast.sql Rearrange core regression tests to reduce cross-script dependencies. 2022-02-08 15:30:38 -05:00
inet.sql Rework pg_input_error_message(), now renamed pg_input_error_info() 2023-02-28 08:04:13 +09:00
infinite_recurse.sql Paper over regression failures in infinite_recurse() on PPC64 Linux. 2020-10-13 17:44:56 -04:00
inherit.sql Revert "Improve compression and storage support with inheritance" 2024-02-20 11:10:59 +01:00
init_privs.sql
insert.sql Make INSERT-from-multiple-VALUES-rows handle domain target columns. 2024-03-14 14:57:16 -04:00
insert_conflict.sql Add hint about not qualifying UPDATE...SET target with relation name. 2024-01-20 17:54:14 -05:00
int2.sql Rework pg_input_error_message(), now renamed pg_input_error_info() 2023-02-28 08:04:13 +09:00
int4.sql Rework pg_input_error_message(), now renamed pg_input_error_info() 2023-02-28 08:04:13 +09:00
int8.sql Fix corner-case 64-bit integer subtraction bug on some platforms. 2023-11-09 09:50:23 +00:00
interval.sql Catch overflow when rounding intervals in AdjustIntervalForTypmod. 2024-02-13 15:58:40 -05:00
join.sql Replace lateral references to removed rels in subqueries 2024-02-24 00:35:17 +02:00
join_hash.sql Fix hash join when inner hashkey expressions contain Params. 2023-06-20 17:47:53 -04:00
json.sql Rework pg_input_error_message(), now renamed pg_input_error_info() 2023-02-28 08:04:13 +09:00
json_encoding.sql Rework pg_input_error_message(), now renamed pg_input_error_info() 2023-02-28 08:04:13 +09:00
jsonb.sql Adjust populate_record_field() to handle errors softly 2024-01-24 15:04:33 +09:00
jsonb_jsonpath.sql Disallow jsonpath methods involving TZ in immutable functions 2024-02-10 12:12:39 -05:00
jsonpath.sql Implement various jsonpath methods 2024-01-25 10:15:43 -05:00
jsonpath_encoding.sql Allow Unicode escapes in any server encoding, not only UTF-8. 2020-03-06 14:17:43 -05:00
largeobject.sql Fix bugs in manipulation of large objects. 2023-12-15 13:55:05 -05:00
limit.sql Error out if SKIP LOCKED and WITH TIES are both specified 2021-10-01 18:29:18 -03:00
line.sql Rework pg_input_error_message(), now renamed pg_input_error_info() 2023-02-28 08:04:13 +09:00
lock.sql Add support for security invoker views. 2022-03-22 10:28:10 +00:00
lseg.sql Rework pg_input_error_message(), now renamed pg_input_error_info() 2023-02-28 08:04:13 +09:00
macaddr.sql Rework pg_input_error_message(), now renamed pg_input_error_info() 2023-02-28 08:04:13 +09:00
macaddr8.sql Rework pg_input_error_message(), now renamed pg_input_error_info() 2023-02-28 08:04:13 +09:00
matview.sql Fix search_path to a safe value during maintenance operations. 2024-03-04 17:31:38 -08:00
md5.sql Put tests of md5() function into separate test file 2022-10-13 12:02:31 +02:00
memoize.sql Fix incorrect accessing of pfree'd memory in Memoize 2024-03-11 18:19:56 +13:00
merge.sql Add support for MERGE ... WHEN NOT MATCHED BY SOURCE. 2024-03-30 10:00:26 +00:00
misc.sql Rearrange core regression tests to reduce cross-script dependencies. 2022-02-08 15:30:38 -05:00
misc_functions.sql Add pg_column_toast_chunk_id(). 2024-03-14 10:58:00 -05:00
misc_sanity.sql Replace explicit PIN entries in pg_depend with an OID range test. 2021-07-15 11:41:47 -04:00
money.sql Rework pg_input_error_message(), now renamed pg_input_error_info() 2023-02-28 08:04:13 +09:00
multirangetypes.sql Fix multiranges to behave more like dependent types. 2024-02-14 11:30:39 -05:00
mvcc.sql Fix typo in MVCC test comment 2022-08-25 10:31:20 +02:00
name.sql Clean up ancient test style 2020-12-15 22:03:39 +01:00
namespace.sql Fix search_path to a safe value during maintenance operations. 2024-03-04 17:31:38 -08:00
numeric.sql Further tweaking of width_bucket() edge cases. 2023-03-31 16:29:55 -04:00
numeric_big.sql Improve the accuracy of numeric power() for integer exponents. 2022-10-20 10:10:17 +01:00
numerology.sql Allow underscores in integer and numeric constants. 2023-02-04 09:48:51 +00:00
object_address.sql Make object_address test output easier to update 2022-11-18 16:00:52 +01:00
oid.sql Rework pg_input_error_message(), now renamed pg_input_error_info() 2023-02-28 08:04:13 +09:00
oidjoins.sql Build in some knowledge about foreign-key relationships in the catalogs. 2021-02-02 17:11:55 -05:00
opr_sanity.sql Fix query checking consistency of table amhandlers in opr_sanity.sql 2023-11-22 09:32:06 +09:00
partition_aggregate.sql Force parallelism in partition_aggregate 2022-09-05 00:09:17 +02:00
partition_info.sql Fix crash with pg_partition_root 2019-03-22 17:27:38 +09:00
partition_join.sql Postpone reparameterization of paths until create_plan(). 2024-03-19 14:51:58 -04:00
partition_prune.sql Temporarily install debugging in partition_prune test 2024-03-21 21:21:05 +13:00
password.sql Allow tests to pass in OpenSSL FIPS mode (rest) 2023-11-17 17:58:39 +01:00
path.sql Rework pg_input_error_message(), now renamed pg_input_error_info() 2023-02-28 08:04:13 +09:00
pg_lsn.sql Rework pg_input_error_message(), now renamed pg_input_error_info() 2023-02-28 08:04:13 +09:00
plancache.sql Add generic_plans and custom_plans fields into pg_prepared_statements. 2020-07-20 11:55:50 +09:00
plpgsql.sql Allow "internal" subtransactions in parallel mode. 2024-03-28 12:43:10 -04:00
point.sql Rework pg_input_error_message(), now renamed pg_input_error_info() 2023-02-28 08:04:13 +09:00
polygon.sql Rework pg_input_error_message(), now renamed pg_input_error_info() 2023-02-28 08:04:13 +09:00
polymorphism.sql Fix bugs in polymorphic-argument resolution for multiranges. 2021-07-27 15:01:49 -04:00
portals.sql Fix incorrect logic in HaveRegisteredOrActiveSnapshot(). 2022-04-16 16:04:50 -04:00
portals_p2.sql
predicate.sql Add better handling of redundant IS [NOT] NULL quals 2024-01-23 18:09:18 +13:00
prepare.sql Fix pg_prepared_statements.result_types for DML statements 2022-07-05 10:26:36 +02:00
prepared_xacts.sql Fix check for conflicting session- vs transaction-level locks. 2021-07-24 18:35:52 -04:00
privileges.sql Reintroduce MAINTAIN privilege and pg_maintain predefined role. 2024-03-13 14:49:26 -05:00
psql.sql psql: Add ignore_slash_options in bind's inactive branch 2024-01-19 14:18:20 +09:00
psql_crosstab.sql
publication.sql Admit deferrable PKs into rd_pkindex, but flag them as such 2024-03-08 16:32:29 +01:00
random.sql Add functions to generate random numbers in a specified range. 2024-03-27 10:12:39 +00:00
rangefuncs.sql Fix type-checking of RECORD-returning functions in FROM. 2024-03-06 14:41:13 -05:00
rangetypes.sql Add planner support functions for range operators <@ and @>. 2024-01-20 13:57:54 -05:00
regex.sql Fix regexp misbehavior with capturing parens inside "{0}". 2021-08-24 16:37:26 -04:00
regproc.sql Add to_regtypemod function to extract typemod from a string type name. 2024-03-20 17:11:28 -04:00
reindex_catalog.sql Fix rd_firstRelfilenodeSubid for nailed relations, in parallel workers. 2020-09-09 18:50:24 -07:00
reloptions.sql Test that it works to RESET an invalid reloption 2023-12-08 11:58:58 +01:00
replica_identity.sql Admit deferrable PKs into rd_pkindex, but flag them as such 2024-03-08 16:32:29 +01:00
returning.sql
roleattributes.sql Remove WITH OIDS support, change oid catalog column visibility. 2018-11-20 16:00:17 -08:00
rowsecurity.sql Add RETURNING support to MERGE. 2024-03-17 13:58:59 +00:00
rowtypes.sql Track nesting depth correctly when drilling down into RECORD Vars. 2023-09-15 17:01:52 -04:00
rules.sql Add support for MERGE ... WHEN NOT MATCHED BY SOURCE. 2024-03-30 10:00:26 +00:00
sanity_check.sql Remove AIX support 2024-02-28 15:17:23 +04:00
security_label.sql
select.sql Fix core dump in transformValuesClause when there are no columns. 2022-05-09 14:15:37 -04:00
select_distinct.sql Consider the "LIMIT 1" optimization with parallel DISTINCT 2024-01-31 17:22:02 +13:00
select_distinct_on.sql Use Limit instead of Unique to implement DISTINCT, when possible 2022-10-28 23:04:38 +13:00
select_having.sql
select_implicit.sql Remove gratuitous uses of deprecated SELECT INTO 2021-01-28 14:28:41 +01:00
select_into.sql Rearrange core regression tests to reduce cross-script dependencies. 2022-02-08 15:30:38 -05:00
select_parallel.sql Enhance nbtree ScalarArrayOp execution. 2024-04-06 11:47:10 -04:00
select_views.sql Avoid locale-dependent output in select_views regression test. 2017-05-28 14:52:18 -04:00
sequence.sql Unlogged sequences 2022-04-07 16:18:00 +02:00
spgist.sql Avoid loss of code coverage with unlogged-index test cases. 2022-09-25 13:10:17 -04:00
sqljson.sql Add more SQL/JSON constructor functions 2023-07-26 17:08:33 +09:00
sqljson_jsontable.sql Add basic JSON_TABLE() functionality 2024-04-04 20:20:15 +09:00
sqljson_queryfuncs.sql Add SQL/JSON query functions 2024-03-21 17:07:03 +09:00
stats.sql Rename SLRU elements in view pg_stat_slru 2024-02-28 09:39:52 +01:00
stats_ext.sql Reduce dependency to money data type in main regression test suite 2024-01-15 09:30:16 +09:00
strings.sql Add to_bin() and to_oct(). 2023-08-23 07:49:03 -07:00
subscription.sql Add a failover option to subscriptions. 2024-01-30 16:49:28 +05:30
subselect.sql Try to stabilize flappy test result. 2024-03-29 10:40:31 -04:00
sysviews.sql Add system view pg_wait_events 2023-08-20 15:35:02 +09:00
tablesample.sql Fix some anomalies with NO SCROLL cursors. 2021-09-10 13:18:32 -04:00
tablespace.sql Create regress_tblspc in test_setup 2023-02-11 10:03:04 -08:00
temp.sql Ensure we have a snapshot while dropping ON COMMIT DROP temp tables. 2023-10-16 14:06:14 -04:00
test_setup.sql Mop-up for AIX-ectomy: remove now-dead test code. 2024-02-28 14:34:19 -05:00
text.sql Rearrange core regression tests to reduce cross-script dependencies. 2022-02-08 15:30:38 -05:00
tid.sql Rework pg_input_error_message(), now renamed pg_input_error_info() 2023-02-28 08:04:13 +09:00
tidrangescan.sql Add TID Range Scans to support efficient scanning ranges of TIDs 2021-02-27 22:59:36 +13:00
tidscan.sql Fix bug in Tid scan. 2020-02-07 22:06:31 +09:00
time.sql Rework pg_input_error_message(), now renamed pg_input_error_info() 2023-02-28 08:04:13 +09:00
timestamp.sql Fix mis-rounding and overflow hazards in date_bin(). 2024-02-28 14:00:30 -05:00
timestamptz.sql Fix mis-rounding and overflow hazards in date_bin(). 2024-02-28 14:00:30 -05:00
timetz.sql Dodge a compiler bug affecting timetz_zone/timetz_izone. 2023-10-17 13:10:35 -04:00
transactions.sql Fix COMMIT/ROLLBACK AND CHAIN in the presence of subtransactions. 2023-09-21 23:11:30 -04:00
triggers.sql Fix handling of self-modified tuples in MERGE. 2024-03-07 09:57:02 +00:00
truncate.sql Fix TRUNCATE .. CASCADE on partitions 2020-02-07 17:09:36 -03:00
tsdicts.sql Fix various issues with ALTER TEXT SEARCH CONFIGURATION 2024-01-31 13:15:21 +09:00
tsearch.sql Stabilize just-added regression test cases. 2023-04-06 18:13:49 -04:00
tsrf.sql Fix handling of targetlist SRFs when scan/join relation is known empty. 2019-03-07 14:22:13 -05:00
tstypes.sql Rework pg_input_error_message(), now renamed pg_input_error_info() 2023-02-28 08:04:13 +09:00
tuplesort.sql Remove duplicate words in docs and code comments. 2023-10-09 09:18:47 +05:30
txid.sql Introduce xid8-based functions to replace txid_XXX. 2020-04-07 12:04:32 +12:00
type_sanity.sql Fix inconsistencies for queries on pg_class in type_sanity.sql 2023-11-12 10:06:51 +09:00
typed_table.sql Suppress less info in regression tests using DROP CASCADE. 2017-08-01 16:49:23 -04:00
unicode.sql Additional unicode primitive functions. 2023-11-01 22:47:06 -07:00
union.sql Fix assert failure when planning setop subqueries with CTEs 2024-04-02 12:15:45 +13:00
updatable_views.sql Add support for MERGE ... WHEN NOT MATCHED BY SOURCE. 2024-03-30 10:00:26 +00:00
update.sql Add hint about not qualifying UPDATE...SET target with relation name. 2024-01-20 17:54:14 -05:00
uuid.sql Add some UUID support functions 2024-03-19 09:32:04 +01:00
vacuum.sql Fix search_path to a safe value during maintenance operations. 2024-03-04 17:31:38 -08:00
vacuum_parallel.sql Don't overlook indexes during parallel VACUUM. 2021-11-02 12:06:17 -07:00
varchar.sql Rework pg_input_error_message(), now renamed pg_input_error_info() 2023-02-28 08:04:13 +09:00
window.sql Handle WindowClause.runCondition in tree walker/mutator functions. 2024-01-10 13:36:33 -05:00
with.sql Propagate pathkeys from CTEs up to the outer query. 2024-03-26 13:05:51 -04:00
without_overlaps.sql Add temporal FOREIGN KEY contraints 2024-03-24 07:37:13 +01:00
write_parallel.sql Enable parallelism in REFRESH MATERIALIZED VIEW. 2021-03-17 15:04:17 +13:00
xid.sql Rework pg_input_error_message(), now renamed pg_input_error_info() 2023-02-28 08:04:13 +09:00
xml.sql Test EXPLAIN (FORMAT JSON) ... XMLTABLE 2024-01-22 17:14:19 +01:00
xmlmap.sql Fix incorrect xmlschema output for types timetz and timestamptz. 2022-03-18 16:01:42 -04:00