Commit Graph

1148 Commits (c8a4bde0fa64ed437b1bef8d22d79ec0c6655823)

Author SHA1 Message Date
jmunsch 2192638000 Clarify error message for local and distributed query plans. 2017-06-01 11:52:49 -07:00
Jason Petersen d666ba570a Add 6.2.2 CHANGELOG entry 2017-05-31 17:02:41 -06:00
Jason Petersen 7578faf4cd Add 6.1.2 CHANGELOG entry 2017-05-31 17:02:24 -06:00
Andres Freund 15c60f6474 Merge pull request #1438 from citusdata/fix_shard_move_lock
Don't take a table lock in ForeignConstraintGetReferencedTableId
2017-05-31 15:26:19 -07:00
Marco Slot c68aa6b8d7 Don't take a table lock in ForeignConstraintGetReferencedTableId 2017-05-31 11:15:21 +02:00
Önder Kalacı 1b175e92cd Merge pull request #1389 from citusdata/improve_subquery_reg_tests
Improve subquery pushdown regression tests
2017-05-30 14:18:37 +03:00
Onder Kalaci c6629fd4e8 Improve subquery pushdown regression tests
- Use native postgres function for composite key btree functions
  - Move explain tests to multi_explain.sql (get rid of .out _0.out files)
  - Get rid of input/output files for multi_subquery.sql by moving table creations
  - Update some comments
2017-05-30 14:05:15 +03:00
Jason Petersen d416ddbdca Bump CHANGELOG for 6.2.1 2017-05-24 13:30:36 -06:00
Marco Slot 32d20f76af Merge pull request #1427 from citusdata/fix_version_checks
Fix version checks
2017-05-24 19:04:26 +02:00
Burak Yucesoy 4c04d3beb4 Add tests for version check 2017-05-24 17:39:25 +03:00
Burak Yucesoy 66a9d0df02 Register cache invalidation callback before version checks
With this commit we start to register InvalidateDistRelationCacheCallback
function as cache invalidation callback function before version checks
because during version checks we use cache to look up relation ids of some
relations like pg_dist_relation or pg_dist_partition_logical_relid_index
and we want to know about cache invalidation before accessing them.
2017-05-24 17:39:25 +03:00
Burak Yucesoy 1eb77495b9 Fix incorrect call to CheckInstalledVersion
During version update, we indirectly calld CheckInstalledVersion via
ChackCitusVersions. This obviously fails because during version update it is
expected to have version mismatch between installed version and binary version.
Thus, we remove that ChackCitusVersions. We now only call ChackAvailableVersion.
2017-05-24 17:39:25 +03:00
Önder Kalacı 3ff3f5c2f9 Merge pull request #1426 from citusdata/better_comment_for_tests
Add comment to subquery regression test file
2017-05-22 11:12:20 +03:00
Önder Kalacı 9fbdbd183e Merge branch 'master' into better_comment_for_tests 2017-05-22 10:58:21 +03:00
Onder Kalaci 4a1730d85d Add comment to the regression test file to prevent any misunderstandings about
the usage of enable_router_execution GUC variable.
2017-05-22 10:39:32 +03:00
Burak Yücesoy 84f2a99180 Merge pull request #1425 from citusdata/fix_aggressive_error_out
Fix aggressive error out behavior
2017-05-21 23:35:34 -08:00
Burak Yucesoy 2448950665 Add tests for version checks 2017-05-22 09:53:29 +03:00
Burak Yucesoy 6b73628ae9 Add version checks to necessary UDFs 2017-05-22 09:53:29 +03:00
Burak Yucesoy 2f075c43cc Only error out on distributed queries when there is version mismatch
Before this commit, we were erroring out at almost all queries if there is a
version mismatch. With this commit, we started to error out only requested
operation touches distributed tables.

Normally we would need to use distributed cache to understand whether a table
is distributed or not. However, it is not safe to read our metadata tables when
there is a version mismatch, thus it is not safe to create distributed cache.
Therefore for this specific occasion, we directly read from pg_dist_partition
table. However; reading from catalog is costly and we should not use this
method in other places as much as possible.
2017-05-22 09:53:29 +03:00
Burak Yucesoy e8247021e2 Fix crash during upgrade from 5.2 to 6.2
This commit fixes the problem where we incorrectly try to reach distributed table
cache when the extension is not loaded completely. We tried to reach the cache
because we wanted to get reference table information to activate the node. However
it is actually not necessary to explicitly activate the nodes which come from
master_initialize_node_metadata. Because it only runs during extension creation and
at that time there are no reference tables and all nodes are considered as active.
2017-05-19 00:01:36 +03:00
Jason Petersen 618102cda5 Bump extension and configure PACKAGE versions
Actually getting this done before the next dev cycle begins.
2017-05-17 15:25:30 -06:00
Burak Yucesoy e3c06166b1 Update CHANGELOG for v6.2.0
CHANGELOG changes for 6.2 release
2017-05-16 22:28:53 -06:00
Jason Petersen 491983609f Merge pull request #1377 from citusdata/pg10_prep
Make minor tweaks to prepare for PostgreSQL 10

cr: @anarazel
2017-05-16 11:44:39 -06:00
Jason Petersen 1b60dd71d9 Limit sequence SELECT to last_value
Unbounded column output differs by version.
2017-05-16 11:05:34 -06:00
Jason Petersen 8fe806db58 Suppress hash index warning
Irrelevant to the test.
2017-05-16 11:05:34 -06:00
Jason Petersen 3a07997f06 Add missing CCI call in metadata seq sync
Be explicit about the fact that we've made a modification: we need
subsequent commands to see this sequence.
2017-05-16 11:05:34 -06:00
Jason Petersen e3edf83b7c Change version-sensitive tests to handle '10'
Previously assumed period in version; this makes tests future-proof.
2017-05-16 11:05:34 -06:00
Jason Petersen 53e54c66fa Remove ALTER SEQUENCE from parallel groups
Removing these has no side effect, and in the (current) PostgreSQL 10,
an ERROR is printed during concurrent sequence modification.
2017-05-16 11:05:34 -06:00
Jason Petersen 8b0a4d8315 Add unambiguous ORDER BY clauses to many tests
Queries which do not specify an order may arbitrarily change output
across PostgreSQL versions.
2017-05-16 11:05:34 -06:00
Jason Petersen 5855e8f3e5 Update header comments to match new test names
Just keeping these in sync with the actual file name.
2017-05-16 11:05:33 -06:00
Jason Petersen c51c17327d Rename very long test files
In addition to not actually providing much information, these names can
cause problems in PostgreSQL 10.
2017-05-16 11:05:33 -06:00
Jason Petersen b08c2a0ccc Use library and symbol name for bgw entry
PostgreSQL 10 takes away the ability to directly assign a function
pointer; the other approach (library and symbol name) is supported by
all versions.
2017-05-16 11:05:33 -06:00
Jason Petersen 9aeb90ed40 Add includes for missing standard headers
We use symbols from each of these and were relying on them being
included by other headers.
2017-05-16 11:05:33 -06:00
Jason Petersen c6a5074e05 Add explicit cast for argument to copyObject
PostgreSQL 10 adds a call to typeof, if supported.
2017-05-16 11:05:33 -06:00
Burak Yücesoy b47534da45 Merge pull request #1412 from citusdata/fix_schema_owner_name
Send correct and quoted owner name while propagating schema creation
2017-05-15 06:11:08 -08:00
Burak Yucesoy 25d2cac8f6 Add tests for non-default schema owner 2017-05-15 16:49:37 +03:00
Burak Yucesoy c13240ad8d Quote schema's owner name
When we propogate the schema creation command to data nodes we add schema's
owner name too. Before this patch, we did not quote the owner's name which
causes problems with the names containing characters like '-'.
2017-05-15 16:26:32 +03:00
Burak Yucesoy 0225d767dd Fix OwnerName function to work with schemas
We incorrectly try to use relation cache to find particular schema's owner and
when we cannot find the schema in the relation cache(i.e always), we automatically
used current user as the schema's owner. This means we always created schemas in
the data nodes with current user. With this patch we started to use namespace
cache to find schemas.
2017-05-15 16:26:32 +03:00
Önder Kalacı b419013226 Add 9.5 output file for isolation test (#1413)
With commit we add one additional regression test output file which
has some output syntax differences with its 9.6 equivalence.
2017-05-15 15:27:37 +03:00
Jason Petersen 1c1eb9d4b9 Merge pull request #1343 from citusdata/test_custom_compiled_postgres
Use custom compiled PostgreSQL in Travis for merge commits

cr: @jasonmp85
2017-05-12 15:15:55 -06:00
Jason Petersen b6740e75f1 Mark test failing in 9.5 as 'ignore'
This test was added this morning, but is failing in 9.5.
2017-05-12 15:00:42 -06:00
Burak Yucesoy 7e54ba5199 Travis merge jobs use custom-compiled PostgreSQL
With this commit, we start to use custom compiled PostgreSQL builds in
Travis for merge commits. This allows us to run isolation tests and
PostgreSQL's own regression tests along with our regression tests in
Travis.

Since manually compiling PostgreSQL takes more time and we also add new
tests, we only enable running these tests on merge commits.
2017-05-12 15:00:42 -06:00
Önder Kalacı 8a73a5f670 Fix typo in the regression test (#1410) 2017-05-12 15:46:38 +03:00
Önder Kalacı 80cae4c555 Accept invalidation messages before accessing the metadata cache (#1406)
* Accept invalidation messages before accessing the metadata cache

This commit is crucial to prevent stale metadata reads from the
cache. Without this commit, some of the operations may use stale
metadata which could end up with various bugs such as crashes,
inconsistent/lost data etc.

As an example, consider that a COPY operation is blocked on shard
metadata lock. Another concurrent session updates the metadata and
invalidates the cache. However, since Citus doesn't accept invalidations,
COPY continues with the stale metadata once it acquires the lock.

With this commit, we make sure that invalidation messages are accepted
just before accessing the metadata cache and preventing any operation to
use stale metadata.

* Add isolation tests for placement changes and conccurrent operations

   - add node with reference table vs COPY/insert/update/DDL
   - repair shard vs COPY/insert/update/DDL
   - repair shard vs repair shard
2017-05-12 12:32:35 +03:00
Marco Slot 111f739610 Merge pull request #1405 from citusdata/fix_copy_create_distributed_table
Ensure all preceding writes are visible in data migration
2017-05-11 10:05:15 +02:00
Marco Slot 031bba72c9 Ensure all preceding writes are visible in data migration 2017-05-11 09:42:12 +02:00
Önder Kalacı df20f7c5ed Add support for parametrized execution for subquery pushdown (#1356)
Distributed query planning for subquery pushdown is done on the original
query. This prevents the usage of external parameters on the execution.
To overcome this, we manually replace the parameters on the original
query.
2017-05-10 09:38:48 +03:00
Marco Slot 3b8e3cbd0b Merge pull request #1382 from citusdata/fix_drop_locking
Fix locking in master_drop_all_shards / master_apply_delete_command
2017-05-08 18:07:03 +02:00
Metin Doslu 434100ed40 Add truncate first isolation tests 2017-05-08 17:26:55 +02:00
Marco Slot 644a303ec2 Fix locking in master_drop_all_shards / master_apply_delete_command 2017-05-08 17:26:55 +02:00