mirror of https://github.com/citusdata/citus.git
fix pg11 tests
parent
3f0317dfb8
commit
2a9d47e1a6
|
@ -24,7 +24,7 @@ matrix:
|
|||
allow_failures:
|
||||
- env: PGVERSION=11
|
||||
before_install:
|
||||
- git clone -b v0.7.8 --depth 1 https://github.com/citusdata/tools.git
|
||||
- git clone -b v0.7.9 --depth 1 https://github.com/citusdata/tools.git
|
||||
- sudo make -C tools install
|
||||
- setup_apt
|
||||
- curl https://install.citusdata.com/community/deb.sh | sudo bash
|
||||
|
|
|
@ -15,12 +15,15 @@
|
|||
#include "access/htup_details.h"
|
||||
#include "catalog/namespace.h"
|
||||
#include "catalog/pg_constraint.h"
|
||||
#if (PG_VERSION_NUM < 110000)
|
||||
#include "catalog/pg_constraint_fn.h"
|
||||
#endif
|
||||
#include "catalog/pg_type.h"
|
||||
#include "distributed/colocation_utils.h"
|
||||
#include "distributed/foreign_constraint.h"
|
||||
#include "distributed/master_protocol.h"
|
||||
#include "distributed/multi_join_order.h"
|
||||
#include "distributed/version_compat.h"
|
||||
#include "utils/fmgroids.h"
|
||||
#include "utils/lsyscache.h"
|
||||
#include "utils/rel.h"
|
||||
|
@ -640,7 +643,7 @@ HeapTupleOfForeignConstraintIncludesColumn(HeapTuple heapTuple, Oid relationId,
|
|||
{
|
||||
AttrNumber attrNo = DatumGetInt16(columnArray[attrIdx]);
|
||||
|
||||
char *colName = get_relid_attribute_name(relationId, attrNo);
|
||||
char *colName = get_attname_internal(relationId, attrNo, false);
|
||||
if (strncmp(colName, columnName, NAMEDATALEN) == 0)
|
||||
{
|
||||
return true;
|
||||
|
|
|
@ -141,11 +141,11 @@ InitializeTransactionManagement(void)
|
|||
AdjustMaxPreparedTransactions();
|
||||
|
||||
/* set aside 8kb of memory for use in CoordinatedTransactionCallback */
|
||||
CommitContext = AllocSetContextCreate(TopMemoryContext,
|
||||
"CommitContext",
|
||||
8 * 1024,
|
||||
8 * 1024,
|
||||
8 * 1024);
|
||||
CommitContext = AllocSetContextCreateExtended(TopMemoryContext,
|
||||
"CommitContext",
|
||||
8 * 1024,
|
||||
8 * 1024,
|
||||
8 * 1024);
|
||||
}
|
||||
|
||||
|
||||
|
|
|
@ -3,6 +3,13 @@
|
|||
-- there is foreign key relation between reference
|
||||
-- tables and distributed tables
|
||||
--
|
||||
SHOW server_version \gset
|
||||
SELECT substring(:'server_version', '\d+')::int > 10 AS version_above_ten;
|
||||
version_above_ten
|
||||
-------------------
|
||||
f
|
||||
(1 row)
|
||||
|
||||
CREATE SCHEMA test_fkey_to_ref_in_tx;
|
||||
SET search_path TO 'test_fkey_to_ref_in_tx';
|
||||
SET citus.next_shard_id TO 2380000;
|
||||
|
|
File diff suppressed because it is too large
Load Diff
|
@ -212,7 +212,24 @@ ERROR: permission denied for table test
|
|||
ABORT;
|
||||
SELECT * FROM citus_stat_statements_reset();
|
||||
ERROR: permission denied for function citus_stat_statements_reset
|
||||
-- table owner should be the same on the shards, even when distributing the table as superuser
|
||||
SET ROLE full_access;
|
||||
CREATE TABLE my_table (id integer, val integer);
|
||||
RESET ROLE;
|
||||
SELECT create_distributed_table('my_table', 'id');
|
||||
create_distributed_table
|
||||
--------------------------
|
||||
|
||||
(1 row)
|
||||
|
||||
SELECT result FROM run_command_on_workers($$SELECT tableowner FROM pg_tables WHERE tablename LIKE 'my_table_%' LIMIT 1$$);
|
||||
result
|
||||
-------------
|
||||
full_access
|
||||
full_access
|
||||
(2 rows)
|
||||
|
||||
DROP TABLE my_table;
|
||||
DROP TABLE test;
|
||||
DROP USER full_access;
|
||||
DROP USER read_access;
|
||||
|
|
|
@ -1123,13 +1123,11 @@ SELECT relation::regclass, locktype, mode FROM pg_locks WHERE relation::regclass
|
|||
partitioning_locks | relation | AccessShareLock
|
||||
partitioning_locks_2009 | relation | AccessExclusiveLock
|
||||
partitioning_locks_2009 | relation | AccessShareLock
|
||||
partitioning_locks_2009 | relation | RowExclusiveLock
|
||||
partitioning_locks_2009 | relation | ShareLock
|
||||
partitioning_locks_2010 | relation | AccessExclusiveLock
|
||||
partitioning_locks_2010 | relation | AccessShareLock
|
||||
partitioning_locks_2010 | relation | RowExclusiveLock
|
||||
partitioning_locks_2010 | relation | ShareLock
|
||||
(10 rows)
|
||||
(8 rows)
|
||||
|
||||
COMMIT;
|
||||
-- test shard resource locks with master_modify_multiple_shards
|
||||
|
|
|
@ -332,8 +332,10 @@ EXECUTE prepared_partition_column_insert(3);
|
|||
EXECUTE prepared_partition_column_insert(4);
|
||||
EXECUTE prepared_partition_column_insert(5);
|
||||
EXECUTE prepared_partition_column_insert(6);
|
||||
-- suppress notice message caused by DROP ... CASCADE to prevent pg version difference
|
||||
SET client_min_messages TO 'WARNING';
|
||||
DROP TYPE test_composite_type CASCADE;
|
||||
NOTICE: drop cascades to table router_executor_table column stats
|
||||
RESET client_min_messages;
|
||||
-- test router executor with prepare statements
|
||||
CREATE TABLE prepare_table (
|
||||
key int,
|
||||
|
|
|
@ -392,8 +392,10 @@ SELECT "Column", "Type", "Modifiers" FROM table_desc WHERE relid='public.mx_tabl
|
|||
col_3 | bigint | not null default nextval('mx_table_col_3_seq'::regclass)
|
||||
(3 rows)
|
||||
|
||||
-- suppress notice message caused by DROP ... CASCADE to prevent pg version difference
|
||||
SET client_min_messages TO 'WARNING';
|
||||
DROP SEQUENCE mx_table_col_3_seq CASCADE;
|
||||
NOTICE: drop cascades to default for table mx_table column col_3
|
||||
RESET client_min_messages;
|
||||
SELECT "Column", "Type", "Modifiers" FROM table_desc WHERE relid='public.mx_table'::regclass;
|
||||
Column | Type | Modifiers
|
||||
--------+---------+-----------
|
||||
|
|
|
@ -10,16 +10,12 @@ SELECT substring(:'server_version', '\d+')::int > 10 as version_above_ten;
|
|||
-- ===================================================================
|
||||
-- test utility statement functionality
|
||||
-- ===================================================================
|
||||
SET citus.shard_count TO 2;
|
||||
SET citus.shard_replication_factor TO 1;
|
||||
CREATE TABLE sharded_table ( name text, id bigint );
|
||||
SELECT master_create_distributed_table('sharded_table', 'id', 'hash');
|
||||
master_create_distributed_table
|
||||
---------------------------------
|
||||
|
||||
(1 row)
|
||||
|
||||
SELECT master_create_worker_shards('sharded_table', 2, 1);
|
||||
master_create_worker_shards
|
||||
-----------------------------
|
||||
SELECT create_distributed_table('sharded_table', 'id', 'hash');
|
||||
create_distributed_table
|
||||
--------------------------
|
||||
|
||||
(1 row)
|
||||
|
||||
|
@ -167,16 +163,12 @@ ERROR: no locks specified
|
|||
DROP TABLE sharded_table;
|
||||
-- VACUUM tests
|
||||
-- create a table with a single shard (for convenience)
|
||||
SET citus.shard_count TO 1;
|
||||
SET citus.shard_replication_factor TO 2;
|
||||
CREATE TABLE dustbunnies (id integer, name text, age integer);
|
||||
SELECT master_create_distributed_table('dustbunnies', 'id', 'hash');
|
||||
master_create_distributed_table
|
||||
---------------------------------
|
||||
|
||||
(1 row)
|
||||
|
||||
SELECT master_create_worker_shards('dustbunnies', 1, 2);
|
||||
master_create_worker_shards
|
||||
-----------------------------
|
||||
SELECT create_distributed_table('dustbunnies', 'id', 'hash');
|
||||
create_distributed_table
|
||||
--------------------------
|
||||
|
||||
(1 row)
|
||||
|
||||
|
|
|
@ -182,8 +182,8 @@ SELECT o_orderkey, l_linenumber FROM priority_orders left join air_shipped_linei
|
|||
-- it passes planning, fails at execution stage
|
||||
SET client_min_messages TO DEBUG1;
|
||||
SELECT * FROM priority_orders JOIN air_shipped_lineitems ON (o_custkey = l_suppkey) ORDER BY o_orderkey DESC, o_custkey DESC, o_orderpriority DESC LIMIT 5;
|
||||
DEBUG: generating subplan 22_1 for subquery SELECT lineitem_hash_part.l_orderkey, lineitem_hash_part.l_partkey, lineitem_hash_part.l_suppkey, lineitem_hash_part.l_linenumber, lineitem_hash_part.l_quantity, lineitem_hash_part.l_extendedprice, lineitem_hash_part.l_discount, lineitem_hash_part.l_tax, lineitem_hash_part.l_returnflag, lineitem_hash_part.l_linestatus, lineitem_hash_part.l_shipdate, lineitem_hash_part.l_commitdate, lineitem_hash_part.l_receiptdate, lineitem_hash_part.l_shipinstruct, lineitem_hash_part.l_shipmode, lineitem_hash_part.l_comment FROM public.lineitem_hash_part WHERE (lineitem_hash_part.l_shipmode = 'AIR'::bpchar)
|
||||
DEBUG: Plan 22 query after replacing subqueries and CTEs: SELECT priority_orders.o_orderkey, priority_orders.o_custkey, priority_orders.o_orderstatus, priority_orders.o_totalprice, priority_orders.o_orderdate, priority_orders.o_orderpriority, priority_orders.o_clerk, priority_orders.o_shippriority, priority_orders.o_comment, air_shipped_lineitems.l_orderkey, air_shipped_lineitems.l_partkey, air_shipped_lineitems.l_suppkey, air_shipped_lineitems.l_linenumber, air_shipped_lineitems.l_quantity, air_shipped_lineitems.l_extendedprice, air_shipped_lineitems.l_discount, air_shipped_lineitems.l_tax, air_shipped_lineitems.l_returnflag, air_shipped_lineitems.l_linestatus, air_shipped_lineitems.l_shipdate, air_shipped_lineitems.l_commitdate, air_shipped_lineitems.l_receiptdate, air_shipped_lineitems.l_shipinstruct, air_shipped_lineitems.l_shipmode, air_shipped_lineitems.l_comment FROM ((SELECT orders_hash_part.o_orderkey, orders_hash_part.o_custkey, orders_hash_part.o_orderstatus, orders_hash_part.o_totalprice, orders_hash_part.o_orderdate, orders_hash_part.o_orderpriority, orders_hash_part.o_clerk, orders_hash_part.o_shippriority, orders_hash_part.o_comment FROM public.orders_hash_part WHERE (orders_hash_part.o_orderpriority < '3-MEDIUM'::bpchar)) priority_orders JOIN (SELECT intermediate_result.l_orderkey, intermediate_result.l_partkey, intermediate_result.l_suppkey, intermediate_result.l_linenumber, intermediate_result.l_quantity, intermediate_result.l_extendedprice, intermediate_result.l_discount, intermediate_result.l_tax, intermediate_result.l_returnflag, intermediate_result.l_linestatus, intermediate_result.l_shipdate, intermediate_result.l_commitdate, intermediate_result.l_receiptdate, intermediate_result.l_shipinstruct, intermediate_result.l_shipmode, intermediate_result.l_comment FROM read_intermediate_result('22_1'::text, 'binary'::citus_copy_format) intermediate_result(l_orderkey bigint, l_partkey integer, l_suppkey integer, l_linenumber integer, l_quantity numeric(15,2), l_extendedprice numeric(15,2), l_discount numeric(15,2), l_tax numeric(15,2), l_returnflag character(1), l_linestatus character(1), l_shipdate date, l_commitdate date, l_receiptdate date, l_shipinstruct character(25), l_shipmode character(10), l_comment character varying(44))) air_shipped_lineitems ON ((priority_orders.o_custkey = air_shipped_lineitems.l_suppkey))) ORDER BY priority_orders.o_orderkey DESC, priority_orders.o_custkey DESC, priority_orders.o_orderpriority DESC LIMIT 5
|
||||
DEBUG: generating subplan 22_1 for subquery SELECT lineitem_hash_part.l_orderkey, lineitem_hash_part.l_partkey, lineitem_hash_part.l_suppkey, lineitem_hash_part.l_linenumber, lineitem_hash_part.l_quantity, lineitem_hash_part.l_extendedprice, lineitem_hash_part.l_discount, lineitem_hash_part.l_tax, lineitem_hash_part.l_returnflag, lineitem_hash_part.l_linestatus, lineitem_hash_part.l_shipdate, lineitem_hash_part.l_commitdate, lineitem_hash_part.l_receiptdate, lineitem_hash_part.l_shipinstruct, lineitem_hash_part.l_shipmode, lineitem_hash_part.l_comment FROM public.lineitem_hash_part WHERE (lineitem_hash_part.l_shipmode OPERATOR(pg_catalog.=) 'AIR'::bpchar)
|
||||
DEBUG: Plan 22 query after replacing subqueries and CTEs: SELECT priority_orders.o_orderkey, priority_orders.o_custkey, priority_orders.o_orderstatus, priority_orders.o_totalprice, priority_orders.o_orderdate, priority_orders.o_orderpriority, priority_orders.o_clerk, priority_orders.o_shippriority, priority_orders.o_comment, air_shipped_lineitems.l_orderkey, air_shipped_lineitems.l_partkey, air_shipped_lineitems.l_suppkey, air_shipped_lineitems.l_linenumber, air_shipped_lineitems.l_quantity, air_shipped_lineitems.l_extendedprice, air_shipped_lineitems.l_discount, air_shipped_lineitems.l_tax, air_shipped_lineitems.l_returnflag, air_shipped_lineitems.l_linestatus, air_shipped_lineitems.l_shipdate, air_shipped_lineitems.l_commitdate, air_shipped_lineitems.l_receiptdate, air_shipped_lineitems.l_shipinstruct, air_shipped_lineitems.l_shipmode, air_shipped_lineitems.l_comment FROM ((SELECT orders_hash_part.o_orderkey, orders_hash_part.o_custkey, orders_hash_part.o_orderstatus, orders_hash_part.o_totalprice, orders_hash_part.o_orderdate, orders_hash_part.o_orderpriority, orders_hash_part.o_clerk, orders_hash_part.o_shippriority, orders_hash_part.o_comment FROM public.orders_hash_part WHERE (orders_hash_part.o_orderpriority OPERATOR(pg_catalog.<) '3-MEDIUM'::bpchar)) priority_orders JOIN (SELECT intermediate_result.l_orderkey, intermediate_result.l_partkey, intermediate_result.l_suppkey, intermediate_result.l_linenumber, intermediate_result.l_quantity, intermediate_result.l_extendedprice, intermediate_result.l_discount, intermediate_result.l_tax, intermediate_result.l_returnflag, intermediate_result.l_linestatus, intermediate_result.l_shipdate, intermediate_result.l_commitdate, intermediate_result.l_receiptdate, intermediate_result.l_shipinstruct, intermediate_result.l_shipmode, intermediate_result.l_comment FROM read_intermediate_result('22_1'::text, 'binary'::citus_copy_format) intermediate_result(l_orderkey bigint, l_partkey integer, l_suppkey integer, l_linenumber integer, l_quantity numeric(15,2), l_extendedprice numeric(15,2), l_discount numeric(15,2), l_tax numeric(15,2), l_returnflag character(1), l_linestatus character(1), l_shipdate date, l_commitdate date, l_receiptdate date, l_shipinstruct character(25), l_shipmode character(10), l_comment character varying(44))) air_shipped_lineitems ON ((priority_orders.o_custkey OPERATOR(pg_catalog.=) air_shipped_lineitems.l_suppkey))) ORDER BY priority_orders.o_orderkey DESC, priority_orders.o_custkey DESC, priority_orders.o_orderpriority DESC LIMIT 5
|
||||
DEBUG: push down of limit count: 5
|
||||
o_orderkey | o_custkey | o_orderstatus | o_totalprice | o_orderdate | o_orderpriority | o_clerk | o_shippriority | o_comment | l_orderkey | l_partkey | l_suppkey | l_linenumber | l_quantity | l_extendedprice | l_discount | l_tax | l_returnflag | l_linestatus | l_shipdate | l_commitdate | l_receiptdate | l_shipinstruct | l_shipmode | l_comment
|
||||
------------+-----------+---------------+--------------+-------------+-----------------+-----------------+----------------+-------------------------------------------------------+------------+-----------+-----------+--------------+------------+-----------------+------------+-------+--------------+--------------+------------+--------------+---------------+---------------------------+------------+-------------------------------------------
|
||||
|
|
|
@ -2,10 +2,10 @@
|
|||
--- tests around access tracking within transaction blocks
|
||||
---
|
||||
SHOW server_version \gset
|
||||
SELECT substring(:'server_version', '\d+')::int AS server_version;
|
||||
server_version
|
||||
----------------
|
||||
10
|
||||
SELECT substring(:'server_version', '\d+')::int >= 10 AS version_ten_or_above;
|
||||
version_ten_or_above
|
||||
----------------------
|
||||
t
|
||||
(1 row)
|
||||
|
||||
CREATE SCHEMA access_tracking;
|
||||
|
|
|
@ -2,10 +2,10 @@
|
|||
--- tests around access tracking within transaction blocks
|
||||
---
|
||||
SHOW server_version \gset
|
||||
SELECT substring(:'server_version', '\d+')::int AS server_version;
|
||||
server_version
|
||||
----------------
|
||||
9
|
||||
SELECT substring(:'server_version', '\d+')::int >= 10 AS version_ten_or_above;
|
||||
version_ten_or_above
|
||||
----------------------
|
||||
f
|
||||
(1 row)
|
||||
|
||||
CREATE SCHEMA access_tracking;
|
||||
|
|
|
@ -470,7 +470,10 @@ SELECT create_distributed_table('sequence_deadlock_test', 'a');
|
|||
|
||||
BEGIN;
|
||||
ALTER TABLE sequence_deadlock_test ADD COLUMN c int;
|
||||
-- suppress notice message caused by DROP ... CASCADE to prevent pg version difference
|
||||
SET client_min_messages TO 'WARNING';
|
||||
DROP SEQUENCE sequence_deadlock_test_b_seq CASCADE;
|
||||
RESET client_min_messages;
|
||||
END;
|
||||
|
||||
DROP TABLE sequence_deadlock_test;
|
||||
|
|
|
@ -960,8 +960,10 @@ SELECT create_distributed_table('sequence_deadlock_test', 'a');
|
|||
|
||||
BEGIN;
|
||||
ALTER TABLE sequence_deadlock_test ADD COLUMN c int;
|
||||
-- suppress notice message caused by DROP ... CASCADE to prevent pg version difference
|
||||
SET client_min_messages TO 'WARNING';
|
||||
DROP SEQUENCE sequence_deadlock_test_b_seq CASCADE;
|
||||
NOTICE: drop cascades to default for table sequence_deadlock_test column b
|
||||
RESET client_min_messages;
|
||||
END;
|
||||
DROP TABLE sequence_deadlock_test;
|
||||
-- verify enable/disable trigger all works
|
||||
|
|
|
@ -3,6 +3,8 @@
|
|||
-- there is foreign key relation between reference
|
||||
-- tables and distributed tables
|
||||
--
|
||||
SHOW server_version \gset
|
||||
SELECT substring(:'server_version', '\d+')::int > 10 AS version_above_ten;
|
||||
|
||||
CREATE SCHEMA test_fkey_to_ref_in_tx;
|
||||
SET search_path TO 'test_fkey_to_ref_in_tx';
|
||||
|
|
|
@ -201,7 +201,10 @@ EXECUTE prepared_partition_column_insert(4);
|
|||
EXECUTE prepared_partition_column_insert(5);
|
||||
EXECUTE prepared_partition_column_insert(6);
|
||||
|
||||
-- suppress notice message caused by DROP ... CASCADE to prevent pg version difference
|
||||
SET client_min_messages TO 'WARNING';
|
||||
DROP TYPE test_composite_type CASCADE;
|
||||
RESET client_min_messages;
|
||||
|
||||
-- test router executor with prepare statements
|
||||
CREATE TABLE prepare_table (
|
||||
|
|
|
@ -212,7 +212,10 @@ DROP SEQUENCE some_sequence;
|
|||
-- Show that dropping the sequence of an MX table with cascade harms the table and shards
|
||||
BEGIN;
|
||||
SELECT "Column", "Type", "Modifiers" FROM table_desc WHERE relid='public.mx_table'::regclass;
|
||||
-- suppress notice message caused by DROP ... CASCADE to prevent pg version difference
|
||||
SET client_min_messages TO 'WARNING';
|
||||
DROP SEQUENCE mx_table_col_3_seq CASCADE;
|
||||
RESET client_min_messages;
|
||||
SELECT "Column", "Type", "Modifiers" FROM table_desc WHERE relid='public.mx_table'::regclass;
|
||||
ROLLBACK;
|
||||
|
||||
|
|
|
@ -3,7 +3,7 @@
|
|||
--- tests around access tracking within transaction blocks
|
||||
---
|
||||
SHOW server_version \gset
|
||||
SELECT substring(:'server_version', '\d+')::int AS server_version;
|
||||
SELECT substring(:'server_version', '\d+')::int >= 10 AS version_ten_or_above;
|
||||
|
||||
CREATE SCHEMA access_tracking;
|
||||
SET search_path TO 'access_tracking';
|
||||
|
|
Loading…
Reference in New Issue