psql: Add tests for repeated calls of \bind[_named]
The implementation assumes that on multiple calls of these meta-commands the last one wins. Multiple \g calls in-between mean multiple executions. There were no tests to check these properties, hence let's add something. Author: Jelte Fennema-Nio, Michael Paquier Discussion: https://postgr.es/m/CAGECzQSTE7CoM=Gst56Xj8pOvjaPr09+7jjtWqTC40pGETyAuA@mail.gmail.com
This commit is contained in:
parent
658fc6c6af
commit
91287b5f5d
@ -141,6 +141,25 @@ SELECT $1, $2 \parse stmt3
|
|||||||
ERROR: there is no parameter $1
|
ERROR: there is no parameter $1
|
||||||
LINE 1: SELECT $1, $2
|
LINE 1: SELECT $1, $2
|
||||||
^
|
^
|
||||||
|
-- Last \bind_named wins
|
||||||
|
\bind_named stmt2 'foo' \bind_named stmt3 'foo2' 'bar2' \g
|
||||||
|
?column? | ?column?
|
||||||
|
----------+----------
|
||||||
|
foo2 | bar2
|
||||||
|
(1 row)
|
||||||
|
|
||||||
|
-- Multiple \g calls mean multiple executions
|
||||||
|
\bind_named stmt2 'foo3' \g \bind_named stmt3 'foo4' 'bar4' \g
|
||||||
|
?column?
|
||||||
|
----------
|
||||||
|
foo3
|
||||||
|
(1 row)
|
||||||
|
|
||||||
|
?column? | ?column?
|
||||||
|
----------+----------
|
||||||
|
foo4 | bar4
|
||||||
|
(1 row)
|
||||||
|
|
||||||
-- \close (extended query protocol)
|
-- \close (extended query protocol)
|
||||||
\close
|
\close
|
||||||
\close: missing required argument
|
\close: missing required argument
|
||||||
@ -173,6 +192,25 @@ SELECT $1, $2 \bind 'foo' 'bar' \g
|
|||||||
foo | bar
|
foo | bar
|
||||||
(1 row)
|
(1 row)
|
||||||
|
|
||||||
|
-- last \bind wins
|
||||||
|
select $1::int as col \bind 'foo' \bind 2 \g
|
||||||
|
col
|
||||||
|
-----
|
||||||
|
2
|
||||||
|
(1 row)
|
||||||
|
|
||||||
|
-- Multiple \g calls mean multiple executions
|
||||||
|
select $1::int as col \bind 1 \g \bind 2 \g
|
||||||
|
col
|
||||||
|
-----
|
||||||
|
1
|
||||||
|
(1 row)
|
||||||
|
|
||||||
|
col
|
||||||
|
-----
|
||||||
|
2
|
||||||
|
(1 row)
|
||||||
|
|
||||||
-- errors
|
-- errors
|
||||||
-- parse error
|
-- parse error
|
||||||
SELECT foo \bind \g
|
SELECT foo \bind \g
|
||||||
|
@ -63,6 +63,10 @@ SELECT $1, $2 \parse stmt3
|
|||||||
\bind_named stmt4
|
\bind_named stmt4
|
||||||
\bind_named
|
\bind_named
|
||||||
\g
|
\g
|
||||||
|
-- Last \bind_named wins
|
||||||
|
\bind_named stmt2 'foo' \bind_named stmt3 'foo2' 'bar2' \g
|
||||||
|
-- Multiple \g calls mean multiple executions
|
||||||
|
\bind_named stmt2 'foo3' \g \bind_named stmt3 'foo4' 'bar4' \g
|
||||||
|
|
||||||
-- \close (extended query protocol)
|
-- \close (extended query protocol)
|
||||||
\close
|
\close
|
||||||
@ -76,6 +80,11 @@ SELECT 1 \bind \g
|
|||||||
SELECT $1 \bind 'foo' \g
|
SELECT $1 \bind 'foo' \g
|
||||||
SELECT $1, $2 \bind 'foo' 'bar' \g
|
SELECT $1, $2 \bind 'foo' 'bar' \g
|
||||||
|
|
||||||
|
-- last \bind wins
|
||||||
|
select $1::int as col \bind 'foo' \bind 2 \g
|
||||||
|
-- Multiple \g calls mean multiple executions
|
||||||
|
select $1::int as col \bind 1 \g \bind 2 \g
|
||||||
|
|
||||||
-- errors
|
-- errors
|
||||||
-- parse error
|
-- parse error
|
||||||
SELECT foo \bind \g
|
SELECT foo \bind \g
|
||||||
|
Loading…
x
Reference in New Issue
Block a user