RE: libpq debug log

Поиск
Список
Период
Сортировка
От tsunakawa.takay@fujitsu.com
Тема RE: libpq debug log
Дата
Msg-id TYAPR01MB2990B6C6A32ACF15D97AE94AFEBD0@TYAPR01MB2990.jpnprd01.prod.outlook.com
обсуждение исходный текст
Ответ на RE: libpq debug log  ("iwata.aya@fujitsu.com" <iwata.aya@fujitsu.com>)
Ответы Re: libpq debug log  ('Alvaro Herrera' <alvherre@alvh.no-ip.org>)
Список pgsql-hackers
Iwata-san,


(25)
+        conn->fe_msg = malloc(sizeof(offsetof(pqFrontendMessage, fields)) +
+                              DEF_FE_MSGFIELDS * sizeof(pqFrontendMessageField));

It's incorrect that offsetof() is nested in sizeof().  See my original review comment.


(26)
+bool
+pqTraceInit(PGconn *conn, bits32 flags)
+{
...
+        conn->be_msg->state = LOG_FIRST_BYTE;
+        conn->be_msg->length = 0;
+    }
...
+    conn->be_msg->state = LOG_FIRST_BYTE;
+    conn->be_msg->length = 0;

The former is redundant?


(27)
+/*
+ * Deallocate frontend-message tracking memory.  We only do this because
+ * it can grow arbitrarily large, and skip it in the initial state, because
+ * it's likely pointless.
+ */
+void
+pqTraceUninit(PGconn *conn)
+{
+    if (conn->fe_msg &&
+        conn->fe_msg->num_fields != DEF_FE_MSGFIELDS)
+    {
+        pfree(conn->fe_msg);
+        conn->fe_msg = NULL;
+    }
+}

I thought this function plays the reverse role of pqTraceInit(), but it only frees memory for frontend messages.  Plus,
usefree() instead of pfree(), because malloc() is used to allocate memory.
 


(28)
+void PQtrace(PGconn *conn, FILE *stream, bits32 flags);

bits32 can't be used because it's a data type defined in c.h, which should not be exposed to applications.  I think you
canjust int or something.
 


Considering these and the compilation error Kirk-san found, I'd like you to do more self-review before I resume this
review.


Regards
Takayuki Tsunakawa



В списке pgsql-hackers по дате отправления:

Предыдущее
От: Amit Langote
Дата:
Сообщение: Re: simplifying foreign key/RI checks
Следующее
От: Dilip Kumar
Дата:
Сообщение: Re: Is Recovery actually paused?