📄 zlibibsql.pas
字号:
{********************************************************}
{ }
{ Zeos Database Objects }
{ Delphi interface to gds32.dll }
{ }
{ Copyright (c) 1999-2001 Sergey Seroukhov }
{ Copyright (c) 1999-2001 Zeos Development Group }
{ }
{********************************************************}
unit ZLibIbSql;
interface
uses Windows, Classes, ZSqlTypes;
{***************** Plain API Constants definition ****************}
const
{$IFNDEF LINUX}
DEFAULT_DLL_LOCATION = 'gds32.dll';
{$ELSE}
DEFAULT_DLL_LOCATION = 'libgds.so';
{$ENDIF}
const
ISC_NULL = -1;
ISC_NOTNULL = 0;
ISC_TRUE = 1;
ISC_FALSE = 0;
DSQL_CLOSE = 1;
DSQL_DROP = 2;
SQLDA_VERSION1 = 1;
SQLDA_VERSION2 = 2;
SQL_DIALECT_V5 = 1;
SQL_DIALECT_V6 = 2;
SQL_DIALECT_CURRENT = SQL_DIALECT_V6; (* latest IB DIALECT *)
{ Actions to pass to the blob filter (ctl_source) }
isc_blob_filter_open = 0;
isc_blob_filter_get_segment = 1;
isc_blob_filter_close = 2;
isc_blob_filter_create = 3;
isc_blob_filter_put_segment = 4;
isc_blob_filter_alloc = 5;
isc_blob_filter_free = 6;
isc_blob_filter_seek = 7;
{ Database parameter block stuff }
isc_dpb_version1 = 1;
isc_dpb_cdd_pathname = 1;
isc_dpb_allocation = 2;
isc_dpb_journal = 3;
isc_dpb_page_size = 4;
isc_dpb_num_buffers = 5;
isc_dpb_buffer_length = 6;
isc_dpb_debug = 7;
isc_dpb_garbage_collect = 8;
isc_dpb_verify = 9;
isc_dpb_sweep = 10;
isc_dpb_enable_journal = 11;
isc_dpb_disable_journal = 12;
isc_dpb_dbkey_scope = 13;
isc_dpb_number_of_users = 14;
isc_dpb_trace = 15;
isc_dpb_no_garbage_collect = 16;
isc_dpb_damaged = 17;
isc_dpb_license = 18;
isc_dpb_sys_user_name = 19;
isc_dpb_encrypt_key = 20;
isc_dpb_activate_shadow = 21;
isc_dpb_sweep_interval = 22;
isc_dpb_delete_shadow = 23;
isc_dpb_force_write = 24;
isc_dpb_begin_log = 25;
isc_dpb_quit_log = 26;
isc_dpb_no_reserve = 27;
isc_dpb_user_name = 28;
isc_dpb_password = 29;
isc_dpb_password_enc = 30;
isc_dpb_sys_user_name_enc = 31;
isc_dpb_interp = 32;
isc_dpb_online_dump = 33;
isc_dpb_old_file_size = 34;
isc_dpb_old_num_files = 35;
isc_dpb_old_file = 36;
isc_dpb_old_start_page = 37;
isc_dpb_old_start_seqno = 38;
isc_dpb_old_start_file = 39;
isc_dpb_drop_walfile = 40;
isc_dpb_old_dump_id = 41;
isc_dpb_wal_backup_dir = 42;
isc_dpb_wal_chkptlen = 43;
isc_dpb_wal_numbufs = 44;
isc_dpb_wal_bufsize = 45;
isc_dpb_wal_grp_cmt_wait = 46;
isc_dpb_lc_messages = 47;
isc_dpb_lc_ctype = 48;
isc_dpb_cache_manager = 49;
isc_dpb_shutdown = 50;
isc_dpb_online = 51;
isc_dpb_shutdown_delay = 52;
isc_dpb_reserved = 53;
isc_dpb_overwrite = 54;
isc_dpb_sec_attach = 55;
isc_dpb_disable_wal = 56;
isc_dpb_connect_timeout = 57;
isc_dpb_dummy_packet_interval = 58;
isc_dpb_gbak_attach = 59;
isc_dpb_sql_role_name = 60;
isc_dpb_set_page_buffers = 61;
isc_dpb_working_directory = 62;
isc_dpb_SQL_dialect = 63;
isc_dpb_set_db_readonly = 64;
isc_dpb_set_db_SQL_dialect = 65;
isc_dpb_gfix_attach = 66;
isc_dpb_gstat_attach = 67;
isc_dpb_last_dpb_constant = isc_dpb_gstat_attach;
{ isc_dpb_verify specific flags }
isc_dpb_pages = 1;
isc_dpb_records = 2;
isc_dpb_indices = 4;
isc_dpb_transactions = 8;
isc_dpb_no_update = 16;
isc_dpb_repair = 32;
isc_dpb_ignore = 64;
{ isc_dpb_shutdown specific flags }
isc_dpb_shut_cache = 1;
isc_dpb_shut_attachment = 2;
isc_dpb_shut_transaction = 4;
isc_dpb_shut_force = 8;
{ Transaction parameter block stuff }
isc_tpb_version1 = 1;
isc_tpb_version3 = 3;
isc_tpb_consistency = 1;
isc_tpb_concurrency = 2;
isc_tpb_shared = 3;
isc_tpb_protected = 4;
isc_tpb_exclusive = 5;
isc_tpb_wait = 6;
isc_tpb_nowait = 7;
isc_tpb_read = 8;
isc_tpb_write = 9;
isc_tpb_lock_read = 10;
isc_tpb_lock_write = 11;
isc_tpb_verb_time = 12;
isc_tpb_commit_time = 13;
isc_tpb_ignore_limbo = 14;
isc_tpb_read_committed = 15;
isc_tpb_autocommit = 16;
isc_tpb_rec_version = 17;
isc_tpb_no_rec_version = 18;
isc_tpb_restart_requests = 19;
isc_tpb_no_auto_undo = 20;
isc_tpb_last_tpb_constant = isc_tpb_no_auto_undo;
{ Blob Parameter Block }
isc_bpb_version1 = 1;
isc_bpb_source_type = 1;
isc_bpb_target_type = 2;
isc_bpb_type = 3;
isc_bpb_source_interp = 4;
isc_bpb_target_interp = 5;
isc_bpb_filter_parameter = 6;
{ SQL information items }
isc_info_sql_select = 4;
isc_info_sql_bind = 5;
isc_info_sql_num_variables = 6;
isc_info_sql_describe_vars = 7;
isc_info_sql_describe_end = 8;
isc_info_sql_sqlda_seq = 9;
isc_info_sql_message_seq = 10;
isc_info_sql_type = 11;
isc_info_sql_sub_type = 12;
isc_info_sql_scale = 13;
isc_info_sql_length = 14;
isc_info_sql_null_ind = 15;
isc_info_sql_field = 16;
isc_info_sql_relation = 17;
isc_info_sql_owner = 18;
isc_info_sql_alias = 19;
isc_info_sql_sqlda_start = 20;
isc_info_sql_stmt_type = 21;
isc_info_sql_get_plan = 22;
isc_info_sql_records = 23;
isc_info_sql_batch_fetch = 24;
{ SQL information return values }
isc_info_sql_stmt_select = 1;
isc_info_sql_stmt_insert = 2;
isc_info_sql_stmt_update = 3;
isc_info_sql_stmt_delete = 4;
isc_info_sql_stmt_ddl = 5;
isc_info_sql_stmt_get_segment = 6;
isc_info_sql_stmt_put_segment = 7;
isc_info_sql_stmt_exec_procedure = 8;
isc_info_sql_stmt_start_trans = 9;
isc_info_sql_stmt_commit = 10;
isc_info_sql_stmt_rollback = 11;
isc_info_sql_stmt_select_for_upd = 12;
isc_info_sql_stmt_set_generator = 13;
isc_bpb_type_segmented = 0;
isc_bpb_type_stream = 1;
{************** Information call declarations **************}
{ Common, structural codes }
isc_info_end = 1;
isc_info_truncated = 2;
isc_info_error = 3;
isc_info_data_not_ready = 4;
isc_info_flag_end = 127;
{ Request information items }
isc_info_number_messages = 4;
isc_info_max_message = 5;
isc_info_max_send = 6;
isc_info_max_receive = 7;
isc_info_state = 8;
isc_info_message_number = 9;
isc_info_message_size = 10;
isc_info_request_cost = 11;
isc_info_access_path = 12;
isc_info_req_select_count = 13;
isc_info_req_insert_count = 14;
isc_info_req_update_count = 15;
isc_info_req_delete_count = 16;
{ SQL definitions }
SQL_VARYING = 448;
SQL_TEXT = 452;
SQL_DOUBLE = 480;
SQL_FLOAT = 482;
SQL_LONG = 496;
SQL_SHORT = 500;
SQL_TIMESTAMP = 510;
SQL_BLOB = 520;
SQL_D_FLOAT = 530;
SQL_ARRAY = 540;
SQL_QUAD = 550;
SQL_TYPE_TIME = 560;
SQL_TYPE_DATE = 570;
SQL_INT64 = 580;
SQL_DATE = SQL_TIMESTAMP;
{ Blob Subtypes }
{ types less than zero are reserved for customer use }
isc_blob_untyped = 0;
{ internal subtypes }
isc_blob_text = 1;
isc_blob_blr = 2;
isc_blob_acl = 3;
isc_blob_ranges = 4;
isc_blob_summary = 5;
isc_blob_format = 6;
isc_blob_tra = 7;
isc_blob_extfile = 8;
{ the range 20-30 is reserved for dBASE and Paradox types }
isc_blob_formatted_memo = 20;
isc_blob_paradox_ole = 21;
isc_blob_graphic = 22;
isc_blob_dbase_ole = 23;
isc_blob_typed_binary = 24;
{ Blr definitions }
blr_text = 14;
blr_text2 = 15;
blr_short = 7;
blr_long = 8;
blr_quad = 9;
blr_float = 10;
blr_double = 27;
blr_d_float = 11;
blr_timestamp = 35;
blr_varying = 37;
blr_varying2 = 38;
blr_blob = 261;
blr_cstring = 40;
blr_cstring2 = 41;
blr_blob_id = 45;
blr_sql_date = 12;
blr_sql_time = 13;
blr_int64 = 16;
blr_date = blr_timestamp;
blr_inner = 0;
blr_left = 1;
blr_right = 2;
blr_full = 3;
blr_gds_code = 0;
blr_sql_code = 1;
blr_exception = 2;
blr_trigger_code = 3;
blr_default_code = 4;
blr_version4 = 4;
blr_version5 = 5;
blr_eoc = 76;
blr_end = -1;
blr_assignment = 1;
blr_begin = 2;
blr_dcl_variable = 3;
blr_message = 4;
blr_erase = 5;
blr_fetch = 6;
blr_for = 7;
blr_if = 8;
blr_loop = 9;
blr_modify = 10;
blr_handler = 11;
blr_receive = 12;
blr_select = 13;
blr_send = 14;
blr_store = 15;
blr_label = 17;
blr_leave = 18;
blr_store2 = 19;
blr_post = 20;
blr_literal = 21;
blr_dbkey = 22;
blr_field = 23;
blr_fid = 24;
blr_parameter = 25;
blr_variable = 26;
blr_average = 27;
blr_count = 28;
blr_maximum = 29;
blr_minimum = 30;
blr_total = 31;
blr_add = 34;
blr_subtract = 35;
blr_multiply = 36;
blr_divide = 37;
blr_negate = 38;
blr_concatenate = 39;
blr_substring = 40;
blr_parameter2 = 41;
blr_from = 42;
blr_via = 43;
blr_user_name = 44;
blr_null = 45;
blr_eql = 47;
blr_neq = 48;
blr_gtr = 49;
blr_geq = 50;
blr_lss = 51;
blr_leq = 52;
blr_containing = 53;
blr_matching = 54;
blr_starting = 55;
blr_between = 56;
blr_or = 57;
blr_and = 58;
blr_not = 59;
blr_any = 60;
blr_missing = 61;
blr_unique = 62;
blr_like = 63;
blr_stream = 65;
blr_set_index = 66;
blr_rse = 67;
blr_first = 68;
blr_project = 69;
blr_sort = 70;
blr_boolean = 71;
blr_ascending = 72;
blr_descending = 73;
blr_relation = 74;
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -