FS-3527 this fixes part of the problem with MSSQL

This commit is contained in:
Jeff Lenk 2011-08-31 16:04:20 -05:00
parent 8f67d2fbfb
commit 882ebd6777
3 changed files with 12 additions and 1 deletions

View File

@ -540,6 +540,8 @@ SWITCH_DECLARE(int) switch_core_db_changes(switch_core_db_t *db);
* literal. * literal.
*/ */
SWITCH_DECLARE(char*)switch_sql_concat();
SWITCH_END_EXTERN_C SWITCH_END_EXTERN_C
#endif #endif
/* For Emacs: /* For Emacs:

View File

@ -702,7 +702,7 @@ static void actual_sofia_presence_event_handler(switch_event_t *event)
"from sip_registrations " "from sip_registrations "
"left join sip_dialogs on " "left join sip_dialogs on "
"sip_dialogs.presence_id = sip_registrations.sip_user || '@' || sip_registrations.sip_host " "sip_dialogs.presence_id = sip_registrations.sip_user %q '@' %q sip_registrations.sip_host "
"or (sip_dialogs.sip_from_user = sip_registrations.sip_user " "or (sip_dialogs.sip_from_user = sip_registrations.sip_user "
"and sip_dialogs.sip_from_host = sip_registrations.sip_host) " "and sip_dialogs.sip_from_host = sip_registrations.sip_host) "
@ -713,6 +713,7 @@ static void actual_sofia_presence_event_handler(switch_event_t *event)
"(sip_registrations.orig_server_host='%q' or sip_registrations.sip_host='%q' " "(sip_registrations.orig_server_host='%q' or sip_registrations.sip_host='%q' "
"or sip_registrations.presence_hosts like '%%%q%%'))", "or sip_registrations.presence_hosts like '%%%q%%'))",
dh.status, dh.rpid, dh.status, dh.rpid,
switch_sql_concat(), switch_sql_concat(),
probe_euser, probe_host, probe_euser, probe_host, probe_host, probe_host); probe_euser, probe_host, probe_euser, probe_host, probe_host, probe_host);
switch_assert(sql); switch_assert(sql);

View File

@ -2114,6 +2114,14 @@ SWITCH_DECLARE(void) switch_cache_db_status(switch_stream_handle_t *stream)
switch_mutex_unlock(sql_manager.dbh_mutex); switch_mutex_unlock(sql_manager.dbh_mutex);
} }
SWITCH_DECLARE(char*)switch_sql_concat()
{
if(runtime.odbc_dbtype == DBTYPE_MSSQL)
return "+";
return "||";
}
/* For Emacs: /* For Emacs:
* Local Variables: * Local Variables:
* mode:c * mode:c