📄 jvquibase.pas
字号:
ownname_length: Smallint; // length of owner name
ownname: array [0..METADATALENGTH - 1] of Char; // relation's owner name + space for NULL
aliasname_length: Smallint; // length of alias name
aliasname: array [0..METADATALENGTH - 1] of Char; // relation's alias name + space for NULL
end;
{$ENDIF IB7_UP}
{$IFDEF USE_IBASE_H}{$EXTERNALSYM XSQLVAR}{$ENDIF}
TXSQLVar = {$IFDEF TYPE_IDENTITY} type {$ENDIF} XSQLVAR;
PXSQLDA = ^TXSQLDA;
XSQLDA = record
version: Smallint; // version of this XSQLDA
sqldaid: array [0..7] of Char; // XSQLDA name field -> RESERVED
sqldabc: ISCLong; // length in bytes of SQLDA -> RESERVED
sqln: Smallint; // number of fields allocated
sqld: Smallint; // actual number of fields
sqlvar: array [0..0] of TXSQLVar; // first field address
end;
{$IFDEF USE_IBASE_H}{$EXTERNALSYM XSQLDA}{$ENDIF}
TXSQLDA = XSQLDA;
function XSQLDA_LENGTH(n: Integer): Integer;
{$IFDEF USE_IBASE_H}{$EXTERNALSYM XSQLDA_LENGTH}{$ENDIF}
const
SQLDA_VERSION1 = 1;
{$IFDEF USE_IBASE_H}{$EXTERNALSYM SQLDA_VERSION1}{$ENDIF}
{$IFDEF IB7_UP}
SQLDA_VERSION2 = 2;
{$IFDEF USE_IBASE_H}{$EXTERNALSYM SQLDA_VERSION2}{$ENDIF}
{$ENDIF IB7_UP}
{$IFDEF IB7_UP}
SQLDA_CURRENT_VERSION = SQLDA_VERSION2;
{$IFDEF USE_IBASE_H}{$EXTERNALSYM SQLDA_CURRENT_VERSION}{$ENDIF}
{$ELSE}
SQLDA_CURRENT_VERSION = SQLDA_VERSION1;
{.$EXTERNALSYM SQLDA_CURRENT_VERSION}
{$ENDIF IB7_UP}
SQL_DIALECT_V5 = 1; (* meaning is same as DIALECT_xsqlda. *)
{$IFDEF USE_IBASE_H}{$EXTERNALSYM SQL_DIALECT_V5}{$ENDIF}
SQL_DIALECT_V6_TRANSITION = 2; (* flagging anything that is delimited
by double quotes as an error and
flagging keyword DATE as an error *)
{$IFDEF USE_IBASE_H}{$EXTERNALSYM SQL_DIALECT_V6_TRANSITION}{$ENDIF}
SQL_DIALECT_V6 = 3; (* supports SQL delimited identifier,
SQLDATE/DATE, TIME, TIMESTAMP,
CURRENT_DATE, CURRENT_TIME,
CURRENT_TIMESTAMP, and 64-bit exact
numeric type *)
{$IFDEF USE_IBASE_H}{$EXTERNALSYM SQL_DIALECT_V6}{$ENDIF}
SQL_DIALECT_CURRENT = SQL_DIALECT_V6; (* latest IB DIALECT *)
{$IFDEF USE_IBASE_H}{$EXTERNALSYM SQL_DIALECT_CURRENT}{$ENDIF}
(********************************
* InterBase Handle Definitions *
********************************)
type
isc_att_handle = PPointer;
{$IFDEF USE_IBASE_H}{$EXTERNALSYM isc_att_handle}{$ENDIF}
IscAttHandle = {$IFDEF TYPE_IDENTITY} type {$ENDIF} isc_att_handle;
PIscAttHandle = ^IscAttHandle;
isc_blob_handle = PPointer;
{$IFDEF USE_IBASE_H}{$EXTERNALSYM isc_blob_handle}{$ENDIF}
IscBlobHandle = {$IFDEF TYPE_IDENTITY} type {$ENDIF} isc_blob_handle;
PIscBlobHandle = ^IscBlobHandle;
isc_db_handle = PPointer;
{$IFDEF USE_IBASE_H}{$EXTERNALSYM isc_db_handle}{$ENDIF}
IscDbHandle = {$IFDEF TYPE_IDENTITY} type {$ENDIF} isc_db_handle;
PIscDbHandle = ^IscDbHandle;
isc_form_handle = PPointer;
{$IFDEF USE_IBASE_H}{$EXTERNALSYM isc_form_handle}{$ENDIF}
IscFormHandle = {$IFDEF TYPE_IDENTITY} type {$ENDIF} isc_form_handle;
PIscFormHandle = ^IscFormHandle;
isc_req_handle = PPointer;
{$IFDEF USE_IBASE_H}{$EXTERNALSYM isc_req_handle}{$ENDIF}
IscReqHandle = {$IFDEF TYPE_IDENTITY} type {$ENDIF} isc_req_handle;
PIscReqHandle = ^IscReqHandle;
isc_stmt_handle = PPointer;
{$IFDEF USE_IBASE_H}{$EXTERNALSYM isc_stmt_handle}{$ENDIF}
IscStmtHandle = {$IFDEF TYPE_IDENTITY} type {$ENDIF} isc_stmt_handle;
PIscStmtHandle = ^IscStmtHandle;
isc_svc_handle = PPointer;
{$IFDEF USE_IBASE_H}{$EXTERNALSYM isc_svc_handle}{$ENDIF}
IscSvcHandle = {$IFDEF TYPE_IDENTITY} type {$ENDIF} isc_svc_handle;
PIscSvcHandle = ^IscSvcHandle;
isc_tr_handle = PPointer;
{$IFDEF USE_IBASE_H}{$EXTERNALSYM isc_tr_handle}{$ENDIF}
IscTrHandle = {$IFDEF TYPE_IDENTITY} type {$ENDIF} isc_tr_handle;
PIscTrHandle = ^IscTrHandle;
isc_win_handle = PPointer;
{$IFDEF USE_IBASE_H}{$EXTERNALSYM isc_win_handle}{$ENDIF}
IscWinHandle = {$IFDEF TYPE_IDENTITY} type {$ENDIF} isc_win_handle;
PIscWinHandle = ^IscWinHandle;
isc_callback = procedure;
{$IFDEF USE_IBASE_H}{$EXTERNALSYM isc_callback}{$ENDIF}
IscCallback = isc_callback;
isc_resv_handle = ISC_LONG;
{$IFDEF USE_IBASE_H}{$EXTERNALSYM isc_resv_handle}{$ENDIF}
IscResvHandle = isc_resv_handle;
PIscResvHandle = ^IscResvHandle;
(***************************
* OSRI database functions *
***************************)
type
// Parameter for transaction on multiple Database, see
PISCTEB = ^TISCTEB;
TISCTEB = packed record
Handle: PIscDbHandle;
Len: Integer;
Address: PChar;
end;
(*************************************
* Security Functions and structures *
*************************************)
const
sec_uid_spec = $01;
{$IFDEF USE_IBASE_H}{$EXTERNALSYM sec_uid_spec}{$ENDIF}
sec_gid_spec = $02;
{$IFDEF USE_IBASE_H}{$EXTERNALSYM sec_gid_spec}{$ENDIF}
sec_server_spec = $04;
{$IFDEF USE_IBASE_H}{$EXTERNALSYM sec_server_spec}{$ENDIF}
sec_password_spec = $08;
{$IFDEF USE_IBASE_H}{$EXTERNALSYM sec_password_spec}{$ENDIF}
sec_group_name_spec = $10;
{$IFDEF USE_IBASE_H}{$EXTERNALSYM sec_group_name_spec}{$ENDIF}
sec_first_name_spec = $20;
{$IFDEF USE_IBASE_H}{$EXTERNALSYM sec_first_name_spec}{$ENDIF}
sec_middle_name_spec = $40;
{$IFDEF USE_IBASE_H}{$EXTERNALSYM sec_middle_name_spec}{$ENDIF}
sec_last_name_spec = $80;
{$IFDEF USE_IBASE_H}{$EXTERNALSYM sec_last_name_spec}{$ENDIF}
sec_dba_user_name_spec = $100;
{$IFDEF USE_IBASE_H}{$EXTERNALSYM sec_dba_user_name_spec}{$ENDIF}
sec_dba_password_spec = $200;
{$IFDEF USE_IBASE_H}{$EXTERNALSYM sec_dba_password_spec}{$ENDIF}
sec_protocol_tcpip = 1;
{$IFDEF USE_IBASE_H}{$EXTERNALSYM sec_protocol_tcpip}{$ENDIF}
sec_protocol_netbeui = 2;
{$IFDEF USE_IBASE_H}{$EXTERNALSYM sec_protocol_netbeui}{$ENDIF}
{$IFNDEF FIREBIRD}
{$IFNDEF FB15_UP}
sec_protocol_spx = 3;
{$IFDEF USE_IBASE_H}{$EXTERNALSYM sec_protocol_spx}{$ENDIF}
{$ENDIF !FB15_UP}
{$ENDIF !FIREBIRD}
sec_protocol_local = 4;
{$IFDEF USE_IBASE_H}{$EXTERNALSYM sec_protocol_local}{$ENDIF}
type
PUserSecData = ^TUserSecData;
USER_SEC_DATA = record
sec_flags: Smallint; // which fields are specified
uid: Integer; // the user's id
gid: Integer; // the user's group id
protocol: Integer; // protocol to use for connection
server: PChar; // server to administer
user_name: PChar; // the user's name
password: PChar; // the user's password
group_name: PChar; // the group name
first_name: PChar; // the user's first name
middle_name: PChar; // the user's middle name
last_name: PChar; // the user's last name
dba_user_name: PChar; // the dba user name
dba_password: PChar; // the dba password
end;
{$IFDEF USE_IBASE_H}{$EXTERNALSYM USER_SEC_DATA}{$ENDIF}
TUserSecData = USER_SEC_DATA;
(*****************************************
* Service manager functions *
*****************************************)
procedure ADD_SPB_LENGTH(var p: PChar; length: Integer);
{$IFDEF USE_IBASE_H}{$EXTERNALSYM ADD_SPB_LENGTH}{$ENDIF}
procedure ADD_SPB_NUMERIC(var p: PChar; data: Integer);
{$IFDEF USE_IBASE_H}{$EXTERNALSYM ADD_SPB_NUMERIC}{$ENDIF}
(***************************************************
* Actions to pass to the blob filter (ctl_source) *
***************************************************)
const
isc_blob_filter_open = 0;
{$IFDEF USE_IBASE_H}{$EXTERNALSYM isc_blob_filter_open}{$ENDIF}
isc_blob_filter_get_segment = 1;
{$IFDEF USE_IBASE_H}{$EXTERNALSYM isc_blob_filter_get_segment}{$ENDIF}
isc_blob_filter_close = 2;
{$IFDEF USE_IBASE_H}{$EXTERNALSYM isc_blob_filter_close}{$ENDIF}
isc_blob_filter_create = 3;
{$IFDEF USE_IBASE_H}{$EXTERNALSYM isc_blob_filter_create}{$ENDIF}
isc_blob_filter_put_segment = 4;
{$IFDEF USE_IBASE_H}{$EXTERNALSYM isc_blob_filter_put_segment}{$ENDIF}
isc_blob_filter_alloc = 5;
{$IFDEF USE_IBASE_H}{$EXTERNALSYM isc_blob_filter_alloc}{$ENDIF}
isc_blob_filter_free = 6;
{$IFDEF USE_IBASE_H}{$EXTERNALSYM isc_blob_filter_free}{$ENDIF}
isc_blob_filter_seek = 7;
{$IFDEF USE_IBASE_H}{$EXTERNALSYM isc_blob_filter_seek}{$ENDIF}
(*******************
* Blr definitions *
*******************)
blr_text = 14;
{$IFDEF USE_IBASE_H}{$EXTERNALSYM blr_text}{$ENDIF}
blr_text2 = 15; // added in 3.2 JPN
{$IFDEF USE_IBASE_H}{$EXTERNALSYM blr_text2}{$ENDIF}
blr_short = 7;
{$IFDEF USE_IBASE_H}{$EXTERNALSYM blr_short}{$ENDIF}
blr_long = 8;
{$IFDEF USE_IBASE_H}{$EXTERNALSYM blr_long}{$ENDIF}
blr_quad = 9;
{$IFDEF USE_IBASE_H}{$EXTERNALSYM blr_quad}{$ENDIF}
blr_float = 10;
{$IFDEF USE_IBASE_H}{$EXTERNALSYM blr_float}{$ENDIF}
blr_double = 27;
{$IFDEF USE_IBASE_H}{$EXTERNALSYM blr_double}{$ENDIF}
blr_d_float = 11;
{$IFDEF USE_IBASE_H}{$EXTERNALSYM blr_d_float}{$ENDIF}
blr_timestamp = 35;
{$IFDEF USE_IBASE_H}{$EXTERNALSYM blr_timestamp}{$ENDIF}
blr_varying = 37;
{$IFDEF USE_IBASE_H}{$EXTERNALSYM blr_varying}{$ENDIF}
blr_varying2 = 38; // added in 3.2 JPN
{$IFDEF USE_IBASE_H}{$EXTERNALSYM blr_varying2}{$ENDIF}
blr_blob = 261;
{$IFDEF USE_IBASE_H}{$EXTERNALSYM blr_blob}{$ENDIF}
blr_cstring = 40;
{$IFDEF USE_IBASE_H}{$EXTERNALSYM blr_cstring}{$ENDIF}
blr_cstring2 = 41; // added in 3.2 JPN
{$IFDEF USE_IBASE_H}{$EXTERNALSYM blr_cstring2}{$ENDIF}
blr_blob_id = 45; // added from gds.h
{$IFDEF USE_IBASE_H}{$EXTERNALSYM blr_blob_id}{$ENDIF}
blr_sql_date = 12;
{$IFDEF USE_IBASE_H}{$EXTERNALSYM blr_sql_date}{$ENDIF}
blr_sql_time = 13;
{$IFDEF USE_IBASE_H}{$EXTERNALSYM blr_sql_time}{$ENDIF}
blr_int64 = 16;
{$IFDEF USE_IBASE_H}{$EXTERNALSYM blr_int64}{$ENDIF}
{$IFDEF IB7_UP}
blr_boolean_dtype = 17;
{$IFDEF USE_IBASE_H}{$EXTERNALSYM blr_boolean_dtype}{$ENDIF}
{$ENDIF IB7_UP}
(* Historical alias for pre V6 applications *)
blr_date = blr_timestamp;
{$IFDEF USE_IBASE_H}{$EXTERNALSYM blr_date}{$ENDIF}
blr_inner = 0;
{$IFDEF USE_IBASE_H}{$EXTERNALSYM blr_inner}{$ENDIF}
blr_left = 1;
{$IFDEF USE_IBASE_H}{$EXTERNALSYM blr_left}{$ENDIF}
blr_right = 2;
{$IFDEF USE_IBASE_H}{$EXTERNALSYM blr_right}{$ENDIF}
blr_full = 3;
{$IFDEF USE_IBASE_H}{$EXTERNALSYM blr_full}{$ENDIF}
blr_gds_code = 0;
{$IFDEF USE_IBASE_H}{$EXTERNALSYM blr_gds_code}{$ENDIF}
blr_sql_code = 1;
{$IFDEF USE_IBASE_H}{$EXTERNALSYM blr_sql_code}{$ENDIF}
blr_exception = 2;
{$IFDEF USE_IBASE_H}{$EXTERNALSYM blr_exception}{$ENDIF}
blr_trigger_code = 3;
{$IFDEF USE_IBASE_H}{$EXTERNALSYM blr_trigger_code}{$ENDIF}
blr_default_code = 4;
{$IFDEF USE_IBASE_H}{$EXTERNALSYM blr_default_code}{$ENDIF}
blr_raise = 5;
{$IFDEF USE_IBASE_H}{$EXTERNALSYM blr_raise}{$ENDIF}
blr_exception_msg = 6;
{$IFDEF USE_IBASE_H}{$EXTERNALSYM blr_exception_msg}{$ENDIF}
blr_version4 = 4;
{$IFDEF USE_IBASE_H}{$EXTERNALSYM blr_version4}{$ENDIF}
blr_version5 = 5;
{$IFDEF USE_IBASE_H}{$EXTERNALSYM blr_version5}{$ENDIF}
blr_eoc = 76;
{$IFDEF USE_IBASE_H}{$EXTERNALSYM blr_eoc}{$ENDIF}
blr_end = 255; // note: defined as -1 in gds.h
{$IFDEF USE_IBASE_H}{$EXTERNALSYM blr_end}{$ENDIF}
blr_assignment = 1;
{$IFDEF USE_IBASE_H}{$EXTERNALSYM blr_assignment}{$ENDIF}
blr_begin = 2;
{$IFDEF USE_IBASE_H}{$EXTERNALSYM blr_begin}{$ENDIF}
blr_dcl_variable = 3; // added from gds.h
{$IFDEF USE_IBASE_H}{$EXTERNALSYM blr_dcl_variable}{$ENDIF}
blr_message = 4;
{$IFDEF USE_IBASE_H}{$EXTERNALSYM blr_message}{$ENDIF}
blr_erase = 5;
{$IFDEF USE_IBASE_H}{$EXTERNALSYM blr_erase}{$ENDIF}
blr_fetch = 6;
{$IFDEF USE_IBASE_H}{$EXTERNALSYM blr_fetch}{$ENDIF}
blr_for = 7;
{$IFDEF USE_IBASE_H}{$EXTERNALSYM blr_for}{$ENDIF}
blr_if = 8;
{$IFDEF USE_IBASE_H}{$EXTERNALSYM blr_if}{$ENDIF}
blr_loop = 9;
{$IFDEF USE_IBASE_H}{$EXTERNALSYM blr_loop}{$ENDIF}
blr_modify = 10;
{$IFDEF USE_IBASE_H}{$EXTERNALSYM blr_modify}{$ENDIF}
blr_handler = 11;
{$IFDEF USE_IBASE_H}{$EXTERNALSYM blr_handler}{$ENDIF}
blr_receive = 12;
{$IFDEF USE_IBASE_H}{$EXTERNALSYM blr_receive}{$ENDIF}
blr_select = 13;
{$IFDEF USE_IBASE_H}{$EXTERNALSYM blr_select}{$ENDIF}
blr_send = 14;
{$IFDEF USE_IBASE_H}{$EXTERNALSYM blr_send}{$ENDIF}
blr_store = 15;
{$IFDEF USE_IBASE_H}{$EXTERNALSYM blr_store}{$ENDIF}
blr_label = 17;
{$IFDEF USE_IBASE_H}{$EXTERNALSYM blr_label}{$ENDIF}
blr_leave = 18;
{$IFDEF USE_IBASE_H}{$EXTERNALSYM blr_leave}{$ENDIF}
blr_store2 = 19;
{$IFDEF USE_IBASE_H}{$EXTERNALSYM blr_store2}{$ENDIF}
blr_post = 20;
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -