The 1st cut of qlog renewal.
authorHiroshi Inoue <h-inoue@dream.email.ne.jp>
Mon, 21 Aug 2017 21:54:58 +0000 (06:54 +0900)
committerHiroshi Inoue <h-inoue@dream.email.ne.jp>
Mon, 21 Aug 2017 21:54:58 +0000 (06:54 +0900)
Removed some qlogs, changed some qlogs to MYLOG and added some qlogs.

connection.c
convert.c
descriptor.c
dlg_specific.c
drvconn.c
environ.c
info.c
mylog.h
pgapi30.c
statement.c

index 3a691181e67cdfef11cf86439b29b24e87af07e2..ac20338845b2e61a1da2805b08177679c8ff4404 100644 (file)
@@ -964,15 +964,15 @@ static char CC_initial_log(ConnectionClass *self, const char *func)
        );
    qlog(vermsg);
    MYLOG(0, "%s", vermsg);
-   qlog("Global Options: fetch=%d, unknown_sizes=%d, max_varchar_size=%d, max_longvarchar_size=%d\n",
+   MYLOG(1, "Global Options: fetch=%d, unknown_sizes=%d, max_varchar_size=%d, max_longvarchar_size=%d\n",
         ci->drivers.fetch_max,
         ci->drivers.unknown_sizes,
         ci->drivers.max_varchar_size,
         ci->drivers.max_longvarchar_size);
-   qlog("                unique_index=%d, use_declarefetch=%d\n",
+   MYLOG(1, "                unique_index=%d, use_declarefetch=%d\n",
         ci->drivers.unique_index,
         ci->drivers.use_declarefetch);
-   qlog("                text_as_longvarchar=%d, unknowns_as_longvarchar=%d, bools_as_char=%d NAMEDATALEN=%d\n",
+   MYLOG(1, "                text_as_longvarchar=%d, unknowns_as_longvarchar=%d, bools_as_char=%d NAMEDATALEN=%d\n",
         ci->drivers.text_as_longvarchar,
         ci->drivers.unknowns_as_longvarchar,
         ci->drivers.bools_as_char,
@@ -982,7 +982,7 @@ static char CC_initial_log(ConnectionClass *self, const char *func)
    {
        encoding = check_client_encoding(ci->conn_settings);
        CC_set_locale_encoding(self, encoding);
-       qlog("                extra_systable_prefixes='%s', conn_settings='%s' conn_encoding='%s'\n",
+       MYLOG(1, "                extra_systable_prefixes='%s', conn_settings='%s' conn_encoding='%s'\n",
            ci->drivers.extra_systable_prefixes,
            PRINT_NAME(ci->conn_settings),
            encoding ? encoding : "");
@@ -1710,12 +1710,10 @@ CC_send_query_append(ConnectionClass *self, const char *query, QueryInfo *qi, UD
    if (appendq)
    {
        MYLOG(0, "%s_append: conn=%p, query='%s'+'%s'\n", func, self, query, appendq);
-       qlog("conn=%p, query='%s'+'%s'\n", self, query, appendq);
    }
    else
    {
        MYLOG(0, "%s: conn=%p, query='%s'\n", func, self, query);
-       qlog("conn=%p, query='%s'\n", self, query);
    }
 
    if (!self->pqconn)
@@ -1836,9 +1834,11 @@ MYLOG(1, "!!!! %s:query_buf=%s(" FORMAT_SIZE_T ")\n", __FUNCTION__, query_buf.da
    nrarg.res = NULL;
    PQsetNoticeReceiver(self->pqconn, receive_libpq_notice, &nrarg);
 
+   qlog("PQsendQuery query=%s\n", query_buf.data);
    if (!PQsendQuery(self->pqconn, query_buf.data))
    {
        char *errmsg = PQerrorMessage(self->pqconn);
+       qlog("\nComunication Error: %s\n", errmsg ? errmsg : "(null)");
        CC_set_error(self, CONNECTION_COMMUNICATION_ERROR, errmsg, func);
        goto cleanup;
    }
@@ -2453,7 +2453,6 @@ CC_lookup_lo(ConnectionClass *self)
    }
    QR_Destructor(res);
    MYLOG(0, "Got the large object oid: %d\n", self->lobj_type);
-   qlog("    [ Large Object oid = %d ]\n", self->lobj_type);
    return;
 }
 
@@ -2479,17 +2478,15 @@ CC_log_error(const char *func, const char *desc, const ConnectionClass *self)
 
    if (self)
    {
-       qlog("CONN ERROR: func=%s, desc='%s', errnum=%d, errmsg='%s'\n", func, desc, self->__error_number, NULLCHECK(self->__error_message));
        MYLOG(0, "CONN ERROR: func=%s, desc='%s', errnum=%d, errmsg='%s'\n", func, desc, self->__error_number, NULLCHECK(self->__error_message));
-       qlog("            ------------------------------------------------------------\n");
-       qlog("            henv=%p, conn=%p, status=%u, num_stmts=%d\n", self->henv, self, self->status, self->num_stmts);
-       qlog("            pqconn=%p, stmts=%p, lobj_type=%d\n", self->pqconn, self->stmts, self->lobj_type);
+       MYLOG(1, "            ------------------------------------------------------------\n");
+       MYLOG(1, "            henv=%p, conn=%p, status=%u, num_stmts=%d\n", self->henv, self, self->status, self->num_stmts);
+       MYLOG(1, "            pqconn=%p, stmts=%p, lobj_type=%d\n", self->pqconn, self->stmts, self->lobj_type);
    }
    else
-{
-       qlog("INVALID CONNECTION HANDLE ERROR: func=%s, desc='%s'\n", func, desc);
+   {
        MYLOG(0, "INVALID CONNECTION HANDLE ERROR: func=%s, desc='%s'\n", func, desc);
-}
+   }
 }
 
 /*
index d8dfbafa7a69d371e06a40717a604aa0f70536df..0663e730c2236e878b533c8faf236c2f135d824e 100644 (file)
--- a/convert.c
+++ b/convert.c
@@ -1677,7 +1677,7 @@ MYLOG(1, "2stime fr=%d\n", std_time.fr);
                neut_str = midtemp;
            else
            {
-               qlog("couldn't convert money type to %d\n", fCType);
+               MYLOG(0, "couldn't convert money type to %d\n", fCType);
                return COPY_UNSUPPORTED_TYPE;
            }
        }
@@ -1919,7 +1919,6 @@ MYLOG(1, "SQL_C_VARBOOKMARK value=%d\n", ival);
                else
                {
                    MYLOG(0, "couldn't convert the type %d to SQL_C_BINARY\n", field_type);
-                   qlog("couldn't convert the type %d to SQL_C_BINARY\n", field_type);
                    return COPY_UNSUPPORTED_TYPE;
                }
                break;
@@ -1953,7 +1952,7 @@ MYLOG(1, "SQL_C_VARBOOKMARK value=%d\n", ival);
                break;
 
            default:
-               qlog("conversion to the type %d isn't supported\n", fCType);
+               MYLOG(0, "conversion to the type %d isn't supported\n", fCType);
                return COPY_UNSUPPORTED_TYPE;
        }
    }
@@ -5578,7 +5577,7 @@ MYLOG(0, FORMAT_LEN "-" FORMAT_LEN " num=%s SQL_BIT=%d\n", to, from, num, SQL_BI
                    {
                        qb->errornumber = STMT_EXEC_ERROR;
                        qb->errormsg = "param not found";
-                       qlog("%dth param not found for the expression %s\n", pidx + 1, mapExpr);
+                       MYLOG(0, "%dth param not found for the expression %s\n", pidx + 1, mapExpr);
                        retval = SQL_ERROR;
                        break;
                    }
@@ -5589,7 +5588,7 @@ MYLOG(0, FORMAT_LEN "-" FORMAT_LEN " num=%s SQL_BIT=%d\n", to, from, num, SQL_BI
                {
                    qb->errornumber = STMT_EXEC_ERROR;
                    qb->errormsg = "internal expression error";
-                   qlog("%s internal expression error %s\n", func, mapExpr);
+                   MYLOG(0, "%s internal expression error %s\n", func, mapExpr);
                    retval = SQL_ERROR;
                    break;
                }
index 16d0514224df2ce08ae3d6906bd1ca1d729fff1d..3b6de89d47ba9430519ce2b1a856e297a397af72 100644 (file)
@@ -721,7 +721,6 @@ DC_log_error(const char *func, const char *desc, const DescriptorClass *self)
 #define nullcheck(a) (a ? a : "(NULL)")
    if (self)
    {
-       qlog("DESCRIPTOR ERROR: func=%s, desc='%s', errnum=%d, errmsg='%s'\n", func, desc, self->deschd.__error_number, nullcheck(self->deschd.__error_message));
        MYLOG(0, "DESCRIPTOR ERROR: func=%s, desc='%s', errnum=%d, errmsg='%s'\n", func, desc, self->deschd.__error_number, nullcheck(self->deschd.__error_message));
    }
 }
index 05477ef7cdd4a4cc7ecd5e2b21e240a405982ffa..5a4e68a42228187d9566be09188762351821891b 100644 (file)
@@ -1047,30 +1047,29 @@ MYLOG(0, "drivername=%s\n", drivername);
    get_Ci_Drivers(DSN, ODBC_INI, &(ci->drivers));
    STR_TO_NAME(ci->drivers.drivername, drivername);
 
-   qlog("DSN info: DSN='%s',server='%s',port='%s',dbase='%s',user='%s',passwd='%s'\n",
+   MYLOG(1, "DSN info: DSN='%s',server='%s',port='%s',dbase='%s',user='%s',passwd='%s'\n",
         DSN,
         ci->server,
         ci->port,
         ci->database,
         ci->username,
         NAME_IS_VALID(ci->password) ? "xxxxx" : "");
-   qlog("          onlyread='%s',showoid='%s',fakeoidindex='%s',showsystable='%s'\n",
+   MYLOG(1, "          onlyread='%s',showoid='%s',fakeoidindex='%s',showsystable='%s'\n",
         ci->onlyread,
         ci->show_oid_column,
         ci->fake_oid_index,
         ci->show_system_tables);
 
-   if (get_qlog())
    {
 #ifdef NOT_USED
        char    *enc = (char *) check_client_encoding(ci->conn_settings);
 
-       qlog("          conn_settings='%s', conn_encoding='%s'\n", ci->conn_settings,
+       MYLOG(1, "          conn_settings='%s', conn_encoding='%s'\n", ci->conn_settings,
            NULL != enc ? enc : "(null)");
        if (NULL != enc)
            free(enc);
 #endif /* NOT_USED */
-       qlog("          translation_dll='%s',translation_option='%s'\n",
+       MYLOG(1, "          translation_dll='%s',translation_option='%s'\n",
            ci->translation_dll,
            ci->translation_option);
    }
index 71830950969fb2fbbbf0d37151f1986adb6e9694..4cc3e504e50c9eaaa51ccccef07b5e6adb859f30 100644 (file)
--- a/drvconn.c
+++ b/drvconn.c
@@ -128,14 +128,12 @@ PGAPI_DriverConnect(HDBC hdbc,
 
 #ifdef FORCE_PASSWORD_DISPLAY
    MYLOG(0, "**** PGAPI_DriverConnect: fDriverCompletion=%d, connStrIn='%s'\n", fDriverCompletion, connStrIn);
-   qlog("conn=%p, PGAPI_DriverConnect( in)='%s', fDriverCompletion=%d\n", conn, connStrIn, fDriverCompletion);
 #else
-   if (get_qlog() || get_mylog())
+   if (get_mylog())
    {
        char    *hide_str = hide_password(connStrIn);
 
        MYLOG(0, "**** PGAPI_DriverConnect: fDriverCompletion=%d, connStrIn='%s'\n", fDriverCompletion, NULL_IF_NULL(hide_str));
-       qlog("conn=%p, PGAPI_DriverConnect( in)='%s', fDriverCompletion=%d\n", conn, NULL_IF_NULL(hide_str), fDriverCompletion);
        if (hide_str)
            free(hide_str);
    }
@@ -303,17 +301,15 @@ MYLOG(1, "before CC_connect\n");
    if (cbConnStrOutMax > 0)
    {
        MYLOG(0, "szConnStrOut = '%s' len=" FORMAT_SSIZE_T ",%d\n", NULL_IF_NULL((char *) szConnStrOut), len, cbConnStrOutMax);
-       qlog("conn=%p, PGAPI_DriverConnect(out)='%s'\n", conn, NULL_IF_NULL((char *) szConnStrOut));
    }
 #else
-   if (get_qlog() || get_mylog())
+   if (get_mylog())
    {
        char    *hide_str = NULL;
 
        if (cbConnStrOutMax > 0)
            hide_str = hide_password(szConnStrOut);
        MYLOG(0, "szConnStrOut = '%s' len=%d,%d\n", NULL_IF_NULL(hide_str), len, cbConnStrOutMax);
-       qlog("conn=%p, PGAPI_DriverConnect(out)='%s'\n", conn, NULL_IF_NULL(hide_str));
        if (hide_str)
            free(hide_str);
    }
index 845f068b4a4fa01e030b36696fc24c1ac5d44bbc..36fb3d4dff8f7f280f3b8aed043cddffef36f539 100644 (file)
--- a/environ.c
+++ b/environ.c
@@ -105,7 +105,6 @@ PGAPI_FreeEnv(HENV henv)
        goto cleanup;
    }
 
-   MYLOG(0, "    error\n");
    ret = SQL_ERROR;
    EN_log_error(func, "Error freeing environment", NULL);
 cleanup:
@@ -642,7 +641,7 @@ void
 EN_log_error(const char *func, char *desc, EnvironmentClass *self)
 {
    if (self)
-       qlog("ENVIRON ERROR: func=%s, desc='%s', errnum=%d, errmsg='%s'\n", func, desc, self->errornumber, self->errormsg);
+       MYLOG(0, "ENVIRON ERROR: func=%s, desc='%s', errnum=%d, errmsg='%s'\n", func, desc, self->errornumber, self->errormsg);
    else
-       qlog("INVALID ENVIRON HANDLE ERROR: func=%s, desc='%s'\n", func, desc);
+       MYLOG(0, "INVALID ENVIRON HANDLE ERROR: func=%s, desc='%s'\n", func, desc);
 }
diff --git a/info.c b/info.c
index 2858a5cc34d58c4844dff1b83cd5cfe17d033f6b..a1d5ec01cb0217d7f11662a3b283a062e192c272 100644 (file)
--- a/info.c
+++ b/info.c
@@ -2659,8 +2659,8 @@ MYLOG(0, " and the data=%s\n", attdef);
         *
         *----------
         */
-       qlog("%s: table='%s',field_name='%s',type=%d,name='%s'\n",
-            func, table_name, field_name, field_type, field_type_name);
+       MYLOG(0, "table='%s',field_name='%s',type=%d,name='%s'\n",
+            table_name, field_name, field_type, field_type_name);
 
        /* Subtract the header length */
        switch (field_type)
diff --git a/mylog.h b/mylog.h
index 7155bd54065cb8ddbf451747b8869b965aa539c3..b026672609c5b56e1509fd5a5a9e2b4fcb50b4a5 100644 (file)
--- a/mylog.h
+++ b/mylog.h
@@ -40,7 +40,7 @@ extern "C" {
 DLL_DECLARE int mylog(const char *fmt,...) __attribute__((format(printf, 1, 2)));
 DLL_DECLARE int myprintf(const char *fmt,...) __attribute__((format(printf, 1, 2)));
 
-extern int qlog(char *fmt,...);
+extern int qlog(char *fmt,...) __attribute__((format(printf, 1, 2)));
 
 const char *po_basename(const char *path);
 
index c615613ff636f6b47b2fcdf44c84099f17c46ccd..68a71e7476f2fc8c1437f1cbe007654c7ab3e680 100644 (file)
--- a/pgapi30.c
+++ b/pgapi30.c
@@ -1720,7 +1720,6 @@ PGAPI_SetConnectAttr(HDBC ConnectionHandle,
                conn->connInfo.drivers.debug = newValue;
                logs_on_off(1, 0, 0);
            }
-           qlog("debug => %d\n", conn->connInfo.drivers.debug);
            break;
        case SQL_ATTR_PGOPT_COMMLOG:
            newValue = CAST_UPTR(SQLCHAR, Value);
@@ -1729,76 +1728,63 @@ PGAPI_SetConnectAttr(HDBC ConnectionHandle,
                logs_on_off(-1, 0, 0);
                conn->connInfo.drivers.commlog = newValue;
                logs_on_off(1, 0, conn->connInfo.drivers.commlog);
-               qlog("commlog => %d\n", conn->connInfo.drivers.commlog);
+               MYLOG(0, "commlog => %d\n", conn->connInfo.drivers.commlog);
            }
            else if (newValue == 0 && conn->connInfo.drivers.commlog > 0)
            {
-               qlog("commlog => %d\n", newValue);
+               MYLOG(0, "commlog => %d\n", newValue);
                logs_on_off(-1, 0, conn->connInfo.drivers.commlog);
                conn->connInfo.drivers.debug = newValue;
                logs_on_off(1, 0, 0);
            }
-           MYLOG(0, "commlog => %d\n", conn->connInfo.drivers.commlog);
            break;
        case SQL_ATTR_PGOPT_PARSE:
            conn->connInfo.drivers.parse = CAST_UPTR(SQLCHAR, Value);
-           qlog("parse => %d\n", conn->connInfo.drivers.parse);
            MYLOG(0, "parse => %d\n", conn->connInfo.drivers.parse);
            break;
        case SQL_ATTR_PGOPT_USE_DECLAREFETCH:
            conn->connInfo.drivers.use_declarefetch = CAST_UPTR(SQLCHAR, Value);
            ci_updatable_cursors_set(&conn->connInfo);
-           qlog("declarefetch => %d\n", conn->connInfo.drivers.use_declarefetch);
            MYLOG(0, "declarefetch => %d\n", conn->connInfo.drivers.use_declarefetch);
            break;
        case SQL_ATTR_PGOPT_SERVER_SIDE_PREPARE:
            conn->connInfo.use_server_side_prepare = CAST_UPTR(SQLCHAR, Value);
-           qlog("server_side_prepare => %d\n", conn->connInfo.use_server_side_prepare);
            MYLOG(0, "server_side_prepare => %d\n", conn->connInfo.use_server_side_prepare);
            break;
        case SQL_ATTR_PGOPT_FETCH:
            conn->connInfo.drivers.fetch_max = CAST_PTR(SQLINTEGER, Value);
-           qlog("fetch => %d\n", conn->connInfo.drivers.fetch_max);
            MYLOG(0, "fetch => %d\n", conn->connInfo.drivers.fetch_max);
            break;
        case SQL_ATTR_PGOPT_UNKNOWNSIZES:
            conn->connInfo.drivers.unknown_sizes = CAST_PTR(SQLINTEGER, Value);
-           qlog("unknown_sizes => %d\n", conn->connInfo.drivers.unknown_sizes);
            MYLOG(0, "unknown_sizes => %d\n", conn->connInfo.drivers.unknown_sizes);
            break;
        case SQL_ATTR_PGOPT_TEXTASLONGVARCHAR:
            conn->connInfo.drivers.text_as_longvarchar = CAST_PTR(SQLINTEGER, Value);
-           qlog("text_as_longvarchar => %d\n", conn->connInfo.drivers.text_as_longvarchar);
            MYLOG(0, "text_as_longvarchar => %d\n", conn->connInfo.drivers.text_as_longvarchar);
            break;
        case SQL_ATTR_PGOPT_UNKNOWNSASLONGVARCHAR:
            conn->connInfo.drivers.unknowns_as_longvarchar = CAST_PTR(SQLINTEGER, Value);
-           qlog("unknowns_as_long_varchar => %d\n", conn->connInfo.drivers.unknowns_as_longvarchar);
            MYLOG(0, "unknowns_as_long_varchar => %d\n", conn->connInfo.drivers.unknowns_as_longvarchar);
            break;
        case SQL_ATTR_PGOPT_BOOLSASCHAR:
            conn->connInfo.drivers.bools_as_char = CAST_PTR(SQLINTEGER, Value);
-           qlog("bools_as_char => %d\n", conn->connInfo.drivers.bools_as_char);
            MYLOG(0, "bools_as_char => %d\n", conn->connInfo.drivers.bools_as_char);
            break;
        case SQL_ATTR_PGOPT_MAXVARCHARSIZE:
            conn->connInfo.drivers.max_varchar_size = CAST_PTR(SQLINTEGER, Value);
-           qlog("max_varchar_size => %d\n", conn->connInfo.drivers.max_varchar_size);
            MYLOG(0, "max_varchar_size => %d\n", conn->connInfo.drivers.max_varchar_size);
            break;
        case SQL_ATTR_PGOPT_MAXLONGVARCHARSIZE:
            conn->connInfo.drivers.max_longvarchar_size = CAST_PTR(SQLINTEGER, Value);
-           qlog("max_longvarchar_size => %d\n", conn->connInfo.drivers.max_longvarchar_size);
            MYLOG(0, "max_longvarchar_size => %d\n", conn->connInfo.drivers.max_longvarchar_size);
            break;
        case SQL_ATTR_PGOPT_WCSDEBUG:
            conn->connInfo.wcs_debug = CAST_PTR(SQLINTEGER, Value);
-           qlog("wcs_debug => %d\n", conn->connInfo.wcs_debug);
            MYLOG(0, "wcs_debug => %d\n", conn->connInfo.wcs_debug);
            break;
        case SQL_ATTR_PGOPT_MSJET:
            conn->ms_jet = CAST_PTR(SQLINTEGER, Value);
-           qlog("ms_jet => %d\n", conn->ms_jet);
            MYLOG(0, "ms_jet => %d\n", conn->ms_jet);
            break;
        default:
index c277ab1313abff3d68631f675aff6acca552e2fa..75881ffa7af043bdfc2c6d381d8ec9ed49592dce 100644 (file)
@@ -1782,9 +1782,9 @@ MYLOG(1, "curt=" FORMAT_LEN "\n", curt);
 
                case COPY_RESULT_TRUNCATED:
                    SC_set_error(self, STMT_TRUNCATED, "Fetched item was truncated.", func);
-                   qlog("The %dth item was truncated\n", lf + 1);
-                   qlog("The buffer size = %d", opts->bindings[lf].buflen);
-                   qlog(" and the value is '%s'\n", value);
+                   MYLOG(1, "The %dth item was truncated\n", lf + 1);
+                   MYLOG(1, "The buffer size = " FORMAT_LEN, opts->bindings[lf].buflen);
+                   MYLOG(1, " and the value is '%s'\n", value);
                    result = SQL_SUCCESS_WITH_INFO;
                    break;
 
@@ -2360,16 +2360,16 @@ SC_log_error(const char *func, const char *desc, const StatementClass *self)
            qlog("                 statement_type=%d, statement='%s'\n", self->statement_type, NULLCHECK(self->statement));
            qlog("                 stmt_with_params='%s'\n", NULLCHECK(self->stmt_with_params));
            qlog("                 data_at_exec=%d, current_exec_param=%d, put_data=%d\n", self->data_at_exec, self->current_exec_param, self->put_data);
-           qlog("                 currTuple=%d, current_col=%d, lobj_fd=%d\n", self->currTuple, self->current_col, self->lobj_fd);
-           qlog("                 maxRows=%d, rowset_size=%d, keyset_size=%d, cursor_type=%d, scroll_concurrency=%d\n", self->options.maxRows, rowsetSize, self->options.keyset_size, self->options.cursor_type, self->options.scroll_concurrency);
+           qlog("                 currTuple=" FORMAT_LEN ", current_col=%d, lobj_fd=%d\n", self->currTuple, self->current_col, self->lobj_fd);
+           qlog("                 maxRows=" FORMAT_LEN ", rowset_size=" FORMAT_LEN ", keyset_size=" FORMAT_LEN ", cursor_type=%u, scroll_concurrency=%d\n", self->options.maxRows, rowsetSize, self->options.keyset_size, self->options.cursor_type, self->options.scroll_concurrency);
            qlog("                 cursor_name='%s'\n", SC_cursor_name(self));
 
            qlog("                 ----------------QResult Info -------------------------------\n");
 
            if (res)
            {
-               qlog("                 fields=%p, backend_tuples=%p, tupleField=%d, conn=%p\n", QR_get_fields(res), res->backend_tuples, res->tupleField, res->conn);
-               qlog("                 fetch_count=%d, num_total_rows=%d, num_fields=%d, cursor='%s'\n", res->fetch_number, QR_get_num_total_tuples(res), res->num_fields, NULLCHECK(QR_get_cursor(res)));
+               qlog("                 fields=%p, backend_tuples=%p, tupleField=%p, conn=%p\n", QR_get_fields(res), res->backend_tuples, res->tupleField, res->conn);
+               qlog("                 fetch_count=" FORMAT_LEN ", num_total_rows=" FORMAT_ULEN ", num_fields=%d, cursor='%s'\n", res->fetch_number, QR_get_num_total_tuples(res), res->num_fields, NULLCHECK(QR_get_cursor(res)));
                qlog("                 message='%s', command='%s', notice='%s'\n", NULLCHECK(QR_get_message(res)), NULLCHECK(res->command), NULLCHECK(res->notice));
                qlog("                 status=%d\n", QR_get_rstatus(res));
            }
@@ -2503,6 +2503,7 @@ libpq_bind_and_exec(StatementClass *stmt)
 
        pstmt = stmt->processed_statements;
        MYLOG(0, "%s execParams query=%s nParams=%d\n", __FUNCTION__, pstmt->query, nParams);
+       qlog("PQexecParams query='%s' nParams=%d\n", pstmt->query, nParams);
        pgres = PQexecParams(conn->pqconn,
                             pstmt->query,
                             nParams,
@@ -2527,6 +2528,7 @@ libpq_bind_and_exec(StatementClass *stmt)
 
        /* already prepared */
        MYLOG(0, "%s execPrepared plan=%s nParams=%d\n", __FUNCTION__, plan_name, nParams);
+       qlog("PQexecPrepared plan=%s nParams=%d\n", plan_name, nParams);
        pgres = PQexecPrepared(conn->pqconn,
                               plan_name,   /* portal name == plan name */
                               nParams,
@@ -2560,6 +2562,7 @@ MYLOG(1, "get_Result=%p %p %d\n", res, SC_get_Result(stmt), stmt->curr_param_res
            /* read in the return message from the backend */
            cmdtag = PQcmdStatus(pgres);
            MYLOG(0, "command response: %s\n", cmdtag);
+           qlog("\ok: %s\n", cmdtag);
            QR_set_command(res, cmdtag);
            if (QR_command_successful(res))
                QR_set_rstatus(res, PORES_COMMAND_OK);
@@ -2600,6 +2603,7 @@ MYLOG(1, "get_Result=%p %p %d\n", res, SC_get_Result(stmt), stmt->curr_param_res
            CC_on_abort(conn, CONN_DEAD);
 
            MYLOG(0, "send_query: error - %s\n", CC_get_errormsg(conn));
+           qlog("\error: - %s\n", CC_get_errormsg(conn));
            break;
    }
 
@@ -2730,6 +2734,7 @@ MYLOG(0, "sta_pidx=%d end_pidx=%d num_p=%d\n", sta_pidx, end_pidx, num_params);
        conn->unnamed_prepared_stmt = NULL;
 
    /* Prepare */
+   qlog("PQprepare query='%s' plan=%s num_params=%d\n", query, plan_name, num_params);
    pgres = PQprepare(conn->pqconn, plan_name, query, num_params, paramTypes);
    if (PQresultStatus(pgres) != PGRES_COMMAND_OK)
    {
@@ -2808,6 +2813,7 @@ ParseAndDescribeWithLibpq(StatementClass *stmt, const char *plan_name,
 
    /* Describe */
    MYLOG(0, "%s: describing plan_name=%s\n", func, plan_name);
+   qlog("\tPQdescribePrepared: plan_name=%s\n", plan_name);
 
    pgres = PQdescribePrepared(conn->pqconn, plan_name);
    switch (PQresultStatus(pgres))