Nils Dijk
3e88dde672
partial group by optimization
2021-12-01 12:54:44 +01:00
Nils Dijk
ffc73634a8
prepare group optimizations to be extensible
2021-12-01 12:54:43 +01:00
Nils Dijk
4542265dbf
try repartition grouping
2021-12-01 12:54:43 +01:00
Nils Dijk
1eb418de89
refactor agg pushdown and prevent illegal repartition paths to be generated
2021-12-01 12:54:43 +01:00
Nils Dijk
a55331d934
iterate on cost model
2021-12-01 12:54:43 +01:00
Nils Dijk
0341d9fe80
reindent pathbased planner
2021-12-01 12:54:43 +01:00
Nils Dijk
51d498e2c2
wip for repartition join
2021-12-01 12:54:43 +01:00
Nils Dijk
071cae2f6d
fix check for outer rel to take mapped varno's into account
2021-12-01 12:54:42 +01:00
Nils Dijk
2a67d0057d
implement parameterized inner loops
2021-12-01 12:54:42 +01:00
Nils Dijk
9a4b1c2a49
disable postgis dependency
2021-12-01 12:54:42 +01:00
Nils Dijk
29010333cf
make compatible with pg14
2021-12-01 12:54:42 +01:00
Nils Dijk
7ee4646e96
use patternmatcher for join pushdown
2021-12-01 12:54:42 +01:00
Nils Dijk
f4c5f9e2ea
remove liblwgeom from dependencies in citus
2021-12-01 12:54:41 +01:00
Nils Dijk
089650db11
rewriting tree to distributed plan
2021-12-01 12:54:41 +01:00
Nils Dijk
1aa86f6b1c
more simplification and removal of unused code
2021-12-01 12:54:41 +01:00
Nils Dijk
4362502bb5
generic way of matching fields for Var/Const
2021-12-01 12:54:41 +01:00
Nils Dijk
2b4072ebe8
rework the capture logic
2021-12-01 12:54:41 +01:00
Nils Dijk
766ed2ad33
collapse closing braces as suggested by dim
2021-12-01 12:54:40 +01:00
Nils Dijk
cc84b48fd1
formatting and cleanup
2021-12-01 12:54:40 +01:00
Nils Dijk
e3953b2459
prototype of pattern matcher
2021-12-01 12:54:40 +01:00
Nils Dijk
bac16a3785
basic geo partitioning planning
2021-12-01 12:54:40 +01:00
Nils Dijk
ec994a3a9c
add sql script to initialize a geo distributed table
2021-12-01 12:54:40 +01:00
Nils Dijk
ff187ce5e1
expand shard model for geo distribution
2021-12-01 12:54:40 +01:00
Nils Dijk
6bc9209baf
update pg and citus
2021-12-01 12:54:39 +01:00
Nils Dijk
b5ac6d2048
add broadcast optimization rule
2021-12-01 12:54:39 +01:00
Nils Dijk
f952d9c614
easily add new join optimization functions
2021-12-01 12:54:39 +01:00
Nils Dijk
6b8e0a6105
fix subtle bug in adding to a list we are iterating over
2021-12-01 12:54:39 +01:00
Nils Dijk
23b11b470b
add paths for joins instead of rewriting them
2021-12-01 12:54:39 +01:00
Nils Dijk
84068f79b2
fix refactor and renames
2021-12-01 12:54:38 +01:00
Nils Dijk
2e178d21d6
fix targetlist to prevent projection that failed
2021-12-01 12:54:38 +01:00
Nils Dijk
5cef5b20a3
simple group by push down
2021-12-01 12:54:38 +01:00
Nils Dijk
e570149c0a
propagate partition value during joins
2021-12-01 12:54:38 +01:00
Nils Dijk
30d9380f46
implement beginning of shard pruning
2021-12-01 12:54:38 +01:00
Nils Dijk
ffa33b096a
Add support for optimising nested loop a bit (primary key lookup).
2021-12-01 12:54:38 +01:00
Nils Dijk
2937d4edc9
Fix misread of colocation id
2021-12-01 12:54:37 +01:00
Nils Dijk
f858efd2f2
Implement beginnings of join pushdown
2021-12-01 12:54:37 +01:00
Nils Dijk
b361386e05
Record the colocation id on the DU
2021-12-01 12:54:37 +01:00
Nils Dijk
8d73ff6779
Define a custom path structure
2021-12-01 12:54:37 +01:00
Nils Dijk
9acf41a9d9
Remove RTE reference from DU
2021-12-01 12:54:37 +01:00
Nils Dijk
00083afeaa
Use path object to recreate range table entry etc
2021-12-01 12:54:36 +01:00
Nils Dijk
285f1b1d1e
move path based planner to its own files
2021-12-01 12:54:36 +01:00
Nils Dijk
fc0e6a1094
hacky hack for double distributed join
2021-12-01 12:54:36 +01:00
Nils Dijk
aa3f283d02
support multiple remote scans
2021-12-01 12:54:36 +01:00
Nils Dijk
0d55755951
recreate query struct for sub paths
2021-12-01 12:54:36 +01:00
Nils Dijk
8f7037da63
beginning of set_rel_pathlist_hook to plan query on distributed table
2021-12-01 12:54:34 +01:00
Önder Kalacı
ab365a335d
Merge pull request #5486 from citusdata/disable_node_async
...
Allow disabling node(s) when multiple failures happen
2021-12-01 10:48:49 +01:00
Onder Kalaci
549edcabb6
Allow disabling node(s) when multiple failures happen
...
As of master branch, Citus does all the modifications to replicated tables
(e.g., reference tables and distributed tables with replication factor > 1),
via 2PC and avoids any shardstate=3. As a side-effect of those changes,
handling node failures for replicated tables change.
With this PR, when one (or multiple) node failures happen, the users would
see query errors on modifications. If the problem is intermitant, that's OK,
once the node failure(s) recover by themselves, the modification queries would
succeed. If the node failure(s) are permenant, the users should call
`SELECT citus_disable_node(...)` to disable the node. As soon as the node is
disabled, modification would start to succeed. However, now the old node gets
behind. It means that, when the node is up again, the placements should be
re-created on the node. First, use `SELECT citus_activate_node()`. Then, use
`SELECT replicate_table_shards(...)` to replicate the missing placements on
the re-activated node.
2021-12-01 10:19:48 +01:00
Halil Ozan Akgül
6feb009834
Merge pull request #5499 from citusdata/fix_enterprise_fails
...
Fix enterprise fails
2021-11-30 16:16:30 +03:00
Halil Ozan Akgul
316274b5f0
Add normalize.sed item for multi_fix_partition_shard_index_names test
2021-11-30 13:28:41 +03:00
Halil Ozan Akgul
11072b4cb8
Normalize create role command in drop_partitioned_table test
2021-11-30 12:46:22 +03:00