summary refs log tree commit diff stats
path: root/lib
diff options
context:
space:
mode:
authorArtem Klevtsov <a.a.klevtsov@gmail.com>2021-02-14 20:27:44 +0600
committerGitHub <noreply@github.com>2021-02-14 14:27:44 +0000
commitb68ecc82cb404dbbd291320139955794e88c24ff (patch)
treef254fd5fdf7f1ac5a4e553090a7bcb5f959e4653 /lib
parentfff5819ee728aa62fd857982f799ecc0fac0fd5e (diff)
downloadNim-b68ecc82cb404dbbd291320139955794e88c24ff.tar.gz
Add pqsetsinglerowmode to postgres module (#17030)
* Add pqsetsinglerowmode to postgres module

Very useful to reduce memory usage when fetch a large amount of data.
Documentation: https://www.postgresql.org/docs/current/libpq-single-row-mode.html

* Add missing enum to the ExecStatusType

* Revert entry

* Update ConnStatusType enum
Diffstat (limited to 'lib')
-rw-r--r--lib/wrappers/postgres.nim8
1 files changed, 6 insertions, 2 deletions
diff --git a/lib/wrappers/postgres.nim b/lib/wrappers/postgres.nim
index 24eac54f9..23af8b75a 100644
--- a/lib/wrappers/postgres.nim
+++ b/lib/wrappers/postgres.nim
@@ -53,7 +53,8 @@ type
   PExecStatusType* = ptr ExecStatusType
   ExecStatusType* = enum
     PGRES_EMPTY_QUERY = 0, PGRES_COMMAND_OK, PGRES_TUPLES_OK, PGRES_COPY_OUT,
-    PGRES_COPY_IN, PGRES_BAD_RESPONSE, PGRES_NONFATAL_ERROR, PGRES_FATAL_ERROR
+    PGRES_COPY_IN, PGRES_BAD_RESPONSE, PGRES_NONFATAL_ERROR, PGRES_FATAL_ERROR,
+    PGRES_COPY_BOTH, PGRES_SINGLE_TUPLE
   PGlobjfuncs*{.pure, final.} = object
     fn_lo_open*: Oid
     fn_lo_close*: Oid
@@ -69,7 +70,8 @@ type
   ConnStatusType* = enum
     CONNECTION_OK, CONNECTION_BAD, CONNECTION_STARTED, CONNECTION_MADE,
     CONNECTION_AWAITING_RESPONSE, CONNECTION_AUTH_OK, CONNECTION_SETENV,
-    CONNECTION_SSL_STARTUP, CONNECTION_NEEDED
+    CONNECTION_SSL_STARTUP, CONNECTION_NEEDED, CONNECTION_CHECK_WRITABLE,
+    CONNECTION_CONSUME, CONNECTION_GSS_STARTUP, CONNECTION_CHECK_TARGET
   PGconn*{.pure, final.} = object
     pghost*: cstring
     pgtty*: cstring
@@ -248,6 +250,8 @@ proc pqsendQueryPrepared*(conn: PPGconn, stmtName: cstring, nParams: int32,
                           paramLengths, paramFormats: ptr int32,
                           resultFormat: int32): int32{.cdecl, dynlib: dllName,
     importc: "PQsendQueryPrepared".}
+proc pqsetsinglerowmode*(conn: PPGconn): int32{.cdecl, dynlib: dllName,
+    importc: "PQsetSingleRowMode".}
 proc pqgetResult*(conn: PPGconn): PPGresult{.cdecl, dynlib: dllName,
     importc: "PQgetResult".}
 proc pqisBusy*(conn: PPGconn): int32{.cdecl, dynlib: dllName,