<!-- <param name="core-db-dsn" value="postgresql://freeswitch:@127.0.0.1/freeswitch?options=-c%20client_min_messages%3DNOTICE" /> -->
<!-- <param name="core-db-dsn" value="mariadb://Server=localhost;Database=freeswitch;Uid=freeswitch;Pwd=pass;" /> -->
<!-- <param name="core-db-dsn" value="dsn:username:password" /> -->
+
+ <!-- <param name="odbc-skip-autocommit-flip" value="true" /> -->
+
<!--
Allow to specify the sqlite db at a different location (In this example, move it to ramdrive for
better performance on most linux distro (note, you loose the data if you reboot))
SWITCH_ODBC_FAIL = -1
} switch_odbc_status_t;
+SWITCH_DECLARE(void) switch_odbc_skip_autocommit_flip();
SWITCH_DECLARE(switch_odbc_handle_t *) switch_odbc_handle_new(const char *dsn, const char *username, const char *password);
SWITCH_DECLARE(void) switch_odbc_set_num_retries(switch_odbc_handle_t *handle, int num_retries);
SWITCH_DECLARE(switch_odbc_status_t) switch_odbc_handle_disconnect(switch_odbc_handle_t *handle);
} else {
switch_log_printf(SWITCH_CHANNEL_LOG, SWITCH_LOG_ERROR, "max-db-handles must be between 5 and 5000\n");
}
+ } else if (!strcasecmp(var, "odbc-skip-autocommit-flip")) {
+ if (switch_true(val)) {
+ switch_odbc_skip_autocommit_flip();
+ }
} else if (!strcasecmp(var, "db-handle-timeout")) {
long tmp = atol(val);
};
#endif
+uint8_t skip_autocommit_flip = 0;
+
+SWITCH_DECLARE(void) switch_odbc_skip_autocommit_flip()
+{
+ skip_autocommit_flip = 1;
+}
+
SWITCH_DECLARE(switch_odbc_handle_t *) switch_odbc_handle_new(const char *dsn, const char *username, const char *password)
{
#ifdef SWITCH_HAVE_ODBC
SWITCH_DECLARE(switch_odbc_status_t) switch_odbc_SQLSetAutoCommitAttr(switch_odbc_handle_t *handle, switch_bool_t on)
{
#ifdef SWITCH_HAVE_ODBC
+ if (skip_autocommit_flip) {
+ return SWITCH_ODBC_SUCCESS;
+ }
+
if (on) {
return SQLSetConnectAttr(handle->con, SQL_ATTR_AUTOCOMMIT, (SQLPOINTER *) SQL_AUTOCOMMIT_ON, 0 );
} else {