postgresql/src/test/regress/sql
Tom Lane 19fa977311 Dodge a compiler bug affecting timetz_zone/timetz_izone.
Use a modulo operator instead of implementing the same behavior
with a loop.  The loop solution is doubtless microscopically
faster for the typical case of only wrapping into the very next
day, but maybe not so much for large interval values.  In any
case, timetz is such a backwater that it's doubtful anybody
would notice any performance change anyway.

This avoids a compiler bug occurring in AIX's xlc, even in pretty
late-model revisions.

We did not have test coverage for the case where the initial
result->time value is negative, so add that.

For the moment, install this only in HEAD.  My plan is to
back-patch the test case, and then the code change assuming that
buildfarm testing proves the bug occurs in the back branches.
(That seems pretty likely, but let's find out for sure.)

Per buildfarm results from commits 97957fdba and 2f0472030.
Thanks to Michael Paquier for the idea to use a modulo operation
to replace the faulty loop.

Discussion: https://postgr.es/m/CA+hUKGK=DOC+hE-62FKfZy=Ybt5uLkrg3zCZD-jFykM-iPn8yw@mail.gmail.com
2023-10-17 13:10:35 -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 Ensure result of an aggregate's finalfunc is made read-only. 2023-04-16 14:16:40 -04:00
alter_generic.sql Rearrange core regression tests to reduce cross-script dependencies. 2022-02-08 15:30:38 -05:00
alter_operator.sql
alter_table.sql Update comments to match location of definition 2023-09-06 10:18:30 +02:00
amutils.sql
arrays.sql Add array_sample() and array_shuffle() functions. 2023-04-07 11:47:07 -04:00
async.sql
bit.sql Rework pg_input_error_message(), now renamed pg_input_error_info() 2023-02-28 08:04:13 +09:00
bitmapops.sql
boolean.sql Rework pg_input_error_message(), now renamed pg_input_error_info() 2023-02-28 08:04:13 +09:00
box.sql Rework pg_input_error_message(), now renamed pg_input_error_info() 2023-02-28 08:04:13 +09:00
brin_bloom.sql BRIN bloom indexes 2021-03-26 13:35:32 +01:00
brin_multi.sql Improve BRIN minmax-multi opclass test coverage 2023-07-02 10:33:38 +02:00
brin.sql Remove incidental md5() function uses from main regression tests 2023-03-13 10:53:28 +01:00
btree_index.sql Rearrange core regression tests to reduce cross-script dependencies. 2022-02-08 15:30:38 -05: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 Revert MAINTAIN privilege and pg_maintain predefined role. 2023-07-07 11:25:13 -07:00
collate.icu.utf8.sql ICU: do not convert locale 'C' to 'en-US-u-va-posix'. 2023-06-21 13:18:25 -07: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 Improve error checking of CREATE COLLATION options. 2021-07-18 11:08:34 +01:00
collate.windows.win1252.sql Remove read-only server settings lc_collate and lc_ctype 2023-06-07 16:57:06 +02:00
combocid.sql Sanitize the term "combo CID" in code comments 2021-03-25 16:08:03 +09:00
comments.sql
compression.sql Remove incidental md5() function uses from main regression tests 2023-03-13 10:53:28 +01:00
constraints.sql Fix not-null constraint test 2023-09-01 19:49:20 +02:00
conversion.sql Rearrange core regression tests to reduce cross-script dependencies. 2022-02-08 15:30:38 -05:00
copy2.sql Provide FORCE_NULL * and FORCE_NOT_NULL * options for COPY FROM 2023-09-30 12:34:41 -04:00
copy.sql Fix bulk table extension when copying into multiple partitions 2023-10-13 19:16:44 -07: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 Fix pg_depend entry to AMs after ALTER TABLE .. SET ACCESS METHOD 2023-06-30 07:49:01 +09: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_spgist.sql Add a planner support function for starts_with(). 2021-11-17 16:54:12 -05:00
create_index.sql Disallow NULLS NOT DISTINCT indexes for primary keys 2023-02-24 11:09:50 +01:00
create_misc.sql Rearrange core regression tests to reduce cross-script dependencies. 2022-02-08 15:30:38 -05:00
create_operator.sql Rearrange core regression tests to reduce cross-script dependencies. 2022-02-08 15:30:38 -05:00
create_procedure.sql Fix various typos in code and tests 2023-02-09 14:43:53 +09:00
create_role.sql DROP ROLE regress_role_limited_admin at end of test 2023-01-26 08:14:41 -05:00
create_schema.sql Fix crashes with CREATE SCHEMA AUTHORIZATION and schema elements 2023-04-28 19:29:12 +09:00
create_table_like.sql Extended statistics on expressions 2021-03-27 00:01:11 +01:00
create_table.sql Catalog not-null constraints 2023-08-25 13:31:24 +02: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 Revert MAINTAIN privilege and pg_maintain predefined role. 2023-07-07 11:25:13 -07:00
domain.sql Fix assignment to array of domain over composite, redux. 2023-04-15 12:01:39 -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 Rework pg_input_error_message(), now renamed pg_input_error_info() 2023-02-28 08:04:13 +09:00
equivclass.sql Suppress unnecessary RelabelType nodes in more cases. 2020-02-26 18:14:12 -05:00
errors.sql Rearrange core regression tests to reduce cross-script dependencies. 2022-02-08 15:30:38 -05:00
event_trigger.sql Add support event triggers on authenticated login 2023-10-16 03:18:22 +03:00
explain.sql Invent GENERIC_PLAN option for EXPLAIN. 2023-03-24 17:07:22 -04:00
expressions.sql Add back SQLValueFunction for SQL keywords 2023-05-17 10:19:17 +09:00
fast_default.sql Revert 56-bit relfilenode change and follow-up commits. 2022-09-28 09:55:28 -04: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 Remove useless tests for TRUNCATE on foreign tables 2022-05-31 09:44:00 +09: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 Fix some more cases of missed GENERATED-column updates. 2023-03-06 18:31:27 -05: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 Fix portability issue in tests from commit ce773f230. 2021-09-03 10:01:02 -04:00
hash_index.sql Rearrange core regression tests to reduce cross-script dependencies. 2022-02-08 15:30:38 -05:00
hash_part.sql Update comments to match location of definition 2023-09-06 10:18:30 +02:00
horology.sql Tighten error checks in datetime input, and remove bogus "ISO" format. 2023-03-16 14:18:33 -04:00
identity.sql Add support for MERGE SQL command 2022-03-28 16:47:48 +02:00
incremental_sort.sql Allow Incremental Sorts on GiST and SP-GiST indexes 2023-07-04 23:08:52 +12:00
index_including_gist.sql
index_including.sql Support INCLUDE'd columns in SP-GiST. 2021-04-05 18:41:21 -04:00
indexing.sql Catalog not-null constraints 2023-08-25 13:31:24 +02: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 Move privilege check to the right place 2023-09-07 12:15:18 +02:00
init_privs.sql
insert_conflict.sql Allow table-qualified variable names in ON CONFLICT ... WHERE. 2021-04-13 15:39:41 -04:00
insert.sql Rearrange core regression tests to reduce cross-script dependencies. 2022-02-08 15:30:38 -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 Rework pg_input_error_message(), now renamed pg_input_error_info() 2023-02-28 08:04:13 +09:00
interval.sql Tighten unit parsing in internal values 2023-08-28 14:27:17 +09:00
join_hash.sql Fix hash join when inner hashkey expressions contain Params. 2023-06-20 17:47:53 -04:00
join.sql Defend against bogus parameterization of join input paths. 2023-06-29 12:12:52 -04:00
json_encoding.sql Rework pg_input_error_message(), now renamed pg_input_error_info() 2023-02-28 08:04:13 +09:00
json.sql Rework pg_input_error_message(), now renamed pg_input_error_info() 2023-02-28 08:04:13 +09:00
jsonb_jsonpath.sql Accept fractional seconds in jsonpath's datetime() method. 2023-06-12 10:54:44 -04:00
jsonb.sql Rework pg_input_error_message(), now renamed pg_input_error_info() 2023-02-28 08:04:13 +09:00
jsonpath_encoding.sql Allow Unicode escapes in any server encoding, not only UTF-8. 2020-03-06 14:17:43 -05:00
jsonpath.sql SQL JSON path enhanced numeric literals 2023-03-05 15:19:58 +01:00
largeobject.sql Remove incidental md5() function uses from main regression tests 2023-03-13 10:53:28 +01: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
macaddr8.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
matview.sql Remove incidental md5() function uses from main regression tests 2023-03-13 10:53:28 +01:00
md5.sql Put tests of md5() function into separate test file 2022-10-13 12:02:31 +02:00
memoize.sql Enable use of Memoize atop an Append that came from UNION ALL. 2023-03-16 18:13:45 -04:00
merge.sql Fix corner-case planner failure for MERGE. 2023-03-28 11:39:24 -04:00
misc_functions.sql Rename pg_dissect_walfile_name() to pg_split_walfile_name() 2022-12-23 09:15:01 +09:00
misc_sanity.sql Replace explicit PIN entries in pg_depend with an OID range test. 2021-07-15 11:41:47 -04:00
misc.sql Rearrange core regression tests to reduce cross-script dependencies. 2022-02-08 15:30:38 -05:00
money.sql Rework pg_input_error_message(), now renamed pg_input_error_info() 2023-02-28 08:04:13 +09:00
multirangetypes.sql Rework pg_input_error_message(), now renamed pg_input_error_info() 2023-02-28 08:04:13 +09: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 Replace last PushOverrideSearchPath() call with set_config_option(). 2023-05-08 06:14:07 -07:00
numeric_big.sql Improve the accuracy of numeric power() for integer exponents. 2022-10-20 10:10:17 +01:00
numeric.sql Further tweaking of width_bucket() edge cases. 2023-03-31 16:29:55 -04: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 SQL/JSON: add standard JSON constructor functions 2023-03-29 12:11:36 +02: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 Fix calculation of relid sets for partitionwise child joins. 2023-07-21 12:00:14 -04:00
partition_prune.sql Fix runtime partition pruning for HASH partitioned tables 2023-10-13 01:12:31 +13:00
password.sql Make SCRAM iteration count configurable 2023-03-27 09:46:29 +02: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 Add a way to get the current function's OID in pl/pgsql. 2023-04-04 13:33:18 -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_p2.sql
portals.sql Fix incorrect logic in HaveRegisteredOrActiveSnapshot(). 2022-04-16 16:04:50 -04: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 Revert MAINTAIN privilege and pg_maintain predefined role. 2023-07-07 11:25:13 -07:00
psql_crosstab.sql
psql.sql psql: Set variables from query result on failure when printing tuples 2023-10-02 11:05:05 +09:00
publication.sql Fix publication syntax error message 2023-05-10 18:26:10 +02:00
random.sql Add support for the error functions erf() and erfc(). 2023-03-14 09:17:36 +00:00
rangefuncs.sql Close old gap in dependency checks for functions returning composite. 2022-07-22 12:46:42 -04:00
rangetypes.sql Rework pg_input_error_message(), now renamed pg_input_error_info() 2023-02-28 08:04:13 +09:00
regex.sql Fix regexp misbehavior with capturing parens inside "{0}". 2021-08-24 16:37:26 -04:00
regproc.sql Rework pg_input_error_message(), now renamed pg_input_error_info() 2023-02-28 08:04:13 +09:00
reindex_catalog.sql Fix rd_firstRelfilenodeSubid for nailed relations, in parallel workers. 2020-09-09 18:50:24 -07:00
reloptions.sql Try to stabilize reloptions test, again. 2022-01-20 23:10:40 +13:00
replica_identity.sql Catalog not-null constraints 2023-08-25 13:31:24 +02:00
returning.sql
roleattributes.sql
rowsecurity.sql Fix RLS policy usage in MERGE. 2023-08-07 09:28:47 +01:00
rowtypes.sql Track nesting depth correctly when drilling down into RECORD Vars. 2023-09-15 17:01:52 -04:00
rules.sql Add ruleutils support for decompiling MERGE commands. 2023-05-07 11:01:15 -04:00
sanity_check.sql Test ALIGNOF_DOUBLE==4 compatibility under ALIGNOF_DOUBLE==8. 2022-04-22 20:20:11 -07:00
security_label.sql
select_distinct_on.sql Use Limit instead of Unique to implement DISTINCT, when possible 2022-10-28 23:04:38 +13:00
select_distinct.sql Have the planner consider Incremental Sort for DISTINCT 2023-01-11 10:25:43 +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 Rename force_parallel_mode to debug_parallel_query 2023-02-15 21:21:59 +13:00
select_views.sql
select.sql Fix core dump in transformValuesClause when there are no columns. 2022-05-09 14:15:37 -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
stats_ext.sql Remove incidental md5() function uses from main regression tests 2023-03-13 10:53:28 +01:00
stats.sql Fix pg_stat_reset_single_table_counters() for shared relations 2023-08-21 13:32:14 +09:00
strings.sql Add to_bin() and to_oct(). 2023-08-23 07:49:03 -07:00
subscription.sql Fix the ALTER SUBSCRIPTION to reflect the change in run_as_owner option. 2023-09-13 09:34:30 +05:30
subselect.sql Fix typo in test comment 2023-09-23 09:56:38 +02: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 Remove incidental md5() function uses from main regression tests 2023-03-13 10:53:28 +01: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 Rework pg_input_error_message(), now renamed pg_input_error_info() 2023-02-28 08:04:13 +09:00
timestamptz.sql Add support for AT LOCAL 2023-10-13 13:01:37 +09: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 another issue with ENABLE/DISABLE TRIGGER on partitioned tables. 2023-04-05 12:56:32 -04:00
truncate.sql Fix TRUNCATE .. CASCADE on partitions 2020-02-07 17:09:36 -03:00
tsdicts.sql Preserve integer and float values accurately in (de)serialize_deflist. 2020-03-10 12:30:02 -04:00
tsearch.sql Stabilize just-added regression test cases. 2023-04-06 18:13:49 -04:00
tsrf.sql
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 Move provariadic sanity check to a more appropriate place 2022-12-15 07:54:48 +01:00
typed_table.sql
unicode.sql Fix buffer overrun in unicode string normalization with empty input 2021-11-11 15:00:59 +09:00
union.sql Fix possible crash in add_paths_to_append_rel() 2023-10-10 16:50:03 +13:00
updatable_views.sql Correctly update hasSubLinks while mutating a rule action. 2023-06-13 15:58:43 -04:00
update.sql Fix mishandling of resjunk columns in ON CONFLICT ... UPDATE tlists. 2021-05-10 11:02:29 -04:00
uuid.sql Rework pg_input_error_message(), now renamed pg_input_error_info() 2023-02-28 08:04:13 +09:00
vacuum_parallel.sql Don't overlook indexes during parallel VACUUM. 2021-11-02 12:06:17 -07:00
vacuum.sql Revert "Fix search_path to a safe value during maintenance operations." 2023-06-10 08:11:41 -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 Attempt to stabilize new window agg regression test 2023-08-04 13:27:19 +12:00
with.sql Rename force_parallel_mode to debug_parallel_query 2023-02-15 21:21:59 +13: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 Support [NO] INDENT option in XMLSERIALIZE(). 2023-03-15 16:59:09 -04:00
xmlmap.sql Fix incorrect xmlschema output for types timetz and timestamptz. 2022-03-18 16:01:42 -04:00