db-lib
bulk copy functions. More...
#include <stdio.h>
#include <assert.h>
#include "tds.h"
#include "tdsiconv.h"
#include "tdsconvert.h"
#include "replacements.h"
#include "sybfront.h"
#include "sybdb.h"
#include "syberror.h"
#include "dblib.h"
Classes | |
struct | _pbcb |
Defines | |
#define | BCP_REC_FETCH_DATA 1 |
#define | BCP_REC_NOFETCH_DATA 0 |
#define | fseeko(f, o, w) fseek(f,o,w) |
#define | ftello(f) ftell(f) |
#define | HOST_COL_CONV_ERROR 1 |
#define | HOST_COL_NULL_ERROR 2 |
#define | MAX(a, b) ( (a) > (b) ? (a) : (b) ) |
#define | SYBETDSVER -100 |
Typedefs | |
typedef long | offset_type |
typedef struct _pbcb | TDS_PBCB |
Functions | |
static int | _bcp_add_fixed_columns (DBPROCESS *dbproc, int behaviour, BYTE *rowbuffer, int start) |
Add fixed size columns to the row. | |
static int | _bcp_add_variable_columns (DBPROCESS *dbproc, int behaviour, BYTE *rowbuffer, int start, int *var_cols) |
static RETCODE | _bcp_build_bulk_insert_stmt (TDSSOCKET *tds, TDS_PBCB *clause, TDSCOLUMN *bcpcol, int first) |
static RETCODE | _bcp_check_eof (DBPROCESS *dbproc, FILE *file, int icol) |
static RETCODE | _bcp_exec_in (DBPROCESS *dbproc, DBINT *rows_copied) |
static RETCODE | _bcp_exec_out (DBPROCESS *dbproc, DBINT *rows_copied) |
static char * | _bcp_fgets (char *buffer, size_t size, FILE *f) |
static void | _bcp_free_columns (DBPROCESS *dbproc) |
static RETCODE | _bcp_free_storage (DBPROCESS *dbproc) |
static RETCODE | _bcp_get_col_data (DBPROCESS *dbproc, TDSCOLUMN *bindcol) |
static RETCODE | _bcp_get_term_var (BYTE *pdata, BYTE *term, int term_len) |
Get the data for bcp-in from program variables, where the program data have been identified as character terminated, This is a low-level, internal function. | |
static offset_type | _bcp_measure_terminated_field (FILE *hostfile, BYTE *terminator, int term_len) |
static RETCODE | _bcp_read_hostfile (DBPROCESS *dbproc, FILE *hostfile, int *row_error) |
static int | _bcp_readfmt_colinfo (DBPROCESS *dbproc, char *buf, BCP_HOSTCOLINFO *ci) |
static RETCODE | _bcp_send_bcp_record (DBPROCESS *dbproc, int behaviour) |
static RETCODE | _bcp_send_colmetadata (DBPROCESS *dbproc) |
static RETCODE | _bcp_start_copy_in (DBPROCESS *dbproc) |
static RETCODE | _bcp_start_new_batch (DBPROCESS *dbproc) |
DBINT | bcp_batch (DBPROCESS *dbproc) |
RETCODE | bcp_bind (DBPROCESS *dbproc, BYTE *varaddr, int prefixlen, DBINT varlen, BYTE *terminator, int termlen, int vartype, int table_column) |
RETCODE | bcp_colfmt (DBPROCESS *dbproc, int host_colnum, int host_type, int host_prefixlen, DBINT host_collen, const BYTE *host_term, int host_termlen, int table_colnum) |
RETCODE | bcp_colfmt_ps (DBPROCESS *dbproc, int host_colnum, int host_type, int host_prefixlen, DBINT host_collen, BYTE *host_term, int host_termlen, int table_colnum, DBTYPEINFO *typeinfo) |
RETCODE | bcp_collen (DBPROCESS *dbproc, DBINT varlen, int table_column) |
RETCODE | bcp_colptr (DBPROCESS *dbproc, BYTE *colptr, int table_column) |
RETCODE | bcp_columns (DBPROCESS *dbproc, int host_colcount) |
RETCODE | bcp_control (DBPROCESS *dbproc, int field, DBINT value) |
DBINT | bcp_done (DBPROCESS *dbproc) |
RETCODE | bcp_exec (DBPROCESS *dbproc, DBINT *rows_copied) |
DBBOOL | bcp_getl (LOGINREC *login) |
RETCODE | bcp_init (DBPROCESS *dbproc, const char *tblname, const char *hfile, const char *errfile, int direction) |
RETCODE | bcp_moretext (DBPROCESS *dbproc, DBINT size, BYTE *text) |
RETCODE | bcp_options (DBPROCESS *dbproc, int option, BYTE *value, int valuelen) |
RETCODE | bcp_readfmt (DBPROCESS *dbproc, char *filename) |
RETCODE | bcp_sendrow (DBPROCESS *dbproc) |
RETCODE | bcp_writefmt (DBPROCESS *dbproc, char *filename) |
static int | rtrim (char *istr, int ilen) |
TDS_RCSID (var,"$Id: bcp.c,v 1.135.2.4 2006/03/14 15:17:42 freddy77 Exp $") |
db-lib
bulk copy functions.