Sophie

Sophie

distrib > Mageia > 1 > i586 > media > core-release > by-pkgid > f0bc842dcf666302badcfd2545f3387c > files > 48

libfreetds0-doc-0.82-12.mga1.i586.rpm

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html><head><meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1">
<title>FreeTDS API: /usr/local/users/home/jklowden/projects/releases/freetds/0.82/src/dblib/bcp.c File Reference</title>
<link href="doxygen.css" rel="stylesheet" type="text/css">
</head><body>
<!-- Generated by Doxygen 1.4.1 -->
<div class="qindex"><a class="qindex" href="index.html">Main&nbsp;Page</a> | <a class="qindex" href="modules.html">Modules</a> | <a class="qindex" href="annotated.html">Class&nbsp;List</a> | <a class="qindex" href="dirs.html">Directories</a> | <a class="qindex" href="files.html">File&nbsp;List</a> | <a class="qindex" href="functions.html">Class&nbsp;Members</a> | <a class="qindex" href="globals.html">File&nbsp;Members</a> | <a class="qindex" href="pages.html">Related&nbsp;Pages</a></div>
<div class="nav">
<a class="el" href="dir_000002.html">src</a>&nbsp;/&nbsp;<a class="el" href="dir_000006.html">dblib</a></div>
<h1>bcp.c File Reference</h1>Implementation of <code>db-lib</code> bulk copy functions. <a href="#_details">More...</a>
<p>
<code>#include &lt;stdarg.h&gt;</code><br>
<code>#include &lt;stdio.h&gt;</code><br>
<code>#include &lt;assert.h&gt;</code><br>
<code>#include "<a class="el" href="a00311.html">tds.h</a>"</code><br>
<code>#include "tdsiconv.h"</code><br>
<code>#include "tdsconvert.h"</code><br>
<code>#include "replacements.h"</code><br>
<code>#include "sybfront.h"</code><br>
<code>#include "<a class="el" href="a00308.html">sybdb.h</a>"</code><br>
<code>#include "syberror.h"</code><br>
<code>#include "dblib.h"</code><br>
<table border="0" cellpadding="0" cellspacing="0">
<tr><td></td></tr>
<tr><td colspan="2"><br><h2>Classes</h2></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">struct &nbsp;</td><td class="memItemRight" valign="bottom"><b>_pbcb</b></td></tr>

<tr><td colspan="2"><br><h2>Defines</h2></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="a3" doxytag="bcp.c::fseeko"></a>
#define&nbsp;</td><td class="memItemRight" valign="bottom"><b>fseeko</b>(f, o, w)&nbsp;&nbsp;&nbsp;fseek(f,o,w)</td></tr>

<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="a4" doxytag="bcp.c::ftello"></a>
#define&nbsp;</td><td class="memItemRight" valign="bottom"><b>ftello</b>(f)&nbsp;&nbsp;&nbsp;ftell(f)</td></tr>

<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="a0" doxytag="bcp.c::HOST_COL_CONV_ERROR"></a>
#define&nbsp;</td><td class="memItemRight" valign="bottom"><b>HOST_COL_CONV_ERROR</b>&nbsp;&nbsp;&nbsp;1</td></tr>

<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="a1" doxytag="bcp.c::HOST_COL_NULL_ERROR"></a>
#define&nbsp;</td><td class="memItemRight" valign="bottom"><b>HOST_COL_NULL_ERROR</b>&nbsp;&nbsp;&nbsp;2</td></tr>

<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="a2" doxytag="bcp.c::MAX"></a>
#define&nbsp;</td><td class="memItemRight" valign="bottom"><b>MAX</b>(a, b)&nbsp;&nbsp;&nbsp;( (a) &gt; (b) ? (a) : (b) )</td></tr>

<tr><td colspan="2"><br><h2>Typedefs</h2></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="a6" doxytag="bcp.c::offset_type"></a>
typedef long&nbsp;</td><td class="memItemRight" valign="bottom"><b>offset_type</b></td></tr>

<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="a5" doxytag="bcp.c::TDS_PBCB"></a>
typedef _pbcb&nbsp;</td><td class="memItemRight" valign="bottom"><b>TDS_PBCB</b></td></tr>

<tr><td colspan="2"><br><h2>Enumerations</h2></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">enum &nbsp;</td><td class="memItemRight" valign="bottom"><b>BEHAVIOUR</b> { <b>BCP_REC_NOFETCH_DATA</b> =  0, 
<b>BCP_REC_FETCH_DATA</b> =  1
 }</td></tr>

<tr><td colspan="2"><br><h2>Functions</h2></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">static int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00278.html#ga3">_bcp_add_fixed_columns</a> (DBPROCESS *dbproc, BEHAVIOUR behaviour, BYTE *rowbuffer, int start)</td></tr>

<tr><td class="memItemLeft" nowrap align="right" valign="top">static int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00278.html#ga4">_bcp_add_variable_columns</a> (DBPROCESS *dbproc, BEHAVIOUR behaviour, BYTE *rowbuffer, int start, int *pncols)</td></tr>

<tr><td class="memItemLeft" nowrap align="right" valign="top">static RETCODE&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00278.html#ga7">_bcp_build_bulk_insert_stmt</a> (<a class="el" href="a00144.html">TDSSOCKET</a> *, TDS_PBCB *, <a class="el" href="a00140.html">TDSCOLUMN</a> *, int)</td></tr>

<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="a35" doxytag="bcp.c::_bcp_check_eof"></a>
static RETCODE&nbsp;</td><td class="memItemRight" valign="bottom"><b>_bcp_check_eof</b> (DBPROCESS *dbproc, FILE *file, int icol)</td></tr>

<tr><td class="memItemLeft" nowrap align="right" valign="top">static RETCODE&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00278.html#ga5">_bcp_exec_in</a> (DBPROCESS *dbproc, DBINT *rows_copied)</td></tr>

<tr><td class="memItemLeft" nowrap align="right" valign="top">static RETCODE&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00278.html#ga0">_bcp_exec_out</a> (DBPROCESS *dbproc, DBINT *rows_copied)</td></tr>

<tr><td class="memItemLeft" nowrap align="right" valign="top">static char *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00278.html#ga10">_bcp_fgets</a> (char *buffer, size_t size, FILE *f)</td></tr>

<tr><td class="memItemLeft" nowrap align="right" valign="top">static void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00278.html#ga16">_bcp_free_columns</a> (DBPROCESS *dbproc)</td></tr>

<tr><td class="memItemLeft" nowrap align="right" valign="top">static void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00278.html#ga17">_bcp_free_storage</a> (DBPROCESS *dbproc)</td></tr>

<tr><td class="memItemLeft" nowrap align="right" valign="top">static RETCODE&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00278.html#ga13">_bcp_get_col_data</a> (DBPROCESS *dbproc, <a class="el" href="a00140.html">TDSCOLUMN</a> *bindcol)</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">For a bcp in from program variables, get the data from the host variable.  <a href="a00278.html#ga13"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">static RETCODE&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00278.html#ga14">_bcp_get_term_var</a> (BYTE *pdata, BYTE *term, int term_len)</td></tr>

<tr><td class="memItemLeft" nowrap align="right" valign="top">static offset_type&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00278.html#ga2">_bcp_measure_terminated_field</a> (FILE *hostfile, BYTE *terminator, int term_len)</td></tr>

<tr><td class="memItemLeft" nowrap align="right" valign="top">static RETCODE&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00278.html#ga1">_bcp_read_hostfile</a> (DBPROCESS *dbproc, FILE *hostfile, int *row_error)</td></tr>

<tr><td class="memItemLeft" nowrap align="right" valign="top">static int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00278.html#ga11">_bcp_readfmt_colinfo</a> (DBPROCESS *dbproc, char *buf, BCP_HOSTCOLINFO *ci)</td></tr>

<tr><td class="memItemLeft" nowrap align="right" valign="top">static RETCODE&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00278.html#ga12">_bcp_send_bcp_record</a> (DBPROCESS *dbproc, BEHAVIOUR behaviour)</td></tr>

<tr><td class="memItemLeft" nowrap align="right" valign="top">static RETCODE&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00278.html#ga9">_bcp_send_colmetadata</a> (DBPROCESS *)</td></tr>

<tr><td class="memItemLeft" nowrap align="right" valign="top">static RETCODE&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00278.html#ga6">_bcp_start_copy_in</a> (DBPROCESS *)</td></tr>

<tr><td class="memItemLeft" nowrap align="right" valign="top">static RETCODE&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00278.html#ga8">_bcp_start_new_batch</a> (DBPROCESS *)</td></tr>

<tr><td class="memItemLeft" nowrap align="right" valign="top">DBINT&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00277.html#ga14">bcp_batch</a> (DBPROCESS *dbproc)</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Commit a set of rows to the table.  <a href="a00277.html#ga14"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">RETCODE&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00277.html#ga16">bcp_bind</a> (DBPROCESS *dbproc, BYTE *varaddr, int prefixlen, DBINT varlen, BYTE *terminator, int termlen, int vartype, int table_column)</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Bind a program host variable to a database column.  <a href="a00277.html#ga16"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">RETCODE&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00277.html#ga3">bcp_colfmt</a> (DBPROCESS *dbproc, int host_colnum, int host_type, int host_prefixlen, DBINT host_collen, const BYTE *host_term, int host_termlen, int table_colnum)</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Specify the format of a datafile prior to writing to a table.  <a href="a00277.html#ga3"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">RETCODE&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00277.html#ga4">bcp_colfmt_ps</a> (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)</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Specify the format of a host file for bulk copy purposes, with precision and scale support for numeric and decimal columns.  <a href="a00277.html#ga4"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">RETCODE&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00277.html#ga1">bcp_collen</a> (DBPROCESS *dbproc, DBINT varlen, int table_column)</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Set the length of a host variable to be written to a table.  <a href="a00277.html#ga1"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">RETCODE&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00277.html#ga7">bcp_colptr</a> (DBPROCESS *dbproc, BYTE *colptr, int table_column)</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Override <a class="el" href="a00277.html#ga16">bcp_bind()</a> by pointing to a different host variable.  <a href="a00277.html#ga7"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">RETCODE&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00277.html#ga2">bcp_columns</a> (DBPROCESS *dbproc, int host_colcount)</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Indicate how many columns are to be found in the datafile.  <a href="a00277.html#ga2"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">RETCODE&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00277.html#ga5">bcp_control</a> (DBPROCESS *dbproc, int field, DBINT value)</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Set BCP options for uploading a datafile.  <a href="a00277.html#ga5"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">DBINT&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00277.html#ga15">bcp_done</a> (DBPROCESS *dbproc)</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Conclude the transfer of data from program variables.  <a href="a00277.html#ga15"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">RETCODE&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00277.html#ga10">bcp_exec</a> (DBPROCESS *dbproc, DBINT *rows_copied)</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Write a datafile to a table.  <a href="a00277.html#ga10"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="a30" doxytag="bcp.c::bcp_getbatchsize"></a>
int&nbsp;</td><td class="memItemRight" valign="bottom"><b>bcp_getbatchsize</b> (DBPROCESS *dbproc)</td></tr>

<tr><td class="memItemLeft" nowrap align="right" valign="top">DBBOOL&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00277.html#ga8">bcp_getl</a> (LOGINREC *login)</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">See if <a class="el" href="a00274.html#ga4">BCP_SETL()</a> was used to set the LOGINREC for BCP work.  <a href="a00277.html#ga8"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">RETCODE&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00277.html#ga0">bcp_init</a> (DBPROCESS *dbproc, const char *tblname, const char *hfile, const char *errfile, int direction)</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Prepare for bulk copy operation on a table.  <a href="a00277.html#ga0"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">RETCODE&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00277.html#ga13">bcp_moretext</a> (DBPROCESS *dbproc, DBINT size, BYTE *text)</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Write some text or image data to the server. Not implemented, sadly.  <a href="a00277.html#ga13"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">RETCODE&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00277.html#ga6">bcp_options</a> (DBPROCESS *dbproc, int option, BYTE *value, int valuelen)</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Set "hints" for uploading a file. A FreeTDS-only function.  <a href="a00277.html#ga6"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">RETCODE&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00277.html#ga11">bcp_readfmt</a> (DBPROCESS *dbproc, char *filename)</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Read a format definition file.  <a href="a00277.html#ga11"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="a23" doxytag="bcp.c::bcp_row_free"></a>
static void&nbsp;</td><td class="memItemRight" valign="bottom"><b>bcp_row_free</b> (<a class="el" href="a00143.html">TDSRESULTINFO</a> *result, unsigned char *row)</td></tr>

<tr><td class="memItemLeft" nowrap align="right" valign="top">RETCODE&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00277.html#ga9">bcp_sendrow</a> (DBPROCESS *dbproc)</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Write data in host variables to the table.  <a href="a00277.html#ga9"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">RETCODE&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00277.html#ga12">bcp_writefmt</a> (DBPROCESS *dbproc, char *filename)</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Write a format definition file. Not Implemented.  <a href="a00277.html#ga12"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">static int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00278.html#ga15">rtrim</a> (char *, int)</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">trim a string of trailing blanks  <a href="a00278.html#ga15"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="a9" doxytag="bcp.c::TDS_RCSID"></a>
&nbsp;</td><td class="memItemRight" valign="bottom"><b>TDS_RCSID</b> (var,"$Id: bcp.c,v 1.171 2008/01/08 15:38:31 jklowden Exp $")</td></tr>

</table>
<hr><a name="_details"></a><h2>Detailed Description</h2>
Implementation of <code>db-lib</code> bulk copy functions. 
<p>
<hr size="1"><address style="align: right;"><small>Generated on Wed May 7 19:22:10 2008 for FreeTDS API by&nbsp;
<a href="http://www.doxygen.org/index.html">
<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.4.1 </small></address>
</body>
</html>