Commit Graph

5650 Commits (ref_on_buraks)

Author SHA1 Message Date
Onder Kalaci a9dd1ff2d1 make it clear 2022-01-27 14:41:23 +01:00
Burak Velioglu 7c1a41d45c
Fix multi-1 tests 2022-01-27 16:23:21 +03:00
Burak Velioglu ee69a5a0b5
Add ensure no modification back 2022-01-27 14:35:13 +03:00
Burak Velioglu 64ab7111ba
Check isolation test 2022-01-27 13:05:11 +03:00
Burak Velioglu 277bdf5bb1
Update start_metadata and stop_metadata command definitions 2022-01-27 12:23:34 +03:00
Burak Velioglu 6d4f70363e
Address reviews 2022-01-27 10:54:24 +03:00
Burak Velioglu 7f7fd482fc
Add ensure coordinator check to new UDF 2022-01-26 02:23:45 +03:00
Burak Velioglu cf5f554fc9
Start metadata sync to activate node 2022-01-26 02:03:59 +03:00
Burak Velioglu 048be241c9
Merge branch 'master' into velioglu/table_wo_seq_prototype 2022-01-26 01:20:03 +03:00
Burak Velioglu c1149cf4fa
Distribute deprecated dist tables 2022-01-26 01:13:44 +03:00
Onur Tirtir 8c8d696621
Not fail over to local execution when it's not supported (#5625)
We fall back to local execution if we cannot establish any more
connections to local node. However, we should not do that for the
commands that we don't know how to execute locally (or we know we
shouldn't execute locally). To fix that, we take localExecutionSupported
take into account in CanFailoverPlacementExecutionToLocalExecution too.

Moreover, we also prompt a more accurate hint message to inform user
about whether the execution is failed because local execution is
disabled by them, or because local execution wasn't possible for given
command.
2022-01-25 16:43:21 +01:00
Burak Velioglu 233230968f
Fix multi_colocation test 2022-01-25 16:47:13 +03:00
Burak Velioglu b8e5da0779
Fix multi_metadata_sync test 2022-01-25 16:32:11 +03:00
Burak Velioglu 2458e50a6b
Update sequence dependency creation for alter table 2022-01-25 15:52:04 +03:00
Burak Velioglu 3260bf3513
Fix mx tests 2022-01-25 01:48:07 +03:00
Burak Velioglu 56969c09da
Fix failure test 2022-01-25 01:02:08 +03:00
Burak Velioglu a9f81f763d
Try fixing worker_drop_shell_table 2022-01-25 00:52:18 +03:00
Burak Velioglu c84d55c60d
Fix upgrade test 2022-01-25 00:29:33 +03:00
Burak Velioglu c9681d5439
Add break seq-table dependency 2022-01-25 00:23:58 +03:00
Burak Velioglu 8a3e92c569
Merge branch 'master' into velioglu/table_wo_seq_prototype 2022-01-24 23:28:54 +03:00
Onur Tirtir ff3913ad99
Copy errmsg for distributed deadlock error into heap (#5641)
multi_log_hook() hook is called by EmitErrorReport() when emitting the
ereport either to frontend or to the server logs. And some callers of
EmitErrorReport() (e.g.: errfinish()) seems to assume that string fields
of given ErrorData object needs to be freed. For this reason, we copy the
message into heap here.

I don't think we have faced with such a problem before but it seems worth
fixing as it is theoretically possible due to the reasoning above.
2022-01-24 06:27:41 -08:00
Burak Velioglu 94ccc8b7b5
Rename sequence instead of drop 2022-01-24 17:05:12 +03:00
Ahmet Gedemenli 152e512aa9
Merge pull request #5642 from citusdata/refactor-GenerateGrantOnSchemaStmtForRights
Refactor GenerateGrantOnSchemaStmtForRights
2022-01-24 12:43:42 +03:00
Burak Velioglu 524ee83a9a
Address reviews 2022-01-24 12:21:22 +03:00
Ahmet Gedemenli c838fb428f Refactor GenerateGrantOnSchemaStmtForRights 2022-01-24 11:31:59 +03:00
Burak Velioglu 3c9aa360f5
Change detachpartition nodewide object commands 2022-01-23 00:01:02 +03:00
Burak Velioglu 368e4dbb74
Move truncate trigger 2022-01-22 23:51:23 +03:00
Burak Velioglu bee36628a1
Use GetFullTableCreationCommands 2022-01-22 22:47:53 +03:00
Ahmet Gedemenli 577224cf23
Merge pull request #5630 from citusdata/multi_colocation_utils-turn-mx-on
Turn mx on for test: multi_colocation_utils
2022-01-21 19:48:00 +03:00
Ahmet Gedemenli e6fc0c6f36 Turn mx on for test: multi_colocation_utils 2022-01-21 19:31:47 +03:00
Burak Velioglu ccea041d6a
Address reviews 2022-01-21 17:52:41 +03:00
Onur Tirtir 4dc38e9e3d
Use EnsureCompatibleLocalExecutionState instead (#5640) 2022-01-21 15:37:59 +01:00
Burak Velioglu 8a5c8c449f
Address reviews 2022-01-21 12:54:18 +03:00
Ahmet Gedemenli a2b05f0d28
Merge pull request #5639 from citusdata/fix-tagetcolocation-typo
Fix typo: taget/target
2022-01-21 10:53:42 +03:00
Ahmet Gedemenli 8647682c11 Fix typo: taget/target 2022-01-21 10:35:56 +03:00
Burak Velioglu 46b4b55c7b
Fix style 2022-01-21 01:09:38 +03:00
Burak Velioglu 3bb1a1fe6c
Merge branch 'master' into velioglu/table_wo_seq_prototype 2022-01-21 01:09:20 +03:00
Burak Velioglu 86bcb7bfdd
Reorder metadata sync commands 2022-01-21 00:41:21 +03:00
Burak Velioglu 9c470ed6d4
Add delete metadata commands back 2022-01-20 17:57:48 +03:00
Onur Tirtir 0244d3f206
Merge pull request #5636 from citusdata/drop-tg-utils
Drop ruleutils copied for triggers & statistics

While reading trigger related parts of our code-base, realized that
we actually don't need to copy & paste underlying worker functions
from pg/ruleutils.c since higher level functions for those two are
anyway exposed as SQL callables, so we can delete more than ~1k lines
of code from our ruleutils_x.c files.
2022-01-20 17:35:26 +03:00
Onur Tirtir 181111b84f Drop ruleutils copied for statistics 2022-01-20 17:28:19 +03:00
Onur Tirtir 7b59295af2 Drop ruleutils copied for triggers 2022-01-20 17:28:19 +03:00
Burak Velioglu da3a0f4cdd
Combine metadata logic 2022-01-20 17:03:50 +03:00
Burak Velioglu 632d7b8038
Move sync node metadata to above 2022-01-20 14:30:28 +03:00
Burak Velioglu 0932ea9a46
Address reviews 2022-01-20 14:19:09 +03:00
Önder Kalacı ddf3c9ed32
Merge pull request #5633 from citusdata/make_minimal_work_again
Fix check-minimal
2022-01-20 11:54:18 +01:00
Önder Kalacı e8ba9dd9d3
Merge branch 'master' into make_minimal_work_again 2022-01-20 11:48:53 +01:00
Teja Mupparti 54862f8c22 (1) Functions will be delegated even when present in the scope of an explicit
BEGIN/COMMIT transaction block or in a UDF calling another UDF.
(2) Prohibit/Limit the delegated function not to do a 2PC (or any work on a
remote connection).
(3) Have a safety net to ensure the (2) i.e. we should block the connections
from the delegated procedure or make sure that no 2PC happens on the node.
(4) Such delegated functions are restricted to use only the distributed argument
value.

Note: To limit the scope of the project we are considering only Functions(not
procedures) for the initial work.

DESCRIPTION: Introduce a new flag "force_delegation" in create_distributed_function(),
which will allow a function to be delegated in an explicit transaction block.

Fixes #3265

Once the function is delegated to the worker, on that node during the planning

distributed_planner()
TryToDelegateFunctionCall()
CheckDelegatedFunctionExecution()
EnableInForceDelegatedFuncExecution()
Save the distribution argument (Constant)
ExecutorStart()
CitusBeginScan()
IsShardKeyValueAllowed()
Ensure to not use non-distribution argument.

ExecutorRun()
AdaptiveExecutor()
StartDistributedExecution()
EnsureNoRemoteExecutionFromWorkers()
Ensure all the shards are local to the node in the remoteTaskList.
NonPushableInsertSelectExecScan()
InitializeCopyShardState()
EnsureNoRemoteExecutionFromWorkers()
Ensure all the shards are local to the node in the placementList.

This also fixes a minor issue: Properly handle expressions+parameters in distribution arguments
2022-01-19 16:43:33 -08:00
Burak Velioglu f3225dbacc
Fix tests 2022-01-20 02:30:12 +03:00
Burak Velioglu fe996dd8a4
Keep adding missing ones vol4 2022-01-20 02:21:52 +03:00