Commit Graph

6933 Commits (bd10f1ac1a82f95f8c23e7af690a2f43f9313b38)

Author SHA1 Message Date
naisila bd10f1ac1a
Ruleutils_17 Fix another couple of outdated comments for MERGE RETURNING.
Relevant PG commit:
5c5bccef211cfc98e0d6c4bc1af40a33c8ac2488
5c5bccef21
2024-07-25 16:46:45 +02:00
naisila 8e6dc39b80
Ruleutils_17 Fix an assortment of typos
Relevant PG commit:
a42fc1c903b54ba94374e5e0c08905b9a1479f19
a42fc1c903
2024-07-25 16:46:45 +02:00
naisila c9f9d37ffa
Ruleutils_17 Fixup various StringInfo function usages
Relevant PG commit:
8461424fd717877ead0706984ef9b6440b2a97ad
8461424fd7
2024-07-25 16:46:44 +02:00
naisila 9c067548aa
Ruleutils_17 JSON_TABLE: Add support for NESTED paths and columns
Relevant PG commit:
bb766cde63b4f624d029b34c9cdd3d0a94fd5b46
bb766cde63
2024-07-25 16:46:43 +02:00
naisila 661fcd6b57
Ruleutils_17 Fix JsonExpr deparsing to emit QUOTES and WRAPPER correctly
Relevant PG commit:
f6a2529920cff76cb6e37ea840122574404dde8b
f6a2529920
2024-07-25 16:46:43 +02:00
naisila eefe0aeb4d
Ruleutils_17 Implement ALTER TABLE ... SPLIT PARTITION ... command
Relevant PG commit:
87c21bb9412c8ba2727dec5ebcd74d44c2232d11
87c21bb941
2024-07-25 16:46:42 +02:00
naisila 662fc76ec9
Ruleutils_17 Add basic JSON_TABLE() functionality
Relevant PG commit:
de3600452b61d1bc3967e9e37e86db8956c8f577
de3600452b
2024-07-25 16:46:42 +02:00
naisila 6b4889f7b4
Ruleutils_17 Add support for MERGE ... WHEN NOT MATCHED BY SOURCE
Relevant PG commit:
0294df2f1f842dfb0eed79007b21016f486a3c6c
0294df2f1f
2024-07-25 16:46:41 +02:00
naisila d2648f4988
Ruleutils_17 Add SQL/JSON query functions
Relevant PG commit:
6185c9737cf48c9540782d88f12bd2912d6ca1cc
6185c9737c
2024-07-25 16:46:41 +02:00
naisila 68893674e0
Ruleutils_17 Improve EXPLAIN's display of SubPlan nodes and output parameters.
Relevant PG commit:
fd0398fcb099980fbedbb7750356ef234408c1c9
fd0398fcb0
2024-07-25 16:46:40 +02:00
naisila c6c1ff2681
Ruleutils_17 Add RETURNING support to MERGE.
Relevant PG commit:
c649fa24a42ba89bf5460c7110e4fc8eeca65959
c649fa24a4
2024-07-25 16:19:23 +02:00
naisila 61b92ee697
Ruleutils_17 Fix EXPLAIN output for subplans in MERGE.
Relevant PG commit:
33e729c5148c3a697abc552621b34bdc5fd497ed
33e729c514
2024-07-25 16:19:22 +02:00
naisila 2e4bc1f816
Ruleutils_17 Remove unused #include's from backend .c files
Relevant PG commit:
dbbca2cf299b81299112ca6ada671a36235ec008
dbbca2cf29
2024-07-25 16:19:22 +02:00
naisila fe3414f855
Ruleutils_17 Update copyright for 2024
Relevant PG commit:
29275b1d177096597675b5c6e7e7c9db2df8f4df
29275b1d17
2024-07-25 16:19:21 +02:00
naisila 39ec86a336
Ruleutils_17 Add support for AT LOCAL
Relevant PG commit:
97957fdbaa429c7c582d4753b108cb1e23e1b28a
97957fdbaa
2024-07-25 16:19:21 +02:00
naisila 31def248b7
Ruleutils_17 Tidy-up some appendStringInfo*() usages
Relevant PG commit:
2075ba9dc9af8833b1147996c15246e44a1e4fab
2075ba9dc9
2024-07-25 16:19:20 +02:00
naisila 37ac804749
Ruleutils_17 Track nesting depth correctly when drilling down into RECORD Vars.
Relevant PG commit:
e0e492e5a928e9c9eda01eeebadcfc36f9f8e7b7
e0e492e5a9
2024-07-25 16:19:20 +02:00
naisila 978fdc2166
Ruleutils_17 Add more SQL/JSON constructor functions
Relevant PG commit:
03734a7fed7d924679770adb78a7db8a37d14188
03734a7fed
2024-07-25 16:19:19 +02:00
naisila 728fe5c921
Add ruleutils_17 as copy of ruleutils_16, define PG_VERSION_18 2024-07-25 13:49:18 +02:00
naisila 76f60a7bcc
add pg17 build test 2024-07-25 13:29:45 +02:00
naisila 140a443287
pgprocno and lxid have been combined into a struct in PGPROC
Relevant PG commits:
28f3915b73f75bd1b50ba070f56b34241fe53fd1
28f3915b73

ab355e3a88de745607f6dd4c21f0119b5c68f2ad
ab355e3a88

024c521117579a6d356050ad3d78fdc95e44eefa
024c521117
2024-07-25 13:17:41 +02:00
naisila ec9beb543c
write compat for create_foreignscan_path bcs of more arguments in PG17
Relevant PG commit:
9e9931d2bf40e2fea447d779c2e133c2c1256ef3
9e9931d2bf
2024-07-25 13:17:40 +02:00
naisila 651bcc705f
LIMIT_OPTION_DEFAULT has been removed as it's useless, use LIMIT_OPTION_COUNT
Relevant PG commit:
a6be0600ac3b71dda8277ab0fcbe59ee101ac1ce
a6be0600ac
2024-07-25 13:17:40 +02:00
naisila a23bf8803d
EXPLAIN (MEMORY) is added, make changes to ExplainOnePlan
Relevant PG commit:
5de890e3610d5a12cdaea36413d967cf5c544e20
5de890e361
2024-07-25 13:17:39 +02:00
naisila 49f7bffcf6
MergeAction can have 3 merge kinds (now enum) in PG17, write compat
Relevant PG commit:
0294df2f1f842dfb0eed79007b21016f486a3c6c
0294df2f1f
2024-07-25 13:17:39 +02:00
naisila e0a0874fbd
Remove no-op tuplestore_donestoring function
Relevant PG commit:
75680c3d805e2323cd437ac567f0677fdfc7b680
75680c3d80
2024-07-25 13:17:38 +02:00
naisila 022ca99a6b
getIdentitySequence now uses Relation instead of relation_id
Relevant PG commit:
509199587df73f06eda898ae13284292f4ae573a
509199587d
2024-07-25 13:17:38 +02:00
naisila dd19847c97
Use ResourceOwner to track WaitEventSet in PG17
Relevant PG commit:
50c67c2019ab9ade8aa8768bfe604cd802fe8591
50c67c2019
2024-07-25 13:17:37 +02:00
naisila 01769744b7
stxstattarget is nullable in PG17, write compat functions for it
Relevant PG commit:
012460ee93c304fbc7220e5b55d9d0577fc766ab
012460ee93
2024-07-25 13:17:37 +02:00
naisila be2bec0b61
attstattarget is nullable, define pg compatible functions for it
Relevant PG commit:
4f622503d6de975ac87448aea5cea7de4bc140d5
4f622503d6
2024-07-25 13:17:36 +02:00
naisila 4eafd3a51b
RangeVarCallbackOwnsTable was replaced by RangeVarCallbackMaintainsTable
Relevant PG commit:
ecb0fd33720fab91df1207e85704f382f55e1eb7
ecb0fd3372
2024-07-25 13:17:36 +02:00
naisila e33736eacb
makeStringConst defined in PG17
Relevant PG commit:
de3600452b61d1bc3967e9e37e86db8956c8f577
de3600452b
2024-07-25 13:17:35 +02:00
naisila e9fe257807
Define colliculocale and daticulocale since they have been renamed
Relevant PG commit:
f696c0cd5f299f1b51e214efc55a22a782cc175d
f696c0cd5f
2024-07-25 13:17:35 +02:00
naisila 2076339843
Remove ReorderBufferTupleBuf structure.
Relevant PG commit:
08e6344fd6423210b339e92c069bb979ba4e7cd6
08e6344fd6
2024-07-25 13:17:35 +02:00
naisila 2434effd85
No new node-wide object added so far in PG17, change assert 2024-07-25 13:17:34 +02:00
naisila 85a3ed04fc
Define ObjectClass for PG17+ only since it's removed
Relevant PG commit:
89e5ef7e21812916c9cf9fcf56e45f0f74034656
89e5ef7e21
2024-07-25 13:17:34 +02:00
naisila 646ff0ad12
PG17 uses streaming IO in analyze, fix scan_analyze_next_block function
Relevant PG commit
041b96802efa33d2bc9456f2ad946976b92b5ae1
041b96802e
2024-07-25 13:17:33 +02:00
naisila a816d1bc77
Remove ExecFreeExprContext call
Relevant PG commit
d060e921ea5aa47b6265174c32e1128cebdbc3df
d060e921ea
2024-07-25 13:17:33 +02:00
naisila 3f5a1e089d
Rename foreach_ macros to foreach_declared_ macros
PG17 added foreach_ptr, foreach_int and foreach_oid macros
Relevant PG commit
14dd0f27d7cd56ffae9ecdbe324965073d01a9ff
14dd0f27d7

We already have these macros, but they are different with the
PG17 ones because our macros take a DECLARED variable, whereas
the PG16 macros declare a locally-scoped loop variable themselves.

Hence I am renaming our macros to foreach_declared_
2024-07-25 13:17:32 +02:00
naisila ae3ed7dece
Enable configure 2024-07-23 17:00:50 +02:00
Hanefi Onaldi 2a263fe69a
Add changelog entries for 12.1.5 (#7648) 2024-07-17 12:21:51 +00:00
Parag Jain 3c467e6e02
Support MERGE command for single_shard_distributed Target (#7643)
This PR has following changes :
1. Enable MERGE command for single_shard_distributed targets.
2024-07-16 08:08:44 -07:00
Nils Dijk accb7d09f7
bump postgres versions in CI and dev (#7655)
Upgrade postgres versions to:
 - 14.12
 -  15.7
 - 16.3

Depends on https://github.com/citusdata/the-process/pull/158
2024-07-12 15:26:23 +00:00
Gürkan İndibay 8ac9f0fcee
Adds changelog for 12.1.4 (#7632) 2024-07-12 09:43:33 +00:00
Gürkan İndibay c603c3ed74
Removes el/7 and ol/7 as runners (#7650)
Removes el/7 and ol/7 as runners and update checkout action to v4

We use EL/7 and OL/7 runners to test packaging for these distributions.
However, for the past two weeks, we've encountered errors during the
checkout step in the pipelines. The error message is as follows:
```
/__e/node20/bin/node: /lib64/libm.so.6: version `GLIBC_2.27' not found (required by /__e/node20/bin/node)
/__e/node20/bin/node: /lib64/libstdc++.so.6: version `GLIBCXX_3.4.20' not found (required by /__e/node20/bin/node)
/__e/node20/bin/node: /lib64/libstdc++.so.6: version `CXXABI_1.3.9' not found (required by /__e/node20/bin/node)
/__e/node20/bin/node: /lib64/libstdc++.so.6: version `GLIBCXX_3.4.21' not found (required by /__e/node20/bin/node)
/__e/node20/bin/node: /lib64/libc.so.6: version `GLIBC_2.28' not found (required by /__e/node20/bin/node)
/__e/node20/bin/node: /lib64/libc.so.6: version `GLIBC_2.25' not found (required by /__e/node20/bin/node)
```
The GCC version within the EL/7 and OL/7 Docker images is 2.17, and we
cannot upgrade it. Therefore, we need to remove these images from the
packaging test pipelines. Consequently, we will no longer verify if the
code builds for EL/7 and OL/7.

However, we are not using these packaging images as runners within the
packaging infrastructure, so we can continue to use these images for
packaging.

Additional Info: I learned that Marlin team fully dropped the el/7
support so we will drop in further releases as well
2024-07-12 12:25:12 +03:00
Nils Dijk e776a7ebbb
CI: move to github container registry (#7652)
We move the CI images to the github container registry.

Given we mostly (if not solely) run these containers on github actions
infra it makes sense to have them hosted closer to where they are
needed.

Image changes: https://github.com/citusdata/the-process/pull/157
2024-07-12 11:26:38 +03:00
Jelte Fennema-Nio 58fef24142
Update Citus Technical Documentation about the rebalancer (#7638)
The sections about the rebalancer algorithm and the backround tasks were
empty.

---------

Co-authored-by: Marco Slot <marco.slot@gmail.com>
Co-authored-by: Steven Sheehy <17552371+steven-sheehy@users.noreply.github.com>
2024-06-27 16:07:38 +02:00
Jelte Fennema-Nio aaaf637a6b
Redo #7620: Fix merge command when insert value does not have source distributed column (#7627)
Related to issue #7619, #7620
Merge command fails when source query is single sharded and source and
target are co-located and insert is not using distribution key of
source.

Example
```
CREATE TABLE source (id integer);
CREATE TABLE target (id integer );

-- let's distribute both table on id field
SELECT create_distributed_table('source', 'id');
SELECT create_distributed_table('target', 'id');

MERGE INTO target t
  USING ( SELECT 1 AS somekey
          FROM source
        WHERE source.id = 1) s
  ON t.id = s.somekey
  WHEN NOT MATCHED
  THEN INSERT (id)
    VALUES (s.somekey)

ERROR:  MERGE INSERT must use the source table distribution column value
HINT:  MERGE INSERT must use the source table distribution column value
```

Author's Opinion: If join is not between source and target distributed
column, we should not force user to use source distributed column while
inserting value of target distributed column.

Fix: If user is not using distributed key of source for insertion let's
not push down query to workers and don't force user to use source
distributed column if it is not part of join.

This reverts commit fa4fc0b372.

Co-authored-by: paragjain <paragjain@microsoft.com>
2024-06-17 14:07:25 +00:00
Jelte Fennema-Nio fa4fc0b372
Revert rebase merge of #7620 (#7626)
Because we want to track PR numbers and to make backporting easy we
(pretty much always) use squash-merges when merging to master. We
accidentally used a rebase merge for PR #7620. This reverts those
changes so we can redo the merge using squash merge.

This reverts all commits from eedb607c to 9e71750fc.
2024-06-17 15:46:00 +02:00
paragjain 9e71750fcd fixing flakyness in test 2024-06-15 14:55:36 -07:00