1 Star 0 Fork 53

野狐先生/openGauss-connector-odbc

加入 Gitee
与超过 1200万 开发者一起发现、参与优秀开源项目,私有仓库也完全免费 :)
免费加入
文件
克隆/下载
tuple.h 2.17 KB
一键复制 编辑 原始数据 按行查看 历史
/* File: tuple.h
*
* Description: See "tuple.c"
*
* Important NOTE: The TupleField structure is used both to hold backend
data and manual result set data. The "set_" functions
are only used for manual result sets by info routines.
*
* Comments: See "readme.txt" for copyright and license information.
*
*/
#ifndef __TUPLE_H__
#define __TUPLE_H__
#include "psqlodbc.h"
/* Used by backend data AND manual result sets */
struct TupleField_
{
Int4 len; /* PG length of the current Tuple */
void *value; /* an array representing the value */
};
/* keyset(TID + OID) info */
struct KeySet_
{
UWORD status;
UInt2 offset;
UInt4 blocknum;
OID oid;
};
/* Rollback(index + original TID) info */
struct Rollback_
{
SQLLEN index;
UInt4 blocknum;
UInt2 offset;
OID oid;
UWORD option;
};
#define KEYSET_INFO_PUBLIC 0x07
#define CURS_SELF_ADDING (1L << 3)
#define CURS_SELF_DELETING (1L << 4)
#define CURS_SELF_UPDATING (1L << 5)
#define CURS_SELF_ADDED (1L << 6)
#define CURS_SELF_DELETED (1L << 7)
#define CURS_SELF_UPDATED (1L << 8)
#define CURS_NEEDS_REREAD (1L << 9)
#define CURS_IN_ROWSET (1L << 10)
#define CURS_OTHER_DELETED (1L << 11)
/* These macros are wrappers for the corresponding set_tuplefield functions
but these handle automatic NULL determination and call set_tuplefield_null()
if appropriate for the datatype (used by SQLGetTypeInfo).
*/
#define set_nullfield_string(FLD, VAL) ((VAL) ? set_tuplefield_string(FLD, (VAL)) : set_tuplefield_null(FLD))
#define set_nullfield_int2(FLD, VAL) ((VAL) != -1 ? set_tuplefield_int2(FLD, (VAL)) : set_tuplefield_null(FLD))
#define set_nullfield_int4(FLD, VAL) ((VAL) != -1 ? set_tuplefield_int4(FLD, (VAL)) : set_tuplefield_null(FLD))
void set_tuplefield_null(TupleField *tuple_field);
void set_tuplefield_string(TupleField *tuple_field, const char *string);
void set_tuplefield_int2(TupleField *tuple_field, Int2 value);
void set_tuplefield_int4(TupleField *tuple_field, Int4 value);
SQLLEN ClearCachedRows(TupleField *tuple, int num_fields, SQLLEN num_rows);
SQLLEN ReplaceCachedRows(TupleField *otuple, const TupleField *ituple, int num_fields, SQLLEN num_rows);
typedef struct _PG_BM_ {
Int4 index;
KeySet keys;
} PG_BM;
#endif
马建仓 AI 助手
尝试更多
代码解读
代码找茬
代码优化
C
1
https://gitee.com/qq1907824738/openGauss-connector-odbc.git
git@gitee.com:qq1907824738/openGauss-connector-odbc.git
qq1907824738
openGauss-connector-odbc
openGauss-connector-odbc
master

搜索帮助