提交 052fad26 编写于 作者: H Heikki Linnakangas

Remove redundant TINC tests on serial and bigserial types.

Serial and bigserial are just aliases for int4 and int8, respectively,
with a DEFAULT (nextval(seq)). The boundary tests are there for redundant
with the boundary tests on int8, in the 'int8' test in the main suite, and
the 'dml_serial' is redundant with the tests on serial datatype in the
'sequence' test in the main suite.
上级 67c79899
-- @author prabhd
-- @created 2012-12-05 12:00:00
-- @modified 2012-12-05 12:00:00
-- @tags dml
-- @db_name dmldb
-- @description test: Boundary test for bigserial
DROP TABLE IF EXISTS dml_bigserial;
DROP TABLE
CREATE TABLE dml_bigserial (a bigserial) distributed by (a);
HINT: The 'DISTRIBUTED BY' clause determines the distribution of data. Make sure column(s) chosen are the optimal data distribution key to minimize skew.
CREATE TABLE
-- Simple DML
INSERT INTO dml_bigserial VALUES(9223372036854775807);
INSERT 0 1
SELECT * FROM dml_bigserial ORDER BY 1;
a
---------------------
9223372036854775807
(1 row)
INSERT INTO dml_bigserial VALUES(0);
INSERT 0 1
SELECT * FROM dml_bigserial ORDER BY 1;
a
---------------------
0
9223372036854775807
(2 rows)
UPDATE dml_bigserial SET a = 9223372036854775807;
UPDATE 2
SELECT * FROM dml_bigserial ORDER BY 1;
a
---------------------
9223372036854775807
9223372036854775807
(2 rows)
UPDATE dml_bigserial SET a = 0;
UPDATE 2
SELECT * FROM dml_bigserial ORDER BY 1;
a
---
0
0
(2 rows)
-- OUT OF RANGE
INSERT INTO dml_bigserial VALUES(9223372036854775808);
psql:dml_boundary_bigserial.sql:22: ERROR: bigint out of range
SELECT * FROM dml_bigserial ORDER BY 1;
a
---
0
0
(2 rows)
UPDATE dml_bigserial SET a = 9223372036854775808;
psql:dml_boundary_bigserial.sql:24: ERROR: bigint out of range
SELECT * FROM dml_bigserial ORDER BY 1;
a
---
0
0
(2 rows)
-- @author prabhd
-- @created 2012-12-05 12:00:00
-- @modified 2012-12-05 12:00:00
-- @tags dml
-- @db_name dmldb
-- @description test: Boundary test for serial
DROP SEQUENCE IF EXISTS serial;
DROP SEQUENCE
CREATE SEQUENCE serial START 101;
CREATE SEQUENCE
DROP TABLE IF EXISTS dml_serial;
DROP TABLE
CREATE TABLE dml_serial(a serial) distributed by (a);
psql:dml_serial.sql:5: NOTICE: CREATE TABLE will create implicit sequence "dml_serial_a_seq" for serial column "dml_serial.a"
CREATE TABLE
INSERT INTO dml_serial VALUES (nextval('serial'));
INSERT 0 1
INSERT INTO dml_serial VALUES (nextval('serial'));
INSERT 0 1
SELECT * FROM dml_serial ORDER BY 1;
a
-----
101
102
(2 rows)
UPDATE dml_serial set a = nextval('serial');
UPDATE 2
SELECT * FROM dml_serial ORDER BY 1;
a
-----
103
104
(2 rows)
UPDATE dml_serial set a = nextval('serial');
UPDATE 2
SELECT * FROM dml_serial ORDER BY 1;
a
-----
105
106
(2 rows)
-- @author prabhd
-- @created 2012-12-05 12:00:00
-- @modified 2012-12-05 12:00:00
-- @tags dml
-- @db_name dmldb
-- @description test: Boundary test for bigserial
\echo --start_ignore
set gp_enable_column_oriented_table=on;
\echo --end_ignore
DROP TABLE IF EXISTS dml_bigserial;
CREATE TABLE dml_bigserial (a bigserial) distributed by (a);
-- Simple DML
INSERT INTO dml_bigserial VALUES(9223372036854775807);
SELECT * FROM dml_bigserial ORDER BY 1;
INSERT INTO dml_bigserial VALUES(0);
SELECT * FROM dml_bigserial ORDER BY 1;
UPDATE dml_bigserial SET a = 9223372036854775807;
SELECT * FROM dml_bigserial ORDER BY 1;
UPDATE dml_bigserial SET a = 0;
SELECT * FROM dml_bigserial ORDER BY 1;
-- OUT OF RANGE
INSERT INTO dml_bigserial VALUES(9223372036854775808);
SELECT * FROM dml_bigserial ORDER BY 1;
UPDATE dml_bigserial SET a = 9223372036854775808;
SELECT * FROM dml_bigserial ORDER BY 1;
-- @author prabhd
-- @created 2012-12-05 12:00:00
-- @modified 2012-12-05 12:00:00
-- @tags dml
-- @db_name dmldb
-- @description test: Boundary test for serial
\echo --start_ignore
set gp_enable_column_oriented_table=on;
\echo --end_ignore
DROP SEQUENCE IF EXISTS serial;
CREATE SEQUENCE serial START 101;
DROP TABLE IF EXISTS dml_serial;
CREATE TABLE dml_serial(a serial) distributed by (a);
INSERT INTO dml_serial VALUES (nextval('serial'));
INSERT INTO dml_serial VALUES (nextval('serial'));
SELECT * FROM dml_serial ORDER BY 1;
UPDATE dml_serial set a = nextval('serial');
SELECT * FROM dml_serial ORDER BY 1;
UPDATE dml_serial set a = nextval('serial');
SELECT * FROM dml_serial ORDER BY 1;
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册