mirror of
https://github.com/postgres/postgres.git
synced 2025-12-12 02:37:31 +03:00
Improve context display for failures during COPY IN, as recently
discussed on pghackers.
This commit is contained in:
@@ -998,7 +998,7 @@ copy test("........pg.dropped.1........") to stdout;
|
||||
ERROR: column "........pg.dropped.1........" of relation "test" does not exist
|
||||
copy test from stdin;
|
||||
ERROR: extra data after last expected column
|
||||
CONTEXT: COPY FROM, line 1
|
||||
CONTEXT: COPY test, line 1: "10 11 12"
|
||||
select * from test;
|
||||
b | c
|
||||
---+---
|
||||
|
||||
@@ -35,17 +35,17 @@ ERROR: column "d" specified more than once
|
||||
-- missing data: should fail
|
||||
COPY x from stdin;
|
||||
ERROR: invalid input syntax for integer: ""
|
||||
CONTEXT: COPY FROM, line 1
|
||||
CONTEXT: COPY x, line 1, column a: ""
|
||||
COPY x from stdin;
|
||||
ERROR: missing data for column "e"
|
||||
CONTEXT: COPY FROM, line 1
|
||||
CONTEXT: COPY x, line 1: "2000 230 23 23"
|
||||
COPY x from stdin;
|
||||
ERROR: missing data for column "e"
|
||||
CONTEXT: COPY FROM, line 1
|
||||
CONTEXT: COPY x, line 1: "2001 231 \N \N"
|
||||
-- extra data: should fail
|
||||
COPY x from stdin;
|
||||
ERROR: extra data after last expected column
|
||||
CONTEXT: COPY FROM, line 1
|
||||
CONTEXT: COPY x, line 1: "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';
|
||||
-- check results of copy in
|
||||
|
||||
@@ -40,7 +40,7 @@ INSERT INTO basictest values ('88', 'haha', 'short', '123.1212'); -- Truncate
|
||||
-- Test copy
|
||||
COPY basictest (testvarchar) FROM stdin; -- fail
|
||||
ERROR: value too long for type character varying(5)
|
||||
CONTEXT: COPY FROM, line 1
|
||||
CONTEXT: COPY basictest, line 1: "notsoshorttext"
|
||||
COPY basictest (testvarchar) FROM stdin;
|
||||
select * from basictest;
|
||||
testint4 | testtext | testvarchar | testnumeric
|
||||
@@ -127,11 +127,11 @@ INSERT INTO nulltest values ('a', 'b', 'c', NULL, 'd'); -- Good
|
||||
-- Test copy
|
||||
COPY nulltest FROM stdin; --fail
|
||||
ERROR: domain dcheck does not allow null values
|
||||
CONTEXT: COPY FROM, line 1
|
||||
CONTEXT: COPY nulltest, line 1: "a b \N d \N"
|
||||
-- Last row is bad
|
||||
COPY nulltest FROM stdin;
|
||||
ERROR: new row for relation "nulltest" violates check constraint "nulltest_col5"
|
||||
CONTEXT: COPY FROM, line 3
|
||||
CONTEXT: COPY nulltest, line 3: "a b c \N a"
|
||||
select * from nulltest;
|
||||
col1 | col2 | col3 | col4 | col5
|
||||
------+------+------+------+------
|
||||
|
||||
@@ -274,7 +274,7 @@ SELECT '' AS two, * FROM COPY_TBL;
|
||||
|
||||
COPY COPY_TBL FROM '@abs_srcdir@/data/constrf.data';
|
||||
ERROR: new row for relation "copy_tbl" violates check constraint "copy_con"
|
||||
CONTEXT: COPY FROM, line 2
|
||||
CONTEXT: COPY copy_tbl, line 2: "7 check failed 6"
|
||||
SELECT * FROM COPY_TBL;
|
||||
x | y | z
|
||||
---+---------------+---
|
||||
|
||||
Reference in New Issue
Block a user