Commit Graph

1328 Commits (temp_tables)

Author SHA1 Message Date
Marco Slot 6fc545c87b Support temporary distributed tables 2017-08-25 11:56:46 +02:00
Marco Slot c68bd7efa7 Merge pull request #1621 from citusdata/multi_row_insert_defaults
Allow default columns in multi-row INSERTs
2017-08-25 11:32:43 +02:00
Marco Slot 0aadbb1760 Convert multi-row INSERT target list to Vars 2017-08-25 10:55:56 +02:00
Marco Slot 1920390688 Multi-row INSERTs no longer throw errors in isolation tests 2017-08-25 10:55:56 +02:00
Marco Slot ae00795dab Allow default columns in multi-row INSERTs 2017-08-25 10:55:56 +02:00
Joe Nelson a658f5ecda Two more libs I needed to build citus 2017-08-24 13:04:35 -06:00
Marco Slot b4cc8939fc Merge pull request #1613 from citusdata/fix_ref_table_multi_row_returning
Fix multi-row INSERT with RETURNING on reference tables
2017-08-24 10:56:44 +02:00
Marco Slot c97692f382 Fix multi-row INSERT with RETURNING on reference tables 2017-08-24 10:42:12 +02:00
Marco Slot 7ce2308dc1 Merge pull request #1616 from citusdata/deadlock_detection_warning
Don't error out if deadlock detection fails to connect to worker
2017-08-24 10:31:15 +02:00
Marco Slot dbf18df995 Don't error out if BuildGlobalWaitGraph fails to connect 2017-08-23 19:08:03 +02:00
Burak Yücesoy 7e59c0b019 Merge pull request #1602 from citusdata/add_isolation_tests
Increase coverage of isolation tests - Part 2
2017-08-23 19:44:23 +03:00
Burak Yucesoy 5be6eb9ef6 Increase coverage of isolation tests - Part 2
With this PR we add isolation tests for

COPY to reference table vs. other operations
COPY to partitioned table vs. other operations
Multi row INSERTs vs other operations
INSERT/SELECT vs. other operations
UPSERT vs. other operations
DELETE vs. other operations
TRUNCATE vs. other operations
DROP vs. other operations
DDL vs. other operations

other operations consist of basic SQL operations (like SELECT,
INSERT, DELETE, UPSERT, COPY TRUNCATE, CREATE INDEX) as well
as some Citus functionalities (like master_modify_multiple_shards,
master_apply_delete_command, citus_total_relation_size etc.)
2017-08-23 18:23:36 +03:00
Önder Kalacı 75491b9262 Merge pull request #1612 from citusdata/fix_dead_process
Prevent maintanince deamon crashes due to dead processes
2017-08-23 15:56:24 +03:00
Onder Kalaci c7bb29b69e Prevent maintanince deamon crashes due to dead processes
If after the distributed deadlock detection decides to cancel
a backend, the backend has been terminated/killed/cancelled
externally, we might be accessing to a NULL pointer. This commit
prevents that case by ignoring the current distributed deadlock.
2017-08-23 15:44:09 +03:00
Marco Slot 46f81d5531 Merge pull request #1607 from citusdata/remove_source_dump_local
Remove source node argument from dump_local_wait_edges
2017-08-23 13:26:06 +02:00
Marco Slot 641420d79f Remove source node argument from dump_local_wait_edges 2017-08-23 13:14:00 +02:00
Marco Slot a67d10957f Merge pull request #1600 from citusdata/fix_multi_row_returning
Add alias for target in multi-row INSERTs
2017-08-23 11:00:27 +02:00
Jason Petersen 8cb69e3a14 Add alias for target in multi-row INSERTs
This is necessary for multi-row INSERTs for the same reasons we use it
in e.g. UPSERTs: if the range table list has more than one entry, then
PostgreSQL's deparse logic requires that vars be prefixed by the name
of their corresponding range table entry. This of course doesn't affect
single-row INSERTs, but since multi-row INSERTs have a VALUE RTE, they
were affected.

The piece of ruleutils which builds range table names wasn't modified
to handle shard extension; instead UPSERT/INSERT INTO ... SELECT added
an alias to the RTE. When present, this alias is favored. Doing the
same in the multi-row INSERT case fixes RETURNING for such commands.
2017-08-23 10:24:00 +02:00
Marco Slot ad1fbbe186 Merge pull request #1608 from citusdata/sequential_multi_row_insert
Execute multi-row INSERTs sequentially
2017-08-23 10:17:30 +02:00
Marco Slot 4d7927b672 Execute multi-row INSERTs sequentially 2017-08-23 10:04:57 +02:00
Marco Slot df6d56c1ed Merge pull request #1606 from citusdata/fix_copy_dropped_columns
Consider dropped columns that precede the partition column in COPY
2017-08-22 13:13:09 +02:00
Marco Slot cf375d6a66 Consider dropped columns that precede the partition column in COPY 2017-08-22 13:02:35 +02:00
Marco Slot 15af3c5445 Merge pull request #1603 from citusdata/fix_lock_graph_allocs
Avoid overflowing PROCStack in BuildWaitGraphForSourceNode
2017-08-22 09:20:48 +02:00
Marco Slot bd6bf29983 Don't add procs multiple times in BuildWaitGraphForSourceNode 2017-08-21 16:48:30 +02:00
Önder Kalacı 734aeebc47 Merge pull request #1592 from citusdata/improve_maintanince_deamon
Terminate bg worker on drop database
2017-08-18 16:38:25 +03:00
Onder Kalaci 6532b69873 Kill the maintenance daemon on DROP DATABASE 2017-08-18 16:03:08 +03:00
Metin Döşlü b5109028bc Merge pull request #1598 from citusdata/fix_no_shards_bug
Fix a crash on zero-shard tables
2017-08-18 15:15:04 +03:00
Metin Doslu 0d052e9864 Fix a crash on zero-shard tables 2017-08-18 13:53:59 +03:00
Önder Kalacı 96391bea15 Merge pull request #1595 from citusdata/improve_deadlock_detection
Improve deadlock detection
2017-08-18 13:28:21 +03:00
Önder Kalacı b82f886ad3 Merge branch 'master' into improve_deadlock_detection 2017-08-18 13:07:18 +03:00
Marco Slot 2cc46f3a0c Merge pull request #1584 from citusdata/fix_drop_extension
Maintenance daemon ensures that the extension is valid
2017-08-18 11:32:44 +02:00
Marco Slot 7523753a73 Clear metadata OID cache prior to deadlock detection 2017-08-18 11:20:24 +02:00
Andres Freund b936bde936 Take AccessShareLock on the extension prior to running deadlock detection 2017-08-18 11:20:24 +02:00
Onder Kalaci 20679c9e8b Relax assertion on deadlock detection considering
self deadlocks.
2017-08-18 11:16:38 +03:00
Onder Kalaci 550a5578d8 Skip deadlock detection on the workers
Do not run distributed deadlock detection
on the worker nodes to prevent errornous
decisions to kill the deadlocks.
2017-08-17 19:43:38 +03:00
Burak Yucesoy 0ddcd726c9 Merge pull request #1464 from citusdata/copy_copy_isolation_test 2017-08-17 17:47:42 +03:00
Burak Yucesoy ae32d786cf Add new isolation tests 2017-08-17 17:46:03 +03:00
Marco Slot 131baeda3d Merge pull request #1585 from citusdata/exit_maintenanced
Maintenance daemon dies peacefully when it gets lost finding itself
2017-08-17 09:11:27 +02:00
Marco Slot 1eca53ad40 Exit maintenanced on database crash 2017-08-16 18:29:44 +02:00
Marco Slot a5d54382ef Merge pull request #1577 from citusdata/follower_get_active_worker_nodes
Return readable nodes in master_get_active_worker_nodes
2017-08-16 14:19:59 +02:00
Marco Slot 9e7b1fb858 Return readable nodes in master_get_active_worker_nodes 2017-08-16 11:28:47 +02:00
Hadi Moshayedi e5fbcf37dd Add Savepoint Support (#1539)
This change adds support for SAVEPOINT, ROLLBACK TO SAVEPOINT, and RELEASE SAVEPOINT.

When transaction connections are not established yet, savepoints are kept in a stack and sent to the worker when the connection is later established. After establishing connections, savepoint commands are sent as they arrive.

This change fixes #1493 .
2017-08-15 13:02:28 -04:00
Önder Kalacı dcabbc4a8e Merge pull request #1559 from citusdata/fix_deamon_upgrade
Add version check to the maintenance daemon
2017-08-15 19:24:18 +03:00
Onder Kalaci 205501532a Add version check to the maintenance daemon
We should prevent running the deadlock detection if
there is a major version change. Otherwise, the daemon
may access to obsolete metadata catalog tables.
2017-08-15 18:47:13 +03:00
Marco Slot 0d71fcd8af Merge pull request #1567 from citusdata/fix_2pc_issues
Fix 2pc issues
2017-08-15 14:22:47 +02:00
Marco Slot 3ff46245b3 Make sure we don't use 2PC in copy from worker 2017-08-15 13:44:20 +02:00
Marco Slot 4614814de1 Enable 2PC for INSERT...SELECT via coordinator 2017-08-15 13:44:20 +02:00
Marco Slot fa70089766 Enable 2PC during distributed table creation 2017-08-15 13:44:20 +02:00
Marco Slot 9232823070 Abort on failure on master connection during copy from worker 2017-08-15 13:44:20 +02:00
Marco Slot df7723cde5 Should not commit on aborted non-critical connections 2017-08-15 13:44:20 +02:00