hawq-commits mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From y...@apache.org
Subject [4/4] incubator-hawq git commit: HAWQ-750. Test prepare and sequence using new test library
Date Mon, 23 May 2016 08:52:12 GMT
HAWQ-750. Test prepare and sequence using new test library


Project: http://git-wip-us.apache.org/repos/asf/incubator-hawq/repo
Commit: http://git-wip-us.apache.org/repos/asf/incubator-hawq/commit/ec5a9bad
Tree: http://git-wip-us.apache.org/repos/asf/incubator-hawq/tree/ec5a9bad
Diff: http://git-wip-us.apache.org/repos/asf/incubator-hawq/diff/ec5a9bad

Branch: refs/heads/master
Commit: ec5a9bad8eeacb421327920df5e720a5f6df6c7c
Parents: 120ee70
Author: YI JIN <yjin@pivotal.io>
Authored: Mon May 23 18:51:28 2016 +1000
Committer: YI JIN <yjin@pivotal.io>
Committed: Mon May 23 18:51:28 2016 +1000

----------------------------------------------------------------------
 .../feature/query/ans/prepare-parameters.ans    |   112 +
 .../feature/query/ans/prepare-uniqueness.ans    |    43 +
 .../feature/query/ans/sequence-dependency.ans   |    27 +
 .../query/ans/sequence-serialcol-null.ans       |     2 +
 .../query/ans/sequence-serialcol-query.ans      |     7 +
 .../query/ans/sequence-serialcol-query2.ans     |     8 +
 src/test/feature/query/data/streets.data        |  5124 +++++++++
 src/test/feature/query/data/tenk.data           | 10000 +++++++++++++++++
 .../feature/query/sql/prepare-parameters.sql    |    31 +
 .../feature/query/sql/prepare-uniqueness.sql    |    18 +
 .../feature/query/sql/sequence-dependency.sql   |    14 +
 .../query/sql/sequence-serialcol-null.sql       |     1 +
 .../query/sql/sequence-serialcol-query.sql      |     1 +
 src/test/feature/query/test-prepare.cpp         |    72 +
 src/test/feature/query/test-sequence.cpp        |   122 +
 15 files changed, 15582 insertions(+)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/incubator-hawq/blob/ec5a9bad/src/test/feature/query/ans/prepare-parameters.ans
----------------------------------------------------------------------
diff --git a/src/test/feature/query/ans/prepare-parameters.ans b/src/test/feature/query/ans/prepare-parameters.ans
new file mode 100644
index 0000000..b94963e
--- /dev/null
+++ b/src/test/feature/query/ans/prepare-parameters.ans
@@ -0,0 +1,112 @@
+PREPARE q2(text) AS
+        SELECT datname, datistemplate, datallowconn
+        FROM pg_database WHERE datname = $1;
+PREPARE
+EXECUTE q2('regression');
+  datname   | datistemplate | datallowconn 
+------------+---------------+--------------
+ regression | f             | t
+(1 row)
+
+PREPARE q3(text, int, float, boolean, oid, smallint) AS
+        SELECT * FROM test1 WHERE string4 = $1 AND (four = $2 OR
+        ten = $3::bigint OR true = $4 OR oid = $5 OR odd = $6::int) ORDER BY 1,2,3,4;
+PREPARE
+EXECUTE q3('AAAAxx', 5::smallint, 10.5::float, false, 500::oid, 4::bigint);
+ unique1 | unique2 | two | four | ten | twenty | hundred | thousand | twothousand | fivethous
| tenthous | odd | even | stringu1 | stringu2 | string4 
+---------+---------+-----+------+-----+--------+---------+----------+-------------+-----------+----------+-----+------+----------+----------+---------
+       2 |    2716 |   0 |    2 |   2 |      2 |       2 |        2 |           2 |     
   2 |        2 |   4 |    5 | CAAAAA   | MAEAAA   | AAAAxx
+     102 |     612 |   0 |    2 |   2 |      2 |       2 |      102 |         102 |     
 102 |      102 |   4 |    5 | YDAAAA   | OXAAAA   | AAAAxx
+     802 |    2908 |   0 |    2 |   2 |      2 |       2 |      802 |         802 |     
 802 |      802 |   4 |    5 | WEAAAA   | WHEAAA   | AAAAxx
+     902 |    1104 |   0 |    2 |   2 |      2 |       2 |      902 |         902 |     
 902 |      902 |   4 |    5 | SIAAAA   | MQBAAA   | AAAAxx
+    1002 |    2580 |   0 |    2 |   2 |      2 |       2 |        2 |        1002 |     
1002 |     1002 |   4 |    5 | OMAAAA   | GVDAAA   | AAAAxx
+    1602 |    8148 |   0 |    2 |   2 |      2 |       2 |      602 |        1602 |     
1602 |     1602 |   4 |    5 | QJAAAA   | KBMAAA   | AAAAxx
+    1702 |    7940 |   0 |    2 |   2 |      2 |       2 |      702 |        1702 |     
1702 |     1702 |   4 |    5 | MNAAAA   | KTLAAA   | AAAAxx
+    2102 |    6184 |   0 |    2 |   2 |      2 |       2 |      102 |         102 |     
2102 |     2102 |   4 |    5 | WCAAAA   | WDJAAA   | AAAAxx
+    2202 |    8028 |   0 |    2 |   2 |      2 |       2 |      202 |         202 |     
2202 |     2202 |   4 |    5 | SGAAAA   | UWLAAA   | AAAAxx
+    2302 |    7112 |   0 |    2 |   2 |      2 |       2 |      302 |         302 |     
2302 |     2302 |   4 |    5 | OKAAAA   | ONKAAA   | AAAAxx
+    2902 |    6816 |   0 |    2 |   2 |      2 |       2 |      902 |         902 |     
2902 |     2902 |   4 |    5 | QHAAAA   | ECKAAA   | AAAAxx
+    3202 |    7128 |   0 |    2 |   2 |      2 |       2 |      202 |        1202 |     
3202 |     3202 |   4 |    5 | ETAAAA   | EOKAAA   | AAAAxx
+    3902 |    9224 |   0 |    2 |   2 |      2 |       2 |      902 |        1902 |     
3902 |     3902 |   4 |    5 | CUAAAA   | UQNAAA   | AAAAxx
+    4102 |    7676 |   0 |    2 |   2 |      2 |       2 |      102 |         102 |     
4102 |     4102 |   4 |    5 | UBAAAA   | GJLAAA   | AAAAxx
+    4202 |    6628 |   0 |    2 |   2 |      2 |       2 |      202 |         202 |     
4202 |     4202 |   4 |    5 | QFAAAA   | YUJAAA   | AAAAxx
+    4502 |     412 |   0 |    2 |   2 |      2 |       2 |      502 |         502 |     
4502 |     4502 |   4 |    5 | ERAAAA   | WPAAAA   | AAAAxx
+    4702 |    2520 |   0 |    2 |   2 |      2 |       2 |      702 |         702 |     
4702 |     4702 |   4 |    5 | WYAAAA   | YSDAAA   | AAAAxx
+    4902 |    1600 |   0 |    2 |   2 |      2 |       2 |      902 |         902 |     
4902 |     4902 |   4 |    5 | OGAAAA   | OJCAAA   | AAAAxx
+    5602 |    8796 |   0 |    2 |   2 |      2 |       2 |      602 |        1602 |     
 602 |     5602 |   4 |    5 | MHAAAA   | IANAAA   | AAAAxx
+    6002 |    8932 |   0 |    2 |   2 |      2 |       2 |        2 |           2 |     
1002 |     6002 |   4 |    5 | WWAAAA   | OFNAAA   | AAAAxx
+    6402 |    3808 |   0 |    2 |   2 |      2 |       2 |      402 |         402 |     
1402 |     6402 |   4 |    5 | GMAAAA   | MQFAAA   | AAAAxx
+    7602 |    1040 |   0 |    2 |   2 |      2 |       2 |      602 |        1602 |     
2602 |     7602 |   4 |    5 | KGAAAA   | AOBAAA   | AAAAxx
+    7802 |    7508 |   0 |    2 |   2 |      2 |       2 |      802 |        1802 |     
2802 |     7802 |   4 |    5 | COAAAA   | UCLAAA   | AAAAxx
+    8002 |    9980 |   0 |    2 |   2 |      2 |       2 |        2 |           2 |     
3002 |     8002 |   4 |    5 | UVAAAA   | WTOAAA   | AAAAxx
+    8302 |    7800 |   0 |    2 |   2 |      2 |       2 |      302 |         302 |     
3302 |     8302 |   4 |    5 | IHAAAA   | AOLAAA   | AAAAxx
+    8402 |    5708 |   0 |    2 |   2 |      2 |       2 |      402 |         402 |     
3402 |     8402 |   4 |    5 | ELAAAA   | OLIAAA   | AAAAxx
+    8602 |    5440 |   0 |    2 |   2 |      2 |       2 |      602 |         602 |     
3602 |     8602 |   4 |    5 | WSAAAA   | GBIAAA   | AAAAxx
+    9502 |    1812 |   0 |    2 |   2 |      2 |       2 |      502 |        1502 |     
4502 |     9502 |   4 |    5 | MBAAAA   | SRCAAA   | AAAAxx
+    9602 |    9972 |   0 |    2 |   2 |      2 |       2 |      602 |        1602 |     
4602 |     9602 |   4 |    5 | IFAAAA   | OTOAAA   | AAAAxx
+(29 rows)
+
+EXECUTE q3('bool');
+psql:/tmp/TestQueryPrepare_TestPrepareParameters.sql:16: ERROR:  wrong number of parameters
for prepared statement "q3"
+DETAIL:  Expected 6 parameters but got 1.
+EXECUTE q3('bytea', 5::smallint, 10.5::float, false, 500::oid, 4::bigint, true);
+psql:/tmp/TestQueryPrepare_TestPrepareParameters.sql:18: ERROR:  wrong number of parameters
for prepared statement "q3"
+DETAIL:  Expected 6 parameters but got 7.
+EXECUTE q3(5::smallint, 10.5::float, false, 500::oid, 4::bigint, 'bytea');
+psql:/tmp/TestQueryPrepare_TestPrepareParameters.sql:20: ERROR:  parameter $3 of type boolean
cannot be coerced to the expected type double precision
+LINE 1: EXECUTE q3(5::smallint, 10.5::float, false, 500::oid, 4::big...
+                                             ^
+HINT:  You will need to rewrite or cast the expression.
+PREPARE q4(nonexistenttype) AS SELECT $1;
+psql:/tmp/TestQueryPrepare_TestPrepareParameters.sql:22: ERROR:  type "nonexistenttype" does
not exist
+LINE 1: PREPARE q4(nonexistenttype) AS SELECT $1;
+                   ^
+PREPARE q5(int, text) AS
+        SELECT * FROM test1 WHERE unique1 = $1 OR stringu1 = $2;
+PREPARE
+CREATE TEMPORARY TABLE q5_prep_results AS EXECUTE q5(200, 'DTAAAA');
+SELECT 16
+SELECT * FROM q5_prep_results ORDER BY 1,2,3,4;
+ unique1 | unique2 | two | four | ten | twenty | hundred | thousand | twothousand | fivethous
| tenthous | odd | even | stringu1 | stringu2 | string4 
+---------+---------+-----+------+-----+--------+---------+----------+-------------+-----------+----------+-----+------+----------+----------+---------
+     200 |    9441 |   0 |    0 |   0 |      0 |       0 |      200 |         200 |     
 200 |      200 |   0 |    1 | SHAAAA   | DZNAAA   | HHHHxx
+     497 |    9092 |   1 |    1 |   7 |     17 |      97 |      497 |         497 |     
 497 |      497 | 194 |  195 | DTAAAA   | SLNAAA   | AAAAxx
+    1173 |    6699 |   1 |    1 |   3 |     13 |      73 |      173 |        1173 |     
1173 |     1173 | 146 |  147 | DTAAAA   | RXJAAA   | VVVVxx
+    1849 |    8143 |   1 |    1 |   9 |      9 |      49 |      849 |        1849 |     
1849 |     1849 |  98 |   99 | DTAAAA   | FBMAAA   | VVVVxx
+    2525 |      64 |   1 |    1 |   5 |      5 |      25 |      525 |         525 |     
2525 |     2525 |  50 |   51 | DTAAAA   | MCAAAA   | AAAAxx
+    3201 |    7309 |   1 |    1 |   1 |      1 |       1 |      201 |        1201 |     
3201 |     3201 |   2 |    3 | DTAAAA   | DVKAAA   | HHHHxx
+    3877 |    4060 |   1 |    1 |   7 |     17 |      77 |      877 |        1877 |     
3877 |     3877 | 154 |  155 | DTAAAA   | EAGAAA   | AAAAxx
+    4553 |    4113 |   1 |    1 |   3 |     13 |      53 |      553 |         553 |     
4553 |     4553 | 106 |  107 | DTAAAA   | FCGAAA   | HHHHxx
+    5229 |    6407 |   1 |    1 |   9 |      9 |      29 |      229 |        1229 |     
 229 |     5229 |  58 |   59 | DTAAAA   | LMJAAA   | VVVVxx
+    5905 |    9537 |   1 |    1 |   5 |      5 |       5 |      905 |        1905 |     
 905 |     5905 |  10 |   11 | DTAAAA   | VCOAAA   | HHHHxx
+    6581 |    4686 |   1 |    1 |   1 |      1 |      81 |      581 |         581 |     
1581 |     6581 | 162 |  163 | DTAAAA   | GYGAAA   | OOOOxx
+    7257 |    1895 |   1 |    1 |   7 |     17 |      57 |      257 |        1257 |     
2257 |     7257 | 114 |  115 | DTAAAA   | XUCAAA   | VVVVxx
+    7933 |    4514 |   1 |    1 |   3 |     13 |      33 |      933 |        1933 |     
2933 |     7933 |  66 |   67 | DTAAAA   | QRGAAA   | OOOOxx
+    8609 |    5918 |   1 |    1 |   9 |      9 |       9 |      609 |         609 |     
3609 |     8609 |  18 |   19 | DTAAAA   | QTIAAA   | OOOOxx
+    9285 |    8469 |   1 |    1 |   5 |      5 |      85 |      285 |        1285 |     
4285 |     9285 | 170 |  171 | DTAAAA   | TNMAAA   | HHHHxx
+    9961 |    2058 |   1 |    1 |   1 |      1 |      61 |      961 |        1961 |     
4961 |     9961 | 122 |  123 | DTAAAA   | EBDAAA   | OOOOxx
+(16 rows)
+
+PREPARE q6 AS
+    SELECT * FROM test1 WHERE unique1 = $1 AND stringu1 = $2;
+PREPARE
+PREPARE q7(unknown) AS
+    SELECT * FROM test2 WHERE thepath = $1;
+PREPARE
+SELECT name, statement, parameter_types FROM pg_prepared_statements ORDER BY name;
+ name |                                       statement                                 
     |                    parameter_types                     
+------+---------------------------------------------------------------------------------------+--------------------------------------------------------
+ q2   | PREPARE q2(text) AS                                                             
     | {text}
+      :         SELECT datname, datistemplate, datallowconn                             
       
+      :         FROM pg_database WHERE datname = $1;                                    
       
+ q3   | PREPARE q3(text, int, float, boolean, oid, smallint) AS                         
     | {text,integer,"double precision",boolean,oid,smallint}
+      :         SELECT * FROM test1 WHERE string4 = $1 AND (four = $2 OR                
       
+      :         ten = $3::bigint OR true = $4 OR oid = $5 OR odd = $6::int) ORDER BY 1,2,3,4;
  
+ q5   | PREPARE q5(int, text) AS                                                        
     | {integer,text}
+      :         SELECT * FROM test1 WHERE unique1 = $1 OR stringu1 = $2;                
       
+ q6   | PREPARE q6 AS                                                                   
     | {integer,name}
+      :     SELECT * FROM test1 WHERE unique1 = $1 AND stringu1 = $2;                   
       
+ q7   | PREPARE q7(unknown) AS                                                          
     | {path}
+      :     SELECT * FROM test2 WHERE thepath = $1;                                     
       
+(5 rows)
+

http://git-wip-us.apache.org/repos/asf/incubator-hawq/blob/ec5a9bad/src/test/feature/query/ans/prepare-uniqueness.ans
----------------------------------------------------------------------
diff --git a/src/test/feature/query/ans/prepare-uniqueness.ans b/src/test/feature/query/ans/prepare-uniqueness.ans
new file mode 100644
index 0000000..fe34a18
--- /dev/null
+++ b/src/test/feature/query/ans/prepare-uniqueness.ans
@@ -0,0 +1,43 @@
+SELECT name, statement, parameter_types FROM pg_prepared_statements ORDER BY 1,2,3;
+ name | statement | parameter_types 
+------+-----------+-----------------
+(0 rows)
+
+PREPARE q1 AS SELECT 1 AS a;
+PREPARE
+EXECUTE q1;
+ a 
+---
+ 1
+(1 row)
+
+PREPARE q1 AS SELECT 2;
+psql:/tmp/TestQueryPrepare_TestPrepareUniqueness.sql:9: ERROR:  prepared statement "q1" already
exists
+DEALLOCATE q1;
+DEALLOCATE
+PREPARE q1 AS SELECT 2;
+PREPARE
+EXECUTE q1;
+ ?column? 
+----------
+        2
+(1 row)
+
+PREPARE q2 AS SELECT 2 AS b;
+PREPARE
+SELECT name, statement, parameter_types FROM pg_prepared_statements ORDER BY 1,2,3;
+ name |          statement           | parameter_types 
+------+------------------------------+-----------------
+ q1   | PREPARE q1 AS SELECT 2;      | {}
+ q2   | PREPARE q2 AS SELECT 2 AS b; | {}
+(2 rows)
+
+DEALLOCATE PREPARE q1;
+DEALLOCATE
+DEALLOCATE PREPARE q2;
+DEALLOCATE
+SELECT name, statement, parameter_types FROM pg_prepared_statements ORDER BY 1,2,3;
+ name | statement | parameter_types 
+------+-----------+-----------------
+(0 rows)
+

http://git-wip-us.apache.org/repos/asf/incubator-hawq/blob/ec5a9bad/src/test/feature/query/ans/sequence-dependency.ans
----------------------------------------------------------------------
diff --git a/src/test/feature/query/ans/sequence-dependency.ans b/src/test/feature/query/ans/sequence-dependency.ans
new file mode 100644
index 0000000..9df5778
--- /dev/null
+++ b/src/test/feature/query/ans/sequence-dependency.ans
@@ -0,0 +1,27 @@
+CREATE TEMP SEQUENCE myseq2;
+CREATE SEQUENCE
+CREATE TEMPORARY SEQUENCE myseq3;
+CREATE SEQUENCE
+CREATE TEMP TABLE t1 (f1 SERIAL, 
+                      f2 INT DEFAULT NEXTVAL('myseq2'),
+                      f3 INT DEFAULT NEXTVAL('myseq3'::text)
+);
+psql:/tmp/TestQuerySequence_TestSequenceDependency.sql:9: NOTICE:  CREATE TABLE will create
implicit sequence "t1_f1_seq" for serial column "t1.f1"
+CREATE TABLE
+DROP SEQUENCE t1_f1_seq;
+psql:/tmp/TestQuerySequence_TestSequenceDependency.sql:11: NOTICE:  default for append only
table t1 column f1 depends on sequence t1_f1_seq
+psql:/tmp/TestQuerySequence_TestSequenceDependency.sql:11: ERROR:  cannot drop sequence t1_f1_seq
because other objects depend on it
+HINT:  Use DROP ... CASCADE to drop the dependent objects too.
+DROP SEQUENCE myseq2;
+psql:/tmp/TestQuerySequence_TestSequenceDependency.sql:12: NOTICE:  default for append only
table t1 column f2 depends on sequence myseq2
+psql:/tmp/TestQuerySequence_TestSequenceDependency.sql:12: ERROR:  cannot drop sequence myseq2
because other objects depend on it
+HINT:  Use DROP ... CASCADE to drop the dependent objects too.
+DROP SEQUENCE myseq3;
+DROP SEQUENCE
+DROP TABLE t1;
+DROP TABLE
+DROP SEQUENCE t1_f1_seq;
+psql:/tmp/TestQuerySequence_TestSequenceDependency.sql:15: ERROR:  sequence "t1_f1_seq" does
not exist
+DROP SEQUENCE myseq2;
+DROP SEQUENCE
+					  

http://git-wip-us.apache.org/repos/asf/incubator-hawq/blob/ec5a9bad/src/test/feature/query/ans/sequence-serialcol-null.ans
----------------------------------------------------------------------
diff --git a/src/test/feature/query/ans/sequence-serialcol-null.ans b/src/test/feature/query/ans/sequence-serialcol-null.ans
new file mode 100644
index 0000000..f54365c
--- /dev/null
+++ b/src/test/feature/query/ans/sequence-serialcol-null.ans
@@ -0,0 +1,2 @@
+INSERT INTO serialtest VALUES('wrong',NULL);
+psql:/tmp/TestQuerySequence_TestSequenceCreateSerialColumn.sql:4: ERROR:  null value in column
"f2" violates not-null constraint  (seg0 dummy:40000 pid=32346)

http://git-wip-us.apache.org/repos/asf/incubator-hawq/blob/ec5a9bad/src/test/feature/query/ans/sequence-serialcol-query.ans
----------------------------------------------------------------------
diff --git a/src/test/feature/query/ans/sequence-serialcol-query.ans b/src/test/feature/query/ans/sequence-serialcol-query.ans
new file mode 100644
index 0000000..bacd31c
--- /dev/null
+++ b/src/test/feature/query/ans/sequence-serialcol-query.ans
@@ -0,0 +1,7 @@
+select * from serialtest order by f2;
+  f1   | f2  
+-------+-----
+ foo   |   1
+ force | 100
+(2 rows)
+

http://git-wip-us.apache.org/repos/asf/incubator-hawq/blob/ec5a9bad/src/test/feature/query/ans/sequence-serialcol-query2.ans
----------------------------------------------------------------------
diff --git a/src/test/feature/query/ans/sequence-serialcol-query2.ans b/src/test/feature/query/ans/sequence-serialcol-query2.ans
new file mode 100644
index 0000000..73f439b
--- /dev/null
+++ b/src/test/feature/query/ans/sequence-serialcol-query2.ans
@@ -0,0 +1,8 @@
+select * from serialtest order by f2;
+  f1   | f2  
+-------+-----
+ foo   |   1
+ more  |   2
+ force | 100
+(3 rows)
+


Mime
View raw message