代码拉取完成,页面将自动刷新
同步操作将从 openGauss/openGauss-connector-odbc 强制同步,此操作会覆盖自 Fork 仓库以来所做的任何修改,且无法恢复!!!
确定后同步将在后台操作,完成时将刷新页面,请耐心等待。
/* File: bind.h
*
* Description: See "bind.c"
*
* Comments: See "readme.txt" for copyright and license information.
*
*/
#ifndef __BIND_H__
#define __BIND_H__
#include "psqlodbc.h"
#include "descriptor.h"
/*
* BindInfoClass -- stores information about a bound column
*/
struct BindInfoClass_
{
SQLLEN buflen; /* size of buffer */
char *buffer; /* pointer to the buffer */
SQLLEN *used; /* used space in the buffer (for strings
* not counting the '\0') */
SQLLEN *indicator; /* indicator == used in many cases ? */
SQLSMALLINT returntype; /* kind of conversion to be applied when
* returning (SQL_C_DEFAULT,
* SQL_C_CHAR... etc) */
SQLSMALLINT precision; /* the precision for numeric or timestamp type */
SQLSMALLINT scale; /* the scale for numeric type */
/* area for work variables */
char dummy_data; /* currently not used */
};
/* struct for SQLGetData */
typedef struct
{
/* for BLOBs which don't hold the data */
struct GetBlobDataClass {
Int8 data_left64; /* amount of large object data
left to read before conversion */
} blob;
/* for non-BLOBs which hold the data in ttlbuf after conversion */
char *ttlbuf; /* to save the large result */
SQLLEN ttlbuflen; /* the buffer length */
SQLLEN ttlbufused; /* used length of the buffer */
SQLLEN data_left; /* amount of data left to read */
} GetDataClass;
#define GETDATA_RESET(gdc) ((gdc).blob.data_left64 = (gdc).data_left = -1)
/*
* ParameterInfoClass -- stores information about a bound parameter
*/
struct ParameterInfoClass_
{
SQLLEN buflen;
char *buffer;
SQLLEN *used;
SQLLEN *indicator; /* indicator == used in many cases ? */
SQLSMALLINT CType;
SQLSMALLINT precision; /* the precision for numeric or timestamp type */
SQLSMALLINT scale; /* the scale for numeric type */
/* area for work variables */
char data_at_exec;
};
typedef struct
{
SQLLEN *EXEC_used; /* amount of data */
char *EXEC_buffer; /* the data */
OID lobj_oid;
} PutDataClass;
/*
* ParameterImplClass -- stores implementation information about a parameter
*/
struct ParameterImplClass_
{
pgNAME paramName; /* this is unavailable even in 8.1 */
SQLSMALLINT paramType;
SQLSMALLINT SQLType;
OID PGType;
SQLULEN column_size;
SQLSMALLINT decimal_digits;
SQLSMALLINT precision; /* the precision for numeric or timestamp type */
SQLSMALLINT scale; /* the scale for numeric type */
};
typedef struct
{
GetDataClass fdata;
SQLSMALLINT allocated;
GetDataClass *gdata;
} GetDataInfo;
typedef struct
{
SQLSMALLINT allocated;
PutDataClass *pdata;
} PutDataInfo;
#define PARSE_PARAM_CAST FALSE
#define EXEC_PARAM_CAST TRUE
#define SIMPLE_PARAM_CAST TRUE
#define CALC_BOOKMARK_ADDR(book, offset, bind_size, index) \
(book->buffer + offset + \
(bind_size > 0 ? bind_size : (SQL_C_VARBOOKMARK == book->returntype ? book->buflen : sizeof(UInt4))) * index)
/* Macros to handle pgtype of parameters */
#define PIC_get_pgtype(pari) ((pari).PGType)
#define PIC_set_pgtype(pari, type) ((pari).PGType = (type))
#define PIC_dsp_pgtype(conn, pari) ((pari).PGType ? (pari).PGType : sqltype_to_pgtype(conn, (pari).SQLType))
void extend_column_bindings(ARDFields *opts, int num_columns);
void reset_a_column_binding(ARDFields *opts, int icol);
void extend_parameter_bindings(APDFields *opts, int num_params);
void extend_iparameter_bindings(IPDFields *opts, int num_params);
void reset_a_parameter_binding(APDFields *opts, int ipar);
void reset_a_iparameter_binding(IPDFields *opts, int ipar);
int CountParameters(const StatementClass *stmt, Int2 *inCount, Int2 *ioCount, Int2 *outputCount);
void GetDataInfoInitialize(GetDataInfo *gdata);
void extend_getdata_info(GetDataInfo *gdata, int num_columns, BOOL shrink);
void reset_a_getdata_info(GetDataInfo *gdata, int icol);
void GDATA_unbind_cols(GetDataInfo *gdata, BOOL freeall);
void PutDataInfoInitialize(PutDataInfo *pdata);
void extend_putdata_info(PutDataInfo *pdata, int num_params, BOOL shrink);
void reset_a_putdata_info(PutDataInfo *pdata, int ipar);
void PDATA_free_params(PutDataInfo *pdata, char option);
void SC_param_next(const StatementClass*, int *param_number, ParameterInfoClass **, ParameterImplClass **);
RETCODE prepareParameters(StatementClass *stmt, BOOL fake_params);
RETCODE prepareParametersNoDesc(StatementClass *stmt, BOOL fake_params, BOOL param_cast);
int decideHowToPrepare(StatementClass *stmt, BOOL force);
#endif
此处可能存在不合适展示的内容,页面不予展示。您可通过相关编辑功能自查并修改。
如您确认内容无涉及 不当用语 / 纯广告导流 / 暴力 / 低俗色情 / 侵权 / 盗版 / 虚假 / 无价值内容或违法国家有关法律法规的内容,可点击提交进行申诉,我们将尽快为您处理。