]> git.ipfire.org Git - thirdparty/freeswitch.git/commitdiff
[core] improve logging on oversized fields in odbc
authorMike Jerris <mike@signalwire.com>
Tue, 17 Nov 2020 00:08:43 +0000 (17:08 -0700)
committerAndrey Volk <andywolk@gmail.com>
Wed, 17 Mar 2021 15:24:40 +0000 (18:24 +0300)
src/switch_odbc.c

index 9ea062d9970bbf6cf8261e436e7ad83b47b3da08..4445eb4c1fb4b9abff4c1e67f29c9d6b4770c86d 100644 (file)
@@ -644,25 +644,25 @@ SWITCH_DECLARE(switch_odbc_status_t) switch_odbc_handle_callback_exec_detailed(c
                                        }
 
                                        if (truncated) {
-                                               switch_log_printf(SWITCH_CHANNEL_LOG, SWITCH_LOG_ERROR, "sql data truncated - %s\n",SqlState);
                                                if (StrLen_or_IndPtr && StrLen_or_IndPtr <= 268435456) {
                                                        ColumnSize = StrLen_or_IndPtr + 1;
                                                        vals[y] = malloc(ColumnSize);
                                                        switch_assert(vals[y]);
                                                        memset(vals[y], 0, ColumnSize);
                                                        SQLGetData(stmt, x, SQL_C_CHAR, (SQLCHAR *) vals[y], ColumnSize, NULL);
+                                                       switch_log_printf(SWITCH_CHANNEL_LOG, SWITCH_LOG_DEBUG, "SQLGetData large column [%lu]\n", (unsigned long)ColumnSize);
                                                } else {
-                                                       switch_log_printf(SWITCH_CHANNEL_LOG, SWITCH_LOG_ERROR, "SQLGetData failed");
+                                                       switch_log_printf(SWITCH_CHANNEL_LOG, SWITCH_LOG_ERROR, "sql data truncated - %s\n",SqlState);
                                                        vals[y] = NULL;
                                                }
                                        } else {
-                                               switch_log_printf(SWITCH_CHANNEL_LOG, SWITCH_LOG_ERROR, "SQLGetData failed");
+                                               switch_log_printf(SWITCH_CHANNEL_LOG, SWITCH_LOG_ERROR, "SQLGetData failed\n");
                                                vals[y] = NULL;
                                        }
                                } else if (rc == SQL_SUCCESS){
                                        vals[y] = strdup((char *)val);
                                } else {
-                                       switch_log_printf(SWITCH_CHANNEL_LOG, SWITCH_LOG_ERROR, "SQLGetData failed");
+                                       switch_log_printf(SWITCH_CHANNEL_LOG, SWITCH_LOG_ERROR, "SQLGetData failed\n");
                                        vals[y] = NULL;
                                }
                        } else {