1 /* 2 * MODULE: ibase.h 3 * DESCRIPTION: OSRI entrypoints and defines 4 * 5 * The contents of this file are subject to the Interbase Public 6 * License Version 1.0 (the "License"); you may not use this file 7 * except in compliance with the License. You may obtain a copy 8 * of the License at http://www.Inprise.com/IPL.html 9 * 10 * Software distributed under the License is distributed on an 11 * "AS IS" basis, WITHOUT WARRANTY OF ANY KIND, either express 12 * or implied. See the License for the specific language governing 13 * rights and limitations under the License. 14 * 15 * The Original Code was created by Inprise Corporation 16 * and its predecessors. Portions created by Inprise Corporation are 17 * Copyright (C) Inprise Corporation. 18 * 19 * All Rights Reserved. 20 * Contributor(s): ______________________________________. 21 * 22 * 2001.07.28: John Bellardo: Added blr_skip 23 * 2001.09.18: Ann Harrison: New info codes 24 * 17-Oct-2001 Mike Nordell: CPU affinity 25 * 2001-04-16 Paul Beach: ISC_TIME_SECONDS_PRECISION_SCALE modified for HP10 26 * Compiler Compatibility 27 * 2002.02.15 Sean Leyne - Code Cleanup, removed obsolete ports: 28 * - EPSON, XENIX, MAC (MAC_AUX), Cray and OS/2 29 * 2002.10.29 Nickolay Samofatov: Added support for savepoints 30 * 31 * 2002.10.29 Sean Leyne - Removed support for obsolete IPX/SPX Protocol 32 * 33 * 2006.09.06 Steve Boyd - Added various prototypes required by Cobol ESQL 34 * isc_embed_dsql_length 35 * isc_event_block_a 36 * isc_sqlcode_s 37 * isc_embed_dsql_fetch_a 38 * isc_event_block_s 39 * isc_baddress 40 * isc_baddress_s 41 * 42 */ 43 44 #ifndef JRD_IBASE_H 45 #define JRD_IBASE_H 46 47 #define FB_API_VER 20 48 #define isc_version4 49 50 #define ISC_TRUE 1 51 #define ISC_FALSE 0 52 #if !(defined __cplusplus) 53 #define ISC__TRUE ISC_TRUE 54 #define ISC__FALSE ISC_FALSE 55 #endif 56 57 #define ISC_FAR 58 59 #if defined _MSC_VER && _MSC_VER >= 1300 60 #define FB_API_DEPRECATED __declspec(deprecated) 61 #elif defined __GNUC__ && (__GNUC__ > 3 || (__GNUC__ == 3 && __GNUC_MINOR__ >= 2)) 62 #define FB_API_DEPRECATED __attribute__((__deprecated__)) 63 #else 64 #define FB_API_DEPRECATED 65 #endif 66 67 68 #ifndef INCLUDE_TYPES_PUB_H 69 #define INCLUDE_TYPES_PUB_H 70 71 #include <stddef.h> 72 73 #if defined(__GNUC__) 74 #include <inttypes.h> 75 #else 76 77 #if !defined(_INTPTR_T_DEFINED) 78 #if defined(_WIN64) 79 typedef __int64 intptr_t; 80 typedef unsigned __int64 uintptr_t; 81 #else 82 typedef long intptr_t; 83 typedef unsigned long uintptr_t; 84 #endif 85 #endif 86 87 #endif 88 89 #if defined(_LP64) || defined(__LP64__) || defined(__arch64__) || defined(_WIN64) 90 typedef unsigned int FB_API_HANDLE; 91 #else 92 typedef void* FB_API_HANDLE; 93 #endif 94 95 typedef intptr_t ISC_STATUS; 96 97 #define ISC_STATUS_LENGTH 20 98 typedef ISC_STATUS ISC_STATUS_ARRAY[ISC_STATUS_LENGTH]; 99 100 #if defined(WIN32) || defined(_WIN32) || defined(__WIN32__) 101 #define ISC_EXPORT __stdcall 102 #define ISC_EXPORT_VARARG __cdecl 103 #else 104 #define ISC_EXPORT 105 #define ISC_EXPORT_VARARG 106 #endif 107 108 #if defined(_LP64) || defined(__LP64__) || defined(__arch64__) 109 typedef int ISC_LONG; 110 typedef unsigned int ISC_ULONG; 111 #else 112 typedef signed long ISC_LONG; 113 typedef unsigned long ISC_ULONG; 114 #endif 115 116 typedef signed short ISC_SHORT; 117 typedef unsigned short ISC_USHORT; 118 119 typedef unsigned char ISC_UCHAR; 120 typedef char ISC_SCHAR; 121 122 #if (defined(WIN32) || defined(_WIN32) || defined(__WIN32__)) && !defined(__GNUC__) 123 typedef __int64 ISC_INT64; 124 typedef unsigned __int64 ISC_UINT64; 125 #else 126 typedef long long int ISC_INT64; 127 typedef unsigned long long int ISC_UINT64; 128 #endif 129 130 #ifndef ISC_TIMESTAMP_DEFINED 131 typedef int ISC_DATE; 132 typedef unsigned int ISC_TIME; 133 typedef struct 134 { 135 ISC_DATE timestamp_date; 136 ISC_TIME timestamp_time; 137 } ISC_TIMESTAMP; 138 #define ISC_TIMESTAMP_DEFINED 139 #endif 140 141 struct GDS_QUAD_t { 142 ISC_LONG gds_quad_high; 143 ISC_ULONG gds_quad_low; 144 }; 145 146 typedef struct GDS_QUAD_t GDS_QUAD; 147 typedef struct GDS_QUAD_t ISC_QUAD; 148 149 #define isc_quad_high gds_quad_high 150 #define isc_quad_low gds_quad_low 151 152 #endif 153 154 /********************************/ 155 /* Firebird Handle Definitions */ 156 /********************************/ 157 158 typedef FB_API_HANDLE isc_att_handle; 159 typedef FB_API_HANDLE isc_blob_handle; 160 typedef FB_API_HANDLE isc_db_handle; 161 typedef FB_API_HANDLE isc_req_handle; 162 typedef FB_API_HANDLE isc_stmt_handle; 163 typedef FB_API_HANDLE isc_svc_handle; 164 typedef FB_API_HANDLE isc_tr_handle; 165 typedef void (* isc_callback) (); 166 typedef ISC_LONG isc_resv_handle; 167 168 typedef void (*ISC_PRINT_CALLBACK) (void*, ISC_SHORT, const char*); 169 typedef void (*ISC_VERSION_CALLBACK)(void*, const char*); 170 typedef void (*ISC_EVENT_CALLBACK)(void*, ISC_USHORT, const ISC_UCHAR*); 171 172 /*******************************************************************/ 173 /* Blob id structure */ 174 /*******************************************************************/ 175 176 #if !(defined __cplusplus) 177 typedef GDS_QUAD GDS__QUAD; 178 #endif /* !(defined __cplusplus) */ 179 180 typedef struct 181 { 182 short array_bound_lower; 183 short array_bound_upper; 184 } ISC_ARRAY_BOUND; 185 186 typedef struct 187 { 188 ISC_UCHAR array_desc_dtype; 189 ISC_SCHAR array_desc_scale; 190 unsigned short array_desc_length; 191 ISC_SCHAR array_desc_field_name[32]; 192 ISC_SCHAR array_desc_relation_name[32]; 193 short array_desc_dimensions; 194 short array_desc_flags; 195 ISC_ARRAY_BOUND array_desc_bounds[16]; 196 } ISC_ARRAY_DESC; 197 198 typedef struct 199 { 200 short blob_desc_subtype; 201 short blob_desc_charset; 202 short blob_desc_segment_size; 203 ISC_UCHAR blob_desc_field_name[32]; 204 ISC_UCHAR blob_desc_relation_name[32]; 205 } ISC_BLOB_DESC; 206 207 /***************************/ 208 /* Blob control structure */ 209 /***************************/ 210 211 typedef struct isc_blob_ctl 212 { 213 ISC_STATUS (* ctl_source)(); /* Source filter */ 214 struct isc_blob_ctl* ctl_source_handle; /* Argument to pass to source filter */ 215 short ctl_to_sub_type; /* Target type */ 216 short ctl_from_sub_type; /* Source type */ 217 unsigned short ctl_buffer_length; /* Length of buffer */ 218 unsigned short ctl_segment_length; /* Length of current segment */ 219 unsigned short ctl_bpb_length; /* Length of blob parameter block */ 220 /* Internally, this is const UCHAR*, but this public struct probably can't change. */ 221 ISC_SCHAR* ctl_bpb; /* Address of blob parameter block */ 222 ISC_UCHAR* ctl_buffer; /* Address of segment buffer */ 223 ISC_LONG ctl_max_segment; /* Length of longest segment */ 224 ISC_LONG ctl_number_segments; /* Total number of segments */ 225 ISC_LONG ctl_total_length; /* Total length of blob */ 226 ISC_STATUS* ctl_status; /* Address of status vector */ 227 long ctl_data[8]; /* Application specific data */ 228 } * ISC_BLOB_CTL; 229 230 /***************************/ 231 /* Blob stream definitions */ 232 /***************************/ 233 234 typedef struct bstream 235 { 236 isc_blob_handle bstr_blob; /* Blob handle */ 237 ISC_SCHAR * bstr_buffer; /* Address of buffer */ 238 ISC_SCHAR * bstr_ptr; /* Next character */ 239 short bstr_length; /* Length of buffer */ 240 short bstr_cnt; /* Characters in buffer */ 241 char bstr_mode; /* (mode) ? OUTPUT : INPUT */ 242 } BSTREAM; 243 244 /* Three ugly macros, one even using octal radix... sigh... */ 245 #define getb(p) (--(p)->bstr_cnt >= 0 ? *(p)->bstr_ptr++ & 0377: BLOB_get (p)) 246 #define putb(x,p) (((x) == '\n' || (!(--(p)->bstr_cnt))) ? BLOB_put ((x),p) : ((int) (*(p)->bstr_ptr++ = (unsigned) (x)))) 247 #define putbx(x,p) ((!(--(p)->bstr_cnt)) ? BLOB_put ((x),p) : ((int) (*(p)->bstr_ptr++ = (unsigned) (x)))) 248 249 /********************************************************************/ 250 /* CVC: Public blob interface definition held in val.h. */ 251 /* For some unknown reason, it was only documented in langRef */ 252 /* and being the structure passed by the engine to UDFs it never */ 253 /* made its way into this public definitions file. */ 254 /* Being its original name "blob", I renamed it blobcallback here. */ 255 /* I did the full definition with the proper parameters instead of */ 256 /* the weak C declaration with any number and type of parameters. */ 257 /* Since the first parameter -BLB- is unknown outside the engine, */ 258 /* it's more accurate to use void* than int* as the blob pointer */ 259 /********************************************************************/ 260 261 #if !defined(JRD_VAL_H) && !defined(REQUESTER) 262 /* Blob passing structure */ 263 264 /* This enum applies to parameter "mode" in blob_lseek */ 265 enum blob_lseek_mode {blb_seek_relative = 1, blb_seek_from_tail = 2}; 266 /* This enum applies to the value returned by blob_get_segment */ 267 enum blob_get_result {blb_got_fragment = -1, blb_got_eof = 0, blb_got_full_segment = 1}; 268 269 typedef struct blobcallback { 270 short (*blob_get_segment) 271 (void* hnd, ISC_UCHAR* buffer, ISC_USHORT buf_size, ISC_USHORT* result_len); 272 void* blob_handle; 273 ISC_LONG blob_number_segments; 274 ISC_LONG blob_max_segment; 275 ISC_LONG blob_total_length; 276 void (*blob_put_segment) 277 (void* hnd, const ISC_UCHAR* buffer, ISC_USHORT buf_size); 278 ISC_LONG (*blob_lseek) 279 (void* hnd, ISC_USHORT mode, ISC_LONG offset); 280 } *BLOBCALLBACK; 281 #endif /* !defined(JRD_VAL_H) && !defined(REQUESTER) */ 282 283 284 /********************************************************************/ 285 /* CVC: Public descriptor interface held in dsc2.h. */ 286 /* We need it documented to be able to recognize NULL in UDFs. */ 287 /* Being its original name "dsc", I renamed it paramdsc here. */ 288 /* Notice that I adjust to the original definition: contrary to */ 289 /* other cases, the typedef is the same struct not the pointer. */ 290 /* I included the enumeration of dsc_dtype possible values. */ 291 /* Ultimately, dsc2.h should be part of the public interface. */ 292 /********************************************************************/ 293 294 #if !defined(JRD_DSC_H) 295 /* This is the famous internal descriptor that UDFs can use, too. */ 296 typedef struct paramdsc { 297 ISC_UCHAR dsc_dtype; 298 signed char dsc_scale; 299 ISC_USHORT dsc_length; 300 short dsc_sub_type; 301 ISC_USHORT dsc_flags; 302 ISC_UCHAR *dsc_address; 303 } PARAMDSC; 304 305 #if !defined(JRD_VAL_H) 306 /* This is a helper struct to work with varchars. */ 307 typedef struct paramvary { 308 ISC_USHORT vary_length; 309 ISC_UCHAR vary_string[1]; 310 } PARAMVARY; 311 #endif /* !defined(JRD_VAL_H) */ 312 313 314 #ifndef JRD_DSC_PUB_H 315 #define JRD_DSC_PUB_H 316 317 #define DSC_null 1 318 #define DSC_no_subtype 2 319 #define DSC_nullable 4 320 321 #define dtype_unknown 0 322 #define dtype_text 1 323 #define dtype_cstring 2 324 #define dtype_varying 3 325 326 #define dtype_packed 6 327 #define dtype_byte 7 328 #define dtype_short 8 329 #define dtype_long 9 330 #define dtype_quad 10 331 #define dtype_real 11 332 #define dtype_double 12 333 #define dtype_d_float 13 334 #define dtype_sql_date 14 335 #define dtype_sql_time 15 336 #define dtype_timestamp 16 337 #define dtype_blob 17 338 #define dtype_array 18 339 #define dtype_int64 19 340 #define DTYPE_TYPE_MAX 20 341 342 #define ISC_TIME_SECONDS_PRECISION 10000 343 #define ISC_TIME_SECONDS_PRECISION_SCALE (-4) 344 345 #endif 346 347 348 #endif /* !defined(JRD_DSC_H) */ 349 350 /***************************/ 351 /* Dynamic SQL definitions */ 352 /***************************/ 353 354 355 #ifndef DSQL_SQLDA_PUB_H 356 #define DSQL_SQLDA_PUB_H 357 358 #define DSQL_close 1 359 #define DSQL_drop 2 360 361 typedef struct 362 { 363 ISC_SHORT sqltype; 364 ISC_SHORT sqlscale; 365 ISC_SHORT sqlsubtype; 366 ISC_SHORT sqllen; 367 ISC_SCHAR* sqldata; 368 ISC_SHORT* sqlind; 369 ISC_SHORT sqlname_length; 370 ISC_SCHAR sqlname[32]; 371 ISC_SHORT relname_length; 372 ISC_SCHAR relname[32]; 373 ISC_SHORT ownname_length; 374 ISC_SCHAR ownname[32]; 375 ISC_SHORT aliasname_length; 376 ISC_SCHAR aliasname[32]; 377 } XSQLVAR; 378 379 #define SQLDA_VERSION1 1 380 381 typedef struct 382 { 383 ISC_SHORT version; 384 ISC_SCHAR sqldaid[8]; 385 ISC_LONG sqldabc; 386 ISC_SHORT sqln; 387 ISC_SHORT sqld; 388 XSQLVAR sqlvar[1]; 389 } XSQLDA; 390 391 #define XSQLDA_LENGTH(n) (sizeof (XSQLDA) + (n - 1) * sizeof (XSQLVAR)) 392 393 #define SQL_TEXT 452 394 #define SQL_VARYING 448 395 #define SQL_SHORT 500 396 #define SQL_LONG 496 397 #define SQL_FLOAT 482 398 #define SQL_DOUBLE 480 399 #define SQL_D_FLOAT 530 400 #define SQL_TIMESTAMP 510 401 #define SQL_BLOB 520 402 #define SQL_ARRAY 540 403 #define SQL_QUAD 550 404 #define SQL_TYPE_TIME 560 405 #define SQL_TYPE_DATE 570 406 #define SQL_INT64 580 407 408 #define SQL_DATE SQL_TIMESTAMP 409 410 #define SQL_DIALECT_V5 1 411 #define SQL_DIALECT_V6_TRANSITION 2 412 #define SQL_DIALECT_V6 3 413 #define SQL_DIALECT_CURRENT SQL_DIALECT_V6 414 415 #endif 416 417 418 /***************************/ 419 /* OSRI database functions */ 420 /***************************/ 421 422 #ifdef __cplusplus 423 extern "C" { 424 #endif 425 426 ISC_STATUS ISC_EXPORT isc_attach_database(ISC_STATUS*, 427 short, 428 const ISC_SCHAR*, 429 isc_db_handle*, 430 short, 431 const ISC_SCHAR*); 432 433 ISC_STATUS ISC_EXPORT isc_array_gen_sdl(ISC_STATUS*, 434 const ISC_ARRAY_DESC*, 435 ISC_SHORT*, 436 ISC_UCHAR*, 437 ISC_SHORT*); 438 439 ISC_STATUS ISC_EXPORT isc_array_get_slice(ISC_STATUS*, 440 isc_db_handle*, 441 isc_tr_handle*, 442 ISC_QUAD*, 443 const ISC_ARRAY_DESC*, 444 void*, 445 ISC_LONG*); 446 447 ISC_STATUS ISC_EXPORT isc_array_lookup_bounds(ISC_STATUS*, 448 isc_db_handle*, 449 isc_tr_handle*, 450 const ISC_SCHAR*, 451 const ISC_SCHAR*, 452 ISC_ARRAY_DESC*); 453 454 ISC_STATUS ISC_EXPORT isc_array_lookup_desc(ISC_STATUS*, 455 isc_db_handle*, 456 isc_tr_handle*, 457 const ISC_SCHAR*, 458 const ISC_SCHAR*, 459 ISC_ARRAY_DESC*); 460 461 ISC_STATUS ISC_EXPORT isc_array_set_desc(ISC_STATUS*, 462 const ISC_SCHAR*, 463 const ISC_SCHAR*, 464 const short*, 465 const short*, 466 const short*, 467 ISC_ARRAY_DESC*); 468 469 ISC_STATUS ISC_EXPORT isc_array_put_slice(ISC_STATUS*, 470 isc_db_handle*, 471 isc_tr_handle*, 472 ISC_QUAD*, 473 const ISC_ARRAY_DESC*, 474 void*, 475 ISC_LONG *); 476 477 void ISC_EXPORT isc_blob_default_desc(ISC_BLOB_DESC*, 478 const ISC_UCHAR*, 479 const ISC_UCHAR*); 480 481 ISC_STATUS ISC_EXPORT isc_blob_gen_bpb(ISC_STATUS*, 482 const ISC_BLOB_DESC*, 483 const ISC_BLOB_DESC*, 484 unsigned short, 485 ISC_UCHAR*, 486 unsigned short*); 487 488 ISC_STATUS ISC_EXPORT isc_blob_info(ISC_STATUS*, 489 isc_blob_handle*, 490 short, 491 const ISC_SCHAR*, 492 short, 493 ISC_SCHAR*); 494 495 ISC_STATUS ISC_EXPORT isc_blob_lookup_desc(ISC_STATUS*, 496 isc_db_handle*, 497 isc_tr_handle*, 498 const ISC_UCHAR*, 499 const ISC_UCHAR*, 500 ISC_BLOB_DESC*, 501 ISC_UCHAR*); 502 503 ISC_STATUS ISC_EXPORT isc_blob_set_desc(ISC_STATUS*, 504 const ISC_UCHAR*, 505 const ISC_UCHAR*, 506 short, 507 short, 508 short, 509 ISC_BLOB_DESC*); 510 511 ISC_STATUS ISC_EXPORT isc_cancel_blob(ISC_STATUS *, 512 isc_blob_handle *); 513 514 ISC_STATUS ISC_EXPORT isc_cancel_events(ISC_STATUS *, 515 isc_db_handle *, 516 ISC_LONG *); 517 518 ISC_STATUS ISC_EXPORT isc_close_blob(ISC_STATUS *, 519 isc_blob_handle *); 520 521 ISC_STATUS ISC_EXPORT isc_commit_retaining(ISC_STATUS *, 522 isc_tr_handle *); 523 524 ISC_STATUS ISC_EXPORT isc_commit_transaction(ISC_STATUS *, 525 isc_tr_handle *); 526 527 ISC_STATUS ISC_EXPORT isc_create_blob(ISC_STATUS*, 528 isc_db_handle*, 529 isc_tr_handle*, 530 isc_blob_handle*, 531 ISC_QUAD*); 532 533 ISC_STATUS ISC_EXPORT isc_create_blob2(ISC_STATUS*, 534 isc_db_handle*, 535 isc_tr_handle*, 536 isc_blob_handle*, 537 ISC_QUAD*, 538 short, 539 const ISC_SCHAR*); 540 541 ISC_STATUS ISC_EXPORT isc_create_database(ISC_STATUS*, 542 short, 543 const ISC_SCHAR*, 544 isc_db_handle*, 545 short, 546 const ISC_SCHAR*, 547 short); 548 549 ISC_STATUS ISC_EXPORT isc_database_info(ISC_STATUS*, 550 isc_db_handle*, 551 short, 552 const ISC_SCHAR*, 553 short, 554 ISC_SCHAR*); 555 556 void ISC_EXPORT isc_decode_date(const ISC_QUAD*, 557 void*); 558 559 void ISC_EXPORT isc_decode_sql_date(const ISC_DATE*, 560 void*); 561 562 void ISC_EXPORT isc_decode_sql_time(const ISC_TIME*, 563 void*); 564 565 void ISC_EXPORT isc_decode_timestamp(const ISC_TIMESTAMP*, 566 void*); 567 568 ISC_STATUS ISC_EXPORT isc_detach_database(ISC_STATUS *, 569 isc_db_handle *); 570 571 ISC_STATUS ISC_EXPORT isc_drop_database(ISC_STATUS *, 572 isc_db_handle *); 573 574 ISC_STATUS ISC_EXPORT isc_dsql_allocate_statement(ISC_STATUS *, 575 isc_db_handle *, 576 isc_stmt_handle *); 577 578 ISC_STATUS ISC_EXPORT isc_dsql_alloc_statement2(ISC_STATUS *, 579 isc_db_handle *, 580 isc_stmt_handle *); 581 582 ISC_STATUS ISC_EXPORT isc_dsql_describe(ISC_STATUS *, 583 isc_stmt_handle *, 584 unsigned short, 585 XSQLDA *); 586 587 ISC_STATUS ISC_EXPORT isc_dsql_describe_bind(ISC_STATUS *, 588 isc_stmt_handle *, 589 unsigned short, 590 XSQLDA *); 591 592 ISC_STATUS ISC_EXPORT isc_dsql_exec_immed2(ISC_STATUS*, 593 isc_db_handle*, 594 isc_tr_handle*, 595 unsigned short, 596 const ISC_SCHAR*, 597 unsigned short, 598 XSQLDA*, 599 XSQLDA*); 600 601 ISC_STATUS ISC_EXPORT isc_dsql_execute(ISC_STATUS*, 602 isc_tr_handle*, 603 isc_stmt_handle*, 604 unsigned short, 605 XSQLDA*); 606 607 ISC_STATUS ISC_EXPORT isc_dsql_execute2(ISC_STATUS*, 608 isc_tr_handle*, 609 isc_stmt_handle*, 610 unsigned short, 611 XSQLDA*, 612 XSQLDA*); 613 614 ISC_STATUS ISC_EXPORT isc_dsql_execute_immediate(ISC_STATUS*, 615 isc_db_handle*, 616 isc_tr_handle*, 617 unsigned short, 618 const ISC_SCHAR*, 619 unsigned short, 620 XSQLDA*); 621 622 ISC_STATUS ISC_EXPORT isc_dsql_fetch(ISC_STATUS *, 623 isc_stmt_handle *, 624 unsigned short, 625 XSQLDA *); 626 627 ISC_STATUS ISC_EXPORT isc_dsql_finish(isc_db_handle *); 628 629 ISC_STATUS ISC_EXPORT isc_dsql_free_statement(ISC_STATUS *, 630 isc_stmt_handle *, 631 unsigned short); 632 633 ISC_STATUS ISC_EXPORT isc_dsql_insert(ISC_STATUS*, 634 isc_stmt_handle*, 635 unsigned short, 636 XSQLDA*); 637 638 ISC_STATUS ISC_EXPORT isc_dsql_prepare(ISC_STATUS*, 639 isc_tr_handle*, 640 isc_stmt_handle*, 641 unsigned short, 642 const ISC_SCHAR*, 643 unsigned short, 644 XSQLDA*); 645 646 ISC_STATUS ISC_EXPORT isc_dsql_set_cursor_name(ISC_STATUS*, 647 isc_stmt_handle*, 648 const ISC_SCHAR*, 649 unsigned short); 650 651 ISC_STATUS ISC_EXPORT isc_dsql_sql_info(ISC_STATUS*, 652 isc_stmt_handle*, 653 short, 654 const ISC_SCHAR*, 655 short, 656 ISC_SCHAR*); 657 658 void ISC_EXPORT isc_encode_date(const void*, 659 ISC_QUAD*); 660 661 void ISC_EXPORT isc_encode_sql_date(const void*, 662 ISC_DATE*); 663 664 void ISC_EXPORT isc_encode_sql_time(const void*, 665 ISC_TIME*); 666 667 void ISC_EXPORT isc_encode_timestamp(const void*, 668 ISC_TIMESTAMP*); 669 670 ISC_LONG ISC_EXPORT_VARARG isc_event_block(ISC_UCHAR**, 671 ISC_UCHAR**, 672 ISC_USHORT, ...); 673 674 ISC_USHORT ISC_EXPORT isc_event_block_a(ISC_SCHAR**, 675 ISC_SCHAR**, 676 ISC_USHORT, 677 ISC_SCHAR**); 678 679 void ISC_EXPORT isc_event_block_s(ISC_SCHAR**, 680 ISC_SCHAR**, 681 ISC_USHORT, 682 ISC_SCHAR**, 683 ISC_USHORT*); 684 685 void ISC_EXPORT isc_event_counts(ISC_ULONG*, 686 short, 687 ISC_UCHAR*, 688 const ISC_UCHAR *); 689 690 /* 17 May 2001 - isc_expand_dpb is DEPRECATED */ 691 void FB_API_DEPRECATED ISC_EXPORT_VARARG isc_expand_dpb(ISC_SCHAR**, 692 short*, ...); 693 694 int ISC_EXPORT isc_modify_dpb(ISC_SCHAR**, 695 short*, 696 unsigned short, 697 const ISC_SCHAR*, 698 short); 699 700 ISC_LONG ISC_EXPORT isc_free(ISC_SCHAR *); 701 702 ISC_STATUS ISC_EXPORT isc_get_segment(ISC_STATUS *, 703 isc_blob_handle *, 704 unsigned short *, 705 unsigned short, 706 ISC_SCHAR *); 707 708 ISC_STATUS ISC_EXPORT isc_get_slice(ISC_STATUS*, 709 isc_db_handle*, 710 isc_tr_handle*, 711 ISC_QUAD*, 712 short, 713 const ISC_SCHAR*, 714 short, 715 const ISC_LONG*, 716 ISC_LONG, 717 void*, 718 ISC_LONG*); 719 720 /* CVC: This non-const signature is needed for compatibility, see gds.cpp. */ 721 ISC_LONG FB_API_DEPRECATED ISC_EXPORT isc_interprete(ISC_SCHAR*, 722 ISC_STATUS**); 723 724 /* This const params version used in the engine and other places. */ 725 ISC_LONG ISC_EXPORT fb_interpret(ISC_SCHAR*, 726 unsigned int, 727 const ISC_STATUS**); 728 729 ISC_STATUS ISC_EXPORT isc_open_blob(ISC_STATUS*, 730 isc_db_handle*, 731 isc_tr_handle*, 732 isc_blob_handle*, 733 ISC_QUAD*); 734 735 ISC_STATUS ISC_EXPORT isc_open_blob2(ISC_STATUS*, 736 isc_db_handle*, 737 isc_tr_handle*, 738 isc_blob_handle*, 739 ISC_QUAD*, 740 ISC_USHORT, 741 const ISC_UCHAR*); 742 743 ISC_STATUS ISC_EXPORT isc_prepare_transaction2(ISC_STATUS*, 744 isc_tr_handle*, 745 ISC_USHORT, 746 const ISC_UCHAR*); 747 748 void ISC_EXPORT isc_print_sqlerror(ISC_SHORT, 749 const ISC_STATUS*); 750 751 ISC_STATUS ISC_EXPORT isc_print_status(const ISC_STATUS*); 752 753 ISC_STATUS ISC_EXPORT isc_put_segment(ISC_STATUS*, 754 isc_blob_handle*, 755 unsigned short, 756 const ISC_SCHAR*); 757 758 ISC_STATUS ISC_EXPORT isc_put_slice(ISC_STATUS*, 759 isc_db_handle*, 760 isc_tr_handle*, 761 ISC_QUAD*, 762 short, 763 const ISC_SCHAR*, 764 short, 765 const ISC_LONG*, 766 ISC_LONG, 767 void*); 768 769 ISC_STATUS ISC_EXPORT isc_que_events(ISC_STATUS*, 770 isc_db_handle*, 771 ISC_LONG*, 772 short, 773 const ISC_UCHAR*, 774 ISC_EVENT_CALLBACK, 775 void*); 776 777 ISC_STATUS ISC_EXPORT isc_rollback_retaining(ISC_STATUS *, 778 isc_tr_handle *); 779 780 ISC_STATUS ISC_EXPORT isc_rollback_transaction(ISC_STATUS *, 781 isc_tr_handle *); 782 783 ISC_STATUS ISC_EXPORT isc_start_multiple(ISC_STATUS *, 784 isc_tr_handle *, 785 short, 786 void *); 787 788 ISC_STATUS ISC_EXPORT_VARARG isc_start_transaction(ISC_STATUS *, 789 isc_tr_handle *, 790 short, ...); 791 792 ISC_LONG ISC_EXPORT isc_sqlcode(const ISC_STATUS*); 793 794 void ISC_EXPORT isc_sqlcode_s(const ISC_STATUS*, 795 ISC_ULONG*); 796 797 void ISC_EXPORT isc_sql_interprete(short, 798 ISC_SCHAR*, 799 short); 800 801 ISC_STATUS ISC_EXPORT isc_transaction_info(ISC_STATUS*, 802 isc_tr_handle*, 803 short, 804 const ISC_SCHAR*, 805 short, 806 ISC_SCHAR*); 807 808 ISC_STATUS ISC_EXPORT isc_transact_request(ISC_STATUS*, 809 isc_db_handle*, 810 isc_tr_handle*, 811 unsigned short, 812 const ISC_SCHAR*, 813 unsigned short, 814 ISC_SCHAR*, 815 unsigned short, 816 ISC_SCHAR*); 817 818 ISC_LONG ISC_EXPORT isc_vax_integer(const ISC_SCHAR*, 819 short); 820 821 ISC_INT64 ISC_EXPORT isc_portable_integer(const ISC_UCHAR*, 822 short); 823 824 /*************************************/ 825 /* Security Functions and structures */ 826 /*************************************/ 827 828 #define sec_uid_spec 0x01 829 #define sec_gid_spec 0x02 830 #define sec_server_spec 0x04 831 #define sec_password_spec 0x08 832 #define sec_group_name_spec 0x10 833 #define sec_first_name_spec 0x20 834 #define sec_middle_name_spec 0x40 835 #define sec_last_name_spec 0x80 836 #define sec_dba_user_name_spec 0x100 837 #define sec_dba_password_spec 0x200 838 839 #define sec_protocol_tcpip 1 840 #define sec_protocol_netbeui 2 841 #define sec_protocol_spx 3 /* -- Deprecated Protocol. Declaration retained for compatibility */ 842 #define sec_protocol_local 4 843 844 typedef struct { 845 short sec_flags; /* which fields are specified */ 846 int uid; /* the user's id */ 847 int gid; /* the user's group id */ 848 int protocol; /* protocol to use for connection */ 849 ISC_SCHAR *server; /* server to administer */ 850 ISC_SCHAR *user_name; /* the user's name */ 851 ISC_SCHAR *password; /* the user's password */ 852 ISC_SCHAR *group_name; /* the group name */ 853 ISC_SCHAR *first_name; /* the user's first name */ 854 ISC_SCHAR *middle_name; /* the user's middle name */ 855 ISC_SCHAR *last_name; /* the user's last name */ 856 ISC_SCHAR *dba_user_name; /* the dba user name */ 857 ISC_SCHAR *dba_password; /* the dba password */ 858 } USER_SEC_DATA; 859 860 ISC_STATUS ISC_EXPORT isc_add_user(ISC_STATUS*, const USER_SEC_DATA*); 861 862 ISC_STATUS ISC_EXPORT isc_delete_user(ISC_STATUS*, const USER_SEC_DATA*); 863 864 ISC_STATUS ISC_EXPORT isc_modify_user(ISC_STATUS*, const USER_SEC_DATA*); 865 866 /**********************************/ 867 /* Other OSRI functions */ 868 /**********************************/ 869 870 ISC_STATUS ISC_EXPORT isc_compile_request(ISC_STATUS*, 871 isc_db_handle*, 872 isc_req_handle*, 873 short, 874 const ISC_SCHAR*); 875 876 ISC_STATUS ISC_EXPORT isc_compile_request2(ISC_STATUS*, 877 isc_db_handle*, 878 isc_req_handle*, 879 short, 880 const ISC_SCHAR*); 881 882 ISC_STATUS ISC_EXPORT isc_ddl(ISC_STATUS*, 883 isc_db_handle*, 884 isc_tr_handle*, 885 short, 886 const ISC_SCHAR*); 887 888 ISC_STATUS ISC_EXPORT isc_prepare_transaction(ISC_STATUS*, 889 isc_tr_handle*); 890 891 892 ISC_STATUS ISC_EXPORT isc_receive(ISC_STATUS*, 893 isc_req_handle*, 894 short, 895 short, 896 void*, 897 short); 898 899 ISC_STATUS ISC_EXPORT isc_reconnect_transaction(ISC_STATUS*, 900 isc_db_handle*, 901 isc_tr_handle*, 902 short, 903 const ISC_SCHAR*); 904 905 ISC_STATUS ISC_EXPORT isc_release_request(ISC_STATUS*, 906 isc_req_handle*); 907 908 ISC_STATUS ISC_EXPORT isc_request_info(ISC_STATUS*, 909 isc_req_handle*, 910 short, 911 short, 912 const ISC_SCHAR*, 913 short, 914 ISC_SCHAR*); 915 916 ISC_STATUS ISC_EXPORT isc_seek_blob(ISC_STATUS*, 917 isc_blob_handle*, 918 short, 919 ISC_LONG, 920 ISC_LONG*); 921 922 ISC_STATUS ISC_EXPORT isc_send(ISC_STATUS*, 923 isc_req_handle*, 924 short, 925 short, 926 const void*, 927 short); 928 929 ISC_STATUS ISC_EXPORT isc_start_and_send(ISC_STATUS*, 930 isc_req_handle*, 931 isc_tr_handle*, 932 short, 933 short, 934 const void*, 935 short); 936 937 ISC_STATUS ISC_EXPORT isc_start_request(ISC_STATUS *, 938 isc_req_handle *, 939 isc_tr_handle *, 940 short); 941 942 ISC_STATUS ISC_EXPORT isc_unwind_request(ISC_STATUS *, 943 isc_tr_handle *, 944 short); 945 946 ISC_STATUS ISC_EXPORT isc_wait_for_event(ISC_STATUS*, 947 isc_db_handle*, 948 short, 949 const ISC_UCHAR*, 950 ISC_UCHAR*); 951 952 953 /*****************************/ 954 /* Other Sql functions */ 955 /*****************************/ 956 957 ISC_STATUS ISC_EXPORT isc_close(ISC_STATUS*, 958 const ISC_SCHAR*); 959 960 ISC_STATUS ISC_EXPORT isc_declare(ISC_STATUS*, 961 const ISC_SCHAR*, 962 const ISC_SCHAR*); 963 964 ISC_STATUS ISC_EXPORT isc_describe(ISC_STATUS*, 965 const ISC_SCHAR*, 966 XSQLDA *); 967 968 ISC_STATUS ISC_EXPORT isc_describe_bind(ISC_STATUS*, 969 const ISC_SCHAR*, 970 XSQLDA*); 971 972 ISC_STATUS ISC_EXPORT isc_execute(ISC_STATUS*, 973 isc_tr_handle*, 974 const ISC_SCHAR*, 975 XSQLDA*); 976 977 ISC_STATUS ISC_EXPORT isc_execute_immediate(ISC_STATUS*, 978 isc_db_handle*, 979 isc_tr_handle*, 980 short*, 981 const ISC_SCHAR*); 982 983 ISC_STATUS ISC_EXPORT isc_fetch(ISC_STATUS*, 984 const ISC_SCHAR*, 985 XSQLDA*); 986 987 ISC_STATUS ISC_EXPORT isc_open(ISC_STATUS*, 988 isc_tr_handle*, 989 const ISC_SCHAR*, 990 XSQLDA*); 991 992 ISC_STATUS ISC_EXPORT isc_prepare(ISC_STATUS*, 993 isc_db_handle*, 994 isc_tr_handle*, 995 const ISC_SCHAR*, 996 short*, 997 const ISC_SCHAR*, 998 XSQLDA*); 999 1000 1001 /*************************************/ 1002 /* Other Dynamic sql functions */ 1003 /*************************************/ 1004 1005 ISC_STATUS ISC_EXPORT isc_dsql_execute_m(ISC_STATUS*, 1006 isc_tr_handle*, 1007 isc_stmt_handle*, 1008 unsigned short, 1009 const ISC_SCHAR*, 1010 unsigned short, 1011 unsigned short, 1012 ISC_SCHAR*); 1013 1014 ISC_STATUS ISC_EXPORT isc_dsql_execute2_m(ISC_STATUS*, 1015 isc_tr_handle*, 1016 isc_stmt_handle*, 1017 unsigned short, 1018 const ISC_SCHAR*, 1019 unsigned short, 1020 unsigned short, 1021 const ISC_SCHAR*, 1022 unsigned short, 1023 ISC_SCHAR*, 1024 unsigned short, 1025 unsigned short, 1026 ISC_SCHAR*); 1027 1028 ISC_STATUS ISC_EXPORT isc_dsql_execute_immediate_m(ISC_STATUS*, 1029 isc_db_handle*, 1030 isc_tr_handle*, 1031 unsigned short, 1032 const ISC_SCHAR*, 1033 unsigned short, 1034 unsigned short, 1035 const ISC_SCHAR*, 1036 unsigned short, 1037 unsigned short, 1038 ISC_SCHAR*); 1039 1040 ISC_STATUS ISC_EXPORT isc_dsql_exec_immed3_m(ISC_STATUS*, 1041 isc_db_handle*, 1042 isc_tr_handle*, 1043 unsigned short, 1044 const ISC_SCHAR*, 1045 unsigned short, 1046 unsigned short, 1047 const ISC_SCHAR*, 1048 unsigned short, 1049 unsigned short, 1050 ISC_SCHAR*, 1051 unsigned short, 1052 ISC_SCHAR*, 1053 unsigned short, 1054 unsigned short, 1055 ISC_SCHAR*); 1056 1057 ISC_STATUS ISC_EXPORT isc_dsql_fetch_m(ISC_STATUS*, 1058 isc_stmt_handle*, 1059 unsigned short, 1060 const ISC_SCHAR*, 1061 unsigned short, 1062 unsigned short, 1063 ISC_SCHAR*); 1064 1065 ISC_STATUS ISC_EXPORT isc_dsql_insert_m(ISC_STATUS*, 1066 isc_stmt_handle*, 1067 unsigned short, 1068 const ISC_SCHAR*, 1069 unsigned short, 1070 unsigned short, 1071 const ISC_SCHAR*); 1072 1073 ISC_STATUS ISC_EXPORT isc_dsql_prepare_m(ISC_STATUS*, 1074 isc_tr_handle*, 1075 isc_stmt_handle*, 1076 unsigned short, 1077 const ISC_SCHAR*, 1078 unsigned short, 1079 unsigned short, 1080 const ISC_SCHAR*, 1081 unsigned short, 1082 ISC_SCHAR*); 1083 1084 ISC_STATUS ISC_EXPORT isc_dsql_release(ISC_STATUS*, 1085 const ISC_SCHAR*); 1086 1087 ISC_STATUS ISC_EXPORT isc_embed_dsql_close(ISC_STATUS*, 1088 const ISC_SCHAR*); 1089 1090 ISC_STATUS ISC_EXPORT isc_embed_dsql_declare(ISC_STATUS*, 1091 const ISC_SCHAR*, 1092 const ISC_SCHAR*); 1093 1094 ISC_STATUS ISC_EXPORT isc_embed_dsql_describe(ISC_STATUS*, 1095 const ISC_SCHAR*, 1096 unsigned short, 1097 XSQLDA*); 1098 1099 ISC_STATUS ISC_EXPORT isc_embed_dsql_describe_bind(ISC_STATUS*, 1100 const ISC_SCHAR*, 1101 unsigned short, 1102 XSQLDA*); 1103 1104 ISC_STATUS ISC_EXPORT isc_embed_dsql_execute(ISC_STATUS*, 1105 isc_tr_handle*, 1106 const ISC_SCHAR*, 1107 unsigned short, 1108 XSQLDA*); 1109 1110 ISC_STATUS ISC_EXPORT isc_embed_dsql_execute2(ISC_STATUS*, 1111 isc_tr_handle*, 1112 const ISC_SCHAR*, 1113 unsigned short, 1114 XSQLDA*, 1115 XSQLDA*); 1116 1117 ISC_STATUS ISC_EXPORT isc_embed_dsql_execute_immed(ISC_STATUS*, 1118 isc_db_handle*, 1119 isc_tr_handle*, 1120 unsigned short, 1121 const ISC_SCHAR*, 1122 unsigned short, 1123 XSQLDA*); 1124 1125 ISC_STATUS ISC_EXPORT isc_embed_dsql_fetch(ISC_STATUS*, 1126 const ISC_SCHAR*, 1127 unsigned short, 1128 XSQLDA*); 1129 1130 ISC_STATUS ISC_EXPORT isc_embed_dsql_fetch_a(ISC_STATUS*, 1131 int*, 1132 const ISC_SCHAR*, 1133 ISC_USHORT, 1134 XSQLDA*); 1135 1136 void ISC_EXPORT isc_embed_dsql_length(const ISC_UCHAR*, 1137 ISC_USHORT*); 1138 1139 ISC_STATUS ISC_EXPORT isc_embed_dsql_open(ISC_STATUS*, 1140 isc_tr_handle*, 1141 const ISC_SCHAR*, 1142 unsigned short, 1143 XSQLDA*); 1144 1145 ISC_STATUS ISC_EXPORT isc_embed_dsql_open2(ISC_STATUS*, 1146 isc_tr_handle*, 1147 const ISC_SCHAR*, 1148 unsigned short, 1149 XSQLDA*, 1150 XSQLDA*); 1151 1152 ISC_STATUS ISC_EXPORT isc_embed_dsql_insert(ISC_STATUS*, 1153 const ISC_SCHAR*, 1154 unsigned short, 1155 XSQLDA*); 1156 1157 ISC_STATUS ISC_EXPORT isc_embed_dsql_prepare(ISC_STATUS*, 1158 isc_db_handle*, 1159 isc_tr_handle*, 1160 const ISC_SCHAR*, 1161 unsigned short, 1162 const ISC_SCHAR*, 1163 unsigned short, 1164 XSQLDA*); 1165 1166 ISC_STATUS ISC_EXPORT isc_embed_dsql_release(ISC_STATUS*, 1167 const ISC_SCHAR*); 1168 1169 1170 /******************************/ 1171 /* Other Blob functions */ 1172 /******************************/ 1173 1174 BSTREAM* ISC_EXPORT BLOB_open(isc_blob_handle, 1175 ISC_SCHAR*, 1176 int); 1177 1178 int ISC_EXPORT BLOB_put(ISC_SCHAR, 1179 BSTREAM*); 1180 1181 int ISC_EXPORT BLOB_close(BSTREAM*); 1182 1183 int ISC_EXPORT BLOB_get(BSTREAM*); 1184 1185 int ISC_EXPORT BLOB_display(ISC_QUAD*, 1186 isc_db_handle, 1187 isc_tr_handle, 1188 const ISC_SCHAR*); 1189 1190 int ISC_EXPORT BLOB_dump(ISC_QUAD*, 1191 isc_db_handle, 1192 isc_tr_handle, 1193 const ISC_SCHAR*); 1194 1195 int ISC_EXPORT BLOB_edit(ISC_QUAD*, 1196 isc_db_handle, 1197 isc_tr_handle, 1198 const ISC_SCHAR*); 1199 1200 int ISC_EXPORT BLOB_load(ISC_QUAD*, 1201 isc_db_handle, 1202 isc_tr_handle, 1203 const ISC_SCHAR*); 1204 1205 int ISC_EXPORT BLOB_text_dump(ISC_QUAD*, 1206 isc_db_handle, 1207 isc_tr_handle, 1208 const ISC_SCHAR*); 1209 1210 int ISC_EXPORT BLOB_text_load(ISC_QUAD*, 1211 isc_db_handle, 1212 isc_tr_handle, 1213 const ISC_SCHAR*); 1214 1215 BSTREAM* ISC_EXPORT Bopen(ISC_QUAD*, 1216 isc_db_handle, 1217 isc_tr_handle, 1218 const ISC_SCHAR*); 1219 1220 /* Disabled, not found anywhere. 1221 BSTREAM* ISC_EXPORT Bopen2(ISC_QUAD*, 1222 isc_db_handle, 1223 isc_tr_handle, 1224 const ISC_SCHAR*, 1225 unsigned short); 1226 */ 1227 1228 1229 /******************************/ 1230 /* Other Misc functions */ 1231 /******************************/ 1232 1233 ISC_LONG ISC_EXPORT isc_ftof(const ISC_SCHAR*, 1234 const unsigned short, 1235 ISC_SCHAR*, 1236 const unsigned short); 1237 1238 ISC_STATUS ISC_EXPORT isc_print_blr(const ISC_SCHAR*, 1239 ISC_PRINT_CALLBACK, 1240 void*, 1241 short); 1242 1243 void ISC_EXPORT isc_set_debug(int); 1244 1245 void ISC_EXPORT isc_qtoq(const ISC_QUAD*, 1246 ISC_QUAD*); 1247 1248 void ISC_EXPORT isc_vtof(const ISC_SCHAR*, 1249 ISC_SCHAR*, 1250 unsigned short); 1251 1252 void ISC_EXPORT isc_vtov(const ISC_SCHAR*, 1253 ISC_SCHAR*, 1254 short); 1255 1256 int ISC_EXPORT isc_version(isc_db_handle*, 1257 ISC_VERSION_CALLBACK, 1258 void*); 1259 1260 ISC_LONG ISC_EXPORT isc_reset_fpe(ISC_USHORT); 1261 1262 uintptr_t ISC_EXPORT isc_baddress(ISC_SCHAR*); 1263 void ISC_EXPORT isc_baddress_s(const ISC_SCHAR*, 1264 uintptr_t*); 1265 1266 /*****************************************/ 1267 /* Service manager functions */ 1268 /*****************************************/ 1269 1270 #define ADD_SPB_LENGTH(p, length) {*(p)++ = (length); \ 1271 *(p)++ = (length) >> 8;} 1272 1273 #define ADD_SPB_NUMERIC(p, data) {*(p)++ = (ISC_SCHAR) (data); \ 1274 *(p)++ = (ISC_SCHAR) ((data) >> 8); \ 1275 *(p)++ = (ISC_SCHAR) ((data) >> 16); \ 1276 *(p)++ = (ISC_SCHAR) ((data) >> 24);} 1277 1278 ISC_STATUS ISC_EXPORT isc_service_attach(ISC_STATUS*, 1279 unsigned short, 1280 const ISC_SCHAR*, 1281 isc_svc_handle*, 1282 unsigned short, 1283 const ISC_SCHAR*); 1284 1285 ISC_STATUS ISC_EXPORT isc_service_detach(ISC_STATUS *, 1286 isc_svc_handle *); 1287 1288 ISC_STATUS ISC_EXPORT isc_service_query(ISC_STATUS*, 1289 isc_svc_handle*, 1290 isc_resv_handle*, 1291 unsigned short, 1292 const ISC_SCHAR*, 1293 unsigned short, 1294 const ISC_SCHAR*, 1295 unsigned short, 1296 ISC_SCHAR*); 1297 1298 ISC_STATUS ISC_EXPORT isc_service_start(ISC_STATUS*, 1299 isc_svc_handle*, 1300 isc_resv_handle*, 1301 unsigned short, 1302 const ISC_SCHAR*); 1303 1304 1305 /********************************/ 1306 /* Client information functions */ 1307 /********************************/ 1308 1309 void ISC_EXPORT isc_get_client_version ( ISC_SCHAR *); 1310 int ISC_EXPORT isc_get_client_major_version (); 1311 int ISC_EXPORT isc_get_client_minor_version (); 1312 1313 #ifdef __cplusplus 1314 } /* extern "C" */ 1315 #endif 1316 1317 1318 /***************************************************/ 1319 /* Actions to pass to the blob filter (ctl_source) */ 1320 /***************************************************/ 1321 1322 #define isc_blob_filter_open 0 1323 #define isc_blob_filter_get_segment 1 1324 #define isc_blob_filter_close 2 1325 #define isc_blob_filter_create 3 1326 #define isc_blob_filter_put_segment 4 1327 #define isc_blob_filter_alloc 5 1328 #define isc_blob_filter_free 6 1329 #define isc_blob_filter_seek 7 1330 1331 /*******************/ 1332 /* Blr definitions */ 1333 /*******************/ 1334 1335 1336 #ifndef JRD_BLR_H 1337 #define JRD_BLR_H 1338 1339 #define blr_text (unsigned char)14 1340 #define blr_text2 (unsigned char)15 1341 #define blr_short (unsigned char)7 1342 #define blr_long (unsigned char)8 1343 #define blr_quad (unsigned char)9 1344 #define blr_float (unsigned char)10 1345 #define blr_double (unsigned char)27 1346 #define blr_d_float (unsigned char)11 1347 #define blr_timestamp (unsigned char)35 1348 #define blr_varying (unsigned char)37 1349 #define blr_varying2 (unsigned char)38 1350 #define blr_blob (unsigned short)261 1351 #define blr_cstring (unsigned char)40 1352 #define blr_cstring2 (unsigned char)41 1353 #define blr_blob_id (unsigned char)45 1354 #define blr_sql_date (unsigned char)12 1355 #define blr_sql_time (unsigned char)13 1356 #define blr_int64 (unsigned char)16 1357 #define blr_blob2 (unsigned char)17 1358 #define blr_domain_name (unsigned char)18 1359 #define blr_domain_name2 (unsigned char)19 1360 #define blr_not_nullable (unsigned char)20 1361 1362 #define blr_domain_type_of (unsigned char)0 1363 #define blr_domain_full (unsigned char)1 1364 1365 #define blr_date blr_timestamp 1366 1367 #define blr_inner (unsigned char)0 1368 #define blr_left (unsigned char)1 1369 #define blr_right (unsigned char)2 1370 #define blr_full (unsigned char)3 1371 1372 #define blr_gds_code (unsigned char)0 1373 #define blr_sql_code (unsigned char)1 1374 #define blr_exception (unsigned char)2 1375 #define blr_trigger_code (unsigned char)3 1376 #define blr_default_code (unsigned char)4 1377 #define blr_raise (unsigned char)5 1378 #define blr_exception_msg (unsigned char)6 1379 1380 #define blr_version4 (unsigned char)4 1381 #define blr_version5 (unsigned char)5 1382 #define blr_eoc (unsigned char)76 1383 #define blr_end (unsigned char)255 1384 1385 #define blr_assignment (unsigned char)1 1386 #define blr_begin (unsigned char)2 1387 #define blr_dcl_variable (unsigned char)3 1388 #define blr_message (unsigned char)4 1389 #define blr_erase (unsigned char)5 1390 #define blr_fetch (unsigned char)6 1391 #define blr_for (unsigned char)7 1392 #define blr_if (unsigned char)8 1393 #define blr_loop (unsigned char)9 1394 #define blr_modify (unsigned char)10 1395 #define blr_handler (unsigned char)11 1396 #define blr_receive (unsigned char)12 1397 #define blr_select (unsigned char)13 1398 #define blr_send (unsigned char)14 1399 #define blr_store (unsigned char)15 1400 #define blr_label (unsigned char)17 1401 #define blr_leave (unsigned char)18 1402 #define blr_store2 (unsigned char)19 1403 #define blr_post (unsigned char)20 1404 #define blr_literal (unsigned char)21 1405 #define blr_dbkey (unsigned char)22 1406 #define blr_field (unsigned char)23 1407 #define blr_fid (unsigned char)24 1408 #define blr_parameter (unsigned char)25 1409 #define blr_variable (unsigned char)26 1410 #define blr_average (unsigned char)27 1411 #define blr_count (unsigned char)28 1412 #define blr_maximum (unsigned char)29 1413 #define blr_minimum (unsigned char)30 1414 #define blr_total (unsigned char)31 1415 1416 #define blr_add (unsigned char)34 1417 #define blr_subtract (unsigned char)35 1418 #define blr_multiply (unsigned char)36 1419 #define blr_divide (unsigned char)37 1420 #define blr_negate (unsigned char)38 1421 #define blr_concatenate (unsigned char)39 1422 #define blr_substring (unsigned char)40 1423 #define blr_parameter2 (unsigned char)41 1424 #define blr_from (unsigned char)42 1425 #define blr_via (unsigned char)43 1426 #define blr_parameter2_old (unsigned char)44 1427 #define blr_user_name (unsigned char)44 1428 #define blr_null (unsigned char)45 1429 1430 #define blr_equiv (unsigned char)46 1431 #define blr_eql (unsigned char)47 1432 #define blr_neq (unsigned char)48 1433 #define blr_gtr (unsigned char)49 1434 #define blr_geq (unsigned char)50 1435 #define blr_lss (unsigned char)51 1436 #define blr_leq (unsigned char)52 1437 #define blr_containing (unsigned char)53 1438 #define blr_matching (unsigned char)54 1439 #define blr_starting (unsigned char)55 1440 #define blr_between (unsigned char)56 1441 #define blr_or (unsigned char)57 1442 #define blr_and (unsigned char)58 1443 #define blr_not (unsigned char)59 1444 #define blr_any (unsigned char)60 1445 #define blr_missing (unsigned char)61 1446 #define blr_unique (unsigned char)62 1447 #define blr_like (unsigned char)63 1448 1449 #define blr_rse (unsigned char)67 1450 #define blr_first (unsigned char)68 1451 #define blr_project (unsigned char)69 1452 #define blr_sort (unsigned char)70 1453 #define blr_boolean (unsigned char)71 1454 #define blr_ascending (unsigned char)72 1455 #define blr_descending (unsigned char)73 1456 #define blr_relation (unsigned char)74 1457 #define blr_rid (unsigned char)75 1458 #define blr_union (unsigned char)76 1459 #define blr_map (unsigned char)77 1460 #define blr_group_by (unsigned char)78 1461 #define blr_aggregate (unsigned char)79 1462 #define blr_join_type (unsigned char)80 1463 1464 #define blr_agg_count (unsigned char)83 1465 #define blr_agg_max (unsigned char)84 1466 #define blr_agg_min (unsigned char)85 1467 #define blr_agg_total (unsigned char)86 1468 #define blr_agg_average (unsigned char)87 1469 #define blr_parameter3 (unsigned char)88 1470 #define blr_run_max (unsigned char)89 1471 #define blr_run_min (unsigned char)90 1472 #define blr_run_total (unsigned char)91 1473 #define blr_run_average (unsigned char)92 1474 #define blr_agg_count2 (unsigned char)93 1475 #define blr_agg_count_distinct (unsigned char)94 1476 #define blr_agg_total_distinct (unsigned char)95 1477 #define blr_agg_average_distinct (unsigned char)96 1478 1479 #define blr_function (unsigned char)100 1480 #define blr_gen_id (unsigned char)101 1481 #define blr_prot_mask (unsigned char)102 1482 #define blr_upcase (unsigned char)103 1483 #define blr_lock_state (unsigned char)104 1484 #define blr_value_if (unsigned char)105 1485 #define blr_matching2 (unsigned char)106 1486 #define blr_index (unsigned char)107 1487 #define blr_ansi_like (unsigned char)108 1488 1489 #define blr_seek (unsigned char)112 1490 1491 #define blr_continue (unsigned char)0 1492 #define blr_forward (unsigned char)1 1493 #define blr_backward (unsigned char)2 1494 #define blr_bof_forward (unsigned char)3 1495 #define blr_eof_backward (unsigned char)4 1496 1497 #define blr_run_count (unsigned char)118 1498 #define blr_rs_stream (unsigned char)119 1499 #define blr_exec_proc (unsigned char)120 1500 1501 #define blr_procedure (unsigned char)124 1502 #define blr_pid (unsigned char)125 1503 #define blr_exec_pid (unsigned char)126 1504 #define blr_singular (unsigned char)127 1505 #define blr_abort (unsigned char)128 1506 #define blr_block (unsigned char)129 1507 #define blr_error_handler (unsigned char)130 1508 1509 #define blr_cast (unsigned char)131 1510 1511 #define blr_start_savepoint (unsigned char)134 1512 #define blr_end_savepoint (unsigned char)135 1513 1514 #define blr_plan (unsigned char)139 1515 #define blr_merge (unsigned char)140 1516 #define blr_join (unsigned char)141 1517 #define blr_sequential (unsigned char)142 1518 #define blr_navigational (unsigned char)143 1519 #define blr_indices (unsigned char)144 1520 #define blr_retrieve (unsigned char)145 1521 1522 #define blr_relation2 (unsigned char)146 1523 #define blr_rid2 (unsigned char)147 1524 1525 #define blr_set_generator (unsigned char)150 1526 1527 #define blr_ansi_any (unsigned char)151 1528 #define blr_exists (unsigned char)152 1529 1530 #define blr_record_version (unsigned char)154 1531 #define blr_stall (unsigned char)155 1532 1533 #define blr_ansi_all (unsigned char)158 1534 1535 #define blr_extract (unsigned char)159 1536 1537 #define blr_extract_year (unsigned char)0 1538 #define blr_extract_month (unsigned char)1 1539 #define blr_extract_day (unsigned char)2 1540 #define blr_extract_hour (unsigned char)3 1541 #define blr_extract_minute (unsigned char)4 1542 #define blr_extract_second (unsigned char)5 1543 #define blr_extract_weekday (unsigned char)6 1544 #define blr_extract_yearday (unsigned char)7 1545 #define blr_extract_millisecond (unsigned char)8 1546 #define blr_extract_week (unsigned char)9 1547 1548 #define blr_current_date (unsigned char)160 1549 #define blr_current_timestamp (unsigned char)161 1550 #define blr_current_time (unsigned char)162 1551 1552 #define blr_post_arg (unsigned char)163 1553 #define blr_exec_into (unsigned char)164 1554 #define blr_user_savepoint (unsigned char)165 1555 #define blr_dcl_cursor (unsigned char)166 1556 #define blr_cursor_stmt (unsigned char)167 1557 #define blr_current_timestamp2 (unsigned char)168 1558 #define blr_current_time2 (unsigned char)169 1559 #define blr_agg_list (unsigned char)170 1560 #define blr_agg_list_distinct (unsigned char)171 1561 #define blr_modify2 (unsigned char)172 1562 1563 #define blr_current_role (unsigned char)174 1564 #define blr_skip (unsigned char)175 1565 1566 #define blr_exec_sql (unsigned char)176 1567 #define blr_internal_info (unsigned char)177 1568 #define blr_nullsfirst (unsigned char)178 1569 #define blr_writelock (unsigned char)179 1570 #define blr_nullslast (unsigned char)180 1571 1572 #define blr_lowcase (unsigned char)181 1573 #define blr_strlen (unsigned char)182 1574 1575 #define blr_strlen_bit (unsigned char)0 1576 #define blr_strlen_char (unsigned char)1 1577 #define blr_strlen_octet (unsigned char)2 1578 1579 #define blr_trim (unsigned char)183 1580 1581 #define blr_trim_both (unsigned char)0 1582 #define blr_trim_leading (unsigned char)1 1583 #define blr_trim_trailing (unsigned char)2 1584 1585 #define blr_trim_spaces (unsigned char)0 1586 #define blr_trim_characters (unsigned char)1 1587 1588 #define blr_savepoint_set (unsigned char)0 1589 #define blr_savepoint_release (unsigned char)1 1590 #define blr_savepoint_undo (unsigned char)2 1591 #define blr_savepoint_release_single (unsigned char)3 1592 1593 #define blr_cursor_open (unsigned char)0 1594 #define blr_cursor_close (unsigned char)1 1595 #define blr_cursor_fetch (unsigned char)2 1596 1597 #define blr_init_variable (unsigned char)184 1598 #define blr_recurse (unsigned char)185 1599 #define blr_sys_function (unsigned char)186 1600 1601 #endif 1602 1603 1604 #ifndef INCLUDE_CONSTS_PUB_H 1605 #define INCLUDE_CONSTS_PUB_H 1606 1607 #define isc_dpb_version1 1 1608 #define isc_dpb_cdd_pathname 1 1609 #define isc_dpb_allocation 2 1610 #define isc_dpb_journal 3 1611 #define isc_dpb_page_size 4 1612 #define isc_dpb_num_buffers 5 1613 #define isc_dpb_buffer_length 6 1614 #define isc_dpb_debug 7 1615 #define isc_dpb_garbage_collect 8 1616 #define isc_dpb_verify 9 1617 #define isc_dpb_sweep 10 1618 #define isc_dpb_enable_journal 11 1619 #define isc_dpb_disable_journal 12 1620 #define isc_dpb_dbkey_scope 13 1621 #define isc_dpb_number_of_users 14 1622 #define isc_dpb_trace 15 1623 #define isc_dpb_no_garbage_collect 16 1624 #define isc_dpb_damaged 17 1625 #define isc_dpb_license 18 1626 #define isc_dpb_sys_user_name 19 1627 #define isc_dpb_encrypt_key 20 1628 #define isc_dpb_activate_shadow 21 1629 #define isc_dpb_sweep_interval 22 1630 #define isc_dpb_delete_shadow 23 1631 #define isc_dpb_force_write 24 1632 #define isc_dpb_begin_log 25 1633 #define isc_dpb_quit_log 26 1634 #define isc_dpb_no_reserve 27 1635 #define isc_dpb_user_name 28 1636 #define isc_dpb_password 29 1637 #define isc_dpb_password_enc 30 1638 #define isc_dpb_sys_user_name_enc 31 1639 #define isc_dpb_interp 32 1640 #define isc_dpb_online_dump 33 1641 #define isc_dpb_old_file_size 34 1642 #define isc_dpb_old_num_files 35 1643 #define isc_dpb_old_file 36 1644 #define isc_dpb_old_start_page 37 1645 #define isc_dpb_old_start_seqno 38 1646 #define isc_dpb_old_start_file 39 1647 #define isc_dpb_drop_walfile 40 1648 #define isc_dpb_old_dump_id 41 1649 #define isc_dpb_wal_backup_dir 42 1650 #define isc_dpb_wal_chkptlen 43 1651 #define isc_dpb_wal_numbufs 44 1652 #define isc_dpb_wal_bufsize 45 1653 #define isc_dpb_wal_grp_cmt_wait 46 1654 #define isc_dpb_lc_messages 47 1655 #define isc_dpb_lc_ctype 48 1656 #define isc_dpb_cache_manager 49 1657 #define isc_dpb_shutdown 50 1658 #define isc_dpb_online 51 1659 #define isc_dpb_shutdown_delay 52 1660 #define isc_dpb_reserved 53 1661 #define isc_dpb_overwrite 54 1662 #define isc_dpb_sec_attach 55 1663 #define isc_dpb_disable_wal 56 1664 #define isc_dpb_connect_timeout 57 1665 #define isc_dpb_dummy_packet_interval 58 1666 #define isc_dpb_gbak_attach 59 1667 #define isc_dpb_sql_role_name 60 1668 #define isc_dpb_set_page_buffers 61 1669 #define isc_dpb_working_directory 62 1670 #define isc_dpb_sql_dialect 63 1671 #define isc_dpb_set_db_readonly 64 1672 #define isc_dpb_set_db_sql_dialect 65 1673 #define isc_dpb_gfix_attach 66 1674 #define isc_dpb_gstat_attach 67 1675 #define isc_dpb_set_db_charset 68 1676 #define isc_dpb_gsec_attach 69 1677 #define isc_dpb_address_path 70 1678 #define isc_dpb_process_id 71 1679 #define isc_dpb_no_db_triggers 72 1680 #define isc_dpb_trusted_auth 73 1681 #define isc_dpb_process_name 74 1682 1683 #define isc_dpb_address 1 1684 1685 #define isc_dpb_addr_protocol 1 1686 #define isc_dpb_addr_endpoint 2 1687 1688 #define isc_dpb_pages 1 1689 #define isc_dpb_records 2 1690 #define isc_dpb_indices 4 1691 #define isc_dpb_transactions 8 1692 #define isc_dpb_no_update 16 1693 #define isc_dpb_repair 32 1694 #define isc_dpb_ignore 64 1695 1696 #define isc_dpb_shut_cache 0x1 1697 #define isc_dpb_shut_attachment 0x2 1698 #define isc_dpb_shut_transaction 0x4 1699 #define isc_dpb_shut_force 0x8 1700 #define isc_dpb_shut_mode_mask 0x70 1701 1702 #define isc_dpb_shut_default 0x0 1703 #define isc_dpb_shut_normal 0x10 1704 #define isc_dpb_shut_multi 0x20 1705 #define isc_dpb_shut_single 0x30 1706 #define isc_dpb_shut_full 0x40 1707 1708 #define RDB_system 1 1709 #define RDB_id_assigned 2 1710 1711 #define isc_tpb_version1 1 1712 #define isc_tpb_version3 3 1713 #define isc_tpb_consistency 1 1714 #define isc_tpb_concurrency 2 1715 #define isc_tpb_shared 3 1716 #define isc_tpb_protected 4 1717 #define isc_tpb_exclusive 5 1718 #define isc_tpb_wait 6 1719 #define isc_tpb_nowait 7 1720 #define isc_tpb_read 8 1721 #define isc_tpb_write 9 1722 #define isc_tpb_lock_read 10 1723 #define isc_tpb_lock_write 11 1724 #define isc_tpb_verb_time 12 1725 #define isc_tpb_commit_time 13 1726 #define isc_tpb_ignore_limbo 14 1727 #define isc_tpb_read_committed 15 1728 #define isc_tpb_autocommit 16 1729 #define isc_tpb_rec_version 17 1730 #define isc_tpb_no_rec_version 18 1731 #define isc_tpb_restart_requests 19 1732 #define isc_tpb_no_auto_undo 20 1733 #define isc_tpb_lock_timeout 21 1734 1735 #define isc_bpb_version1 1 1736 #define isc_bpb_source_type 1 1737 #define isc_bpb_target_type 2 1738 #define isc_bpb_type 3 1739 #define isc_bpb_source_interp 4 1740 #define isc_bpb_target_interp 5 1741 #define isc_bpb_filter_parameter 6 1742 #define isc_bpb_storage 7 1743 1744 #define isc_bpb_type_segmented 0x0 1745 #define isc_bpb_type_stream 0x1 1746 #define isc_bpb_storage_main 0x0 1747 #define isc_bpb_storage_temp 0x2 1748 1749 #define isc_spb_version1 1 1750 #define isc_spb_current_version 2 1751 #define isc_spb_version isc_spb_current_version 1752 #define isc_spb_user_name isc_dpb_user_name 1753 #define isc_spb_sys_user_name isc_dpb_sys_user_name 1754 #define isc_spb_sys_user_name_enc isc_dpb_sys_user_name_enc 1755 #define isc_spb_password isc_dpb_password 1756 #define isc_spb_password_enc isc_dpb_password_enc 1757 #define isc_spb_command_line 105 1758 #define isc_spb_dbname 106 1759 #define isc_spb_verbose 107 1760 #define isc_spb_options 108 1761 #define isc_spb_address_path 109 1762 #define isc_spb_process_id 110 1763 #define isc_spb_trusted_auth 111 1764 #define isc_spb_process_name 112 1765 1766 #define isc_spb_connect_timeout isc_dpb_connect_timeout 1767 #define isc_spb_dummy_packet_interval isc_dpb_dummy_packet_interval 1768 #define isc_spb_sql_role_name isc_dpb_sql_role_name 1769 1770 #define isc_action_svc_backup 1 1771 #define isc_action_svc_restore 2 1772 #define isc_action_svc_repair 3 1773 #define isc_action_svc_add_user 4 1774 #define isc_action_svc_delete_user 5 1775 #define isc_action_svc_modify_user 6 1776 #define isc_action_svc_display_user 7 1777 #define isc_action_svc_properties 8 1778 #define isc_action_svc_add_license 9 1779 #define isc_action_svc_remove_license 10 1780 #define isc_action_svc_db_stats 11 1781 #define isc_action_svc_get_ib_log 12 1782 #define isc_action_svc_get_fb_log 12 1783 1784 #define isc_info_svc_svr_db_info 50 1785 #define isc_info_svc_get_license 51 1786 #define isc_info_svc_get_license_mask 52 1787 #define isc_info_svc_get_config 53 1788 #define isc_info_svc_version 54 1789 #define isc_info_svc_server_version 55 1790 #define isc_info_svc_implementation 56 1791 #define isc_info_svc_capabilities 57 1792 #define isc_info_svc_user_dbpath 58 1793 #define isc_info_svc_get_env 59 1794 #define isc_info_svc_get_env_lock 60 1795 #define isc_info_svc_get_env_msg 61 1796 #define isc_info_svc_line 62 1797 #define isc_info_svc_to_eof 63 1798 #define isc_info_svc_timeout 64 1799 #define isc_info_svc_get_licensed_users 65 1800 #define isc_info_svc_limbo_trans 66 1801 #define isc_info_svc_running 67 1802 #define isc_info_svc_get_users 68 1803 1804 #define isc_spb_sec_userid 5 1805 #define isc_spb_sec_groupid 6 1806 #define isc_spb_sec_username 7 1807 #define isc_spb_sec_password 8 1808 #define isc_spb_sec_groupname 9 1809 #define isc_spb_sec_firstname 10 1810 #define isc_spb_sec_middlename 11 1811 #define isc_spb_sec_lastname 12 1812 1813 #define isc_spb_lic_key 5 1814 #define isc_spb_lic_id 6 1815 #define isc_spb_lic_desc 7 1816 1817 #define isc_spb_bkp_file 5 1818 #define isc_spb_bkp_factor 6 1819 #define isc_spb_bkp_length 7 1820 #define isc_spb_bkp_ignore_checksums 0x01 1821 #define isc_spb_bkp_ignore_limbo 0x02 1822 #define isc_spb_bkp_metadata_only 0x04 1823 #define isc_spb_bkp_no_garbage_collect 0x08 1824 #define isc_spb_bkp_old_descriptions 0x10 1825 #define isc_spb_bkp_non_transportable 0x20 1826 #define isc_spb_bkp_convert 0x40 1827 #define isc_spb_bkp_expand 0x80 1828 1829 #define isc_spb_prp_page_buffers 5 1830 #define isc_spb_prp_sweep_interval 6 1831 #define isc_spb_prp_shutdown_db 7 1832 #define isc_spb_prp_deny_new_attachments 9 1833 #define isc_spb_prp_deny_new_transactions 10 1834 #define isc_spb_prp_reserve_space 11 1835 #define isc_spb_prp_write_mode 12 1836 #define isc_spb_prp_access_mode 13 1837 #define isc_spb_prp_set_sql_dialect 14 1838 #define isc_spb_prp_activate 0x0100 1839 #define isc_spb_prp_db_online 0x0200 1840 1841 #define isc_spb_prp_res_use_full 35 1842 #define isc_spb_prp_res 36 1843 1844 #define isc_spb_prp_wm_async 37 1845 #define isc_spb_prp_wm_sync 38 1846 1847 #define isc_spb_prp_am_readonly 39 1848 #define isc_spb_prp_am_readwrite 40 1849 1850 #define isc_spb_rpr_commit_trans 15 1851 #define isc_spb_rpr_rollback_trans 34 1852 #define isc_spb_rpr_recover_two_phase 17 1853 #define isc_spb_tra_id 18 1854 #define isc_spb_single_tra_id 19 1855 #define isc_spb_multi_tra_id 20 1856 #define isc_spb_tra_state 21 1857 #define isc_spb_tra_state_limbo 22 1858 #define isc_spb_tra_state_commit 23 1859 #define isc_spb_tra_state_rollback 24 1860 #define isc_spb_tra_state_unknown 25 1861 #define isc_spb_tra_host_site 26 1862 #define isc_spb_tra_remote_site 27 1863 #define isc_spb_tra_db_path 28 1864 #define isc_spb_tra_advise 29 1865 #define isc_spb_tra_advise_commit 30 1866 #define isc_spb_tra_advise_rollback 31 1867 #define isc_spb_tra_advise_unknown 33 1868 1869 #define isc_spb_rpr_validate_db 0x01 1870 #define isc_spb_rpr_sweep_db 0x02 1871 #define isc_spb_rpr_mend_db 0x04 1872 #define isc_spb_rpr_list_limbo_trans 0x08 1873 #define isc_spb_rpr_check_db 0x10 1874 #define isc_spb_rpr_ignore_checksum 0x20 1875 #define isc_spb_rpr_kill_shadows 0x40 1876 #define isc_spb_rpr_full 0x80 1877 1878 #define isc_spb_res_buffers 9 1879 #define isc_spb_res_page_size 10 1880 #define isc_spb_res_length 11 1881 #define isc_spb_res_access_mode 12 1882 #define isc_spb_res_deactivate_idx 0x0100 1883 #define isc_spb_res_no_shadow 0x0200 1884 #define isc_spb_res_no_validity 0x0400 1885 #define isc_spb_res_one_at_a_time 0x0800 1886 #define isc_spb_res_replace 0x1000 1887 #define isc_spb_res_create 0x2000 1888 #define isc_spb_res_use_all_space 0x4000 1889 1890 #define isc_spb_res_am_readonly isc_spb_prp_am_readonly 1891 #define isc_spb_res_am_readwrite isc_spb_prp_am_readwrite 1892 1893 #define isc_spb_num_att 5 1894 #define isc_spb_num_db 6 1895 1896 #define isc_spb_sts_data_pages 0x01 1897 #define isc_spb_sts_db_log 0x02 1898 #define isc_spb_sts_hdr_pages 0x04 1899 #define isc_spb_sts_idx_pages 0x08 1900 #define isc_spb_sts_sys_relations 0x10 1901 #define isc_spb_sts_record_versions 0x20 1902 #define isc_spb_sts_table 0x40 1903 #define isc_spb_sts_nocreation 0x80 1904 1905 #define isc_dyn_version_1 1 1906 #define isc_dyn_eoc 255 1907 1908 #define isc_dyn_begin 2 1909 #define isc_dyn_end 3 1910 #define isc_dyn_if 4 1911 #define isc_dyn_def_database 5 1912 #define isc_dyn_def_global_fld 6 1913 #define isc_dyn_def_local_fld 7 1914 #define isc_dyn_def_idx 8 1915 #define isc_dyn_def_rel 9 1916 #define isc_dyn_def_sql_fld 10 1917 #define isc_dyn_def_view 12 1918 #define isc_dyn_def_trigger 15 1919 #define isc_dyn_def_security_class 120 1920 #define isc_dyn_def_dimension 140 1921 #define isc_dyn_def_generator 24 1922 #define isc_dyn_def_function 25 1923 #define isc_dyn_def_filter 26 1924 #define isc_dyn_def_function_arg 27 1925 #define isc_dyn_def_shadow 34 1926 #define isc_dyn_def_trigger_msg 17 1927 #define isc_dyn_def_file 36 1928 #define isc_dyn_mod_database 39 1929 #define isc_dyn_mod_rel 11 1930 #define isc_dyn_mod_global_fld 13 1931 #define isc_dyn_mod_idx 102 1932 #define isc_dyn_mod_local_fld 14 1933 #define isc_dyn_mod_sql_fld 216 1934 #define isc_dyn_mod_view 16 1935 #define isc_dyn_mod_security_class 122 1936 #define isc_dyn_mod_trigger 113 1937 #define isc_dyn_mod_trigger_msg 28 1938 #define isc_dyn_delete_database 18 1939 #define isc_dyn_delete_rel 19 1940 #define isc_dyn_delete_global_fld 20 1941 #define isc_dyn_delete_local_fld 21 1942 #define isc_dyn_delete_idx 22 1943 #define isc_dyn_delete_security_class 123 1944 #define isc_dyn_delete_dimensions 143 1945 #define isc_dyn_delete_trigger 23 1946 #define isc_dyn_delete_trigger_msg 29 1947 #define isc_dyn_delete_filter 32 1948 #define isc_dyn_delete_function 33 1949 #define isc_dyn_delete_shadow 35 1950 #define isc_dyn_grant 30 1951 #define isc_dyn_revoke 31 1952 #define isc_dyn_def_primary_key 37 1953 #define isc_dyn_def_foreign_key 38 1954 #define isc_dyn_def_unique 40 1955 #define isc_dyn_def_procedure 164 1956 #define isc_dyn_delete_procedure 165 1957 #define isc_dyn_def_parameter 135 1958 #define isc_dyn_delete_parameter 136 1959 #define isc_dyn_mod_procedure 175 1960 1961 #define isc_dyn_def_exception 181 1962 #define isc_dyn_mod_exception 182 1963 #define isc_dyn_del_exception 183 1964 1965 #define isc_dyn_def_difference 220 1966 #define isc_dyn_drop_difference 221 1967 #define isc_dyn_begin_backup 222 1968 #define isc_dyn_end_backup 223 1969 #define isc_dyn_debug_info 240 1970 1971 #define isc_dyn_view_blr 43 1972 #define isc_dyn_view_source 44 1973 #define isc_dyn_view_relation 45 1974 #define isc_dyn_view_context 46 1975 #define isc_dyn_view_context_name 47 1976 1977 #define isc_dyn_rel_name 50 1978 #define isc_dyn_fld_name 51 1979 #define isc_dyn_new_fld_name 215 1980 #define isc_dyn_idx_name 52 1981 #define isc_dyn_description 53 1982 #define isc_dyn_security_class 54 1983 #define isc_dyn_system_flag 55 1984 #define isc_dyn_update_flag 56 1985 #define isc_dyn_prc_name 166 1986 #define isc_dyn_prm_name 137 1987 #define isc_dyn_sql_object 196 1988 #define isc_dyn_fld_character_set_name 174 1989 1990 #define isc_dyn_rel_dbkey_length 61 1991 #define isc_dyn_rel_store_trig 62 1992 #define isc_dyn_rel_modify_trig 63 1993 #define isc_dyn_rel_erase_trig 64 1994 #define isc_dyn_rel_store_trig_source 65 1995 #define isc_dyn_rel_modify_trig_source 66 1996 #define isc_dyn_rel_erase_trig_source 67 1997 #define isc_dyn_rel_ext_file 68 1998 #define isc_dyn_rel_sql_protection 69 1999 #define isc_dyn_rel_constraint 162 2000 #define isc_dyn_delete_rel_constraint 163 2001 2002 #define isc_dyn_rel_temporary 238 2003 #define isc_dyn_rel_temp_global_preserve 1 2004 #define isc_dyn_rel_temp_global_delete 2 2005 2006 #define isc_dyn_fld_type 70 2007 #define isc_dyn_fld_length 71 2008 #define isc_dyn_fld_scale 72 2009 #define isc_dyn_fld_sub_type 73 2010 #define isc_dyn_fld_segment_length 74 2011 #define isc_dyn_fld_query_header 75 2012 #define isc_dyn_fld_edit_string 76 2013 #define isc_dyn_fld_validation_blr 77 2014 #define isc_dyn_fld_validation_source 78 2015 #define isc_dyn_fld_computed_blr 79 2016 #define isc_dyn_fld_computed_source 80 2017 #define isc_dyn_fld_missing_value 81 2018 #define isc_dyn_fld_default_value 82 2019 #define isc_dyn_fld_query_name 83 2020 #define isc_dyn_fld_dimensions 84 2021 #define isc_dyn_fld_not_null 85 2022 #define isc_dyn_fld_precision 86 2023 #define isc_dyn_fld_char_length 172 2024 #define isc_dyn_fld_collation 173 2025 #define isc_dyn_fld_default_source 193 2026 #define isc_dyn_del_default 197 2027 #define isc_dyn_del_validation 198 2028 #define isc_dyn_single_validation 199 2029 #define isc_dyn_fld_character_set 203 2030 2031 #define isc_dyn_fld_source 90 2032 #define isc_dyn_fld_base_fld 91 2033 #define isc_dyn_fld_position 92 2034 #define isc_dyn_fld_update_flag 93 2035 2036 #define isc_dyn_idx_unique 100 2037 #define isc_dyn_idx_inactive 101 2038 #define isc_dyn_idx_type 103 2039 #define isc_dyn_idx_foreign_key 104 2040 #define isc_dyn_idx_ref_column 105 2041 #define isc_dyn_idx_statistic 204 2042 2043 #define isc_dyn_trg_type 110 2044 #define isc_dyn_trg_blr 111 2045 #define isc_dyn_trg_source 112 2046 #define isc_dyn_trg_name 114 2047 #define isc_dyn_trg_sequence 115 2048 #define isc_dyn_trg_inactive 116 2049 #define isc_dyn_trg_msg_number 117 2050 #define isc_dyn_trg_msg 118 2051 2052 #define isc_dyn_scl_acl 121 2053 #define isc_dyn_grant_user 130 2054 #define isc_dyn_grant_user_explicit 219 2055 #define isc_dyn_grant_proc 186 2056 #define isc_dyn_grant_trig 187 2057 #define isc_dyn_grant_view 188 2058 #define isc_dyn_grant_options 132 2059 #define isc_dyn_grant_user_group 205 2060 #define isc_dyn_grant_role 218 2061 2062 #define isc_dyn_dim_lower 141 2063 #define isc_dyn_dim_upper 142 2064 2065 #define isc_dyn_file_name 125 2066 #define isc_dyn_file_start 126 2067 #define isc_dyn_file_length 127 2068 #define isc_dyn_shadow_number 128 2069 #define isc_dyn_shadow_man_auto 129 2070 #define isc_dyn_shadow_conditional 130 2071 2072 #define isc_dyn_function_name 145 2073 #define isc_dyn_function_type 146 2074 #define isc_dyn_func_module_name 147 2075 #define isc_dyn_func_entry_point 148 2076 #define isc_dyn_func_return_argument 149 2077 #define isc_dyn_func_arg_position 150 2078 #define isc_dyn_func_mechanism 151 2079 #define isc_dyn_filter_in_subtype 152 2080 #define isc_dyn_filter_out_subtype 153 2081 2082 #define isc_dyn_description2 154 2083 #define isc_dyn_fld_computed_source2 155 2084 #define isc_dyn_fld_edit_string2 156 2085 #define isc_dyn_fld_query_header2 157 2086 #define isc_dyn_fld_validation_source2 158 2087 #define isc_dyn_trg_msg2 159 2088 #define isc_dyn_trg_source2 160 2089 #define isc_dyn_view_source2 161 2090 #define isc_dyn_xcp_msg2 184 2091 2092 #define isc_dyn_generator_name 95 2093 #define isc_dyn_generator_id 96 2094 2095 #define isc_dyn_prc_inputs 167 2096 #define isc_dyn_prc_outputs 168 2097 #define isc_dyn_prc_source 169 2098 #define isc_dyn_prc_blr 170 2099 #define isc_dyn_prc_source2 171 2100 #define isc_dyn_prc_type 239 2101 2102 #define isc_dyn_prc_t_selectable 1 2103 #define isc_dyn_prc_t_executable 2 2104 2105 #define isc_dyn_prm_number 138 2106 #define isc_dyn_prm_type 139 2107 #define isc_dyn_prm_mechanism 241 2108 2109 #define isc_dyn_xcp_msg 185 2110 2111 #define isc_dyn_foreign_key_update 205 2112 #define isc_dyn_foreign_key_delete 206 2113 #define isc_dyn_foreign_key_cascade 207 2114 #define isc_dyn_foreign_key_default 208 2115 #define isc_dyn_foreign_key_null 209 2116 #define isc_dyn_foreign_key_none 210 2117 2118 #define isc_dyn_def_sql_role 211 2119 #define isc_dyn_sql_role_name 212 2120 #define isc_dyn_grant_admin_options 213 2121 #define isc_dyn_del_sql_role 214 2122 2123 #define isc_dyn_delete_generator 217 2124 2125 #define isc_dyn_mod_function 224 2126 #define isc_dyn_mod_filter 225 2127 #define isc_dyn_mod_generator 226 2128 #define isc_dyn_mod_sql_role 227 2129 #define isc_dyn_mod_charset 228 2130 #define isc_dyn_mod_collation 229 2131 #define isc_dyn_mod_prc_parameter 230 2132 2133 #define isc_dyn_def_collation 231 2134 #define isc_dyn_coll_for_charset 232 2135 #define isc_dyn_coll_from 233 2136 #define isc_dyn_coll_from_external 239 2137 #define isc_dyn_coll_attribute 234 2138 #define isc_dyn_coll_specific_attributes_charset 235 2139 #define isc_dyn_coll_specific_attributes 236 2140 #define isc_dyn_del_collation 237 2141 2142 #define isc_dyn_last_dyn_value 242 2143 2144 #define isc_sdl_version1 1 2145 #define isc_sdl_eoc 255 2146 #define isc_sdl_relation 2 2147 #define isc_sdl_rid 3 2148 #define isc_sdl_field 4 2149 #define isc_sdl_fid 5 2150 #define isc_sdl_struct 6 2151 #define isc_sdl_variable 7 2152 #define isc_sdl_scalar 8 2153 #define isc_sdl_tiny_integer 9 2154 #define isc_sdl_short_integer 10 2155 #define isc_sdl_long_integer 11 2156 #define isc_sdl_literal 12 2157 #define isc_sdl_add 13 2158 #define isc_sdl_subtract 14 2159 #define isc_sdl_multiply 15 2160 #define isc_sdl_divide 16 2161 #define isc_sdl_negate 17 2162 #define isc_sdl_eql 18 2163 #define isc_sdl_neq 19 2164 #define isc_sdl_gtr 20 2165 #define isc_sdl_geq 21 2166 #define isc_sdl_lss 22 2167 #define isc_sdl_leq 23 2168 #define isc_sdl_and 24 2169 #define isc_sdl_or 25 2170 #define isc_sdl_not 26 2171 #define isc_sdl_while 27 2172 #define isc_sdl_assignment 28 2173 #define isc_sdl_label 29 2174 #define isc_sdl_leave 30 2175 #define isc_sdl_begin 31 2176 #define isc_sdl_end 32 2177 #define isc_sdl_do3 33 2178 #define isc_sdl_do2 34 2179 #define isc_sdl_do1 35 2180 #define isc_sdl_element 36 2181 2182 #define isc_interp_eng_ascii 0 2183 #define isc_interp_jpn_sjis 5 2184 #define isc_interp_jpn_euc 6 2185 2186 #define isc_blob_untyped 0 2187 2188 #define isc_blob_text 1 2189 #define isc_blob_blr 2 2190 #define isc_blob_acl 3 2191 #define isc_blob_ranges 4 2192 #define isc_blob_summary 5 2193 #define isc_blob_format 6 2194 #define isc_blob_tra 7 2195 #define isc_blob_extfile 8 2196 #define isc_blob_debug_info 9 2197 #define isc_blob_max_predefined_subtype 10 2198 2199 #define isc_blob_formatted_memo 20 2200 #define isc_blob_paradox_ole 21 2201 #define isc_blob_graphic 22 2202 #define isc_blob_dbase_ole 23 2203 #define isc_blob_typed_binary 24 2204 2205 #define isc_info_db_SQL_dialect 62 2206 #define isc_dpb_SQL_dialect 63 2207 #define isc_dpb_set_db_SQL_dialect 65 2208 2209 #define fb_dbg_version 1 2210 #define fb_dbg_end 255 2211 #define fb_dbg_map_src2blr 2 2212 #define fb_dbg_map_varname 3 2213 #define fb_dbg_map_argument 4 2214 2215 #define fb_dbg_arg_input 0 2216 #define fb_dbg_arg_output 1 2217 2218 #endif 2219 2220 /*********************************/ 2221 /* Information call declarations */ 2222 /*********************************/ 2223 2224 2225 #ifndef JRD_INF_PUB_H 2226 #define JRD_INF_PUB_H 2227 2228 #define isc_info_end 1 2229 #define isc_info_truncated 2 2230 #define isc_info_error 3 2231 #define isc_info_data_not_ready 4 2232 #define isc_info_length 126 2233 #define isc_info_flag_end 127 2234 2235 enum db_info_types 2236 { 2237 isc_info_db_id = 4, 2238 isc_info_reads = 5, 2239 isc_info_writes = 6, 2240 isc_info_fetches = 7, 2241 isc_info_marks = 8, 2242 2243 isc_info_implementation = 11, 2244 isc_info_isc_version = 12, 2245 isc_info_base_level = 13, 2246 isc_info_page_size = 14, 2247 isc_info_num_buffers = 15, 2248 isc_info_limbo = 16, 2249 isc_info_current_memory = 17, 2250 isc_info_max_memory = 18, 2251 isc_info_window_turns = 19, 2252 isc_info_license = 20, 2253 2254 isc_info_allocation = 21, 2255 isc_info_attachment_id = 22, 2256 isc_info_read_seq_count = 23, 2257 isc_info_read_idx_count = 24, 2258 isc_info_insert_count = 25, 2259 isc_info_update_count = 26, 2260 isc_info_delete_count = 27, 2261 isc_info_backout_count = 28, 2262 isc_info_purge_count = 29, 2263 isc_info_expunge_count = 30, 2264 2265 isc_info_sweep_interval = 31, 2266 isc_info_ods_version = 32, 2267 isc_info_ods_minor_version = 33, 2268 isc_info_no_reserve = 34, 2269 2270 isc_info_logfile = 35, 2271 isc_info_cur_logfile_name = 36, 2272 isc_info_cur_log_part_offset = 37, 2273 isc_info_num_wal_buffers = 38, 2274 isc_info_wal_buffer_size = 39, 2275 isc_info_wal_ckpt_length = 40, 2276 2277 isc_info_wal_cur_ckpt_interval = 41, 2278 isc_info_wal_prv_ckpt_fname = 42, 2279 isc_info_wal_prv_ckpt_poffset = 43, 2280 isc_info_wal_recv_ckpt_fname = 44, 2281 isc_info_wal_recv_ckpt_poffset = 45, 2282 isc_info_wal_grpc_wait_usecs = 47, 2283 isc_info_wal_num_io = 48, 2284 isc_info_wal_avg_io_size = 49, 2285 isc_info_wal_num_commits = 50, 2286 isc_info_wal_avg_grpc_size = 51, 2287 2288 isc_info_forced_writes = 52, 2289 isc_info_user_names = 53, 2290 isc_info_page_errors = 54, 2291 isc_info_record_errors = 55, 2292 isc_info_bpage_errors = 56, 2293 isc_info_dpage_errors = 57, 2294 isc_info_ipage_errors = 58, 2295 isc_info_ppage_errors = 59, 2296 isc_info_tpage_errors = 60, 2297 2298 isc_info_set_page_buffers = 61, 2299 isc_info_db_sql_dialect = 62, 2300 isc_info_db_read_only = 63, 2301 isc_info_db_size_in_pages = 64, 2302 2303 frb_info_att_charset = 101, 2304 isc_info_db_class = 102, 2305 isc_info_firebird_version = 103, 2306 isc_info_oldest_transaction = 104, 2307 isc_info_oldest_active = 105, 2308 isc_info_oldest_snapshot = 106, 2309 isc_info_next_transaction = 107, 2310 isc_info_db_provider = 108, 2311 isc_info_active_transactions = 109, 2312 isc_info_active_tran_count = 110, 2313 isc_info_creation_date = 111, 2314 isc_info_db_file_size = 112, 2315 2316 isc_info_db_last_value 2317 }; 2318 2319 #define isc_info_version isc_info_isc_version 2320 2321 enum info_db_implementations 2322 { 2323 isc_info_db_impl_rdb_vms = 1, 2324 isc_info_db_impl_rdb_eln = 2, 2325 isc_info_db_impl_rdb_eln_dev = 3, 2326 isc_info_db_impl_rdb_vms_y = 4, 2327 isc_info_db_impl_rdb_eln_y = 5, 2328 isc_info_db_impl_jri = 6, 2329 isc_info_db_impl_jsv = 7, 2330 2331 isc_info_db_impl_isc_apl_68K = 25, 2332 isc_info_db_impl_isc_vax_ultr = 26, 2333 isc_info_db_impl_isc_vms = 27, 2334 isc_info_db_impl_isc_sun_68k = 28, 2335 isc_info_db_impl_isc_os2 = 29, 2336 isc_info_db_impl_isc_sun4 = 30, 2337 2338 isc_info_db_impl_isc_hp_ux = 31, 2339 isc_info_db_impl_isc_sun_386i = 32, 2340 isc_info_db_impl_isc_vms_orcl = 33, 2341 isc_info_db_impl_isc_mac_aux = 34, 2342 isc_info_db_impl_isc_rt_aix = 35, 2343 isc_info_db_impl_isc_mips_ult = 36, 2344 isc_info_db_impl_isc_xenix = 37, 2345 isc_info_db_impl_isc_dg = 38, 2346 isc_info_db_impl_isc_hp_mpexl = 39, 2347 isc_info_db_impl_isc_hp_ux68K = 40, 2348 2349 isc_info_db_impl_isc_sgi = 41, 2350 isc_info_db_impl_isc_sco_unix = 42, 2351 isc_info_db_impl_isc_cray = 43, 2352 isc_info_db_impl_isc_imp = 44, 2353 isc_info_db_impl_isc_delta = 45, 2354 isc_info_db_impl_isc_next = 46, 2355 isc_info_db_impl_isc_dos = 47, 2356 isc_info_db_impl_m88K = 48, 2357 isc_info_db_impl_unixware = 49, 2358 isc_info_db_impl_isc_winnt_x86 = 50, 2359 2360 isc_info_db_impl_isc_epson = 51, 2361 isc_info_db_impl_alpha_osf = 52, 2362 isc_info_db_impl_alpha_vms = 53, 2363 isc_info_db_impl_netware_386 = 54, 2364 isc_info_db_impl_win_only = 55, 2365 isc_info_db_impl_ncr_3000 = 56, 2366 isc_info_db_impl_winnt_ppc = 57, 2367 isc_info_db_impl_dg_x86 = 58, 2368 isc_info_db_impl_sco_ev = 59, 2369 isc_info_db_impl_i386 = 60, 2370 2371 isc_info_db_impl_freebsd = 61, 2372 isc_info_db_impl_netbsd = 62, 2373 isc_info_db_impl_darwin_ppc = 63, 2374 isc_info_db_impl_sinixz = 64, 2375 2376 isc_info_db_impl_linux_sparc = 65, 2377 isc_info_db_impl_linux_amd64 = 66, 2378 2379 isc_info_db_impl_freebsd_amd64 = 67, 2380 2381 isc_info_db_impl_winnt_amd64 = 68, 2382 2383 isc_info_db_impl_linux_ppc = 69, 2384 isc_info_db_impl_darwin_x86 = 70, 2385 isc_info_db_impl_linux_mipsel = 71, 2386 isc_info_db_impl_linux_mips = 72, 2387 isc_info_db_impl_darwin_x64 = 73, 2388 isc_info_db_impl_sun_amd64 = 74, 2389 2390 isc_info_db_impl_linux_arm = 75, 2391 isc_info_db_impl_linux_ia64 = 76, 2392 2393 isc_info_db_impl_last_value 2394 }; 2395 2396 #define isc_info_db_impl_isc_a isc_info_db_impl_isc_apl_68K 2397 #define isc_info_db_impl_isc_u isc_info_db_impl_isc_vax_ultr 2398 #define isc_info_db_impl_isc_v isc_info_db_impl_isc_vms 2399 #define isc_info_db_impl_isc_s isc_info_db_impl_isc_sun_68k 2400 2401 enum info_db_class 2402 { 2403 isc_info_db_class_access = 1, 2404 isc_info_db_class_y_valve = 2, 2405 isc_info_db_class_rem_int = 3, 2406 isc_info_db_class_rem_srvr = 4, 2407 isc_info_db_class_pipe_int = 7, 2408 isc_info_db_class_pipe_srvr = 8, 2409 isc_info_db_class_sam_int = 9, 2410 isc_info_db_class_sam_srvr = 10, 2411 isc_info_db_class_gateway = 11, 2412 isc_info_db_class_cache = 12, 2413 isc_info_db_class_classic_access = 13, 2414 isc_info_db_class_server_access = 14, 2415 2416 isc_info_db_class_last_value 2417 }; 2418 2419 enum info_db_provider 2420 { 2421 isc_info_db_code_rdb_eln = 1, 2422 isc_info_db_code_rdb_vms = 2, 2423 isc_info_db_code_interbase = 3, 2424 isc_info_db_code_firebird = 4, 2425 2426 isc_info_db_code_last_value 2427 }; 2428 2429 #define isc_info_number_messages 4 2430 #define isc_info_max_message 5 2431 #define isc_info_max_send 6 2432 #define isc_info_max_receive 7 2433 #define isc_info_state 8 2434 #define isc_info_message_number 9 2435 #define isc_info_message_size 10 2436 #define isc_info_request_cost 11 2437 #define isc_info_access_path 12 2438 #define isc_info_req_select_count 13 2439 #define isc_info_req_insert_count 14 2440 #define isc_info_req_update_count 15 2441 #define isc_info_req_delete_count 16 2442 2443 #define isc_info_rsb_end 0 2444 #define isc_info_rsb_begin 1 2445 #define isc_info_rsb_type 2 2446 #define isc_info_rsb_relation 3 2447 #define isc_info_rsb_plan 4 2448 2449 #define isc_info_rsb_unknown 1 2450 #define isc_info_rsb_indexed 2 2451 #define isc_info_rsb_navigate 3 2452 #define isc_info_rsb_sequential 4 2453 #define isc_info_rsb_cross 5 2454 #define isc_info_rsb_sort 6 2455 #define isc_info_rsb_first 7 2456 #define isc_info_rsb_boolean 8 2457 #define isc_info_rsb_union 9 2458 #define isc_info_rsb_aggregate 10 2459 #define isc_info_rsb_merge 11 2460 #define isc_info_rsb_ext_sequential 12 2461 #define isc_info_rsb_ext_indexed 13 2462 #define isc_info_rsb_ext_dbkey 14 2463 #define isc_info_rsb_left_cross 15 2464 #define isc_info_rsb_select 16 2465 #define isc_info_rsb_sql_join 17 2466 #define isc_info_rsb_simulate 18 2467 #define isc_info_rsb_sim_cross 19 2468 #define isc_info_rsb_once 20 2469 #define isc_info_rsb_procedure 21 2470 #define isc_info_rsb_skip 22 2471 #define isc_info_rsb_virt_sequential 23 2472 #define isc_info_rsb_recursive 24 2473 2474 #define isc_info_rsb_and 1 2475 #define isc_info_rsb_or 2 2476 #define isc_info_rsb_dbkey 3 2477 #define isc_info_rsb_index 4 2478 2479 #define isc_info_req_active 2 2480 #define isc_info_req_inactive 3 2481 #define isc_info_req_send 4 2482 #define isc_info_req_receive 5 2483 #define isc_info_req_select 6 2484 #define isc_info_req_sql_stall 7 2485 2486 #define isc_info_blob_num_segments 4 2487 #define isc_info_blob_max_segment 5 2488 #define isc_info_blob_total_length 6 2489 #define isc_info_blob_type 7 2490 2491 #define isc_info_tra_id 4 2492 #define isc_info_tra_oldest_interesting 5 2493 #define isc_info_tra_oldest_snapshot 6 2494 #define isc_info_tra_oldest_active 7 2495 #define isc_info_tra_isolation 8 2496 #define isc_info_tra_access 9 2497 #define isc_info_tra_lock_timeout 10 2498 2499 #define isc_info_tra_consistency 1 2500 #define isc_info_tra_concurrency 2 2501 #define isc_info_tra_read_committed 3 2502 2503 #define isc_info_tra_no_rec_version 0 2504 #define isc_info_tra_rec_version 1 2505 2506 #define isc_info_tra_readonly 0 2507 #define isc_info_tra_readwrite 1 2508 2509 #define isc_info_sql_select 4 2510 #define isc_info_sql_bind 5 2511 #define isc_info_sql_num_variables 6 2512 #define isc_info_sql_describe_vars 7 2513 #define isc_info_sql_describe_end 8 2514 #define isc_info_sql_sqlda_seq 9 2515 #define isc_info_sql_message_seq 10 2516 #define isc_info_sql_type 11 2517 #define isc_info_sql_sub_type 12 2518 #define isc_info_sql_scale 13 2519 #define isc_info_sql_length 14 2520 #define isc_info_sql_null_ind 15 2521 #define isc_info_sql_field 16 2522 #define isc_info_sql_relation 17 2523 #define isc_info_sql_owner 18 2524 #define isc_info_sql_alias 19 2525 #define isc_info_sql_sqlda_start 20 2526 #define isc_info_sql_stmt_type 21 2527 #define isc_info_sql_get_plan 22 2528 #define isc_info_sql_records 23 2529 #define isc_info_sql_batch_fetch 24 2530 #define isc_info_sql_relation_alias 25 2531 2532 #define isc_info_sql_stmt_select 1 2533 #define isc_info_sql_stmt_insert 2 2534 #define isc_info_sql_stmt_update 3 2535 #define isc_info_sql_stmt_delete 4 2536 #define isc_info_sql_stmt_ddl 5 2537 #define isc_info_sql_stmt_get_segment 6 2538 #define isc_info_sql_stmt_put_segment 7 2539 #define isc_info_sql_stmt_exec_procedure 8 2540 #define isc_info_sql_stmt_start_trans 9 2541 #define isc_info_sql_stmt_commit 10 2542 #define isc_info_sql_stmt_rollback 11 2543 #define isc_info_sql_stmt_select_for_upd 12 2544 #define isc_info_sql_stmt_set_generator 13 2545 #define isc_info_sql_stmt_savepoint 14 2546 2547 #endif 2548 2549 2550 #include "iberror.h" 2551 2552 #endif /* JRD_IBASE_H */ 2553 2554