44 lines
776 B
SQL
44 lines
776 B
SQL
# name: test/sql/prepared/test_prepare_select.test
|
|
# description: PREPARE for SELECT clause
|
|
# group: [prepared]
|
|
|
|
statement ok
|
|
CREATE TABLE a (i TINYINT)
|
|
|
|
statement ok
|
|
INSERT INTO a VALUES (42)
|
|
|
|
statement ok
|
|
PREPARE s3 AS SELECT * FROM a WHERE i=$1
|
|
|
|
statement ok
|
|
EXECUTE s3(10000)
|
|
|
|
statement ok
|
|
EXECUTE s3(42)
|
|
|
|
statement ok
|
|
EXECUTE s3(84)
|
|
|
|
statement ok
|
|
DEALLOCATE s3
|
|
|
|
# can't run a query with a param without PREPARE
|
|
statement error
|
|
SELECT * FROM a WHERE i=$1
|
|
----
|
|
|
|
# also can't run a query with a param when casting
|
|
statement error
|
|
SELECT * FROM a WHERE i=CAST($1 AS VARCHAR)
|
|
----
|
|
|
|
# issue that swallows an UNKNOWN type, if not explicitly setting the rebind-flag
|
|
|
|
statement ok
|
|
PREPARE s1 AS SELECT to_years($1), CAST(list_value($1) AS BIGINT[]);
|
|
|
|
statement ok
|
|
EXECUTE s1(1);
|
|
|