Commit Graph

6843 Commits (b4989568016d7f07b13fd299a08390963f4e3bb1)

Author SHA1 Message Date
zhjwpku b10320be6f
fix wrong type convertion (#7116)
partitionMethod and replicationModel are both type char, there seems
meaningless to convert them to type Oid implicitly.
2023-08-17 13:53:43 +02:00
Gokhan Gulbiz c0a19983d8
Update matrix 2023-08-17 14:52:06 +03:00
Gokhan Gulbiz f02882765a
Env var fix 2023-08-17 14:42:11 +03:00
Gokhan Gulbiz 1bc08df1a0
Naming 2023-08-17 14:38:02 +03:00
Gokhan Gulbiz fb937db14a
Add PG_MAJOR as Github Env Var 2023-08-17 14:31:52 +03:00
Gokhan Gulbiz f14938a095
Add PG_MAJOR as Github Env Var 2023-08-17 14:30:20 +03:00
Gokhan Gulbiz 5afb9a1496
Add PG_MAJOR as Github Env Var 2023-08-17 14:18:03 +03:00
Gokhan Gulbiz 4dd0a8aa62
Test 2023-08-17 13:57:43 +03:00
Gokhan Gulbiz c77306d26d
Try to evaluate env variable case-sensitivity 2023-08-17 13:50:18 +03:00
Gokhan Gulbiz 20f8baabe8
Do not override PG_MAJOR 2023-08-17 13:45:07 +03:00
Gokhan Gulbiz 0e3a292204
Use env variable for PG_MAJOR 2023-08-17 13:44:16 +03:00
Gokhan Gulbiz 0fd2e9bfa2
Reorganize failtester matrix 2023-08-17 13:11:03 +03:00
Gokhan Gulbiz 97a8a31cef
Include check-failure in matrix 2023-08-17 12:53:55 +03:00
Gokhan Gulbiz e5b55814b3
Merge remote-tracking branch 'origin/main' into circleci-gha-migration 2023-08-17 12:51:03 +03:00
Gokhan Gulbiz f4bc9796f2
Fetch all branches to be able to run git diff.. 2023-08-17 12:31:30 +03:00
Gokhan Gulbiz 0ba0c685b3
Set user to root for sql snapshots 2023-08-17 12:20:46 +03:00
Gokhan Gulbiz 6127fe3556
Fix newline issues 2023-08-17 12:20:27 +03:00
Gokhan Gulbiz cf62647396
Safe directory configuration 2023-08-17 12:17:17 +03:00
Gokhan Gulbiz 812077e74d
Change default user to circleci 2023-08-17 12:11:30 +03:00
Gokhan Gulbiz c1ff845ae3
Run container image with root user 2023-08-17 12:07:56 +03:00
Gokhan Gulbiz 01e2596b2c
Fix for check-sql-snapshots and check-style issues 2023-08-17 12:06:28 +03:00
Gokhan Gulbiz 91e3229be7
Stack trace and upload covarage run always 2023-08-17 12:01:44 +03:00
Naisila Puka a5ce601c07
Bump PG14 and PG15 versions for CI tests (#7111)
Postgres got minor updates on Aug10, this commit starts using the
images with the latest version for our tests, namely 14.9 and 15.4.

Depends on https://github.com/citusdata/the-process/pull/147

For CI images, we needed to regenerate Pipfile.lock, mainly because of an issue
with pyyaml version: https://github.com/yaml/pyyaml/issues/601

We also needed to remove a failing test in subquery_local_tables.sql.
Relevant PG commit:
b0e390e6d1
b0e390e6d1d68b92e9983840941f8f6d9e083fe0
Issue: https://github.com/citusdata/citus/issues/7119
For joins where consider_join_pushdown is false, we cannot get the
information that we used to get, which prevents doing the distributed planning.
Team already contacted PG committers for this.
Until then, we remove the test from the schedule.
2023-08-17 11:53:19 +03:00
Gokhan Gulbiz 9c47dbabd8
Matrix customization for failtester 2023-08-17 11:53:01 +03:00
Naisila Puka 9fa72545e2
PG16 compatibility - fix AM dependency and grant's admin option (#7113)
PG16 compatibility - part 11

Check out part 1 42d956888d
part 2 0d503dd5ac
part 3 907d72e60d
part 4 7c6b4ce103
part 5 6056cb2c29
part 6 b36c431abb
part 7 ee3153fe50
part 8 2c50b5f7ff
part 9 b2291374b4
part 10 a2315fdc67

This commit is in the series of PG16 compatibility commits. It fixes
AM dependency and grant's admin option:

- Fix with admin option in grants 
grantstmt->admin_opt no longer exists in PG16
instead, grantstmt has a list of options, one of them is admin option.
Relevant PG commit:
e3ce2de09d
e3ce2de09d814f8770b2e3b3c152b7671bcdb83f

- Fix pg_depend entry to AMs after ALTER TABLE .. SET ACCESS METHOD 
Relevant PG commit:
97d8910104
97d89101045fac8cb36f4ef6c08526ea0841a596


More PG16 compatibility commits are coming soon:
We are very close to merging "PG16Beta3 Support - Regression tests sanity"
2023-08-17 11:22:34 +03:00
Naisila Puka 71c475af52
Fix GetUndistributableDependency (#7124)
This is a leftover task from merging enterprise to community.
Roles are distributed in community now, the comment is stale and the
check is redundant.
2023-08-17 10:57:22 +03:00
Gokhan Gulbiz a52e4a09ca
Fix artifacts path 2023-08-17 10:17:07 +03:00
Gokhan Gulbiz 0ed6ea1d4f
Minor fixes 2023-08-16 20:06:08 +03:00
Gokhan Gulbiz fbe76753b0
Fix downloaded artifacts folder 2023-08-16 19:42:07 +03:00
Gokhan Gulbiz 6005499df5
Fix invalid attribute 2023-08-16 19:31:06 +03:00
Gokhan Gulbiz acc18ec533
download artifact path fix 2023-08-16 19:29:10 +03:00
Gokhan Gulbiz 204df4bb4d
download artifact path fix 2023-08-16 19:07:23 +03:00
Gokhan Gulbiz 58da0c56c8
Artifact upload optimization 2023-08-16 19:04:13 +03:00
Gokhan Gulbiz 80db3f11c2
naming 2023-08-16 18:56:28 +03:00
Gokhan Gulbiz a5a65ccb4b
Fix container image suffix 2023-08-16 18:54:58 +03:00
Gokhan Gulbiz 6f883f3f80
Use root user for container images 2023-08-16 18:46:05 +03:00
Gokhan Gulbiz 1d21f505f2
Fix parameter binding 2023-08-16 18:43:37 +03:00
Gokhan Gulbiz 13b62fe32f
Fix file path 2023-08-16 18:40:12 +03:00
Gokhan Gulbiz 488271f2ad
Fix image suffix. 2023-08-16 18:32:54 +03:00
Gokhan Gulbiz 2c9375b7bf
Initial commit for citus testing on GHA 2023-08-16 18:20:30 +03:00
Gokhan Gulbiz 48a987e12c
Reorganize upload artifact folder structure 2023-08-16 18:19:32 +03:00
Gokhan Gulbiz b3adf9c462
Reorganize env variables and inputs. 2023-08-16 18:18:51 +03:00
Naisila Puka a2315fdc67
PG16 compatibility - new options to vacuum and analyze (#7114)
PG16 compatibility - part 10

Check out part 1 42d956888d
part 2 0d503dd5ac
part 3 907d72e60d
part 4 7c6b4ce103
part 5 6056cb2c29
part 6 b36c431abb 
part 7 ee3153fe50
part 8 2c50b5f7ff
part 9 b2291374b4

This commit is in the series of PG16 compatibility commits. It:

- Adds buffer_usage_limit to vacuum and analyze
- Adds process_main, skip_database_stats, only_database_stats to vacuum

Important Note: adding these options is actually required for check-vanilla tests to succeed.
However, in concept, this PR belongs to "PG16 new features",
rather than "PG16 regression tests sanity"

Relevant PG commits:
1cbbee0338
1cbbee03385763b066ae3961fc61f2cd01a0d0d7
4211fbd841
4211fbd8413b26e0abedbe4338aa7cda2cd469b4
a46a7011b2
a46a7011b27188af526047a111969f257aaf4db8

More PG16 compatibility commits are coming soon ...
2023-08-16 16:18:28 +03:00
Naisila Puka b982f2dee6
Changes PROCESS_TOAST default value to true (#7122)
Process toast should be true by default, like in PG.
2023-08-16 14:40:24 +03:00
Naisila Puka b2291374b4
PG16 compatibility - more test output fixes (#7112)
PG16 compatibility - part 9

Check out part 1 42d956888d
part 2 0d503dd5ac
part 3 907d72e60d
part 4 7c6b4ce103
part 5 6056cb2c29
part 6 b36c431abb
part 7 ee3153fe50
part 8 2c50b5f7ff

This commit is in the series of PG16 compatibility commits. It makes some changes
to our tests in order to be compatible with the following in PG16:

- Fix multi_subquery_in_where_reference_clause test 
somehow PG got rid of the outer join
(e.g., explain doesn't show outer joins),
hence we can pushdown the subquery.
Changing to users_reference_table

- Fix unqualified column names for views in PG16 
Relevant PG commit:
47bb9db759
47bb9db75996232ea71fc1e1888ffb0e70579b54

- Fix global_cancel test 
Error wording and detail changed
Relevant PG commit:
2631ebab7b
2631ebab7b18bdc079fd86107c47d6104a6b3c6e

- Fix local_table_join_test with lateral subquery 
Possible relevant PG commit:
ae89129aa3
ae89129aa3555c263b8c3ccc4c0f1ef7e46201aa
I removed the where clause and the limit count error was hit again.
With the where clause the query unexpectedly works.

- Fix test outputs 
Relevant PG commits:
-- 1349d2790b
-- f4c7c410ee
For multi_explain and multi_complex_count_distinct there were too many places
touched so I just added an alternative test output.
For the other tests I modified the problematic parts.

More PG16 compatibility commits are coming soon ...
2023-08-15 13:49:25 +03:00
Naisila Puka 2c50b5f7ff
PG16 compatibility - varnullingrels additions (#7107)
PG16 compatibility - part 7

Check out part 1 42d956888d
part 2 0d503dd5ac
part 3 907d72e60d
part 4 7c6b4ce103
part 5 6056cb2c29
part 6 b36c431abb
part 7 ee3153fe50

This commit is in the series of PG16 compatibility commits. PG16 introduced a new entry
varnnullingrels to Var, which represents our partkey in pg_dist_partition.
This commit does the necessary changes in Citus to support this.
Relevant PG commit:
2489d76c49
2489d76c4906f4461a364ca8ad7e0751ead8aa0d

More PG16 compatibility commits are coming soon ...
2023-08-15 13:07:55 +03:00
Naisila Puka ee3153fe50
PG16 compatibility - more test output fixes (#7108)
PG16 compatibility - part 7

Check out part 1 42d956888d
part 2 0d503dd5ac
part 3 907d72e60d
part 4 7c6b4ce103
part 5 6056cb2c29
part 6 b36c431abb

This commit is in the series of PG16 compatibility commits. It makes some changes
to our tests in order to be compatible with the following in PG16:

- PG16 removed logic for converting a table to a view 
Relevant PG commit:
b23cd185fd
b23cd185fd5410e5204683933f848d4583e34b35

- Fix changed error message in certificate verification 
Relevant PG commit:
8eda731465
8eda7314652703a2ae30d6c4a69c378f6813a7f2

- Fix backend type order in tests 
Relevant PG commit:
0c679464a8
0c679464a837079acc75ff1d45eaa83f79e05690

- Reduce log level to omit extra NOTICE in create collation in PG16 
Relevant PG commit:
a14e75eb0b
a14e75eb0b6a73821e0d66c0d407372ec8376105
That commit made LOCALE parameter apply regardless of the
provider used, and it printed the following notice:
NOTICE:  using standard form "und-u-ks-level2" for ICU locale "@colStrength=secondary"
We omit this notice to omit output change between pg versions.

- Fix columnar_memory test 
TopMemoryContext now has more children contexts
Possible relevant PG commit:
9d3ebba729
9d3ebba729ebaf5882a92f0f5f662a3312037605
memusage is now around 8.5 MB, whereas it was less than 8MB before.
To avoid differences between PG versions, I changed the test to compare
to less than 9 MB. It still reflects very well the improvement from
28MB.

- Alternative test output for GRANTOR values in pg_auth_members 
grantor changed in PG16
Relevant PG commit:
ce6b672e44
ce6b672e4455820a0348214be0da1a024c3f619f

- Remove redundant grouping columns from our tests 
Relevant PG commit:
8d83a5d0a2
8d83a5d0a2673174dc478e707de1f502935391a5

- Fix tests with different order in Filters 
Relevant PG commit:
2489d76c49
2489d76c4906f4461a364ca8ad7e0751ead8aa0d

More PG16 compatibility commits are coming soon ...
2023-08-09 18:04:32 +03:00
Naisila Puka b36c431abb
PG16 compatibility - Rework PlannedStmt and Query's Permission Info (#7098)
PG16 compatibility - Part 6

Check out part 1 42d956888d
part 2 0d503dd5ac
part 3 907d72e60d
part 4 7c6b4ce103
part 5 6056cb2c29

This commit is in the series of PG16 compatibility commits.
It handles the Permission Info changes in PG16. See below:

The main issue lies in the following entries of PlannedStmt: {
   rtable
   permInfos
}

Each rtable has an int perminfoindex, and its actual permission info is
obtained through the following:
permInfos[perminfoindex]
We had crashes because perminfoindexes were not updated in the finalized
planned statement after distributed planner hook.
So, basically, everywhere we set a query's or planned statement's rtable
entry, we need to set the rteperminfos/permInfos accordingly.

Relevant PG commits:
a61b1f7482
a61b1f74823c9c4f79c95226a461f1e7a367764b
b803b7d132
b803b7d132e3505ab77c29acf91f3d1caa298f95

More PG16 compatibility commits are coming soon ...
2023-08-09 15:23:00 +03:00
Naisila Puka 6056cb2c29
PG16 compatibility - get_relation_info hook to avoid crash from adjusted partitioning (#7099)
PG16 compatibility - Part 5

Check out part 1 42d956888d
part 2 0d503dd5ac
part 3 907d72e60d
part 4 7c6b4ce103

This commit is in the series of PG16 compatibility commits. Find the explanation below:

If we allow to adjust partitioning, we get a crash when accessing
amcostestimate of partitioned indexes, because amcostestimate is NULL
for them. The following PG commit is the culprit:
3c569049b7
3c569049b7b502bb4952483d19ce622ff0af5fd6
Previously, partitioned indexes would just be ignored.
Now, they are added in the list. However get_relation_info expects the
tables which have partitioned indexes to have the inh flag set properly.
AdjustPartitioningForDistributedPlanning plays with that flag, hence we
don't get the desired behaviour.
The hook is simply removing all partitioned indexes from the list.

More PG16 compatibility commits are coming soon ...
2023-08-08 15:51:21 +03:00
Gokhan Gulbiz f5c680fdc9
Reorder required params. 2023-08-07 15:27:34 +03:00