Core functions needed by most db-lib programs. More...
#define DBCMDROW(x) dbcmdrow((x)) Sybase macro mapping to the Microsoft (lower-case) function. More...LOGINREC
structure. More...
LOGINREC
structure. More...
LOGINREC
More...
printf-like
way to form SQL to send to the server. More...
Append
SQL to the command buffer. More...
interfaces
file FreeTDS should use to look up a servername. More...
COMPUTE
clauses for a result set. More...
bylist
for a compute row. More...
DBPROCESS
. More...
DBPROCESS
. More...
DBPROCESS
. More...
DBNOAUTOFREE
was set with dbsetopt(). More...
syscharset
name of the server character set. More...
Core functions needed by most db-lib programs.
◆ DBCMDROWSybase macro mapping to the Microsoft (lower-case) function.
Definition at line 733 of file sybdb.h.
◆ DBCOUNTSybase macro mapping to the Microsoft (lower-case) function.
Definition at line 748 of file sybdb.h.
Referenced by main().
◆ DBCURCMDSybase macro mapping to the Microsoft (lower-case) function.
Definition at line 751 of file sybdb.h.
◆ DBCURROWSybase macro mapping to the Microsoft (lower-case) function.
Definition at line 754 of file sybdb.h.
◆ DBDEAD ◆ dbexit ◆ DBFIRSTROWSybase macro mapping to the Microsoft (lower-case) function.
Definition at line 768 of file sybdb.h.
◆ dbgetmaxprocs ◆ dbgettime ◆ dbinitInitialize db-lib.
TDS_MAX_CONN
TDSSOCKET
pointers.
Definition at line 107 of file rename_ftds_dblib.h.
◆ DBIORDESCSybase macro, maps to the internal (lower-case) function.
Definition at line 784 of file sybdb.h.
◆ DBIOWDESCSybase macro, maps to the internal (lower-case) function.
Definition at line 787 of file sybdb.h.
◆ DBISAVAILSybase macro mapping to the Microsoft (lower-case) function.
Definition at line 790 of file sybdb.h.
◆ DBLASTROW ◆ dbloginAllocate a LOGINREC
structure.
LOGINREC
cannot be allocated. LOGINREC* to valid memory, otherwise.
Definition at line 115 of file rename_ftds_dblib.h.
◆ DBMORECMDSSybase macro mapping to the Microsoft (lower-case) function.
Definition at line 820 of file sybdb.h.
◆ DBROWSSybase macro mapping to the Microsoft (lower-case) function.
Definition at line 881 of file sybdb.h.
Referenced by main(), and test().
◆ DBROWTYPESybase macro mapping to the Microsoft (lower-case) function.
Definition at line 884 of file sybdb.h.
◆ DBSETLCHARSETSet the client character set in the login packet.
Definition at line 1281 of file sybdb.h.
Referenced by main().
◆ DBSETLENCRYPTEnable (or not) network password encryption for Sybase servers version 10.0 or above.
Definition at line 1286 of file sybdb.h.
◆ DBSETLNATLANG ◆ dbsetlnatlang ◆ DBSETLPACKET ◆ dbsetlpacket ◆ DBTDS ◆ dbversionSee which version of db-lib is in use.
Definition at line 205 of file rename_ftds_dblib.h.
◆ _dbresults()Definition at line 1716 of file dblib.c.
References _DB_RES_INIT, _DB_RES_NEXT_RESULT, _DB_RES_NO_MORE_RESULTS, _DB_RES_RESULTSET_EMPTY, _DB_RES_RESULTSET_ROWS, _DB_RES_SUCCEED, assert, buffer_alloc(), buffer_free(), CHECK_CONN, dbperror(), dbproc, tds_dblib_dbprocess::dbresults_state, FAIL, NO_MORE_RESULTS, prdbresults_state(), prresult_type(), prretcode(), tds_dblib_dbprocess::row_buf, SUCCEED, SYBERPND, tds, TDS_COMPUTE_RESULT, TDS_COMPUTEFMT_RESULT, TDS_DBG_FUNC, TDS_DESCRIBE_RESULT, TDS_DONE_ERROR, TDS_DONE_RESULT, TDS_DONEINPROC_RESULT, TDS_DONEPROC_RESULT, TDS_FAILED, TDS_MSG_RESULT, TDS_NO_MORE_RESULTS, TDS_PARAM_RESULT, tds_process_tokens, TDS_ROW_RESULT, TDS_ROWFMT_RESULT, tds_dblib_dbprocess::tds_socket, TDS_STATUS_RESULT, TDS_SUCCESS, TDS_TOKEN_RESULTS, and tdsdump_log.
Referenced by dbresults().
◆ dbacolname()Return name of a computed result column.
Definition at line 1898 of file dblib.c.
References column, tds_column::column_name, dbacolptr(), dbproc, NULL, TDS_DBG_FUNC, tds_dstr_cstr(), and tdsdump_log.
◆ dbadata()Get address of compute column data.
COMPUTE
clause to which we're referring. column Nth column in computeid, starting from 1.
Definition at line 4325 of file dblib.c.
References CHECK_PARAMETER, column, tds_column::column_data, dbacolptr(), dbproc, is_blob_col, NULL, SYBENULL, TDS_DBG_FUNC, and tdsdump_log.
Referenced by dbprrow().
◆ dbadlen()Get size of data in a compute column.
COMPUTE
clause to which we're referring. column Nth column in computeid, starting from 1.
Definition at line 4209 of file dblib.c.
References CHECK_PARAMETER, column, tds_column::column_cur_size, tds_column::column_type, dbacolptr(), dbproc, len, SYBENULL, TDS_DBG_FUNC, and tdsdump_log.
◆ dbaltbind()Bind a compute column to a program variable.
COMPUTE
clause to which we're referring. column Nth column in computeid, starting from 1. vartype datatype of the host variable that will receive the data varlen size of host variable pointed to varaddr varaddr address of host variable
Definition at line 4278 of file dblib.c.
References tds_dblib_dbprocess::avail_flag, CHECK_PARAMETER, column, tds_column::column_bindlen, tds_column::column_bindtype, tds_column::column_size, tds_column::column_type, tds_column::column_varaddr, dbacolptr(), dblib_bound_type(), dbperror(), dbproc, dbwillconvert(), FAIL, FALSE, NULL, SUCCEED, SYBEAAMT, SYBEABNV, SYBEBTYP, SYBENULL, TDS_DBG_FUNC, tds_get_conversion_type, TDS_INVALID_TYPE, and tdsdump_log.
Referenced by main().
◆ dbaltcolid()Get column ID of a compute column.
COMPUTE
clause to which we're referring. column Nth column in computeid, starting from 1.
Definition at line 4182 of file dblib.c.
References CHECK_PARAMETER, column, tds_column::column_operand, dbacolptr(), dbproc, SYBENULL, TDS_DBG_FUNC, and tdsdump_log.
Referenced by dbprrow(), and main().
◆ dbaltlen()Get size of data in compute column.
COMPUTE
clause to which we're referring. column Nth column in computeid, starting from 1.
Definition at line 7060 of file dblib.c.
References column, tds_column::column_size, dbacolptr(), dbproc, TDS_DBG_FUNC, and tdsdump_log.
Referenced by dbcolinfo().
◆ dbaltop()Get aggregation operator for a compute column.
COMPUTE
clause to which we're referring. column Nth column in computeid, starting from 1.
Definition at line 4355 of file dblib.c.
References CHECK_PARAMETER, column, tds_column::column_operator, dbacolptr(), dbproc, NULL, SYBENULL, TDS_DBG_FUNC, and tdsdump_log.
Referenced by dbprrow(), and main().
◆ dbalttype()Get datatype for a compute column.
COMPUTE
clause to which we're referring. column Nth column in computeid, starting from 1.
SYB*
dataype token.
Definition at line 4240 of file dblib.c.
References CHECK_PARAMETER, column, tds_column::column_size, tds_column::column_type, dbacolptr(), dbproc, SYBBINARY, SYBCHAR, SYBENULL, SYBVARBINARY, SYBVARCHAR, TDS_DBG_FUNC, tds_get_conversion_type, and tdsdump_log.
Referenced by dbcolinfo(), dbprrow(), and main().
◆ dbaltutype()Get user-defined datatype of a compute column.
COMPUTE
clause to which we're referring. column Nth column in computeid, starting from 1.
Definition at line 7036 of file dblib.c.
References CHECK_PARAMETER, column, tds_column::column_usertype, dbacolptr(), dbproc, SYBENULL, TDS_DBG_FUNC, and tdsdump_log.
Referenced by dbcolinfo().
◆ dbanullbind()Tie a null-indicator to a compute result column.
When a row is fetched, the indicator variable tells the state of the column's data.
When a row is fetched, the indicator variable tells the state of the column's data.
Definition at line 2787 of file dblib.c.
References column, tds_column::column_nullbind, dbacolptr(), dbproc, FAIL, SUCCEED, TDS_DBG_FUNC, and tdsdump_log.
◆ dbanydatecrack()Break any kind of date or time value into useful pieces.
type
of date/time value returned by dbcoltype(). data input: date/time
value to be converted.
This is an extension to dbdatecrack(), see it for more information.
Definition at line 5777 of file dblib.c.
References data, dblib_datecrack(), dbproc, and TRUE.
Referenced by main().
◆ dbbind()Tie a host variable to a resultset column.
Definition at line 2645 of file dblib.c.
References tds_dblib_dbprocess::avail_flag, CHARBIND, CHECK_CONN, CHECK_PARAMETER, column, tds_column::column_bindlen, tds_column::column_bindtype, tds_column::column_size, tds_column::column_type, tds_column::column_varaddr, tds_result_info::columns, dblib_bound_type(), dbperror(), dbproc, dbwillconvert(), FAIL, FALSE, NTBSTRINGBIND, NULL, tds_socket::res_info, results, STRINGBIND, SUCCEED, SYBEABMT, SYBEABNC, SYBEABNV, SYBEBTYP, TDS_DBG_FUNC, tds_get_conversion_type, TDS_INVALID_TYPE, tds_dblib_dbprocess::tds_socket, tdsdump_log, VARYBINBIND, and VARYCHARBIND.
Referenced by char_test(), dbpivot(), main(), select_rows(), test(), test0(), and test_row().
◆ dbbylist()Get bylist
for a compute row.
COMPUTE
clause to which we're referring. size output: size of bylist
buffer whose address is returned, possibly zero.
bylist
for computeid.
Definition at line 4908 of file dblib.c.
References CHECK_PARAMETER, tds_socket::comp_info, dbperror(), dbproc, free(), i, info, malloc(), n, NULL, tds_socket::num_comp_info, ncbi::grid::netcache::search::fields::size, SYBEMEM, SYBENULL, tds, TDS_DBG_FUNC, tds_dblib_dbprocess::tds_socket, and tdsdump_log.
◆ dbcancel()Cancel the current command batch.
Definition at line 3279 of file dblib.c.
References CHECK_CONN, dbproc, FAIL, SUCCEED, tds, TDS_DBG_FUNC, tds_process_cancel, tds_send_cancel, tds_dblib_dbprocess::tds_socket, and tdsdump_log.
Referenced by cancel_msg_handler(), char_test(), drop_table(), main(), test(), and test0().
◆ dbcanquery()Cancel the query currently being retrieved, discarding all pending rows.
Definition at line 5941 of file dblib.c.
References _DB_RES_NEXT_RESULT, CHECK_CONN, dbproc, tds_dblib_dbprocess::dbresults_state, FAIL, IS_TDSDEAD, NULL, SUCCEED, TDS_DBG_FUNC, TDS_FAILED, tds_process_tokens, TDS_RETURN_DONE, tds_dblib_dbprocess::tds_socket, TDS_STOPAT_ROWFMT, and tdsdump_log.
Referenced by dbuse(), and main().
◆ dbchange()See if a command caused the current database to change.
NULL
.
Definition at line 6909 of file dblib.c.
References CHECK_PARAMETER, tds_dblib_dbprocess::dbcurdb, dbproc, tds_dblib_dbprocess::envchange_rcv, NULL, SYBENULL, TDS_DBG_FUNC, TDS_ENV_DATABASE, and tdsdump_log.
◆ dbclose()Close a connection to the server and free associated resources.
Definition at line 1492 of file dblib.c.
References _dbprdate(), tds_dblib_dbprocess::bcpinfo, NULLREP::bindval, buffer_free(), CHECK_PARAMETER, dbfreebuf(), dblib_del_connection(), dblib_mutex, dblib_release_tds_ctx(), DBNUMOPTIONS, tds_dblib_dbprocess::dboptcmd, tds_dblib_dbprocess::dbopts, dbproc, dbstring_free(), default_null_representations, BCP_HOSTFILEINFO::errorfile, free(), tds_dblib_dbprocess::ftos, g_dblib_ctx, BCP_HOSTFILEINFO::host_colcount, BCP_HOSTFILEINFO::host_columns, BCP_HOSTFILEINFO::hostfile, tds_dblib_dbprocess::hostfileinfo, i, MAXBINDTYPES, NULL, tds_dblib_dbprocess::nullreps, dboption::param, tds_dblib_dbprocess::row_buf, SYBENULL, tds, tds_close_socket, TDS_DBG_FUNC, tds_free_bcpinfo, tds_free_socket, tds_mutex_lock, tds_mutex_unlock, tds_dblib_dbprocess::tds_socket, tdsdump_log, and BCP_HOSTCOLINFO::terminator.
Referenced by dbexit(), main(), tdsdbopen(), and test().
◆ dbclrbuf()Clear n rows from the row buffer.
Definition at line 2855 of file dblib.c.
References buf, buffer_count(), buffer_delete_rows(), CHECK_PARAMETER, count, DBBUFFER, tds_dblib_dbprocess::dbopts, dbproc, dboption::factive, n, tds_dblib_dbprocess::row_buf, SYBENULL, TDS_DBG_FUNC, and tdsdump_log.
Referenced by main().
◆ dbclropt()Reset an option.
Definition at line 6008 of file dblib.c.
References asprintf, buffer_set_capacity(), CHECK_CONN, CHECK_NULP, cmd, DBARITHABORT, DBARITHIGNORE, DBBUFFER, DBCHAINXACTS, DBFIPSFLAG, DBISOLATION, dblib_mutex, DBNOCOUNT, DBNOEXEC, DBNUMOPTIONS, tds_dblib_dbprocess::dboptcmd, tds_dblib_dbprocess::dbopts, DBPARSEONLY, dbproc, DBQUOTEDIDENT, DBSETTIME, DBSHOWPLAN, DBSTORPROCID, dbstring_concat(), dboption::factive, FAIL, free(), g_dblib_ctx, option, tds_socket::query_timeout, dblib_context::query_timeout, SUCCEED, TDS_DBG_FUNC, tds_mutex_lock, tds_mutex_unlock, tds_dblib_dbprocess::tds_socket, tdsdump_log, and dboption::text.
Referenced by test().
◆ dbcmd()Append
SQL to the command buffer.
Definition at line 1377 of file dblib.c.
References tds_dblib_dbprocess::avail_flag, CHECK_CONN, CHECK_NULP, tds_dblib_dbprocess::command_state, tds_dblib_dbprocess::dbbuf, tds_dblib_dbprocess::dbbufsz, DBCMDPEND, DBCMDSENT, dbfreebuf(), dbperror(), dbproc, FAIL, FALSE, int, tds_dblib_dbprocess::noautofree, SUCCEED, SYBEMEM, TDS_DBG_FUNC, TDS_RESIZE, and tdsdump_log.
Referenced by char_test(), check_state(), dbfcmd(), dbuse(), main(), query(), sql_cmd(), test(), and test_row().
◆ dbcollen()Get size of a regular result column.
Definition at line 3109 of file dblib.c.
References column, tds_column::column_size, dbcolptr(), dbproc, TDS_DBG_FUNC, and tdsdump_log.
Referenced by colwidth(), dbcolinfo(), dbpivot(), and main().
◆ dbcolname()Return name of a regular result column.
Definition at line 1884 of file dblib.c.
References column, tds_column::column_name, dbcolptr(), dbproc, NULL, TDS_DBG_FUNC, tds_dstr_buf(), and tdsdump_log.
Referenced by dbcolinfo(), dbpivot(), main(), select_rows(), start_query(), and test().
◆ dbcolsource()Get base database column name for a result set column.
Definition at line 3084 of file dblib.c.
References column, tds_column::column_name, dbcolptr(), dbproc, NULL, tds_column::table_column_name, TDS_DBG_FUNC, tds_dstr_buf(), tds_dstr_isempty(), and tdsdump_log.
◆ dbcoltype()Get the datatype of a regular result set column.
SYB*
datetype token value, or zero if column out of range
Definition at line 2902 of file dblib.c.
References column, tds_column::column_size, tds_column::column_type, dbcolptr(), dbproc, SYBBINARY, SYBCHAR, SYBVARBINARY, SYBVARCHAR, TDS_DBG_FUNC, tds_get_conversion_type, and tdsdump_log.
Referenced by colwidth(), dbcolinfo(), dbpivot(), main(), and test().
◆ dbcoltypeinfo()Get precision and scale information for a regular result column.
Definition at line 2956 of file dblib.c.
References column, tds_column::column_prec, tds_column::column_scale, dbcolptr(), dbproc, NULL, dbtypeinfo::precision, dbtypeinfo::scale, TDS_DBG_FUNC, tdsdump_log, and tds_dblib_dbprocess::typeinfo.
Referenced by dbcolinfo().
◆ dbcolutype() ◆ dbconvert()cf.
dbconvert_ps(), above
Sybase: Convert numeric types.
DBTYPEINFO
structure that governs the precision & scale of the output, may be NULL
.
Definition at line 2604 of file dblib.c.
References dbconvert_ps(), DBPERROR_RETURN, dbproc, is_numeric_type, is_tds_type_valid(), tds_dblib_dbprocess::msdblib, NULL, DBNUMERIC::precision, dbtypeinfo::precision, DBNUMERIC::scale, dbtypeinfo::scale, SYBEUDTY, TDS_DBG_FUNC, and tdsdump_log.
Referenced by dbprrow(), dbspr1row(), dbwritetext(), main(), and test().
◆ dbconvert_ps()Convert one datatype to another.
Conversion functions are handled in the TDS layer.
The main reason for this is that ct-lib
and ODBC
(and presumably DBI
) need to be able to do conversions between datatypes. This is possible because the format of complex data (dates, money, numeric, decimal) is defined by its representation on the wire; thus what we call DBMONEY
is exactly its format on the wire. CLIs that need a different representation (ODBC?) need to convert from this format anyway, so the code would already be in place.
Each datatype is also defined by its Server-type so all CLIs should be able to map native types to server types as well.
tds_convert() copies from src to dest and returns the output data length, period. All padding and termination is the responsibility of the API library and is done post-conversion. The peculiar rule in dbconvert() is that a destlen of -1 and a desttype of SYBCHAR
means the output buffer should be null-terminated.
Conversion functions are handled in the TDS layer.
The main reason for this is that ct-lib
and ODBC
(and presumably DBI
) need to be able to do conversions between datatypes. This is possible because the format of complex data (dates, money, numeric, decimal) is defined by its representation on the wire; thus what we call DBMONEY
is exactly its format on the wire. CLIs that need a different representation (ODBC?) need to convert from this format anyway, so the code would already be in place.
Each datatype is also defined by its Server-type so all CLIs should be able to map native types to server types as well.
tds_convert() copies from src to dest and returns the output data length, period. All padding and termination is the responsibility of the API library and is done post-conversion. The peculiar rule in dbconvert() is that a destlen of -1 and a desttype of SYBCHAR
means the output buffer should be null-terminated.
Definition at line 2303 of file dblib.c.
References _dblib_convert_err, assert, BINARYBIND, conv_result::c, CHARBIND, CHECK_PARAMETER, dbbindtype(), dbgetnull(), dbperror(), DBPERROR_RETURN, dbproc, free(), g_dblib_ctx, i, conv_result::ib, int, is_numeric_type, is_similar_type, is_tds_type_valid(), len, conv_result::n, NTBSTRINGBIND, NULL, tdsnumeric::precision, DBNUMERIC::precision, dbtypeinfo::precision, tdsnumeric::scale, DBNUMERIC::scale, dbtypeinfo::scale, ncbi::grid::netcache::search::fields::size, SYB5BIGDATETIME, SYB5BIGTIME, SYBBINARY, SYBBIT, SYBBITN, SYBCHAR, SYBDATE, SYBDATETIME, SYBDATETIME4, SYBDECIMAL, SYBEACNV, SYBECOFL, SYBEUDTY, SYBFLT8, SYBIMAGE, SYBINT1, SYBINT2, SYBINT4, SYBINT8, SYBMONEY, SYBMONEY4, SYBMSDATE, SYBMSDATETIME2, SYBMSDATETIMEOFFSET, SYBMSTIME, SYBNUMERIC, SYBREAL, SYBTEXT, SYBTIME, SYBUNIQUE, SYBVARBINARY, SYBVARCHAR, tds_convert, dblib_context::tds_ctx, TDS_DBG_FUNC, TDS_DBG_INFO1, tds_get_size_by_type, tds_prdatatype(), tdsdump_log, and conv_result::ti.
Referenced by dbconvert(), and test().
◆ dbcount()Get count of rows processed.
Definition at line 2835 of file dblib.c.
References CHECK_PARAMETER, dbproc, tds_socket::rows_affected, SYBENULL, TDS_DBG_FUNC, TDS_NO_COUNT, tds_dblib_dbprocess::tds_socket, and tdsdump_log.
Referenced by check_state(), main(), and test().
◆ dbdata()Get address of data in a regular result column.
Definition at line 3237 of file dblib.c.
References _dbcoldata(), column, dbcolptr(), dbproc, TDS_DBG_FUNC, and tdsdump_log.
Referenced by check_state(), dbprrow(), dbspr1row(), main(), and test0().
◆ dbdatecrack()Break a DBDATETIME value into useful pieces.
DBDATETIME
to be converted.
If DBPROCESS is NULL, dbdatecrack() uses the compiled in default value of MSDBLIB as of when libsybdb was compiled, irrespective of its value when the application is compiled. This can lead to incorrect results because Sybase and Microsoft use different ranges – [0,11] vs. [1,12] – for the month.
Definition at line 5756 of file dblib.c.
References dblib_datecrack(), dbproc, FALSE, and SYBDATETIME.
Referenced by main().
◆ dbdatlen()Get size of current row's data in a regular result column.
Definition at line 3209 of file dblib.c.
References column, tds_column::column_cur_size, tds_column::column_type, dbcolptr(), dbproc, len, TDS_DBG_FUNC, and tdsdump_log.
Referenced by dbprrow(), dbspr1row(), main(), and test0().
◆ dberrhandle() ◆ dbexit()Close server connections and free all related structures.
Definition at line 1559 of file dblib.c.
References dblib_context::connection_list, dblib_context::connection_list_size, count, dbclose(), dblib_mutex, dblib_release_tds_ctx(), dbproc, g_dblib_ctx, i, NULL, dblib_context::ref_count, tds, tds_close_socket, TDS_DBG_FUNC, tds_free_socket, tds_get_parent, tds_mutex_lock, tds_mutex_unlock, tds_dblib_dbprocess::tds_socket, TDS_ZERO_FREE, and tdsdump_log.
Referenced by doexit(), main(), and test().
◆ dbfcmd()printf-like
way to form SQL to send to the server.
Forms a command string and writes to the command buffer with dbcmd().
man vasprintf
for details.
Definition at line 1338 of file dblib.c.
References CHECK_CONN, CHECK_NULP, dbcmd(), dbperror(), dbproc, FAIL, free(), len, SYBEMEM, TDS_DBG_FUNC, tdsdump_log, and vasprintf.
Referenced by test(), and test0().
◆ dbfirstrow()See if a server response has arrived.
0
return immediately.-1
do not return until the server responds or a system interrupt occurs.NULL
. return_reason output:
DBRESULT
server responded.DBNOTIFICATION
registered procedure notification has arrived. dbpoll() the registered handler, if any, before it returns.DBTIMEOUT
milliseconds elapsed before the server responded.DBINTERRUPT
operating-system interrupt occurred before the server responded.0
return immediately.-1
do not return until the server responds or a system interrupt occurs.NULL
. return_reason output:
DBRESULT
server responded.DBNOTIFICATION
registered procedure notification has arrived. dbpoll() the registered handler, if any, before it returns.DBTIMEOUT
milliseconds elapsed before the server responded.DBINTERRUPT
operating-system interrupt occurred before the server responded.Definition at line 7115 of file dblib.c.
References buffer_idx2row(), CHECK_CONN, dbproc, tds_dblib_dbprocess::row_buf, DBPROC_ROWBUF::tail, TDS_DBG_FUNC, and tdsdump_log.
◆ dbfreebuf()Erase the command buffer, in case DBNOAUTOFREE
was set with dbsetopt().
Definition at line 5973 of file dblib.c.
References CHECK_PARAMETER, tds_dblib_dbprocess::dbbuf, tds_dblib_dbprocess::dbbufsz, dbproc, SYBENULL, TDS_DBG_FUNC, TDS_ZERO_FREE, and tdsdump_log.
Referenced by dbclose(), and dbcmd().
◆ dbgetchar()Get address of a position in the command buffer.
Definition at line 6225 of file dblib.c.
References CHECK_PARAMETER, tds_dblib_dbprocess::dbbuf, tds_dblib_dbprocess::dbbufsz, dbproc, NULL, SYBENULL, TDS_DBG_FUNC, and tdsdump_log.
Referenced by main().
◆ dbgetmaxprocs() int dbgetmaxprocs ( void ) ◆ dbgetpacket()Get TDS packet size for the connection.
Definition at line 3970 of file dblib.c.
References tds_env::block_size, CHECK_PARAMETER, tds_socket::conn, dbproc, tds_connection::env, SYBENULL, tds, TDS_DBG_FUNC, TDS_DEF_BLKSZ, tds_dblib_dbprocess::tds_socket, and tdsdump_log.
◆ dbgetrow()Read a row from the row buffer.
When row buffering is enabled (DBBUFFER option is on), the client can use dbgetrow() to re-read a row previously fetched with dbnextrow(). The effect is to move the row pointer – analogous to fseek() – back to row. Calls to dbnextrow() read from row + 1 until the buffer is exhausted, at which point it resumes its normal behavior, except that as each row is fetched from the server, it is added to the row buffer (in addition to being returned to the client). When the buffer is filled, dbnextrow() returns FAIL
until the buffer is at least partially emptied with dbclrbuf().
Definition at line 1932 of file dblib.c.
References buffer_row2idx(), buffer_transfer_bound_data(), CHECK_CONN, DBPROC_ROWBUF::current, dbproc, FAIL, NO_MORE_ROWS, REG_ROW, result, row, tds_dblib_dbprocess::row_buf, TDS_DBG_FUNC, TDS_ROW_RESULT, and tdsdump_log.
Referenced by main().
◆ dbgettime() ◆ dbgetuserdata() ◆ dbinit()Initialize db-lib.
TDS_MAX_CONN
TDSSOCKET
pointers.
Definition at line 674 of file dblib.c.
References _dblib_err_handler, dblib_context::connection_list, dblib_context::connection_list_size, dblib_context::connection_list_size_represented, dblib_get_tds_ctx(), dblib_mutex, default_err_handler(), FAIL, g_dblib_ctx, dblib_context::login_timeout, NULL, dblib_context::query_timeout, dblib_context::ref_count, SUCCEED, TDS_DBG_FUNC, TDS_MAX_CONN, tds_mutex_lock, tds_mutex_unlock, tds_new0, and tdsdump_log.
Referenced by main(), and test().
◆ dbiscount() ◆ dbisopt()Get value of an option.
Definition at line 6076 of file dblib.c.
References CHECK_PARAMETER, DBNUMOPTIONS, tds_dblib_dbprocess::dbopts, dbproc, dboption::factive, FALSE, option, SYBENULL, TDS_DBG_FUNC, and tdsdump_log.
Referenced by dbsettime(), main(), and test().
◆ dblogin()Allocate a LOGINREC
structure.
LOGINREC
cannot be allocated. LOGINREC* to valid memory, otherwise.
Definition at line 719 of file dblib.c.
References dbperror(), free(), NULL, SYBEMEM, tds_alloc_login, TDS_DBG_FUNC, tds_dblib_loginrec::tds_login, tds_new, tds_set_library, and tdsdump_log.
Referenced by main(), and test().
◆ dbloginfree() ◆ dbmorecmds()See if more commands are to be processed.
Definition at line 6150 of file dblib.c.
References assert, CHECK_CONN, dbproc, FAIL, tds_result_info::more_results, NULL, tds_socket::res_info, SUCCEED, TDS_DBG_FUNC, tds_dblib_dbprocess::tds_socket, and tdsdump_log.
Referenced by main().
◆ dbmoretext()Send chunk of a text/image value to the server.
Definition at line 6654 of file dblib.c.
References assert, CHECK_CONN, CHECK_NULP, dbproc, FAIL, ncbi::grid::netcache::search::fields::size, SUCCEED, TDS_DBG_FUNC, TDS_FAILED, tds_dblib_dbprocess::tds_socket, tds_writetext_continue, tds_writetext_end, tdsdump_log, text(), tds_dblib_dbprocess::text_sent, and tds_dblib_dbprocess::text_size.
Referenced by test().
◆ dbmsghandle() ◆ dbname()Get name of current database.
Definition at line 6929 of file dblib.c.
References CHECK_PARAMETER, tds_dblib_dbprocess::dbcurdb, dbproc, NULL, SYBENULL, TDS_DBG_FUNC, and tdsdump_log.
Referenced by CWriteDB_Column::AddByteOrder(), CCreateProteinId::apply(), CCreateLocusTagGene::apply(), BlastFilteringOptionsFromString(), BOOST_AUTO_TEST_CASE(), CAlignFormatUtil::BuildUserUrl(), CAutoRegistrar::CAutoRegistrar(), CBlastKmer::CBlastKmer(), TestUtil::CBlastOM::CBlastOM(), CBuildDatabase::CBuildDatabase(), check_dbname(), CEntrezSearchForm::ConstructQuery(), CPepXML::ConvertFromOMSSA(), CSrcTableColumnBaseFactory::Create(), CCreateProteinId::create_protein_ids(), CBlastDb_DataLoaderCF::CreateAndRegister(), CRmtBlastDb_DataLoaderCF::CreateAndRegister(), CBuildDatabase::CreateDirectories(), CSQLITE_Connection::CreateInMemoryDatabase(), SGeneCdsmRnaFeats::CrossLinkTriple(), CSeqDB::CSeqDB(), CSeqDBGiIndex::CSeqDBGiIndex(), CSeqDBIdxFile::CSeqDBIdxFile(), CSeqDBIsam::CSeqDBIsam(), CSeqDbSeqInfoSrc::CSeqDbSeqInfoSrc(), CTaxonomy4BlastSQLite::CTaxonomy4BlastSQLite(), CWriteDB::CWriteDB(), CWriteDB_Column::CWriteDB_Column(), CWriteDB_Isam::CWriteDB_Isam(), CWriteDB_Volume::CWriteDB_Volume(), CAliasTest::DoTest(), FindBlastDbPath(), CSeqDBAliasSets::FindBlastDBPath(), CVDBAliasUtil::FindVDBPaths(), CSeqDBImpl::FindVolumePaths(), CSeqDB::FindVolumePaths(), CFlatSubmitterSeqidQVal::Format(), fta_create_wgs_dbtag(), CBlastServices::GetDatabaseInfo(), CBlastServices::GetDatabaseInfoLegacy(), CSeqDB::GetDate(), CSeqDBLMDB::GetDBTaxIds(), CSeqDB::GetDiskUsage(), CBlastDbDataLoader::GetLoaderNameFromArgs(), CSeqDBLMDB::GetOid(), CSeqDBLMDB::GetOids(), CSeqDBLMDB::GetOidsForTaxIds(), CSeqDBIsam::IndexExists(), CBlastServices::IsValidBlastDb(), CProfileData::Load(), CAlnMrgApp::LoadBlastDb(), MakeStrDbtag(), CIgBlastTabularInfo::PrintHeader(), CBlastTabularInfo::PrintHeader(), CBlastDbDataLoader::RegisterInObjectManager(), CRemoteBlastDbDataLoader::RegisterInObjectManager(), CMultiApplication::Run(), COcbdDemoApp::Run(), CCtlLibDemoAPp::RunSample(), s_checkDbSeqSrcFunctions(), s_ComputeNumSequencesAndDbLength(), SGeneCdsmRnaFeats::s_CreateDBXref(), s_DoesBlastDbExist(), s_FillDbInfoLocally(), s_ImportDatabase(), s_ParseRepeatOptions(), s_ParseWindowMaskerOptions(), s_PrintAliasFileCreationLog(), s_RetrieveSequenceLength(), s_SeqDB_DBExists(), s_SeqDB_FindBlastDBPath(), s_SeqDB_TryPaths(), s_SeqDBInit(), s_TestReadPDBAsn1(), SDataLoaderConfig::SDataLoaderConfig(), SeqDB_CombineAndQuote(), SeqDB_FindBlastDBPath(), SeqDB_SplitQuoted(), SeqDbBlastSeqSrcInit(), set_dbname(), CApplyStructCommentTreeItemData::SetData(), CSearchDatabase::SetDatabaseName(), CSeqDBDemo_Threaded::SetDbName(), CMultiAlignerOptions::SetRpsDb(), CSequenceIStreamBlastDB::ShowSupportedFilters(), CId1FetchApp::WriteHistoryTable(), CMakeBlastDBApp::x_BuildDatabase(), CSeqDBAliasSets::x_FindBlastDBPath(), CBlastTracebackSearch::x_Init(), SDataLoaderConfig::x_Init(), TestUtil::CBlastOM::x_InitBlastDatabaseDataLoader(), CBlastScopeSource::x_InitBlastDatabaseDataLoader(), CSeqDBIsam::x_MakeFilenames(), CBlastTabularInfo::x_PrintQueryAndDbNames(), CBlastFormat::x_PrintTabularReport(), CBlastKmer::x_SearchMultipleQueries(), BlastdbCopyApplication::x_ShouldCopyPIGs(), and BlastdbCopyApplication::x_ShouldParseSeqIds().
◆ dbnullbind()Tie a null-indicator to a regular result column.
When a row is fetched, the indicator variable tells the state of the column's data.
Definition at line 2751 of file dblib.c.
References column, tds_column::column_nullbind, dbcolptr(), dbproc, FAIL, SUCCEED, TDS_DBG_FUNC, and tdsdump_log.
Referenced by dbpivot(), and test0().
◆ dbnumalts()Get count of columns in a compute row.
COMPUTE
clause to which we're referring.
Definition at line 4849 of file dblib.c.
References CHECK_PARAMETER, tds_socket::comp_info, dbproc, i, info, tds_socket::num_comp_info, SYBENULL, tds, TDS_DBG_FUNC, tds_dblib_dbprocess::tds_socket, and tdsdump_log.
Referenced by dbprrow(), and main().
◆ dbnumcols()Return number of regular columns in a result set.
Definition at line 1860 of file dblib.c.
References CHECK_PARAMETER, dbproc, tds_result_info::num_cols, tds_socket::res_info, SYBENULL, TDS_DBG_FUNC, tds_dblib_dbprocess::tds_socket, and tdsdump_log.
Referenced by check_state(), main(), select_rows(), start_query(), test(), and test_file().
◆ dbnumcompute() ◆ dbprcollen()Get size of a result column needed to print column.
Definition at line 3132 of file dblib.c.
References _get_printable_size(), column, dbcolptr(), dbproc, TDS_DBG_FUNC, and tdsdump_log.
◆ dbprhead()Print result set headings to stdout.
Definition at line 3854 of file dblib.c.
References _get_printable_size(), CHECK_PARAMETER, tds_column::column_name, tds_result_info::columns, tds_dblib_dbprocess::dbopts, DBPRCOLSEP, DBPRLINESEP, dbproc, DBPRPAD, dbstring_getchar(), i, len, NULL, tds_result_info::num_cols, dboption::param, tds_socket::res_info, SYBENULL, tds, TDS_DBG_FUNC, tds_dstr_cstr(), tds_dstr_len(), tds_dblib_dbprocess::tds_socket, and tdsdump_log.
Referenced by init(), and main().
◆ dbprrow()Print a result set to stdout.
Definition at line 3425 of file dblib.c.
References _get_printable_size(), tds_result_info::by_cols, CHECK_CONN, tds_column::column_cur_size, tds_column::column_name, tds_column::column_size, tds_column::column_type, tds_result_info::columns, tds_socket::comp_info, tds_result_info::computeid, dbadata(), dbaltcolid(), dbaltop(), dbalttype(), dbconvert(), dbdata(), dbdatlen(), dblib_bound_type(), dbnextrow(), dbnumalts(), tds_dblib_dbprocess::dbopts, dbperror(), DBPRCOLSEP, DBPRLINESEP, dbproc, DBPRPAD, dbprtype(), dbstring_getchar(), FAIL, free(), i, int, is_datetime_type, len, NO_MORE_ROWS, NULL, tds_result_info::num_cols, tds_socket::num_comp_info, dboption::param, REG_ROW, tds_socket::res_info, pivot_t::status, STD_DATETIME_FMT, STRINGBIND, SUCCEED, SYBEMEM, tds, tds_datecrack, TDS_DBG_FUNC, tds_dstr_len(), tds_get_conversion_type, tds_new0, tds_dblib_dbprocess::tds_socket, tds_strftime, and tdsdump_log.
Referenced by init(), and main().
◆ dbprtype() ◆ dbreadtext()Fetch part of a text or image value from the server.
>0
count of bytes placed in buf.0
end of row.-1
error, no result set ready for dbproc.NO_MORE_ROWS
all rows read, no further data.Definition at line 6585 of file dblib.c.
References buf, buffer_save_row(), bufsize, CHECK_NULP, CHECK_PARAMETER, tds_column::column_cur_size, tds_column::column_data, tds_column::column_textpos, tds_result_info::columns, dbproc, mask, NO_MORE_ROWS, NULL, tds_socket::res_info, SYBENULL, tds, TDS_COMPUTE_RESULT, TDS_DBG_FUNC, TDS_NO_MORE_RESULTS, tds_process_tokens, TDS_RETURN_COMPUTE, TDS_RETURN_ROW, TDS_ROW_RESULT, tds_dblib_dbprocess::tds_socket, TDS_STOPAT_DONE, TDS_STOPAT_ROWFMT, TDS_SUCCESS, and tdsdump_log.
Referenced by test().
◆ dbrecftos() void dbrecftos ( const char filename[] )Record to a file all SQL commands sent to the server.
Definition at line 6689 of file dblib.c.
References dblib_mutex, dbperror(), f, free(), g_dblib_ctx, NULL, dblib_context::recftos_filename, dblib_context::recftos_filenum, strdup, SYBEMEM, SYBENULP, TDS_DBG_FUNC, tds_mutex_lock, tds_mutex_unlock, and tdsdump_log.
Referenced by read_login_info().
◆ dbresults()Set up query results.
The meaning of results is very specific and not very intuitive. Results are created by either
a SELECT statement
When dbresults returns SUCCEED, therefore, it indicates the server processed the query successfully and that one or more of these is present:
If none of the above are present, dbresults() returns NO_MORE_RESULTS.
SUCCEED does not imply that DBROWS() will return TRUE or even that dbnumcols() will return nonzero. A general algorithm for reading results will call dbresults() until it return NO_MORE_RESULTS (or FAIL). An application should check for all the above kinds of results within the dbresults() loop.
Definition at line 1706 of file dblib.c.
References _dbresults(), buf, dbproc, prdbretcode(), TDS_DBG_FUNC, and tdsdump_log.
Referenced by char_test(), create_tables(), dbuse(), dbwritetext(), do_test(), drop_table(), init(), init_proc(), insert_row(), main(), query(), select_rows(), start_query(), test(), test0(), test_file(), and test_row().
◆ dbsafestr()safely quotes character values in SQL text.
DBSINGLE
Doubles all single quotes (').DBDOUBLE
Doubles all double quotes (").DBBOTH
Doubles all single and double quotes.Definition at line 6302 of file dblib.c.
References CHECK_NULP, DBBOTH, DBDOUBLE, dbproc, DBSINGLE, FAIL, FALSE, i, int, SUCCEED, TDS_DBG_FUNC, tdsdump_log, and TRUE.
Referenced by main().
◆ dbservcharset() ◆ dbsetifile() void dbsetifile ( char * filename ) ◆ dbsetinterrupt()Set interrupt handler for db-lib to use while blocked against a read from the server.
Definition at line 4539 of file dblib.c.
References CHECK_PARAMETER, tds_dblib_dbprocess::chkintr, chkintr(), dbproc, tds_dblib_dbprocess::hndlintr, hndlintr(), SYBENULL, TDS_DBG_FUNC, and tdsdump_log.
◆ dbsetlogintime() ◆ dbsetlversion()Set TDS version for future connections.
Definition at line 945 of file dblib.c.
References assert, dbperror(), DBVER42, DBVER60, DBVERSION_100, DBVERSION_71, DBVERSION_72, DBVERSION_73, DBVERSION_74, FAIL, login, NULL, SUCCEED, SYBEASNL, TDS_DBG_FUNC, tds_set_version, tds_login::tds_version, tdsdump_log, and dtl::version.
◆ dbsetmaxprocs()Set maximum simultaneous connections db-lib will open to the server.
Definition at line 3994 of file dblib.c.
References assert, dblib_context::connection_list, dblib_context::connection_list_size, dblib_context::connection_list_size_represented, dblib_mutex, dbperror(), FAIL, g_dblib_ctx, i, NULL, SUCCEED, SYBEMEM, TDS_DBG_FUNC, tds_mutex_lock, tds_mutex_unlock, tds_new0, and tdsdump_log.
Referenced by test().
◆ dbsetnull()Define substitution values to be used when binding null values.
Definition at line 1964 of file dblib.c.
References BIGDATETIMEBIND, BIGINTBIND, BIGTIMEBIND, BINARYBIND, NULLREP::bindval, CHARBIND, CHECK_CONN, CHECK_PARAMETER, DATEBIND, DATETIMEBIND, dbperror(), dbproc, DECIMALBIND, default_null_representations, FAIL, FLT8BIND, free(), int, INTBIND, NULLREP::len, len, MONEYBIND, NTBSTRINGBIND, NULL, tds_dblib_dbprocess::nullreps, NUMERICBIND, REALBIND, SMALLBIND, SMALLDATETIMEBIND, SMALLMONEYBIND, SRCDECIMALBIND, SRCNUMERICBIND, STRINGBIND, SUCCEED, SYBEBBL, SYBEBTYP, SYBEMEM, SYBENBVP, TDS_DBG_FUNC, TDS_DBG_NETWORK, tds_new, tdsdump_dump_buf, tdsdump_log, TIMEBIND, TINYBIND, VARYBINBIND, and VARYCHARBIND.
Referenced by char_test(), and main().
◆ dbsetopt()Set db-lib or server option.
Definition at line 4383 of file dblib.c.
References asprintf, buffer_set_capacity(), CHECK_CONN, CHECK_NULP, cmd, DBARITHABORT, DBARITHIGNORE, DBAUTH, DBBUFFER, DBCHAINXACTS, DBDATEFIRST, DBDATEFORMAT, DBFIPSFLAG, DBISOLATION, DBNATLANG, DBNOAUTOFREE, DBNOCOUNT, DBNOEXEC, DBNUMOPTIONS, DBOFFSET, tds_dblib_dbprocess::dboptcmd, tds_dblib_dbprocess::dbopts, DBPARSEONLY, dbperror(), DBPRCOLSEP, DBPRLINELEN, DBPRLINESEP, dbproc, DBPRPAD, DBQUOTEDIDENT, DBROWCOUNT, DBSETTIME, DBSHOWPLAN, DBSTAT, DBSTORPROCID, dbstring_assign(), dbstring_concat(), DBTEXTLIMIT, DBTEXTSIZE, dboption::factive, FAIL, free(), i, NULL, option, dboption::param, tds_socket::query_timeout, SUCCEED, SYBEUNOP, TDS_DBG_FUNC, tds_dblib_dbprocess::tds_socket, tdsdump_log, and dboption::text.
Referenced by main(), and test().
◆ dbsetrow()Make a buffered row "current" without fetching it into bound variables.
Definition at line 2047 of file dblib.c.
References buffer_row2idx(), CHECK_CONN, DBPROC_ROWBUF::current, dbproc, FAIL, NO_MORE_ROWS, REG_ROW, row, tds_dblib_dbprocess::row_buf, TDS_DBG_FUNC, and tdsdump_log.
◆ dbsettime()Set maximum seconds db-lib waits for a server response to query.
Definition at line 4090 of file dblib.c.
References dblib_context::connection_list, dbisopt(), dblib_mutex, dbproc, DBSETTIME, g_dblib_ctx, i, dblib_context::query_timeout, SUCCEED, tds, TDS_DBG_FUNC, tds_get_parent, TDS_MAX_CONN, tds_mutex_lock, tds_mutex_unlock, and tdsdump_log.
Referenced by test(), and timeout_err_handler().
◆ dbsetuserdata() ◆ dbsetversion()Specify a db-lib version level.
Definition at line 5885 of file dblib.c.
References dbperror(), DBVERSION_100, DBVERSION_42, DBVERSION_46, DBVERSION_70, DBVERSION_71, DBVERSION_72, DBVERSION_73, DBVERSION_74, FAIL, g_dblib_version, g_dbsetversion_called, NULL, SUCCEED, SYBEIVERS, TDS_DBG_FUNC, tdsdump_log, and dtl::version.
Referenced by main().
◆ dbspid() ◆ dbspr1row()Print a regular result row to a buffer.
Fills a buffer with one data row, represented as a null-terminated ASCII string. Helpful for debugging.
Definition at line 3342 of file dblib.c.
References _get_printable_size(), buffer, CHECK_CONN, CHECK_NULP, tds_column::column_cur_size, tds_column::column_name, tds_column::column_size, tds_column::column_type, tds_result_info::columns, dbconvert(), dbdata(), dbdatlen(), dblib_bound_type(), tds_dblib_dbprocess::dbopts, DBPRCOLSEP, dbproc, DBPRPAD, dbstring_getchar(), FAIL, i, int, is_datetime_type, len, tds_result_info::num_cols, dboption::param, tds_socket::res_info, STD_DATETIME_FMT, STRINGBIND, SUCCEED, tds, tds_datecrack, TDS_DBG_FUNC, tds_dstr_len(), tds_get_conversion_type, tds_dblib_dbprocess::tds_socket, tds_strftime, and tdsdump_log.
◆ dbspr1rowlen()Determine size buffer required to hold the results returned by dbsprhead(), dbsprline(), and dbspr1row().
Definition at line 3304 of file dblib.c.
References _get_printable_size(), CHECK_PARAMETER, tds_column::column_name, tds_result_info::columns, tds_dblib_dbprocess::dbopts, DBPRCOLSEP, dbproc, dbstring_length(), int, len, tds_result_info::num_cols, dboption::param, tds_socket::res_info, SYBEDDNE, SYBENULL, tds, TDS_DBG_FUNC, tds_dstr_len(), tds_dblib_dbprocess::tds_socket, and tdsdump_log.
◆ dbsprhead()Print result set headings to a buffer.
Definition at line 3789 of file dblib.c.
References _get_printable_size(), buffer, CHECK_CONN, CHECK_NULP, tds_column::column_name, tds_result_info::columns, tds_dblib_dbprocess::dbopts, DBPRCOLSEP, dbproc, DBPRPAD, dbstring_getchar(), FAIL, i, int, tds_result_info::num_cols, dboption::param, tds_socket::res_info, SUCCEED, tds, TDS_DBG_FUNC, tds_dstr_cstr(), tds_dstr_len(), tds_dblib_dbprocess::tds_socket, and tdsdump_log.
◆ dbsprline()Get formatted string for underlining dbsprhead() column names.
Definition at line 3731 of file dblib.c.
References _get_printable_size(), buffer, CHECK_CONN, CHECK_NULP, tds_column::column_name, tds_result_info::columns, tds_dblib_dbprocess::dbopts, DBPRCOLSEP, dbproc, dbstring_getchar(), FAIL, i, len, tds_result_info::num_cols, dboption::param, tds_socket::res_info, SUCCEED, tds, TDS_DBG_FUNC, tds_dstr_len(), tds_dblib_dbprocess::tds_socket, and tdsdump_log.
◆ dbsqlexec()send the SQL command to the server and wait for an answer.
Please be patient. This function waits for the server to respond. dbsqlexec
is equivalent to dbsqlsend() followed by dbsqlok().
Definition at line 1423 of file dblib.c.
References CHECK_CONN, dbproc, dbsqlok(), dbsqlsend(), FAIL, SUCCEED, TDS_DBG_FUNC, and tdsdump_log.
Referenced by char_test(), check_state(), create_tables(), dbuse(), do_test(), drop_table(), init(), init_proc(), insert_row(), main(), query(), select_rows(), start_query(), test(), test0(), test_file(), and test_row().
◆ dbsqlok()Wait for results of a query from the server.
dbnextresults()
. FAIL SQL syntax error, typically.
Definition at line 4722 of file dblib.c.
References _DB_RES_NEXT_RESULT, _DB_RES_NO_MORE_RESULTS, _DB_RES_RESULTSET_EMPTY, _DB_RES_SUCCEED, assert, buffer_alloc(), buffer_free(), CHECK_CONN, dbproc, tds_dblib_dbprocess::dbresults_state, FAIL, prdbresults_state(), prdbretcode(), tds_dblib_dbprocess::row_buf, SUCCEED, tds, TDS_COMPUTE_RESULT, TDS_COMPUTEFMT_RESULT, TDS_DBG_FUNC, TDS_DONE_ERROR, TDS_DONE_MORE_RESULTS, TDS_DONE_RESULT, TDS_DONEINPROC_RESULT, TDS_DONEPROC_RESULT, TDS_FAILED, tds_flush_packet, TDS_NO_MORE_RESULTS, tds_process_tokens, TDS_ROW_RESULT, TDS_ROWFMT_RESULT, tds_dblib_dbprocess::tds_socket, TDS_SUCCESS, TDS_TOKEN_RESULTS, tdsdump_log, and tds_dblib_dbprocess::text_sent.
Referenced by dbsqlexec(), dbwritetext(), main(), and test().
◆ dbsqlsend()Transmit the command buffer to the server.
Non-blocking, does not wait for a response.
Definition at line 6965 of file dblib.c.
References _DB_RES_INIT, _dbprdate(), tds_dblib_dbprocess::avail_flag, CHECK_CONN, tds_dblib_dbprocess::command_state, tds_dblib_dbprocess::dbbuf, DBCMDSENT, tds_dblib_dbprocess::dboptcmd, dbperror(), dbproc, tds_dblib_dbprocess::dbresults_state, dbstring_free(), dbstring_get(), tds_dblib_dbprocess::envchange_rcv, FAIL, FALSE, free(), tds_dblib_dbprocess::ftos, tds_dblib_dbprocess::more_results, NULL, tds_socket::state, SUCCEED, SYBEASEC, SYBERPND, tds, TDS_DBG_FUNC, TDS_FAILED, TDS_NO_MORE_RESULTS, TDS_PENDING, tds_process_tokens, tds_dblib_dbprocess::tds_socket, tds_submit_query, TDS_SUCCESS, TDS_TOKEN_RESULTS, TDS_TOKEN_TRAILING, tdsdump_log, and TRUE.
Referenced by dbsqlexec(), and test().
◆ dbstrbuild() RETCODE dbstrbuild ( DBPROCESS * dbproc, char * charbuf, int bufsize, char * text, char * formats, ... )Build a printable string from text containing placeholders for variables.
dbstrbuild()
. bufsize size of charbuf, in bytes. text null-terminated ASCII string, with placeholders for variables. A Placeholder is a three-byte string, made up of:
Definition at line 7223 of file dblib.c.
References bufsize, CHECK_NULP, dbproc, FAIL, SUCCEED, TDS_DBG_FUNC, TDS_NULLTERM, TDS_SUCCEED, tds_vstrbuild, tdsdump_log, and text().
◆ dbstrcpy()Get a copy of a chunk of the command buffer.
NULL
to dest[0].Definition at line 6258 of file dblib.c.
References CHECK_CONN, CHECK_NULP, tds_dblib_dbprocess::dbbuf, tds_dblib_dbprocess::dbbufsz, dbperror(), dbproc, FAIL, SUCCEED, SYBEBNUM, SYBENSIP, TDS_DBG_FUNC, and tdsdump_log.
◆ dbstrlen()Get size of the command buffer, in bytes.
Definition at line 6206 of file dblib.c.
References CHECK_PARAMETER, tds_dblib_dbprocess::dbbufsz, dbproc, SYBENULL, TDS_DBG_FUNC, and tdsdump_log.
◆ dbtablecolinfo()describe table column attributes with a single call (Freetds-only API function modelled on dbcolinfo)
Definition at line 6380 of file dblib.c.
References DBCOL::ActualName, CHECK_CONN, CHECK_NULP, column, tds_column::column_identity, tds_column::column_name, tds_column::column_nullable, tds_column::column_prec, tds_column::column_scale, tds_column::column_size, tds_column::column_type, tds_column::column_usertype, tds_column::column_writeable, dbcolptr(), DBPERROR_RETURN, dbproc, FAIL, FALSE, DBCOL::Identity, is_nullable_type, DBCOL::MaxLength, DBCOL::Name, DBCOL::Null, tds_column::on_server, DBCOL::Precision, DBCOL::Scale, DBCOL2::ServerMaxLength, DBCOL2::ServerType, DBCOL2::ServerTypeDeclaration, DBCOL::SizeOfStruct, strlcpy, SUCCEED, SYBECOLSIZE, TDS_DBG_FUNC, tds_dstr_cstr(), TDS_FAILED, tds_get_column_declaration, tds_get_conversion_type, tds_dblib_dbprocess::tds_socket, tdsdump_log, TRUE, DBCOL::Type, DBCOL::Updatable, DBCOL::UserType, and DBCOL::VarLength.
Referenced by main().
◆ dbtxptr()Get text pointer for a column in the current row.
SELECT
statement, starting at 1.
Definition at line 6472 of file dblib.c.
References column, tds_column::column_data, dbcolptr(), dbproc, if(), is_blob_col, NULL, TDS_DBG_FUNC, tdsdump_log, tds_blob::textptr, and tds_blob::valid_ptr.
Referenced by test().
◆ dbtxtimestamp()Get text timestamp for a column in the current row.
SELECT
statement, starting at 1.
Definition at line 6442 of file dblib.c.
References column, tds_column::column_data, dbcolptr(), dbproc, if(), is_blob_col, NULL, TDS_DBG_FUNC, tdsdump_log, tds_blob::timestamp, and tds_blob::valid_ptr.
Referenced by test().
◆ dbuse()Change current database.
Analagous to the unix command cd
, dbuse() makes name the default database. Waits for an answer from the server.
Definition at line 1449 of file dblib.c.
References CHECK_CONN, CHECK_NULP, dbcanquery(), dbcmd(), dbperror(), dbproc, dbresults(), dbsqlexec(), FAIL, free(), NULL, query, strcat, SUCCEED, SYBEMEM, TDS_DBG_FUNC, tds_new, tds_quote_id, tds_dblib_dbprocess::tds_socket, and tdsdump_log.
Referenced by main(), and test().
◆ dbvarylen()Determine whether a column can vary in size.
Definition at line 3158 of file dblib.c.
References column, tds_column::column_nullable, tds_column::column_type, dbcolptr(), dbproc, FALSE, SYBBITN, SYBDATETIMN, SYBDECIMAL, SYBFLTN, SYBIMAGE, SYBINTN, SYBMONEYN, SYBNTEXT, SYBNUMERIC, SYBNVARCHAR, SYBTEXT, SYBVARBINARY, SYBVARCHAR, TDS_DBG_FUNC, tdsdump_log, and TRUE.
Referenced by dbcolinfo(), init_hostfile_columns(), and main().
◆ dbversion() const char* dbversion ( ) ◆ dbwillconvert()Test whether or not a datatype can be converted to another datatype.
src/dblib/unittests/convert
().c().
Definition at line 2885 of file dblib.c.
References FALSE, TDS_DBG_FUNC, tds_prdatatype(), tds_willconvert, tdsdump_log, and TRUE.
Referenced by colwidth(), dbaltbind(), and dbbind().
◆ dbwritetext()Send text or image data to the server.
DBTXPLEN
. timestamp text timestamp to be modified, obtained from dbtxtimestamp() or dbtxtsnewval(), may be NULL
. log TRUE
if the operation is to be recorded in the transaction log. size overall size of the data (in total, not just for this call), in bytes. A guideline, must not overstate the case. text the chunk of data to write.
Definition at line 6509 of file dblib.c.
References _DB_RES_INIT, CHECK_CONN, CHECK_NULP, CHECK_PARAMETER, tds_dblib_dbprocess::command_state, DBCMDSENT, dbconvert(), dbperror(), dbproc, dbresults(), tds_dblib_dbprocess::dbresults_state, dbsqlok(), DBTXPLEN, FAIL, IS_TDSDEAD, log, NULL, ncbi::grid::netcache::search::fields::size, tds_socket::state, SUCCEED, SYBBINARY, SYBCHAR, SYBERPND, SYBEZTXT, TDS_DBG_FUNC, TDS_FAILED, TDS_NO_MORE_RESULTS, TDS_PENDING, tds_process_tokens, tds_dblib_dbprocess::tds_socket, TDS_TOKEN_TRAILING, tds_writetext_continue, tds_writetext_end, tds_writetext_start, tdsdump_log, text(), tds_dblib_dbprocess::text_sent, tds_dblib_dbprocess::text_size, and TRUE.
Referenced by test().
RetroSearch is an open source project built by @garambo | Open a GitHub Issue
Search and Browse the WWW like it's 1997 | Search results from DuckDuckGo
HTML:
3.2
| Encoding:
UTF-8
| Version:
0.7.4