tds_swap_datatype(
intcoltype,
void*
b);
215 #define MIN(a,b) (((a) < (b)) ? (a) : (b)) 217 #define MAX(a,b) (((a) > (b)) ? (a) : (b)) 434 for(; num_parts; --num_parts) {
523 size_tallocated = 0;
539allocated = (size_t)
len;
585 if(info_len > colsize)
614 if(colsize >
sizeof(num->
array))
656 if(varint != info_len || varint > 2)
687 #ifdef WORDS_BIGENDIAN 744memcmp(blob->
textptr,
"dummy textptr\0\0",16) == 0)
805 if(colsize > allocated) {
858 if(colsize < curcol->column_size)
859memset(dest + colsize, fillchar, curcol->
column_size- colsize);
866 #ifdef WORDS_BIGENDIAN 959 size_tcolsize,
size;
1000src = (
unsigned char*) blob->
textvalue;
1011 if(curcol->
char_conv->client_charset.min_bytes_per_char == curcol->
char_conv->client_charset.max_bytes_per_char
1012&& curcol->
char_conv->server_charset.min_bytes_per_char == curcol->
char_conv->server_charset.max_bytes_per_char) {
1013converted_size = colsize * curcol->
char_conv->server_charset.min_bytes_per_char / curcol->
char_conv->client_charset.min_bytes_per_char;
1021colsize = (
TDS_INT)output_size;
1045 if(blob ==
NULL) {
1051colsize =
MIN(colsize,
size);
1054 static const unsigned chartextptr[] = {
10550xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
10560xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff
1065colsize =
MIN(colsize,
size);
1069colsize =
MIN(colsize,
size);
1088 #ifdef WORDS_BIGENDIAN 1089 unsigned char buf[64];
1094memcpy(
buf, s, colsize);
1110colsize =
MAX(
MIN(colsize, 0x7fffffff), 1);
1118colsize =
MIN(colsize, 0x7fffffff);
1122colsize =
MIN(colsize, 8000);
1136colsize =
MIN(colsize, 255);
1156 #ifdef WORDS_BIGENDIAN 1157 unsigned char buf[64];
1162memcpy(
buf, s, colsize);
1226 if(colsize >
sizeof(num->
array))
1272 unsigned charcolsize;
1332memset(dt, 0,
sizeof(*dt));
1348 if(size < 3 || size > 5)
1352 #ifdef WORDS_BIGENDIAN 1359}
else if(
size!= 0)
1368 #ifdef WORDS_BIGENDIAN 1372dt->
date= ui - 693595;
1399 unsigned char buf[12], *p;
1410p[4] = (
unsignedchar) (dta->
time>> 32);
1422 buf[0] = (
unsignedchar) (p -
buf- 1);
1571 #if ENABLE_EXTRA_CHECKS 1652 #define TDS_DECLARE_FUNCS(name) \ 1653 extern const TDSCOLUMNFUNCS tds_ ## name ## _funcs 1655 #include <freetds/pushvis.h> 1663 #include <freetds/popvis.h> 1691 #ifdef WORDS_BIGENDIAN 1693tds_swap_datatype(
intcoltype,
void*
b)
1695 unsigned char*
buf= (
unsigned char*)
b;
1736num->
array[0] = (num->
array[0] == 0) ? 1 : 0;
static CS_CONNECTION * conn
#define TDS_PUT_UA2LE(ptr, val)
#define TDS_PUT_UA4LE(ptr, val)
#define CHECK_COLUMN_EXTRA(column)
#define CHECK_TDS_EXTRA(tds)
#define TDS_ENCODING_MEMCPY
struct tdsunique TDS_UNIQUE
struct tdsnumeric TDS_NUMERIC
#define is_numeric_type(x)
#define TDS_OFFSET(str, field)
tds_sysdep_int32_type TDS_INT
#define is_variable_type(x)
struct tds_blob TDSBLOB
Information about blobs (e.g.
#define tds_get_smallint(tds)
static bool is_tds_type_valid(int type)
tds_sysdep_int64_type TDS_INT8
#define is_unicode_type(x)
unsigned char TDS_TINYINT
tds_sysdep_int16_type TDS_SMALLINT
#define tds_convert_string_free(original, converted)
#define tds_new0(type, n)
#define is_nullable_type(x)
tds_sysdep_uint64_type TDS_UINT8
#define is_collate_type(x)
tds_sysdep_uint32_type TDS_UINT
#define tds_get_int8(tds)
#define SYBMSDATETIMEOFFSET
unsigned tds_sybbigtime_put_info_len(TDSSOCKET *tds, TDSCOLUMN *col)
static const TDSCOLUMNFUNCS * tds_get_column_funcs(TDSCONNECTION *conn, int type)
static int tds_varmax_stream_read(TDSINSTREAM *stream, void *ptr, size_t len)
static TDSRET tds_get_char_dynamic(TDSSOCKET *tds, TDSCOLUMN *curcol, void **pp, size_t allocated, TDSINSTREAM *r_stream)
TDSRET tds_generic_get_info(TDSSOCKET *tds, TDSCOLUMN *col)
TDSRET tds_variant_get(TDSSOCKET *tds, TDSCOLUMN *curcol)
const TDSCOLUMNFUNCS tds_clrudt_funcs
TDSRET tds_invalid_put(TDSSOCKET *tds, TDSCOLUMN *col, int bcp7)
const TDSCOLUMNFUNCS tds_numeric_funcs
void tds_set_column_type(TDSCONNECTION *conn, TDSCOLUMN *curcol, TDS_SERVER_TYPE type)
Set type of column initializing all dependency.
TDSRET tds_sybbigtime_put_info(TDSSOCKET *tds, TDSCOLUMN *col)
TDSRET tds_invalid_get(TDSSOCKET *tds, TDSCOLUMN *col)
#define TDS_DECLARE_FUNCS(name)
TDSRET tds_numeric_put(TDSSOCKET *tds, TDSCOLUMN *col, int bcp7)
TDS_INT tds_clrudt_row_len(TDSCOLUMN *col)
TDSRET tds_invalid_put_info(TDSSOCKET *tds, TDSCOLUMN *col)
const TDSCOLUMNFUNCS tds_sybbigtime_funcs
TDS_INT tds_sybbigtime_row_len(TDSCOLUMN *col)
const TDSCOLUMNFUNCS tds_generic_funcs
static TDSRET tds72_get_varmax(TDSSOCKET *tds, TDSCOLUMN *curcol)
TDSRET tds_msdatetime_get(TDSSOCKET *tds, TDSCOLUMN *col)
unsigned tds_numeric_put_info_len(TDSSOCKET *tds, TDSCOLUMN *col)
TDSRET tds_sybbigtime_put(TDSSOCKET *tds, TDSCOLUMN *col, int bcp7)
TDSRET tds_numeric_put_info(TDSSOCKET *tds, TDSCOLUMN *col)
struct tds_varmax_stream TDSVARMAXSTREAM
TDSRET tds_msdatetime_get_info(TDSSOCKET *tds, TDSCOLUMN *col)
const TDSCOLUMNFUNCS tds_variant_funcs
TDS_INT tds_invalid_row_len(TDSCOLUMN *col)
TDSRET tds_numeric_get_info(TDSSOCKET *tds, TDSCOLUMN *col)
TDSRET tds_msdatetime_put_info(TDSSOCKET *tds, TDSCOLUMN *col)
TDSRET tds_generic_put(TDSSOCKET *tds, TDSCOLUMN *curcol, int bcp7)
Write data to wire.
void tds_set_param_type(TDSCONNECTION *conn, TDSCOLUMN *curcol, TDS_SERVER_TYPE type)
Set type of column initializing all dependency.
TDS_SERVER_TYPE tds_get_cardinal_type(TDS_SERVER_TYPE datatype, int usertype)
unsigned tds_invalid_put_info_len(TDSSOCKET *tds, TDSCOLUMN *col)
static void tds_swap_numeric(TDS_NUMERIC *num)
Converts numeric from Microsoft representation to internal one (Sybase).
TDS_INT tds_generic_row_len(TDSCOLUMN *col)
TDSRET tds_numeric_get(TDSSOCKET *tds, TDSCOLUMN *curcol)
TDSRET tds_generic_put_info(TDSSOCKET *tds, TDSCOLUMN *col)
Put data information to wire.
TDS_INT tds_numeric_row_len(TDSCOLUMN *col)
TDS_COMPILE_CHECK(variant_size, sizeof(TDSBLOB) >=sizeof(TDSVARIANT))
TDSRET tds_variant_put_info(TDSSOCKET *tds, TDSCOLUMN *col)
TDSRET tds_sybbigtime_get_info(TDSSOCKET *tds, TDSCOLUMN *col)
TDSRET tds_generic_get(TDSSOCKET *tds, TDSCOLUMN *curcol)
Read a data from wire.
TDSRET tds_clrudt_put_info(TDSSOCKET *tds, TDSCOLUMN *col)
TDSRET tds_clrudt_get_info(TDSSOCKET *tds, TDSCOLUMN *col)
TDS_INT tds_msdatetime_row_len(TDSCOLUMN *col)
TDSRET tds_invalid_get_info(TDSSOCKET *tds, TDSCOLUMN *col)
TDSRET tds_msdatetime_put(TDSSOCKET *tds, TDSCOLUMN *col, int bcp7)
TDSRET tds_sybbigtime_get(TDSSOCKET *tds, TDSCOLUMN *col)
const TDSCOLUMNFUNCS tds_msdatetime_funcs
unsigned tds_generic_put_info_len(TDSSOCKET *tds, TDSCOLUMN *col)
TDSRET tds_variant_put(TDSSOCKET *tds, TDSCOLUMN *col, int bcp7)
#define tds_get_char_data
#define tds_convert_stream
#define tds_invalid_check
#define tds_fix_column_size
#define tds_get_size_by_type
#define tds_generic_check
#define tds_iconv_from_collate
#define tds_dynamic_stream_init
#define tds_convert_string
#define tds_msdatetime_check
#define tds_datain_stream_init
#define tds_get_usmallint
#define tds_numeric_bytes_per_prec
#define tds_sybbigtime_check
#define tds_get_conversion_type
#define tds_numeric_check
#define tds_get_varint_size
#define tds_variant_check
if(yy_accept[yy_current_state])
const struct ncbi::grid::netcache::search::fields::SIZE size
double r(size_t dimension_, const Int4 *score_, const double *prob_, double theta_)
static SLJIT_INLINE sljit_ins l(sljit_gpr r, sljit_s32 d, sljit_gpr x, sljit_gpr b)
this structure is not directed connected to a TDS protocol but keeps any DATE/TIME information.
TDS_INT date
date, 0 = 1900-01-01
TDS_SMALLINT offset
time offset
TDS_UINT8 time
time, 7 digit precision
Information about blobs (e.g.
Metadata about columns in regular and compute rows.
TDS_TINYINT column_varint_size
size of length when reading from wire (0, 1, 2 or 4)
TDS_INT column_size
maximun size of data.
TDS_UCHAR column_collation[5]
const TDSCOLUMNFUNCS * funcs
TDS_TINYINT column_prec
precision for decimal/numeric
TDS_SERVER_TYPE column_type
This type can be different from wire type because conversion (e.g.
TDSICONV * char_conv
refers to previously allocated iconv information
TDS_TINYINT column_scale
scale for decimal/numeric
unsigned char * column_data
unsigned int column_output
struct tds_column::@124 on_server
TDS_INT column_cur_size
size written in variable (ie: char, text, binary).
unsigned int emul_little_endian
input stream to read data from tds protocol
output stream to write data to a dynamic buffer
size_t size
size of data inside buffer
define a stream of data used for input
Information for a server connection.
unsigned char * in_buf
Input buffer.
unsigned in_pos
current position in in_buf
Store variant informations.
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