Changeset: 439edab3bcc5 for MonetDB
URL: http://dev.monetdb.org/hg/MonetDB?cmd=changeset;node=439edab3bcc5
Added Files:
        sql/test/pg_regress/monetdb/copy2.sql
        sql/test/pg_regress/monetdb/create_aggregate.sql
        sql/test/pg_regress/monetdb/create_index.sql
        sql/test/pg_regress/monetdb/create_misc.sql
        sql/test/pg_regress/monetdb/create_operator.sql
        sql/test/pg_regress/monetdb/create_type.sql
        sql/test/pg_regress/monetdb/create_view.sql
        sql/test/pg_regress/monetdb/date.sql
        sql/test/pg_regress/monetdb/domain.sql
        sql/test/pg_regress/monetdb/drop.sql
        sql/test/pg_regress/monetdb/errors.sql
        sql/test/pg_regress/monetdb/float4.sql
        sql/test/pg_regress/monetdb/float8.sql
        sql/test/pg_regress/monetdb/foreign_key.sql
        sql/test/pg_regress/monetdb/geometry.sql
        sql/test/pg_regress/monetdb/hash_index.sql
        sql/test/pg_regress/monetdb/horology.sql
        sql/test/pg_regress/monetdb/inet.sql
        sql/test/pg_regress/monetdb/inherit.sql
        sql/test/pg_regress/monetdb/insert.sql
        sql/test/pg_regress/monetdb/int2.sql
        sql/test/pg_regress/monetdb/int4.sql
        sql/test/pg_regress/monetdb/int8.sql
        sql/test/pg_regress/monetdb/interval.sql
        sql/test/pg_regress/monetdb/join.sql
        sql/test/pg_regress/monetdb/limit.sql
        sql/test/pg_regress/monetdb/lseg.sql
        sql/test/pg_regress/monetdb/mule_internal.sql
        sql/test/pg_regress/monetdb/name.sql
        sql/test/pg_regress/monetdb/namespace.sql
        sql/test/pg_regress/monetdb/numeric.sql
        sql/test/pg_regress/monetdb/numeric_big.sql
        sql/test/pg_regress/monetdb/numerology.sql
        sql/test/pg_regress/monetdb/oid.sql
        sql/test/pg_regress/monetdb/oidjoins.sql
        sql/test/pg_regress/monetdb/opr_sanity.sql
        sql/test/pg_regress/monetdb/path.sql
        sql/test/pg_regress/monetdb/plpgsql.sql
        sql/test/pg_regress/monetdb/point.sql
        sql/test/pg_regress/monetdb/polygon.sql
        sql/test/pg_regress/monetdb/polymorphism.sql
        sql/test/pg_regress/monetdb/portals.sql
        sql/test/pg_regress/monetdb/portals_p2.sql
        sql/test/pg_regress/monetdb/prepare.sql
        sql/test/pg_regress/monetdb/privileges.sql
        sql/test/pg_regress/monetdb/random.sql
        sql/test/pg_regress/monetdb/rangefuncs.sql
        sql/test/pg_regress/monetdb/reltime.sql
        sql/test/pg_regress/monetdb/rowtypes.sql
        sql/test/pg_regress/monetdb/rules.sql
        sql/test/pg_regress/monetdb/sanity_check.sql
        sql/test/pg_regress/monetdb/select.sql
        sql/test/pg_regress/monetdb/select_distinct.sql
        sql/test/pg_regress/monetdb/select_distinct_on.sql
        sql/test/pg_regress/monetdb/select_having.sql
        sql/test/pg_regress/monetdb/select_implicit.sql
        sql/test/pg_regress/monetdb/select_into.sql
        sql/test/pg_regress/monetdb/select_views.sql
        sql/test/pg_regress/monetdb/sequence.sql
        sql/test/pg_regress/monetdb/sql_ascii.sql
        sql/test/pg_regress/monetdb/stats.sql
        sql/test/pg_regress/monetdb/strings.sql
        sql/test/pg_regress/monetdb/subselect.sql
        sql/test/pg_regress/monetdb/temp.sql
        sql/test/pg_regress/monetdb/time.sql
        sql/test/pg_regress/monetdb/timestamp.sql
        sql/test/pg_regress/monetdb/timestamptz.sql
        sql/test/pg_regress/monetdb/timetz.sql
        sql/test/pg_regress/monetdb/tinterval.sql
        sql/test/pg_regress/monetdb/transactions.sql
        sql/test/pg_regress/monetdb/triggers.sql
        sql/test/pg_regress/monetdb/truncate.sql
        sql/test/pg_regress/monetdb/type_sanity.sql
        sql/test/pg_regress/monetdb/union.sql
        sql/test/pg_regress/monetdb/update.sql
        sql/test/pg_regress/monetdb/vacuum.sql
        sql/test/pg_regress/monetdb/without_oid.sql
Branch: Jan2014
Log Message:

adding sql test files
(transplanted from 7fe906fcda85a41b3add2d44b0437cc24f800c68)


diffs (truncated from 15049 to 300 lines):

diff --git a/sql/test/pg_regress/monetdb/copy2.sql 
b/sql/test/pg_regress/monetdb/copy2.sql
new file mode 100644
--- /dev/null
+++ b/sql/test/pg_regress/monetdb/copy2.sql
@@ -0,0 +1,134 @@
+CREATE TABLE x (
+       a serial,
+       b int,
+       c text not null default 'stuff',
+       d text,
+       e text
+);
+
+CREATE FUNCTION fn_x_before () RETURNS TRIGGER AS '
+  BEGIN
+               NEW.e := ''before trigger fired''::text;
+               return NEW;
+       COMMIT;
+' language 'plpgsql';
+
+CREATE FUNCTION fn_x_after () RETURNS TRIGGER AS '
+  BEGIN
+               UPDATE x set e=''after trigger fired'' where c=''stuff'';
+               return NULL;
+       COMMIT;
+' language 'plpgsql';
+
+CREATE TRIGGER trg_x_after AFTER INSERT ON x
+FOR EACH ROW EXECUTE PROCEDURE fn_x_after();
+
+CREATE TRIGGER trg_x_before BEFORE INSERT ON x
+FOR EACH ROW EXECUTE PROCEDURE fn_x_before();
+
+COPY x (a, b, c, d, e) from stdin;
+9999   \N      \\N     \NN     \N
+10000  21      31      41      51
+\.
+
+COPY x (b, d) from stdin;
+1      test_1
+\.
+
+COPY x (b, d) from stdin;
+2      test_2
+3      test_3
+4      test_4
+5      test_5
+\.
+
+COPY x (a, b, c, d, e) from stdin;
+10001  22      32      42      52
+10002  23      33      43      53
+10003  24      34      44      54
+10004  25      35      45      55
+10005  26      36      46      56
+\.
+
+-- non-existent column in column list: should fail
+COPY x (xyz) from stdin;
+
+-- too many columns in column list: should fail
+COPY x (a, b, c, d, e, d, c) from stdin;
+
+-- missing data: should fail
+COPY x from stdin;
+
+\.
+COPY x from stdin;
+2000   230     23      23
+\.
+COPY x from stdin;
+2001   231     \N      \N
+\.
+
+-- extra data: should fail
+COPY x from stdin;
+2002   232     40      50      60      70      80
+\.
+
+-- various COPY options: delimiters, oids, NULL string
+COPY x (b, c, d, e) from stdin with oids delimiter ',' null 'x';
+500000,x,45,80,90
+500001,x,\x,\\x,\\\x
+500002,x,\,,\\\,,\\
+\.
+
+COPY x from stdin WITH DELIMITER AS ';' NULL AS '';
+3000;;c;;
+\.
+
+COPY x from stdin WITH DELIMITER AS ':' NULL AS '\\X';
+4000:\X:C:\X:\X
+4001:1:empty::
+4002:2:null:\X:\X
+4003:3:Backslash:\\:\\
+4004:4:BackslashX:\\X:\\X
+4005:5:N:\N:\N
+4006:6:BackslashN:\\N:\\N
+4007:7:XX:\XX:\XX
+4008:8:Delimiter:\::\:
+\.
+
+-- check results of copy in
+SELECT * FROM x;
+
+-- COPY w/ oids on a table w/o oids should fail
+CREATE TABLE no_oids (
+       a       int,
+       b       int
+) WITHOUT OIDS;
+
+INSERT INTO no_oids (a, b) VALUES (5, 10);
+INSERT INTO no_oids (a, b) VALUES (20, 30);
+
+-- should fail
+COPY no_oids FROM stdin WITH OIDS;
+COPY no_oids TO stdout WITH OIDS;
+
+-- check copy out
+COPY x TO stdout;
+COPY x (c, e) TO stdout;
+COPY x (b, e) TO stdout WITH NULL 'I''m null';
+
+CREATE TABLE y (
+       col1 text,
+       col2 text
+);
+
+INSERT INTO y VALUES ('Jackson, Sam', '\\h');
+INSERT INTO y VALUES ('It is "perfect".','\t');
+INSERT INTO y VALUES ('', NULL);
+
+COPY y TO stdout WITH CSV;
+COPY y TO stdout WITH CSV QUOTE '''' DELIMITER '|';
+COPY y TO stdout WITH CSV FORCE QUOTE col2 ESCAPE '\\';
+
+DROP TABLE x, y;
+DROP FUNCTION fn_x_before();
+DROP FUNCTION fn_x_after();
diff --git a/sql/test/pg_regress/monetdb/create_aggregate.sql 
b/sql/test/pg_regress/monetdb/create_aggregate.sql
new file mode 100644
--- /dev/null
+++ b/sql/test/pg_regress/monetdb/create_aggregate.sql
@@ -0,0 +1,31 @@
+--
+-- CREATE_AGGREGATE
+--
+
+-- all functions CREATEd
+CREATE AGGREGATE newavg (
+   sfunc = int4_accum, basetype = integer, stype = _numeric, 
+   finalfunc = numeric_avg,
+   initcond1 = '{0,0,0}'
+);
+
+-- test comments
+
+
+
+
+-- without finalfunc; test obsolete spellings 'sfunc1' etc
+CREATE AGGREGATE newsum (
+   sfunc1 = int4pl, basetype = integer, stype1 = integer, 
+   initcond1 = '0'
+);
+
+-- value-independent transition function
+CREATE AGGREGATE newcnt (
+   sfunc = int4inc, basetype = 'any', stype = integer,
+   initcond = '0'
+);
+
+
+
+
diff --git a/sql/test/pg_regress/monetdb/create_index.sql 
b/sql/test/pg_regress/monetdb/create_index.sql
new file mode 100644
--- /dev/null
+++ b/sql/test/pg_regress/monetdb/create_index.sql
@@ -0,0 +1,135 @@
+--
+-- CREATE_INDEX
+-- Create ancillary data structures (i.e. indices)
+--
+
+--
+-- BTREE
+--
+CREATE INDEX onek_unique1 ON onek USING btree(unique1 int4_ops);
+
+CREATE INDEX onek_unique2 ON onek USING btree(unique2 int4_ops);
+
+CREATE INDEX onek_hundred ON onek USING btree(hundred int4_ops);
+
+CREATE INDEX onek_stringu1 ON onek USING btree(stringu1 name_ops);
+
+CREATE INDEX tenk1_unique1 ON tenk1 USING btree(unique1 int4_ops);
+
+CREATE INDEX tenk1_unique2 ON tenk1 USING btree(unique2 int4_ops);
+
+CREATE INDEX tenk1_hundred ON tenk1 USING btree(hundred int4_ops);
+
+CREATE INDEX tenk2_unique1 ON tenk2 USING btree(unique1 int4_ops);
+
+CREATE INDEX tenk2_unique2 ON tenk2 USING btree(unique2 int4_ops);
+
+CREATE INDEX tenk2_hundred ON tenk2 USING btree(hundred int4_ops);
+
+CREATE INDEX rix ON road USING btree (name text_ops);
+
+CREATE INDEX iix ON ihighway USING btree (name text_ops);
+
+CREATE INDEX six ON shighway USING btree (name text_ops);
+
+-- test comments
+
+
+
+
+--
+-- BTREE ascending/descending cases
+--
+-- we load integer/text from pure descending data (each key is a new
+-- low key) and name/f8 from pure ascending data (each key is a new
+-- high key).  we had a bug where new low keys would sometimes be
+-- "lost".
+--
+CREATE INDEX bt_i4_index ON bt_i4_heap USING btree (seqno int4_ops);
+
+CREATE INDEX bt_name_index ON bt_name_heap USING btree (seqno name_ops);
+
+CREATE INDEX bt_txt_index ON bt_txt_heap USING btree (seqno text_ops);
+
+CREATE INDEX bt_f8_index ON bt_f8_heap USING btree (seqno float8_ops);
+
+--
+-- BTREE partial indices
+--
+CREATE INDEX onek2_u1_prtl ON onek2 USING btree(unique1 int4_ops)
+       where unique1 < 20 or unique1 > 980;
+
+CREATE INDEX onek2_u2_prtl ON onek2 USING btree(unique2 int4_ops)
+       where stringu1 < 'B';
+
+CREATE INDEX onek2_stu1_prtl ON onek2 USING btree(stringu1 name_ops)
+       where onek2.stringu1 >= 'J' and onek2.stringu1 < 'K';
+
+--
+-- RTREE
+-- 
+-- rtrees use a quadratic page-splitting algorithm that takes a
+-- really, really long time.  we don't test all rtree opclasses
+-- in the regression test (we check them using the sequoia 2000
+-- benchmark).
+--
+CREATE INDEX rect2ind ON fast_emp4000 USING rtree (home_base);
+
+-- there's no easy way to check that this command actually is using
+-- the index, unfortunately.  (EXPLAIN would work, but its output
+-- changes too often for me to want to put an EXPLAIN in the test...)
+SELECT * FROM fast_emp4000
+    WHERE home_base @ '(200,200),(2000,1000)'::string
+    ORDER BY home_base USING <<;
+
+--
+-- HASH
+--
+CREATE INDEX hash_i4_index ON hash_i4_heap USING hash (random int4_ops);
+
+CREATE INDEX hash_name_index ON hash_name_heap USING hash (random name_ops);
+
+CREATE INDEX hash_txt_index ON hash_txt_heap USING hash (random text_ops);
+
+CREATE INDEX hash_f8_index ON hash_f8_heap USING hash (random float8_ops);
+
+-- CREATE INDEX hash_ovfl_index ON hash_ovfl_heap USING hash (x int4_ops);
+
+
+--
+-- Test functional index
+--
+CREATE TABLE func_index_heap (f1 text, f2 text);
+CREATE UNIQUE INDEX func_index_index on func_index_heap (textcat(f1,f2));
+
+INSERT INTO func_index_heap VALUES('ABC','DEF');
+INSERT INTO func_index_heap VALUES('AB','CDEFG');
+INSERT INTO func_index_heap VALUES('QWE','RTY');
+-- this should fail because of unique index:
+INSERT INTO func_index_heap VALUES('ABCD', 'EF');
+-- but this shouldn't:
+INSERT INTO func_index_heap VALUES('QWERTY');
+
+
+--
+-- Same test, expressional index
+--
+DROP TABLE func_index_heap;
+CREATE TABLE func_index_heap (f1 text, f2 text);
+CREATE UNIQUE INDEX func_index_index on func_index_heap ((f1 || f2) text_ops);
+
_______________________________________________
checkin-list mailing list
checkin-list@monetdb.org
https://www.monetdb.org/mailman/listinfo/checkin-list

Reply via email to