Philip Dubé
0c5039d4e3
Remove PG10 support
2020-01-17 23:01:16 +00:00
Hadi Moshayedi
f2f7e47e98
Add namespace to the warn list
2020-01-17 22:58:34 +00:00
Hadi Moshayedi
9b3ee66a27
reindent
2020-01-17 22:58:34 +00:00
Hadi Moshayedi
823c561ea9
Compile in PG10
2020-01-17 22:58:34 +00:00
Hadi Moshayedi
e8660646e0
Fix regression test outputs
2020-01-17 22:58:34 +00:00
Hadi Moshayedi
2dceabb047
add missing include
2020-01-17 22:53:47 +00:00
Hadi Moshayedi
72858579b0
Fix regression tests.
2020-01-17 22:53:47 +00:00
Hadi Moshayedi
6094b830de
Warn we are not propagating GRANT/REVOKE to workers
2020-01-17 22:48:57 +00:00
Philip Dubé
c436f1b668
Merge pull request #3399 from citusdata/cleanup-during-avoid-marking-reference-shard-unhealthy
...
Code cleanup of adaptive_executor, connection_management, placement_connection
2020-01-17 18:51:02 +00:00
Philip Dubé
fdcc413559
Code cleanup of adaptive_executor, connection_management, placement_connection
...
adaptive_executor: sort includes, use foreach_ptr, remove lies from FinishDistributedExecution docs
connection_management: rename msecs, which isn't milliseconds
placement_connection: small typos
2020-01-17 17:44:47 +00:00
Önder Kalacı
5f34399e1f
Merge pull request #3388 from citusdata/local_prepared_on_top_lazy_deparse
...
Cache local plans on shards for Citus MX
2020-01-17 17:17:41 +01:00
Onder Kalaci
2f0ef8bc36
Apply feedback 1
2020-01-17 16:06:04 +01:00
Onder Kalaci
fd17e4578e
Improve tests
2020-01-17 16:02:57 +01:00
Onder Kalaci
0bf1e81e33
Cache local plans on BeginScan
2020-01-17 16:02:57 +01:00
Onder Kalaci
08d148d43e
Make TaskAccessesLocalNode external function
2020-01-17 16:02:57 +01:00
Onder Kalaci
5dc454cdad
Exclude localPlannedStatements from copy distributedPlan
2020-01-17 16:02:57 +01:00
Onder Kalaci
ff12df411b
Add LocalPlannedStatement struct
2020-01-17 16:02:57 +01:00
Önder Kalacı
4b5241c7b2
Merge pull request #3397 from citusdata/cte_inline_pg_11
...
Fix issues for CTE inlining on Postgres 11
2020-01-17 14:39:21 +01:00
Onder Kalaci
016f561e45
Ingest data for cte_inline tests
2020-01-17 12:46:00 +01:00
Onder Kalaci
3833a7e686
Fix issues for CTE inlining on Postgres 11
...
Comment from code:
/*
* We had to implement this hack because on Postgres11 and below, the originalQuery
* and the query would have significant differences in terms of CTEs where CTEs
* would not be inlined on the query (as standard_planner() wouldn't inline CTEs
* on PG 11 and below).
*
* Instead, we prefer to pass the inlined query to the distributed planning. We rely
* on the fact that the query includes subqueries, and it'd definitely go through
* query pushdown planning. During query pushdown planning, the only relevant query
* tree is the original query.
*/
2020-01-17 11:59:02 +01:00
Jelte Fennema
246435be7e
Lazy query deparsing executable queries ( #3350 )
...
Deparsing and parsing a query can be heavy on CPU. When locally executing
the query we don't need to do this in theory most of the time.
This PR is the first step in allowing to skip deparsing and parsing
the query in these cases, by lazily creating the query string and
storing the query in the task. Future commits will make use of this and
not deparse and parse the query anymore, but use the one from the task
directly.
2020-01-17 11:49:43 +01:00
Hadi Moshayedi
60a2bc5ec2
Merge pull request #3376 from citusdata/insert_select
...
INSERT...SELECT with re-partitioning
2020-01-17 01:36:36 -08:00
Hadi Moshayedi
6cf1c01660
Don't use repartitioned INSERT/SELECT for repartition joins
2020-01-16 23:40:31 -08:00
Hadi Moshayedi
5eeb07124f
Repartitioned INSERT/SELECT: include job id in result id prefix
2020-01-16 23:24:52 -08:00
Hadi Moshayedi
a079278b0c
Repartitioned INSERT/SELECT: Add a GUC to enable/disable it
2020-01-16 23:24:52 -08:00
Hadi Moshayedi
ce5eea4885
INSERT/SELECT: make SELECT column names unique
2020-01-16 23:24:52 -08:00
Hadi Moshayedi
3258d87f3e
Isolation tests for INSERT/SELECT repartition
2020-01-16 23:24:52 -08:00
Hadi Moshayedi
8b27a9a195
More range partitioned tests
2020-01-16 23:24:52 -08:00
Hadi Moshayedi
8635396cea
Repartitioned INSERT/SELECT: Test rollback behaviour
2020-01-16 23:24:52 -08:00
Hadi Moshayedi
43218eebf6
Failure tests for INSERT/SELECT repartition
2020-01-16 23:24:52 -08:00
Hadi Moshayedi
665b33dca1
MX tests for INSERT/SELECT repartition
2020-01-16 23:24:52 -08:00
Hadi Moshayedi
af2349f21f
Repartitioned INSERT/SELECT: Add a prepared statement test
2020-01-16 23:24:52 -08:00
Hadi Moshayedi
97072c9eb1
INSERT/SELECT: show method in EXPLAIN output
2020-01-16 23:24:52 -08:00
Hadi Moshayedi
b143d9588a
Repartitioned INSERT/SELECT: Test GROUP BY
2020-01-16 23:24:52 -08:00
Hadi Moshayedi
fe548b762f
Repartitioned INSERT/SELECT: Test CTEs
2020-01-16 23:24:52 -08:00
Hadi Moshayedi
494cc383cc
Repartitioned INSERT/SELECT: Enable RETURNING
2020-01-16 23:24:52 -08:00
Hadi Moshayedi
4b14347fc3
Tests for DML followed by insert/select repartition
2020-01-16 23:24:52 -08:00
Hadi Moshayedi
44a2aede16
Don't start a coordinated transaction on workers.
...
Otherwise transaction hooks of Citus kick in and might cause unwanted errors.
2020-01-16 23:24:52 -08:00
Hadi Moshayedi
42c3c03b85
Handle extra columns added in ExpandWorkerTargetEntry() in repartitioned INSERT/SELECT
2020-01-16 23:24:52 -08:00
Hadi Moshayedi
89463f9760
Repartitioned INSERT/SELECT: cast columns in SELECT targets
2020-01-16 23:24:52 -08:00
Hadi Moshayedi
d67a384350
Enable repartitioned INSERT/SELECT ON CONFLICT.
2020-01-16 23:24:52 -08:00
Hadi Moshayedi
b4e5f4b10a
Implement INSERT ... SELECT with repartitioning
2020-01-16 23:24:52 -08:00
Hadi Moshayedi
ced876358d
INSERT/SELECT: Refactor out AddInsertSelectCasts
2020-01-16 23:24:52 -08:00
Hadi Moshayedi
d449c1857c
INSERT/SELECT: Use ExecutePlan* instead of ExecuteSelect*
2020-01-16 23:24:52 -08:00
Philip Dubé
a53b844939
Merge pull request #3393 from citusdata/order_by_multirow_insert
...
Add ORDER BY to multi_row_insert.sql
2020-01-17 00:31:32 +00:00
Hadi Moshayedi
e30580e2bd
Add ORDER BY to multi_row_insert.sql
2020-01-16 15:20:39 -08:00
Jelte Fennema
062bda29fb
Fix bug causing errors when planning a query with multiple subq… ( #3389 )
...
Our checks to find subqueries in the rewritten query were not sufficient. When
multiple subqueries are present in the original query and some would be
replaced by a join, we could miss other subqueries that were not rewritten.
This in turn caused us not to go into the subquery planner, causing some
queries that were planning fine before to suddenly not plan anymore.
This was a regression introduced by #3171 .
2020-01-16 19:01:13 +01:00
Jelte Fennema
0ee1eab070
Make tests fail with a useful error message
2020-01-16 18:30:30 +01:00
Jelte Fennema
cb5154cf03
Add more failing tests, of which some have bad error messages
2020-01-16 18:30:30 +01:00
Marco Slot
82f1fffa28
Fix epoll_ctl() error message on connection error
2020-01-16 06:40:57 +01:00