From 708da0e0583567baab6502a8473848e5af0610e2 Mon Sep 17 00:00:00 2001 From: Andrew Kane Date: Thu, 25 Apr 2024 15:39:47 -0700 Subject: [PATCH] Improved copy test [skip ci] --- test/expected/copy.out | 57 ++++++++++++++++++++++++++++++++++-------- test/sql/copy.sql | 42 +++++++++++++++++++++++++++---- 2 files changed, 83 insertions(+), 16 deletions(-) diff --git a/test/expected/copy.out b/test/expected/copy.out index 9cd2f40..9b4ebc0 100644 --- a/test/expected/copy.out +++ b/test/expected/copy.out @@ -1,15 +1,50 @@ -CREATE TABLE t (val vector(3), val2 halfvec(3), val3 sparsevec(3)); -INSERT INTO t (val, val2, val3) VALUES ('[0,0,0]', '[0,0,0]', '{}/3'), ('[1,2,3]', '[1,2,3]', '{1:1,2:2,3:3}/3'), ('[1,1,1]', '[1,1,1]', '{1:1,2:1,3:1}/3'), (NULL, NULL, NULL); -CREATE TABLE t2 (val vector(3), val2 halfvec(3), val3 sparsevec(3)); -\copy t TO 'results/data.bin' WITH (FORMAT binary) -\copy t2 FROM 'results/data.bin' WITH (FORMAT binary) +-- vector +CREATE TABLE t (val vector(3)); +INSERT INTO t (val) VALUES ('[0,0,0]'), ('[1,2,3]'), ('[1,1,1]'), (NULL); +CREATE TABLE t2 (val vector(3)); +\copy t TO 'results/vector.bin' WITH (FORMAT binary) +\copy t2 FROM 'results/vector.bin' WITH (FORMAT binary) SELECT * FROM t2 ORDER BY val; - val | val2 | val3 ----------+---------+----------------- - [0,0,0] | [0,0,0] | {}/3 - [1,1,1] | [1,1,1] | {1:1,2:1,3:1}/3 - [1,2,3] | [1,2,3] | {1:1,2:2,3:3}/3 - | | + val +--------- + [0,0,0] + [1,1,1] + [1,2,3] + +(4 rows) + +DROP TABLE t; +DROP TABLE t2; +-- halfvec +CREATE TABLE t (val halfvec(3)); +INSERT INTO t (val) VALUES ('[0,0,0]'), ('[1,2,3]'), ('[1,1,1]'), (NULL); +CREATE TABLE t2 (val halfvec(3)); +\copy t TO 'results/halfvec.bin' WITH (FORMAT binary) +\copy t2 FROM 'results/halfvec.bin' WITH (FORMAT binary) +SELECT * FROM t2 ORDER BY val; + val +--------- + [0,0,0] + [1,1,1] + [1,2,3] + +(4 rows) + +DROP TABLE t; +DROP TABLE t2; +-- sparsevec +CREATE TABLE t (val sparsevec(3)); +INSERT INTO t (val) VALUES ('{}/3'), ('{1:1,2:2,3:3}/3'), ('{1:1,2:1,3:1}/3'), (NULL); +CREATE TABLE t2 (val sparsevec(3)); +\copy t TO 'results/sparsevec.bin' WITH (FORMAT binary) +\copy t2 FROM 'results/sparsevec.bin' WITH (FORMAT binary) +SELECT * FROM t2 ORDER BY val; + val +----------------- + {}/3 + {1:1,2:1,3:1}/3 + {1:1,2:2,3:3}/3 + (4 rows) DROP TABLE t; diff --git a/test/sql/copy.sql b/test/sql/copy.sql index e6ce328..2dff3ff 100644 --- a/test/sql/copy.sql +++ b/test/sql/copy.sql @@ -1,10 +1,42 @@ -CREATE TABLE t (val vector(3), val2 halfvec(3), val3 sparsevec(3)); -INSERT INTO t (val, val2, val3) VALUES ('[0,0,0]', '[0,0,0]', '{}/3'), ('[1,2,3]', '[1,2,3]', '{1:1,2:2,3:3}/3'), ('[1,1,1]', '[1,1,1]', '{1:1,2:1,3:1}/3'), (NULL, NULL, NULL); +-- vector -CREATE TABLE t2 (val vector(3), val2 halfvec(3), val3 sparsevec(3)); +CREATE TABLE t (val vector(3)); +INSERT INTO t (val) VALUES ('[0,0,0]'), ('[1,2,3]'), ('[1,1,1]'), (NULL); -\copy t TO 'results/data.bin' WITH (FORMAT binary) -\copy t2 FROM 'results/data.bin' WITH (FORMAT binary) +CREATE TABLE t2 (val vector(3)); + +\copy t TO 'results/vector.bin' WITH (FORMAT binary) +\copy t2 FROM 'results/vector.bin' WITH (FORMAT binary) + +SELECT * FROM t2 ORDER BY val; + +DROP TABLE t; +DROP TABLE t2; + +-- halfvec + +CREATE TABLE t (val halfvec(3)); +INSERT INTO t (val) VALUES ('[0,0,0]'), ('[1,2,3]'), ('[1,1,1]'), (NULL); + +CREATE TABLE t2 (val halfvec(3)); + +\copy t TO 'results/halfvec.bin' WITH (FORMAT binary) +\copy t2 FROM 'results/halfvec.bin' WITH (FORMAT binary) + +SELECT * FROM t2 ORDER BY val; + +DROP TABLE t; +DROP TABLE t2; + +-- sparsevec + +CREATE TABLE t (val sparsevec(3)); +INSERT INTO t (val) VALUES ('{}/3'), ('{1:1,2:2,3:3}/3'), ('{1:1,2:1,3:1}/3'), (NULL); + +CREATE TABLE t2 (val sparsevec(3)); + +\copy t TO 'results/sparsevec.bin' WITH (FORMAT binary) +\copy t2 FROM 'results/sparsevec.bin' WITH (FORMAT binary) SELECT * FROM t2 ORDER BY val;