blob: fa892c1318750d77c9c53558b92b1265c6f3c81e [file] [log] [blame]
# Licensed to the Apache Software Foundation (ASF) under one
# or more contributor license agreements. See the NOTICE file
# distributed with this work for additional information
# regarding copyright ownership. The ASF licenses this file
# to you under the Apache License, Version 2.0 (the
# "License"); you may not use this file except in compliance
# with the License. You may obtain a copy of the License at
#
# http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing,
# software distributed under the License is distributed on an
# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
# KIND, either express or implied. See the License for the
# specific language governing permissions and limitations
# under the License.
CREATE TABLE source (
int_col INT NULL,
date_col DATE NULL,
char_col CHAR(16),
varchar_col VARCHAR(16)
);
INSERT INTO source VALUES(1, '2000-01-01', 'aa', 'aaa');
INSERT INTO source VALUES(2, '2000-02-02', 'bb', 'bbb');
INSERT INTO source VALUES(3, '2000-03-03', 'cc', 'ccc');
INSERT INTO source VALUES(4, '2000-04-04', 'aa', 'ddd');
INSERT INTO source VALUES(5, '2000-05-05', 'bb', 'eee');
INSERT INTO source VALUES(6, '2000-06-06', 'cc', 'fff');
COPY source TO stderr WITH (DELIMITER '|');
--
1|2000-01-01|aa|aaa
2|2000-02-02|bb|bbb
3|2000-03-03|cc|ccc
4|2000-04-04|aa|ddd
5|2000-05-05|bb|eee
6|2000-06-06|cc|fff
==
COPY
SELECT char_col, SUM(int_col)
FROM source
GROUP BY char_col
TO stderr;
--
aa 5
bb 7
cc 9
==
COPY
SELECT * FROM (
SELECT -int_col * 1000, 'Negative' FROM source
UNION ALL
SELECT int_col * 1000, 'Positive' FROM source
) AS t(VALUE, SIGN)
ORDER BY value
TO stderr WITH (FORMAT 'CSV', DELIMITER e'\t');
--
VALUE SIGN
-6000 Negative
-5000 Negative
-4000 Negative
-3000 Negative
-2000 Negative
-1000 Negative
1000 Positive
2000 Positive
3000 Positive
4000 Positive
5000 Positive
6000 Positive
==
# WITH clause.
WITH r(x, y) AS (
SELECT i, i + 1
FROM generate_series(0, 9) AS g(i)
)
COPY
SELECT x * y AS value FROM r ORDER BY value
TO stderr;
--
0
2
6
12
20
30
42
56
72
90
==
# Test handling of NULL values and special characters.
DELETE FROM source;
INSERT INTO source VALUES(1, '2000-01-01', 'abc', 'def');
INSERT INTO source VALUES(2, '2000-02-02', e'a\ta', '|,|');
INSERT INTO source VALUES(NULL, NULL, e'b\nb', '"""');
COPY source TO stderr;
--
1 2000-01-01 abc def
2 2000-02-02 a\ta |,|
\N \N b\nb """
==
COPY source TO stderr WITH (FORMAT 'CSV', HEADER FALSE);
--
1,2000-01-01,abc,def
2,2000-02-02,a a,"|,|"
,,"b
b",""""""""
==
COPY source TO stderr WITH (FORMAT 'CSV', DELIMITER '|', NULL_STRING '.na', HEADER TRUE);
--
int_col|date_col|char_col|varchar_col
1|2000-01-01|abc|def
2|2000-02-02|a a|"|,|"
.na|.na|"b
b"|""""""""
==