diff --git a/expected/am_block_filtering.out b/expected/am_block_filtering.out deleted file mode 100644 index 005b42e64..000000000 --- a/expected/am_block_filtering.out +++ /dev/null @@ -1,120 +0,0 @@ --- --- Test block filtering in cstore_fdw using min/max values in stripe skip lists. --- --- --- filtered_row_count returns number of rows filtered by the WHERE clause. --- If blocks get filtered by cstore_fdw, less rows are passed to WHERE --- clause, so this function should return a lower number. --- -CREATE OR REPLACE FUNCTION filtered_row_count (query text) RETURNS bigint AS -$$ - DECLARE - result bigint; - rec text; - BEGIN - result := 0; - - FOR rec IN EXECUTE 'EXPLAIN ANALYZE ' || query LOOP - IF rec ~ '^\s+Rows Removed by Filter' then - result := regexp_replace(rec, '[^0-9]*', '', 'g'); - END IF; - END LOOP; - - RETURN result; - END; -$$ LANGUAGE PLPGSQL; --- Create and load data --- block_row_count '1000', stripe_row_count '2000' -set cstore.stripe_row_count = 2000; -set cstore.block_row_count = 1000; -CREATE TABLE test_block_filtering (a int) - USING cstore_tableam; -COPY test_block_filtering FROM '/Users/jefdavi/wd/cstore2/data/block_filtering.csv' WITH CSV; --- Verify that filtered_row_count is less than 1000 for the following queries -SELECT filtered_row_count('SELECT count(*) FROM test_block_filtering'); - filtered_row_count --------------------- - 0 -(1 row) - -SELECT filtered_row_count('SELECT count(*) FROM test_block_filtering WHERE a < 200'); - filtered_row_count --------------------- - 801 -(1 row) - -SELECT filtered_row_count('SELECT count(*) FROM test_block_filtering WHERE a > 200'); - filtered_row_count --------------------- - 200 -(1 row) - -SELECT filtered_row_count('SELECT count(*) FROM test_block_filtering WHERE a < 9900'); - filtered_row_count --------------------- - 101 -(1 row) - -SELECT filtered_row_count('SELECT count(*) FROM test_block_filtering WHERE a > 9900'); - filtered_row_count --------------------- - 900 -(1 row) - -SELECT filtered_row_count('SELECT count(*) FROM test_block_filtering WHERE a < 0'); - filtered_row_count --------------------- - 0 -(1 row) - --- Verify that filtered_row_count is less than 2000 for the following queries -SELECT filtered_row_count('SELECT count(*) FROM test_block_filtering WHERE a BETWEEN 1 AND 10'); - filtered_row_count --------------------- - 990 -(1 row) - -SELECT filtered_row_count('SELECT count(*) FROM test_block_filtering WHERE a BETWEEN 990 AND 2010'); - filtered_row_count --------------------- - 1979 -(1 row) - -SELECT filtered_row_count('SELECT count(*) FROM test_block_filtering WHERE a BETWEEN -10 AND 0'); - filtered_row_count --------------------- - 0 -(1 row) - --- Load data for second time and verify that filtered_row_count is exactly twice as before -COPY test_block_filtering FROM '/Users/jefdavi/wd/cstore2/data/block_filtering.csv' WITH CSV; -SELECT filtered_row_count('SELECT count(*) FROM test_block_filtering WHERE a < 200'); - filtered_row_count --------------------- - 1602 -(1 row) - -SELECT filtered_row_count('SELECT count(*) FROM test_block_filtering WHERE a < 0'); - filtered_row_count --------------------- - 0 -(1 row) - -SELECT filtered_row_count('SELECT count(*) FROM test_block_filtering WHERE a BETWEEN 990 AND 2010'); - filtered_row_count --------------------- - 3958 -(1 row) - -set cstore.stripe_row_count to default; -set cstore.block_row_count to default; --- Verify that we are fine with collations which use a different alphabet order -CREATE TABLE collation_block_filtering_test(A text collate "da_DK") - USING cstore_tableam; -COPY collation_block_filtering_test FROM STDIN; -SELECT * FROM collation_block_filtering_test WHERE A > 'B'; - a ---- - Å -(1 row) - diff --git a/expected/am_copyto.out b/expected/am_copyto.out deleted file mode 100644 index c8a5f676b..000000000 --- a/expected/am_copyto.out +++ /dev/null @@ -1,23 +0,0 @@ --- --- Test copying data from cstore_fdw tables. --- -CREATE TABLE test_contestant(handle TEXT, birthdate DATE, rating INT, - percentile FLOAT, country CHAR(3), achievements TEXT[]) - USING cstore_tableam; --- load table data from file -COPY test_contestant FROM '/Users/jefdavi/wd/cstore2/data/contestants.1.csv' WITH CSV; --- export using COPY table TO ... -COPY test_contestant TO STDOUT; -a 01-10-1990 2090 97.1 XA {a} -b 11-01-1990 2203 98.1 XA {a,b} -c 11-01-1988 2907 99.4 XB {w,y} -d 05-05-1985 2314 98.3 XB {} -e 05-05-1995 2236 98.2 XC {a} --- export using COPY (SELECT * FROM table) TO ... -COPY (select * from test_contestant) TO STDOUT; -a 01-10-1990 2090 97.1 XA {a} -b 11-01-1990 2203 98.1 XA {a,b} -c 11-01-1988 2907 99.4 XB {w,y} -d 05-05-1985 2314 98.3 XB {} -e 05-05-1995 2236 98.2 XC {a} -DROP TABLE test_contestant CASCADE; diff --git a/expected/am_data_types.out b/expected/am_data_types.out deleted file mode 100644 index a597ff8de..000000000 --- a/expected/am_data_types.out +++ /dev/null @@ -1,78 +0,0 @@ --- --- Test loading and reading different data types to/from cstore_fdw foreign tables. --- --- Settings to make the result deterministic -SET datestyle = "ISO, YMD"; -SET timezone to 'GMT'; -SET intervalstyle TO 'POSTGRES_VERBOSE'; --- Test array types -CREATE TABLE test_array_types (int_array int[], bigint_array bigint[], - text_array text[]) USING cstore_tableam; -COPY test_array_types FROM '/Users/jefdavi/wd/cstore2/data/array_types.csv' WITH CSV; -SELECT * FROM test_array_types; - int_array | bigint_array | text_array ---------------------------+--------------------------------------------+------------ - {1,2,3} | {1,2,3} | {a,b,c} - {} | {} | {} - {-2147483648,2147483647} | {-9223372036854775808,9223372036854775807} | {""} -(3 rows) - --- Test date/time types -CREATE TABLE test_datetime_types (timestamp timestamp, - timestamp_with_timezone timestamp with time zone, date date, time time, - interval interval) USING cstore_tableam; -COPY test_datetime_types FROM '/Users/jefdavi/wd/cstore2/data/datetime_types.csv' WITH CSV; -SELECT * FROM test_datetime_types; - timestamp | timestamp_with_timezone | date | time | interval ----------------------+-------------------------+------------+----------+----------- - 2000-01-02 04:05:06 | 1999-01-08 12:05:06+00 | 2000-01-02 | 04:05:06 | @ 4 hours - 1970-01-01 00:00:00 | infinity | -infinity | 00:00:00 | @ 0 -(2 rows) - --- Test enum and composite types -CREATE TYPE enum_type AS ENUM ('a', 'b', 'c'); -CREATE TYPE composite_type AS (a int, b text); -CREATE TABLE test_enum_and_composite_types (enum enum_type, - composite composite_type) USING cstore_tableam; -COPY test_enum_and_composite_types FROM - '/Users/jefdavi/wd/cstore2/data/enum_and_composite_types.csv' WITH CSV; -SELECT * FROM test_enum_and_composite_types; - enum | composite -------+----------- - a | (2,b) - b | (3,c) -(2 rows) - --- Test range types -CREATE TABLE test_range_types (int4range int4range, int8range int8range, - numrange numrange, tsrange tsrange) USING cstore_tableam; -COPY test_range_types FROM '/Users/jefdavi/wd/cstore2/data/range_types.csv' WITH CSV; -SELECT * FROM test_range_types; - int4range | int8range | numrange | tsrange ------------+-----------+----------+----------------------------------------------- - [1,3) | [1,3) | [1,3) | ["2000-01-02 00:30:00","2010-02-03 12:30:00") - empty | [1,) | (,) | empty -(2 rows) - --- Test other types -CREATE TABLE test_other_types (bool boolean, bytea bytea, money money, - inet inet, bitstring bit varying(5), uuid uuid, json json) USING cstore_tableam; -COPY test_other_types FROM '/Users/jefdavi/wd/cstore2/data/other_types.csv' WITH CSV; -SELECT * FROM test_other_types; - bool | bytea | money | inet | bitstring | uuid | json -------+------------+-------+-------------+-----------+--------------------------------------+------------------ - f | \xdeadbeef | $1.00 | 192.168.1.2 | 10101 | a0eebc99-9c0b-4ef8-bb6d-6bb9bd380a11 | {"key": "value"} - t | \xcdb0 | $1.50 | 127.0.0.1 | | a0eebc99-9c0b-4ef8-bb6d-6bb9bd380a11 | [] -(2 rows) - --- Test null values -CREATE TABLE test_null_values (a int, b int[], c composite_type) - USING cstore_tableam; -COPY test_null_values FROM '/Users/jefdavi/wd/cstore2/data/null_values.csv' WITH CSV; -SELECT * FROM test_null_values; - a | b | c ----+--------+----- - | {NULL} | (,) - | | -(2 rows) - diff --git a/expected/am_load.out b/expected/am_load.out deleted file mode 100644 index 02cff343a..000000000 --- a/expected/am_load.out +++ /dev/null @@ -1,42 +0,0 @@ --- --- Test loading data into cstore_fdw tables. --- --- COPY with incorrect delimiter -COPY contestant FROM '/Users/jefdavi/wd/cstore2/data/contestants.1.csv' - WITH DELIMITER '|'; -- ERROR -ERROR: missing data for column "birthdate" -CONTEXT: COPY contestant, line 1: "a,1990-01-10,2090,97.1,XA ,{a}" --- COPY with invalid program -COPY contestant FROM PROGRAM 'invalid_program' WITH CSV; -- ERROR -ERROR: program "invalid_program" failed -DETAIL: command not found --- COPY into uncompressed table from file -COPY contestant FROM '/Users/jefdavi/wd/cstore2/data/contestants.1.csv' WITH CSV; --- COPY into uncompressed table from program -COPY contestant FROM PROGRAM 'cat /Users/jefdavi/wd/cstore2/data/contestants.2.csv' WITH CSV; --- COPY into compressed table -set cstore.compression = 'pglz'; -COPY contestant_compressed FROM '/Users/jefdavi/wd/cstore2/data/contestants.1.csv' WITH CSV; --- COPY into uncompressed table from program -COPY contestant_compressed FROM PROGRAM 'cat /Users/jefdavi/wd/cstore2/data/contestants.2.csv' - WITH CSV; -set cstore.compression to default; --- Test column list -CREATE TABLE famous_constants (id int, name text, value real) - USING cstore_tableam; -COPY famous_constants (value, name, id) FROM STDIN WITH CSV; -COPY famous_constants (name, value) FROM STDIN WITH CSV; -SELECT * FROM famous_constants ORDER BY id, name; - id | name | value -----+----------------+----------- - 1 | pi | 3.141 - 2 | e | 2.718 - 3 | gamma | 0.577 - 4 | bohr radius | 5.291e-11 - | avagadro | 6.022e+23 - | electron mass | 9.109e-31 - | proton mass | 1.672e-27 - | speed of light | 2.997e+08 -(8 rows) - -DROP TABLE famous_constants;