Commit Graph

2281 Commits (recursively_plan_tables_w)

Author SHA1 Message Date
Onder Kalaci 0f462e6962 Fix tests after rebase onto pushdown outer joins 2019-01-11 19:32:07 +03:00
Onder Kalaci 736df67310 respect the regression tests for recursively plan inner parts of recurring tuple joins 2019-01-11 19:26:43 +03:00
Onder Kalaci 31064dced8 Recursively plan inner parts of recurring tuple joins
With this commit, we're enabling recursive planning for the
queries that used to fail due to recurring tuples.

We're simply returning the inner relations/subqueries to the caller
of the error check, which is then able to recursively plan them.
2019-01-11 19:24:47 +03:00
Onder Kalaci 77ba61179f Add 9.6 test output files
This commit should be reverted. RequiredAttrNumbersForRelation() should return
only the necessary columns.
2019-01-11 19:24:27 +03:00
Onder Kalaci 633aa5686c Pushdown only necessary projections in the recursive relation planning
With this commit, we only pull&push the necessary columns. In this
context, necessary columns means that the columns that are required
for the query to be executed when the relation is wrapped into a
subquery.

We could potentially optimize things further:

(a) If a column only appears as a qual filter, we don't need to
    pull it to the coordinator
(b) We currently pull unnecessary columns as NULL. However, we
    could potentially adjust remaining of the query tree and do
    not add columns of the relation to the target entry.
2019-01-11 19:24:27 +03:00
Onder Kalaci 820d40dd1c Add tests for filter pushdown 2019-01-11 19:24:27 +03:00
Onder Kalaci de5e36e850 Pushdown filters on recursive relation planning
PostgreSQL already keeps track of the restrictions that are on the relation.
With this commit, Citus uses that information and pushes down the filters
to the subquery that is recursively planned for the table that is in
considiration.
2019-01-11 19:24:27 +03:00
Onder Kalaci 4d1165848b Basic implementation of recursive planning of non-colocated relation joins 2019-01-11 19:24:26 +03:00
Hanefi Onaldi 21f72f5002
Add changelog entry for 8.0.3 (#2581) 2019-01-09 15:21:45 +03:00
Marco Slot d7ee6f2127
Merge pull request #2481 from citusdata/outer_join_pushdown
Plan outer joins through pushdown planning
2019-01-08 10:46:59 +01:00
Hanefi Onaldi ad05634444
Add changelog entry for 8.1.1 2019-01-07 18:44:20 +03:00
Marco Slot 1656b519c4 Plan outer joins through pushdown planning 2019-01-05 20:55:27 +01:00
Murat Tuncer cb77fcce85
Merge pull request #2569 from citusdata/fix_having_with_joins
Fix having clause bug for complex joins
2019-01-04 13:32:28 +03:00
Murat Tuncer b389bebda1 Move repeated code to a function 2019-01-03 17:19:01 +03:00
Murat Tuncer a72d959735 Fix multi_view tests 2019-01-03 17:07:26 +03:00
Murat Tuncer 2ed7d24591 Fix having clause bug for complex joins
We update column attributes of various clauses for a query
inluding target columns, select clauses when we introduce
new range table entries in the query.

It seems having clause column attributes were not updated.

This fix resolves the issue
2019-01-03 17:07:26 +03:00
Murat Tuncer 1d421e60f9
Merge pull request #2573 from citusdata/fix_more_spinlocks
Move functions calls that can fail to outside of spinlock
2019-01-03 16:55:45 +03:00
Murat Tuncer ec36030fae Move functions calls that can fail to outside of spinlock
We had recently fixed a spinlock issue due to functions
failing, but spinlock is not being released.

This is the continuation of that work to eliminate possible
regression of the issue. Function calls that are moved out of
spinlock scope are macros and plain type casting. However,
depending on the configuration they have an alternate implementation
in PG source that performs memory allocation.

This commit moves last bit of codes to out of spinlock for completion purposes.
2019-01-03 15:59:56 +03:00
Murat Tuncer 1dbbc6664f
Merge pull request #2568 from citusdata/fix_spinlock_use
Make sure spinlock is not left unreleased when an exception is thrown
2018-12-25 16:27:49 +03:00
Murat Tuncer 3b95a03c3e
Merge branch 'master' into fix_spinlock_use 2018-12-25 14:41:21 +03:00
Hadi Moshayedi 38579d52d0
Speed-up run_command_on_shards(). (#2564)
We were establishing connections synchronously. Establishing
connections asynchronously results in some parallelization, saving
hundreds of milliseconds.

In a test I did, this decreased the query time from 150ms to 40ms.
2018-12-24 08:47:01 -05:00
Murat Tuncer 9671bc3cbb Make sure spinlock is not left unreleased when an exception is thrown
A spinlock is not released when an exception is thrown after
spinlock is acquired. This has caused infinite wait and eventual
crash in maintenance daemon.

This work moves the code than can fail to the outside of spinlock
scope so that in the case of failure spinlock is not left locked
since it was not locked in the first place.
2018-12-24 15:47:21 +03:00
Hanefi Onaldi fb497ddad1
Bump 8.2devel on master (#2567) 2018-12-24 13:49:50 +03:00
Jason Petersen 9da2254bfb
Merge pull request #2541 from citusdata/disable_appveyor
Disable appveyor

cr: @jasonmp85
2018-12-21 16:40:40 -07:00
Onder Kalaci 8dee92bad2
Revert adb4669 2018-12-21 15:36:41 -07:00
Onder Kalaci 9fff7d28a7
Revert 4925521 2018-12-21 15:36:40 -07:00
Jason Petersen ca83c48097
Merge pull request #2559 from citusdata/concurrent_concurrently
Execute CREATE INDEX CONCURRENTLY in parallel

cr: @jasonmp85
2018-12-21 15:36:17 -07:00
Marco Slot 2e4029973c
Remove sequential create index concurrently test 2018-12-21 14:03:00 -07:00
Marco Slot 1b1c6374f7
Execute CREATE INDEX CONCURRENTLY concurrently 2018-12-21 14:02:59 -07:00
Hadi Moshayedi eb398580f7
Git ignore LLVM bitcode files. (#2565) 2018-12-21 14:55:24 -05:00
Marco Slot 6ca91c1332
Merge pull request #2563 from citusdata/transactions_pgmonitor
Restrict visibility of get_*_active_transactions functions to pg_monitor
2018-12-21 14:40:34 +01:00
Marco Slot 8a54999c5c
Merge pull request #2561 from citusdata/run-time-bound-check
Move an assert-only array-bound check to run-time.
2018-12-20 17:09:04 +01:00
Marco Slot 3ff2b47366 Restrict visibility of get_*_active_transactions functions to pg_monitor 2018-12-19 18:32:42 +01:00
Dimitri Fontaine 6a1a2b8458 Move an assert-only array-bound check to run-time.
When the bound-check fails at run-time, better abort with an error message
rather than trying to user memory we did not allocate.
2018-12-19 06:12:05 +01:00
Marco Slot 13f4a0ac9f Stabilize failure test shard IDs 2018-12-19 04:26:46 +01:00
Marco Slot 5b9376a7f8 Check ownership before taking locks in distributed table creation 2018-12-18 15:32:07 +01:00
Hanefi Onaldi 88717f31b3
Citus 8.1.0 changelog 1545053355 (#2553)
* Add changelog entry for 8.1.0
2018-12-18 14:48:34 +03:00
Hanefi Onaldi 878af61fa6
Add changelog entry for 8.0.2 (#2546) 2018-12-14 16:54:31 +03:00
Nils Dijk 595179706c
Merge pull request #2540 from citusdata/fix/enforce-tls
upgrade default ssl_ciphers to more restrictive on extension creation
2018-12-12 15:56:59 +01:00
Nils Dijk 694992e946
upgrade default ssl_ciphers to more restrictive on extension creation
Show ssl_ciphers in ssl_by_default_test
2018-12-12 15:33:15 +01:00
Marco Slot 02c144378c Add DESCRIPTION to PR template 2018-12-12 05:35:12 +01:00
Jason Petersen 92893e9601
Fix control file version 2018-12-11 18:50:20 -07:00
Jason Petersen bd0d1f05e7
Bump SQL version
Should have been done when the release-8.0 branch was created…
2018-12-11 10:40:15 -07:00
Hanefi Onaldi f12676e7b3
Added changelog entry for 7.5.4 (#2538) 2018-12-11 16:27:37 +03:00
Burak Velioglu 7aaf6b2cb3
Merge pull request #2533 from citusdata/fix_function_oid
Fix function oid
2018-12-10 14:33:50 +03:00
velioglu 90704d9a52 Fix getting function oid to get hll_add_agg id 2018-12-10 14:16:19 +03:00
velioglu 3e0cff94a6 Add FunctionOidExtended function 2018-12-10 11:59:41 +03:00
Nils Dijk 4af40eee76 Enable SSL by default during installation of citus 2018-12-07 11:23:19 -07:00
Burak Velioglu fd3b0044b4
Merge pull request #2523 from citusdata/disable_hashagg_hll
Adds support for disabling hash agg with hll functions on coordinator
2018-12-07 19:16:19 +03:00
velioglu 8764a19464 Adds support for disabling hash agg with hll functions on coordinator query 2018-12-07 18:49:25 +03:00