Commit Graph

3392 Commits (improve-drop-trigger2)

Author SHA1 Message Date
Onur Tirtir 2b8c56fd44 do not cascade DROP commands always 2020-03-11 16:59:11 +03:00
Onur Tirtir fd195b13b0 a few typos etc. 2020-03-11 15:52:48 +03:00
Onur Tirtir 743abdd9f5 add new tests 2020-03-11 14:35:00 +03:00
Onur Tirtir 9e9c345d8f update existing tests 2020-03-11 14:35:00 +03:00
Onur Tirtir badf59852c prevent master_remove_node(coordinator) when coordinator has reference table replicas involved in a fkey const. with a local table 2020-03-11 14:35:00 +03:00
Onur Tirtir 8cec216af1 change ErrorIfUnsupportedForeignConstraintExists function to use in two-way 2020-03-11 14:35:00 +03:00
Onur Tirtir ef1447e360 implement DROP CONSTRAINT fkey between local tables & reference tables 2020-03-11 14:35:00 +03:00
Onur Tirtir a40d36b783 implement ADD CONSTRAINT fkey between local tables & reference tables 2020-03-11 14:35:00 +03:00
Onur Tirtir 4f0038c4bf implement ErrorIfUnsupportedAlterAddDropFKeyBetweenReferecenceAndLocalTable 2020-03-11 14:35:00 +03:00
Onur Tirtir de8e0a409a refactor RelationIsAKnownShard function 2020-03-11 14:35:00 +03:00
Onur Tirtir 5baea1dfcb refactor IsLocalReferenceTableJoin & its usages and rename it 2020-03-11 14:35:00 +03:00
Onur Tirtir 653295e512 implement CanUseCoordinatorLocalTablesWithReferenceTables and refactor existing usages 2020-03-11 14:35:00 +03:00
Onur Tirtir df95b5fe6e implement CanHaveReferenceTablePlacements 2020-03-11 14:35:00 +03:00
Onur Tirtir 24dd4ca64f implement GetOnlyShardOidOfReferenceTable and refactor 2020-03-11 14:35:00 +03:00
Onur Tirtir bed896256d add test with analyze & normalize test outputs 2020-03-11 13:26:03 +03:00
Onur Tirtir d4c33b3cea add new tests 2020-03-11 13:04:51 +03:00
Onur Tirtir 4b36938f28 update existing tests 2020-03-11 13:04:51 +03:00
Onur Tirtir 4042d21714 enable local execution for DROP command on distributed & reference tables 2020-03-11 13:04:51 +03:00
Onur Tirtir 26cec16b16 enable local execution for DDL commands on distributed & reference tables 2020-03-11 13:04:51 +03:00
Onur Tirtir c162755cc5 enable local execution for TRUNCATE command on distributed & reference tables 2020-03-11 13:04:50 +03:00
Onur Tirtir 38a59b4767 change ErrorIfTransactionAccessedPlacementsLocally logic & usages 2020-03-11 13:04:50 +03:00
Onur Tirtir 82f3157750 introduce functions for local execution of utility commands 2020-03-11 13:04:50 +03:00
Onur Tirtir ed66517e95 reimplement ExecuteUtilityTaskListWithoutResults for local execution and refactor its usages 2020-03-11 13:04:50 +03:00
Önder Kalacı afc942c6af
Remove non-adaptive test schedules (#3605)
As we don't have any other executors to run them.

These schedules were added when we had both the adaptive executor and
the real-time/router executors in the code. Since we only have adaptive
executor anymore, we can remove these.
2020-03-11 09:58:49 +01:00
Önder Kalacı f7f0fff304
Merge pull request #3604 from citusdata/prevent_worker_mx_create_dist_f
Prevent create_distributed_function() from the workers
2020-03-11 09:47:41 +01:00
Onder Kalaci 7d787e3d5e Prevent create_distributed_function() from the workers
As this could cause weird edge cases.
2020-03-10 18:24:20 +01:00
Onur Tirtir e902581cb6
implement DropTaskList before introducing local DROP table execution (#3603) 2020-03-10 19:12:44 +03:00
Marco Slot c26f99ea82
Merge pull request #3584 from citusdata/simplify_insert_logic
Simplify INSERT logic in router planner
2020-03-10 16:45:38 +01:00
Marco Slot cb3d90bdc8 Simplify INSERT logic in router planner 2020-03-10 15:54:40 +01:00
Philip Dubé d0d51bb8c3
Merge pull request #3601 from citusdata/maintenanced-dont-proc-exit-from-term-handler
maintenanced: Don't call proc_exit in SIGTERM handler
2020-03-10 13:50:48 +00:00
Philip Dubé 2b4ea33a2b maintenanced: Don't call proc_exit in SIGTERM handler
Instead set got_SIGTERM to true to signal mainloop to exit
2020-03-09 23:22:19 +00:00
Philip Dubé 877687cc64
Merge pull request #3568 from citusdata/fix-having-subquery-ref
First phase of addressing HAVING subquery issues
2020-03-09 18:23:02 +00:00
Philip Dubé 81cfa05d3d First phase of addressing HAVING subquery issues
Add failing tests, make changes to avoid crashes at least

Fix HAVING subquery pushdown ignoring reference table only subqueries,
also include HAVING in recursive planning

Given that we have a function IsDistributedTable which includes reference tables,
it seems best to have IsDistributedTableRTE & QueryContainsDistributedTableRTE
reflect that they do not include reference tables in their check

Similarly SublinkList's name should reflect that it only scans WHERE

contain_agg_clause asserts that we don't have SubLinks,
use contain_aggs_of_level as suggested by pg sourcecode
2020-03-09 17:58:30 +00:00
Önder Kalacı 7793d19b71
Merge pull request #3578 from citusdata/fix_wrong_left_join
Improve definition of RelationInfoContainsOnlyRecurringTuples
2020-03-09 17:42:51 +01:00
Onder Kalaci 2ed19181fe Improve definition of RelationInfoContainsOnlyRecurringTuples
Before this commit, we considered !ContainsRecurringRTE() enough
for NotContainsOnlyRecurringTuples. However, instead, we can check
for existince of any distributed table.

DESCRIPTION: Fixes a bug that causes wrong results with complex outer joins
2020-03-09 17:28:33 +01:00
SaitTalhaNisanci 321d0152c1
add a utility to get shard oid from relation oid and shard id (#3596) 2020-03-09 15:50:29 +03:00
SaitTalhaNisanci 4509d9a72b
Create a variable SLOW_START_DISABLED (#3593)
When ExecutorSlowStartInterval is set to 0, it has a special meaning
that we do not want to use slow start. Therefore, in the code we have
checks such as ExecutorSlowStartInterval > 0 to understand if it is
enabled or not. However, this is kind of subtle, and it creates an extra
mapping in our mind. Therefore, I thought that using a variable for the
special value removes the mapping and makes it easier to understand.
2020-03-09 14:54:01 +03:00
Hanefi Onaldi 2595b4864b
Remove all GetWorkerNodeCount() references
As @onderkalaci suggested removing the definition of GetWorkerNodeCount() that can potentially cause misunderstandings.

I can advise using ActiveReadableWorkerNodeCount() that returns the number of active primaries is a safer alternative than GetWorkerNodeCount() that returns the total number of workers containing inactives, primaries, and unavailable nodes. I introduced a bug #3556 and in the bugfix #3564 removed the single usage of said function
2020-03-09 13:35:18 +03:00
Philip Dubé 426b8ff1a9
Merge pull request #3592 from citusdata/rename-lookuplookup
Rename LookupCitusTableCacheEntry to GetCitusTableCacheEntry, LookupLookupCitusTableCacheEntry back to LookupCitusTableCacheEntry
2020-03-08 14:20:24 +00:00
Philip Dubé 7cdfa1daab Rename LookupCitusTableCacheEntry to GetCitusTableCacheEntry, LookupLookupCitusTableCacheEntry back to LookupCitusTableCacheEntry 2020-03-08 14:08:23 +00:00
Philip Dubé 70436ec279
Merge pull request #3587 from citusdata/fix-typos
Fix typos, rename isDistributedRelation to isCitusRelation
2020-03-07 14:21:03 +00:00
Philip Dubé a7cca1bcde Rename DistTableCacheEntry to CitusTableCacheEntry 2020-03-07 14:08:03 +00:00
Philip Dubé b514ab0f55 Fix typos, rename isDistributedRelation to isCitusRelation 2020-03-06 19:20:34 +00:00
Philip Dubé 00a7bc3044
Merge pull request #3586 from citusdata/rename-distributed-to-citus
Try to create clear distinction between DistributedTable vs CitusTable
2020-03-06 19:10:16 +00:00
Philip Dubé bec58000d6 Given IsDistributedTableRTE, there's ambiguity in what DistributedTable means
Elsewhere we used DistributedTable to include reference tables
Marco suggested we use CitusTable for distributed & reference tables

So renaming:
- IsDistributedTable -> IsCitusTable
- IsDistributedTableViaCatalog -> IsCitusTableViaCatalog
- DistributedTableCacheEntry -> CitusTableCacheEntry
- DistributedTableList -> CitusTableList
- isDistributedTable -> isCitusTable
- InsertSelectIntoDistributedTable -> InsertSelectIntoCitusTable
- ExtractFirstDistributedTableId -> ExtractFirstCitusTableId
2020-03-06 18:57:55 +00:00
Onur Tirtir a381074787
Update CHANGELOG for 9.0.2 (#3585)
(cherry picked from commit de6068b2c4)

Co-authored-by: Hanefi Onaldi <hanefionaldi@gmail.com>
2020-03-06 18:26:04 +03:00
Marco Slot fa29fb8c52
Merge pull request #3579 from citusdata/disable_postgres_parallelism
Disable Postgres parallelism by default in tests
2020-03-06 15:54:57 +01:00
Onur Tirtir 50e59f1a61
Update CHANGELOG for 9.2.2 (#3582)
Co-authored-by: Hanefi Onaldi <hanefionaldi@gmail.com>
2020-03-06 16:09:34 +03:00
Marco Slot 5b1d1dd413 Remove unnecessary use of max_parallel_workers_per_gather 2020-03-06 13:18:58 +01:00
Marco Slot d0fead6691 Disable Postgres parallelism by default in tests 2020-03-06 13:18:58 +01:00