Metin Doslu
4ff550429f
Add colocate_with option to create_distributed_table()
...
With this commit, we support three versions of colocate_with: i.default, ii.none
and iii. a specific table name.
2016-12-16 14:53:35 +02:00
Metin Doslu
15aeac0502
Move colocation related functions to colocation_utils.c
2016-12-16 14:52:40 +02:00
Marco Slot
130b9ccd3a
Merge pull request #1042 from citusdata/feature/column_name
...
Expose the column_to_column_name UDF
2016-12-16 11:40:29 +01:00
Marco Slot
d733bfa044
Expose the column_to_column_name UDF to make partkey in pg_dist_partition human-readable
2016-12-14 10:46:33 +01:00
Eren Başak
8dbb523377
Merge pull request #997 from citusdata/add_sync_metadata_to_node
...
Add sync_metadata_to_node UDF
2016-12-14 10:06:17 +02:00
Eren Basak
7a9f9af9ea
Add stop_metadata_sync_to_node UDF
2016-12-14 10:53:12 +03:00
Eren Basak
59b95a958d
Propagate CREATE SCHEMA commands with the correct AUTHORIZATION clause in start_metadata_sync_to_node
2016-12-14 10:53:12 +03:00
Eren Basak
72e5e826b8
Make start_metadata_sync_to_node UDF to propagate foreign-key constraints
2016-12-14 10:53:12 +03:00
Eren Basak
eea27619a0
Make truncate triggers propagated on start_metadata_sync_to_node call
2016-12-14 10:53:10 +03:00
Eren Basak
9b6d33f5b4
Prevent Transactions in start_metadata_sync_to_node
2016-12-13 10:48:03 +03:00
Eren Basak
1b812ec3b1
Add Regression Tests For start_metadata_sync_to_node
2016-12-13 10:48:03 +03:00
Eren Basak
9c415d4f34
Add start_metadata_sync_to_node UDF
...
This change adds `start_metadata_sync_to_node` UDF which copies the metadata about nodes and MX tables
from master to the specified worker, sets its local group ID and marks its hasmetadata to true to
allow it receive future DDL changes.
2016-12-13 10:48:03 +03:00
Andres Freund
6e4443b555
Merge pull request #835 from citusdata/valgrind-support
...
Allow to run regression tests under valgrind
2016-12-12 16:34:58 -08:00
Andres Freund
bed853664e
Add support for running regression tests under valgrind.
...
Note that this only provides infrastructure for running tests under
valgrind - there's some spurious failures due to timeouts.
2016-12-12 15:42:11 -08:00
Andres Freund
d4463e9d2c
Merge pull request #1020 from citusdata/feature/transaction-management
...
Centralized Transaction Management Infrastructure
2016-12-12 15:27:27 -08:00
Andres Freund
90ad02f5fb
Integrate router executor into transaction management framework.
...
One less place managing remote transactions. It also makes it fairly
easy to use 2PC for certain modifications (e.g. reference tables). Just
issue a CoordinatedTransactionUse2PC(). If every placement failure
should cause the whole transaction to abort, additionally mark the
relevant transactions as critical.
2016-12-12 15:18:12 -08:00
Andres Freund
21449ed0a0
Convert multi_shard_transaction.[ch] to new framework.
2016-12-12 15:18:12 -08:00
Andres Freund
7ac4a2bc94
Coordinated remote transaction management.
2016-12-12 15:18:12 -08:00
Andres Freund
ccb2a35b6b
Add PQgetResult() wrapper handling interrupts.
...
This makes it possible to implement cancelling queries blocked on
communication with remote nodes.
2016-12-12 15:18:12 -08:00
Andres Freund
c9e8b10b29
Merge pull request #1017 from citusdata/vanillatests
...
Add support for running postgres tests against a database with citus loaded
2016-12-12 14:34:20 -08:00
Andres Freund
a26b9d3b8f
Add support for running postgres tests against a database with citus loaded.
...
Not that this is not with the citus *extension* loaded, just the shared
library. The former runs (by adding --use-existing to the flags) but
has a bunch of trivial test differences.
2016-12-12 14:25:06 -08:00
Jason Petersen
abccd8d5f1
Merge pull request #1035 from citusdata/tweak_coverage
...
Tweak coverage options
cr: @jasonmp85
2016-12-09 14:19:52 -07:00
Jason Petersen
3439548c86
Bump target to 87.5%
...
With the ignore rules in place, we can increase the target.
2016-12-09 14:06:35 -07:00
Jason Petersen
bbbb7f1ef6
Format for readability
2016-12-09 13:33:58 -07:00
Jason Petersen
f8cbf4f024
Add ignore rules
2016-12-09 13:03:23 -07:00
Jason Petersen
db13abba11
Make patch target 75%
...
If a patch has very bad coverage, reject it.
2016-12-09 13:03:23 -07:00
Jason Petersen
086187bcde
Be explicit about coverage project requirements
...
If a change drops coverage (absolutely) beneath 80% or (relatively)
reduces coverage by more than 0.5%, give it a bad status.
2016-12-09 13:03:23 -07:00
Jason Petersen
37b8c5f7b6
Add default Codecov configuration
...
Will change shortly.
2016-12-09 13:03:23 -07:00
Andres Freund
7269a7da98
Merge pull request #1022 from citusdata/feature/2PCBUMPISM
...
Make prepared transactions available if not configured.
2016-12-08 20:04:00 -08:00
Andres Freund
820f300de2
Make prepared transactions available if not configured.
2016-12-08 19:57:22 -08:00
Burak Yücesoy
5559b8201d
Merge pull request #876 from citusdata/foreign_key_push_down_for_alter_table
...
Add Foreign Key Support to ALTER TABLE commands
2016-12-08 14:11:01 +02:00
Burak Yucesoy
cdb725a561
Add Foreign Key Support to ALTER TABLE commands
...
With this PR, we add foreign key support to ALTER TABLE commands. For now,
we only support foreign constraint creation via ALTER TABLE query, if it
is only subcommand in ALTER TABLE subcommand list.
We also only allow foreign key creation if replication factor is 1.
2016-12-08 15:03:25 +02:00
Andres Freund
b16540725a
Merge pull request #863 from citusdata/feature/connection-lifecycle
...
Connection Lifecycle Management Infrastructure
2016-12-07 11:51:02 -08:00
Andres Freund
3754e74acb
Move multi_client_executor.[ch] ontop of connection_management.[ch].
...
That way connections can be automatically closed after errors and such,
and the connection management infrastructure gets wider testing. It
also fixes a few issues around connection string building.
2016-12-07 11:44:24 -08:00
Andres Freund
c7f19f6c83
Use connection_management.c from within connection_cache.c.
...
This is a temporary step towards removing connection_cache.c.
2016-12-07 11:44:24 -08:00
Andres Freund
7bc7284b61
Add initial helpers to make interactions with MultiConnection et al. easier.
...
This includes basic infrastructure for logging of commands sent to
remote/worker nodes. Note that this has no effect as of yet, since no
callers are converted to the new infrastructure.
2016-12-07 11:44:24 -08:00
Andres Freund
8e32951eb9
Centralized Connection Lifetime Management.
...
Connections are tracked and released by integrating into postgres'
transaction handling. That allows to to use connections without having
to resort to having to disable interrupts or using PG_TRY/CATCH blocks
to avoid leaking connections.
This is intended to eventually replace multi_client_executor.c and
connection_cache.c, and to provide the basis of a centralized
transaction management.
The newly introduced transaction hook should, in the future, be the only
one in citus, to allow for proper ordering between operations. For now
this central handler is responsible for releasing connections and
resetting XactModificationLevel after a transaction.
2016-12-07 11:43:18 -08:00
Andres Freund
9564e1e7fc
Add some basic helpers to make use of dynahash hashtables easier.
2016-12-06 14:15:36 -08:00
Jason Petersen
3afb4c0583
Merge pull request #994 from citusdata/enable-coverage-testing
...
Add coverall support for continuous code coverage testing
cr: @jasonmp85
2016-12-06 11:42:48 -07:00
Jason Petersen
d88949d952
Add comment for otherwise opaque secure value
2016-12-06 11:30:22 -07:00
Brian Cloutier
d8df38983d
Enable instrumentation of coverage
...
Adds an --enable-coverage configure option which provides the necessary
flags for coverage instrumentation. A new tools branch uses this flag
during all builds. Coverage reports are uploaded to codecov.io, where
they are publicly visible.
2016-12-06 11:30:22 -07:00
Marco Slot
c6f432b79a
Merge pull request #1006 from citusdata/bugfix/placement_id_readfunc
...
Use READ_UINT64_FIELD for placement ID in ReadShardPlacement
2016-12-05 23:08:27 +01:00
Marco Slot
6cff558896
Use READ_UINT64_FIELD for placement ID in ReadShardPlacement
2016-12-05 17:22:23 +01:00
Murat Tuncer
0fa7276a53
Merge pull request #995 from citusdata/fix-870-non-relational-filter
...
Add new tests for non-relational filters in queries
2016-12-05 13:35:46 +02:00
Murat Tuncer
6abc1eecbd
Add new tests for non-relational filters in queries
2016-12-05 14:27:36 +03:00
Marco Slot
35c583784a
Merge pull request #911 from citusdata/bugfix/take_metadata_lock
...
Take shard metadata lock in several UDFs
2016-12-02 16:34:44 +01:00
Marco Slot
5b5bceb5ed
Take shard metadata lock in master_append_table_to_shard
2016-12-02 15:56:30 +01:00
Eren Başak
2f04f094f8
Merge pull request #996 from citusdata/sync_pg_dist_node
...
Propagate node add/remove to the nodes with hasmetadata=true
2016-12-02 13:50:52 +02:00
Eren Basak
517db3648a
Propagate node add/remove to the nodes with hasmetadata=true
...
This change propagates the changes done by `master_add_node` and `master_remove_node`
to the workers that contain metadata.
2016-12-02 14:43:32 +03:00
Brian Cloutier
14b47b769c
Remove dead code: ResponsiveWorkerNodeList
2016-12-02 13:14:11 +03:00