diff options
author | Michael Meskes <meskes@postgresql.org> | 2020-06-30 17:31:08 +0200 |
---|---|---|
committer | Michael Meskes <meskes@postgresql.org> | 2020-06-30 18:34:41 +0200 |
commit | e576f71fbe713d9357d1b480b4993043f7fcc73a (patch) | |
tree | 065258e01962c0369ed9f1b6992a6f5516bc66c8 /src/interfaces/ecpg/test/sql | |
parent | aa90d9957bd2d9ce39f9078d15914a37d99af072 (diff) | |
download | postgresql-e576f71fbe713d9357d1b480b4993043f7fcc73a.tar.gz postgresql-e576f71fbe713d9357d1b480b4993043f7fcc73a.zip |
Fix ecpg crash with bytea and cursor variables.
Author: Jehan-Guillaume de Rorthais <jgdr@dalibo.com>
Diffstat (limited to 'src/interfaces/ecpg/test/sql')
-rw-r--r-- | src/interfaces/ecpg/test/sql/bytea.pgc | 13 |
1 files changed, 12 insertions, 1 deletions
diff --git a/src/interfaces/ecpg/test/sql/bytea.pgc b/src/interfaces/ecpg/test/sql/bytea.pgc index e000c6ca4b7..e8741231194 100644 --- a/src/interfaces/ecpg/test/sql/bytea.pgc +++ b/src/interfaces/ecpg/test/sql/bytea.pgc @@ -24,7 +24,7 @@ int main(void) { exec sql begin declare section; - bytea send_buf[2][DATA_SIZE]; + bytea send_buf[2][512]; bytea recv_buf[2][DATA_SIZE]; bytea recv_vlen_buf[][DATA_SIZE]; bytea recv_short_buf[DATA_SIZE - LACK_SIZE]; @@ -71,6 +71,17 @@ while (0) dump_binary(recv_buf[0].arr, recv_buf[0].len, ind[0]); dump_binary(recv_short_buf.arr, recv_short_buf.len, ind[1]); + /* Test for cursor */ + init(); + exec sql truncate test; + exec sql insert into test values(:send_buf[0], :send_buf[1]); + exec sql declare cursor1 cursor for select data1 from test where data1 = :send_buf[0]; + exec sql open cursor1; + exec sql fetch from cursor1 INTO :recv_buf[0]; + exec sql close cursor1; + exec sql free cursor1 ; + dump_binary(recv_buf[0].arr, recv_buf[0].len, 0); + /* Test for variable length array */ init(); exec sql truncate test; |