Commit Graph

1686 Commits (901b543e20e8eac3554503b4e1b84f3c9c305c4f)

Author SHA1 Message Date
Jason Petersen b12e77ab0e
Ensure unsupported VACUUMs don't go to workers
Apparently these two blocks have been incorrect for nearly a year…
2017-11-29 16:06:50 -07:00
Marco Slot 878d8192c4
Merge pull request #1835 from citusdata/zero_shard
Round-robin over worker nodes for 0-shard router queries
2017-11-29 18:49:46 +01:00
Marco Slot 7ea718fd8d Round-robin over worker nodes for 0-shard router queries 2017-11-29 15:52:22 +01:00
Marco Slot ae67fa0e52 Do not run multi_mx_modifications in parallel with multi_mx_transaction_recovery 2017-11-29 15:35:21 +01:00
Mehmet Furkan ŞAHİN 198438978e
Merge pull request #1826 from citusdata/regression_data_ax
Regression data is reduced from 10K to 100 for 
events_table and users_table
2017-11-28 15:16:03 +03:00
mehmet furkan şahin b6eb0c2823 multi_subquery_behavioral_analytics.sql query fix by adding proper order by 2017-11-28 14:15:46 +03:00
mehmet furkan şahin 1b06b2b306 The data used in regression tests is reduced
This commit reduces the size of the data in users_table.data
and events_table.data from 10K rows to 100 rows.
2017-11-28 14:15:46 +03:00
Önder Kalacı 74b9bc409c
Merge pull request #1833 from citusdata/granular_subquery_pushdown
Refactor relation restriction equivalence checks to be more granular for subqueries
2017-11-28 11:56:26 +03:00
Onder Kalaci 05fb0dd020 Add infrastructure for filtering restriction contexts based on the input query
In subquery pushdown, we first ensure that each relation is joined with at least
on another relation on the partition keys. That's fine given that the decision
is binary: pushdown the query at all or not.

With recursive planning, we'd want to check whether any specific part
of the query can be pushded down or not. Thus, we need the ability to
understand which part(s) of the subquery is safe to pushdown. This commit
adds the infrastructure for doing that.
2017-11-28 09:58:21 +02:00
Onder Kalaci 26d9b58e9e Make sure that ExtractRangeTableRelationWalker never misses RTE_RELATION 2017-11-28 09:27:34 +02:00
Onder Kalaci 32def06ebd Split assigning RTE identities and partitioning related query modifications
Note that we used to iterate over the RTEs once for performance reasons.
However, keeping an extra copy of original query seems more costly and
hard to maintain/explain.
2017-11-28 09:27:34 +02:00
Marco Slot 271b9392e2
Merge pull request #1834 from citusdata/function_pushdown
Subqueries containing functions go through subquery pushdown
2017-11-27 22:24:48 +01:00
Marco Slot feffe86440 Subqueries containing functions go through subquery pushdown 2017-11-27 22:13:02 +01:00
Önder Kalacı 8877a68a1f
Merge pull request #1827 from citusdata/allow_non_equi_joins
Enable non equi joins in subquery pushdown
2017-11-23 17:51:02 +03:00
Onder Kalaci 48f96bf3e5 Enable non equi joins in subquery pushdown
Subquery pushdown planning is based on relation restriction
equivalnce. This brings us the opportuneatly to allow any
other joins as long as there is an already equi join between
the distributed tables.

We already allow that for joins with reference tables and
this commit allows that for joins among distributed tables.
2017-11-23 16:13:46 +02:00
Mehmet Furkan ŞAHİN ae2c86dbdd
Merge pull request #1823 from citusdata/regression_parallelization
Regression parallelization - PART 2
2017-11-23 14:37:33 +03:00
mehmet furkan şahin 032b34ea52 some more parallelization 2017-11-23 14:10:42 +03:00
Önder Kalacı 309ba9f0d6
Merge pull request #1825 from citusdata/register_custom_scans
Register custom scans
2017-11-23 13:00:58 +03:00
Onder Kalaci 16421f089f Register citus custom scan nodes 2017-11-23 11:38:33 +02:00
Onder Kalaci 83c1143505 Refactor custom scan related codes
In this commit, we don't change any codes, only create a new
file and move the related functions and types there.
2017-11-23 11:38:12 +02:00
Marco Slot 0799527d14
Merge pull request #1574 from citusdata/auto_2pc_recovery
Auto-recover 2PCs, enable 2PC by default
2017-11-23 09:35:38 +01:00
Marco Slot 20a526d5c4 Fix memory leak in ListToHashSet 2017-11-22 11:26:58 +01:00
Marco Slot f4ceea5a3d Enable 2PC by default 2017-11-22 11:26:58 +01:00
Marco Slot 8486f76e15 Auto-recover 2PC transactions 2017-11-22 11:26:58 +01:00
Marco Slot 64a5d5da22
Merge pull request #1814 from citusdata/rename_multiplan
Rename MultiPlan to DistributedPlan
2017-11-22 09:57:55 +01:00
Marco Slot 6ba3f42d23 Rename MultiPlan to DistributedPlan 2017-11-22 09:36:24 +01:00
Marco Slot e3bd34727f
Merge pull request #1805 from citusdata/immutable_functions
Support immutable table functions as reference tables
2017-11-21 14:48:30 +01:00
Marco Slot 0ad39b36fe Treat immutable table functions and constant subqueries as reference tables 2017-11-21 14:15:22 +01:00
Önder Kalacı 46c9922def
Merge pull request #1816 from citusdata/fix_reference_regression
Relax the checks for ensuring distribution columns in the target list
2017-11-21 16:07:14 +03:00
Onder Kalaci d558ebb923 Relax the checks on ensuring distribution columns for target entries
With this commit, we allow pushing down subqueries with only
reference tables where GROUP BY or DISTINCT clause or Window
functions include only columns from reference tables.
2017-11-21 12:28:14 +02:00
Andres Freund d063658d6d Protect some initializations from being called during backend startup.
On EXEC_BACKEND builds these functions shouldn't be called at every
backend start.
2017-11-20 15:29:51 -08:00
Brian Cloutier d267e0f9fa EXEC_BACKEND: don't put pointers to shared hashes into shared memory
Store pointers to shared hashes in process-local variables. Previously
pointers to shared hashes were put into shared memory. This causes
problems on EXEC_BACKEND because everybody calls execve and receives a
brand new address space; the shared hash will be in a different place
for every backend. (normally we call fork, which gives you a copy of the
address space, so these pointers remain constant)
2017-11-20 15:29:51 -08:00
Brian Cloutier 30a2365d81 Rename CreateDirectory to CitusCreateDirectory 2017-11-20 14:38:26 -08:00
Brian Cloutier aa2ab023a2 Rename RemoveDirectory -> CitusRemoveDirectory 2017-11-20 14:21:52 -08:00
Brian Cloutier 06f756b0a1 Rename DeleteFile -> CitusDeleteFile 2017-11-20 13:30:11 -08:00
Mehmet Furkan ŞAHİN 4f3f30f939
Merge pull request #1817 from citusdata/regression_parallelization
Regression parallelization - Part 1
2017-11-20 19:14:48 +03:00
mehmet furkan şahin 34709c2a16 Regression tests parallelization PART-1 2017-11-20 18:03:37 +03:00
Marco Slot 7b3b59c278
Merge pull request #1696 from citusdata/fast_recovery
Rewrite recover_prepared_transactions to be faster, non-blocking
2017-11-20 13:50:32 +00:00
Marco Slot 9793218122 Do not commit already-committed prepared transactions in recovery 2017-11-20 13:18:48 +01:00
Marco Slot fe798cf0f9 Add recovery vs. recovery isolation test 2017-11-20 12:26:25 +01:00
Marco Slot ae47df01ea Observe prepared xacts twice in RecoverWorkerTransactions to avoid race condition 2017-11-20 11:44:08 +01:00
Marco Slot 2410c2e450 Rewrite recover_prepared_transactions to be fast, non-blocking 2017-11-20 11:27:40 +01:00
Mehmet Furkan ŞAHİN 785d94e828
Merge pull request #1810 from citusdata/regression_speedup
Reduces default shard count in regression tests from 32 to 4
2017-11-20 13:05:12 +03:00
mehmet furkan şahin 314fc09d90 regression test shard_count is changed from 32 to 4 2017-11-20 12:47:49 +03:00
Mehmet Furkan ŞAHİN 59242383be
Merge pull request #1798 from citusdata/isolation_tests_improve
Increases the coverage of the isolation tests by adding some of the concurrency tests
2017-11-20 12:44:08 +03:00
mehmet furkan şahin 8d55754b4d the tests are separated and some more added 2017-11-20 11:45:48 +03:00
mehmet furkan şahin 636faadc47 create_distributed_table vs create_distributed_table, master_append_table_to_shard vs master_apply_delete_command, master_apply_delete_command vs master_apply_delete_command are added 2017-11-20 11:45:48 +03:00
mehmet furkan şahin 0722334e50 concurrent master_append_table test is added 2017-11-20 11:45:48 +03:00
mehmet furkan şahin f45988962f multi-shard update affecting the same/different rows 2017-11-20 11:45:48 +03:00
Önder Kalacı 666e37273a
Merge pull request #1809 from citusdata/get_rid_of_false_positives
Get rid of some of the false positive distributed deadlocks
2017-11-15 16:13:57 +03:00