[OpenSIPS-Users] possible big in unixodbc queries

Saint Michael venefax at gmail.com
Sat Mar 2 00:57:13 UTC 2024


whatever query I call, db_unixodbc_get_columns returns only db_int for
every field.
DBG:avpops:ops_dbquery_avps: query [CALL get_user_details(1)]
 DBG:core:db_new_result: allocate 48 bytes for result set at 0x71c49935ba20
 DBG:db_unixodbc:db_unixodbc_get_columns: 3 columns returned from the query
 DBG:core:db_allocate_columns: allocate 84 bytes for result columns at
0x71c49935ba88
 DBG:db_unixodbc:db_unixodbc_get_columns:
RES_NAMES(0x71c49935baa0)[0]=[username]
 DBG:db_unixodbc:db_unixodbc_get_columns: use DB_INT result type
 DBG:db_unixodbc:db_unixodbc_get_columns: RES_NAMES(0x71c49935bab0)[1]=[email]
 DBG:db_unixodbc:db_unixodbc_get_columns: use DB_INT result type
 DBG:db_unixodbc:db_unixodbc_get_columns: RES_NAMES(0x71c49935bac0)[2]=[phone]
 DBG:db_unixodbc:db_unixodbc_get_columns: use DB_INT result type
 DBG:core:db_allocate_rows: allocate 112 bytes for result rows and
values at 0x71c49935bb18
 DBG:db_unixodbc:db_unixodbc_str2val: converting INT [johndoe]
 ERROR:core:db_str2int: Unexpected characters: [johndoe]
 ERROR:db_unixodbc:db_unixodbc_str2val: converting integer value from
string failed
 ERROR:db_unixodbc:db_unixodbc_convert_row: failed to convert value

opensips -V
version: opensips 3.4.4 (x86_64/linux)
flags: STATS: On, DISABLE_NAGLE, USE_MCAST, SHM_MMAP, PKG_MALLOC,
Q_MALLOC, F_MALLOC, HP_MALLOC, DBG_MALLOC, FAST_LOCK-ADAPTIVE_WAIT
ADAPTIVE_WAIT_LOOPS=1024, MAX_RECV_BUFFER_SIZE 262144, MAX_LISTEN 16,
MAX_URI_SIZE 1024, BUF_SIZE 65535
poll method support: poll, epoll, sigio_rt, select.
git revision: e50c6736e
main.c compiled on 00:29:53 Mar  2 2024 with gcc 9

dpkg -l | grep unixodbc
ri  unixodbc                         2.3.6-0.1build1
amd64        Basic ODBC tools
ri  unixodbc-dev:amd64               2.3.6-0.1build1
amd64        ODBC libraries for UNIX (development files)

odbc.ini

[opensips]
Description = MySQL ODBC Driver Testing
Driver = maria
Socket = /var/run/mysqld/mysqld.sock
#Server = localhost
User = xxxxx
Password = xxxx
Database = asterisk
Option = 3

odbcinst.ini

[maria]
Description=ODBC for MySQL
Driver=/usr/lib64/mariadb/libmaodbc.so
FileUsage=1
Threading=0

a Unixodbc trace shows that everything is normal,so the issue must be
with opensips
                    Statement = 0x6003034831b0
                        Column Number = 3
                        Target Type = 1 SQL_CHAR
                        Buffer Length = 1024
                        Target Value = 0x77a24e1ff318
                        StrLen Or Ind = 0x7ffc233ad5f0
[ODBC][103886][1709340852.301423][SQLGetData.c][545]
                Exit:[SQL_SUCCESS]
                        Buffer = [123-456-7890]
                        Strlen Or Ind = 0x7ffc233ad5f0 -> 1

as you can see, the target Type is SQL_CHAR

any ideas?



More information about the Users mailing list