Skip to content

Instantly share code, notes, and snippets.

@Habbie
Created April 1, 2021 18:51
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save Habbie/1f8bfacb39e85d6853c94fdfac906ab1 to your computer and use it in GitHub Desktop.
Save Habbie/1f8bfacb39e85d6853c94fdfac906ab1 to your computer and use it in GitHub Desktop.
diff --git a/modules/gpgsqlbackend/spgsql.cc b/modules/gpgsqlbackend/spgsql.cc
index 5ebc6ff65..6b05a6779 100644
--- a/modules/gpgsqlbackend/spgsql.cc
+++ b/modules/gpgsqlbackend/spgsql.cc
@@ -126,6 +126,7 @@ public:
// by stored procedures. you can return more than one
// if you return SETOF refcursor.
if (PQftype(d_res_set, 0) == 1790) { // REFCURSOR
+ cerr<<"got REFCURSOR"<<endl;
#if PG_VERSION_NUM > 90000
// PQescapeIdentifier was added to libpq in postgresql 9.0
char* val = PQgetvalue(d_res_set, d_cur_set++, 0);
diff --git a/regression-tests/backends/gpgsql-master b/regression-tests/backends/gpgsql-master
index 448fb7b13..961870088 100644
--- a/regression-tests/backends/gpgsql-master
+++ b/regression-tests/backends/gpgsql-master
@@ -1,7 +1,7 @@
source ./backends/gsql-common
case $context in
- gpgsql-nodnssec | gpgsql | gpgsql-nsec3 | gpgsql-nsec3-optout | gpgsql-nsec3-narrow)
+ gpgsql-nodnssec | gpgsql | gpgsql-nsec3 | gpgsql-nsec3-optout | gpgsql-nsec3-narrow | gpgsql_sp)
[ -z "$GPGSQLDB" ] && GPGSQLDB=pdnstest
[ -z "$GPGSQLUSER" ] && GPGSQLUSER=$(whoami)
@@ -24,3 +24,26 @@ __EOF__
*)
nocontext=yes
esac
+
+if [[ "$context" = "gpgsql_sp" ]]; then
+ cat >> pdns-gpgsql.conf << '__EOF__'
+gpgsql-basic-query=SELECT * FROM basic_query($1, $2)
+__EOF__
+ psql --user="$GPGSQLUSER" "$GPGSQLDB" << '__EOF__'
+CREATE FUNCTION basic_query(incoming_type varchar(10), incoming_name varchar(255))
+RETURNS TABLE
+(
+ content VARCHAR(65535),
+ ttl INT,
+ prio INT,
+ type VARCHAR(10),
+ domain_id INT,
+ disabled BOOL,
+ name VARCHAR(255),
+ auth BOOL
+)
+AS $$
+SELECT content,ttl,prio,type,domain_id,disabled,name,auth FROM records WHERE disabled=false and type=incoming_type and name=incoming_name;
+$$ LANGUAGE SQL;
+__EOF__
+fi
diff --git a/regression-tests/start-test-stop b/regression-tests/start-test-stop
index e5767a3b7..fa7f16e41 100755
--- a/regression-tests/start-test-stop
+++ b/regression-tests/start-test-stop
@@ -47,7 +47,7 @@ geoip geoip-nsec3-narrow
gmysql-nodnssec gmysql gmysql-nsec3 gmysql-nsec3-optout gmysql-nsec3-narrow gmysql_sp
godbc_mssql-nodnssec godbc_mssql godbc_mssql-nsec3 godbc_mssql-nsec3-optout godbc_mssql-nsec3-narrow
godbc_sqlite3-nodnssec godbc_sqlite3 godbc_sqlite3-nsec3 godbc_sqlite3-nsec3-optout godbc_sqlite3-narrow
-gpgsql-nodnssec gpgsql gpgsql-nsec3 gpgsql-nsec3-optout gpgsql-nsec3-narrow
+gpgsql-nodnssec gpgsql gpgsql-nsec3 gpgsql-nsec3-optout gpgsql-nsec3-narrow gpgsql_sp
gsqlite3-nodnssec gsqlite3 gsqlite3-nsec3 gsqlite3-nsec3-optout gsqlite3-nsec3-narrow
lmdb-nodnssec lmdb
remotebackend-pipe remotebackend-unix remotebackend-http remotebackend-zeromq
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment