📄 ibase.h
字号:
#define dtype_long 9
#define dtype_quad 10
#define dtype_real 11
#define dtype_double 12
#define dtype_d_float 13
#define dtype_sql_date 14
#define dtype_sql_time 15
#define dtype_timestamp 16
#define dtype_blob 17
#define dtype_array 18
#define dtype_int64 19
#define DTYPE_TYPE_MAX 20
#endif /* !defined(_JRD_DSC_H_) */
/***************************/
/* Dynamic SQL definitions */
/***************************/
/******************************/
/* Declare the extended SQLDA */
/******************************/
#ifndef FB_SQLDA
typedef struct
{
short sqltype; /* datatype of field */
short sqlscale; /* scale factor */
short sqlsubtype; /* datatype subtype - BLOBs & Text types only */
short sqllen; /* length of data area */
char ISC_FAR* sqldata; /* address of data */
short ISC_FAR* sqlind; /* address of indicator variable */
short sqlname_length; /* length of sqlname field */
char sqlname[32]; /* name of field, name length + space for NULL */
short relname_length; /* length of relation name */
char relname[32]; /* field's relation name + space for NULL */
short ownname_length; /* length of owner name */
char ownname[32]; /* relation's owner name + space for NULL */
short aliasname_length; /* length of alias name */
char aliasname[32]; /* relation's alias name + space for NULL */
} XSQLVAR;
typedef struct
{
short version; /* version of this XSQLDA */
char sqldaid[8]; /* XSQLDA name field */
ISC_LONG sqldabc; /* length in bytes of SQLDA */
short sqln; /* number of fields allocated */
short sqld; /* actual number of fields */
XSQLVAR sqlvar[1]; /* first field address */
} XSQLDA;
#define XSQLDA_LENGTH(n) (sizeof (XSQLDA) + ((n)-1) * sizeof (XSQLVAR))
#define SQLDA_VERSION1 1
#define SQL_DIALECT_V5 1 /* meaning is same as DIALECT_xsqlda */
#define SQL_DIALECT_V6_TRANSITION 2 /* flagging anything that is delimited
by double quotes as an error and
flagging keyword DATE as an error */
#define SQL_DIALECT_V6 3 /* supports SQL delimited identifier,
SQLDATE/DATE, TIME, TIMESTAMP,
CURRENT_DATE, CURRENT_TIME,
CURRENT_TIMESTAMP, and 64-bit exact
numeric type */
#define SQL_DIALECT_CURRENT SQL_DIALECT_V6 /* latest IB DIALECT */
#define FB_SQLDA
#endif
/********************************/
/* InterBase Handle Definitions */
/********************************/
typedef void ISC_FAR* isc_att_handle;
typedef void ISC_FAR* isc_blob_handle;
typedef void ISC_FAR* isc_db_handle;
typedef void ISC_FAR* isc_form_handle;
typedef void ISC_FAR* isc_req_handle;
typedef void ISC_FAR* isc_stmt_handle;
typedef void ISC_FAR* isc_svc_handle;
typedef void ISC_FAR* isc_tr_handle;
typedef void ISC_FAR* isc_win_handle;
typedef void (ISC_FAR* isc_callback) ();
typedef ISC_LONG isc_resv_handle;
/***************************/
/* OSRI database functions */
/***************************/
#ifdef __cplusplus
extern "C" {
#endif
ISC_STATUS ISC_EXPORT isc_attach_database(ISC_STATUS ISC_FAR*,
short,
char ISC_FAR*,
isc_db_handle ISC_FAR*,
short,
char ISC_FAR*);
ISC_STATUS ISC_EXPORT isc_array_gen_sdl(ISC_STATUS ISC_FAR*,
ISC_ARRAY_DESC ISC_FAR*,
short ISC_FAR*,
char ISC_FAR*,
short ISC_FAR*);
ISC_STATUS ISC_EXPORT isc_array_get_slice(ISC_STATUS ISC_FAR*,
isc_db_handle ISC_FAR*,
isc_tr_handle ISC_FAR*,
ISC_QUAD ISC_FAR*,
ISC_ARRAY_DESC ISC_FAR*,
void ISC_FAR*,
ISC_LONG ISC_FAR*);
ISC_STATUS ISC_EXPORT isc_array_lookup_bounds(ISC_STATUS ISC_FAR*,
isc_db_handle ISC_FAR*,
isc_tr_handle ISC_FAR*,
char ISC_FAR*,
char ISC_FAR*,
ISC_ARRAY_DESC ISC_FAR*);
ISC_STATUS ISC_EXPORT isc_array_lookup_desc(ISC_STATUS ISC_FAR*,
isc_db_handle ISC_FAR*,
isc_tr_handle ISC_FAR*,
char ISC_FAR*,
char ISC_FAR*,
ISC_ARRAY_DESC ISC_FAR*);
ISC_STATUS ISC_EXPORT isc_array_set_desc(ISC_STATUS ISC_FAR*,
char ISC_FAR*,
char ISC_FAR*,
short ISC_FAR*,
short ISC_FAR*,
short ISC_FAR*,
ISC_ARRAY_DESC ISC_FAR*);
ISC_STATUS ISC_EXPORT isc_array_put_slice(ISC_STATUS ISC_FAR*,
isc_db_handle ISC_FAR*,
isc_tr_handle ISC_FAR*,
ISC_QUAD ISC_FAR*,
ISC_ARRAY_DESC ISC_FAR*,
void ISC_FAR*,
ISC_LONG ISC_FAR*);
void ISC_EXPORT isc_blob_default_desc(ISC_BLOB_DESC ISC_FAR*,
unsigned char ISC_FAR*,
unsigned char ISC_FAR*);
ISC_STATUS ISC_EXPORT isc_blob_gen_bpb(ISC_STATUS ISC_FAR*,
ISC_BLOB_DESC ISC_FAR*,
ISC_BLOB_DESC ISC_FAR*,
unsigned short,
unsigned char ISC_FAR*,
unsigned short ISC_FAR*);
ISC_STATUS ISC_EXPORT isc_blob_info(ISC_STATUS ISC_FAR*,
isc_blob_handle ISC_FAR*,
short,
char ISC_FAR*,
short,
char ISC_FAR*);
ISC_STATUS ISC_EXPORT isc_blob_lookup_desc(ISC_STATUS ISC_FAR*,
isc_db_handle ISC_FAR*,
isc_tr_handle ISC_FAR*,
unsigned char ISC_FAR*,
unsigned char ISC_FAR*,
ISC_BLOB_DESC ISC_FAR*,
unsigned char ISC_FAR*);
ISC_STATUS ISC_EXPORT isc_blob_set_desc(ISC_STATUS ISC_FAR*,
unsigned char ISC_FAR*,
unsigned char ISC_FAR*,
short,
short,
short,
ISC_BLOB_DESC ISC_FAR*);
ISC_STATUS ISC_EXPORT isc_cancel_blob(ISC_STATUS ISC_FAR*,
isc_blob_handle ISC_FAR*);
ISC_STATUS ISC_EXPORT isc_cancel_events(ISC_STATUS ISC_FAR*,
isc_db_handle ISC_FAR*,
ISC_LONG ISC_FAR*);
ISC_STATUS ISC_EXPORT isc_close_blob(ISC_STATUS ISC_FAR*,
isc_blob_handle ISC_FAR*);
ISC_STATUS ISC_EXPORT isc_commit_retaining(ISC_STATUS ISC_FAR*,
isc_tr_handle ISC_FAR*);
ISC_STATUS ISC_EXPORT isc_commit_transaction(ISC_STATUS ISC_FAR*,
isc_tr_handle ISC_FAR*);
ISC_STATUS ISC_EXPORT isc_create_blob(ISC_STATUS ISC_FAR*,
isc_db_handle ISC_FAR*,
isc_tr_handle ISC_FAR*,
isc_blob_handle ISC_FAR*,
ISC_QUAD ISC_FAR*);
ISC_STATUS ISC_EXPORT isc_create_blob2(ISC_STATUS ISC_FAR*,
isc_db_handle ISC_FAR*,
isc_tr_handle ISC_FAR*,
isc_blob_handle ISC_FAR*,
ISC_QUAD ISC_FAR*,
short,
char ISC_FAR*);
ISC_STATUS ISC_EXPORT isc_create_database(ISC_STATUS ISC_FAR*,
short,
char ISC_FAR*,
isc_db_handle ISC_FAR*,
short,
char ISC_FAR*,
short);
ISC_STATUS ISC_EXPORT isc_database_info(ISC_STATUS ISC_FAR*,
isc_db_handle ISC_FAR*,
short,
char ISC_FAR*,
short,
char ISC_FAR*);
void ISC_EXPORT isc_decode_date(ISC_QUAD ISC_FAR*,
void ISC_FAR*);
void ISC_EXPORT isc_decode_sql_date(ISC_DATE ISC_FAR*,
void ISC_FAR*);
void ISC_EXPORT isc_decode_sql_time(ISC_TIME ISC_FAR*,
void ISC_FAR*);
void ISC_EXPORT isc_decode_timestamp(ISC_TIMESTAMP ISC_FAR*,
void ISC_FAR*);
ISC_STATUS ISC_EXPORT isc_detach_database(ISC_STATUS ISC_FAR*,
isc_db_handle ISC_FAR*);
ISC_STATUS ISC_EXPORT isc_drop_database(ISC_STATUS ISC_FAR*,
isc_db_handle ISC_FAR*);
ISC_STATUS ISC_EXPORT isc_dsql_allocate_statement(ISC_STATUS ISC_FAR*,
isc_db_handle ISC_FAR*,
isc_stmt_handle ISC_FAR*);
ISC_STATUS ISC_EXPORT isc_dsql_alloc_statement2(ISC_STATUS ISC_FAR*,
isc_db_handle ISC_FAR*,
isc_stmt_handle ISC_FAR*);
ISC_STATUS ISC_EXPORT isc_dsql_describe(ISC_STATUS ISC_FAR*,
isc_stmt_handle ISC_FAR*,
unsigned short,
XSQLDA ISC_FAR*);
ISC_STATUS ISC_EXPORT isc_dsql_describe_bind(ISC_STATUS ISC_FAR*,
isc_stmt_handle ISC_FAR*,
unsigned short,
XSQLDA ISC_FAR*);
ISC_STATUS ISC_EXPORT isc_dsql_exec_immed2(ISC_STATUS ISC_FAR*,
isc_db_handle ISC_FAR*,
isc_tr_handle ISC_FAR*,
unsigned short,
char ISC_FAR*,
unsigned short,
XSQLDA ISC_FAR*,
XSQLDA ISC_FAR*);
ISC_STATUS ISC_EXPORT isc_dsql_execute(ISC_STATUS ISC_FAR*,
isc_tr_handle ISC_FAR*,
isc_stmt_handle ISC_FAR*,
unsigned short,
XSQLDA ISC_FAR*);
ISC_STATUS ISC_EXPORT isc_dsql_execute2(ISC_STATUS ISC_FAR*,
isc_tr_handle ISC_FAR*,
isc_stmt_handle ISC_FAR*,
unsigned short,
XSQLDA ISC_FAR*,
XSQLDA ISC_FAR*);
ISC_STATUS ISC_EXPORT isc_dsql_execute_immediate(ISC_STATUS ISC_FAR*,
isc_db_handle ISC_FAR*,
isc_tr_handle ISC_FAR*,
unsigned short,
char ISC_FAR*,
unsigned short,
XSQLDA ISC_FAR*);
ISC_STATUS ISC_EXPORT isc_dsql_fetch(ISC_STATUS ISC_FAR*,
isc_stmt_handle ISC_FAR*,
unsigned short,
XSQLDA ISC_FAR*);
ISC_STATUS ISC_EXPORT isc_dsql_finish(isc_db_handle ISC_FAR*);
ISC_STATUS ISC_EXPORT isc_dsql_free_statement(ISC_STATUS ISC_FAR*,
isc_stmt_handle ISC_FAR*,
unsigned short);
ISC_STATUS ISC_EXPORT isc_dsql_insert(ISC_STATUS ISC_FAR*,
isc_stmt_handle ISC_FAR*,
unsigned short,
XSQLDA ISC_FAR*);
ISC_STATUS ISC_EXPORT isc_dsql_prepare(ISC_STATUS ISC_FAR*,
isc_tr_handle ISC_FAR*,
isc_stmt_handle ISC_FAR*,
unsigned short,
char ISC_FAR*,
unsigned short,
XSQLDA ISC_FAR*);
ISC_STATUS ISC_EXPORT isc_dsql_set_cursor_name(ISC_STATUS ISC_FAR*,
isc_stmt_handle ISC_FAR*,
char ISC_FAR*,
unsigned short);
ISC_STATUS ISC_EXPORT isc_dsql_sql_info(ISC_STATUS ISC_FAR*,
isc_stmt_handle ISC_FAR*,
short,
char ISC_FAR*,
short,
char ISC_FAR*);
void ISC_EXPORT isc_encode_date(void ISC_FAR*,
ISC_QUAD ISC_FAR*);
void ISC_EXPORT isc_encode_sql_date(void ISC_FAR*,
ISC_DATE ISC_FAR*);
void ISC_EXPORT isc_encode_sql_time(void ISC_FAR*,
ISC_TIME ISC_FAR*);
void ISC_EXPORT isc_encode_timestamp(void ISC_FAR*,
ISC_TIMESTAMP ISC_FAR*);
ISC_LONG ISC_EXPORT_VARARG isc_event_block(char ISC_FAR* ISC_FAR*,
char ISC_FAR* ISC_FAR*,
unsigned short, ...);
void ISC_EXPORT isc_event_counts(ISC_ULONG ISC_FAR*,
short,
char ISC_FAR*,
char ISC_FAR*);
/* 17 May 2001 - isc_expand_dpb is DEPRECATED */
void ISC_EXPORT_VARARG isc_expand_dpb(char ISC_FAR* ISC_FAR*,
short ISC_FAR*, ...);
int ISC_EXPORT isc_modify_dpb(char ISC_FAR* ISC_FAR*,
short ISC_FAR*,
unsigned short,
char ISC_FAR*,
short);
ISC_LONG ISC_EXPORT isc_free(char ISC_FAR*);
ISC_STATUS ISC_EXPORT isc_get_segment(ISC_STATUS ISC_FAR*,
isc_blob_handle ISC_FAR*,
unsigned short ISC_FAR*,
unsigned short,
char ISC_FAR*);
ISC_STATUS ISC_EXPORT isc_get_slice(ISC_STATUS ISC_FAR*,
isc_db_handle ISC_FAR*,
isc_tr_handle ISC_FAR*,
ISC_QUAD ISC_FAR*,
short,
char ISC_FAR*,
short,
ISC_LONG ISC_FAR*,
ISC_LONG,
void ISC_FAR*,
ISC_LONG ISC_FAR*);
ISC_STATUS ISC_EXPORT isc_interprete(char ISC_FAR*,
ISC_STATUS ISC_FAR* ISC_FAR*);
ISC_STATUS ISC_EXPORT isc_open_blob(ISC_STATUS ISC_FAR*,
isc_db_handle ISC_FAR*,
isc_tr_handle ISC_FAR*,
isc_blob_handle ISC_FAR*,
ISC_QUAD ISC_FAR*);
ISC_STATUS ISC_EXPORT isc_open_blob2(ISC_STATUS ISC_FAR*,
isc_db_handle ISC_FAR*,
isc_tr_handle ISC_FAR*,
isc_blob_handle ISC_FAR*,
ISC_QUAD ISC_FAR*,
ISC_USHORT,
ISC_UCHAR ISC_FAR*);
ISC_STATUS ISC_EXPORT isc_prepare_transaction2(ISC_STATUS ISC_FAR*,
isc_tr_handle ISC_FAR*,
ISC_USHORT,
ISC_UCHAR ISC_FAR*);
void ISC_EXPORT isc_print_sqlerror(ISC_SHORT,
ISC_STATUS ISC_FAR*);
ISC_STATUS ISC_EXPORT isc_print_status(ISC_STATUS ISC_FAR*);
ISC_STATUS ISC_EXPORT isc_put_segment(ISC_STATUS ISC_FAR*,
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -