Nils Dijk
b5f3ed6523
support 2 level of objecttypes
2020-02-07 16:03:26 +01:00
Nils Dijk
a52ef4ea35
extract collation DistributeObjectOps
2020-02-07 01:49:54 +01:00
Nils Dijk
7fe71eb124
extract rename DistributeObjectOps
2020-02-07 01:45:29 +01:00
Nils Dijk
4ca33dde64
extract schema DistributeObjectOps
2020-02-07 01:43:13 +01:00
Nils Dijk
91e01a657b
extract index DistributeObjectOps
2020-02-07 01:40:41 +01:00
Nils Dijk
f497a7a994
extract cluster DistributeObjectOps
2020-02-07 01:37:54 +01:00
Nils Dijk
cc86236fa1
extract table DistributeObjectOps
2020-02-07 01:36:56 +01:00
Nils Dijk
2e0b395c26
extract role DistributeObjectOps
2020-02-07 01:30:54 +01:00
Nils Dijk
e1f9f37206
extract policy DistributeObjectOps
2020-02-07 01:29:11 +01:00
Nils Dijk
6a5b126910
extract function DistributeObjectOps
2020-02-07 01:25:24 +01:00
Nils Dijk
ee964dde3d
extract extension DistributeObjectOps
2020-02-07 01:21:37 +01:00
Nils Dijk
28c523cb1a
move distops for functionesques to commands/function.c
2020-02-07 01:13:09 +01:00
Nils Dijk
000f9032a2
move type related distops to commands/type.c
2020-02-07 00:56:07 +01:00
Nils Dijk
62a6cd63b7
Ensure unique names for section pointers accross files
2020-02-07 00:42:27 +01:00
Nils Dijk
91a7047b6d
use linker for every distops
2020-02-07 00:16:49 +01:00
Nils Dijk
fa6f2ed382
beginning on using linker for dist ops collection
2020-02-06 18:44:48 +01:00
Nils Dijk
d5433400f9
Fix: Unnecessary repartition on joins with more than 4 tables ( #3473 )
...
DESCRIPTION: Fix unnecessary repartition on joins with more than 4 tables
In 9.1 we have introduced support for all CH-benCHmark queries by widening our definitions of joins to include joins with expressions in them. This had the undesired side effect of Q5 regressing on its plan by implementing a repartition join.
It turned out this regression was not directly related to widening of the join clause, nor the schema employed by CH-benCHmark. Instead it had to do with 4 or more tables being joined in a chain. A chain meaning:
```sql
SELECT * FROM a,b,c,d WHERE a.part = b.part AND b.part = c.part AND ....
```
Due to how our join order planner was implemented it would only keep track of 1 of the partition columns when comparing if the join could be executed locally. This manifested in a join chain of 4 tables to _always_ be executed as a repartition join. 3 tables joined in a chain would have the middle table shared by the two outer tables causing the local join possibility to be found.
With this patch we keep a unique list (or set) of all partition columns participating in the join. When a candidate table is checked for a possibility to execute a local join it will check if there is any partition column in that set that matches an equality join clause on the partition column of the candidate table.
By taking into account all partition columns in the left relation it will now find the local join path on >= 4 tables joined in a chain.
fixes : #3276
2020-02-06 15:07:07 +01:00
Philip Dubé
345455d765
Merge pull request #3461 from citusdata/fix-adaptive-repartition-join-leak
...
Fix adaptive repartition join leak
2020-02-05 17:43:23 +00:00
Philip Dubé
ecad4aa5e6
Fill in jobIdList field of DistributedExecution
...
Pass down jobIdList from ExecuteTasksInDependencyOrder
Also clean up comment for ExecuteTaskListOutsideTransaction
2020-02-05 17:32:22 +00:00
Philip Dubé
c252811884
dont: don't, wont: won't, acylic: acyclic
2020-02-05 17:32:22 +00:00
Halil Ozan Akgül
fff3866844
Merge pull request #3472 from citusdata/grant_on_public_schema
...
Fixes the bug of grants on public schema propagation
2020-02-05 18:40:45 +03:00
Halil Ozan Akgul
8ce4f20061
Fixes the bug of grants on public schema propagation
2020-02-05 18:05:58 +03:00
SaitTalhaNisanci
89dc7d5e41
remove outdated information in citus upgrade readme ( #3471 )
2020-02-05 13:31:02 +03:00
Marco Slot
8c972dc614
Merge pull request #3470 from citusdata/insert_select_issue
...
Rename discarded target list items in repartitioned INSERT/SELECT
2020-02-05 11:21:05 +01:00
Marco Slot
64ca5c9acb
Add additional INSERT..SELECT repartition tests
2020-02-05 11:06:44 +01:00
Hadi Moshayedi
9dd14fa90d
Rename discarded target list items in repartitioned INSERT/SELECT
2020-02-05 11:06:44 +01:00
Önder Kalacı
1aa89d3242
Merge pull request #3467 from citusdata/fix_crash_numeric
...
Improve single hash-repartitioning with numeric (or non-int) types
2020-02-05 09:12:41 +01:00
Onder Kalaci
c7e2309f4c
Improve single hash-repartitioning with numeric (or non-int) types
...
We used to treat the shard interval array that we passed as numeric[].
However, it should be int[], as the shard ranges are int[].
2020-02-04 20:30:04 +01:00
Hadi Moshayedi
3826e81056
Merge pull request #3460 from citusdata/fix_permissions
...
Create merge task temporary schemas with current user
2020-02-04 10:05:02 -08:00
Hadi Moshayedi
bc1a800f70
Use current user for repartition join temp schemas.
...
Otherwise when using a less privileged user we might get
errors when trying to create the schema.
2020-02-04 09:48:20 -08:00
Hadi Moshayedi
13d27cb280
Merge pull request #3451 from citusdata/insert_select_partitioned_joins_2
...
Don't error out when subquery in INSERT/SELECT is not router plannable.
2020-02-03 13:29:04 -08:00
Hadi Moshayedi
890e23e734
Update multi_insert_select_non_pushable_queries
2020-02-03 13:13:30 -08:00
Hadi Moshayedi
5818bcd27e
Update with_dml
2020-02-03 13:13:30 -08:00
Hadi Moshayedi
46f60e1ac0
Update multi_insert_select_conflict
2020-02-03 13:13:30 -08:00
Hadi Moshayedi
05f58c9ec5
Update multi_insert_select
2020-02-03 13:13:30 -08:00
Hadi Moshayedi
264530311a
Don't use distributed insert/select for repartitioned joins
2020-02-03 13:13:30 -08:00
Marco Slot
2e8c118a8f
Make connection assignment more liberal after parallel join wit… ( #3456 )
...
Make connection assignment more liberal after parallel join with reference table
2020-02-03 20:11:20 +01:00
Onder Kalaci
8be1b0112d
Add failure test for parallel reference table join
2020-02-03 19:35:07 +01:00
Marco Slot
be77d3304f
Fixup
2020-02-03 11:59:55 +01:00
Marco Slot
a6bd6c657e
Add tests that exercise parallel reference table join logic
2020-02-03 11:54:29 +01:00
Marco Slot
b0fd6aa006
If reference tables was read over multiple connections, do not assign connection
2020-02-03 11:54:29 +01:00
Önder Kalacı
508b392304
Merge pull request #3454 from citusdata/recursively_check_params
...
Make sure to recursively go into the functions to search for PARAMs
2020-02-03 11:27:12 +01:00
Onder Kalaci
2f274a4fce
Make sure to go deeper into the functions to search for PARAMs
...
For example, a PARAM might reside inside a function just because
of a casting of a type such as the follows:
```
{FUNCEXPR
:funcid 1740
:funcresulttype 1700
:funcretset false
:funcvariadic false
:funcformat 2
:funccollid 0
:inputcollid 0
:args (
{PARAM
:paramkind 0
:paramid 15
:paramtype 23
:paramtypmod -1
:paramcollid 0
:location 356
}
)
```
We should recursively check the expression before bailing out.
2020-02-03 09:36:12 +01:00
Hadi Moshayedi
1adc293286
Merge pull request #3450 from citusdata/fix-ci-locale-issues
...
diff-filter: use utf8 encoding, not ascii
2020-01-30 21:57:18 -08:00
Philip Dubé
db2eac5658
diff-filter: use utf8 encoding, not ascii
2020-01-31 00:03:17 +00:00
Hadi Moshayedi
b0f9f94a52
Merge pull request #3448 from citusdata/insert_select_leak
...
Add insert/select connection leak tests
2020-01-30 14:20:14 -08:00
Hadi Moshayedi
9d988b3437
Add insert/select connection leak tests
2020-01-30 14:09:07 -08:00
Philip Dubé
461facb149
Merge pull request #3447 from citusdata/fix-group-by-distribution-no-group-by
...
Intermediate row pull up should be false whenever we can fully push down grouping
2020-01-30 21:31:34 +00:00
Philip Dubé
d43c80d4d8
pullUpIntermediateRows should not be true when groupedByDisjointPartitionColumn is true
...
This was causing 'SELECT id, stdev(y_int) FROM tbl GROUP BY id' to push down stddev without group by
2020-01-30 21:18:08 +00:00
Philip Dubé
d7204c9696
Merge pull request #3423 from citusdata/remove-directory-even-if-new-files-added
...
CitusRemoveDirectory: loop when directory is not empty
2020-01-30 20:21:47 +00:00