A RetroSearch Logo

Home - News ( United States | United Kingdom | Italy | Germany ) - Football scores

Search Query:

Showing content from http://www.ncbi.nlm.nih.gov/IEB/ToolBox/CPP_DOC/doxyhtml/ftds100_2freetds_2odbc_2bcp_8c_source.html below:

NCBI C++ ToolKit: src/dbapi/driver/ftds100/freetds/odbc/bcp.c Source File

43 #include <freetds/tds.h> 44 #include <freetds/iconv.h> 45 #include <freetds/convert.h> 46 #include <freetds/odbc.h> 56 #define ODBCBCP_ERROR_RETURN(code) \ 57  do {odbc_errs_add(&dbc->errs, code, NULL); return;} while(0) 59 #define ODBCBCP_ERROR_DBINT(code) \ 60  do {odbc_errs_add(&dbc->errs, code, NULL); return -1;} while(0) 93 #ifdef ENABLE_ODBC_WIDE 102  dbc

, tblname->mb, hfile->mb, errfile->mb, direction);

103 #ifdef ENABLE_ODBC_WIDE 117  if

(

dbc

->tds_socket->conn->tds_version < 0x500)

120  if

(direction != BCP_DIRECTION_IN || hfile || errfile)

139  dbc

->bcpinfo->direction = direction;

141  dbc

->bcpinfo->xfer_init = 0;

142  dbc

->bcpinfo->bind_count = 0;

185  dbc

->bcpinfo->hint =

dbc

->bcphint;

213  if

(

dbc

->bcpinfo->direction != BCP_DIRECTION_IN)

215  if

(table_column <= 0 || table_column >

dbc

->bcpinfo->bindinfo->num_cols)

218

curcol =

dbc

->bcpinfo->bindinfo->columns[table_column - 1];

246  if

(

dbc

->bcpinfo->direction != BCP_DIRECTION_IN)

253  if

(

dbc

->bcpinfo->xfer_init == 0) {

259  dbc

->bcpinfo->xfer_init = 1;

262  dbc

->bcpinfo->parent =

dbc

;

311  if

(!(

dbc

->bcpinfo))

346  const void

*

terminator

,

int

termlen,

int

vartype,

int

table_column)

351  dbc

, varaddr, prefixlen, varlen,

356  if

(

dbc

->bcpinfo->direction != BCP_DIRECTION_IN)

362  if

(prefixlen != 0 && prefixlen != 1 && prefixlen != 2 && prefixlen != 4 && prefixlen != 8)

373  if

(table_column <= 0 || table_column >

dbc

->bcpinfo->bindinfo->num_cols)

376  if

(varaddr ==

NULL

&& (prefixlen != 0 || termlen != 0))

379

colinfo =

dbc

->bcpinfo->bindinfo->columns[table_column - 1];

383  if

(varaddr ==

NULL

&& varlen >= 0) {

412  char

*orig_dest = dest;

416  return

dest - orig_dest;

419  if

(destlen > srclen)

421

memcpy(dest, src, destlen);

427  int

desttype,

unsigned char

* dest,

TDSCOLUMN

*bindcol)

436  int

always_convert = 0;

444  dbc

, srctype, src, (

int

)src_len, desttype, dest, (

int

)destlen);

450

src = (

char

*) &dta;

467

src = (

char

*) &num;

474  if

((srctype == desttype ||

is_similar_type

(srctype, desttype)) && !always_convert) {

477

(

dbc

, bindcol, src, src_len,

478

(

char

*)dest, destlen);

481

ret = destlen < src_len ? destlen : (

TDS_INT

) src_len;

482

memcpy(dest, src, ret);

505

ret = destlen <

len

? destlen :

len

;

506

memcpy(dest, dres.

ib

, ret);

528

memcpy(dest, &dres,

len

);

535

(

char

*)dest, destlen);

558  int

converted_data_size;

575

memcpy(&ti, dataptr, 1);

580

memcpy(&

si

, dataptr, 2);

585

memcpy(&li, dataptr, 4);

590

memcpy(&lli, dataptr, 8);

626

col_len = (bytes_read < col_len) ? bytes_read : col_len;

628

col_len = bytes_read;

635  if

((converted_data_size =

661  if

(term_len == 1 && *term ==

'\0'

)

662  return

strlen(pdata);

665  for

(bufpos = 0; bufpos >= 0 && memcmp(pdata, term, term_len) != 0; pdata++) {

static const char si[8][64]

TDS_INT convert_datetime2server(int bindtype, const void *src, TDS_DATETIMEALL *dta)

DSTR * odbc_dstr_copy(TDS_DBC *dbc, DSTR *s, int size, const SQLCHAR *str)

#define is_numeric_type(x)

tds_sysdep_int32_type TDS_INT

static bool is_tds_type_valid(int type)

unsigned char TDS_TINYINT

tds_sysdep_int16_type TDS_SMALLINT

#define is_similar_type(x, y)

void odbc_bcp_sendrow(TDS_DBC *dbc)

Write data in host variables to the table.

int odbc_bcp_batch(TDS_DBC *dbc)

Commit a set of rows to the table.

static TDSRET _bcp_get_col_data(TDSBCPINFO *bcpinfo, TDSCOLUMN *bindcol, int offset)

#define ODBCBCP_ERROR_DBINT(code)

void odbc_bcp_free_storage(TDS_DBC *dbc)

#define ODBCBCP_ERROR_RETURN(code)

static SQLLEN _bcp_get_term_var(const TDS_CHAR *pdata, const TDS_CHAR *term, int term_len)

Get the data for bcp-in from program variables, where the program data have been identified as charac...

int odbc_bcp_done(TDS_DBC *dbc)

Conclude the transfer of data from program variables.

static SQLLEN _bcp_iconv_helper(const TDS_DBC *dbc, const TDSCOLUMN *bindcol, const TDS_CHAR *src, size_t srclen, char *dest, size_t destlen)

void odbc_bcp_init(TDS_DBC *dbc, const ODBC_CHAR *tblname, const ODBC_CHAR *hfile, const ODBC_CHAR *errfile, int direction _WIDE)

Prepare for bulk copy operation on a table.

void odbc_bcp_colptr(TDS_DBC *dbc, const void *colptr, int table_column)

Override bcp_bind() by pointing to a different host variable.

void odbc_bcp_control(TDS_DBC *dbc, int field, void *value)

Set BCP options for data transfer.

void odbc_bcp_bind(TDS_DBC *dbc, const void *varaddr, int prefixlen, int varlen, const void *terminator, int termlen, int vartype, int table_column)

Bind a program host variable to a database column.

static TDS_INT _tdsodbc_dbconvert(TDS_DBC *dbc, int srctype, const TDS_CHAR *src, SQLLEN src_len, int desttype, unsigned char *dest, TDSCOLUMN *bindcol)

#define SYBMSDATETIMEOFFSET

#define tds_sysdep_int64_type

#define tds_bcp_start_copy_in

#define tds_get_size_by_type

#define tds_numeric_bytes_per_prec

#define tds_get_conversion_type

#define tds_bcp_send_record

static size_t tds_dstr_len(DSTR *s)

Returns the length of the string in bytes.

#define tds_alloc_bcpinfo

void odbc_convert_err_set(struct _sql_errors *errs, TDS_INT err)

if(yy_accept[yy_current_state])

const GenericPointer< typename T::ValueType > T2 value

#define SQL_C_TYPE_TIMESTAMP

this structure is not directed connected to a TDS protocol but keeps any DATE/TIME information.

Metadata about columns in regular and compute rows.

TDS_INT bcp_prefix_len

The length, in bytes, of any length prefix this column may have.

TDS_INT column_size

maximun size of data.

BCPCOLDATA * bcp_column_data

TDS_SMALLINT column_bindtype

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

TDS_CHAR * column_varaddr

TDS_CHAR * bcp_terminator

Information for a server connection.


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