Commit Graph

6105 Commits (8d087f3e637d0a29cf861c6b4f6a490893fa7985)

Author SHA1 Message Date
naisila 8d087f3e63 Adds alt. output for failure_savepoints bcs of PG15 libpq error changes
Duplicated error/warning texts is now avoided in PG15.
The whole test file has duplications hence I added an alternative.
In some cases ERROR/WARNING order is swapped so I reduced
the log level.

Relevant PG commit:
618c16707a6d6e8f5c83ede2092975e4670201ad
2022-08-23 15:58:35 +03:00
naisila 8faf731168 Remove "invalid socket" from failure tests' outputs
Relevant PG commit:
b71a9cb31e46b08aeac35a4355936165648b3c49
2022-08-23 15:58:34 +03:00
naisila 0825435787 Handles EXPLAIN output diffs in PG15: HashAgg Leverage,alt. output
multi_select_distinct.sql

Still not sure of the relevant PG commit
Could be db0d67db2401eb6238ccc04c6407a4fd4f985832
but disabling enable_group_by_reordering didn't help.
2022-08-23 15:58:20 +03:00
naisila d37eb176db Handles EXPLAIN output diffs in PG15: extra arrows&result lines
To handle extra "->" arrows resulting from extra Result lines
in explain outputs, we add the following explain method to
multi_test_helpers.sql file

- plan_without_arrows() is added for cases where we want the
whole explain output without arrows and without Result lines
2022-08-23 15:58:20 +03:00
naisila 3787c0511d Omit namespace in post-copy errmsg
Relevant PG commit:
069d33d0c5a021601245e44df77a0423ddd69359
2022-08-23 15:58:19 +03:00
Hanefi Onaldi 58086e6521 Bump test images to 15beta3 (#6172) 2022-08-23 15:55:49 +03:00
naisila e579e6f455 Add alternative test outputs for change in Insert Select display pt3
citus_local_tables_queries.sql
cte_inline.sql
insert_select_repartition.sql
intermediate_result_pruning.sql
local_shard_execution.sql
local_shard_execution_replicated.sql
multi_mx_insert_select_repartition.sql
mx_coordinator_shouldhaveshards.sql

Relevant PG commit:
a8d8445a7b2f80f6d0bfe97b19f90bd2cbef8759
2022-08-23 15:55:49 +03:00
naisila 3c9eea031e Normalizes Memory Usage, Buckets, Batches for PG15 explain diffs
We create a new function in multi_test_helpers, which is similar
to explain_merge function in PG15. This explain helper function
normalies Memory Usage, Buckets and Batches, and we use it in the
tests which give a different output for PG15.
2022-08-23 15:55:49 +03:00
naisila 8b141aef13 Handles EXPLAIN output diffs in PG15: enable_group_by_reordering
Relevant PG commit
db0d67db2401eb6238ccc04c6407a4fd4f985832
2022-08-23 15:55:49 +03:00
naisila 2aa07e37a4 Handles EXPLAIN output diffs in PG15, Hash Agg/Join leverage
To handle differences in usage of GroupAggregate vs HashAggregate
or Merge Join vs Hash join in cases where this detail doesn't
seem to matter, we use coordinator_plan().
- coordinator_plan() is updated to remove "Result" lines

There are some cases where we have subplans so we add a new
function that prints all Task Count lines as well
- coordinator_plan_with_subplans()

Still not sure of the relevant PG commit
Could be db0d67db2401eb6238ccc04c6407a4fd4f985832
but disabling enable_group_by_reordering didn't help.
2022-08-23 15:55:49 +03:00
naisila df5f628175 Handles EXPLAIN output diffs in PG15 - Extra result lines
To handle extra "Result" lines in explain outputs, we add explain
method to multi_test_helpers.sql file
- plan_without_result_lines() is added for cases where we want the
whole explain output with only "Result" lines removed
2022-08-23 15:55:49 +03:00
Onder Kalaci 2feeff3a09 Support JSON_TABLE on PG 15
Postgres supports JSON_TABLE feature on PG 15.

We treat JSON_TABLE the same as correlated functions (e.g., recurring tuples).
In the end, for multi-shard JSON_TABLE commands, we apply the same
restrictions as reference tables (e.g., cannot be in the outer part of
an outer join etc.)
2022-08-23 15:55:49 +03:00
naisila 45417dc1a0 Adds citus.mitmfifo GUC
Previously we setting this configuration parameter
in the fly for failure tests schedule.
However, PG15 doesn't allow that anymore: reserved prefixes
like "citus" cannot be used to set non-existing GUCs.

Relevant PG commit:
88103567cb8fa5be46dc9fac3e3b8774951a2be7
2022-08-22 10:01:09 +03:00
naisila f81724f1ff Use pg_backup_stop(PG15) instead of pg_stop_backup(PG<15)
Add an alternative test output because of the change in the
backup modes of Postgres. Specifically here, there is a renaming
issue: pg_stop_backup PRE PG15 vs pg_backup_stop PG15+
The alternative output can be deleted when we drop support for PG14

Relevant PG commit:
39969e2a1e4d7f5a37f3ef37d53bbfe171e7d77a
2022-08-22 10:01:09 +03:00
naisila 3a6b3e44c5 Remove 'AS "?column?"' from test outputs
There were some instances in the following tst outputs
in planning debug outputs where AS "?column?" is added.
We add a normalization rule to remove it as it is not
important.

cte_inline.out
recursive_relation_planning_restriction_pushdown.out

Relevant PG commit:
c7461fc25558832dd347a9c8150b0f1ed85e36e8
2022-08-22 10:01:08 +03:00
naisila 3254a82af5 Explicitly cast catalog "char" column to text before concatenation
Relevant PG commit:
07eee5a0dc642d26f44d65c4e6263304208e8583
2022-08-22 10:01:08 +03:00
naisila d06dc225ce Add alternative test outputs for change in Insert Select display pt2
multi_deparse_shard_query.sql

Relevant PG commit:
a8d8445a7b2f80f6d0bfe97b19f90bd2cbef8759
2022-08-22 10:01:08 +03:00
naisila c7ff256f9d Fix tests for generated columns dependency changes
In PG15, For GENERATED columns, all dependencies of the generation
expression are recorded as NORMAL dependencies of the column itself.
This requires CASCADE to drop generated cols with the original col.
PRE PG15, dependencies were recorded as AUTO, with which
generated columns are silently dropped with the original column.

Relevant PG commit:
cb02fcb4c95bae08adaca1202c2081cfc81a28b5
2022-08-22 10:01:08 +03:00
naisila 8cf6e23c91 Prevent creating child triggers on partitions when adding new node
Pre PG15, tgisinternal is true for a "child" trigger on a partition
cloned from the trigger on the parent.
In PG15, tgisinternal is false in that case. However, we don't want to
create this trigger on the partition since it will create a conflict
when we try to attach the partition to the parent table:
ERROR: trigger "..." for relation "{partition_name}" already exists

Relevant PG commit:
f4566345cf40b068368cb5617e61318da60676ec
2022-08-22 10:01:08 +03:00
naisila 7a7ede3ad2 Fixes tests for ALTER TRIGGER RENAME consistency for part. tables
Relevant PG commit:
80ba4bb383538a2ee846fece6a7b8da9518b6866
2022-08-22 10:01:08 +03:00
naisila 7b253a2259 Revert "Add missing ifdef for PG 15"
This reverts commit c7b51025ab.
2022-08-22 10:01:08 +03:00
naisila 77815910db Add alternative test outputs for change in Insert Select display
coordinator_shouldhaveshards.sql
multi_insert_select.sql
multi_insert_select_conflict.sql
single_node.sql

Relevant PG commit:
a8d8445a7b2f80f6d0bfe97b19f90bd2cbef8759
2022-08-22 10:01:08 +03:00
naisila 037cf6d9bd Change warning message in pg_signal_backend()
Relevant PG commit:
7fa945b857cc1b2964799411f1633468826861ff
2022-08-22 10:01:08 +03:00
Hanefi Onaldi 515a0c31bb Add PG15 tests to CI using test images that have 15beta2 (#6093) 2022-08-22 10:01:08 +03:00
naisila 5d90c11508 Handle new option colliculocale in CREATE COLLATION logic
In PG15, there is an added option to use ICU as global locale provider.
pg_collation has three locale-related fields: collcollate and collctype,
which are libc-related fields, and a new one colliculocale, which is the
ICU-related field. Only the libc-related fields or the ICU-related field
is set, never both.

Relevant PG commits:
f2553d43060edb210b36c63187d52a632448e1d2
54637508f87bd5f07fb9406bac6b08240283be3b
2022-08-22 10:01:08 +03:00
naisila b0b400b6e1 Replace int nodes with bool nodes where needed
In PG15, Boolean nodes are added. Pre PG15, internal Boolean values
in Create Role commands were represented by Integer nodes. This
commit replaces int nodes logic with bool nodes logic where needed.
Mostly there are CREATE ROLE logic changes.

Relevant PG commit:
941460fcf731a32e6a90691508d5cfa3d1f8eeaf
2022-08-22 10:01:08 +03:00
naisila 2cd3ddb9f7 Change comment regarding functions returning composite in ruleutils_15.c
Relevant PG commit:
c2fa113ddb1117b1f03e91960f65d5d7d8a90270
2022-08-22 10:01:08 +03:00
naisila 36ce0dc177 Fix ruleutils_15.c issues with dropped cols in funcs-returning-composite
Relevant PG commit:
c1d1e8469c77ce6b8e5310955580b4a3eee7fe96
2022-08-22 10:01:08 +03:00
naisila c41ed5946c Show 'AS "?column?"' explicitly when it's important in ruleutils_15.c
Relevant PG commit:
c7461fc25558832dd347a9c8150b0f1ed85e36e8
2022-08-22 10:01:08 +03:00
naisila e21e976d64 Rename value_type to item_type in ruleutils_15.c
Relevant PG commit:
3ab9a63cb638a1fd99475668e2da9c237495aeda
2022-08-22 10:01:08 +03:00
naisila d931aa9c3f Mechanical code beautification ruleutils_15.c
Relevant PG commit:
23e7b38bfe396f919fdb66057174d29e17086418
2022-08-22 10:01:08 +03:00
naisila cb11c5bc45 set_deparse_plan: Reuse variable to appease Coverity ruleutils_15.c
Relevant PG commit:
e70813fbc4aaca35ec012d5a426706bd54e4acab
2022-08-22 10:01:08 +03:00
naisila 132bb2d155 Remove extra blank lines before block-closing braces ruleutils_15.c
Relevant PG commit:
24d2b2680a8d0e01b30ce8a41c4eb3b47aca5031
2022-08-22 10:01:08 +03:00
naisila 039aa36f6d Add PLAN function for JSON table in ruleutils_15.c
Relevant PG commit:
fadb48b00e02ccfd152baa80942de30205ab3c4f
2022-08-22 10:01:08 +03:00
naisila 12ad709829 Adds JSON table functions in ruleutils_15.c
Relevant PG commit:
4e34747c88a03ede6e9d731727815e37273d4bc9
2022-08-22 10:01:08 +03:00
naisila 11b5ea1de7 Adds three different SQL/JSON values to ruleutils_15.c
Relevant PG commits:
606948b058dc16bce494270eea577011a602810e
49082c2cc3d8167cca70cfe697afb064710828ca
2022-08-22 10:01:08 +03:00
naisila 47c07aca31 Add SQL/JSON query functions to ruleutils_15.c
Relevant PG commit:
1a36bc9dba8eae90963a586d37b6457b32b2fed4
2022-08-22 10:01:08 +03:00
naisila 92b1df09eb Add IS JSON predicate to ruleutils_15.c
Relevant PG commit:
33a377608fc29cdd1f6b63be561eab0aee5c81f0
2022-08-22 10:01:08 +03:00
naisila 4415e3ee6e Adds support for MERGE in ruleutils_15.c
Relevant PG commit:
7103ebb7aae8ab8076b7e85f335ceb8fe799097c
2022-08-22 10:01:08 +03:00
naisila 2ff4e48270 Adds SQL/JSON constructors to ruleutils_15.c
Relevant PG commits:
f4fb45d15c59d7add2e1b81a9d477d0119a9691a
cc7401d5ca498a84d9b47fd2e01cebd8e830e558
2022-08-22 10:01:08 +03:00
naisila ce5da924fe Adds grammar support for SQL/JSON clauses in ruleutils_15.c
Relevant PG commit:
f79b803dcc98d707450e158db3638dc67ff8380b
2022-08-22 10:01:08 +03:00
naisila 0764f315d0 Fix assorted missing logic for GroupingFunc nodes in ruleutils_15.c
Relevant PG commit:
2591ee8ec44d8cbc8e1226550337a64c684746e4
2022-08-22 10:01:08 +03:00
naisila c5a16eece5 Fix ruleutils_15.c's dumping of whole-row Vars in more contexts
Relevant PG commit:
43c2175121c829c8591fc5117b725f1f22bfb670
2022-08-22 10:01:08 +03:00
naisila 8cdd78c92b Fix display of SQL-std func's args in INSERT/SELECT in ruleutils_15.c
Relevant PG commit:
a8d8445a7b2f80f6d0bfe97b19f90bd2cbef8759
2022-08-22 10:01:08 +03:00
naisila d289a0ebf0 Adds find_recursive_union to ruleutils_15.c
Relevant PG commit:
3f50b82639637c9908afa2087de7588450aa866b
2022-08-22 10:01:08 +03:00
naisila 705c219318 Change varno from Index (unsigned int) to int in ruleutils_15.c
Relevant PG commit:
e3ec3c00d85bd2844ffddee83df2bd67c4f8297f
2022-08-22 10:01:08 +03:00
naisila fb0ebf3d29 Clean up code using "(expr) ? true : false" in ruleutils_15.c
Relevant PG commit:
fd0625c7a9c679c0c1e896014b8f49a489c3a245
2022-08-22 10:01:08 +03:00
naisila f3d25b0fa4 Uses get_namespace_name_or_temp in ruleutils_15.c
Relevant PG commit:
48c5c9068211e0a04fd9553c8714b2821ed3ad17
2022-08-22 10:01:08 +03:00
naisila 0ba12d2b78 Adds copy of ruleutils_14.c as ruleutils_15.c 2022-08-22 10:01:08 +03:00
naisila 1765690720 Adjust configure script to allow PG15 2022-08-22 10:01:08 +03:00