Commit Graph

6036 Commits (cab41c4fc9150c3221ed912e4bb94aee189931e9)

Author SHA1 Message Date
Onder Kalaci cab41c4fc9 Merge remote-tracking branch 'origin/remove_source_files' into pg15_support_tmp_onder 2022-08-09 09:50:46 +02:00
naisila 0334c70a27 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-09 09:34:38 +03:00
naisila 27aad2d547 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-09 09:32:48 +03:00
naisila 13e0fbd669 Handles EXPLAIN output diffs in PG15
To handle extra "Result" lines in explain outputs, we add explain
methods to multi_test_helpers.sql file
- coordinator_plan() is updated to remove "Result" lines
- plan_without_result_lines() is added for cases where we want the
whole explain output with only "Result" lines removed

To handle differences in usage of GroupAggregate vs HashAggregate
in cases where this detail doesn't seem to matter, we use
coordinator_plan(). 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()
2022-08-09 09:27:42 +03:00
Onder Kalaci 1e41110407 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-09 06:32:38 +03:00
naisila 6ec13fc15d Adds test failure_pg15.sql for duplicate error message cases
Each of the following tests: failure_ddl.sql, failure_truncate.sql
failure_multi_dml.sql, failure_vacuum.sql has a part with
alternative output for PG15 resulting from removal of duplicate
error messages
This test file has been created to avoid 4 alternative output files

Relevant PG commit:
618c16707a6d6e8f5c83ede2092975e4670201ad
2022-08-09 06:32:38 +03:00
naisila 03071da889 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-09 06:32:38 +03:00
naisila c23b1142ca Remove "invalid socket" from failure tests' outputs
Relevant PG commit:
b71a9cb31e46b08aeac35a4355936165648b3c49
2022-08-09 06:32:38 +03:00
naisila 3574d9083f 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-09 06:32:38 +03:00
naisila 3b0f612dab 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-09 06:32:38 +03:00
naisila a84271321a 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-09 06:32:38 +03:00
naisila 058303a2ca Explicitly cast catalog "char" column to text before concatenation
Relevant PG commit:
07eee5a0dc642d26f44d65c4e6263304208e8583
2022-08-09 06:32:38 +03:00
naisila cc17b4e315 Add alternative test outputs for change in Insert Select display pt2
multi_deparse_shard_query.sql

Relevant PG commit:
a8d8445a7b2f80f6d0bfe97b19f90bd2cbef8759
2022-08-09 06:32:38 +03:00
naisila 7762e6a625 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-09 06:32:38 +03:00
naisila 541e4fd5f0 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-09 06:32:38 +03:00
naisila 7189f57290 Fixes tests for ALTER TRIGGER RENAME consistency for part. tables
Relevant PG commit:
80ba4bb383538a2ee846fece6a7b8da9518b6866
2022-08-09 06:32:38 +03:00
naisila 9de769c4fe Revert "Add missing ifdef for PG 15"
This reverts commit c7b51025ab.
2022-08-09 06:32:38 +03:00
naisila c42b118619 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-09 06:32:38 +03:00
naisila 07278c6295 Change warning message in pg_signal_backend()
Relevant PG commit:
7fa945b857cc1b2964799411f1633468826861ff
2022-08-09 06:32:38 +03:00
Hanefi Onaldi 88e549ac2c Add PG15 tests to CI using test images that have 15beta2 (#6093) 2022-08-09 06:32:38 +03:00
naisila e5af0532e1 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-09 06:32:38 +03:00
naisila ee321b22d7 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-09 06:32:38 +03:00
naisila dc72e5eea3 Change comment regarding functions returning composite in ruleutils_15.c
Relevant PG commit:
c2fa113ddb1117b1f03e91960f65d5d7d8a90270
2022-08-09 06:32:38 +03:00
naisila 4caa42a543 Fix ruleutils_15.c issues with dropped cols in funcs-returning-composite
Relevant PG commit:
c1d1e8469c77ce6b8e5310955580b4a3eee7fe96
2022-08-09 06:32:38 +03:00
naisila 5ba7e1500d Show 'AS "?column?"' explicitly when it's important in ruleutils_15.c
Relevant PG commit:
c7461fc25558832dd347a9c8150b0f1ed85e36e8
2022-08-09 06:32:38 +03:00
naisila 50c3039fd4 Rename value_type to item_type in ruleutils_15.c
Relevant PG commit:
3ab9a63cb638a1fd99475668e2da9c237495aeda
2022-08-09 06:32:38 +03:00
naisila d00880b7ba Mechanical code beautification ruleutils_15.c
Relevant PG commit:
23e7b38bfe396f919fdb66057174d29e17086418
2022-08-09 06:32:38 +03:00
naisila 731e2fc82e set_deparse_plan: Reuse variable to appease Coverity ruleutils_15.c
Relevant PG commit:
e70813fbc4aaca35ec012d5a426706bd54e4acab
2022-08-09 06:32:38 +03:00
naisila 165100539b Remove extra blank lines before block-closing braces ruleutils_15.c
Relevant PG commit:
24d2b2680a8d0e01b30ce8a41c4eb3b47aca5031
2022-08-09 06:32:38 +03:00
naisila 62b4046835 Add PLAN function for JSON table in ruleutils_15.c
Relevant PG commit:
fadb48b00e02ccfd152baa80942de30205ab3c4f
2022-08-09 06:32:38 +03:00
naisila 0cefedfa31 Adds JSON table functions in ruleutils_15.c
Relevant PG commit:
4e34747c88a03ede6e9d731727815e37273d4bc9
2022-08-09 06:32:38 +03:00
naisila 08a852fbf8 Adds three different SQL/JSON values to ruleutils_15.c
Relevant PG commits:
606948b058dc16bce494270eea577011a602810e
49082c2cc3d8167cca70cfe697afb064710828ca
2022-08-09 06:32:38 +03:00
naisila 3f618cc519 Add SQL/JSON query functions to ruleutils_15.c
Relevant PG commit:
1a36bc9dba8eae90963a586d37b6457b32b2fed4
2022-08-09 06:32:38 +03:00
naisila 946fa2c1fd Add IS JSON predicate to ruleutils_15.c
Relevant PG commit:
33a377608fc29cdd1f6b63be561eab0aee5c81f0
2022-08-09 06:32:38 +03:00
naisila 58c87df44c Adds support for MERGE in ruleutils_15.c
Relevant PG commit:
7103ebb7aae8ab8076b7e85f335ceb8fe799097c
2022-08-09 06:32:38 +03:00
naisila cc7d8cb6c9 Adds SQL/JSON constructors to ruleutils_15.c
Relevant PG commits:
f4fb45d15c59d7add2e1b81a9d477d0119a9691a
cc7401d5ca498a84d9b47fd2e01cebd8e830e558
2022-08-09 06:32:38 +03:00
naisila d72f53d1e8 Adds grammar support for SQL/JSON clauses in ruleutils_15.c
Relevant PG commit:
f79b803dcc98d707450e158db3638dc67ff8380b
2022-08-09 06:32:38 +03:00
naisila f1e0c54e57 Fix assorted missing logic for GroupingFunc nodes in ruleutils_15.c
Relevant PG commit:
2591ee8ec44d8cbc8e1226550337a64c684746e4
2022-08-09 06:32:38 +03:00
naisila aeb05dd9c8 Fix ruleutils_15.c's dumping of whole-row Vars in more contexts
Relevant PG commit:
43c2175121c829c8591fc5117b725f1f22bfb670
2022-08-09 06:32:38 +03:00
naisila 695324a85a Fix display of SQL-std func's args in INSERT/SELECT in ruleutils_15.c
Relevant PG commit:
a8d8445a7b2f80f6d0bfe97b19f90bd2cbef8759
2022-08-09 06:32:38 +03:00
naisila 67c0324602 Adds find_recursive_union to ruleutils_15.c
Relevant PG commit:
3f50b82639637c9908afa2087de7588450aa866b
2022-08-09 06:32:38 +03:00
naisila 45805e40cd Change varno from Index (unsigned int) to int in ruleutils_15.c
Relevant PG commit:
e3ec3c00d85bd2844ffddee83df2bd67c4f8297f
2022-08-09 06:32:38 +03:00
naisila 7c8a7fe8ea Clean up code using "(expr) ? true : false" in ruleutils_15.c
Relevant PG commit:
fd0625c7a9c679c0c1e896014b8f49a489c3a245
2022-08-09 06:32:38 +03:00
naisila 412dc7e543 Uses get_namespace_name_or_temp in ruleutils_15.c
Relevant PG commit:
48c5c9068211e0a04fd9553c8714b2821ed3ad17
2022-08-09 06:32:38 +03:00
naisila 3855f57d34 Adds copy of ruleutils_14.c as ruleutils_15.c 2022-08-09 06:32:38 +03:00
naisila 6b771e597c Adjust configure script to allow PG15 2022-08-09 06:32:38 +03:00
Naisila Puka bcbba99c96
Clean up large_table_shard_count guc leftovers (#6144) 2022-08-09 06:31:57 +03:00
Naisila Puka 3806f6f6a9
Add ORDER BY in pg_locks to avoid output order diffs (#6145) 2022-08-09 06:02:07 +03:00
Naisila Puka ce944c3c0f
Remove bogus guc citus.compression (#6142) 2022-08-09 05:21:32 +03:00
Hanefi Onaldi 1c94ebec88
Remove all references to .source files 2022-08-09 01:23:56 +03:00