mirror of
https://github.com/FirebirdSQL/firebird.git
synced 2025-01-31 03:23:03 +01:00
16107 lines
413 KiB
MySQL
16107 lines
413 KiB
MySQL
|
INSERT INTO TEMPLATES (LANGUAGE, "FILE", TEMPLATE) VALUES ('C', 'gds.h',
|
|||
|
'/*
|
|||
|
* PROGRAM: C preprocessor
|
|||
|
* MODULE: gds.h
|
|||
|
* DESCRIPTION: BLR constants
|
|||
|
*
|
|||
|
* copyright (c) 1984, 1990 by Interbase Software Corporation
|
|||
|
*/
|
|||
|
|
|||
|
#define gds_version3
|
|||
|
|
|||
|
#define GDS_$TRUE 1
|
|||
|
#define GDS_$FALSE 0
|
|||
|
|
|||
|
#ifndef apollo
|
|||
|
#define GDS_VAL(val) val
|
|||
|
#define GDS_REF(val) &val
|
|||
|
#define GDS_TYPE long
|
|||
|
|
|||
|
#else
|
|||
|
#define GDS_VAL(val) (*val)
|
|||
|
#define GDS_REF(val) val
|
|||
|
#define GDS_TYPE std_$call
|
|||
|
#endif
|
|||
|
|
|||
|
GDS_TYPE gds_$attach_database ();
|
|||
|
GDS_TYPE gds_$blob_info();
|
|||
|
GDS_TYPE gds_$cancel_blob();
|
|||
|
GDS_TYPE gds_$close_blob();
|
|||
|
GDS_TYPE gds_$commit_transaction ();
|
|||
|
GDS_TYPE gds_$compile_request ();
|
|||
|
GDS_TYPE gds_$compile_request2 ();
|
|||
|
GDS_TYPE gds_$create_blob ();
|
|||
|
GDS_TYPE gds_$create_blob2 ();
|
|||
|
GDS_TYPE gds_$create_database ();
|
|||
|
GDS_TYPE gds_$database_info ();
|
|||
|
GDS_TYPE gds_$detach_database ();
|
|||
|
GDS_TYPE gds_$get_segment ();
|
|||
|
GDS_TYPE gds_$open_blob ();
|
|||
|
GDS_TYPE gds_$open_blob2 ();
|
|||
|
GDS_TYPE gds_$prepare_transaction ();
|
|||
|
GDS_TYPE gds_$prepare_transaction2 ();
|
|||
|
GDS_TYPE gds_$put_segment ();
|
|||
|
GDS_TYPE gds_$receive ();
|
|||
|
GDS_TYPE gds_$reconnect_transaction ();
|
|||
|
GDS_TYPE gds_$request_info ();
|
|||
|
GDS_TYPE gds_$release_request ();
|
|||
|
GDS_TYPE gds_$rollback_transaction ();
|
|||
|
GDS_TYPE gds_$seek_blob ();
|
|||
|
GDS_TYPE gds_$send ();
|
|||
|
GDS_TYPE gds_$set_debug ();
|
|||
|
GDS_TYPE gds_$start_and_send ();
|
|||
|
GDS_TYPE gds_$start_multiple ();
|
|||
|
GDS_TYPE gds_$start_request ();
|
|||
|
GDS_TYPE gds_$start_transaction ();
|
|||
|
GDS_TYPE gds_$transaction_info ();
|
|||
|
GDS_TYPE gds_$unwind_request ();
|
|||
|
GDS_TYPE gds_$ftof ();
|
|||
|
GDS_TYPE gds_$print_status ();
|
|||
|
GDS_TYPE gds_$sqlcode ();
|
|||
|
GDS_TYPE gds_$ddl();
|
|||
|
GDS_TYPE gds_$commit_retaining();
|
|||
|
GDS_TYPE gds_$que_events();
|
|||
|
GDS_TYPE gds_$cancel_events();
|
|||
|
GDS_TYPE gds_$event_wait();
|
|||
|
GDS_TYPE gds_$event_counts();
|
|||
|
GDS_TYPE gds_$event_block();
|
|||
|
GDS_TYPE gds_$event_block2();
|
|||
|
GDS_TYPE gds_$get_slice();
|
|||
|
GDS_TYPE gds_$put_slice();
|
|||
|
GDS_TYPE gds_$seek_blob();
|
|||
|
|
|||
|
void gds_$vtof ();
|
|||
|
|
|||
|
|
|||
|
typedef struct {
|
|||
|
long gds_quad_high;
|
|||
|
unsigned long gds_quad_low;
|
|||
|
} GDS_$QUAD;
|
|||
|
|
|||
|
#define blr_word(n) (n % 256), (n / 256)
|
|||
|
|
|||
|
$ SYMBOLS BLR DTYPE "#define %-34s %d\n
|
|||
|
|
|||
|
$ SYMBOLS BLR JOIN "#define %-34s %d\n
|
|||
|
|
|||
|
$ SYMBOLS BLR MECH "#define %-34s %d\n
|
|||
|
|
|||
|
$ SYMBOLS BLR STATEMENTS "#define %-34s %d\n
|
|||
|
|
|||
|
$ SYMBOLS BLR VALUES "#define %-34s %d\n
|
|||
|
|
|||
|
$ SYMBOLS BLR BOOLEANS "#define %-34s %d\n
|
|||
|
|
|||
|
$ SYMBOLS BLR RSE "#define %-34s %d\n
|
|||
|
|
|||
|
$ SYMBOLS BLR AGGREGATE "#define %-34s %d\n
|
|||
|
|
|||
|
$ SYMBOLS BLR NEW "#define %-34s %d\n
|
|||
|
|
|||
|
/* Database parameter block stuff */
|
|||
|
|
|||
|
$ SYMBOLS DPB ITEMS "#define %-34s %d\n
|
|||
|
|
|||
|
$ SYMBOLS DPB BITS "#define %-34s %d\n
|
|||
|
|
|||
|
/* Bit assignments in RDB$SYSTEM_FLAG */
|
|||
|
|
|||
|
$ SYMBOLS RDB FLAG "#define %-34s %d\n
|
|||
|
|
|||
|
/* Transaction parameter blob stuff */
|
|||
|
|
|||
|
$ SYMBOLS TPB ITEMS "#define %-34s %d\n
|
|||
|
|
|||
|
/* Blob Parameter Block */
|
|||
|
|
|||
|
$ SYMBOLS BPB ITEMS "#define %-34s %d\n
|
|||
|
|
|||
|
/* Blob stream stuff */
|
|||
|
|
|||
|
typedef struct bstream {
|
|||
|
int *bstr_blob; /* Blob handle */
|
|||
|
char *bstr_buffer; /* Address of buffer */
|
|||
|
char *bstr_ptr; /* Next character */
|
|||
|
short bstr_length; /* Length of buffer */
|
|||
|
short bstr_cnt; /* Characters in buffer */
|
|||
|
char bstr_mode; /* (mode) ? OUTPUT : INPUT */
|
|||
|
} BSTREAM;
|
|||
|
|
|||
|
#define getb(p) (--(p)->bstr_cnt >= 0 ? *(p)->bstr_ptr++ & 0377: BLOB_get (p))
|
|||
|
#define putb(x,p) ((x == '\n' || (!(--(p)->bstr_cnt))) ? BLOB_put (x,p) : ((int) (*(p)->bstr_ptr++ = (unsigned) (x))))
|
|||
|
#define putbx(x,p) ((!(--(p)->bstr_cnt)) ? BLOB_put (x,p) : ((int) (*(p)->bstr_ptr++ = (unsigned) (x))))
|
|||
|
|
|||
|
BSTREAM *Bopen(), *BLOB_open();
|
|||
|
|
|||
|
/* Information call declarations */
|
|||
|
|
|||
|
/* Common, structural codes */
|
|||
|
|
|||
|
$ SYMBOLS INFO MECH "#define %-34s %d\n
|
|||
|
|
|||
|
/* Database information items */
|
|||
|
|
|||
|
$ SYMBOLS INFO DB "#define %-34s %d\n
|
|||
|
|
|||
|
/* Database Info Return Values */
|
|||
|
|
|||
|
$ SYMBOLS INFO VALUES "#define %-34s %d\n
|
|||
|
|
|||
|
/* Request information items */
|
|||
|
|
|||
|
$ SYMBOLS INFO REQUEST "#define %-34s %d\n
|
|||
|
|
|||
|
/* Blob information items */
|
|||
|
|
|||
|
$ SYMBOLS INFO BLOB "#define %-34s %d\n
|
|||
|
|
|||
|
/* Transaction information items */
|
|||
|
|
|||
|
$ SYMBOLS INFO TRANSACTION "#define %-34s %d\n
|
|||
|
|
|||
|
/* Error codes */
|
|||
|
|
|||
|
$ SYMBOLS ERROR MECH "#define %-34s %d\n
|
|||
|
|
|||
|
$ ERROR MAJOR "#define %-34s %d\n
|
|||
|
|
|||
|
/* Minor codes subject to change */
|
|||
|
|
|||
|
$ ERROR MINOR "#define %-34s %d\n
|
|||
|
|
|||
|
#define gds_err_max 143
|
|||
|
|
|||
|
/* Dynamic Data Definition Language operators */
|
|||
|
|
|||
|
/* Version number */
|
|||
|
|
|||
|
$ SYMBOLS DYN MECH "#define %-34s %d\n
|
|||
|
|
|||
|
/* Operations (may be nested) */
|
|||
|
|
|||
|
$ SYMBOLS DYN OPERATIONS "#define %-34s %d\n
|
|||
|
|
|||
|
/* View specific stuff */
|
|||
|
|
|||
|
$ SYMBOLS DYN VIEW "#define %-34s %d\n
|
|||
|
|
|||
|
/* Generic attributes */
|
|||
|
|
|||
|
$ SYMBOLS DYN GENERIC "#define %-34s %d\n
|
|||
|
|
|||
|
/* Relation specific attributes */
|
|||
|
|
|||
|
$ SYMBOLS DYN RELATION "#define %-34s %d\n
|
|||
|
|
|||
|
/* Global field specific attributes */
|
|||
|
|
|||
|
$ SYMBOLS DYN GLOBAL "#define %-34s %d\n
|
|||
|
|
|||
|
/* Local field specific attributes */
|
|||
|
|
|||
|
$ SYMBOLS DYN FIELD "#define %-34s %d\n
|
|||
|
|
|||
|
/* Index specific attributes */
|
|||
|
|
|||
|
$ SYMBOLS DYN INDEX "#define %-34s %d\n
|
|||
|
|
|||
|
/* Trigger specific attributes */
|
|||
|
|
|||
|
$ SYMBOLS DYN TRIGGER "#define %-34s %d\n
|
|||
|
|
|||
|
/* Security Class specific attributes */
|
|||
|
|
|||
|
$ SYMBOLS DYN SECURITY "#define %-34s %d\n
|
|||
|
|
|||
|
/* Dimension specific information */
|
|||
|
|
|||
|
$ SYMBOLS DYN ARRAY "#define %-34s %d\n
|
|||
|
|
|||
|
/* File specific attributes */
|
|||
|
|
|||
|
$ SYMBOLS DYN FILES "#define %-34s %d\n
|
|||
|
|
|||
|
/* Function specific attributes */
|
|||
|
|
|||
|
$ SYMBOLS DYN FUNCTIONS "#define %-34s %d\n
|
|||
|
|
|||
|
/* Generator specific attributes */
|
|||
|
|
|||
|
$ SYMBOLS DYN GENERATOR "#define %-34s %d\n
|
|||
|
|
|||
|
/* Array slice description language (SDL) */
|
|||
|
|
|||
|
$ SYMBOLS SDL SDL "#define %-34s %d\n
|
|||
|
|
|||
|
/* Dynamic SQL definitions */
|
|||
|
|
|||
|
typedef struct {
|
|||
|
short sqltype;
|
|||
|
short sqllen;
|
|||
|
char *sqldata;
|
|||
|
short *sqlind;
|
|||
|
short sqlname_length;
|
|||
|
char sqlname [30];
|
|||
|
} SQLVAR;
|
|||
|
|
|||
|
typedef struct {
|
|||
|
char sqldaid [8];
|
|||
|
long sqldabc;
|
|||
|
short sqln;
|
|||
|
short sqld;
|
|||
|
SQLVAR sqlvar[1];
|
|||
|
} SQLDA;
|
|||
|
|
|||
|
#define SQLDA_LENGTH(n) (sizeof (SQLDA) + (n-1) * sizeof (SQLVAR))
|
|||
|
|
|||
|
$ SYMBOLS SQL DTYPE "#define %-34s %d\n
|
|||
|
|
|||
|
/* Forms Package definitions */
|
|||
|
|
|||
|
/* Map definition block definitions */
|
|||
|
|
|||
|
$ SYMBOLS PYXIS MAP "#define %-34s %d\n
|
|||
|
|
|||
|
/* Field option flags for display options */
|
|||
|
|
|||
|
$ SYMBOLS PYXIS DISPLAY "#define %-34s %d\n
|
|||
|
|
|||
|
/* Field option values following display */
|
|||
|
|
|||
|
$ SYMBOLS PYXIS VALUE "#define %-34s %d\n
|
|||
|
|
|||
|
/* Pseudo key definitions */
|
|||
|
|
|||
|
$ SYMBOLS PYXIS KEY "#define %-34s %d\n
|
|||
|
|
|||
|
/* Menu definition stuff */
|
|||
|
|
|||
|
$ SYMBOLS PYXIS MENU "#define %-34s %d\n');
|
|||
|
INSERT INTO TEMPLATES (LANGUAGE, "FILE", TEMPLATE) VALUES ('C++', 'gds.hxx',
|
|||
|
'/*
|
|||
|
* PROGRAM: C preprocessor
|
|||
|
* MODULE: gds.hxx
|
|||
|
* DESCRIPTION: BLR constants for C++
|
|||
|
*
|
|||
|
* copyright (c) 1984, 1990 by Interbase Software Corporation
|
|||
|
*/
|
|||
|
|
|||
|
#define gds_version3
|
|||
|
|
|||
|
#define GDS_TRUE 1
|
|||
|
#define GDS_FALSE 0
|
|||
|
|
|||
|
typedef long gds_db_handle;
|
|||
|
typedef long gds_req_handle;
|
|||
|
typedef long gds_tr_handle;
|
|||
|
typedef long gds_blob_handle;
|
|||
|
typedef long gds_win_handle;
|
|||
|
typedef long gds_form_handle;
|
|||
|
typedef void (*gds_callback)();
|
|||
|
|
|||
|
typedef struct {
|
|||
|
long gds_quad_high;
|
|||
|
unsigned long gds_quad_low;
|
|||
|
} GDS_QUAD;
|
|||
|
|
|||
|
/* Dynamic SQL definitions */
|
|||
|
|
|||
|
typedef struct {
|
|||
|
short sqltype;
|
|||
|
short sqllen;
|
|||
|
char *sqldata;
|
|||
|
short *sqlind;
|
|||
|
short sqlname_length;
|
|||
|
char sqlname [30];
|
|||
|
} SQLVAR;
|
|||
|
|
|||
|
typedef struct {
|
|||
|
char sqldaid [8];
|
|||
|
long sqldabc;
|
|||
|
short sqln;
|
|||
|
short sqld;
|
|||
|
SQLVAR sqlvar[1];
|
|||
|
} SQLDA;
|
|||
|
|
|||
|
#define SQLDA_LENGTH(n) (sizeof (SQLDA) + (n-1) * sizeof (SQLVAR))
|
|||
|
|
|||
|
extern long
|
|||
|
isc_attach_database (long*, short, char*, gds_db_handle*, short, char*),
|
|||
|
isc_blob_info (long*, gds_blob_handle*, short, char*, short, char*),
|
|||
|
isc_cancel_blob (long*, gds_blob_handle*),
|
|||
|
isc_close_blob (long*, gds_blob_handle*),
|
|||
|
isc_commit_transaction (long*, gds_tr_handle*),
|
|||
|
isc_compile_request (long*, gds_db_handle*, gds_req_handle*, short, char*),
|
|||
|
isc_compile_request2 (long*, gds_db_handle*, gds_req_handle*, short, char*),
|
|||
|
isc_create_blob (long*, gds_db_handle*, gds_tr_handle*, gds_blob_handle*, GDS_QUAD*),
|
|||
|
isc_create_blob2 (long*, gds_db_handle*, gds_tr_handle*, gds_blob_handle*, GDS_QUAD*, short, char*),
|
|||
|
isc_create_database (long*, short, char*, gds_db_handle*, short, char*),
|
|||
|
isc_database_info (long*, gds_db_handle*, short, char*, short, char*),
|
|||
|
isc_detach_database (long*, gds_db_handle*),
|
|||
|
isc_get_segment (long*, gds_blob_handle*, unsigned short*, short, char*),
|
|||
|
isc_open_blob (long*, gds_db_handle*, gds_tr_handle*, gds_blob_handle*, GDS_QUAD*),
|
|||
|
isc_open_blob2 (long*, gds_db_handle*, gds_tr_handle*, gds_blob_handle*, GDS_QUAD*, short, char*),
|
|||
|
isc_prepare_transaction (long*, gds_tr_handle*),
|
|||
|
isc_prepare_transaction2 (long*, gds_tr_handle*, short, char*),
|
|||
|
isc_put_segment (long*, gds_blob_handle*, short, char*),
|
|||
|
isc_receive (long*, gds_req_handle*, short, short, void*, short),
|
|||
|
isc_reconnect_transaction (long*, gds_db_handle*, gds_tr_handle*, short, char*),
|
|||
|
isc_request_info (long*, gds_req_handle*, short, char*, short, char*, short),
|
|||
|
isc_release_request (long*, gds_req_handle*),
|
|||
|
isc_rollback_transaction (long*, gds_tr_handle*),
|
|||
|
isc_send (long*, gds_req_handle*, short, short, void*, short),
|
|||
|
isc_start_and_send (long*, gds_req_handle*, gds_tr_handle*, short, short, void*, short),
|
|||
|
isc_start_multiple (long*, gds_tr_handle*, short, void*),
|
|||
|
isc_start_request (long*, gds_req_handle*, gds_tr_handle*, short),
|
|||
|
isc_start_transaction (long*, gds_tr_handle*, short, gds_db_handle*, short, char*, ...),
|
|||
|
isc_transaction_info (long*, gds_tr_handle*, short, char*, short, char*),
|
|||
|
isc_unwind_request (long*, gds_tr_handle*, short),
|
|||
|
isc_print_status (long*),
|
|||
|
isc_sqlcode (long*),
|
|||
|
isc_ddl (long*, gds_db_handle*, gds_tr_handle*, short, char*),
|
|||
|
isc_commit_retaining (long*, gds_tr_handle*),
|
|||
|
isc_que_events (long*, gds_db_handle*, long*, short, char*, gds_callback, long*),
|
|||
|
isc_cancel_events (long*, gds_db_handle*, long*),
|
|||
|
isc_event_wait (long*, gds_db_handle*, short, char*, char*),
|
|||
|
isc_event_counts (long*, short, char*, char*),
|
|||
|
isc_event_block (char**, char**, short, ...),
|
|||
|
isc_get_slice (long*, gds_db_handle*, gds_tr_handle*, GDS_QUAD*, short, char*, short, long*,
|
|||
|
long, void*, long*),
|
|||
|
isc_put_slice (long*, gds_db_handle*, gds_tr_handle*, GDS_QUAD*, short, char*, short, long*,
|
|||
|
long, void*);
|
|||
|
|
|||
|
extern long
|
|||
|
isc_prepare (long*, gds_db_handle*, gds_tr_handle*, char*, short*, char*, SQLDA*),
|
|||
|
isc_declare (long*, char*, char*),
|
|||
|
isc_open (long*, gds_tr_handle*, char*, SQLDA*),
|
|||
|
isc_fetch (long*, char*, SQLDA*),
|
|||
|
isc_close (long*, char*),
|
|||
|
isc_describe (long*, char*, SQLDA*),
|
|||
|
isc_execute (long*, gds_tr_handle*, char*, SQLDA*),
|
|||
|
isc_execute_immediate (long*, gds_db_handle*, gds_tr_handle*, short*, char*),
|
|||
|
isc_ddl (long*, gds_db_handle*, gds_tr_handle*, short, char*);
|
|||
|
|
|||
|
extern long
|
|||
|
BLOB_edit (GDS_QUAD*, gds_db_handle, gds_tr_handle, char*);
|
|||
|
|
|||
|
extern long
|
|||
|
isc_initialize_menu (long*, gds_req_handle*),
|
|||
|
isc_put_entree (long*, gds_req_handle*, short*, char*, long*),
|
|||
|
isc_drive_menu (long*, gds_win_handle*, gds_req_handle*, short*, char*, short*, char*, short*,
|
|||
|
short*, char*, long*),
|
|||
|
isc_drive_form (long*, gds_db_handle*, gds_tr_handle*, gds_win_handle*, gds_req_handle*,
|
|||
|
void*, void*),
|
|||
|
isc_load_form (long*, gds_db_handle*, gds_tr_handle*, gds_form_handle*, short*, char*),
|
|||
|
isc_compile_map (long*, gds_form_handle*, gds_req_handle*, short*, char*),
|
|||
|
isc_compile_sub_map (long*, gds_win_handle*, gds_req_handle*, short*, char*),
|
|||
|
isc_form_fetch (long*, gds_db_handle*, gds_tr_handle*, gds_req_handle*, void*),
|
|||
|
isc_reset_form (long*, gds_req_handle*),
|
|||
|
isc_pop_window (long*, gds_win_handle*),
|
|||
|
isc_create_window (long*, gds_win_handle*, short*, char*, short*, short*),
|
|||
|
isc_menu (long*, gds_win_handle*, gds_req_handle*, short*, char*);
|
|||
|
|
|||
|
extern void
|
|||
|
isc_ftof (char*, short, char*, short),
|
|||
|
isc_vtof (char*, char*),
|
|||
|
isc_vtov (char*, char*, short),
|
|||
|
isc_version (gds_db_handle*, gds_callback, long);
|
|||
|
|
|||
|
#define blr_word(n) (n % 256), (n / 256)
|
|||
|
|
|||
|
$ SET SANS_DOLLAR
|
|||
|
$ SYMBOLS BLR DTYPE "const char %-32s= %d;\n
|
|||
|
|
|||
|
$ SYMBOLS BLR JOIN "const char %-32s= %d;\n
|
|||
|
|
|||
|
$ SYMBOLS BLR MECH "const char %-32s= %d;\n
|
|||
|
|
|||
|
$ SYMBOLS BLR STATEMENTS "const char %-32s= %d;\n
|
|||
|
|
|||
|
$ SYMBOLS BLR VALUES "const char %-32s= %d;\n
|
|||
|
|
|||
|
$ SYMBOLS BLR BOOLEANS "const char %-32s= %d;\n
|
|||
|
|
|||
|
$ SYMBOLS BLR RSE "const char %-32s= %d;\n
|
|||
|
|
|||
|
$ SYMBOLS BLR AGGREGATE "const char %-32s= %d;\n
|
|||
|
|
|||
|
$ SYMBOLS BLR NEW "const char %-32s= %d;\n
|
|||
|
|
|||
|
/* Database parameter block stuff */
|
|||
|
|
|||
|
$ SYMBOLS DPB ITEMS "const char %-32s= %d;\n
|
|||
|
|
|||
|
$ SYMBOLS DPB BITS "const char %-32s= %d;\n
|
|||
|
|
|||
|
/* Bit assignments in RDB$SYSTEM_FLAG */
|
|||
|
|
|||
|
$ SYMBOLS RDB FLAG "const char %-32s= %d;\n
|
|||
|
|
|||
|
/* Transaction parameter blob stuff */
|
|||
|
|
|||
|
$ SYMBOLS TPB ITEMS "const char %-32s= %d;\n
|
|||
|
|
|||
|
/* Blob Parameter Block */
|
|||
|
|
|||
|
$ SYMBOLS BPB ITEMS "const char %-32s= %d;\n
|
|||
|
|
|||
|
/* Blob stream stuff */
|
|||
|
|
|||
|
typedef struct bstream {
|
|||
|
int *bstr_blob; /* Blob handle */
|
|||
|
char *bstr_buffer; /* Address of buffer */
|
|||
|
char *bstr_ptr; /* Next character */
|
|||
|
short bstr_length; /* Length of buffer */
|
|||
|
short bstr_cnt; /* Characters in buffer */
|
|||
|
char bstr_mode; /* (mode) ? OUTPUT : INPUT */
|
|||
|
} BSTREAM;
|
|||
|
|
|||
|
#define getb(p) (--(p)->bstr_cnt >= 0 ? *(p)->bstr_ptr++ & 0377: BLOB_get (p))
|
|||
|
#define putb(x,p) ((x == '\n' || (!(--(p)->bstr_cnt))) ? BLOB_put (x,p) : ((int) (*(p)->bstr_ptr++ = (unsigned) (x))))
|
|||
|
#define putbx(x,p) ((!(--(p)->bstr_cnt)) ? BLOB_put (x,p) : ((int) (*(p)->bstr_ptr++ = (unsigned) (x))))
|
|||
|
|
|||
|
BSTREAM *Bopen(), *BLOB_open();
|
|||
|
|
|||
|
/* Information call declarations */
|
|||
|
|
|||
|
/* Common, structural codes */
|
|||
|
|
|||
|
$ SYMBOLS INFO MECH "const char %-32s= %d;\n
|
|||
|
|
|||
|
/* Database information items */
|
|||
|
|
|||
|
$ SYMBOLS INFO DB "const char %-32s= %d;\n
|
|||
|
|
|||
|
/* Database Info Return Values */
|
|||
|
|
|||
|
$ SYMBOLS INFO VALUES "const char %-32s= %d;\n
|
|||
|
|
|||
|
/* Request information items */
|
|||
|
|
|||
|
$ SYMBOLS INFO REQUEST "const char %-32s= %d;\n
|
|||
|
|
|||
|
/* Blob information items */
|
|||
|
|
|||
|
$ SYMBOLS INFO BLOB "const char %-32s= %d;\n
|
|||
|
|
|||
|
/* Transaction information items */
|
|||
|
|
|||
|
$ SYMBOLS INFO TRANSACTION "const char %-32s= %d;\n
|
|||
|
|
|||
|
/* Error codes */
|
|||
|
|
|||
|
$ SYMBOLS ERROR MECH "const long %-32s= %d;\n
|
|||
|
|
|||
|
$ ERROR MAJOR "const long %-32s= %d;\n
|
|||
|
|
|||
|
/* Minor codes subject to change */
|
|||
|
|
|||
|
$ ERROR MINOR "const long %-32s= %d;\n
|
|||
|
|
|||
|
/* Dynamic Data Definition Language operators */
|
|||
|
|
|||
|
/* Version number */
|
|||
|
|
|||
|
$ SYMBOLS DYN MECH "const char %-32s= %d;\n
|
|||
|
|
|||
|
/* Operations (may be nested) */
|
|||
|
|
|||
|
$ SYMBOLS DYN OPERATIONS "const char %-32s= %d;\n
|
|||
|
|
|||
|
/* View specific stuff */
|
|||
|
|
|||
|
$ SYMBOLS DYN VIEW "const char %-32s= %d;\n
|
|||
|
|
|||
|
/* Generic attributes */
|
|||
|
|
|||
|
$ SYMBOLS DYN GENERIC "const char %-32s= %d;\n
|
|||
|
|
|||
|
/* Relation specific attributes */
|
|||
|
|
|||
|
$ SYMBOLS DYN RELATION "const char %-32s= %d;\n
|
|||
|
|
|||
|
/* Global field specific attributes */
|
|||
|
|
|||
|
$ SYMBOLS DYN GLOBAL "const char %-32s= %d;\n
|
|||
|
|
|||
|
/* Local field specific attributes */
|
|||
|
|
|||
|
$ SYMBOLS DYN FIELD "const char %-32s= %d;\n
|
|||
|
|
|||
|
/* Index specific attributes */
|
|||
|
|
|||
|
$ SYMBOLS DYN INDEX "const char %-32s= %d;\n
|
|||
|
|
|||
|
/* Trigger specific attributes */
|
|||
|
|
|||
|
$ SYMBOLS DYN TRIGGER "const char %-32s= %d;\n
|
|||
|
|
|||
|
/* Security Class specific attributes */
|
|||
|
|
|||
|
$ SYMBOLS DYN SECURITY "const char %-32s= %d;\n
|
|||
|
|
|||
|
/* Dimension specific information */
|
|||
|
|
|||
|
$ SYMBOLS DYN ARRAY "const char %-32s= %d;\n
|
|||
|
|
|||
|
/* File specific attributes */
|
|||
|
|
|||
|
$ SYMBOLS DYN FILES "const char %-32s= %d;\n
|
|||
|
|
|||
|
/* Function specific attributes */
|
|||
|
|
|||
|
$ SYMBOLS DYN FUNCTIONS "const char %-32s= %d;\n
|
|||
|
|
|||
|
/* Generator specific attributes */
|
|||
|
|
|||
|
$ SYMBOLS DYN GENERATOR "const char %-32s= %d;\n
|
|||
|
|
|||
|
/* Array slice description language (SDL) */
|
|||
|
|
|||
|
$ SYMBOLS SDL SDL "const char %-32s= %d;\n
|
|||
|
|
|||
|
$ SYMBOLS SQL DTYPE "const short %-32s= %d;\n
|
|||
|
|
|||
|
/* Forms Package definitions */
|
|||
|
|
|||
|
/* Map definition block definitions */
|
|||
|
|
|||
|
$ SYMBOLS PYXIS MAP "const char %-32s= %d;\n
|
|||
|
|
|||
|
/* Field option flags for display options */
|
|||
|
|
|||
|
$ SYMBOLS PYXIS DISPLAY "const char %-32s= %d;\n
|
|||
|
|
|||
|
/* Field option values following display */
|
|||
|
|
|||
|
$ SYMBOLS PYXIS VALUE "const char %-32s= %d;\n
|
|||
|
|
|||
|
/* Pseudo key definitions */
|
|||
|
|
|||
|
$ SYMBOLS PYXIS KEY "const char %-32s= %d;\n
|
|||
|
|
|||
|
/* Menu definition stuff */
|
|||
|
|
|||
|
$ SYMBOLS PYXIS MENU "const char %-32s= %d;\n');
|
|||
|
INSERT INTO TEMPLATES (LANGUAGE, "FILE", TEMPLATE) VALUES ('VPASCAL', 'gds.vpas',
|
|||
|
'(*
|
|||
|
* PROGRAM: Preprocessor
|
|||
|
* MODULE: sql.pas
|
|||
|
* DESCRIPTION: SQL constants, procedures, etc.
|
|||
|
*
|
|||
|
* copyright (c) 1985, 1990 by Interbase Software Corporation
|
|||
|
*)
|
|||
|
|
|||
|
type
|
|||
|
gds_$short = [word] -32768..32767;
|
|||
|
gds_$handle = ^integer;
|
|||
|
gds_$string = array [1..65535] of char;
|
|||
|
gds_$ptr_type = [UNSAFE] ^gds_$string;
|
|||
|
gds_$status_vector = array [1..20] of integer;
|
|||
|
gds_$quad = array [1..2] of integer;
|
|||
|
gds_$teb_t = record
|
|||
|
dbb_ptr : gds_$ptr_type;
|
|||
|
tpb_len : integer;
|
|||
|
tpb_ptr : gds_$ptr_type;
|
|||
|
end;
|
|||
|
gds_$tm = record
|
|||
|
tm_sec : integer;
|
|||
|
tm_min : integer;
|
|||
|
tm_hour : integer;
|
|||
|
tm_mday : integer;
|
|||
|
tm_mon : integer;
|
|||
|
tm_year : integer;
|
|||
|
tm_wday : integer;
|
|||
|
tm_yday : integer;
|
|||
|
tm_isdst : integer;
|
|||
|
end;
|
|||
|
sqlvar = record
|
|||
|
sqltype : gds_$short;
|
|||
|
sqllen : gds_$short;
|
|||
|
sqldata : gds_$ptr_type;
|
|||
|
sqlind : gds_$ptr_type;
|
|||
|
sqlname_length : gds_$short;
|
|||
|
sqlname : array [1..30] of char;
|
|||
|
end;
|
|||
|
sqlda = record
|
|||
|
sqldaid : array [1..8] of char;
|
|||
|
sqldabc : integer;
|
|||
|
sqln : gds_$short;
|
|||
|
sqld : gds_$short;
|
|||
|
sqlvars : array [1..100] of sqlvar;
|
|||
|
end;
|
|||
|
|
|||
|
|
|||
|
procedure GDS_$SET_DEBUG (
|
|||
|
debug_val : [IMMEDIATE] gds_$short
|
|||
|
); extern;
|
|||
|
|
|||
|
procedure gds_$ATTACH_DATABASE (
|
|||
|
var stat : gds_$status_vector;
|
|||
|
name_length : [IMMEDIATE] gds_$short;
|
|||
|
file_name : gds_$ptr_type;
|
|||
|
var db_handle : gds_$handle;
|
|||
|
dpb_length : [IMMEDIATE] gds_$short;
|
|||
|
dpb : gds_$ptr_type
|
|||
|
); extern;
|
|||
|
|
|||
|
procedure gds_$ATTACH_DATABASE_D (
|
|||
|
var stat : gds_$status_vector;
|
|||
|
file_name : gds_$ptr_type;
|
|||
|
var db_handle : gds_$handle;
|
|||
|
dpb_length : [IMMEDIATE] gds_$short;
|
|||
|
dpb : gds_$ptr_type
|
|||
|
); extern;
|
|||
|
|
|||
|
procedure gds_$CANCEL_BLOB (
|
|||
|
var stat : gds_$status_vector;
|
|||
|
var blob_handle : gds_$handle
|
|||
|
); extern;
|
|||
|
|
|||
|
procedure GDS_$CANCEL_EVENTS (
|
|||
|
var stat : gds_$status_vector;
|
|||
|
var db_handle : gds_$handle;
|
|||
|
id : gds_$handle
|
|||
|
); extern;
|
|||
|
|
|||
|
procedure gds_$CLOSE_BLOB (
|
|||
|
var stat : gds_$status_vector;
|
|||
|
var blob_handle : gds_$handle
|
|||
|
); extern;
|
|||
|
|
|||
|
procedure GDS_$COMMIT_RETAINING (
|
|||
|
var stat : gds_$status_vector;
|
|||
|
var tra_handle : gds_$handle
|
|||
|
); extern;
|
|||
|
|
|||
|
procedure gds_$COMMIT_TRANSACTION (
|
|||
|
var stat : gds_$status_vector;
|
|||
|
var tra_handle : gds_$handle
|
|||
|
); extern;
|
|||
|
|
|||
|
procedure gds_$COMPILE_REQUEST (
|
|||
|
var stat : gds_$status_vector;
|
|||
|
db_handle : gds_$handle;
|
|||
|
var request_handle : gds_$handle;
|
|||
|
blr_length : [IMMEDIATE] gds_$short;
|
|||
|
blr : gds_$ptr_type
|
|||
|
); extern;
|
|||
|
|
|||
|
procedure gds_$COMPILE_REQUEST2 (
|
|||
|
var stat : gds_$status_vector;
|
|||
|
db_handle : gds_$handle;
|
|||
|
var request_handle : gds_$handle;
|
|||
|
blr_length : [IMMEDIATE] gds_$short;
|
|||
|
blr : gds_$ptr_type
|
|||
|
); extern;
|
|||
|
|
|||
|
procedure gds_$CREATE_BLOB (
|
|||
|
var stat : gds_$status_vector;
|
|||
|
db_handle : gds_$handle;
|
|||
|
tra_handle : gds_$handle;
|
|||
|
var blob_handle : gds_$handle;
|
|||
|
var blob_id : gds_$quad
|
|||
|
); extern;
|
|||
|
|
|||
|
procedure GDS_$CREATE_BLOB2 (
|
|||
|
var stat : gds_$status_vector;
|
|||
|
db_handle : gds_$handle;
|
|||
|
tra_handle : gds_$handle;
|
|||
|
var blob_handle : gds_$handle;
|
|||
|
var blob_id : gds_$quad;
|
|||
|
bpb_length : integer;
|
|||
|
bpb : gds_$ptr_type
|
|||
|
); extern;
|
|||
|
|
|||
|
procedure GDS_$CREATE_DATABASE (
|
|||
|
var stat : gds_$status_vector;
|
|||
|
name_length : [IMMEDIATE] gds_$short;
|
|||
|
file_name : gds_$ptr_type;
|
|||
|
var db_handle : gds_$handle;
|
|||
|
dpb_length : [IMMEDIATE] gds_$short;
|
|||
|
dpb : gds_$ptr_type;
|
|||
|
dpb_type : [IMMEDIATE] gds_$short
|
|||
|
); extern;
|
|||
|
|
|||
|
procedure GDS_$DDL (
|
|||
|
var stat : gds_$status_vector;
|
|||
|
db_handle : gds_$handle;
|
|||
|
tra_handle : gds_$handle;
|
|||
|
mblr_length : [IMMEDIATE] gds_$short;
|
|||
|
mblr : gds_$ptr_type
|
|||
|
); extern;
|
|||
|
|
|||
|
|
|||
|
procedure gds_$DETACH_DATABASE (
|
|||
|
var stat : gds_$status_vector;
|
|||
|
var db_handle : gds_$handle
|
|||
|
); extern;
|
|||
|
|
|||
|
procedure gds_$DROP_DATABASE (
|
|||
|
var stat : gds_$status_vector;
|
|||
|
name_length : [IMMEDIATE] gds_$short;
|
|||
|
file_name : gds_$ptr_type;
|
|||
|
db_type : [IMMEDIATE] gds_$short
|
|||
|
); extern;
|
|||
|
|
|||
|
procedure GDS_$EVENT_WAIT (
|
|||
|
var stat : gds_$status_vector;
|
|||
|
db_handle : gds_$handle;
|
|||
|
length : [IMMEDIATE] gds_$short;
|
|||
|
var events : gds_$ptr_type;
|
|||
|
var buffer : gds_$ptr_type
|
|||
|
); extern;
|
|||
|
|
|||
|
procedure GDS_$GET_SLICE (
|
|||
|
var stat : gds_$status_vector;
|
|||
|
db_handle : gds_$handle;
|
|||
|
tra_handle : gds_$handle;
|
|||
|
blob_id : gds_$quad;
|
|||
|
sdl_length : [IMMEDIATE] gds_$short;
|
|||
|
sdl : gds_$ptr_type;
|
|||
|
param_length : [IMMEDIATE] gds_$short;
|
|||
|
param : gds_$ptr_type;
|
|||
|
slice_length : integer;
|
|||
|
slice : gds_$ptr_type;
|
|||
|
var return_length : integer
|
|||
|
); extern;
|
|||
|
|
|||
|
function gds_$GET_SEGMENT (
|
|||
|
var stat : gds_$status_vector;
|
|||
|
blob_handle : gds_$handle;
|
|||
|
var length : gds_$short;
|
|||
|
buffer_length : [IMMEDIATE] gds_$short;
|
|||
|
var buffer : gds_$ptr_type
|
|||
|
): integer; extern;
|
|||
|
|
|||
|
procedure gds_$OPEN_BLOB (
|
|||
|
var stat : gds_$status_vector;
|
|||
|
db_handle : gds_$handle;
|
|||
|
tra_handle : gds_$handle;
|
|||
|
var blob_handle : gds_$handle;
|
|||
|
blob_id : gds_$quad
|
|||
|
); extern;
|
|||
|
|
|||
|
procedure GDS_$OPEN_BLOB2 (
|
|||
|
var stat : gds_$status_vector;
|
|||
|
db_handle : gds_$handle;
|
|||
|
tra_handle : gds_$handle;
|
|||
|
var blob_handle : gds_$handle;
|
|||
|
blob_id : gds_$quad;
|
|||
|
bpb_length : integer;
|
|||
|
bpb : gds_$ptr_type
|
|||
|
); extern;
|
|||
|
|
|||
|
procedure gds_$PREPARE_TRANSACTION (
|
|||
|
var stat : gds_$status_vector;
|
|||
|
var tra_handle : gds_$handle
|
|||
|
); extern;
|
|||
|
|
|||
|
procedure gds_$STATUS_AND_STOP (
|
|||
|
var stat : gds_$status_vector
|
|||
|
); extern;
|
|||
|
|
|||
|
function gds_$PUT_SEGMENT (
|
|||
|
var stat : gds_$status_vector;
|
|||
|
blob_handle : gds_$handle;
|
|||
|
length : [IMMEDIATE] gds_$short;
|
|||
|
buffer : gds_$ptr_type
|
|||
|
): integer; extern;
|
|||
|
|
|||
|
procedure GDS_$PUT_SLICE (
|
|||
|
var stat : gds_$status_vector;
|
|||
|
db_handle : gds_$handle;
|
|||
|
tra_handle : gds_$handle;
|
|||
|
blob_id : gds_$quad;
|
|||
|
sdl_length : [IMMEDIATE] gds_$short;
|
|||
|
sdl : gds_$ptr_type;
|
|||
|
param_length : [IMMEDIATE] gds_$short;
|
|||
|
param : gds_$ptr_type;
|
|||
|
slice_length : integer;
|
|||
|
slice : gds_$ptr_type
|
|||
|
); extern;
|
|||
|
|
|||
|
procedure GDS_$QUE_EVENTS (
|
|||
|
var stat : gds_$status_vector;
|
|||
|
db_handle : gds_$handle;
|
|||
|
id : gds_$quad;
|
|||
|
length : [IMMEDIATE] gds_$short;
|
|||
|
events : gds_$ptr_type;
|
|||
|
ast : gds_$handle;
|
|||
|
arg : gds_$quad
|
|||
|
); extern;
|
|||
|
|
|||
|
procedure gds_$RECEIVE (
|
|||
|
var stat : gds_$status_vector;
|
|||
|
request_handle : gds_$handle;
|
|||
|
message_type : [IMMEDIATE] gds_$short;
|
|||
|
message_length : [IMMEDIATE] gds_$short;
|
|||
|
var message : gds_$ptr_type;
|
|||
|
instantiation : [IMMEDIATE] gds_$short
|
|||
|
); extern;
|
|||
|
|
|||
|
procedure gds_$RELEASE_REQUEST (
|
|||
|
var stat : gds_$status_vector;
|
|||
|
var request_handle : gds_$handle
|
|||
|
); extern;
|
|||
|
|
|||
|
procedure gds_$ROLLBACK_TRANSACTION (
|
|||
|
var stat : gds_$status_vector;
|
|||
|
var tra_handle : gds_$handle
|
|||
|
); extern;
|
|||
|
|
|||
|
procedure gds_$SEND (
|
|||
|
var stat : gds_$status_vector;
|
|||
|
request_handle : gds_$handle;
|
|||
|
message_type : [IMMEDIATE] gds_$short;
|
|||
|
message_length : [IMMEDIATE] gds_$short;
|
|||
|
message : gds_$ptr_type;
|
|||
|
instantiation : [IMMEDIATE] gds_$short
|
|||
|
); extern;
|
|||
|
|
|||
|
procedure gds_$START_AND_SEND (
|
|||
|
var stat : gds_$status_vector;
|
|||
|
request_handle : gds_$handle;
|
|||
|
tra_handle : gds_$handle;
|
|||
|
message_type : [IMMEDIATE] gds_$short;
|
|||
|
message_length : [IMMEDIATE] gds_$short;
|
|||
|
message : gds_$ptr_type;
|
|||
|
instantiation : [IMMEDIATE] gds_$short
|
|||
|
); extern;
|
|||
|
|
|||
|
procedure gds_$START_REQUEST (
|
|||
|
var stat : gds_$status_vector;
|
|||
|
request_handle : gds_$handle;
|
|||
|
tra_handle : gds_$handle;
|
|||
|
instantiation : [IMMEDIATE] gds_$short
|
|||
|
); extern;
|
|||
|
|
|||
|
procedure gds_$START_MULTIPLE (
|
|||
|
var stat : gds_$status_vector;
|
|||
|
var tra_handle : gds_$handle;
|
|||
|
tra_count : [IMMEDIATE] gds_$short;
|
|||
|
teb : gds_$ptr_type
|
|||
|
); extern;
|
|||
|
|
|||
|
procedure gds_$START_TRANSACTION (
|
|||
|
var stat : gds_$status_vector;
|
|||
|
var tra_handle : gds_$handle;
|
|||
|
tra_count : [IMMEDIATE] gds_$short;
|
|||
|
db_handle : gds_$handle;
|
|||
|
tpb_length : [IMMEDIATE] gds_$short;
|
|||
|
tpb : gds_$ptr_type
|
|||
|
); extern;
|
|||
|
|
|||
|
procedure gds_$UNWIND_REQUEST (
|
|||
|
var stat : gds_$status_vector;
|
|||
|
request_handle : gds_$handle;
|
|||
|
instantiation : [IMMEDIATE] gds_$short
|
|||
|
); extern;
|
|||
|
|
|||
|
procedure gds_$ftof (
|
|||
|
string1 : [REFERENCE] gds_$ptr_type;
|
|||
|
length1 : [IMMEDIATE] gds_$short;
|
|||
|
string2 : [REFERENCE] gds_$ptr_type;
|
|||
|
length2 : [IMMEDIATE] gds_$short
|
|||
|
); extern;
|
|||
|
|
|||
|
procedure gds_$print_status (
|
|||
|
stat : gds_$status_vector
|
|||
|
); extern;
|
|||
|
|
|||
|
function gds_$sqlcode (
|
|||
|
stat : gds_$status_vector
|
|||
|
) : integer; extern;
|
|||
|
|
|||
|
|
|||
|
procedure gds_$encode_date (
|
|||
|
times : gds_$tm;
|
|||
|
var date : gds_$quad
|
|||
|
); extern;
|
|||
|
|
|||
|
procedure gds_$decode_date (
|
|||
|
date : gds_$quad;
|
|||
|
var times : gds_$tm
|
|||
|
); extern;
|
|||
|
|
|||
|
const
|
|||
|
gds_$true = 1;
|
|||
|
gds_$false = 0;
|
|||
|
|
|||
|
$ SYMBOLS BLR DTYPE BYTE "\t%-32s= chr(%d);\n
|
|||
|
$ SYMBOLS BLR MECH "\t%-32s= chr(%d);\n
|
|||
|
|
|||
|
$ SYMBOLS BLR STATEMENTS"\t%-32s= chr(%d);\n
|
|||
|
$ SYMBOLS BLR VALUES "\t%-32s= chr(%d);\n
|
|||
|
|
|||
|
$ SYMBOLS BLR BOOLEANS "\t%-32s= chr(%d);\n
|
|||
|
|
|||
|
$ SYMBOLS BLR RSE "\t%-32s= chr(%d);\n
|
|||
|
|
|||
|
$ SYMBOLS BLR JOIN "\t%-32s= chr(%d);\n
|
|||
|
|
|||
|
$ SYMBOLS BLR AGGREGATE "\t%-32s= chr(%d);\n
|
|||
|
$ SYMBOLS BLR NEW "\t%-32s= chr(%d);\n
|
|||
|
|
|||
|
(* Database parameter block stuff *)
|
|||
|
|
|||
|
$ SYMBOLS DPB ITEMS "\t%-32s= chr(%d);\n
|
|||
|
|
|||
|
$ SYMBOLS DPB BITS "\t%-32s= chr(%d);\n
|
|||
|
|
|||
|
(* Transaction parameter block stuff *)
|
|||
|
|
|||
|
$ SYMBOLS TPB ITEMS "\t%-32s= chr(%d);\n
|
|||
|
|
|||
|
(* Blob parameter block stuff *)
|
|||
|
|
|||
|
$ SYMBOLS BPB ITEMS "\t%-32s= chr(%d);\n
|
|||
|
|
|||
|
(* Blob routine declarations *)
|
|||
|
|
|||
|
type
|
|||
|
gds_$field_name = array [1..31] of char;
|
|||
|
gds_$file_name = array [1..128] of char;
|
|||
|
|
|||
|
procedure blob_$display (
|
|||
|
blob_id : gds_$quad;
|
|||
|
db_handle : gds_$handle;
|
|||
|
tra_handle : gds_$handle;
|
|||
|
field_name : gds_$ptr_type;
|
|||
|
name_length : [IMMEDIATE] integer
|
|||
|
); extern;
|
|||
|
|
|||
|
procedure blob_$dump (
|
|||
|
blob_id : gds_$quad;
|
|||
|
db_handle : gds_$handle;
|
|||
|
tra_handle : gds_$handle;
|
|||
|
file_name : gds_$ptr_type;
|
|||
|
name_length : [IMMEDIATE] integer
|
|||
|
); extern;
|
|||
|
|
|||
|
procedure blob_$edit (
|
|||
|
blob_id : gds_$quad;
|
|||
|
db_handle : gds_$handle;
|
|||
|
tra_handle : gds_$handle;
|
|||
|
field_name : gds_$ptr_type;
|
|||
|
name_length : [IMMEDIATE] integer
|
|||
|
); extern;
|
|||
|
|
|||
|
procedure blob_$load (
|
|||
|
blob_id : gds_$quad;
|
|||
|
db_handle : gds_$handle;
|
|||
|
tra_handle : gds_$handle;
|
|||
|
file_name : gds_$ptr_type;
|
|||
|
name_length : [IMMEDIATE] integer
|
|||
|
); extern;
|
|||
|
|
|||
|
(* Dynamic SQL procedures *)
|
|||
|
|
|||
|
procedure gds_$close (
|
|||
|
var stat : gds_$status_vector;
|
|||
|
cursor_name : gds_$ptr_type
|
|||
|
); extern;
|
|||
|
|
|||
|
procedure gds_$declare (
|
|||
|
var stat : gds_$status_vector;
|
|||
|
statement_name : gds_$ptr_type;
|
|||
|
cursor_name : gds_$ptr_type
|
|||
|
); extern;
|
|||
|
|
|||
|
procedure gds_$describe (
|
|||
|
var stat : gds_$status_vector;
|
|||
|
statement_name : gds_$ptr_type;
|
|||
|
var descriptor : gds_$ptr_type
|
|||
|
); extern;
|
|||
|
|
|||
|
procedure gds_$dsql_finish (
|
|||
|
db_handle : gds_$handle
|
|||
|
); extern;
|
|||
|
|
|||
|
procedure gds_$execute (
|
|||
|
var stat : gds_$status_vector;
|
|||
|
trans_handle : gds_$handle;
|
|||
|
statement_name : gds_$ptr_type;
|
|||
|
var descriptor : gds_$ptr_type
|
|||
|
); extern;
|
|||
|
|
|||
|
procedure gds_$execute_immediate (
|
|||
|
var stat : gds_$status_vector;
|
|||
|
db_handle : gds_$handle;
|
|||
|
trans_handle : gds_$handle;
|
|||
|
string_length : gds_$short;
|
|||
|
string : gds_$ptr_type
|
|||
|
); extern;
|
|||
|
|
|||
|
function gds_$fetch (
|
|||
|
var stat : gds_$status_vector;
|
|||
|
cursor_name : gds_$ptr_type;
|
|||
|
var descriptor : gds_$ptr_type
|
|||
|
) : integer; extern;
|
|||
|
|
|||
|
procedure gds_$open (
|
|||
|
var stat : gds_$status_vector;
|
|||
|
trans_handle : gds_$handle;
|
|||
|
cursor_name : gds_$ptr_type;
|
|||
|
var descriptor : gds_$ptr_type
|
|||
|
); extern;
|
|||
|
|
|||
|
procedure gds_$prepare (
|
|||
|
var stat : gds_$status_vector;
|
|||
|
db_handle : gds_$handle;
|
|||
|
trans_handle : gds_$handle;
|
|||
|
statement_name : gds_$ptr_type;
|
|||
|
string_length : gds_$short;
|
|||
|
string : gds_$ptr_type;
|
|||
|
var descriptor : gds_$ptr_type
|
|||
|
); extern;
|
|||
|
|
|||
|
|
|||
|
(* Information parameters *)
|
|||
|
|
|||
|
(* Common, structural codes *)
|
|||
|
const
|
|||
|
$ SYMBOLS INFO MECH "\t%-32s= chr(%d);\n
|
|||
|
|
|||
|
(* Database information items *)
|
|||
|
|
|||
|
$ SYMBOLS INFO DB "\t%-32s= chr(%d);\n
|
|||
|
|
|||
|
(* Request information items *)
|
|||
|
|
|||
|
$ SYMBOLS INFO REQUEST "\t%-32s= chr(%d);\n
|
|||
|
|
|||
|
(* Blob information items *)
|
|||
|
|
|||
|
$ SYMBOLS INFO BLOB "\t%-32s= chr(%d);\n
|
|||
|
|
|||
|
(* Transaction information items *)
|
|||
|
|
|||
|
$ SYMBOLS INFO TRANSACTION "\t%-32s= chr(%d);\n
|
|||
|
|
|||
|
(* Error codes *)
|
|||
|
|
|||
|
CONST
|
|||
|
$ SYMBOLS ERROR MECH "\t%-26s= %d;\n
|
|||
|
|
|||
|
$ ERROR MAJOR "\t%-26s= %d;\n
|
|||
|
|
|||
|
(* Minor codes subject to change *)
|
|||
|
|
|||
|
$ ERROR MINOR "\t%-26s= %d;\n
|
|||
|
|
|||
|
(* Dynamic Data Definition Language operators *)
|
|||
|
|
|||
|
(* Version number *)
|
|||
|
|
|||
|
$ SYMBOLS DYN MECH "\t%-32s= chr(%d);\n
|
|||
|
|
|||
|
(* Operations (may be nested) *)
|
|||
|
|
|||
|
$ SYMBOLS DYN OPERATIONS "\t%-32s= chr(%d);\n
|
|||
|
|
|||
|
(* View specific stuff *)
|
|||
|
|
|||
|
$ SYMBOLS DYN VIEW "\t%-32s= chr(%d);\n
|
|||
|
|
|||
|
(* Generic attributes *)
|
|||
|
|
|||
|
$ SYMBOLS DYN GENERIC "\t%-32s= chr(%d);\n
|
|||
|
|
|||
|
(* Relation specific attributes *)
|
|||
|
|
|||
|
$ SYMBOLS DYN RELATION "\t%-32s= chr(%d);\n
|
|||
|
|
|||
|
(* Global field specific attributes *)
|
|||
|
|
|||
|
$ SYMBOLS DYN GLOBAL "\t%-32s= chr(%d);\n
|
|||
|
|
|||
|
(* Local field specific attributes *)
|
|||
|
|
|||
|
$ SYMBOLS DYN FIELD "\t%-32s= chr(%d);\n
|
|||
|
|
|||
|
(* Index specific attributes *)
|
|||
|
|
|||
|
$ SYMBOLS DYN INDEX "\t%-32s= chr(%d);\n
|
|||
|
|
|||
|
(* Trigger specific attributes *)
|
|||
|
|
|||
|
$ SYMBOLS DYN TRIGGER "\t%-32s= chr(%d);\n
|
|||
|
|
|||
|
(* Security Class specific attributes *)
|
|||
|
|
|||
|
$ SYMBOLS DYN SECURITY "\t%-32s= chr(%d);\n
|
|||
|
|
|||
|
(* File specific attributes *)
|
|||
|
|
|||
|
$ SYMBOLS DYN FILES "\t%-32s= chr(%d);\n
|
|||
|
|
|||
|
(* Function specific attributes *)
|
|||
|
|
|||
|
$ SYMBOLS DYN FUNCTIONS "\t%-32s= chr(%d);\n
|
|||
|
|
|||
|
(* Generator specific attributes *)
|
|||
|
|
|||
|
$ SYMBOLS DYN GENERATOR "\t%-32s= chr(%d);\n
|
|||
|
|
|||
|
(* Array slice description language (SDL) *)
|
|||
|
|
|||
|
$ SYMBOLS SDL SDL BYTE "\t%-32s= chr(%d);\n
|
|||
|
|
|||
|
(* Dynamic SQL datatypes *)
|
|||
|
|
|||
|
CONST
|
|||
|
$ SYMBOLS SQL DTYPE "\t%-32s= %d;\n
|
|||
|
|
|||
|
(* Forms Package definitions *)
|
|||
|
|
|||
|
(* Map definition block definitions *)
|
|||
|
|
|||
|
CONST
|
|||
|
$ SYMBOLS PYXIS MAP BYTE "\t%-32s= chr(%d);\n
|
|||
|
|
|||
|
(* Field option flags for display options *)
|
|||
|
|
|||
|
CONST
|
|||
|
$ SYMBOLS PYXIS DISPLAY "\t%-32s= %d;\n
|
|||
|
|
|||
|
(* Field option values following display *)
|
|||
|
|
|||
|
CONST
|
|||
|
$ SYMBOLS PYXIS VALUE "\t%-32s= %d;\n
|
|||
|
|
|||
|
(* Pseudo key definitions *)
|
|||
|
|
|||
|
CONST
|
|||
|
$ SYMBOLS PYXIS KEY "\t%-32s= %d;\n
|
|||
|
|
|||
|
(* Menu definition stuff *)
|
|||
|
|
|||
|
CONST
|
|||
|
$ SYMBOLS PYXIS MENU BYTE "\t%-32s= chr(%d);\n
|
|||
|
|
|||
|
procedure pyxis_$compile_map (
|
|||
|
var stat : gds_$status_vector;
|
|||
|
form_handle : gds_$handle;
|
|||
|
var map_handle : gds_$handle;
|
|||
|
length : gds_$short;
|
|||
|
map : gds_$ptr_type
|
|||
|
); extern;
|
|||
|
|
|||
|
procedure pyxis_$compile_sub_map (
|
|||
|
var stat : gds_$status_vector;
|
|||
|
form_handle : gds_$handle;
|
|||
|
var map_handle : gds_$handle;
|
|||
|
length : gds_$short;
|
|||
|
map : gds_$ptr_type
|
|||
|
); extern;
|
|||
|
|
|||
|
procedure pyxis_$create_window (
|
|||
|
var window_handle : gds_$handle;
|
|||
|
name_length : gds_$short;
|
|||
|
file_name : gds_$ptr_type;
|
|||
|
var width : gds_$short;
|
|||
|
var height : gds_$short
|
|||
|
); extern;
|
|||
|
|
|||
|
procedure pyxis_$delete_window (
|
|||
|
var window_handle : gds_$handle
|
|||
|
); extern;
|
|||
|
|
|||
|
procedure pyxis_$drive_form (
|
|||
|
var stat : gds_$status_vector;
|
|||
|
db_handle : gds_$handle;
|
|||
|
trans_handle : gds_$handle;
|
|||
|
var window_handle : gds_$handle;
|
|||
|
map_handle : gds_$handle;
|
|||
|
input : gds_$ptr_type;
|
|||
|
output : gds_$ptr_type
|
|||
|
); extern;
|
|||
|
|
|||
|
procedure pyxis_$fetch (
|
|||
|
var stat : gds_$status_vector;
|
|||
|
db_handle : gds_$handle;
|
|||
|
trans_handle : gds_$handle;
|
|||
|
map_handle : gds_$handle;
|
|||
|
output : gds_$ptr_type
|
|||
|
); extern;
|
|||
|
|
|||
|
procedure pyxis_$insert (
|
|||
|
var stat : gds_$status_vector;
|
|||
|
db_handle : gds_$handle;
|
|||
|
trans_handle : gds_$handle;
|
|||
|
map_handle : gds_$handle;
|
|||
|
input : gds_$ptr_type
|
|||
|
); extern;
|
|||
|
|
|||
|
procedure pyxis_$load_form (
|
|||
|
var stat : gds_$status_vector;
|
|||
|
db_handle : gds_$handle;
|
|||
|
trans_handle : gds_$handle;
|
|||
|
var form_handle : gds_$handle;
|
|||
|
name_length : gds_$short;
|
|||
|
form_name : gds_$ptr_type
|
|||
|
); extern;
|
|||
|
|
|||
|
function pyxis_$menu (
|
|||
|
var window_handle : gds_$handle;
|
|||
|
var menu_handle : gds_$handle;
|
|||
|
length : gds_$short;
|
|||
|
menu : gds_$ptr_type
|
|||
|
) : gds_$short; extern;
|
|||
|
|
|||
|
procedure pyxis_$pop_window (
|
|||
|
window_handle : gds_$handle
|
|||
|
); extern;
|
|||
|
|
|||
|
procedure pyxis_$reset_form (
|
|||
|
var stat : gds_$status_vector;
|
|||
|
window_handle : gds_$handle
|
|||
|
); extern;
|
|||
|
|
|||
|
procedure pyxis_$drive_menu (
|
|||
|
var window_handle : gds_$handle;
|
|||
|
var menu_handle : gds_$handle;
|
|||
|
blr_length : gds_$short;
|
|||
|
blr_source : gds_$ptr_type;
|
|||
|
title_length : gds_$short;
|
|||
|
title : gds_$ptr_type;
|
|||
|
var terminator : gds_$short;
|
|||
|
var entree_length : gds_$short;
|
|||
|
entree_text : gds_$ptr_type;
|
|||
|
var entree_value : integer
|
|||
|
); extern;
|
|||
|
|
|||
|
|
|||
|
procedure pyxis_$get_entree (
|
|||
|
menu_handle : gds_$handle;
|
|||
|
var entree_length : gds_$short;
|
|||
|
entree_text : gds_$ptr_type;
|
|||
|
var entree_value : integer;
|
|||
|
var entree_end : gds_$short
|
|||
|
); extern;
|
|||
|
|
|||
|
procedure pyxis_$initialize_menu (
|
|||
|
var menu_handle : gds_$handle
|
|||
|
); extern;
|
|||
|
|
|||
|
procedure pyxis_$put_entree (
|
|||
|
menu_handle : gds_$handle;
|
|||
|
entree_length : gds_$short;
|
|||
|
entree_text : gds_$ptr_type;
|
|||
|
entree_value : integer
|
|||
|
); extern;
|
|||
|
|
|||
|
|
|||
|
[HIDDEN] PROCEDURE LIB$SCOPY_DXDX; EXTERNAL;');
|
|||
|
INSERT INTO TEMPLATES (LANGUAGE, "FILE", TEMPLATE) VALUES ('PASCAL', 'gds.pas',
|
|||
|
'(*
|
|||
|
* PROGRAM: Preprocessor
|
|||
|
* MODULE: gds.pas
|
|||
|
* DESCRIPTION: GDS constants, procedures, etc.
|
|||
|
*
|
|||
|
* copyright (c) 1985, 1990 by Interbase Software Corporation
|
|||
|
*)
|
|||
|
|
|||
|
type
|
|||
|
gds_$handle = ^integer32;
|
|||
|
gds_$string = array [1..65535] of char;
|
|||
|
gds_$status_vector = array [1..20] of integer32;
|
|||
|
gds_$quad = array [1..2] of integer32;
|
|||
|
gds_$teb_t = record
|
|||
|
dbb_ptr : ^gds_$handle;
|
|||
|
tpb_len : integer32;
|
|||
|
tpb_ptr : UNIV_PTR;
|
|||
|
end;
|
|||
|
gds_$tm = record
|
|||
|
tm_sec : integer32;
|
|||
|
tm_min : integer32;
|
|||
|
tm_hour : integer32;
|
|||
|
tm_mday : integer32;
|
|||
|
tm_mon : integer32;
|
|||
|
tm_year : integer32;
|
|||
|
tm_wday : integer32;
|
|||
|
tm_yday : integer32;
|
|||
|
tm_isdst : integer32;
|
|||
|
end;
|
|||
|
sqlvar = record
|
|||
|
sqltype : integer16;
|
|||
|
sqllen : integer16;
|
|||
|
sqldata : UNIV_PTR;
|
|||
|
sqlind : UNIV_PTR;
|
|||
|
sqlname_length : integer16;
|
|||
|
sqlname : array [1..30] of char;
|
|||
|
end;
|
|||
|
sqlda = record
|
|||
|
sqldaid : array [1..8] of char;
|
|||
|
sqldabc : integer32;
|
|||
|
sqln : integer16;
|
|||
|
sqld : integer16;
|
|||
|
sqlvars : array [1..100] of sqlvar;
|
|||
|
end;
|
|||
|
|
|||
|
procedure GDS_$SET_DEBUG (
|
|||
|
in debug_val : integer32
|
|||
|
); extern;
|
|||
|
|
|||
|
procedure GDS_$ATTACH_DATABASE (
|
|||
|
out stat : gds_$status_vector;
|
|||
|
in name_length : integer16;
|
|||
|
in file_name : UNIV gds_$string;
|
|||
|
in out db_handle : gds_$handle;
|
|||
|
in dpb_length : integer16;
|
|||
|
in dpb : UNIV gds_$string
|
|||
|
); extern;
|
|||
|
|
|||
|
procedure GDS_$CANCEL_BLOB (
|
|||
|
out stat : gds_$status_vector;
|
|||
|
in out blob_handle : gds_$handle
|
|||
|
); extern;
|
|||
|
|
|||
|
procedure GDS_$CANCEL_EVENTS (
|
|||
|
out stat : gds_$status_vector;
|
|||
|
in out db_handle : gds_$handle;
|
|||
|
in id : gds_$handle
|
|||
|
); extern;
|
|||
|
|
|||
|
procedure GDS_$CLOSE_BLOB (
|
|||
|
out stat : gds_$status_vector;
|
|||
|
in out blob_handle : gds_$handle
|
|||
|
); extern;
|
|||
|
|
|||
|
procedure GDS_$COMMIT_RETAINING (
|
|||
|
out stat : gds_$status_vector;
|
|||
|
in out tra_handle : gds_$handle
|
|||
|
); extern;
|
|||
|
|
|||
|
procedure GDS_$COMMIT_TRANSACTION (
|
|||
|
out stat : gds_$status_vector;
|
|||
|
in out tra_handle : gds_$handle
|
|||
|
); extern;
|
|||
|
|
|||
|
procedure GDS_$COMPILE_REQUEST (
|
|||
|
out stat : gds_$status_vector;
|
|||
|
in db_handle : gds_$handle;
|
|||
|
in out request_handle : gds_$handle;
|
|||
|
in blr_length : integer16;
|
|||
|
in blr : UNIV gds_$string
|
|||
|
); extern;
|
|||
|
|
|||
|
procedure GDS_$COMPILE_REQUEST2 (
|
|||
|
out stat : gds_$status_vector;
|
|||
|
in db_handle : gds_$handle;
|
|||
|
in out request_handle : gds_$handle;
|
|||
|
in blr_length : integer16;
|
|||
|
in blr : UNIV gds_$string
|
|||
|
); extern;
|
|||
|
|
|||
|
procedure GDS_$CREATE_BLOB (
|
|||
|
out stat : gds_$status_vector;
|
|||
|
in db_handle : gds_$handle;
|
|||
|
in tra_handle : gds_$handle;
|
|||
|
in out blob_handle : gds_$handle;
|
|||
|
out blob_id : gds_$quad
|
|||
|
); extern;
|
|||
|
|
|||
|
procedure GDS_$CREATE_BLOB2 (
|
|||
|
out stat : gds_$status_vector;
|
|||
|
in db_handle : gds_$handle;
|
|||
|
in tra_handle : gds_$handle;
|
|||
|
in out blob_handle : gds_$handle;
|
|||
|
out blob_id : gds_$quad;
|
|||
|
in bpb_length : integer16;
|
|||
|
in bpb : UNIV gds_$string
|
|||
|
); extern;
|
|||
|
|
|||
|
procedure GDS_$CREATE_DATABASE (
|
|||
|
out stat : gds_$status_vector;
|
|||
|
in name_length : integer16;
|
|||
|
in file_name : UNIV gds_$string;
|
|||
|
in out db_handle : gds_$handle;
|
|||
|
in dpb_length : integer16;
|
|||
|
in dpb : UNIV gds_$string;
|
|||
|
in dpb_type : integer16
|
|||
|
); extern;
|
|||
|
|
|||
|
procedure GDS_$DDL (
|
|||
|
out stat : gds_$status_vector;
|
|||
|
in db_handle : gds_$handle;
|
|||
|
in tra_handle : gds_$handle;
|
|||
|
in mblr_length : integer16;
|
|||
|
in mblr : UNIV gds_$string
|
|||
|
); extern;
|
|||
|
|
|||
|
procedure GDS_$DETACH_DATABASE (
|
|||
|
out stat : gds_$status_vector;
|
|||
|
in out db_handle : gds_$handle
|
|||
|
); extern;
|
|||
|
|
|||
|
procedure GDS_$DROP_DATABASE (
|
|||
|
out stat : gds_$status_vector;
|
|||
|
in name_length : integer16;
|
|||
|
in file_name : UNIV gds_$string;
|
|||
|
in dbtype : integer16
|
|||
|
); extern;
|
|||
|
|
|||
|
procedure GDS_$EVENT_WAIT (
|
|||
|
out stat : gds_$status_vector;
|
|||
|
in db_handle : gds_$handle;
|
|||
|
in length : integer16;
|
|||
|
in out events : UNIV gds_$string;
|
|||
|
in out buffer : UNIV gds_$string
|
|||
|
); extern;
|
|||
|
|
|||
|
procedure GDS_$GET_SLICE (
|
|||
|
out stat : gds_$status_vector;
|
|||
|
in db_handle : gds_$handle;
|
|||
|
in tra_handle : gds_$handle;
|
|||
|
in blob_id : gds_$quad;
|
|||
|
in sdl_length : integer16;
|
|||
|
in sdl : UNIV gds_$string;
|
|||
|
in param_length : integer16;
|
|||
|
in param : UNIV gds_$string;
|
|||
|
in slice_length : integer32;
|
|||
|
in slice : UNIV gds_$string;
|
|||
|
in out return_length : integer32
|
|||
|
); extern;
|
|||
|
|
|||
|
function GDS_$GET_SEGMENT (
|
|||
|
out stat : gds_$status_vector;
|
|||
|
in blob_handle : gds_$handle;
|
|||
|
out length : integer16;
|
|||
|
in buffer_length : integer16;
|
|||
|
out buffer : UNIV gds_$string
|
|||
|
): integer32; extern;
|
|||
|
|
|||
|
procedure GDS_$OPEN_BLOB (
|
|||
|
out stat : gds_$status_vector;
|
|||
|
in db_handle : gds_$handle;
|
|||
|
in tra_handle : gds_$handle;
|
|||
|
in out blob_handle : gds_$handle;
|
|||
|
in blob_id : gds_$quad
|
|||
|
); extern;
|
|||
|
|
|||
|
procedure GDS_$OPEN_BLOB2 (
|
|||
|
out stat : gds_$status_vector;
|
|||
|
in db_handle : gds_$handle;
|
|||
|
in tra_handle : gds_$handle;
|
|||
|
in out blob_handle : gds_$handle;
|
|||
|
in blob_id : gds_$quad;
|
|||
|
in bpb_length : integer16;
|
|||
|
in bpb : UNIV gds_$string
|
|||
|
); extern;
|
|||
|
|
|||
|
procedure GDS_$PREPARE_TRANSACTION (
|
|||
|
out stat : gds_$status_vector;
|
|||
|
in out tra_handle : gds_$handle
|
|||
|
); extern;
|
|||
|
|
|||
|
procedure GDS_$PREPARE_TRANSACTION2 (
|
|||
|
out stat : gds_$status_vector;
|
|||
|
in out tra_handle : gds_$handle;
|
|||
|
in msg_length : integer16;
|
|||
|
in msg : UNIV gds_$string
|
|||
|
); extern;
|
|||
|
|
|||
|
function GDS_$PUT_SEGMENT (
|
|||
|
out stat : gds_$status_vector;
|
|||
|
in blob_handle : gds_$handle;
|
|||
|
in length : integer16;
|
|||
|
out buffer : UNIV gds_$string
|
|||
|
): integer32; extern;
|
|||
|
|
|||
|
procedure GDS_$PUT_SLICE (
|
|||
|
out stat : gds_$status_vector;
|
|||
|
in db_handle : gds_$handle;
|
|||
|
in tra_handle : gds_$handle;
|
|||
|
in blob_id : gds_$quad;
|
|||
|
in sdl_length : integer16;
|
|||
|
in sdl : UNIV gds_$string;
|
|||
|
in param_length : integer16;
|
|||
|
in param : UNIV gds_$string;
|
|||
|
in slice_length : integer32;
|
|||
|
in slice : UNIV gds_$string
|
|||
|
); extern;
|
|||
|
|
|||
|
procedure GDS_$QUE_EVENTS (
|
|||
|
out stat : gds_$status_vector;
|
|||
|
in db_handle : gds_$handle;
|
|||
|
in id : gds_$quad;
|
|||
|
in length : integer16;
|
|||
|
in events : UNIV gds_$string;
|
|||
|
in ast : gds_$handle;
|
|||
|
in arg : gds_$quad
|
|||
|
); extern;
|
|||
|
|
|||
|
procedure GDS_$RECEIVE (
|
|||
|
out stat : gds_$status_vector;
|
|||
|
in request_handle : gds_$handle;
|
|||
|
in message_type : integer16;
|
|||
|
in message_length : integer16;
|
|||
|
in out message : UNIV gds_$string;
|
|||
|
in instantiation : integer16
|
|||
|
); extern;
|
|||
|
|
|||
|
procedure GDS_$RELEASE_REQUEST (
|
|||
|
out stat : gds_$status_vector;
|
|||
|
in request_handle : gds_$handle
|
|||
|
); extern;
|
|||
|
|
|||
|
procedure GDS_$ROLLBACK_TRANSACTION (
|
|||
|
out stat : gds_$status_vector;
|
|||
|
in out tra_handle : gds_$handle
|
|||
|
); extern;
|
|||
|
|
|||
|
procedure GDS_$SEND (
|
|||
|
out stat : gds_$status_vector;
|
|||
|
in request_handle : gds_$handle;
|
|||
|
in message_type : integer16;
|
|||
|
in message_length : integer16;
|
|||
|
in message : UNIV gds_$string;
|
|||
|
in instantiation : integer16
|
|||
|
); extern;
|
|||
|
|
|||
|
procedure GDS_$START_AND_SEND (
|
|||
|
out stat : gds_$status_vector;
|
|||
|
in request_handle : gds_$handle;
|
|||
|
in tra_handle : gds_$handle;
|
|||
|
in message_type : integer16;
|
|||
|
in message_length : integer16;
|
|||
|
in message : UNIV gds_$string;
|
|||
|
in instantiation : integer16
|
|||
|
); extern;
|
|||
|
|
|||
|
procedure GDS_$START_REQUEST (
|
|||
|
out stat : gds_$status_vector;
|
|||
|
in request_handle : gds_$handle;
|
|||
|
in tra_handle : gds_$handle;
|
|||
|
in instantiation : integer16
|
|||
|
); extern;
|
|||
|
|
|||
|
procedure GDS_$START_MULTIPLE (
|
|||
|
out stat : gds_$status_vector;
|
|||
|
in out tra_handle : gds_$handle;
|
|||
|
in tra_count : integer16;
|
|||
|
in teb : UNIV gds_$string
|
|||
|
); extern;
|
|||
|
|
|||
|
procedure GDS_$START_TRANSACTION (
|
|||
|
out stat : gds_$status_vector;
|
|||
|
in out tra_handle : gds_$handle;
|
|||
|
in tra_count : integer16;
|
|||
|
in db_handle : gds_$handle;
|
|||
|
in tpb_length : integer16;
|
|||
|
in tpb : UNIV gds_$string
|
|||
|
); extern;
|
|||
|
|
|||
|
procedure GDS_$UNWIND_REQUEST (
|
|||
|
out stat : gds_$status_vector;
|
|||
|
in request_handle : gds_$handle;
|
|||
|
in instantiation : integer16
|
|||
|
); extern;
|
|||
|
|
|||
|
procedure gds_$ftof (
|
|||
|
in string1 : UNIV gds_$string;
|
|||
|
in length1 : integer16;
|
|||
|
in string2 : UNIV gds_$string;
|
|||
|
in length2 : integer16
|
|||
|
); extern;
|
|||
|
|
|||
|
procedure gds_$print_status (
|
|||
|
in stat : gds_$status_vector
|
|||
|
); extern;
|
|||
|
|
|||
|
function gds_$sqlcode (
|
|||
|
in stat : gds_$status_vector
|
|||
|
) : integer32; extern;
|
|||
|
|
|||
|
|
|||
|
procedure gds_$encode_date (
|
|||
|
in times : gds_$tm;
|
|||
|
out date : gds_$quad
|
|||
|
); extern;
|
|||
|
|
|||
|
procedure gds_$decode_date (
|
|||
|
in date : gds_$quad;
|
|||
|
out times : gds_$tm
|
|||
|
); extern;
|
|||
|
|
|||
|
const
|
|||
|
gds_$true = 1;
|
|||
|
gds_$false = 0;
|
|||
|
|
|||
|
$ SYMBOLS BLR DTYPE BYTE "\t%-32s= chr(%d);\n
|
|||
|
$ SYMBOLS BLR MECH "\t%-32s= chr(%d);\n
|
|||
|
|
|||
|
$ SYMBOLS BLR STATEMENTS"\t%-32s= chr(%d);\n
|
|||
|
$ SYMBOLS BLR VALUES "\t%-32s= chr(%d);\n
|
|||
|
|
|||
|
$ SYMBOLS BLR BOOLEANS "\t%-32s= chr(%d);\n
|
|||
|
|
|||
|
$ SYMBOLS BLR RSE "\t%-32s= chr(%d);\n
|
|||
|
|
|||
|
$ SYMBOLS BLR JOIN "\t%-32s= chr(%d);\n
|
|||
|
|
|||
|
$ SYMBOLS BLR AGGREGATE "\t%-32s= chr(%d);\n
|
|||
|
$ SYMBOLS BLR NEW "\t%-32s= chr(%d);\n
|
|||
|
|
|||
|
(* Database parameter block stuff *)
|
|||
|
|
|||
|
$ SYMBOLS DPB ITEMS "\t%-32s= chr(%d);\n
|
|||
|
|
|||
|
$ SYMBOLS DPB BITS "\t%-32s= chr(%d);\n
|
|||
|
|
|||
|
|
|||
|
(* Transaction parameter block stuff *)
|
|||
|
|
|||
|
$ SYMBOLS TPB ITEMS "\t%-32s= chr(%d);\n
|
|||
|
|
|||
|
(* Blob parameter block stuff *)
|
|||
|
|
|||
|
$ SYMBOLS BPB ITEMS "\t%-32s= chr(%d);\n
|
|||
|
|
|||
|
(* Blob routine declarations *)
|
|||
|
|
|||
|
type
|
|||
|
gds_$field_name = array [1..31] of char;
|
|||
|
gds_$file_name = array [1..128] of char;
|
|||
|
|
|||
|
procedure blob_$display (
|
|||
|
in blob_id : gds_$quad;
|
|||
|
in db_handle : gds_$handle;
|
|||
|
in tra_handle : gds_$handle;
|
|||
|
in field_name : univ gds_$field_name;
|
|||
|
in name_length : integer16
|
|||
|
); extern;
|
|||
|
|
|||
|
procedure blob_$dump (
|
|||
|
in blob_id : gds_$quad;
|
|||
|
in db_handle : gds_$handle;
|
|||
|
in tra_handle : gds_$handle;
|
|||
|
in file_name : univ gds_$file_name;
|
|||
|
in name_length : integer16
|
|||
|
); extern;
|
|||
|
|
|||
|
procedure blob_$edit (
|
|||
|
in blob_id : gds_$quad;
|
|||
|
in db_handle : gds_$handle;
|
|||
|
in tra_handle : gds_$handle;
|
|||
|
in field_name : univ gds_$field_name;
|
|||
|
in name_length : integer16
|
|||
|
); extern;
|
|||
|
|
|||
|
procedure blob_$load (
|
|||
|
in blob_id : gds_$quad;
|
|||
|
in db_handle : gds_$handle;
|
|||
|
in tra_handle : gds_$handle;
|
|||
|
in file_name : univ gds_$file_name;
|
|||
|
in name_length : integer16
|
|||
|
); extern;
|
|||
|
|
|||
|
(* Dynamic SQL procedures *)
|
|||
|
|
|||
|
procedure gds_$close (
|
|||
|
out stat : gds_$status_vector;
|
|||
|
in cursor_name : UNIV gds_$string
|
|||
|
); extern;
|
|||
|
|
|||
|
procedure gds_$declare (
|
|||
|
out stat : gds_$status_vector;
|
|||
|
in statement_name : UNIV gds_$string;
|
|||
|
in cursor_name : UNIV gds_$string
|
|||
|
); extern;
|
|||
|
|
|||
|
procedure gds_$describe (
|
|||
|
out stat : gds_$status_vector;
|
|||
|
in statement_name : UNIV gds_$string;
|
|||
|
in out descriptor : UNIV sqlda
|
|||
|
); extern;
|
|||
|
|
|||
|
procedure gds_$dsql_finish (
|
|||
|
in db_handle : gds_$handle
|
|||
|
); extern;
|
|||
|
|
|||
|
procedure gds_$execute (
|
|||
|
out stat : gds_$status_vector;
|
|||
|
in trans_handle : gds_$handle;
|
|||
|
in statement_name : UNIV gds_$string;
|
|||
|
in out descriptor : UNIV sqlda
|
|||
|
); extern;
|
|||
|
|
|||
|
procedure gds_$execute_immediate (
|
|||
|
out stat : gds_$status_vector;
|
|||
|
in db_handle : gds_$handle;
|
|||
|
in trans_handle : gds_$handle;
|
|||
|
in string_length : integer;
|
|||
|
in string : UNIV gds_$string
|
|||
|
); extern;
|
|||
|
|
|||
|
function gds_$fetch (
|
|||
|
out stat : gds_$status_vector;
|
|||
|
in cursor_name : UNIV gds_$string;
|
|||
|
in out descriptor : UNIV sqlda
|
|||
|
) : integer32; extern;
|
|||
|
|
|||
|
procedure gds_$open (
|
|||
|
out stat : gds_$status_vector;
|
|||
|
in trans_handle : gds_$handle;
|
|||
|
in cursor_name : UNIV gds_$string;
|
|||
|
in out descriptor : UNIV sqlda
|
|||
|
); extern;
|
|||
|
|
|||
|
procedure gds_$prepare (
|
|||
|
out stat : gds_$status_vector;
|
|||
|
in db_handle : gds_$handle;
|
|||
|
in trans_handle : gds_$handle;
|
|||
|
in statement_name : UNIV gds_$string;
|
|||
|
in string_length : integer;
|
|||
|
in string : UNIV gds_$string;
|
|||
|
in out descriptor : UNIV sqlda
|
|||
|
); extern;
|
|||
|
|
|||
|
|
|||
|
(* Information parameters *)
|
|||
|
|
|||
|
(* Common, structural codes *)
|
|||
|
const
|
|||
|
$ SYMBOLS INFO MECH "\t%-32s= chr(%d);\n
|
|||
|
|
|||
|
(* Database information items *)
|
|||
|
|
|||
|
$ SYMBOLS INFO DB "\t%-32s= chr(%d);\n
|
|||
|
|
|||
|
(* Request information items *)
|
|||
|
|
|||
|
$ SYMBOLS INFO REQUEST "\t%-32s= chr(%d);\n
|
|||
|
|
|||
|
(* Blob information items *)
|
|||
|
|
|||
|
$ SYMBOLS INFO BLOB "\t%-32s= chr(%d);\n
|
|||
|
|
|||
|
(* Transaction information items *)
|
|||
|
|
|||
|
$ SYMBOLS INFO TRANSACTION "\t%-32s= chr(%d);\n
|
|||
|
|
|||
|
(* Error codes *)
|
|||
|
|
|||
|
CONST
|
|||
|
$ SYMBOLS ERROR MECH "\t%-26s= %d;\n
|
|||
|
|
|||
|
$ ERROR MAJOR "\t%-26s= %d;\n
|
|||
|
|
|||
|
(* Minor codes subject to change *)
|
|||
|
|
|||
|
$ ERROR MINOR "\t%-26s= %d;\n
|
|||
|
|
|||
|
(* Dynamic Data Definition Language operators *)
|
|||
|
|
|||
|
(* Version number *)
|
|||
|
|
|||
|
$ SYMBOLS DYN MECH "\t%-32s= chr(%d);\n
|
|||
|
|
|||
|
(* Operations (may be nested) *)
|
|||
|
|
|||
|
$ SYMBOLS DYN OPERATIONS "\t%-32s= chr(%d);\n
|
|||
|
|
|||
|
(* View specific stuff *)
|
|||
|
|
|||
|
$ SYMBOLS DYN VIEW "\t%-32s= chr(%d);\n
|
|||
|
|
|||
|
(* Generic attributes *)
|
|||
|
|
|||
|
$ SYMBOLS DYN GENERIC "\t%-32s= chr(%d);\n
|
|||
|
|
|||
|
(* Relation specific attributes *)
|
|||
|
|
|||
|
$ SYMBOLS DYN RELATION "\t%-32s= chr(%d);\n
|
|||
|
|
|||
|
(* Global field specific attributes *)
|
|||
|
|
|||
|
$ SYMBOLS DYN GLOBAL "\t%-32s= chr(%d);\n
|
|||
|
|
|||
|
(* Local field specific attributes *)
|
|||
|
|
|||
|
$ SYMBOLS DYN FIELD "\t%-32s= chr(%d);\n
|
|||
|
|
|||
|
(* Index specific attributes *)
|
|||
|
|
|||
|
$ SYMBOLS DYN INDEX "\t%-32s= chr(%d);\n
|
|||
|
|
|||
|
(* Trigger specific attributes *)
|
|||
|
|
|||
|
$ SYMBOLS DYN TRIGGER "\t%-32s= chr(%d);\n
|
|||
|
|
|||
|
(* Security Class specific attributes *)
|
|||
|
|
|||
|
$ SYMBOLS DYN SECURITY "\t%-32s= chr(%d);\n
|
|||
|
|
|||
|
(* dimension specific stuff *)
|
|||
|
|
|||
|
$ SYMBOLS DYN ARRAY "\t%-32s= chr(%d);\n
|
|||
|
|
|||
|
(* File specific attributes *)
|
|||
|
|
|||
|
$ SYMBOLS DYN FILES "\t%-32s= chr(%d);\n
|
|||
|
|
|||
|
(* Function specific attributes *)
|
|||
|
|
|||
|
$ SYMBOLS DYN FUNCTIONS "\t%-32s= chr(%d);\n
|
|||
|
|
|||
|
(* Generator specific attributes *)
|
|||
|
|
|||
|
$ SYMBOLS DYN GENERATOR "\t%-32s= chr(%d);\n
|
|||
|
|
|||
|
(* Array slice description language (SDL) *)
|
|||
|
|
|||
|
$ SYMBOLS SDL SDL BYTE "\t%-32s= chr(%d);\n
|
|||
|
|
|||
|
(* Dynamic SQL datatypes *)
|
|||
|
|
|||
|
CONST
|
|||
|
$ SYMBOLS SQL DTYPE "\t%-32s= %d;\n
|
|||
|
|
|||
|
(* Forms Package definitions *)
|
|||
|
|
|||
|
(* Map definition block definitions *)
|
|||
|
|
|||
|
CONST
|
|||
|
$ SYMBOLS PYXIS MAP BYTE "\t%-32s= chr(%d);\n
|
|||
|
|
|||
|
(* Field option flags for display options *)
|
|||
|
|
|||
|
CONST
|
|||
|
$ SYMBOLS PYXIS DISPLAY "\t%-32s= %d;\n
|
|||
|
|
|||
|
(* Field option values following display *)
|
|||
|
|
|||
|
CONST
|
|||
|
$ SYMBOLS PYXIS VALUE "\t%-32s= %d;\n
|
|||
|
|
|||
|
(* Pseudo key definitions *)
|
|||
|
|
|||
|
CONST
|
|||
|
$ SYMBOLS PYXIS KEY "\t%-32s= %d;\n
|
|||
|
|
|||
|
(* Menu definition stuff *)
|
|||
|
|
|||
|
CONST
|
|||
|
$ SYMBOLS PYXIS MENU BYTE "\t%-32s= chr(%d);\n
|
|||
|
|
|||
|
procedure pyxis_$compile_map (
|
|||
|
out stat : gds_$status_vector;
|
|||
|
in form_handle : gds_$handle;
|
|||
|
out map_handle : gds_$handle;
|
|||
|
in length : integer16;
|
|||
|
in map : UNIV gds_$string
|
|||
|
); extern;
|
|||
|
|
|||
|
procedure pyxis_$compile_sub_map (
|
|||
|
out stat : gds_$status_vector;
|
|||
|
in form_handle : gds_$handle;
|
|||
|
out map_handle : gds_$handle;
|
|||
|
in length : integer16;
|
|||
|
in map : UNIV gds_$string
|
|||
|
); extern;
|
|||
|
|
|||
|
procedure pyxis_$create_window (
|
|||
|
in out window_handle : gds_$handle;
|
|||
|
in name_length : integer16;
|
|||
|
in file_name : UNIV gds_$string;
|
|||
|
in out width : integer16;
|
|||
|
in out height : integer16
|
|||
|
); extern;
|
|||
|
|
|||
|
procedure pyxis_$delete_window (
|
|||
|
in out window_handle : gds_$handle
|
|||
|
); extern;
|
|||
|
|
|||
|
procedure pyxis_$drive_form (
|
|||
|
out stat : gds_$status_vector;
|
|||
|
in db_handle : gds_$handle;
|
|||
|
in trans_handle : gds_$handle;
|
|||
|
in out window_handle : gds_$handle;
|
|||
|
in map_handle : gds_$handle;
|
|||
|
in input : UNIV gds_$string;
|
|||
|
in output : UNIV gds_$string
|
|||
|
); extern;
|
|||
|
|
|||
|
procedure pyxis_$fetch (
|
|||
|
out stat : gds_$status_vector;
|
|||
|
in db_handle : gds_$handle;
|
|||
|
in trans_handle : gds_$handle;
|
|||
|
in map_handle : gds_$handle;
|
|||
|
in output : UNIV gds_$string
|
|||
|
); extern;
|
|||
|
|
|||
|
procedure pyxis_$insert (
|
|||
|
out stat : gds_$status_vector;
|
|||
|
in db_handle : gds_$handle;
|
|||
|
in trans_handle : gds_$handle;
|
|||
|
in map_handle : gds_$handle;
|
|||
|
in input : UNIV gds_$string
|
|||
|
); extern;
|
|||
|
|
|||
|
procedure pyxis_$load_form (
|
|||
|
out stat : gds_$status_vector;
|
|||
|
in db_handle : gds_$handle;
|
|||
|
in trans_handle : gds_$handle;
|
|||
|
in out form_handle : gds_$handle;
|
|||
|
in name_length : integer16;
|
|||
|
in form_name : UNIV gds_$string
|
|||
|
); extern;
|
|||
|
|
|||
|
function pyxis_$menu (
|
|||
|
in out window_handle : gds_$handle;
|
|||
|
in out menu_handle : gds_$handle;
|
|||
|
in length : integer16;
|
|||
|
in menu : UNIV gds_$string
|
|||
|
) : integer16; extern;
|
|||
|
|
|||
|
procedure pyxis_$pop_window (
|
|||
|
in window_handle : gds_$handle
|
|||
|
); extern;
|
|||
|
|
|||
|
procedure pyxis_$reset_form (
|
|||
|
out stat : gds_$status_vector;
|
|||
|
in window_handle : gds_$handle
|
|||
|
); extern;
|
|||
|
|
|||
|
procedure pyxis_$drive_menu (
|
|||
|
in out window_handle : gds_$handle;
|
|||
|
in out menu_handle : gds_$handle;
|
|||
|
in blr_length : integer16;
|
|||
|
in blr_source : UNIV gds_$string;
|
|||
|
in title_length : integer16;
|
|||
|
in title : UNIV gds_$string;
|
|||
|
out terminator : integer16;
|
|||
|
out entree_length : integer16;
|
|||
|
out entree_text : UNIV gds_$string;
|
|||
|
out entree_value : integer32
|
|||
|
); extern;
|
|||
|
|
|||
|
procedure pyxis_$get_entree (
|
|||
|
in menu_handle : gds_$handle;
|
|||
|
out entree_length : integer16;
|
|||
|
out entree_text : UNIV gds_$string;
|
|||
|
out entree_value : integer32;
|
|||
|
out entree_end : integer16
|
|||
|
); extern;
|
|||
|
|
|||
|
procedure pyxis_$initialize_menu (
|
|||
|
in out menu_handle : gds_$handle
|
|||
|
); extern;
|
|||
|
|
|||
|
procedure pyxis_$put_entree (
|
|||
|
in menu_handle : gds_$handle;
|
|||
|
in entree_length : integer16;
|
|||
|
in entree_text : UNIV gds_$string;
|
|||
|
in entree_value : integer32
|
|||
|
); extern;');
|
|||
|
INSERT INTO TEMPLATES (LANGUAGE, "FILE", TEMPLATE) VALUES ('APOLLO_ADA', 'interbase.a',
|
|||
|
'WITH SYSTEM;
|
|||
|
|
|||
|
PACKAGE interbase IS
|
|||
|
|
|||
|
TYPE status_vector IS ARRAY (0..19) OF INTEGER;
|
|||
|
TYPE quad IS ARRAY (0..1) OF INTEGER;
|
|||
|
TYPE chars is array (integer range <>) of character;
|
|||
|
TYPE blr IS ARRAY (integer range <>) of tiny_integer;
|
|||
|
TYPE dpb IS ARRAY (integer range <>) of tiny_integer;
|
|||
|
TYPE tpb IS ARRAY (integer range <>) of tiny_integer;
|
|||
|
|
|||
|
SUBTYPE isc_short IS short_integer;
|
|||
|
SUBTYPE isc_long IS integer;
|
|||
|
SUBTYPE isc_float IS short_float;
|
|||
|
SUBTYPE isc_double IS float;
|
|||
|
SUBTYPE database_handle IS integer;
|
|||
|
SUBTYPE request_handle IS integer;
|
|||
|
SUBTYPE transaction_handle IS integer;
|
|||
|
SUBTYPE blob_handle IS integer;
|
|||
|
SUBTYPE form_handle IS integer;
|
|||
|
SUBTYPE map_handle IS integer;
|
|||
|
SUBTYPE window_handle IS integer;
|
|||
|
SUBTYPE menu_handle IS integer;
|
|||
|
|
|||
|
TYPE gds_teb_t IS RECORD
|
|||
|
dbb_ptr : SYSTEM.ADDRESS;
|
|||
|
tpb_len : integer;
|
|||
|
tpb_ptr : SYSTEM.ADDRESS;
|
|||
|
END RECORD;
|
|||
|
|
|||
|
TYPE gds_tm IS RECORD
|
|||
|
tm_sec : integer;
|
|||
|
tm_min : integer;
|
|||
|
tm_hour : integer;
|
|||
|
tm_mday : integer;
|
|||
|
tm_mon : integer;
|
|||
|
tm_year : integer;
|
|||
|
tm_wday : integer;
|
|||
|
tm_yday : integer;
|
|||
|
tm_isdst : integer;
|
|||
|
END RECORD;
|
|||
|
|
|||
|
TYPE sqlvar is RECORD
|
|||
|
sqltype : short_integer;
|
|||
|
sqllen : short_integer;
|
|||
|
sqldata : SYSTEM.ADDRESS;
|
|||
|
sqlind : SYSTEM.ADDRESS;
|
|||
|
sqlname_length : short_integer;
|
|||
|
sqlname : chars (1..30);
|
|||
|
END RECORD;
|
|||
|
|
|||
|
FOR sqlvar use record at mod 2;
|
|||
|
sqltype at 0 range 0..15;
|
|||
|
sqllen at 2 range 0..15;
|
|||
|
sqldata at 4 range 0..31;
|
|||
|
sqlind at 8 range 0..31;
|
|||
|
sqlname_length at 12 range 0..15;
|
|||
|
sqlname at 14 range 0..239;
|
|||
|
END RECORD;
|
|||
|
|
|||
|
TYPE sqlvar_array IS ARRAY (short_integer range <>) of sqlvar;
|
|||
|
|
|||
|
--- Constants
|
|||
|
|
|||
|
gds_true : CONSTANT integer := 1;
|
|||
|
gds_false : CONSTANT integer := 0;
|
|||
|
|
|||
|
--- BLR
|
|||
|
|
|||
|
$ SET SANS_DOLLAR
|
|||
|
|
|||
|
$ FORMAT BLR_FORMAT " %s : CONSTANT tiny_integer := %d;\n
|
|||
|
$ FORMAT DYN_FORMAT " %-32s: CONSTANT tiny_integer := %d;\n
|
|||
|
$ FORMAT SDL_FORMAT " %-32s: CONSTANT tiny_integer := %d;\n
|
|||
|
$ FORMAT ERROR_FORMAT "%-25s: CONSTANT integer := %d;\n
|
|||
|
$ FORMAT PB_FORMAT " %-29s: CONSTANT tiny_integer := %d;\n
|
|||
|
$ FORMAT PYXIS_FORMAT "%-29s: CONSTANT tiny_integer := %d;\n
|
|||
|
$ FORMAT OPT_FORMAT "%-32s: CONSTANT integer := %d;\n
|
|||
|
$ FORMAT SQL_FORMAT "%-16s: CONSTANT short_integer := %d;\n
|
|||
|
|
|||
|
$ SYMBOLS BLR DTYPE BLR_FORMAT
|
|||
|
$ SYMBOLS BLR MECH SIGNED BLR_FORMAT
|
|||
|
|
|||
|
$ SYMBOLS BLR STATEMENTS BLR_FORMAT
|
|||
|
$ SYMBOLS BLR VALUES BLR_FORMAT
|
|||
|
|
|||
|
$ SYMBOLS BLR BOOLEANS BLR_FORMAT
|
|||
|
|
|||
|
$ SYMBOLS BLR RSE BLR_FORMAT
|
|||
|
|
|||
|
$ SYMBOLS BLR JOIN BLR_FORMAT
|
|||
|
|
|||
|
$ SYMBOLS BLR AGGREGATE BLR_FORMAT
|
|||
|
$ SYMBOLS BLR NEW BLR_FORMAT
|
|||
|
|
|||
|
--- Dynamic Data Definition Language operators
|
|||
|
|
|||
|
--- Version number
|
|||
|
|
|||
|
$ SYMBOLS DYN MECH SIGNED DYN_FORMAT
|
|||
|
|
|||
|
--- Operations (may be nested)
|
|||
|
|
|||
|
$ SYMBOLS DYN OPERATIONS SIGNED DYN_FORMAT
|
|||
|
|
|||
|
--- View specific stuff
|
|||
|
|
|||
|
$ SYMBOLS DYN VIEW SIGNED DYN_FORMAT
|
|||
|
|
|||
|
--- Generic attributes
|
|||
|
|
|||
|
$ SYMBOLS DYN GENERIC SIGNED DYN_FORMAT
|
|||
|
|
|||
|
--- Relation specific attributes
|
|||
|
|
|||
|
$ SYMBOLS DYN RELATION SIGNED DYN_FORMAT
|
|||
|
|
|||
|
--- Global field specific attributes
|
|||
|
|
|||
|
$ SYMBOLS DYN GLOBAL SIGNED DYN_FORMAT
|
|||
|
|
|||
|
--- Local field specific attributes
|
|||
|
|
|||
|
$ SYMBOLS DYN FIELD SIGNED DYN_FORMAT
|
|||
|
|
|||
|
--- Index specific attributes
|
|||
|
|
|||
|
$ SYMBOLS DYN INDEX SIGNED DYN_FORMAT
|
|||
|
|
|||
|
--- Trigger specific attributes
|
|||
|
|
|||
|
$ SYMBOLS DYN TRIGGER SIGNED DYN_FORMAT
|
|||
|
|
|||
|
--- Security Class specific attributes
|
|||
|
|
|||
|
$ SYMBOLS DYN SECURITY SIGNED DYN_FORMAT
|
|||
|
|
|||
|
--- Dimension attributes
|
|||
|
|
|||
|
$ SYMBOLS DYN ARRAY SIGNED DYN_FORMAT
|
|||
|
|
|||
|
--- File specific attributes
|
|||
|
|
|||
|
$ SYMBOLS DYN FILES DYN_FORMAT
|
|||
|
|
|||
|
--- Function specific attributes
|
|||
|
|
|||
|
$ SYMBOLS DYN FUNCTIONS DYN_FORMAT
|
|||
|
|
|||
|
--- Generator specific attributes
|
|||
|
|
|||
|
$ SYMBOLS DYN GENERATOR DYN_FORMAT
|
|||
|
|
|||
|
--- Array slice description language (SDL)
|
|||
|
|
|||
|
$ SYMBOLS SDL SDL SIGNED SDL_FORMAT
|
|||
|
|
|||
|
--- Database parameter block stuff
|
|||
|
|
|||
|
$ SYMBOLS DPB ITEMS PB_FORMAT
|
|||
|
|
|||
|
$ SYMBOLS DPB BITS PB_FORMAT
|
|||
|
|
|||
|
--- Transaction parameter block stuff
|
|||
|
|
|||
|
$ SYMBOLS TPB ITEMS PB_FORMAT
|
|||
|
|
|||
|
--- Blob parameter block stuff
|
|||
|
|
|||
|
$ SYMBOLS BPB ITEMS PB_FORMAT
|
|||
|
|
|||
|
--- Common, structural codes
|
|||
|
|
|||
|
$ SYMBOLS INFO MECH PB_FORMAT
|
|||
|
|
|||
|
--- Database information items
|
|||
|
|
|||
|
$ SYMBOLS INFO DB PB_FORMAT
|
|||
|
|
|||
|
--- Request information items
|
|||
|
|
|||
|
$ SYMBOLS INFO REQUEST PB_FORMAT
|
|||
|
|
|||
|
--- Blob information items
|
|||
|
|
|||
|
$ SYMBOLS INFO BLOB PB_FORMAT
|
|||
|
|
|||
|
--- Transaction information items
|
|||
|
|
|||
|
$ SYMBOLS INFO TRANSACTION PB_FORMAT
|
|||
|
|
|||
|
--- Error codes
|
|||
|
|
|||
|
$ SYMBOLS ERROR MECH ERROR_FORMAT
|
|||
|
|
|||
|
$ ERROR MAJOR ERROR_FORMAT
|
|||
|
|
|||
|
--- Minor codes subject to change
|
|||
|
|
|||
|
$ ERROR MINOR ERROR_FORMAT
|
|||
|
|
|||
|
--- Dynamic SQL datatypes
|
|||
|
|
|||
|
$ SYMBOLS SQL DTYPE SQL_FORMAT
|
|||
|
|
|||
|
--- Forms Package definitions
|
|||
|
|
|||
|
--- Map definition block definitions
|
|||
|
|
|||
|
$ SYMBOLS PYXIS MAP SIGNED PYXIS_FORMAT
|
|||
|
|
|||
|
--- Field option flags for display options
|
|||
|
|
|||
|
$ SYMBOLS PYXIS DISPLAY OPT_FORMAT
|
|||
|
|
|||
|
--- Field option values following display
|
|||
|
|
|||
|
$ SYMBOLS PYXIS VALUE OPT_FORMAT
|
|||
|
|
|||
|
--- Pseudo key definitions
|
|||
|
|
|||
|
$ SYMBOLS PYXIS KEY OPT_FORMAT
|
|||
|
|
|||
|
--- Menu definition stuff
|
|||
|
|
|||
|
$ SYMBOLS PYXIS MENU SIGNED PYXIS_FORMAT
|
|||
|
|
|||
|
database_error : EXCEPTION;
|
|||
|
null_blob : CONSTANT quad := (0, 0);
|
|||
|
null_tpb : tpb (0..0);
|
|||
|
null_dpb : dpb (0..0);
|
|||
|
|
|||
|
PROCEDURE attach_database (
|
|||
|
user_status : OUT status_vector;
|
|||
|
file_length : short_integer;
|
|||
|
file_name : string;
|
|||
|
db_handle : IN OUT database_handle;
|
|||
|
dpb_length : short_integer;
|
|||
|
dpb_arg : dpb);
|
|||
|
|
|||
|
PROCEDURE blob_display (
|
|||
|
blob_id : quad;
|
|||
|
db_handle : database_handle;
|
|||
|
tra_handle : transaction_handle;
|
|||
|
field_name : string;
|
|||
|
name_length : short_integer);
|
|||
|
|
|||
|
PROCEDURE blob_dump (
|
|||
|
blob_id : quad;
|
|||
|
db_handle : database_handle;
|
|||
|
tra_handle : transaction_handle;
|
|||
|
file_name : string;
|
|||
|
name_length : short_integer);
|
|||
|
|
|||
|
PROCEDURE blob_edit (
|
|||
|
blob_id : IN OUT quad;
|
|||
|
db_handle : database_handle;
|
|||
|
tra_handle : transaction_handle;
|
|||
|
field_name : string;
|
|||
|
name_length : short_integer);
|
|||
|
|
|||
|
PROCEDURE blob_load (
|
|||
|
blob_id : IN OUT quad;
|
|||
|
db_handle : database_handle;
|
|||
|
tra_handle : transaction_handle;
|
|||
|
file_name : string;
|
|||
|
name_length : short_integer);
|
|||
|
|
|||
|
PROCEDURE cancel_blob (
|
|||
|
user_status : OUT status_vector;
|
|||
|
blb_handle : IN OUT blob_handle);
|
|||
|
|
|||
|
PROCEDURE cancel_events (
|
|||
|
user_status : OUT status_vector;
|
|||
|
blb_handle : IN OUT blob_handle);
|
|||
|
|
|||
|
PROCEDURE close_blob (
|
|||
|
user_status : OUT status_vector;
|
|||
|
blb_handle : IN OUT blob_handle);
|
|||
|
|
|||
|
PROCEDURE commit_retaining (
|
|||
|
user_status : OUT status_vector;
|
|||
|
trans_handle : IN OUT transaction_handle);
|
|||
|
|
|||
|
PROCEDURE commit_transaction (
|
|||
|
user_status : OUT status_vector;
|
|||
|
trans_handle : IN OUT transaction_handle);
|
|||
|
|
|||
|
PROCEDURE compile_request (
|
|||
|
user_status : OUT status_vector;
|
|||
|
db_handle : database_handle;
|
|||
|
req_handle : IN OUT request_handle;
|
|||
|
blr_length : short_integer;
|
|||
|
blr_arg : blr);
|
|||
|
|
|||
|
PROCEDURE compile_request2 (
|
|||
|
user_status : OUT status_vector;
|
|||
|
db_handle : database_handle;
|
|||
|
req_handle : IN OUT request_handle;
|
|||
|
blr_length : short_integer;
|
|||
|
blr_arg : blr);
|
|||
|
|
|||
|
PROCEDURE create_blob (
|
|||
|
user_status : OUT status_vector;
|
|||
|
db_handle : database_handle;
|
|||
|
trans_handle : transaction_handle;
|
|||
|
blb_handle : IN OUT blob_handle;
|
|||
|
blob_id : OUT quad);
|
|||
|
|
|||
|
PROCEDURE create_blob2 (
|
|||
|
user_status : OUT status_vector;
|
|||
|
db_handle : database_handle;
|
|||
|
trans_handle : transaction_handle;
|
|||
|
blb_handle : IN OUT blob_handle;
|
|||
|
blob_id : OUT quad;
|
|||
|
bpb_length : short_integer;
|
|||
|
bpb : blr);
|
|||
|
|
|||
|
PROCEDURE create_database (
|
|||
|
user_status : OUT status_vector;
|
|||
|
file_length : short_integer;
|
|||
|
file_name : string;
|
|||
|
db_handle : IN OUT database_handle;
|
|||
|
dpb_length : short_integer;
|
|||
|
dpb_arg : dpb;
|
|||
|
db_type : short_integer);
|
|||
|
|
|||
|
PROCEDURE detach_database (
|
|||
|
user_status : OUT status_vector;
|
|||
|
db_handle : IN OUT database_handle);
|
|||
|
|
|||
|
PROCEDURE ddl (
|
|||
|
user_status : OUT status_vector;
|
|||
|
db_handle : database_handle;
|
|||
|
trans_handle : transaction_handle;
|
|||
|
msg_length : short_integer;
|
|||
|
msg : SYSTEM.ADDRESS);
|
|||
|
|
|||
|
PROCEDURE decode_date (
|
|||
|
date : quad;
|
|||
|
times : IN OUT gds_tm);
|
|||
|
|
|||
|
PROCEDURE encode_date (
|
|||
|
times : IN OUT gds_tm;
|
|||
|
date : quad);
|
|||
|
|
|||
|
PROCEDURE event_wait (
|
|||
|
user_status : OUT status_vector;
|
|||
|
db_handle : database_handle;
|
|||
|
length : short_integer;
|
|||
|
events : string;
|
|||
|
buffer : string);
|
|||
|
|
|||
|
PROCEDURE get_segment (
|
|||
|
user_status : OUT status_vector;
|
|||
|
blb_handle : blob_handle;
|
|||
|
actual_length : OUT short_integer;
|
|||
|
buffer_length : short_integer;
|
|||
|
buffer : string);
|
|||
|
|
|||
|
PROCEDURE get_slice (
|
|||
|
user_status : OUT status_vector;
|
|||
|
db_handle : database_handle;
|
|||
|
trans_handle : transaction_handle;
|
|||
|
blob_id : quad;
|
|||
|
sdl_length : short_integer;
|
|||
|
sdl : blr;
|
|||
|
param_length : short_integer;
|
|||
|
param : string;
|
|||
|
slice_length : integer;
|
|||
|
slice : SYSTEM.ADDRESS;
|
|||
|
return_length : OUT integer);
|
|||
|
|
|||
|
PROCEDURE open_blob (
|
|||
|
user_status : OUT status_vector;
|
|||
|
db_handle : database_handle;
|
|||
|
trans_handle : transaction_handle;
|
|||
|
blb_handle : IN OUT blob_handle;
|
|||
|
blob_id : quad);
|
|||
|
|
|||
|
PROCEDURE open_blob2 (
|
|||
|
user_status : OUT status_vector;
|
|||
|
db_handle : database_handle;
|
|||
|
trans_handle : transaction_handle;
|
|||
|
blb_handle : IN OUT blob_handle;
|
|||
|
blob_id : quad;
|
|||
|
bpb_length : short_integer;
|
|||
|
bpb : blr);
|
|||
|
|
|||
|
PROCEDURE prepare_transaction (
|
|||
|
user_status : OUT status_vector;
|
|||
|
trans_handle : IN OUT transaction_handle);
|
|||
|
|
|||
|
PROCEDURE prepare_transaction2 (
|
|||
|
user_status : OUT status_vector;
|
|||
|
trans_handle : IN OUT transaction_handle;
|
|||
|
msg_length : short_integer;
|
|||
|
msg : blr);
|
|||
|
|
|||
|
PROCEDURE put_segment (
|
|||
|
user_status : OUT status_vector;
|
|||
|
blb_handle : blob_handle;
|
|||
|
length : short_integer;
|
|||
|
buffer : string);
|
|||
|
|
|||
|
PROCEDURE put_slice (
|
|||
|
user_status : OUT status_vector;
|
|||
|
db_handle : database_handle;
|
|||
|
trans_handle : transaction_handle;
|
|||
|
blob_id : IN OUT quad;
|
|||
|
sdl_length : short_integer;
|
|||
|
sdl : blr;
|
|||
|
param_length : short_integer;
|
|||
|
param : string;
|
|||
|
slice_length : integer;
|
|||
|
slice : SYSTEM.ADDRESS);
|
|||
|
|
|||
|
PROCEDURE queue_events (
|
|||
|
user_status : OUT status_vector;
|
|||
|
db_handle : database_handle;
|
|||
|
id : quad;
|
|||
|
length : short_integer;
|
|||
|
events : string;
|
|||
|
ast : integer;
|
|||
|
arg : quad);
|
|||
|
|
|||
|
PROCEDURE receive (
|
|||
|
user_status : OUT status_vector;
|
|||
|
req_handle : request_handle;
|
|||
|
msg_type : short_integer;
|
|||
|
msg_length : short_integer;
|
|||
|
msg : SYSTEM.ADDRESS;
|
|||
|
level : short_integer);
|
|||
|
|
|||
|
PROCEDURE rollback_transaction (
|
|||
|
user_status : OUT status_vector;
|
|||
|
trans_handle : IN OUT transaction_handle);
|
|||
|
|
|||
|
PROCEDURE send (
|
|||
|
user_status : OUT status_vector;
|
|||
|
req_handle : request_handle;
|
|||
|
msg_type : short_integer;
|
|||
|
msg_length : short_integer;
|
|||
|
msg : SYSTEM.ADDRESS;
|
|||
|
level : short_integer);
|
|||
|
|
|||
|
PROCEDURE set_debug (
|
|||
|
debug_val : integer);
|
|||
|
|
|||
|
PROCEDURE start_and_send (
|
|||
|
user_status : OUT status_vector;
|
|||
|
req_handle : request_handle;
|
|||
|
trans_handle : transaction_handle;
|
|||
|
msg_type : short_integer;
|
|||
|
msg_length : short_integer;
|
|||
|
msg : SYSTEM.ADDRESS;
|
|||
|
level : short_integer);
|
|||
|
|
|||
|
PROCEDURE start_request (
|
|||
|
user_status : OUT status_vector;
|
|||
|
req_handle : request_handle;
|
|||
|
trans_handle : transaction_handle;
|
|||
|
level : short_integer);
|
|||
|
|
|||
|
PROCEDURE start_multiple (
|
|||
|
user_status : OUT status_vector;
|
|||
|
trans_handle : IN OUT transaction_handle;
|
|||
|
count : short_integer;
|
|||
|
teb : SYSTEM.ADDRESS);
|
|||
|
|
|||
|
PROCEDURE start_transaction (
|
|||
|
user_status : OUT status_vector;
|
|||
|
trans_handle : IN OUT transaction_handle;
|
|||
|
count : short_integer;
|
|||
|
db_handle : database_handle;
|
|||
|
tpb_length : short_integer;
|
|||
|
tpb_arg : tpb);
|
|||
|
|
|||
|
PROCEDURE unwind_request (
|
|||
|
user_status : OUT status_vector;
|
|||
|
req_handle : request_handle;
|
|||
|
level : short_integer);
|
|||
|
|
|||
|
PROCEDURE print_status (
|
|||
|
user_status : status_vector);
|
|||
|
|
|||
|
PROCEDURE print_version (
|
|||
|
db_handle : database_handle);
|
|||
|
|
|||
|
FUNCTION sqlcode (
|
|||
|
user_status : status_vector) RETURN integer;
|
|||
|
|
|||
|
--- Dynamic SQL procedures
|
|||
|
|
|||
|
PROCEDURE dsql_close (
|
|||
|
user_status : OUT status_vector;
|
|||
|
cursor_name : string);
|
|||
|
|
|||
|
PROCEDURE dsql_declare (
|
|||
|
user_status : OUT status_vector;
|
|||
|
statement_name : string;
|
|||
|
cursor_name : string);
|
|||
|
|
|||
|
PROCEDURE dsql_describe (
|
|||
|
user_status : OUT status_vector;
|
|||
|
statement_name : string;
|
|||
|
descriptor : SYSTEM.ADDRESS);
|
|||
|
|
|||
|
PROCEDURE dsql_execute (
|
|||
|
user_status : OUT status_vector;
|
|||
|
trans_handle : transaction_handle;
|
|||
|
statement_name : string;
|
|||
|
descriptor : SYSTEM.ADDRESS);
|
|||
|
|
|||
|
PROCEDURE dsql_execute (
|
|||
|
user_status : OUT status_vector;
|
|||
|
trans_handle : transaction_handle;
|
|||
|
statement_name : string);
|
|||
|
|
|||
|
PROCEDURE dsql_execute_immediate (
|
|||
|
user_status : OUT status_vector;
|
|||
|
db_handle : database_handle;
|
|||
|
trans_handle : transaction_handle;
|
|||
|
command_length : short_integer;
|
|||
|
command : string);
|
|||
|
|
|||
|
PROCEDURE dsql_fetch (
|
|||
|
user_status : OUT status_vector;
|
|||
|
sqlcode : OUT integer;
|
|||
|
cursor_name : string;
|
|||
|
descriptor : SYSTEM.ADDRESS);
|
|||
|
|
|||
|
PROCEDURE dsql_fetch (
|
|||
|
user_status : OUT status_vector;
|
|||
|
sqlcode : OUT integer;
|
|||
|
cursor_name : string);
|
|||
|
|
|||
|
PROCEDURE dsql_finish (
|
|||
|
db_handle : database_handle);
|
|||
|
|
|||
|
PROCEDURE dsql_open (
|
|||
|
user_status : OUT status_vector;
|
|||
|
trans_handle : transaction_handle;
|
|||
|
cursor_name : string;
|
|||
|
descriptor : SYSTEM.ADDRESS);
|
|||
|
|
|||
|
PROCEDURE dsql_open (
|
|||
|
user_status : OUT status_vector;
|
|||
|
trans_handle : transaction_handle;
|
|||
|
cursor_name : string);
|
|||
|
|
|||
|
PROCEDURE dsql_prepare (
|
|||
|
user_status : OUT status_vector;
|
|||
|
db_handle : database_handle;
|
|||
|
trans_handle : transaction_handle;
|
|||
|
statement_name : string;
|
|||
|
command_length : short_integer;
|
|||
|
command : string;
|
|||
|
descriptor : SYSTEM.ADDRESS);
|
|||
|
|
|||
|
PROCEDURE dsql_prepare (
|
|||
|
user_status : OUT status_vector;
|
|||
|
db_handle : database_handle;
|
|||
|
trans_handle : transaction_handle;
|
|||
|
statement_name : string;
|
|||
|
command_length : short_integer;
|
|||
|
command : string);
|
|||
|
|
|||
|
--- PYXIS procedures
|
|||
|
|
|||
|
PROCEDURE compile_map (
|
|||
|
user_status : OUT status_vector;
|
|||
|
frm_handle : form_handle;
|
|||
|
mp_handle : OUT map_handle;
|
|||
|
map_length : short_integer;
|
|||
|
map : blr);
|
|||
|
|
|||
|
PROCEDURE compile_sub_map (
|
|||
|
user_status : OUT status_vector;
|
|||
|
frm_handle : form_handle;
|
|||
|
mp_handle : OUT map_handle;
|
|||
|
map_length : short_integer;
|
|||
|
map : blr);
|
|||
|
|
|||
|
PROCEDURE create_window (
|
|||
|
win_handle : OUT window_handle;
|
|||
|
name_length : short_integer;
|
|||
|
file_name : string;
|
|||
|
width : IN OUT short_integer;
|
|||
|
height : IN OUT short_integer);
|
|||
|
|
|||
|
PROCEDURE delete_window (
|
|||
|
win_handle : IN OUT window_handle);
|
|||
|
|
|||
|
PROCEDURE drive_form (
|
|||
|
user_status : OUT status_vector;
|
|||
|
db_handle : database_handle;
|
|||
|
trans_handle : transaction_handle;
|
|||
|
win_handle : window_handle;
|
|||
|
mp_handle : map_handle;
|
|||
|
input : SYSTEM.ADDRESS;
|
|||
|
output : SYSTEM.ADDRESS);
|
|||
|
|
|||
|
PROCEDURE fetch_sub_form (
|
|||
|
user_status : OUT status_vector;
|
|||
|
db_handle : database_handle;
|
|||
|
trans_handle : transaction_handle;
|
|||
|
mp_handle : map_handle;
|
|||
|
output : SYSTEM.ADDRESS);
|
|||
|
|
|||
|
PROCEDURE insert_sub_form (
|
|||
|
user_status : OUT status_vector;
|
|||
|
db_handle : database_handle;
|
|||
|
trans_handle : transaction_handle;
|
|||
|
mp_handle : map_handle;
|
|||
|
input : SYSTEM.ADDRESS);
|
|||
|
|
|||
|
PROCEDURE load_form (
|
|||
|
user_status : OUT status_vector;
|
|||
|
db_handle : database_handle;
|
|||
|
trans_handle : transaction_handle;
|
|||
|
frm_handle : IN OUT form_handle;
|
|||
|
name_length : short_integer;
|
|||
|
form_name : string);
|
|||
|
|
|||
|
FUNCTION menu (
|
|||
|
win_handle : window_handle;
|
|||
|
men_handle : menu_handle;
|
|||
|
menu_length : short_integer;
|
|||
|
menu : blr) RETURN short_integer;
|
|||
|
|
|||
|
PROCEDURE pop_window (
|
|||
|
win_handle : window_handle);
|
|||
|
|
|||
|
PROCEDURE reset_form (
|
|||
|
user_status : OUT status_vector;
|
|||
|
win_handle : window_handle);
|
|||
|
|
|||
|
PROCEDURE drive_menu (
|
|||
|
win_handle : IN OUT window_handle;
|
|||
|
men_handle : IN OUT menu_handle;
|
|||
|
blr_length : short_integer;
|
|||
|
blr_source : blr;
|
|||
|
title_length : short_integer;
|
|||
|
title : string;
|
|||
|
terminator : OUT short_integer;
|
|||
|
entree_length : OUT short_integer;
|
|||
|
entree_text : OUT string;
|
|||
|
entree_value : OUT integer);
|
|||
|
|
|||
|
PROCEDURE get_entree (
|
|||
|
men_handle : menu_handle;
|
|||
|
entree_length : OUT short_integer;
|
|||
|
entree_text : OUT string;
|
|||
|
entree_value : OUT integer;
|
|||
|
entree_end : OUT short_integer);
|
|||
|
|
|||
|
PROCEDURE initialize_menu (
|
|||
|
men_handle : IN OUT menu_handle);
|
|||
|
|
|||
|
PROCEDURE put_entree (
|
|||
|
men_handle : menu_handle;
|
|||
|
entree_length : short_integer;
|
|||
|
entree_text : string;
|
|||
|
entree_value : integer);
|
|||
|
|
|||
|
|
|||
|
|
|||
|
---
|
|||
|
--- Same routines, but with automatic error checking
|
|||
|
---
|
|||
|
|
|||
|
PROCEDURE attach_database (
|
|||
|
file_length : short_integer;
|
|||
|
file_name : string;
|
|||
|
db_handle : IN OUT database_handle;
|
|||
|
dpb_length : short_integer;
|
|||
|
dpb_arg : dpb);
|
|||
|
|
|||
|
PROCEDURE cancel_blob (
|
|||
|
blb_handle : IN OUT blob_handle);
|
|||
|
|
|||
|
PROCEDURE cancel_events (
|
|||
|
blb_handle : IN OUT blob_handle);
|
|||
|
|
|||
|
PROCEDURE close_blob (
|
|||
|
blb_handle : IN OUT blob_handle);
|
|||
|
|
|||
|
PROCEDURE commit_retaining (
|
|||
|
trans_handle : IN OUT transaction_handle);
|
|||
|
|
|||
|
PROCEDURE commit_transaction (
|
|||
|
trans_handle : IN OUT transaction_handle);
|
|||
|
|
|||
|
PROCEDURE compile_request (
|
|||
|
db_handle : database_handle;
|
|||
|
req_handle : IN OUT request_handle;
|
|||
|
blr_length : short_integer;
|
|||
|
blr_arg : blr);
|
|||
|
|
|||
|
PROCEDURE compile_request2 (
|
|||
|
db_handle : database_handle;
|
|||
|
req_handle : IN OUT request_handle;
|
|||
|
blr_length : short_integer;
|
|||
|
blr_arg : blr);
|
|||
|
|
|||
|
PROCEDURE create_blob (
|
|||
|
db_handle : database_handle;
|
|||
|
trans_handle : transaction_handle;
|
|||
|
blb_handle : IN OUT blob_handle;
|
|||
|
blob_id : OUT quad);
|
|||
|
|
|||
|
PROCEDURE create_blob2 (
|
|||
|
db_handle : database_handle;
|
|||
|
trans_handle : transaction_handle;
|
|||
|
blb_handle : IN OUT blob_handle;
|
|||
|
blob_id : OUT quad;
|
|||
|
bpb_length : short_integer;
|
|||
|
bpb : blr);
|
|||
|
|
|||
|
PROCEDURE create_database (
|
|||
|
file_length : short_integer;
|
|||
|
file_name : string;
|
|||
|
db_handle : IN OUT database_handle;
|
|||
|
dpb_length : short_integer;
|
|||
|
dpb_arg : dpb;
|
|||
|
db_type : short_integer);
|
|||
|
|
|||
|
PROCEDURE detach_database (
|
|||
|
db_handle : IN OUT database_handle);
|
|||
|
|
|||
|
PROCEDURE ddl (
|
|||
|
db_handle : database_handle;
|
|||
|
trans_handle : transaction_handle;
|
|||
|
msg_length : short_integer;
|
|||
|
msg : SYSTEM.ADDRESS);
|
|||
|
|
|||
|
PROCEDURE get_segment (
|
|||
|
completion_code : OUT integer;
|
|||
|
blb_handle : blob_handle;
|
|||
|
actual_length : OUT short_integer;
|
|||
|
buffer_length : short_integer;
|
|||
|
buffer : string);
|
|||
|
|
|||
|
PROCEDURE get_slice (
|
|||
|
db_handle : database_handle;
|
|||
|
trans_handle : transaction_handle;
|
|||
|
blob_id : quad;
|
|||
|
sdl_length : short_integer;
|
|||
|
sdl : blr;
|
|||
|
param_length : short_integer;
|
|||
|
param : string;
|
|||
|
slice_length : integer;
|
|||
|
slice : SYSTEM.ADDRESS;
|
|||
|
return_length : OUT integer);
|
|||
|
|
|||
|
PROCEDURE open_blob (
|
|||
|
db_handle : database_handle;
|
|||
|
trans_handle : transaction_handle;
|
|||
|
blb_handle : IN OUT blob_handle;
|
|||
|
blob_id : quad);
|
|||
|
|
|||
|
PROCEDURE open_blob2 (
|
|||
|
db_handle : database_handle;
|
|||
|
trans_handle : transaction_handle;
|
|||
|
blb_handle : IN OUT blob_handle;
|
|||
|
blob_id : quad;
|
|||
|
bpb_length : short_integer;
|
|||
|
bpb : blr);
|
|||
|
|
|||
|
PROCEDURE prepare_transaction (
|
|||
|
trans_handle : IN OUT transaction_handle);
|
|||
|
|
|||
|
PROCEDURE prepare_transaction2 (
|
|||
|
trans_handle : IN OUT transaction_handle;
|
|||
|
msg_length : short_integer;
|
|||
|
msg : blr);
|
|||
|
|
|||
|
PROCEDURE put_segment (
|
|||
|
blb_handle : blob_handle;
|
|||
|
length : short_integer;
|
|||
|
buffer : string);
|
|||
|
|
|||
|
PROCEDURE put_slice (
|
|||
|
db_handle : database_handle;
|
|||
|
trans_handle : transaction_handle;
|
|||
|
blob_id : IN OUT quad;
|
|||
|
sdl_length : short_integer;
|
|||
|
sdl : blr;
|
|||
|
param_length : short_integer;
|
|||
|
param : string;
|
|||
|
slice_length : integer;
|
|||
|
slice : SYSTEM.ADDRESS);
|
|||
|
|
|||
|
PROCEDURE queue_events (
|
|||
|
db_handle : database_handle;
|
|||
|
id : quad;
|
|||
|
length : short_integer;
|
|||
|
events : string;
|
|||
|
ast : integer;
|
|||
|
arg : quad);
|
|||
|
|
|||
|
PROCEDURE receive (
|
|||
|
req_handle : request_handle;
|
|||
|
msg_type : short_integer;
|
|||
|
msg_length : short_integer;
|
|||
|
msg : SYSTEM.ADDRESS;
|
|||
|
level : short_integer);
|
|||
|
|
|||
|
PROCEDURE rollback_transaction (
|
|||
|
trans_handle : IN OUT transaction_handle);
|
|||
|
|
|||
|
PROCEDURE send (
|
|||
|
req_handle : request_handle;
|
|||
|
msg_type : short_integer;
|
|||
|
msg_length : short_integer;
|
|||
|
msg : SYSTEM.ADDRESS;
|
|||
|
level : short_integer);
|
|||
|
|
|||
|
PROCEDURE start_and_send (
|
|||
|
req_handle : request_handle;
|
|||
|
trans_handle : transaction_handle;
|
|||
|
msg_type : short_integer;
|
|||
|
msg_length : short_integer;
|
|||
|
msg : SYSTEM.ADDRESS;
|
|||
|
level : short_integer);
|
|||
|
|
|||
|
PROCEDURE start_request (
|
|||
|
req_handle : request_handle;
|
|||
|
trans_handle : transaction_handle;
|
|||
|
level : short_integer);
|
|||
|
|
|||
|
PROCEDURE start_multiple (
|
|||
|
trans_handle : IN OUT transaction_handle;
|
|||
|
count : short_integer;
|
|||
|
teb : SYSTEM.ADDRESS);
|
|||
|
|
|||
|
PROCEDURE start_transaction (
|
|||
|
trans_handle : IN OUT transaction_handle;
|
|||
|
count : short_integer;
|
|||
|
db_handle : database_handle;
|
|||
|
tpb_length : short_integer;
|
|||
|
tpb_arg : tpb);
|
|||
|
|
|||
|
PROCEDURE unwind_request (
|
|||
|
req_handle : request_handle;
|
|||
|
level : short_integer);
|
|||
|
|
|||
|
PROCEDURE dsql_close (
|
|||
|
cursor_name : string);
|
|||
|
|
|||
|
PROCEDURE dsql_declare (
|
|||
|
statement_name : string;
|
|||
|
cursor_name : string);
|
|||
|
|
|||
|
PROCEDURE dsql_describe (
|
|||
|
statement_name : string;
|
|||
|
descriptor : SYSTEM.ADDRESS);
|
|||
|
|
|||
|
PROCEDURE dsql_execute (
|
|||
|
trans_handle : transaction_handle;
|
|||
|
statement_name : string;
|
|||
|
descriptor : SYSTEM.ADDRESS);
|
|||
|
|
|||
|
PROCEDURE dsql_execute (
|
|||
|
trans_handle : transaction_handle;
|
|||
|
statement_name : string);
|
|||
|
|
|||
|
PROCEDURE dsql_execute_immediate (
|
|||
|
db_handle : database_handle;
|
|||
|
trans_handle : transaction_handle;
|
|||
|
command_length : short_integer;
|
|||
|
command : string);
|
|||
|
|
|||
|
PROCEDURE dsql_fetch (
|
|||
|
sqlcode : OUT integer;
|
|||
|
cursor_name : string;
|
|||
|
descriptor : SYSTEM.ADDRESS);
|
|||
|
|
|||
|
PROCEDURE dsql_fetch (
|
|||
|
sqlcode : OUT integer;
|
|||
|
cursor_name : string);
|
|||
|
|
|||
|
PROCEDURE dsql_open (
|
|||
|
trans_handle : transaction_handle;
|
|||
|
cursor_name : string;
|
|||
|
descriptor : SYSTEM.ADDRESS);
|
|||
|
|
|||
|
PROCEDURE dsql_open (
|
|||
|
trans_handle : transaction_handle;
|
|||
|
cursor_name : string);
|
|||
|
|
|||
|
PROCEDURE dsql_prepare (
|
|||
|
db_handle : database_handle;
|
|||
|
trans_handle : transaction_handle;
|
|||
|
statement_name : string;
|
|||
|
command_length : short_integer;
|
|||
|
command : string;
|
|||
|
descriptor : SYSTEM.ADDRESS);
|
|||
|
|
|||
|
PROCEDURE dsql_prepare (
|
|||
|
db_handle : database_handle;
|
|||
|
trans_handle : transaction_handle;
|
|||
|
statement_name : string;
|
|||
|
command_length : short_integer;
|
|||
|
command : string);
|
|||
|
|
|||
|
--- PYXIS procedures
|
|||
|
|
|||
|
PROCEDURE compile_map (
|
|||
|
frm_handle : form_handle;
|
|||
|
mp_handle : OUT map_handle;
|
|||
|
map_length : short_integer;
|
|||
|
map : blr);
|
|||
|
|
|||
|
PROCEDURE compile_sub_map (
|
|||
|
frm_handle : form_handle;
|
|||
|
mp_handle : OUT map_handle;
|
|||
|
map_length : short_integer;
|
|||
|
map : blr);
|
|||
|
|
|||
|
PROCEDURE drive_form (
|
|||
|
db_handle : database_handle;
|
|||
|
trans_handle : transaction_handle;
|
|||
|
win_handle : window_handle;
|
|||
|
mp_handle : map_handle;
|
|||
|
input : SYSTEM.ADDRESS;
|
|||
|
output : SYSTEM.ADDRESS);
|
|||
|
|
|||
|
PROCEDURE fetch_sub_form (
|
|||
|
db_handle : database_handle;
|
|||
|
trans_handle : transaction_handle;
|
|||
|
mp_handle : map_handle;
|
|||
|
output : SYSTEM.ADDRESS);
|
|||
|
|
|||
|
PROCEDURE insert_sub_form (
|
|||
|
db_handle : database_handle;
|
|||
|
trans_handle : transaction_handle;
|
|||
|
mp_handle : map_handle;
|
|||
|
input : SYSTEM.ADDRESS);
|
|||
|
|
|||
|
PROCEDURE load_form (
|
|||
|
db_handle : database_handle;
|
|||
|
trans_handle : transaction_handle;
|
|||
|
frm_handle : IN OUT form_handle;
|
|||
|
name_length : short_integer;
|
|||
|
form_name : string);
|
|||
|
|
|||
|
PROCEDURE reset_form (
|
|||
|
win_handle : window_handle);
|
|||
|
|
|||
|
END interbase;
|
|||
|
|
|||
|
PACKAGE BODY interbase IS
|
|||
|
|
|||
|
---
|
|||
|
--- Actual Interbase entrypoints
|
|||
|
---
|
|||
|
|
|||
|
PROCEDURE gds_attach_database (
|
|||
|
user_status : SYSTEM.ADDRESS; -- OUT status_vector;
|
|||
|
file_length : SYSTEM.ADDRESS; -- short_integer;
|
|||
|
file_name : SYSTEM.ADDRESS; -- string;
|
|||
|
handle : SYSTEM.ADDRESS; -- IN OUT database_handle;
|
|||
|
dpb_length : SYSTEM.ADDRESS; -- short_integer;
|
|||
|
dpb : SYSTEM.ADDRESS);
|
|||
|
|
|||
|
PROCEDURE gds_blob_display (
|
|||
|
blob_id : SYSTEM.ADDRESS; -- quad;
|
|||
|
db_handle : SYSTEM.ADDRESS; -- database_handle;
|
|||
|
tra_handle : SYSTEM.ADDRESS; -- transaction_handle;
|
|||
|
field_name : SYSTEM.ADDRESS; -- string;
|
|||
|
name_length : SYSTEM.ADDRESS); -- short_integer;
|
|||
|
|
|||
|
PROCEDURE gds_blob_dump (
|
|||
|
blob_id : SYSTEM.ADDRESS; -- quad;
|
|||
|
db_handle : SYSTEM.ADDRESS; -- database_handle;
|
|||
|
tra_handle : SYSTEM.ADDRESS; -- transaction_handle;
|
|||
|
file_name : SYSTEM.ADDRESS; -- string;
|
|||
|
name_length : SYSTEM.ADDRESS); -- short_integer;
|
|||
|
|
|||
|
PROCEDURE gds_blob_edit (
|
|||
|
blob_id : SYSTEM.ADDRESS; -- IN OUT quad;
|
|||
|
db_handle : SYSTEM.ADDRESS; -- database_handle;
|
|||
|
tra_handle : SYSTEM.ADDRESS; -- transaction_handle;
|
|||
|
field_name : SYSTEM.ADDRESS; -- string;
|
|||
|
name_length : SYSTEM.ADDRESS); -- short_integer;
|
|||
|
|
|||
|
PROCEDURE gds_blob_load (
|
|||
|
blob_id : SYSTEM.ADDRESS; -- quad;
|
|||
|
db_handle : SYSTEM.ADDRESS; -- database_handle;
|
|||
|
tra_handle : SYSTEM.ADDRESS; -- transaction_handle;
|
|||
|
file_name : SYSTEM.ADDRESS; -- string;
|
|||
|
name_length : SYSTEM.ADDRESS); -- short_integer;
|
|||
|
|
|||
|
PROCEDURE gds_cancel_blob (
|
|||
|
user_status : SYSTEM.ADDRESS; --OUT status_vector;
|
|||
|
blb_handle : SYSTEM.ADDRESS); -- IN OUT blob_handle);
|
|||
|
|
|||
|
PROCEDURE gds_cancel_events (
|
|||
|
user_status : SYSTEM.ADDRESS; -- OUT status_vector;
|
|||
|
blb_handle : SYSTEM.ADDRESS); -- IN OUT blob_handle);
|
|||
|
|
|||
|
PROCEDURE gds_close_blob (
|
|||
|
user_status : SYSTEM.ADDRESS; --OUT status_vector;
|
|||
|
blb_handle : SYSTEM.ADDRESS); --IN OUT blob_handle);
|
|||
|
|
|||
|
PROCEDURE gds_commit_retaining (
|
|||
|
user_status : SYSTEM.ADDRESS; -- OUT status_vector;
|
|||
|
trans_handle : SYSTEM.ADDRESS); -- IN OUT transaction_handle);
|
|||
|
|
|||
|
PROCEDURE gds_commit_transaction (
|
|||
|
user_status : SYSTEM.ADDRESS; -- OUT status_vector;
|
|||
|
trans_handle : SYSTEM.ADDRESS); -- IN OUT transaction_handle);
|
|||
|
|
|||
|
PROCEDURE gds_compile_request (
|
|||
|
user_status : SYSTEM.ADDRESS; -- OUT status_vector;
|
|||
|
db_handle : SYSTEM.ADDRESS; -- database_handle;
|
|||
|
req_handle : SYSTEM.ADDRESS; -- IN OUT request_handle;
|
|||
|
blr_length : SYSTEM.ADDRESS; -- short_integer;
|
|||
|
blr : SYSTEM.ADDRESS);
|
|||
|
|
|||
|
PROCEDURE gds_compile_request2 (
|
|||
|
user_status : SYSTEM.ADDRESS; -- OUT status_vector;
|
|||
|
db_handle : SYSTEM.ADDRESS; -- database_handle;
|
|||
|
req_handle : SYSTEM.ADDRESS; -- IN OUT request_handle;
|
|||
|
blr_length : SYSTEM.ADDRESS; -- short_integer;
|
|||
|
blr_arg : SYSTEM.ADDRESS); -- blr;
|
|||
|
|
|||
|
PROCEDURE gds_create_blob (
|
|||
|
user_status : SYSTEM.ADDRESS; --OUT status_vector;
|
|||
|
db_handle : SYSTEM.ADDRESS; --database_handle;
|
|||
|
trans_handle : SYSTEM.ADDRESS; --transaction_handle;
|
|||
|
blb_handle : SYSTEM.ADDRESS; --IN OUT blob_handle;
|
|||
|
blob_id : SYSTEM.ADDRESS); --OUT quad);
|
|||
|
|
|||
|
PROCEDURE gds_create_blob2 (
|
|||
|
user_status : SYSTEM.ADDRESS; --OUT status_vector;
|
|||
|
db_handle : SYSTEM.ADDRESS; --database_handle;
|
|||
|
trans_handle : SYSTEM.ADDRESS; --transaction_handle;
|
|||
|
blb_handle : SYSTEM.ADDRESS; --IN OUT blob_handle;
|
|||
|
blob_id : SYSTEM.ADDRESS; --OUT quad;
|
|||
|
bpb_length : SYSTEM.ADDRESS; --short_integer;
|
|||
|
bpb : SYSTEM.ADDRESS); --blr;
|
|||
|
|
|||
|
PROCEDURE gds_create_database (
|
|||
|
user_status : SYSTEM.ADDRESS; --OUT status_vector;
|
|||
|
file_length : SYSTEM.ADDRESS; --short_integer;
|
|||
|
file_name : SYSTEM.ADDRESS; --string;
|
|||
|
db_handle : SYSTEM.ADDRESS; --IN OUT database_handle;
|
|||
|
dpb_length : SYSTEM.ADDRESS; --short_integer;
|
|||
|
dpb_arg : SYSTEM.ADDRESS; --dpb;
|
|||
|
db_type : SYSTEM.ADDRESS); --integer);
|
|||
|
|
|||
|
PROCEDURE gds_ddl (
|
|||
|
user_status : SYSTEM.ADDRESS; --OUT status_vector;
|
|||
|
db_handle : SYSTEM.ADDRESS; --database_handle;
|
|||
|
trans_handle : SYSTEM.ADDRESS; --transaction_handle;
|
|||
|
msg_length : SYSTEM.ADDRESS; -- short_integer;
|
|||
|
msg : SYSTEM.ADDRESS);
|
|||
|
|
|||
|
PROCEDURE gds_decode_date (
|
|||
|
date : SYSTEM.ADDRESS; -- quad;
|
|||
|
times : SYSTEM.ADDRESS); -- gds_tm);
|
|||
|
|
|||
|
PROCEDURE gds_detach_database (
|
|||
|
user_status : SYSTEM.ADDRESS; -- OUT status_vector;
|
|||
|
handle : SYSTEM.ADDRESS); -- IN OUT database_handle);
|
|||
|
|
|||
|
PROCEDURE gds_encode_date (
|
|||
|
times : SYSTEM.ADDRESS; -- gds_tm;
|
|||
|
date : SYSTEM.ADDRESS); -- OUT quad);
|
|||
|
|
|||
|
PROCEDURE gds_event_wait (
|
|||
|
user_status : SYSTEM.ADDRESS; -- OUT status_vector;
|
|||
|
db_handle : SYSTEM.ADDRESS; -- database_handle;
|
|||
|
length : SYSTEM.ADDRESS; -- short_integer;
|
|||
|
events : SYSTEM.ADDRESS; -- string;
|
|||
|
buffer : SYSTEM.ADDRESS); -- string;
|
|||
|
|
|||
|
PROCEDURE gds_get_segment (
|
|||
|
user_status : SYSTEM.ADDRESS; --OUT status_vector;
|
|||
|
blb_handle : SYSTEM.ADDRESS; --blob_handle;
|
|||
|
actual_length : SYSTEM.ADDRESS; --OUT integer;
|
|||
|
buffer_length : SYSTEM.ADDRESS; --integer;
|
|||
|
buffer : SYSTEM.ADDRESS); --string;
|
|||
|
|
|||
|
PROCEDURE gds_get_slice (
|
|||
|
user_status : SYSTEM.ADDRESS; -- OUT status_vector;
|
|||
|
db_handle : SYSTEM.ADDRESS; -- database_handle;
|
|||
|
trans_handle : SYSTEM.ADDRESS; -- transaction_handle;
|
|||
|
blob_id : SYSTEM.ADDRESS; -- quad;
|
|||
|
sdl_length : SYSTEM.ADDRESS; -- short_integer;
|
|||
|
sdl : SYSTEM.ADDRESS; -- blr;
|
|||
|
param_length : SYSTEM.ADDRESS; -- short_integer;
|
|||
|
param : SYSTEM.ADDRESS; -- string;
|
|||
|
slice_length : SYSTEM.ADDRESS; -- integer;
|
|||
|
slice : SYSTEM.ADDRESS; -- string;
|
|||
|
return_length : SYSTEM.ADDRESS); -- OUT integer;
|
|||
|
|
|||
|
PROCEDURE gds_open_blob (
|
|||
|
user_status : SYSTEM.ADDRESS; --OUT status_vector;
|
|||
|
db_handle : SYSTEM.ADDRESS; --database_handle;
|
|||
|
trans_handle : SYSTEM.ADDRESS; --transaction_handle;
|
|||
|
blb_handle : SYSTEM.ADDRESS; --IN OUT blob_handle;
|
|||
|
blob_id : SYSTEM.ADDRESS); --quad;
|
|||
|
|
|||
|
PROCEDURE gds_open_blob2 (
|
|||
|
user_status : SYSTEM.ADDRESS; --OUT status_vector;
|
|||
|
db_handle : SYSTEM.ADDRESS; --database_handle;
|
|||
|
trans_handle : SYSTEM.ADDRESS; --transaction_handle;
|
|||
|
blb_handle : SYSTEM.ADDRESS; --IN OUT blob_handle;
|
|||
|
blob_id : SYSTEM.ADDRESS; --quad;
|
|||
|
bpb_length : SYSTEM.ADDRESS; --short_integer;
|
|||
|
bpb : SYSTEM.ADDRESS); --blr;
|
|||
|
|
|||
|
PROCEDURE gds_prepare_transaction (
|
|||
|
user_status : SYSTEM.ADDRESS; -- OUT status_vector;
|
|||
|
trans_handle : SYSTEM.ADDRESS); -- IN OUT transaction_handle;
|
|||
|
|
|||
|
PROCEDURE gds_prepare_transaction2 (
|
|||
|
user_status : SYSTEM.ADDRESS; -- OUT status_vector;
|
|||
|
trans_handle : SYSTEM.ADDRESS; -- IN OUT transaction_handle;
|
|||
|
msg_length : SYSTEM.ADDRESS; -- short_integer;
|
|||
|
msg : SYSTEM.ADDRESS); -- blr;
|
|||
|
|
|||
|
PROCEDURE gds_put_segment (
|
|||
|
user_status : SYSTEM.ADDRESS; --OUT status_vector;
|
|||
|
blb_handle : SYSTEM.ADDRESS; --blob_handle;
|
|||
|
length : SYSTEM.ADDRESS; --integer;
|
|||
|
buffer : SYSTEM.ADDRESS); --string;
|
|||
|
|
|||
|
PROCEDURE gds_put_slice (
|
|||
|
user_status : SYSTEM.ADDRESS; -- OUT status_vector;
|
|||
|
db_handle : SYSTEM.ADDRESS; -- database_handle;
|
|||
|
trans_handle : SYSTEM.ADDRESS; -- transaction_handle;
|
|||
|
blob_id : SYSTEM.ADDRESS; -- quad;
|
|||
|
sdl_length : SYSTEM.ADDRESS; -- short_integer;
|
|||
|
sdl : SYSTEM.ADDRESS; -- blr;
|
|||
|
param_length : SYSTEM.ADDRESS; -- short_integer;
|
|||
|
param : SYSTEM.ADDRESS; -- string;
|
|||
|
slice_length : SYSTEM.ADDRESS; -- integer;
|
|||
|
slice : SYSTEM.ADDRESS); -- string;
|
|||
|
|
|||
|
PROCEDURE gds_queue_events (
|
|||
|
user_status : SYSTEM.ADDRESS; -- OUT status_vector;
|
|||
|
db_handle : SYSTEM.ADDRESS; -- database_handle;
|
|||
|
id : SYSTEM.ADDRESS; -- quad;
|
|||
|
length : SYSTEM.ADDRESS; -- short_integer;
|
|||
|
events : SYSTEM.ADDRESS; -- string;
|
|||
|
ast : SYSTEM.ADDRESS; -- integer;
|
|||
|
arg : SYSTEM.ADDRESS); -- quad;
|
|||
|
|
|||
|
PROCEDURE gds_receive (
|
|||
|
user_status : SYSTEM.ADDRESS; -- OUT status_vector;
|
|||
|
req_handle : SYSTEM.ADDRESS; -- request_handle;
|
|||
|
msg_type : SYSTEM.ADDRESS; -- short_integer;
|
|||
|
msg_length : SYSTEM.ADDRESS; -- short_integer;
|
|||
|
msg : SYSTEM.ADDRESS;
|
|||
|
level : SYSTEM.ADDRESS); -- short_integer;
|
|||
|
|
|||
|
PROCEDURE gds_rollback_transaction (
|
|||
|
user_status : SYSTEM.ADDRESS; -- OUT status_vector;
|
|||
|
trans_handle : SYSTEM.ADDRESS); -- IN OUT transaction_handle;
|
|||
|
|
|||
|
PROCEDURE gds_send (
|
|||
|
user_status : SYSTEM.ADDRESS; -- OUT status_vector;
|
|||
|
req_handle : SYSTEM.ADDRESS; -- request_handle;
|
|||
|
msg_type : SYSTEM.ADDRESS; -- short_integer;
|
|||
|
msg_length : SYSTEM.ADDRESS; -- short_integer;
|
|||
|
msg : SYSTEM.ADDRESS;
|
|||
|
level : SYSTEM.ADDRESS); -- short_integer);
|
|||
|
|
|||
|
PROCEDURE gds_set_debug (
|
|||
|
debug_val : SYSTEM.ADDRESS); -- short_integer);
|
|||
|
|
|||
|
PROCEDURE gds_start_and_send (
|
|||
|
user_status : SYSTEM.ADDRESS; -- OUT status_vector;
|
|||
|
req_handle : SYSTEM.ADDRESS; -- request_handle;
|
|||
|
trans_handle : SYSTEM.ADDRESS; -- transaction_handle;
|
|||
|
msg_type : SYSTEM.ADDRESS; -- short_integer;
|
|||
|
msg_length : SYSTEM.ADDRESS; -- short_integer;
|
|||
|
msg : SYSTEM.ADDRESS;
|
|||
|
level : SYSTEM.ADDRESS); -- short_integer);
|
|||
|
|
|||
|
PROCEDURE gds_start_request (
|
|||
|
user_status : SYSTEM.ADDRESS; -- OUT status_vector;
|
|||
|
req_handle : SYSTEM.ADDRESS; -- request_handle;
|
|||
|
trans_handle : SYSTEM.ADDRESS; -- transaction_handle;
|
|||
|
level : SYSTEM.ADDRESS); -- short_integer);
|
|||
|
|
|||
|
PROCEDURE gds_start_multiple (
|
|||
|
user_status : SYSTEM.ADDRESS; -- OUT status_vector;
|
|||
|
trans_handle : SYSTEM.ADDRESS; -- IN OUT transaction_handle;
|
|||
|
count : SYSTEM.ADDRESS; -- short_integer;
|
|||
|
teb : SYSTEM.ADDRESS);
|
|||
|
|
|||
|
PROCEDURE gds_start_transaction (
|
|||
|
user_status : SYSTEM.ADDRESS; -- OUT status_vector;
|
|||
|
trans_handle : SYSTEM.ADDRESS; -- IN OUT transaction_handle;
|
|||
|
count : SYSTEM.ADDRESS; -- short_integer;
|
|||
|
db_handle : SYSTEM.ADDRESS; -- database_handle;
|
|||
|
dpb_length : SYSTEM.ADDRESS; -- short_integer;
|
|||
|
dpb : SYSTEM.ADDRESS);
|
|||
|
|
|||
|
PROCEDURE gds_unwind_request (
|
|||
|
user_status : SYSTEM.ADDRESS; -- OUT status_vector;
|
|||
|
req_handle : SYSTEM.ADDRESS; -- request_handle;
|
|||
|
level : SYSTEM.ADDRESS); -- short_integer);
|
|||
|
|
|||
|
PROCEDURE gds_print_status (
|
|||
|
user_status : SYSTEM.ADDRESS); -- status_vector;
|
|||
|
|
|||
|
PROCEDURE gds_version (
|
|||
|
db_handle : SYSTEM.ADDRESS;
|
|||
|
ptr1 : integer;
|
|||
|
ptr2 : SYSTEM.ADDRESS);
|
|||
|
|
|||
|
FUNCTION gds_sqlcode (
|
|||
|
user_status : SYSTEM.ADDRESS) RETURN integer;
|
|||
|
|
|||
|
--- Dynamic SQL procedures
|
|||
|
|
|||
|
PROCEDURE gds_close (
|
|||
|
user_status : SYSTEM.ADDRESS; -- OUT status_vector;
|
|||
|
cursor_name : SYSTEM.ADDRESS); -- string);
|
|||
|
|
|||
|
PROCEDURE gds_declare (
|
|||
|
user_status : SYSTEM.ADDRESS; -- OUT status_vector;
|
|||
|
statement_name : SYSTEM.ADDRESS; -- string;
|
|||
|
cursor_name : SYSTEM.ADDRESS); -- string);
|
|||
|
|
|||
|
PROCEDURE gds_describe (
|
|||
|
user_status : SYSTEM.ADDRESS; -- OUT status_vector;
|
|||
|
statement_name : SYSTEM.ADDRESS; -- string;
|
|||
|
descriptor : SYSTEM.ADDRESS); -- SYSTEM.ADDRESS);
|
|||
|
|
|||
|
PROCEDURE gds_dsql_finish (
|
|||
|
user_status : SYSTEM.ADDRESS); -- database handle;
|
|||
|
|
|||
|
PROCEDURE gds_execute (
|
|||
|
user_status : SYSTEM.ADDRESS; -- OUT status_vector;
|
|||
|
trans_handle : SYSTEM.ADDRESS; -- transaction_handle;
|
|||
|
statement_name : SYSTEM.ADDRESS; -- string;
|
|||
|
descriptor : SYSTEM.ADDRESS); -- SYSTEM.ADDRESS);
|
|||
|
|
|||
|
PROCEDURE gds_execute_immediate (
|
|||
|
user_status : SYSTEM.ADDRESS; -- OUT status_vector;
|
|||
|
db_handle : SYSTEM.ADDRESS; -- database_handle;
|
|||
|
trans_handle : SYSTEM.ADDRESS; -- transaction_handle;
|
|||
|
command_length : SYSTEM.ADDRESS; -- short_integer;
|
|||
|
command : SYSTEM.ADDRESS); -- string);
|
|||
|
|
|||
|
PROCEDURE gds_fetch (
|
|||
|
user_status : SYSTEM.ADDRESS; -- OUT status_vector;
|
|||
|
sqlcode : SYSTEM.ADDRESS; -- OUT integer;
|
|||
|
cursor_name : SYSTEM.ADDRESS; -- string;
|
|||
|
descriptor : SYSTEM.ADDRESS); -- SYSTEM.ADDRESS);
|
|||
|
|
|||
|
PROCEDURE gds_open (
|
|||
|
user_status : SYSTEM.ADDRESS; -- OUT status_vector;
|
|||
|
trans_handle : SYSTEM.ADDRESS; -- transaction_handle;
|
|||
|
cursor_name : SYSTEM.ADDRESS; -- string;
|
|||
|
descriptor : SYSTEM.ADDRESS); -- SYSTEM.ADDRESS);
|
|||
|
|
|||
|
PROCEDURE gds_prepare (
|
|||
|
user_status : SYSTEM.ADDRESS; -- OUT status_vector;
|
|||
|
db_handle : SYSTEM.ADDRESS; -- database_handle;
|
|||
|
trans_handle : SYSTEM.ADDRESS; -- transaction_handle;
|
|||
|
statement_name : SYSTEM.ADDRESS; -- string;
|
|||
|
command_length : SYSTEM.ADDRESS; -- short_integer;
|
|||
|
command : SYSTEM.ADDRESS; -- string;
|
|||
|
descriptor : SYSTEM.ADDRESS); -- SYSTEM.ADDRESS);
|
|||
|
|
|||
|
--- PYXIS procedures
|
|||
|
|
|||
|
PROCEDURE pyxis_compile_map (
|
|||
|
user_status : SYSTEM.ADDRESS; -- OUT status_vector;
|
|||
|
frm_handle : SYSTEM.ADDRESS; -- form_handle;
|
|||
|
mp_handle : SYSTEM.ADDRESS; -- OUT map_handle;
|
|||
|
map_length : SYSTEM.ADDRESS; -- short_integer;
|
|||
|
map : SYSTEM.ADDRESS); -- blr);
|
|||
|
|
|||
|
PROCEDURE pyxis_compile_sub_map (
|
|||
|
user_status : SYSTEM.ADDRESS; -- OUT status_vector;
|
|||
|
frm_handle : SYSTEM.ADDRESS; -- form_handle;
|
|||
|
mp_handle : SYSTEM.ADDRESS; -- OUT map_handle;
|
|||
|
map_length : SYSTEM.ADDRESS; -- short_integer;
|
|||
|
map : SYSTEM.ADDRESS); -- blr);
|
|||
|
|
|||
|
PROCEDURE pyxis_create_window (
|
|||
|
win_handle : SYSTEM.ADDRESS; -- OUT window_handle;
|
|||
|
name_length : SYSTEM.ADDRESS; -- short_integer;
|
|||
|
file_name : SYSTEM.ADDRESS; -- string;
|
|||
|
width : SYSTEM.ADDRESS; -- IN OUT short_integer;
|
|||
|
height : SYSTEM.ADDRESS); -- IN OUT short_integer);
|
|||
|
|
|||
|
PROCEDURE pyxis_delete_window (
|
|||
|
win_handle : SYSTEM.ADDRESS); -- IN OUT window_handle);
|
|||
|
|
|||
|
PROCEDURE pyxis_drive_form (
|
|||
|
user_status : SYSTEM.ADDRESS; -- OUT status_vector;
|
|||
|
db_handle : SYSTEM.ADDRESS; -- database_handle;
|
|||
|
trans_handle : SYSTEM.ADDRESS; -- transaction_handle;
|
|||
|
win_handle : SYSTEM.ADDRESS; -- window_handle;
|
|||
|
mp_handle : SYSTEM.ADDRESS; -- map_handle;
|
|||
|
input : SYSTEM.ADDRESS; -- SYSTEM.ADDRESS;
|
|||
|
output : SYSTEM.ADDRESS); -- SYSTEM.ADDRESS);
|
|||
|
|
|||
|
PROCEDURE pyxis_fetch (
|
|||
|
user_status : SYSTEM.ADDRESS; -- OUT status_vector;
|
|||
|
db_handle : SYSTEM.ADDRESS; -- database_handle;
|
|||
|
trans_handle : SYSTEM.ADDRESS; -- transaction_handle;
|
|||
|
mp_handle : SYSTEM.ADDRESS; -- map_handle;
|
|||
|
output : SYSTEM.ADDRESS); -- SYSTEM.ADDRESS);
|
|||
|
|
|||
|
PROCEDURE pyxis_insert (
|
|||
|
user_status : SYSTEM.ADDRESS; -- OUT status_vector;
|
|||
|
db_handle : SYSTEM.ADDRESS; -- database_handle;
|
|||
|
trans_handle : SYSTEM.ADDRESS; -- transaction_handle;
|
|||
|
mp_handle : SYSTEM.ADDRESS; -- map_handle;
|
|||
|
input : SYSTEM.ADDRESS); -- SYSTEM.ADDRESS);
|
|||
|
|
|||
|
PROCEDURE pyxis_load_form (
|
|||
|
user_status : SYSTEM.ADDRESS; -- OUT status_vector;
|
|||
|
db_handle : SYSTEM.ADDRESS; -- database_handle;
|
|||
|
trans_handle : SYSTEM.ADDRESS; -- transaction_handle;
|
|||
|
frm_handle : SYSTEM.ADDRESS; -- IN OUT form_handle;
|
|||
|
name_length : SYSTEM.ADDRESS; -- short_integer;
|
|||
|
form_name : SYSTEM.ADDRESS); -- string);
|
|||
|
|
|||
|
FUNCTION pyxis_menu (
|
|||
|
win_handle : SYSTEM.ADDRESS; -- window_handle;
|
|||
|
men_handle : SYSTEM.ADDRESS; -- menu_handle;
|
|||
|
menu_length : SYSTEM.ADDRESS; -- short_integer;
|
|||
|
menu : SYSTEM.ADDRESS) RETURN short_integer; -- blr) ;
|
|||
|
|
|||
|
PROCEDURE pyxis_pop_window (
|
|||
|
win_handle : SYSTEM.ADDRESS); -- window_handle);
|
|||
|
|
|||
|
PROCEDURE pyxis_reset_form (
|
|||
|
user_status : SYSTEM.ADDRESS; -- OUT status_vector;
|
|||
|
win_handle : SYSTEM.ADDRESS); -- window_handle);
|
|||
|
|
|||
|
PROCEDURE pyxis_drive_menu (
|
|||
|
win_handle : SYSTEM.ADDRESS; -- IN OUT window_handle;
|
|||
|
men_handle : SYSTEM.ADDRESS; -- IN OUT menu_handle;
|
|||
|
blr_length : SYSTEM.ADDRESS; -- short_integer;
|
|||
|
blr_source : SYSTEM.ADDRESS; -- blr;
|
|||
|
title_length : SYSTEM.ADDRESS; -- short_integer;
|
|||
|
title : SYSTEM.ADDRESS; -- string;
|
|||
|
terminator : SYSTEM.ADDRESS; -- OUT short_integer;
|
|||
|
entree_length : SYSTEM.ADDRESS; -- OUT short_integer;
|
|||
|
entree_text : SYSTEM.ADDRESS; -- OUT string;
|
|||
|
entree_value : SYSTEM.ADDRESS); -- OUT integer);
|
|||
|
|
|||
|
PROCEDURE pyxis_get_entree (
|
|||
|
men_handle : SYSTEM.ADDRESS; -- menu_handle;
|
|||
|
entree_length : SYSTEM.ADDRESS; -- OUT short_integer;
|
|||
|
entree_text : SYSTEM.ADDRESS; -- OUT string;
|
|||
|
entree_value : SYSTEM.ADDRESS; -- OUT integer;
|
|||
|
entree_end : SYSTEM.ADDRESS); -- OUT short_integer);
|
|||
|
|
|||
|
PROCEDURE pyxis_initialize_menu (
|
|||
|
men_handle : SYSTEM.ADDRESS); -- IN OUT menu_handle);
|
|||
|
|
|||
|
PROCEDURE pyxis_put_entree (
|
|||
|
men_handle : SYSTEM.ADDRESS; -- menu_handle;
|
|||
|
entree_length : SYSTEM.ADDRESS; -- short_integer;
|
|||
|
entree_text : SYSTEM.ADDRESS; -- string;
|
|||
|
entree_value : SYSTEM.ADDRESS); -- integer);
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
pragma interface (C, gds_attach_database, "gds_$attach_database");
|
|||
|
|
|||
|
pragma interface (C, gds_blob_display, "blob_$display");
|
|||
|
pragma interface (C, gds_blob_dump, "blob_$dump");
|
|||
|
pragma interface (C, gds_blob_edit, "blob_$edit");
|
|||
|
pragma interface (C, gds_blob_load, "blob_$load");
|
|||
|
|
|||
|
pragma interface (C, gds_cancel_blob, "gds_$cancel_blob");
|
|||
|
pragma interface (C, gds_cancel_events, "gds_$cancel_events");
|
|||
|
pragma interface (C, gds_close, "gds_$close");
|
|||
|
pragma interface (C, gds_close_blob, "gds_$close_blob");
|
|||
|
pragma interface (C, gds_commit_retaining, "gds_$commit_retaining");
|
|||
|
pragma interface (C, gds_commit_transaction, "gds_$commit_transaction");
|
|||
|
pragma interface (C, gds_compile_request, "gds_$compile_request");
|
|||
|
pragma interface (C, gds_compile_request2, "gds_$compile_request2");
|
|||
|
pragma interface (C, gds_create_blob, "gds_$create_blob");
|
|||
|
pragma interface (C, gds_create_blob2, "gds_$create_blob2");
|
|||
|
pragma interface (C, gds_create_database, "gds_$create_database");
|
|||
|
|
|||
|
pragma interface (C, gds_ddl, "gds_$ddl");
|
|||
|
pragma interface (C, gds_declare, "gds_$declare");
|
|||
|
pragma interface (C, gds_decode_date, "gds_$decode_date");
|
|||
|
pragma interface (C, gds_describe, "gds_$describe");
|
|||
|
pragma interface (C, gds_detach_database, "gds_$detach_database");
|
|||
|
pragma interface (C, gds_dsql_finish, "gds_$dsql_finish");
|
|||
|
|
|||
|
pragma interface (C, gds_encode_date, "gds_$encode_date");
|
|||
|
pragma interface (C, gds_event_wait, "gds_$event_wait");
|
|||
|
pragma interface (C, gds_execute, "gds_$execute");
|
|||
|
pragma interface (C, gds_execute_immediate, "gds_$execute_immediate");
|
|||
|
|
|||
|
pragma interface (C, gds_fetch, "gds_$fetch_a");
|
|||
|
|
|||
|
pragma interface (C, gds_get_segment, "gds_$get_segment");
|
|||
|
pragma interface (C, gds_get_slice, "gds_$get_slice");
|
|||
|
|
|||
|
pragma interface (C, gds_open, "gds_$open");
|
|||
|
pragma interface (C, gds_open_blob, "gds_$open_blob");
|
|||
|
pragma interface (C, gds_open_blob2, "gds_$open_blob2");
|
|||
|
|
|||
|
pragma interface (C, gds_prepare, "gds_$prepare");
|
|||
|
pragma interface (C, gds_prepare_transaction, "gds_$prepare_transaction");
|
|||
|
pragma interface (C, gds_prepare_transaction2, "gds_$prepare_transaction2");
|
|||
|
pragma interface (C, gds_print_status, "gds_$print_status");
|
|||
|
pragma interface (C, gds_put_segment, "gds_$put_segment");
|
|||
|
pragma interface (C, gds_put_slice, "gds_$put_slice");
|
|||
|
|
|||
|
pragma interface (C, gds_queue_events, "gds_$que_events");
|
|||
|
|
|||
|
pragma interface (C, gds_receive, "gds_$receive");
|
|||
|
pragma interface (C, gds_rollback_transaction, "gds_$rollback_transaction");
|
|||
|
|
|||
|
pragma interface (C, gds_send, "gds_$send");
|
|||
|
pragma interface (C, gds_set_debug, "gds_$set_debug");
|
|||
|
pragma interface (C, gds_sqlcode, "gds_$sqlcode");
|
|||
|
pragma interface (C, gds_start_and_send, "gds_$start_and_send");
|
|||
|
pragma interface (C, gds_start_multiple, "gds_$start_multiple");
|
|||
|
pragma interface (C, gds_start_request, "gds_$start_request");
|
|||
|
pragma interface (C, gds_start_transaction, "gds_$start_transaction");
|
|||
|
|
|||
|
pragma interface (C, gds_unwind_request, "gds_$unwind_request");
|
|||
|
|
|||
|
pragma interface (C, gds_version, "gds_$version");
|
|||
|
|
|||
|
pragma interface (C, pyxis_compile_map, "pyxis_$compile_map");
|
|||
|
pragma interface (C, pyxis_compile_sub_map, "pyxis_$compile_sub_map");
|
|||
|
pragma interface (C, pyxis_create_window, "pyxis_$create_window");
|
|||
|
pragma interface (C, pyxis_delete_window, "pyxis_$delete_window");
|
|||
|
pragma interface (C, pyxis_drive_form, "pyxis_$drive_form");
|
|||
|
pragma interface (C, pyxis_drive_menu, "pyxis_$drive_menu");
|
|||
|
pragma interface (C, pyxis_fetch, "pyxis_$fetch");
|
|||
|
pragma interface (C, pyxis_get_entree, "pyxis_$get_entree");
|
|||
|
pragma interface (C, pyxis_initialize_menu, "pyxis_$initialize_menu");
|
|||
|
pragma interface (C, pyxis_insert, "pyxis_$insert");
|
|||
|
pragma interface (C, pyxis_load_form, "pyxis_$load_form");
|
|||
|
pragma interface (C, pyxis_menu, "pyxis_$menu");
|
|||
|
pragma interface (C, pyxis_pop_window, "pyxis_$pop_window");
|
|||
|
pragma interface (C, pyxis_put_entree, "pyxis_$put_entree");
|
|||
|
pragma interface (C, pyxis_reset_form, "pyxis_$reset_form");
|
|||
|
|
|||
|
|
|||
|
---
|
|||
|
--- Interface routines that return status vector
|
|||
|
---
|
|||
|
|
|||
|
PROCEDURE attach_database (
|
|||
|
user_status : OUT status_vector;
|
|||
|
file_length : short_integer;
|
|||
|
file_name : string;
|
|||
|
db_handle : IN OUT database_handle;
|
|||
|
dpb_length : short_integer;
|
|||
|
dpb_arg : dpb) IS
|
|||
|
BEGIN
|
|||
|
gds_attach_database (
|
|||
|
user_status'address,
|
|||
|
file_length'address,
|
|||
|
file_name'address,
|
|||
|
db_handle'address,
|
|||
|
dpb_length'address,
|
|||
|
dpb_arg'address);
|
|||
|
END attach_database;
|
|||
|
|
|||
|
PROCEDURE blob_display (
|
|||
|
blob_id : quad;
|
|||
|
db_handle : database_handle;
|
|||
|
tra_handle : transaction_handle;
|
|||
|
field_name : string;
|
|||
|
name_length : short_integer) IS
|
|||
|
BEGIN
|
|||
|
gds_blob_display (
|
|||
|
blob_id'address,
|
|||
|
db_handle'address,
|
|||
|
tra_handle'address,
|
|||
|
field_name'address,
|
|||
|
name_length'address);
|
|||
|
END blob_display;
|
|||
|
|
|||
|
|
|||
|
PROCEDURE blob_dump (
|
|||
|
blob_id : quad;
|
|||
|
db_handle : database_handle;
|
|||
|
tra_handle : transaction_handle;
|
|||
|
file_name : string;
|
|||
|
name_length : short_integer) IS
|
|||
|
BEGIN
|
|||
|
gds_blob_dump (
|
|||
|
blob_id'address,
|
|||
|
db_handle'address,
|
|||
|
tra_handle'address,
|
|||
|
file_name'address,
|
|||
|
name_length'address);
|
|||
|
END blob_dump;
|
|||
|
|
|||
|
|
|||
|
PROCEDURE blob_edit (
|
|||
|
blob_id : IN OUT quad;
|
|||
|
db_handle : database_handle;
|
|||
|
tra_handle : transaction_handle;
|
|||
|
field_name : string;
|
|||
|
name_length : short_integer) IS
|
|||
|
BEGIN
|
|||
|
gds_blob_edit (
|
|||
|
blob_id'address,
|
|||
|
db_handle'address,
|
|||
|
tra_handle'address,
|
|||
|
field_name'address,
|
|||
|
name_length'address);
|
|||
|
END blob_edit;
|
|||
|
|
|||
|
|
|||
|
PROCEDURE blob_load (
|
|||
|
blob_id : IN OUT quad;
|
|||
|
db_handle : database_handle;
|
|||
|
tra_handle : transaction_handle;
|
|||
|
file_name : string;
|
|||
|
name_length : short_integer) IS
|
|||
|
BEGIN
|
|||
|
gds_blob_load (
|
|||
|
blob_id'address,
|
|||
|
db_handle'address,
|
|||
|
tra_handle'address,
|
|||
|
file_name'address,
|
|||
|
name_length'address);
|
|||
|
END blob_load;
|
|||
|
|
|||
|
|
|||
|
PROCEDURE cancel_blob (
|
|||
|
user_status : OUT status_vector;
|
|||
|
blb_handle : IN OUT blob_handle) IS
|
|||
|
BEGIN
|
|||
|
gds_cancel_blob (
|
|||
|
user_status'address,
|
|||
|
blb_handle'address);
|
|||
|
END cancel_blob;
|
|||
|
|
|||
|
PROCEDURE cancel_events (
|
|||
|
user_status : OUT status_vector;
|
|||
|
blb_handle : IN OUT blob_handle) IS
|
|||
|
BEGIN
|
|||
|
gds_cancel_events (
|
|||
|
user_status'address,
|
|||
|
blb_handle'address);
|
|||
|
END cancel_events;
|
|||
|
|
|||
|
PROCEDURE close_blob (
|
|||
|
user_status : OUT status_vector;
|
|||
|
blb_handle : IN OUT blob_handle) IS
|
|||
|
BEGIN
|
|||
|
gds_close_blob (
|
|||
|
user_status'address,
|
|||
|
blb_handle'address);
|
|||
|
END close_blob;
|
|||
|
|
|||
|
PROCEDURE commit_retaining (
|
|||
|
user_status : OUT status_vector;
|
|||
|
trans_handle : IN OUT transaction_handle) IS
|
|||
|
BEGIN
|
|||
|
gds_commit_retaining (
|
|||
|
user_status'address,
|
|||
|
trans_handle'address);
|
|||
|
END commit_retaining;
|
|||
|
|
|||
|
PROCEDURE commit_transaction (
|
|||
|
user_status : OUT status_vector;
|
|||
|
trans_handle : IN OUT transaction_handle) IS
|
|||
|
BEGIN
|
|||
|
gds_commit_transaction (
|
|||
|
user_status'address,
|
|||
|
trans_handle'address);
|
|||
|
END commit_transaction;
|
|||
|
|
|||
|
|
|||
|
PROCEDURE compile_request (
|
|||
|
user_status : OUT status_vector;
|
|||
|
db_handle : database_handle;
|
|||
|
req_handle : IN OUT request_handle;
|
|||
|
blr_length : short_integer;
|
|||
|
blr_arg : blr) IS
|
|||
|
BEGIN
|
|||
|
gds_compile_request (
|
|||
|
user_status'address,
|
|||
|
db_handle'address,
|
|||
|
req_handle'address,
|
|||
|
blr_length'address,
|
|||
|
blr_arg'address);
|
|||
|
END compile_request;
|
|||
|
|
|||
|
|
|||
|
PROCEDURE compile_request2 (
|
|||
|
user_status : OUT status_vector;
|
|||
|
db_handle : database_handle;
|
|||
|
req_handle : IN OUT request_handle;
|
|||
|
blr_length : short_integer;
|
|||
|
blr_arg : blr) IS
|
|||
|
BEGIN
|
|||
|
gds_compile_request2 (
|
|||
|
user_status'address,
|
|||
|
db_handle'address,
|
|||
|
req_handle'address,
|
|||
|
blr_length'address,
|
|||
|
blr_arg'address);
|
|||
|
END compile_request2;
|
|||
|
|
|||
|
|
|||
|
PROCEDURE create_blob (
|
|||
|
user_status : OUT status_vector;
|
|||
|
db_handle : database_handle;
|
|||
|
trans_handle : transaction_handle;
|
|||
|
blb_handle : IN OUT blob_handle;
|
|||
|
blob_id : OUT quad) IS
|
|||
|
BEGIN
|
|||
|
gds_create_blob (
|
|||
|
user_status'address,
|
|||
|
db_handle'address,
|
|||
|
trans_handle'address,
|
|||
|
blb_handle'address,
|
|||
|
blob_id'address);
|
|||
|
END create_blob;
|
|||
|
|
|||
|
PROCEDURE create_blob2 (
|
|||
|
user_status : OUT status_vector;
|
|||
|
db_handle : database_handle;
|
|||
|
trans_handle : transaction_handle;
|
|||
|
blb_handle : IN OUT blob_handle;
|
|||
|
blob_id : OUT quad;
|
|||
|
bpb_length : short_integer;
|
|||
|
bpb : blr) IS
|
|||
|
BEGIN
|
|||
|
gds_create_blob2 (
|
|||
|
user_status'address,
|
|||
|
db_handle'address,
|
|||
|
trans_handle'address,
|
|||
|
blb_handle'address,
|
|||
|
blob_id'address,
|
|||
|
bpb_length'address,
|
|||
|
bpb'address);
|
|||
|
END create_blob2;
|
|||
|
|
|||
|
PROCEDURE create_database (
|
|||
|
user_status : OUT status_vector;
|
|||
|
file_length : short_integer;
|
|||
|
file_name : string;
|
|||
|
db_handle : IN OUT database_handle;
|
|||
|
dpb_length : short_integer;
|
|||
|
dpb_arg : dpb;
|
|||
|
db_type : short_integer) IS
|
|||
|
BEGIN
|
|||
|
gds_create_database (
|
|||
|
user_status'address,
|
|||
|
file_length'address,
|
|||
|
file_name'address,
|
|||
|
db_handle'address,
|
|||
|
dpb_length'address,
|
|||
|
dpb_arg'address,
|
|||
|
db_type'address);
|
|||
|
END create_database;
|
|||
|
|
|||
|
PROCEDURE ddl (
|
|||
|
user_status : OUT status_vector;
|
|||
|
db_handle : database_handle;
|
|||
|
trans_handle : transaction_handle;
|
|||
|
msg_length : short_integer;
|
|||
|
msg : SYSTEM.ADDRESS) IS
|
|||
|
BEGIN
|
|||
|
gds_ddl (
|
|||
|
user_status'address,
|
|||
|
db_handle'address,
|
|||
|
trans_handle'address,
|
|||
|
msg_length'address,
|
|||
|
msg);
|
|||
|
END ddl;
|
|||
|
|
|||
|
PROCEDURE decode_date (
|
|||
|
date : quad;
|
|||
|
times : IN OUT gds_tm) IS
|
|||
|
BEGIN
|
|||
|
gds_decode_date (
|
|||
|
date'address,
|
|||
|
times'address);
|
|||
|
END decode_date;
|
|||
|
|
|||
|
|
|||
|
PROCEDURE detach_database (
|
|||
|
user_status : OUT status_vector;
|
|||
|
db_handle : IN OUT database_handle) IS
|
|||
|
BEGIN
|
|||
|
gds_detach_database (
|
|||
|
user_status'address,
|
|||
|
db_handle'address);
|
|||
|
END detach_database;
|
|||
|
|
|||
|
PROCEDURE encode_date (
|
|||
|
times : IN OUT gds_tm;
|
|||
|
date : quad) IS
|
|||
|
BEGIN
|
|||
|
gds_encode_date (
|
|||
|
times'address,
|
|||
|
date'address);
|
|||
|
END encode_date;
|
|||
|
|
|||
|
|
|||
|
PROCEDURE event_wait (
|
|||
|
user_status : OUT status_vector;
|
|||
|
db_handle : database_handle;
|
|||
|
length : short_integer;
|
|||
|
events : string;
|
|||
|
buffer : string) IS
|
|||
|
BEGIN
|
|||
|
gds_event_wait (
|
|||
|
user_status'address,
|
|||
|
db_handle'address,
|
|||
|
length'address,
|
|||
|
events'address,
|
|||
|
buffer'address);
|
|||
|
END event_wait;
|
|||
|
|
|||
|
PROCEDURE get_segment (
|
|||
|
user_status : OUT status_vector;
|
|||
|
blb_handle : blob_handle;
|
|||
|
actual_length : OUT short_integer;
|
|||
|
buffer_length : short_integer;
|
|||
|
buffer : string) IS
|
|||
|
BEGIN
|
|||
|
gds_get_segment (
|
|||
|
user_status'address,
|
|||
|
blb_handle'address,
|
|||
|
actual_length'address,
|
|||
|
buffer_length'address,
|
|||
|
buffer'address);
|
|||
|
END get_segment;
|
|||
|
|
|||
|
PROCEDURE get_slice (
|
|||
|
user_status : OUT status_vector;
|
|||
|
db_handle : database_handle;
|
|||
|
trans_handle : transaction_handle;
|
|||
|
blob_id : quad;
|
|||
|
sdl_length : short_integer;
|
|||
|
sdl : blr;
|
|||
|
param_length : short_integer;
|
|||
|
param : string;
|
|||
|
slice_length : integer;
|
|||
|
slice : SYSTEM.ADDRESS;
|
|||
|
return_length : OUT integer) IS
|
|||
|
BEGIN
|
|||
|
gds_get_slice (
|
|||
|
user_status'address,
|
|||
|
db_handle'address,
|
|||
|
trans_handle'address,
|
|||
|
blob_id'address,
|
|||
|
sdl_length'address,
|
|||
|
sdl'address,
|
|||
|
param_length'address,
|
|||
|
param'address,
|
|||
|
slice_length'address,
|
|||
|
slice,
|
|||
|
return_length'address);
|
|||
|
END get_slice;
|
|||
|
|
|||
|
PROCEDURE open_blob (
|
|||
|
user_status : OUT status_vector;
|
|||
|
db_handle : database_handle;
|
|||
|
trans_handle : transaction_handle;
|
|||
|
blb_handle : IN OUT blob_handle;
|
|||
|
blob_id : quad) IS
|
|||
|
BEGIN
|
|||
|
gds_open_blob (
|
|||
|
user_status'address,
|
|||
|
db_handle'address,
|
|||
|
trans_handle'address,
|
|||
|
blb_handle'address,
|
|||
|
blob_id'address);
|
|||
|
END open_blob;
|
|||
|
|
|||
|
PROCEDURE open_blob2 (
|
|||
|
user_status : OUT status_vector;
|
|||
|
db_handle : database_handle;
|
|||
|
trans_handle : transaction_handle;
|
|||
|
blb_handle : IN OUT blob_handle;
|
|||
|
blob_id : quad;
|
|||
|
bpb_length : short_integer;
|
|||
|
bpb : blr) IS
|
|||
|
BEGIN
|
|||
|
gds_open_blob2 (
|
|||
|
user_status'address,
|
|||
|
db_handle'address,
|
|||
|
trans_handle'address,
|
|||
|
blb_handle'address,
|
|||
|
blob_id'address,
|
|||
|
bpb_length'address,
|
|||
|
bpb'address);
|
|||
|
END open_blob2;
|
|||
|
|
|||
|
PROCEDURE prepare_transaction (
|
|||
|
user_status : OUT status_vector;
|
|||
|
trans_handle : IN OUT transaction_handle) IS
|
|||
|
BEGIN
|
|||
|
gds_prepare_transaction (
|
|||
|
user_status'address,
|
|||
|
trans_handle'address);
|
|||
|
END prepare_transaction;
|
|||
|
|
|||
|
PROCEDURE prepare_transaction2 (
|
|||
|
user_status : OUT status_vector;
|
|||
|
trans_handle : IN OUT transaction_handle;
|
|||
|
msg_length : short_integer;
|
|||
|
msg : blr) IS
|
|||
|
BEGIN
|
|||
|
gds_prepare_transaction2 (
|
|||
|
user_status'address,
|
|||
|
trans_handle'address,
|
|||
|
msg_length'address,
|
|||
|
msg'address);
|
|||
|
END prepare_transaction2;
|
|||
|
|
|||
|
PROCEDURE put_segment (
|
|||
|
user_status : OUT status_vector;
|
|||
|
blb_handle : blob_handle;
|
|||
|
length : short_integer;
|
|||
|
buffer : string) IS
|
|||
|
BEGIN
|
|||
|
gds_put_segment (
|
|||
|
user_status'address,
|
|||
|
blb_handle'address,
|
|||
|
length'address,
|
|||
|
buffer'address);
|
|||
|
END put_segment;
|
|||
|
|
|||
|
PROCEDURE put_slice (
|
|||
|
user_status : OUT status_vector;
|
|||
|
db_handle : database_handle;
|
|||
|
trans_handle : transaction_handle;
|
|||
|
blob_id : IN OUT quad;
|
|||
|
sdl_length : short_integer;
|
|||
|
sdl : blr;
|
|||
|
param_length : short_integer;
|
|||
|
param : string;
|
|||
|
slice_length : integer;
|
|||
|
slice : SYSTEM.ADDRESS) IS
|
|||
|
BEGIN
|
|||
|
gds_put_slice (
|
|||
|
user_status'address,
|
|||
|
db_handle'address,
|
|||
|
trans_handle'address,
|
|||
|
blob_id'address,
|
|||
|
sdl_length'address,
|
|||
|
sdl'address,
|
|||
|
param_length'address,
|
|||
|
param'address,
|
|||
|
slice_length'address,
|
|||
|
slice);
|
|||
|
END put_slice;
|
|||
|
|
|||
|
PROCEDURE queue_events (
|
|||
|
user_status : OUT status_vector;
|
|||
|
db_handle : database_handle;
|
|||
|
id : quad;
|
|||
|
length : short_integer;
|
|||
|
events : string;
|
|||
|
ast : integer;
|
|||
|
arg : quad) IS
|
|||
|
BEGIN
|
|||
|
gds_queue_events (
|
|||
|
user_status'address,
|
|||
|
db_handle'address,
|
|||
|
id'address,
|
|||
|
length'address,
|
|||
|
events'address,
|
|||
|
ast'address,
|
|||
|
arg'address);
|
|||
|
END queue_events;
|
|||
|
|
|||
|
PROCEDURE receive (
|
|||
|
user_status : OUT status_vector;
|
|||
|
req_handle : request_handle;
|
|||
|
msg_type : short_integer;
|
|||
|
msg_length : short_integer;
|
|||
|
msg : SYSTEM.ADDRESS;
|
|||
|
level : short_integer) IS
|
|||
|
BEGIN
|
|||
|
gds_receive (
|
|||
|
user_status'address,
|
|||
|
req_handle'address,
|
|||
|
msg_type'address,
|
|||
|
msg_length'address,
|
|||
|
msg,
|
|||
|
level'address);
|
|||
|
END receive;
|
|||
|
|
|||
|
PROCEDURE rollback_transaction (
|
|||
|
user_status : OUT status_vector;
|
|||
|
trans_handle : IN OUT transaction_handle) IS
|
|||
|
BEGIN
|
|||
|
gds_rollback_transaction (
|
|||
|
user_status'address,
|
|||
|
trans_handle'address);
|
|||
|
END rollback_transaction;
|
|||
|
|
|||
|
|
|||
|
PROCEDURE send (
|
|||
|
user_status : OUT status_vector;
|
|||
|
req_handle : request_handle;
|
|||
|
msg_type : short_integer;
|
|||
|
msg_length : short_integer;
|
|||
|
msg : SYSTEM.ADDRESS;
|
|||
|
level : short_integer) IS
|
|||
|
BEGIN
|
|||
|
gds_send (
|
|||
|
user_status'address,
|
|||
|
req_handle'address,
|
|||
|
msg_type'address,
|
|||
|
msg_length'address,
|
|||
|
msg,
|
|||
|
level'address);
|
|||
|
END send;
|
|||
|
|
|||
|
PROCEDURE set_debug (
|
|||
|
debug_val : integer) IS
|
|||
|
BEGIN
|
|||
|
gds_set_debug (
|
|||
|
debug_val'address);
|
|||
|
END set_debug;
|
|||
|
|
|||
|
PROCEDURE start_request (
|
|||
|
user_status : OUT status_vector;
|
|||
|
req_handle : request_handle;
|
|||
|
trans_handle : transaction_handle;
|
|||
|
level : short_integer) IS
|
|||
|
BEGIN
|
|||
|
gds_start_request (
|
|||
|
user_status'address,
|
|||
|
req_handle'address,
|
|||
|
trans_handle'address,
|
|||
|
level'address);
|
|||
|
END start_request;
|
|||
|
|
|||
|
|
|||
|
PROCEDURE start_and_send (
|
|||
|
user_status : OUT status_vector;
|
|||
|
req_handle : request_handle;
|
|||
|
trans_handle : transaction_handle;
|
|||
|
msg_type : short_integer;
|
|||
|
msg_length : short_integer;
|
|||
|
msg : SYSTEM.ADDRESS;
|
|||
|
level : short_integer) IS
|
|||
|
BEGIN
|
|||
|
gds_start_and_send (
|
|||
|
user_status'address,
|
|||
|
req_handle'address,
|
|||
|
trans_handle'address,
|
|||
|
msg_type'address,
|
|||
|
msg_length'address,
|
|||
|
msg,
|
|||
|
level'address);
|
|||
|
END start_and_send;
|
|||
|
|
|||
|
PROCEDURE start_multiple (
|
|||
|
user_status : OUT status_vector;
|
|||
|
trans_handle : IN OUT transaction_handle;
|
|||
|
count : short_integer;
|
|||
|
teb : SYSTEM.ADDRESS) IS
|
|||
|
BEGIN
|
|||
|
gds_start_multiple (
|
|||
|
user_status'address,
|
|||
|
trans_handle'address,
|
|||
|
count'address,
|
|||
|
teb);
|
|||
|
END start_multiple;
|
|||
|
|
|||
|
|
|||
|
PROCEDURE start_transaction (
|
|||
|
user_status : OUT status_vector;
|
|||
|
trans_handle : IN OUT transaction_handle;
|
|||
|
count : short_integer;
|
|||
|
db_handle : database_handle;
|
|||
|
tpb_length : short_integer;
|
|||
|
tpb_arg : tpb) IS
|
|||
|
BEGIN
|
|||
|
gds_start_transaction (
|
|||
|
user_status'address,
|
|||
|
trans_handle'address,
|
|||
|
count'address,
|
|||
|
db_handle'address,
|
|||
|
tpb_length'address,
|
|||
|
tpb_arg'address);
|
|||
|
END start_transaction;
|
|||
|
|
|||
|
|
|||
|
PROCEDURE unwind_request (
|
|||
|
user_status : OUT status_vector;
|
|||
|
req_handle : request_handle;
|
|||
|
level : short_integer) IS
|
|||
|
BEGIN
|
|||
|
gds_unwind_request (
|
|||
|
user_status'address,
|
|||
|
req_handle'address,
|
|||
|
level'address);
|
|||
|
END unwind_request;
|
|||
|
|
|||
|
|
|||
|
PROCEDURE print_status (
|
|||
|
user_status : status_vector) IS
|
|||
|
BEGIN
|
|||
|
gds_print_status (
|
|||
|
user_status'address);
|
|||
|
END print_status;
|
|||
|
|
|||
|
|
|||
|
PROCEDURE print_version (
|
|||
|
db_handle: database_handle) IS
|
|||
|
|
|||
|
ptr : integer := 0;
|
|||
|
BEGIN
|
|||
|
gds_version (
|
|||
|
db_handle'address,
|
|||
|
0,
|
|||
|
ptr'address);
|
|||
|
END print_version;
|
|||
|
|
|||
|
FUNCTION sqlcode (
|
|||
|
user_status : status_vector) RETURN integer IS
|
|||
|
BEGIN
|
|||
|
return gds_sqlcode (user_status'address);
|
|||
|
end sqlcode;
|
|||
|
|
|||
|
--- Dynamic SQL procedures
|
|||
|
|
|||
|
PROCEDURE dsql_close (
|
|||
|
user_status : OUT status_vector;
|
|||
|
cursor_name : string) IS
|
|||
|
BEGIN
|
|||
|
gds_close (
|
|||
|
user_status'address,
|
|||
|
cursor_name'address);
|
|||
|
END dsql_close;
|
|||
|
|
|||
|
PROCEDURE dsql_declare (
|
|||
|
user_status : OUT status_vector;
|
|||
|
statement_name : string;
|
|||
|
cursor_name : string) IS
|
|||
|
BEGIN
|
|||
|
gds_declare (
|
|||
|
user_status'address,
|
|||
|
statement_name'address,
|
|||
|
cursor_name'address);
|
|||
|
END dsql_declare;
|
|||
|
|
|||
|
PROCEDURE dsql_describe (
|
|||
|
user_status : OUT status_vector;
|
|||
|
statement_name : string;
|
|||
|
descriptor : SYSTEM.ADDRESS) IS
|
|||
|
BEGIN
|
|||
|
gds_describe (
|
|||
|
user_status'address,
|
|||
|
statement_name'address,
|
|||
|
descriptor);
|
|||
|
END dsql_describe;
|
|||
|
|
|||
|
PROCEDURE dsql_finish (
|
|||
|
db_handle : database_handle) IS
|
|||
|
BEGIN
|
|||
|
gds_dsql_finish (
|
|||
|
db_handle'address);
|
|||
|
END dsql_finish;
|
|||
|
|
|||
|
PROCEDURE dsql_execute (
|
|||
|
user_status : OUT status_vector;
|
|||
|
trans_handle : transaction_handle;
|
|||
|
statement_name : string;
|
|||
|
descriptor : SYSTEM.ADDRESS) IS
|
|||
|
BEGIN
|
|||
|
gds_execute (
|
|||
|
user_status'address,
|
|||
|
trans_handle'address,
|
|||
|
statement_name'address,
|
|||
|
descriptor);
|
|||
|
END dsql_execute;
|
|||
|
|
|||
|
PROCEDURE dsql_execute (
|
|||
|
user_status : OUT status_vector;
|
|||
|
trans_handle : transaction_handle;
|
|||
|
statement_name : string) IS
|
|||
|
BEGIN
|
|||
|
gds_execute (
|
|||
|
user_status'address,
|
|||
|
trans_handle'address,
|
|||
|
statement_name'address,
|
|||
|
null_blob'address);
|
|||
|
END dsql_execute;
|
|||
|
|
|||
|
PROCEDURE dsql_execute_immediate (
|
|||
|
user_status : OUT status_vector;
|
|||
|
db_handle : database_handle;
|
|||
|
trans_handle : transaction_handle;
|
|||
|
command_length : short_integer;
|
|||
|
command : string) IS
|
|||
|
BEGIN
|
|||
|
gds_execute_immediate (
|
|||
|
user_status'address,
|
|||
|
db_handle'address,
|
|||
|
trans_handle'address,
|
|||
|
command_length'address,
|
|||
|
command'address);
|
|||
|
END dsql_execute_immediate;
|
|||
|
|
|||
|
PROCEDURE dsql_fetch (
|
|||
|
user_status : OUT status_vector;
|
|||
|
sqlcode : OUT integer;
|
|||
|
cursor_name : string;
|
|||
|
descriptor : SYSTEM.ADDRESS) IS
|
|||
|
BEGIN
|
|||
|
gds_fetch (
|
|||
|
user_status'address,
|
|||
|
sqlcode'address,
|
|||
|
cursor_name'address,
|
|||
|
descriptor);
|
|||
|
END dsql_fetch;
|
|||
|
|
|||
|
PROCEDURE dsql_fetch (
|
|||
|
user_status : OUT status_vector;
|
|||
|
sqlcode : OUT integer;
|
|||
|
cursor_name : string) IS
|
|||
|
BEGIN
|
|||
|
gds_fetch (
|
|||
|
user_status'address,
|
|||
|
sqlcode'address,
|
|||
|
cursor_name'address,
|
|||
|
null_blob'address);
|
|||
|
END dsql_fetch;
|
|||
|
|
|||
|
PROCEDURE dsql_open (
|
|||
|
user_status : OUT status_vector;
|
|||
|
trans_handle : transaction_handle;
|
|||
|
cursor_name : string;
|
|||
|
descriptor : SYSTEM.ADDRESS) IS
|
|||
|
BEGIN
|
|||
|
gds_open (
|
|||
|
user_status'address,
|
|||
|
trans_handle'address,
|
|||
|
cursor_name'address,
|
|||
|
descriptor);
|
|||
|
END dsql_open;
|
|||
|
|
|||
|
PROCEDURE dsql_open (
|
|||
|
user_status : OUT status_vector;
|
|||
|
trans_handle : transaction_handle;
|
|||
|
cursor_name : string) IS
|
|||
|
BEGIN
|
|||
|
gds_open (
|
|||
|
user_status'address,
|
|||
|
trans_handle'address,
|
|||
|
cursor_name'address,
|
|||
|
null_blob'address);
|
|||
|
END dsql_open;
|
|||
|
|
|||
|
PROCEDURE dsql_prepare (
|
|||
|
user_status : OUT status_vector;
|
|||
|
db_handle : database_handle;
|
|||
|
trans_handle : transaction_handle;
|
|||
|
statement_name : string;
|
|||
|
command_length : short_integer;
|
|||
|
command : string;
|
|||
|
descriptor : SYSTEM.ADDRESS) IS
|
|||
|
BEGIN
|
|||
|
gds_prepare (
|
|||
|
user_status'address,
|
|||
|
db_handle'address,
|
|||
|
trans_handle'address,
|
|||
|
statement_name'address,
|
|||
|
command_length'address,
|
|||
|
command'address,
|
|||
|
descriptor);
|
|||
|
END dsql_prepare;
|
|||
|
|
|||
|
PROCEDURE dsql_prepare (
|
|||
|
user_status : OUT status_vector;
|
|||
|
db_handle : database_handle;
|
|||
|
trans_handle : transaction_handle;
|
|||
|
statement_name : string;
|
|||
|
command_length : short_integer;
|
|||
|
command : string) IS
|
|||
|
BEGIN
|
|||
|
gds_prepare (
|
|||
|
user_status'address,
|
|||
|
db_handle'address,
|
|||
|
trans_handle'address,
|
|||
|
statement_name'address,
|
|||
|
command_length'address,
|
|||
|
command'address,
|
|||
|
null_blob'address);
|
|||
|
END dsql_prepare;
|
|||
|
|
|||
|
--- PYXIS procedures
|
|||
|
|
|||
|
PROCEDURE compile_map (
|
|||
|
user_status : OUT status_vector;
|
|||
|
frm_handle : form_handle;
|
|||
|
mp_handle : OUT map_handle;
|
|||
|
map_length : short_integer;
|
|||
|
map : blr) IS
|
|||
|
BEGIN
|
|||
|
pyxis_compile_map (
|
|||
|
user_status'address,
|
|||
|
frm_handle'address,
|
|||
|
mp_handle'address,
|
|||
|
map_length'address,
|
|||
|
map'address);
|
|||
|
END compile_map;
|
|||
|
|
|||
|
PROCEDURE compile_sub_map (
|
|||
|
user_status : OUT status_vector;
|
|||
|
frm_handle : form_handle;
|
|||
|
mp_handle : OUT map_handle;
|
|||
|
map_length : short_integer;
|
|||
|
map : blr) IS
|
|||
|
BEGIN
|
|||
|
pyxis_compile_sub_map (
|
|||
|
user_status'address,
|
|||
|
frm_handle'address,
|
|||
|
mp_handle'address,
|
|||
|
map_length'address,
|
|||
|
map'address);
|
|||
|
END compile_sub_map;
|
|||
|
|
|||
|
PROCEDURE create_window (
|
|||
|
win_handle : OUT window_handle;
|
|||
|
name_length : short_integer;
|
|||
|
file_name : string;
|
|||
|
width : IN OUT short_integer;
|
|||
|
height : IN OUT short_integer) IS
|
|||
|
BEGIN
|
|||
|
pyxis_create_window (
|
|||
|
win_handle'address,
|
|||
|
name_length'address,
|
|||
|
file_name'address,
|
|||
|
width'address,
|
|||
|
height'address);
|
|||
|
END create_window;
|
|||
|
|
|||
|
PROCEDURE delete_window (
|
|||
|
win_handle : IN OUT window_handle) IS
|
|||
|
BEGIN
|
|||
|
pyxis_delete_window (
|
|||
|
win_handle'address);
|
|||
|
END delete_window;
|
|||
|
|
|||
|
PROCEDURE drive_form (
|
|||
|
user_status : OUT status_vector;
|
|||
|
db_handle : database_handle;
|
|||
|
trans_handle : transaction_handle;
|
|||
|
win_handle : window_handle;
|
|||
|
mp_handle : map_handle;
|
|||
|
input : SYSTEM.ADDRESS;
|
|||
|
output : SYSTEM.ADDRESS) IS
|
|||
|
BEGIN
|
|||
|
pyxis_drive_form (
|
|||
|
user_status'address,
|
|||
|
db_handle'address,
|
|||
|
trans_handle'address,
|
|||
|
win_handle'address,
|
|||
|
mp_handle'address,
|
|||
|
input,
|
|||
|
output);
|
|||
|
END drive_form;
|
|||
|
|
|||
|
PROCEDURE fetch_sub_form (
|
|||
|
user_status : OUT status_vector;
|
|||
|
db_handle : database_handle;
|
|||
|
trans_handle : transaction_handle;
|
|||
|
mp_handle : map_handle;
|
|||
|
output : SYSTEM.ADDRESS) IS
|
|||
|
BEGIN
|
|||
|
pyxis_fetch (
|
|||
|
user_status'address,
|
|||
|
db_handle'address,
|
|||
|
trans_handle'address,
|
|||
|
mp_handle'address,
|
|||
|
output);
|
|||
|
END fetch_sub_form;
|
|||
|
|
|||
|
PROCEDURE insert_sub_form (
|
|||
|
user_status : OUT status_vector;
|
|||
|
db_handle : database_handle;
|
|||
|
trans_handle : transaction_handle;
|
|||
|
mp_handle : map_handle;
|
|||
|
input : SYSTEM.ADDRESS) IS
|
|||
|
BEGIN
|
|||
|
pyxis_insert (
|
|||
|
user_status'address,
|
|||
|
db_handle'address,
|
|||
|
trans_handle'address,
|
|||
|
mp_handle'address,
|
|||
|
input);
|
|||
|
END insert_sub_form;
|
|||
|
|
|||
|
PROCEDURE load_form (
|
|||
|
user_status : OUT status_vector;
|
|||
|
db_handle : database_handle;
|
|||
|
trans_handle : transaction_handle;
|
|||
|
frm_handle : IN OUT form_handle;
|
|||
|
name_length : short_integer;
|
|||
|
form_name : string) IS
|
|||
|
BEGIN
|
|||
|
pyxis_load_form (
|
|||
|
user_status'address,
|
|||
|
db_handle'address,
|
|||
|
trans_handle'address,
|
|||
|
frm_handle'address,
|
|||
|
name_length'address,
|
|||
|
form_name'address);
|
|||
|
END load_form;
|
|||
|
|
|||
|
FUNCTION menu (
|
|||
|
win_handle : window_handle;
|
|||
|
men_handle : menu_handle;
|
|||
|
menu_length : short_integer;
|
|||
|
menu : blr) RETURN short_integer IS
|
|||
|
BEGIN
|
|||
|
return pyxis_menu (
|
|||
|
win_handle'address,
|
|||
|
men_handle'address,
|
|||
|
menu_length'address,
|
|||
|
menu'address);
|
|||
|
END menu;
|
|||
|
|
|||
|
PROCEDURE pop_window (
|
|||
|
win_handle : window_handle) IS
|
|||
|
BEGIN
|
|||
|
pyxis_pop_window (
|
|||
|
win_handle'address);
|
|||
|
END pop_window;
|
|||
|
|
|||
|
PROCEDURE reset_form (
|
|||
|
user_status : OUT status_vector;
|
|||
|
win_handle : window_handle) IS
|
|||
|
BEGIN
|
|||
|
pyxis_reset_form (
|
|||
|
user_status'address,
|
|||
|
win_handle'address);
|
|||
|
END reset_form;
|
|||
|
|
|||
|
PROCEDURE drive_menu (
|
|||
|
win_handle : IN OUT window_handle;
|
|||
|
men_handle : IN OUT menu_handle;
|
|||
|
blr_length : short_integer;
|
|||
|
blr_source : blr;
|
|||
|
title_length : short_integer;
|
|||
|
title : string;
|
|||
|
terminator : OUT short_integer;
|
|||
|
entree_length : OUT short_integer;
|
|||
|
entree_text : OUT string;
|
|||
|
entree_value : OUT integer) IS
|
|||
|
BEGIN
|
|||
|
pyxis_drive_menu (
|
|||
|
win_handle'address,
|
|||
|
men_handle'address,
|
|||
|
blr_length'address,
|
|||
|
blr_source'address,
|
|||
|
title_length'address,
|
|||
|
title'address,
|
|||
|
terminator'address,
|
|||
|
entree_length'address,
|
|||
|
entree_text'address,
|
|||
|
entree_value'address);
|
|||
|
END drive_menu;
|
|||
|
|
|||
|
PROCEDURE get_entree (
|
|||
|
men_handle : menu_handle;
|
|||
|
entree_length : OUT short_integer;
|
|||
|
entree_text : OUT string;
|
|||
|
entree_value : OUT integer;
|
|||
|
entree_end : OUT short_integer) IS
|
|||
|
BEGIN
|
|||
|
pyxis_get_entree (
|
|||
|
men_handle'address,
|
|||
|
entree_length'address,
|
|||
|
entree_text'address,
|
|||
|
entree_value'address,
|
|||
|
entree_end'address);
|
|||
|
END get_entree;
|
|||
|
|
|||
|
PROCEDURE initialize_menu (
|
|||
|
men_handle : IN OUT menu_handle) IS
|
|||
|
BEGIN
|
|||
|
pyxis_initialize_menu (
|
|||
|
men_handle'address);
|
|||
|
END initialize_menu;
|
|||
|
|
|||
|
PROCEDURE put_entree (
|
|||
|
men_handle : menu_handle;
|
|||
|
entree_length : short_integer;
|
|||
|
entree_text : string;
|
|||
|
entree_value : integer) IS
|
|||
|
BEGIN
|
|||
|
pyxis_put_entree (
|
|||
|
men_handle'address,
|
|||
|
entree_length'address,
|
|||
|
entree_text'address,
|
|||
|
entree_value'address);
|
|||
|
END put_entree;
|
|||
|
|
|||
|
|
|||
|
---
|
|||
|
--- Internal routines
|
|||
|
---
|
|||
|
|
|||
|
PROCEDURE error (
|
|||
|
user_status : status_vector) IS
|
|||
|
BEGIN
|
|||
|
gds_print_status (user_status'address);
|
|||
|
RAISE database_error;
|
|||
|
END;
|
|||
|
|
|||
|
|
|||
|
---
|
|||
|
--- Routines sans explicit status vector
|
|||
|
---
|
|||
|
|
|||
|
PROCEDURE attach_database (
|
|||
|
file_length : short_integer;
|
|||
|
file_name : string;
|
|||
|
db_handle : IN OUT database_handle;
|
|||
|
dpb_length : short_integer;
|
|||
|
dpb_arg : dpb) IS
|
|||
|
|
|||
|
user_status : status_vector;
|
|||
|
BEGIN
|
|||
|
gds_attach_database (
|
|||
|
user_status'address,
|
|||
|
file_length'address,
|
|||
|
file_name'address,
|
|||
|
db_handle'address,
|
|||
|
dpb_length'address,
|
|||
|
dpb_arg'address);
|
|||
|
if user_status (1) /= 0 then error (user_status); end if;
|
|||
|
END attach_database;
|
|||
|
|
|||
|
PROCEDURE cancel_blob (
|
|||
|
blb_handle : IN OUT blob_handle) IS
|
|||
|
|
|||
|
user_status : status_vector;
|
|||
|
BEGIN
|
|||
|
gds_cancel_blob (
|
|||
|
user_status'address,
|
|||
|
blb_handle'address);
|
|||
|
if user_status (1) /= 0 then error (user_status); end if;
|
|||
|
END cancel_blob;
|
|||
|
|
|||
|
PROCEDURE cancel_events (
|
|||
|
blb_handle : IN OUT blob_handle) IS
|
|||
|
|
|||
|
user_status : status_vector;
|
|||
|
BEGIN
|
|||
|
gds_cancel_events (
|
|||
|
user_status'address,
|
|||
|
blb_handle'address);
|
|||
|
if user_status (1) /= 0 then error (user_status); end if;
|
|||
|
END cancel_events;
|
|||
|
|
|||
|
PROCEDURE close_blob (
|
|||
|
blb_handle : IN OUT blob_handle) IS
|
|||
|
|
|||
|
user_status : status_vector;
|
|||
|
BEGIN
|
|||
|
gds_close_blob (
|
|||
|
user_status'address,
|
|||
|
blb_handle'address);
|
|||
|
if user_status (1) /= 0 then error (user_status); end if;
|
|||
|
END close_blob;
|
|||
|
|
|||
|
PROCEDURE commit_retaining (
|
|||
|
trans_handle : IN OUT transaction_handle) IS
|
|||
|
|
|||
|
user_status : status_vector;
|
|||
|
BEGIN
|
|||
|
gds_commit_retaining (
|
|||
|
user_status'address,
|
|||
|
trans_handle'address);
|
|||
|
if user_status (1) /= 0 then error (user_status); end if;
|
|||
|
END commit_retaining;
|
|||
|
|
|||
|
PROCEDURE commit_transaction (
|
|||
|
trans_handle : IN OUT transaction_handle) IS
|
|||
|
|
|||
|
user_status : status_vector;
|
|||
|
BEGIN
|
|||
|
gds_commit_transaction (
|
|||
|
user_status'address,
|
|||
|
trans_handle'address);
|
|||
|
if user_status (1) /= 0 then error (user_status); end if;
|
|||
|
END commit_transaction;
|
|||
|
|
|||
|
|
|||
|
PROCEDURE compile_request (
|
|||
|
db_handle : database_handle;
|
|||
|
req_handle : IN OUT request_handle;
|
|||
|
blr_length : short_integer;
|
|||
|
blr_arg : blr) IS
|
|||
|
|
|||
|
user_status : status_vector;
|
|||
|
BEGIN
|
|||
|
gds_compile_request (
|
|||
|
user_status'address,
|
|||
|
db_handle'address,
|
|||
|
req_handle'address,
|
|||
|
blr_length'address,
|
|||
|
blr_arg'address);
|
|||
|
if user_status (1) /= 0 then error (user_status); end if;
|
|||
|
END compile_request;
|
|||
|
|
|||
|
|
|||
|
PROCEDURE compile_request2 (
|
|||
|
db_handle : database_handle;
|
|||
|
req_handle : IN OUT request_handle;
|
|||
|
blr_length : short_integer;
|
|||
|
blr_arg : blr) IS
|
|||
|
|
|||
|
user_status : status_vector;
|
|||
|
BEGIN
|
|||
|
gds_compile_request2 (
|
|||
|
user_status'address,
|
|||
|
db_handle'address,
|
|||
|
req_handle'address,
|
|||
|
blr_length'address,
|
|||
|
blr_arg'address);
|
|||
|
if user_status (1) /= 0 then error (user_status); end if;
|
|||
|
END compile_request2;
|
|||
|
|
|||
|
|
|||
|
PROCEDURE create_blob (
|
|||
|
db_handle : database_handle;
|
|||
|
trans_handle : transaction_handle;
|
|||
|
blb_handle : IN OUT blob_handle;
|
|||
|
blob_id : OUT quad) IS
|
|||
|
|
|||
|
user_status : status_vector;
|
|||
|
BEGIN
|
|||
|
gds_create_blob (
|
|||
|
user_status'address,
|
|||
|
db_handle'address,
|
|||
|
trans_handle'address,
|
|||
|
blb_handle'address,
|
|||
|
blob_id'address);
|
|||
|
if user_status (1) /= 0 then error (user_status); end if;
|
|||
|
END create_blob;
|
|||
|
|
|||
|
PROCEDURE create_blob2 (
|
|||
|
db_handle : database_handle;
|
|||
|
trans_handle : transaction_handle;
|
|||
|
blb_handle : IN OUT blob_handle;
|
|||
|
blob_id : OUT quad;
|
|||
|
bpb_length : short_integer;
|
|||
|
bpb : blr) IS
|
|||
|
|
|||
|
user_status : status_vector;
|
|||
|
BEGIN
|
|||
|
gds_create_blob2 (
|
|||
|
user_status'address,
|
|||
|
db_handle'address,
|
|||
|
trans_handle'address,
|
|||
|
blb_handle'address,
|
|||
|
blob_id'address,
|
|||
|
bpb_length'address,
|
|||
|
bpb'address);
|
|||
|
if user_status (1) /= 0 then error (user_status); end if;
|
|||
|
END create_blob2;
|
|||
|
|
|||
|
PROCEDURE create_database (
|
|||
|
file_length : short_integer;
|
|||
|
file_name : string;
|
|||
|
db_handle : IN OUT database_handle;
|
|||
|
dpb_length : short_integer;
|
|||
|
dpb_arg : dpb;
|
|||
|
db_type : short_integer) IS
|
|||
|
|
|||
|
user_status : status_vector;
|
|||
|
BEGIN
|
|||
|
gds_create_database (
|
|||
|
user_status'address,
|
|||
|
file_length'address,
|
|||
|
file_name'address,
|
|||
|
db_handle'address,
|
|||
|
dpb_length'address,
|
|||
|
dpb_arg'address,
|
|||
|
db_type'address);
|
|||
|
if user_status (1) /= 0 then error (user_status); end if;
|
|||
|
END create_database;
|
|||
|
|
|||
|
PROCEDURE ddl (
|
|||
|
db_handle : database_handle;
|
|||
|
trans_handle : transaction_handle;
|
|||
|
msg_length : short_integer;
|
|||
|
msg : SYSTEM.ADDRESS) IS
|
|||
|
|
|||
|
user_status : status_vector;
|
|||
|
BEGIN
|
|||
|
gds_ddl (
|
|||
|
user_status'address,
|
|||
|
db_handle'address,
|
|||
|
trans_handle'address,
|
|||
|
msg_length'address,
|
|||
|
msg);
|
|||
|
if user_status (1) /= 0 then error (user_status); end if;
|
|||
|
END ddl;
|
|||
|
|
|||
|
PROCEDURE detach_database (
|
|||
|
db_handle : IN OUT database_handle) IS
|
|||
|
|
|||
|
user_status : status_vector;
|
|||
|
BEGIN
|
|||
|
gds_detach_database (
|
|||
|
user_status'address,
|
|||
|
db_handle'address);
|
|||
|
if user_status (1) /= 0 then error (user_status); end if;
|
|||
|
END detach_database;
|
|||
|
|
|||
|
|
|||
|
PROCEDURE event_wait (
|
|||
|
db_handle : database_handle;
|
|||
|
length : short_integer;
|
|||
|
events : string;
|
|||
|
buffer : string) IS
|
|||
|
|
|||
|
user_status : status_vector;
|
|||
|
BEGIN
|
|||
|
gds_event_wait (
|
|||
|
user_status'address,
|
|||
|
db_handle'address,
|
|||
|
length'address,
|
|||
|
events'address,
|
|||
|
buffer'address);
|
|||
|
END event_wait;
|
|||
|
|
|||
|
PROCEDURE get_segment (
|
|||
|
completion_code : OUT integer;
|
|||
|
blb_handle : blob_handle;
|
|||
|
actual_length : OUT short_integer;
|
|||
|
buffer_length : short_integer;
|
|||
|
buffer : string) IS
|
|||
|
|
|||
|
user_status : status_vector;
|
|||
|
BEGIN
|
|||
|
gds_get_segment (
|
|||
|
user_status'address,
|
|||
|
blb_handle'address,
|
|||
|
actual_length'address,
|
|||
|
buffer_length'address,
|
|||
|
buffer'address);
|
|||
|
if user_status (1) /= 0 and user_status (1) /= gds_segment and
|
|||
|
user_status (1) /= gds_segstr_eof then
|
|||
|
error (user_status);
|
|||
|
end if;
|
|||
|
completion_code := user_status(1);
|
|||
|
END get_segment;
|
|||
|
|
|||
|
PROCEDURE get_slice (
|
|||
|
db_handle : database_handle;
|
|||
|
trans_handle : transaction_handle;
|
|||
|
blob_id : quad;
|
|||
|
sdl_length : short_integer;
|
|||
|
sdl : blr;
|
|||
|
param_length : short_integer;
|
|||
|
param : string;
|
|||
|
slice_length : integer;
|
|||
|
slice : SYSTEM.ADDRESS;
|
|||
|
return_length : OUT integer) IS
|
|||
|
|
|||
|
user_status : status_vector;
|
|||
|
BEGIN
|
|||
|
gds_get_slice (
|
|||
|
user_status'address,
|
|||
|
db_handle'address,
|
|||
|
trans_handle'address,
|
|||
|
blob_id'address,
|
|||
|
sdl_length'address,
|
|||
|
sdl'address,
|
|||
|
param_length'address,
|
|||
|
param'address,
|
|||
|
slice_length'address,
|
|||
|
slice,
|
|||
|
return_length'address);
|
|||
|
END get_slice;
|
|||
|
|
|||
|
|
|||
|
PROCEDURE open_blob (
|
|||
|
db_handle : database_handle;
|
|||
|
trans_handle : transaction_handle;
|
|||
|
blb_handle : IN OUT blob_handle;
|
|||
|
blob_id : quad) IS
|
|||
|
|
|||
|
user_status : status_vector;
|
|||
|
BEGIN
|
|||
|
gds_open_blob (
|
|||
|
user_status'address,
|
|||
|
db_handle'address,
|
|||
|
trans_handle'address,
|
|||
|
blb_handle'address,
|
|||
|
blob_id'address);
|
|||
|
if user_status (1) /= 0 then error (user_status); end if;
|
|||
|
END open_blob;
|
|||
|
|
|||
|
PROCEDURE open_blob2 (
|
|||
|
db_handle : database_handle;
|
|||
|
trans_handle : transaction_handle;
|
|||
|
blb_handle : IN OUT blob_handle;
|
|||
|
blob_id : quad;
|
|||
|
bpb_length : short_integer;
|
|||
|
bpb : blr) IS
|
|||
|
|
|||
|
user_status : status_vector;
|
|||
|
BEGIN
|
|||
|
gds_open_blob2 (
|
|||
|
user_status'address,
|
|||
|
db_handle'address,
|
|||
|
trans_handle'address,
|
|||
|
blb_handle'address,
|
|||
|
blob_id'address,
|
|||
|
bpb_length'address,
|
|||
|
bpb'address);
|
|||
|
if user_status (1) /= 0 then error (user_status); end if;
|
|||
|
END open_blob2;
|
|||
|
|
|||
|
PROCEDURE prepare_transaction (
|
|||
|
trans_handle : IN OUT transaction_handle) IS
|
|||
|
|
|||
|
user_status : status_vector;
|
|||
|
BEGIN
|
|||
|
gds_prepare_transaction (
|
|||
|
user_status'address,
|
|||
|
trans_handle'address);
|
|||
|
if user_status (1) /= 0 then error (user_status); end if;
|
|||
|
END prepare_transaction;
|
|||
|
|
|||
|
PROCEDURE prepare_transaction2 (
|
|||
|
trans_handle : IN OUT transaction_handle;
|
|||
|
msg_length : short_integer;
|
|||
|
msg : blr) IS
|
|||
|
|
|||
|
user_status : status_vector;
|
|||
|
BEGIN
|
|||
|
gds_prepare_transaction2 (
|
|||
|
user_status'address,
|
|||
|
trans_handle'address,
|
|||
|
msg_length'address,
|
|||
|
msg'address);
|
|||
|
END prepare_transaction2;
|
|||
|
|
|||
|
PROCEDURE put_segment (
|
|||
|
blb_handle : blob_handle;
|
|||
|
length : short_integer;
|
|||
|
buffer : string) IS
|
|||
|
|
|||
|
user_status : status_vector;
|
|||
|
BEGIN
|
|||
|
gds_put_segment (
|
|||
|
user_status'address,
|
|||
|
blb_handle'address,
|
|||
|
length'address,
|
|||
|
buffer'address);
|
|||
|
if user_status (1) /= 0 then error (user_status); end if;
|
|||
|
END put_segment;
|
|||
|
|
|||
|
PROCEDURE put_slice (
|
|||
|
db_handle : database_handle;
|
|||
|
trans_handle : transaction_handle;
|
|||
|
blob_id : IN OUT quad;
|
|||
|
sdl_length : short_integer;
|
|||
|
sdl : blr;
|
|||
|
param_length : short_integer;
|
|||
|
param : string;
|
|||
|
slice_length : integer;
|
|||
|
slice : SYSTEM.ADDRESS) IS
|
|||
|
|
|||
|
user_status : status_vector;
|
|||
|
BEGIN
|
|||
|
gds_put_slice (
|
|||
|
user_status'address,
|
|||
|
db_handle'address,
|
|||
|
trans_handle'address,
|
|||
|
blob_id'address,
|
|||
|
sdl_length'address,
|
|||
|
sdl'address,
|
|||
|
param_length'address,
|
|||
|
param'address,
|
|||
|
slice_length'address,
|
|||
|
slice);
|
|||
|
END put_slice;
|
|||
|
|
|||
|
PROCEDURE queue_events (
|
|||
|
db_handle : database_handle;
|
|||
|
id : quad;
|
|||
|
length : short_integer;
|
|||
|
events : string;
|
|||
|
ast : integer;
|
|||
|
arg : quad) IS
|
|||
|
|
|||
|
user_status : status_vector;
|
|||
|
BEGIN
|
|||
|
gds_queue_events (
|
|||
|
user_status'address,
|
|||
|
db_handle'address,
|
|||
|
id'address,
|
|||
|
length'address,
|
|||
|
events'address,
|
|||
|
ast'address,
|
|||
|
arg'address);
|
|||
|
END queue_events;
|
|||
|
|
|||
|
PROCEDURE receive (
|
|||
|
req_handle : request_handle;
|
|||
|
msg_type : short_integer;
|
|||
|
msg_length : short_integer;
|
|||
|
msg : SYSTEM.ADDRESS;
|
|||
|
level : short_integer) IS
|
|||
|
|
|||
|
user_status : status_vector;
|
|||
|
BEGIN
|
|||
|
gds_receive (
|
|||
|
user_status'address,
|
|||
|
req_handle'address,
|
|||
|
msg_type'address,
|
|||
|
msg_length'address,
|
|||
|
msg,
|
|||
|
level'address);
|
|||
|
if user_status (1) /= 0 then error (user_status); end if;
|
|||
|
END receive;
|
|||
|
|
|||
|
PROCEDURE rollback_transaction (
|
|||
|
trans_handle : IN OUT transaction_handle) IS
|
|||
|
|
|||
|
user_status : status_vector;
|
|||
|
BEGIN
|
|||
|
gds_rollback_transaction (
|
|||
|
user_status'address,
|
|||
|
trans_handle'address);
|
|||
|
if user_status (1) /= 0 then error (user_status); end if;
|
|||
|
END rollback_transaction;
|
|||
|
|
|||
|
|
|||
|
PROCEDURE send (
|
|||
|
req_handle : request_handle;
|
|||
|
msg_type : short_integer;
|
|||
|
msg_length : short_integer;
|
|||
|
msg : SYSTEM.ADDRESS;
|
|||
|
level : short_integer) IS
|
|||
|
|
|||
|
user_status : status_vector;
|
|||
|
BEGIN
|
|||
|
gds_send (
|
|||
|
user_status'address,
|
|||
|
req_handle'address,
|
|||
|
msg_type'address,
|
|||
|
msg_length'address,
|
|||
|
msg,
|
|||
|
level'address);
|
|||
|
if user_status (1) /= 0 then error (user_status); end if;
|
|||
|
END send;
|
|||
|
|
|||
|
PROCEDURE start_request (
|
|||
|
req_handle : request_handle;
|
|||
|
trans_handle : transaction_handle;
|
|||
|
level : short_integer) IS
|
|||
|
|
|||
|
user_status : status_vector;
|
|||
|
BEGIN
|
|||
|
gds_start_request (
|
|||
|
user_status'address,
|
|||
|
req_handle'address,
|
|||
|
trans_handle'address,
|
|||
|
level'address);
|
|||
|
if user_status (1) /= 0 then error (user_status); end if;
|
|||
|
END start_request;
|
|||
|
|
|||
|
|
|||
|
PROCEDURE start_and_send (
|
|||
|
req_handle : request_handle;
|
|||
|
trans_handle : transaction_handle;
|
|||
|
msg_type : short_integer;
|
|||
|
msg_length : short_integer;
|
|||
|
msg : SYSTEM.ADDRESS;
|
|||
|
level : short_integer) IS
|
|||
|
|
|||
|
user_status : status_vector;
|
|||
|
BEGIN
|
|||
|
gds_start_and_send (
|
|||
|
user_status'address,
|
|||
|
req_handle'address,
|
|||
|
trans_handle'address,
|
|||
|
msg_type'address,
|
|||
|
msg_length'address,
|
|||
|
msg,
|
|||
|
level'address);
|
|||
|
if user_status (1) /= 0 then error (user_status); end if;
|
|||
|
END start_and_send;
|
|||
|
|
|||
|
PROCEDURE start_multiple (
|
|||
|
trans_handle : IN OUT transaction_handle;
|
|||
|
count : short_integer;
|
|||
|
teb : SYSTEM.ADDRESS) IS
|
|||
|
|
|||
|
user_status : status_vector;
|
|||
|
BEGIN
|
|||
|
gds_start_multiple (
|
|||
|
user_status'address,
|
|||
|
trans_handle'address,
|
|||
|
count'address,
|
|||
|
teb);
|
|||
|
if user_status (1) /= 0 then error (user_status); end if;
|
|||
|
END start_multiple;
|
|||
|
|
|||
|
|
|||
|
PROCEDURE start_transaction (
|
|||
|
trans_handle : IN OUT transaction_handle;
|
|||
|
count : short_integer;
|
|||
|
db_handle : database_handle;
|
|||
|
tpb_length : short_integer;
|
|||
|
tpb_arg : tpb) IS
|
|||
|
|
|||
|
user_status : status_vector;
|
|||
|
BEGIN
|
|||
|
gds_start_transaction (
|
|||
|
user_status'address,
|
|||
|
trans_handle'address,
|
|||
|
count'address,
|
|||
|
db_handle'address,
|
|||
|
tpb_length'address,
|
|||
|
tpb_arg'address);
|
|||
|
if user_status (1) /= 0 then error (user_status); end if;
|
|||
|
END start_transaction;
|
|||
|
|
|||
|
|
|||
|
PROCEDURE unwind_request (
|
|||
|
req_handle : request_handle;
|
|||
|
level : short_integer) IS
|
|||
|
|
|||
|
user_status : status_vector;
|
|||
|
BEGIN
|
|||
|
gds_unwind_request (
|
|||
|
user_status'address,
|
|||
|
req_handle'address,
|
|||
|
level'address);
|
|||
|
if user_status (1) /= 0 then error (user_status); end if;
|
|||
|
END unwind_request;
|
|||
|
|
|||
|
--- Dynamic SQL procedures
|
|||
|
|
|||
|
PROCEDURE dsql_close (
|
|||
|
cursor_name : string) IS
|
|||
|
|
|||
|
user_status : status_vector;
|
|||
|
BEGIN
|
|||
|
gds_close (
|
|||
|
user_status'address,
|
|||
|
cursor_name'address);
|
|||
|
if user_status (1) /= 0 then error (user_status); end if;
|
|||
|
END dsql_close;
|
|||
|
|
|||
|
PROCEDURE dsql_declare (
|
|||
|
statement_name : string;
|
|||
|
cursor_name : string) IS
|
|||
|
|
|||
|
user_status : status_vector;
|
|||
|
BEGIN
|
|||
|
gds_declare (
|
|||
|
user_status'address,
|
|||
|
statement_name'address,
|
|||
|
cursor_name'address);
|
|||
|
if user_status (1) /= 0 then error (user_status); end if;
|
|||
|
END dsql_declare;
|
|||
|
|
|||
|
PROCEDURE dsql_describe (
|
|||
|
statement_name : string;
|
|||
|
descriptor : SYSTEM.ADDRESS) IS
|
|||
|
|
|||
|
user_status : status_vector;
|
|||
|
BEGIN
|
|||
|
gds_describe (
|
|||
|
user_status'address,
|
|||
|
statement_name'address,
|
|||
|
descriptor'address);
|
|||
|
if user_status (1) /= 0 then error (user_status); end if;
|
|||
|
END dsql_describe;
|
|||
|
|
|||
|
PROCEDURE dsql_execute (
|
|||
|
trans_handle : transaction_handle;
|
|||
|
statement_name : string;
|
|||
|
descriptor : SYSTEM.ADDRESS) IS
|
|||
|
|
|||
|
user_status : status_vector;
|
|||
|
BEGIN
|
|||
|
gds_execute (
|
|||
|
user_status'address,
|
|||
|
trans_handle'address,
|
|||
|
statement_name'address,
|
|||
|
descriptor);
|
|||
|
if user_status (1) /= 0 then error (user_status); end if;
|
|||
|
END dsql_execute;
|
|||
|
|
|||
|
PROCEDURE dsql_execute (
|
|||
|
trans_handle : transaction_handle;
|
|||
|
statement_name : string) IS
|
|||
|
|
|||
|
user_status : status_vector;
|
|||
|
BEGIN
|
|||
|
gds_execute (
|
|||
|
user_status'address,
|
|||
|
trans_handle'address,
|
|||
|
statement_name'address,
|
|||
|
null_blob'address);
|
|||
|
if user_status (1) /= 0 then error (user_status); end if;
|
|||
|
END dsql_execute;
|
|||
|
|
|||
|
PROCEDURE dsql_execute_immediate (
|
|||
|
db_handle : database_handle;
|
|||
|
trans_handle : transaction_handle;
|
|||
|
command_length : short_integer;
|
|||
|
command : string) IS
|
|||
|
|
|||
|
user_status : status_vector;
|
|||
|
BEGIN
|
|||
|
gds_execute_immediate (
|
|||
|
user_status'address,
|
|||
|
db_handle'address,
|
|||
|
trans_handle'address,
|
|||
|
command_length'address,
|
|||
|
command'address);
|
|||
|
if user_status (1) /= 0 then error (user_status); end if;
|
|||
|
END dsql_execute_immediate;
|
|||
|
|
|||
|
PROCEDURE dsql_fetch (
|
|||
|
sqlcode : OUT integer;
|
|||
|
cursor_name : string;
|
|||
|
descriptor : SYSTEM.ADDRESS) IS
|
|||
|
|
|||
|
user_status : status_vector;
|
|||
|
BEGIN
|
|||
|
gds_fetch (
|
|||
|
user_status'address,
|
|||
|
sqlcode'address,
|
|||
|
cursor_name'address,
|
|||
|
descriptor);
|
|||
|
if user_status (1) /= 0 then error (user_status); end if;
|
|||
|
END dsql_fetch;
|
|||
|
|
|||
|
PROCEDURE dsql_fetch (
|
|||
|
sqlcode : OUT integer;
|
|||
|
cursor_name : string) IS
|
|||
|
|
|||
|
user_status : status_vector;
|
|||
|
BEGIN
|
|||
|
gds_fetch (
|
|||
|
user_status'address,
|
|||
|
sqlcode'address,
|
|||
|
cursor_name'address,
|
|||
|
null_blob'address);
|
|||
|
if user_status (1) /= 0 then error (user_status); end if;
|
|||
|
END dsql_fetch;
|
|||
|
|
|||
|
PROCEDURE dsql_open (
|
|||
|
trans_handle : transaction_handle;
|
|||
|
cursor_name : string;
|
|||
|
descriptor : SYSTEM.ADDRESS) IS
|
|||
|
|
|||
|
user_status : status_vector;
|
|||
|
BEGIN
|
|||
|
gds_open (
|
|||
|
user_status'address,
|
|||
|
trans_handle'address,
|
|||
|
cursor_name'address,
|
|||
|
descriptor);
|
|||
|
if user_status (1) /= 0 then error (user_status); end if;
|
|||
|
END dsql_open;
|
|||
|
|
|||
|
PROCEDURE dsql_open (
|
|||
|
trans_handle : transaction_handle;
|
|||
|
cursor_name : string) IS
|
|||
|
|
|||
|
user_status : status_vector;
|
|||
|
BEGIN
|
|||
|
gds_open (
|
|||
|
user_status'address,
|
|||
|
trans_handle'address,
|
|||
|
cursor_name'address,
|
|||
|
null_blob'address);
|
|||
|
if user_status (1) /= 0 then error (user_status); end if;
|
|||
|
END dsql_open;
|
|||
|
|
|||
|
PROCEDURE dsql_prepare (
|
|||
|
db_handle : database_handle;
|
|||
|
trans_handle : transaction_handle;
|
|||
|
statement_name : string;
|
|||
|
command_length : short_integer;
|
|||
|
command : string;
|
|||
|
descriptor : SYSTEM.ADDRESS) IS
|
|||
|
|
|||
|
user_status : status_vector;
|
|||
|
BEGIN
|
|||
|
gds_prepare (
|
|||
|
user_status'address,
|
|||
|
db_handle'address,
|
|||
|
trans_handle'address,
|
|||
|
statement_name'address,
|
|||
|
command_length'address,
|
|||
|
command'address,
|
|||
|
descriptor);
|
|||
|
if user_status (1) /= 0 then error (user_status); end if;
|
|||
|
END dsql_prepare;
|
|||
|
|
|||
|
PROCEDURE dsql_prepare (
|
|||
|
db_handle : database_handle;
|
|||
|
trans_handle : transaction_handle;
|
|||
|
statement_name : string;
|
|||
|
command_length : short_integer;
|
|||
|
command : string) IS
|
|||
|
|
|||
|
user_status : status_vector;
|
|||
|
BEGIN
|
|||
|
gds_prepare (
|
|||
|
user_status'address,
|
|||
|
db_handle'address,
|
|||
|
trans_handle'address,
|
|||
|
statement_name'address,
|
|||
|
command_length'address,
|
|||
|
command'address,
|
|||
|
null_blob'address);
|
|||
|
if user_status (1) /= 0 then error (user_status); end if;
|
|||
|
END dsql_prepare;
|
|||
|
|
|||
|
--- PYXIS procedures
|
|||
|
|
|||
|
PROCEDURE compile_map (
|
|||
|
frm_handle : form_handle;
|
|||
|
mp_handle : OUT map_handle;
|
|||
|
map_length : short_integer;
|
|||
|
map : blr) IS
|
|||
|
|
|||
|
user_status : status_vector;
|
|||
|
BEGIN
|
|||
|
pyxis_compile_map (
|
|||
|
user_status'address,
|
|||
|
frm_handle'address,
|
|||
|
mp_handle'address,
|
|||
|
map_length'address,
|
|||
|
map'address);
|
|||
|
--- if user_status (1) /= 0 then error (user_status); end if;
|
|||
|
END compile_map;
|
|||
|
|
|||
|
PROCEDURE compile_sub_map (
|
|||
|
frm_handle : form_handle;
|
|||
|
mp_handle : OUT map_handle;
|
|||
|
map_length : short_integer;
|
|||
|
map : blr) IS
|
|||
|
|
|||
|
user_status : status_vector;
|
|||
|
BEGIN
|
|||
|
pyxis_compile_sub_map (
|
|||
|
user_status'address,
|
|||
|
frm_handle'address,
|
|||
|
mp_handle'address,
|
|||
|
map_length'address,
|
|||
|
map'address);
|
|||
|
--- if user_status (1) /= 0 then error (user_status); end if;
|
|||
|
END compile_sub_map;
|
|||
|
|
|||
|
PROCEDURE drive_form (
|
|||
|
db_handle : database_handle;
|
|||
|
trans_handle : transaction_handle;
|
|||
|
win_handle : window_handle;
|
|||
|
mp_handle : map_handle;
|
|||
|
input : SYSTEM.ADDRESS;
|
|||
|
output : SYSTEM.ADDRESS) IS
|
|||
|
|
|||
|
user_status : status_vector;
|
|||
|
BEGIN
|
|||
|
pyxis_drive_form (
|
|||
|
user_status'address,
|
|||
|
db_handle'address,
|
|||
|
trans_handle'address,
|
|||
|
win_handle'address,
|
|||
|
mp_handle'address,
|
|||
|
input,
|
|||
|
output);
|
|||
|
--- if user_status (1) /= 0 then error (user_status); end if;
|
|||
|
END drive_form;
|
|||
|
|
|||
|
PROCEDURE fetch_sub_form (
|
|||
|
db_handle : database_handle;
|
|||
|
trans_handle : transaction_handle;
|
|||
|
mp_handle : map_handle;
|
|||
|
output : SYSTEM.ADDRESS) IS
|
|||
|
|
|||
|
user_status : status_vector;
|
|||
|
BEGIN
|
|||
|
pyxis_fetch (
|
|||
|
user_status'address,
|
|||
|
db_handle'address,
|
|||
|
trans_handle'address,
|
|||
|
mp_handle'address,
|
|||
|
output);
|
|||
|
--- if user_status (1) /= 0 then error (user_status); end if;
|
|||
|
END fetch_sub_form;
|
|||
|
|
|||
|
PROCEDURE insert_sub_form (
|
|||
|
db_handle : database_handle;
|
|||
|
trans_handle : transaction_handle;
|
|||
|
mp_handle : map_handle;
|
|||
|
input : SYSTEM.ADDRESS) IS
|
|||
|
|
|||
|
user_status : status_vector;
|
|||
|
BEGIN
|
|||
|
pyxis_insert (
|
|||
|
user_status'address,
|
|||
|
db_handle'address,
|
|||
|
trans_handle'address,
|
|||
|
mp_handle'address,
|
|||
|
input);
|
|||
|
--- if user_status (1) /= 0 then error (user_status); end if;
|
|||
|
END insert_sub_form;
|
|||
|
|
|||
|
PROCEDURE load_form (
|
|||
|
db_handle : database_handle;
|
|||
|
trans_handle : transaction_handle;
|
|||
|
frm_handle : IN OUT form_handle;
|
|||
|
name_length : short_integer;
|
|||
|
form_name : string) IS
|
|||
|
|
|||
|
user_status : status_vector;
|
|||
|
BEGIN
|
|||
|
pyxis_load_form (
|
|||
|
user_status'address,
|
|||
|
db_handle'address,
|
|||
|
trans_handle'address,
|
|||
|
frm_handle'address,
|
|||
|
name_length'address,
|
|||
|
form_name'address);
|
|||
|
if user_status (1) /= 0 then error (user_status); end if;
|
|||
|
END load_form;
|
|||
|
|
|||
|
PROCEDURE reset_form (
|
|||
|
win_handle : window_handle) IS
|
|||
|
|
|||
|
user_status : status_vector;
|
|||
|
BEGIN
|
|||
|
pyxis_reset_form (
|
|||
|
user_status'address,
|
|||
|
win_handle'address);
|
|||
|
--- if user_status (1) /= 0 then error (user_status); end if;
|
|||
|
END reset_form;
|
|||
|
|
|||
|
|
|||
|
END interbase;');
|
|||
|
INSERT INTO TEMPLATES (LANGUAGE, "FILE", TEMPLATE) VALUES ('ALSYS_ADA', 'interbase_alsys.a',
|
|||
|
'WITH SYSTEM;
|
|||
|
|
|||
|
PACKAGE interbase IS
|
|||
|
|
|||
|
TYPE status_vector IS ARRAY (0..19) OF long_integer;
|
|||
|
TYPE quad IS ARRAY (0..1) OF long_integer;
|
|||
|
TYPE chars IS ARRAY (integer range <>) of character;
|
|||
|
TYPE blr IS ARRAY (integer range <>) of short_integer;
|
|||
|
TYPE dpb IS ARRAY (integer range <>) of short_integer;
|
|||
|
TYPE tpb IS ARRAY (integer range <>) of short_integer;
|
|||
|
|
|||
|
SUBTYPE isc_short IS integer;
|
|||
|
SUBTYPE isc_long IS long_integer;
|
|||
|
SUBTYPE isc_float IS float;
|
|||
|
SUBTYPE isc_double IS long_float;
|
|||
|
SUBTYPE database_handle IS long_integer;
|
|||
|
SUBTYPE request_handle IS long_integer;
|
|||
|
SUBTYPE transaction_handle IS long_integer;
|
|||
|
SUBTYPE blob_handle IS long_integer;
|
|||
|
SUBTYPE form_handle IS long_integer;
|
|||
|
SUBTYPE map_handle IS long_integer;
|
|||
|
SUBTYPE window_handle IS long_integer;
|
|||
|
SUBTYPE menu_handle IS long_integer;
|
|||
|
|
|||
|
TYPE gds_teb_t IS RECORD
|
|||
|
dbb_ptr : SYSTEM.ADDRESS;
|
|||
|
tpb_len : long_integer;
|
|||
|
tpb_ptr : SYSTEM.ADDRESS;
|
|||
|
END RECORD;
|
|||
|
|
|||
|
TYPE gds_tm IS RECORD
|
|||
|
tm_sec : long_integer;
|
|||
|
tm_min : long_integer;
|
|||
|
tm_hour : long_integer;
|
|||
|
tm_mday : long_integer;
|
|||
|
tm_mon : long_integer;
|
|||
|
tm_year : long_integer;
|
|||
|
tm_wday : long_integer;
|
|||
|
tm_yday : long_integer;
|
|||
|
tm_isdst : long_integer;
|
|||
|
END RECORD;
|
|||
|
|
|||
|
TYPE sqlvar is RECORD
|
|||
|
sqltype : integer;
|
|||
|
sqllen : integer;
|
|||
|
sqldata : SYSTEM.ADDRESS;
|
|||
|
sqlind : SYSTEM.ADDRESS;
|
|||
|
sqlname_length : integer;
|
|||
|
sqlname : chars (1..30);
|
|||
|
END RECORD;
|
|||
|
|
|||
|
FOR sqlvar use record at mod 2;
|
|||
|
sqltype at 0 range 0..15;
|
|||
|
sqllen at 2 range 0..15;
|
|||
|
sqldata at 4 range 0..31;
|
|||
|
sqlind at 8 range 0..31;
|
|||
|
sqlname_length at 12 range 0..15;
|
|||
|
sqlname at 14 range 0..239;
|
|||
|
END RECORD;
|
|||
|
|
|||
|
TYPE sqlvar_array IS ARRAY (short_integer range <>) of sqlvar;
|
|||
|
|
|||
|
--- Constants
|
|||
|
|
|||
|
gds_true : CONSTANT long_integer := 1;
|
|||
|
gds_false : CONSTANT long_integer := 0;
|
|||
|
|
|||
|
$ SET SANS_DOLLAR
|
|||
|
|
|||
|
$ FORMAT BLR_FORMAT " %s : CONSTANT short_integer := %d;\n
|
|||
|
$ FORMAT DYN_FORMAT " %-32s: CONSTANT short_integer := %d;\n
|
|||
|
$ FORMAT SDL_FORMAT " %-32s: CONSTANT short_integer := %d;\n
|
|||
|
$ FORMAT ERROR_FORMAT "%-25s: CONSTANT long_integer := %d;\n
|
|||
|
$ FORMAT PB_FORMAT " %-29s: CONSTANT short_integer := %d;\n
|
|||
|
$ FORMAT PYXIS_FORMAT "%-29s: CONSTANT short_integer := %d;\n
|
|||
|
$ FORMAT OPT_FORMAT "%-32s: CONSTANT long_integer := %d;\n
|
|||
|
$ FORMAT SQL_FORMAT "%-16s: CONSTANT integer := %d;\n
|
|||
|
|
|||
|
--- BLR
|
|||
|
|
|||
|
$ SYMBOLS BLR DTYPE BLR_FORMAT
|
|||
|
$ SYMBOLS BLR MECH SIGNED BLR_FORMAT
|
|||
|
|
|||
|
$ SYMBOLS BLR STATEMENTS BLR_FORMAT
|
|||
|
$ SYMBOLS BLR VALUES BLR_FORMAT
|
|||
|
|
|||
|
$ SYMBOLS BLR BOOLEANS BLR_FORMAT
|
|||
|
|
|||
|
$ SYMBOLS BLR RSE BLR_FORMAT
|
|||
|
|
|||
|
$ SYMBOLS BLR JOIN BLR_FORMAT
|
|||
|
|
|||
|
$ SYMBOLS BLR AGGREGATE BLR_FORMAT
|
|||
|
$ SYMBOLS BLR NEW BLR_FORMAT
|
|||
|
|
|||
|
--- Dynamic Data Definition Language operators
|
|||
|
|
|||
|
--- Version number
|
|||
|
|
|||
|
$ SYMBOLS DYN MECH SIGNED DYN_FORMAT
|
|||
|
|
|||
|
--- Operations (may be nested)
|
|||
|
|
|||
|
$ SYMBOLS DYN OPERATIONS SIGNED DYN_FORMAT
|
|||
|
|
|||
|
--- View specific stuff
|
|||
|
|
|||
|
$ SYMBOLS DYN VIEW SIGNED DYN_FORMAT
|
|||
|
|
|||
|
--- Generic attributes
|
|||
|
|
|||
|
$ SYMBOLS DYN GENERIC SIGNED DYN_FORMAT
|
|||
|
|
|||
|
--- Relation specific attributes
|
|||
|
|
|||
|
$ SYMBOLS DYN RELATION SIGNED DYN_FORMAT
|
|||
|
|
|||
|
--- Global field specific attributes
|
|||
|
|
|||
|
$ SYMBOLS DYN GLOBAL SIGNED DYN_FORMAT
|
|||
|
|
|||
|
--- Local field specific attributes
|
|||
|
|
|||
|
$ SYMBOLS DYN FIELD SIGNED DYN_FORMAT
|
|||
|
|
|||
|
--- Index specific attributes
|
|||
|
|
|||
|
$ SYMBOLS DYN INDEX SIGNED DYN_FORMAT
|
|||
|
|
|||
|
--- Trigger specific attributes
|
|||
|
|
|||
|
$ SYMBOLS DYN TRIGGER SIGNED DYN_FORMAT
|
|||
|
|
|||
|
--- Security Class specific attributes
|
|||
|
|
|||
|
$ SYMBOLS DYN SECURITY SIGNED DYN_FORMAT
|
|||
|
|
|||
|
--- Dimension attributes
|
|||
|
|
|||
|
$ SYMBOLS DYN ARRAY SIGNED DYN_FORMAT
|
|||
|
|
|||
|
--- File specific attributes
|
|||
|
|
|||
|
$ SYMBOLS DYN FILES DYN_FORMAT
|
|||
|
|
|||
|
--- Function specific attributes
|
|||
|
|
|||
|
$ SYMBOLS DYN FUNCTIONS DYN_FORMAT
|
|||
|
|
|||
|
--- Generator specific attributes
|
|||
|
|
|||
|
$ SYMBOLS DYN GENERATOR DYN_FORMAT
|
|||
|
|
|||
|
--- Array slice description language (SDL)
|
|||
|
|
|||
|
$ SYMBOLS SDL SDL SIGNED SDL_FORMAT
|
|||
|
|
|||
|
--- Database parameter block stuff
|
|||
|
|
|||
|
$ SYMBOLS DPB ITEMS PB_FORMAT
|
|||
|
|
|||
|
$ SYMBOLS DPB BITS PB_FORMAT
|
|||
|
|
|||
|
--- Transaction parameter block stuff
|
|||
|
|
|||
|
$ SYMBOLS TPB ITEMS PB_FORMAT
|
|||
|
|
|||
|
--- Blob parameter block stuff
|
|||
|
|
|||
|
$ SYMBOLS BPB ITEMS PB_FORMAT
|
|||
|
|
|||
|
--- Common, structural codes
|
|||
|
|
|||
|
$ SYMBOLS INFO MECH PB_FORMAT
|
|||
|
|
|||
|
--- Database information items
|
|||
|
|
|||
|
$ SYMBOLS INFO DB PB_FORMAT
|
|||
|
|
|||
|
--- Request information items
|
|||
|
|
|||
|
$ SYMBOLS INFO REQUEST PB_FORMAT
|
|||
|
|
|||
|
--- Blob information items
|
|||
|
|
|||
|
$ SYMBOLS INFO BLOB PB_FORMAT
|
|||
|
|
|||
|
--- Transaction information items
|
|||
|
|
|||
|
$ SYMBOLS INFO TRANSACTION PB_FORMAT
|
|||
|
|
|||
|
--- Error codes
|
|||
|
|
|||
|
$ SYMBOLS ERROR MECH ERROR_FORMAT
|
|||
|
|
|||
|
$ ERROR MAJOR ERROR_FORMAT
|
|||
|
|
|||
|
--- Minor codes subject to change
|
|||
|
|
|||
|
$ ERROR MINOR ERROR_FORMAT
|
|||
|
|
|||
|
--- Dynamic SQL datatypes
|
|||
|
|
|||
|
$ SYMBOLS SQL DTYPE SQL_FORMAT
|
|||
|
|
|||
|
--- Forms Package definitions
|
|||
|
|
|||
|
--- Map definition block definitions
|
|||
|
|
|||
|
$ SYMBOLS PYXIS MAP SIGNED PYXIS_FORMAT
|
|||
|
|
|||
|
--- Field option flags for display options
|
|||
|
|
|||
|
$ SYMBOLS PYXIS DISPLAY OPT_FORMAT
|
|||
|
|
|||
|
--- Field option values following display
|
|||
|
|
|||
|
$ SYMBOLS PYXIS VALUE OPT_FORMAT
|
|||
|
|
|||
|
--- Pseudo key definitions
|
|||
|
|
|||
|
$ SYMBOLS PYXIS KEY OPT_FORMAT
|
|||
|
|
|||
|
--- Menu definition stuff
|
|||
|
|
|||
|
$ SYMBOLS PYXIS MENU SIGNED PYXIS_FORMAT
|
|||
|
|
|||
|
database_error : EXCEPTION;
|
|||
|
null_blob : CONSTANT quad := (0, 0);
|
|||
|
null_tpb : tpb (0..0);
|
|||
|
null_dpb : dpb (0..0);
|
|||
|
|
|||
|
PROCEDURE attach_database (
|
|||
|
user_status : OUT status_vector;
|
|||
|
file_length : integer;
|
|||
|
file_name : string;
|
|||
|
db_handle : IN OUT database_handle;
|
|||
|
dpb_length : integer;
|
|||
|
dpb_arg : dpb);
|
|||
|
|
|||
|
PROCEDURE blob_display (
|
|||
|
blob_id : quad;
|
|||
|
db_handle : database_handle;
|
|||
|
tra_handle : transaction_handle;
|
|||
|
field_name : string;
|
|||
|
name_length : integer);
|
|||
|
|
|||
|
PROCEDURE blob_dump (
|
|||
|
blob_id : quad;
|
|||
|
db_handle : database_handle;
|
|||
|
tra_handle : transaction_handle;
|
|||
|
file_name : string;
|
|||
|
name_length : integer);
|
|||
|
|
|||
|
PROCEDURE blob_edit (
|
|||
|
blob_id : IN OUT quad;
|
|||
|
db_handle : database_handle;
|
|||
|
tra_handle : transaction_handle;
|
|||
|
field_name : string;
|
|||
|
name_length : integer);
|
|||
|
|
|||
|
PROCEDURE blob_load (
|
|||
|
blob_id : IN OUT quad;
|
|||
|
db_handle : database_handle;
|
|||
|
tra_handle : transaction_handle;
|
|||
|
file_name : string;
|
|||
|
name_length : integer);
|
|||
|
|
|||
|
PROCEDURE cancel_blob (
|
|||
|
user_status : OUT status_vector;
|
|||
|
blb_handle : IN OUT blob_handle);
|
|||
|
|
|||
|
PROCEDURE cancel_events (
|
|||
|
user_status : OUT status_vector;
|
|||
|
blb_handle : IN OUT blob_handle);
|
|||
|
|
|||
|
PROCEDURE close_blob (
|
|||
|
user_status : OUT status_vector;
|
|||
|
blb_handle : IN OUT blob_handle);
|
|||
|
|
|||
|
PROCEDURE commit_retaining (
|
|||
|
user_status : OUT status_vector;
|
|||
|
trans_handle : IN OUT transaction_handle);
|
|||
|
|
|||
|
PROCEDURE commit_transaction (
|
|||
|
user_status : OUT status_vector;
|
|||
|
trans_handle : IN OUT transaction_handle);
|
|||
|
|
|||
|
PROCEDURE compile_request (
|
|||
|
user_status : OUT status_vector;
|
|||
|
db_handle : database_handle;
|
|||
|
req_handle : IN OUT request_handle;
|
|||
|
blr_length : integer;
|
|||
|
blr_arg : blr);
|
|||
|
|
|||
|
PROCEDURE compile_request2 (
|
|||
|
user_status : OUT status_vector;
|
|||
|
db_handle : database_handle;
|
|||
|
req_handle : IN OUT request_handle;
|
|||
|
blr_length : integer;
|
|||
|
blr_arg : blr);
|
|||
|
|
|||
|
PROCEDURE create_blob (
|
|||
|
user_status : OUT status_vector;
|
|||
|
db_handle : database_handle;
|
|||
|
trans_handle : transaction_handle;
|
|||
|
blb_handle : IN OUT blob_handle;
|
|||
|
blob_id : OUT quad);
|
|||
|
|
|||
|
PROCEDURE create_blob2 (
|
|||
|
user_status : OUT status_vector;
|
|||
|
db_handle : database_handle;
|
|||
|
trans_handle : transaction_handle;
|
|||
|
blb_handle : IN OUT blob_handle;
|
|||
|
blob_id : OUT quad;
|
|||
|
bpb_length : integer;
|
|||
|
bpb : blr);
|
|||
|
|
|||
|
PROCEDURE create_database (
|
|||
|
user_status : OUT status_vector;
|
|||
|
file_length : integer;
|
|||
|
file_name : string;
|
|||
|
db_handle : IN OUT database_handle;
|
|||
|
dpb_length : integer;
|
|||
|
dpb_arg : dpb;
|
|||
|
db_type : integer);
|
|||
|
|
|||
|
PROCEDURE detach_database (
|
|||
|
user_status : OUT status_vector;
|
|||
|
db_handle : IN OUT database_handle);
|
|||
|
|
|||
|
PROCEDURE ddl (
|
|||
|
user_status : OUT status_vector;
|
|||
|
db_handle : database_handle;
|
|||
|
trans_handle : transaction_handle;
|
|||
|
msg_length : integer;
|
|||
|
msg : SYSTEM.ADDRESS);
|
|||
|
|
|||
|
PROCEDURE decode_date (
|
|||
|
date : quad;
|
|||
|
times : IN OUT gds_tm);
|
|||
|
|
|||
|
PROCEDURE encode_date (
|
|||
|
times : IN OUT gds_tm;
|
|||
|
date : quad);
|
|||
|
|
|||
|
PROCEDURE event_wait (
|
|||
|
user_status : OUT status_vector;
|
|||
|
db_handle : database_handle;
|
|||
|
length : integer;
|
|||
|
events : string;
|
|||
|
buffer : string);
|
|||
|
|
|||
|
PROCEDURE get_segment (
|
|||
|
user_status : OUT status_vector;
|
|||
|
blb_handle : blob_handle;
|
|||
|
actual_length : OUT integer;
|
|||
|
buffer_length : integer;
|
|||
|
buffer : string);
|
|||
|
|
|||
|
PROCEDURE get_slice (
|
|||
|
user_status : OUT status_vector;
|
|||
|
db_handle : database_handle;
|
|||
|
trans_handle : transaction_handle;
|
|||
|
blob_id : quad;
|
|||
|
sdl_length : integer;
|
|||
|
sdl : blr;
|
|||
|
param_length : integer;
|
|||
|
param : string;
|
|||
|
slice_length : long_integer;
|
|||
|
slice : SYSTEM.ADDRESS;
|
|||
|
return_length : OUT long_integer);
|
|||
|
|
|||
|
PROCEDURE open_blob (
|
|||
|
user_status : OUT status_vector;
|
|||
|
db_handle : database_handle;
|
|||
|
trans_handle : transaction_handle;
|
|||
|
blb_handle : IN OUT blob_handle;
|
|||
|
blob_id : quad);
|
|||
|
|
|||
|
PROCEDURE open_blob2 (
|
|||
|
user_status : OUT status_vector;
|
|||
|
db_handle : database_handle;
|
|||
|
trans_handle : transaction_handle;
|
|||
|
blb_handle : IN OUT blob_handle;
|
|||
|
blob_id : quad;
|
|||
|
bpb_length : integer;
|
|||
|
bpb : blr);
|
|||
|
|
|||
|
PROCEDURE prepare_transaction (
|
|||
|
user_status : OUT status_vector;
|
|||
|
trans_handle : IN OUT transaction_handle);
|
|||
|
|
|||
|
PROCEDURE prepare_transaction2 (
|
|||
|
user_status : OUT status_vector;
|
|||
|
trans_handle : IN OUT transaction_handle;
|
|||
|
msg_length : integer;
|
|||
|
msg : blr);
|
|||
|
|
|||
|
PROCEDURE put_segment (
|
|||
|
user_status : OUT status_vector;
|
|||
|
blb_handle : blob_handle;
|
|||
|
length : integer;
|
|||
|
buffer : string);
|
|||
|
|
|||
|
PROCEDURE put_slice (
|
|||
|
user_status : OUT status_vector;
|
|||
|
db_handle : database_handle;
|
|||
|
trans_handle : transaction_handle;
|
|||
|
blob_id : IN OUT quad;
|
|||
|
sdl_length : integer;
|
|||
|
sdl : blr;
|
|||
|
param_length : integer;
|
|||
|
param : string;
|
|||
|
slice_length : long_integer;
|
|||
|
slice : SYSTEM.ADDRESS);
|
|||
|
|
|||
|
PROCEDURE queue_events (
|
|||
|
user_status : OUT status_vector;
|
|||
|
db_handle : database_handle;
|
|||
|
id : quad;
|
|||
|
length : integer;
|
|||
|
events : string;
|
|||
|
ast : long_integer;
|
|||
|
arg : quad);
|
|||
|
|
|||
|
PROCEDURE receive (
|
|||
|
user_status : OUT status_vector;
|
|||
|
req_handle : request_handle;
|
|||
|
msg_type : integer;
|
|||
|
msg_length : integer;
|
|||
|
msg : SYSTEM.ADDRESS;
|
|||
|
level : integer);
|
|||
|
|
|||
|
PROCEDURE rollback_transaction (
|
|||
|
user_status : OUT status_vector;
|
|||
|
trans_handle : IN OUT transaction_handle);
|
|||
|
|
|||
|
PROCEDURE send (
|
|||
|
user_status : OUT status_vector;
|
|||
|
req_handle : request_handle;
|
|||
|
msg_type : integer;
|
|||
|
msg_length : integer;
|
|||
|
msg : SYSTEM.ADDRESS;
|
|||
|
level : integer);
|
|||
|
|
|||
|
PROCEDURE set_debug (
|
|||
|
debug_val : long_integer);
|
|||
|
|
|||
|
PROCEDURE start_and_send (
|
|||
|
user_status : OUT status_vector;
|
|||
|
req_handle : request_handle;
|
|||
|
trans_handle : transaction_handle;
|
|||
|
msg_type : integer;
|
|||
|
msg_length : integer;
|
|||
|
msg : SYSTEM.ADDRESS;
|
|||
|
level : integer);
|
|||
|
|
|||
|
PROCEDURE start_request (
|
|||
|
user_status : OUT status_vector;
|
|||
|
req_handle : request_handle;
|
|||
|
trans_handle : transaction_handle;
|
|||
|
level : integer);
|
|||
|
|
|||
|
PROCEDURE start_multiple (
|
|||
|
user_status : OUT status_vector;
|
|||
|
trans_handle : IN OUT transaction_handle;
|
|||
|
count : integer;
|
|||
|
teb : SYSTEM.ADDRESS);
|
|||
|
|
|||
|
PROCEDURE start_transaction (
|
|||
|
user_status : OUT status_vector;
|
|||
|
trans_handle : IN OUT transaction_handle;
|
|||
|
count : integer;
|
|||
|
db_handle : database_handle;
|
|||
|
tpb_length : integer;
|
|||
|
tpb_arg : tpb);
|
|||
|
|
|||
|
PROCEDURE unwind_request (
|
|||
|
user_status : OUT status_vector;
|
|||
|
req_handle : request_handle;
|
|||
|
level : integer);
|
|||
|
|
|||
|
PROCEDURE print_status (
|
|||
|
user_status : status_vector);
|
|||
|
|
|||
|
PROCEDURE print_version (
|
|||
|
db_handle : database_handle);
|
|||
|
|
|||
|
FUNCTION sqlcode (
|
|||
|
user_status : status_vector) RETURN long_integer;
|
|||
|
|
|||
|
--- Dynamic SQL procedures
|
|||
|
|
|||
|
PROCEDURE dsql_close (
|
|||
|
user_status : OUT status_vector;
|
|||
|
cursor_name : string);
|
|||
|
|
|||
|
PROCEDURE dsql_declare (
|
|||
|
user_status : OUT status_vector;
|
|||
|
statement_name : string;
|
|||
|
cursor_name : string);
|
|||
|
|
|||
|
PROCEDURE dsql_describe (
|
|||
|
user_status : OUT status_vector;
|
|||
|
statement_name : string;
|
|||
|
descriptor : SYSTEM.ADDRESS);
|
|||
|
|
|||
|
PROCEDURE dsql_execute (
|
|||
|
user_status : OUT status_vector;
|
|||
|
trans_handle : transaction_handle;
|
|||
|
statement_name : string;
|
|||
|
descriptor : SYSTEM.ADDRESS);
|
|||
|
|
|||
|
PROCEDURE dsql_execute (
|
|||
|
user_status : OUT status_vector;
|
|||
|
trans_handle : transaction_handle;
|
|||
|
statement_name : string);
|
|||
|
|
|||
|
PROCEDURE dsql_execute_immediate (
|
|||
|
user_status : OUT status_vector;
|
|||
|
db_handle : database_handle;
|
|||
|
trans_handle : transaction_handle;
|
|||
|
command_length : integer;
|
|||
|
command : string);
|
|||
|
|
|||
|
PROCEDURE dsql_fetch (
|
|||
|
user_status : OUT status_vector;
|
|||
|
sqlcode : OUT long_integer;
|
|||
|
cursor_name : string;
|
|||
|
descriptor : SYSTEM.ADDRESS);
|
|||
|
|
|||
|
PROCEDURE dsql_fetch (
|
|||
|
user_status : OUT status_vector;
|
|||
|
sqlcode : OUT long_integer;
|
|||
|
cursor_name : string);
|
|||
|
|
|||
|
PROCEDURE dsql_finish (
|
|||
|
db_handle : database_handle);
|
|||
|
|
|||
|
PROCEDURE dsql_open (
|
|||
|
user_status : OUT status_vector;
|
|||
|
trans_handle : transaction_handle;
|
|||
|
cursor_name : string;
|
|||
|
descriptor : SYSTEM.ADDRESS);
|
|||
|
|
|||
|
PROCEDURE dsql_open (
|
|||
|
user_status : OUT status_vector;
|
|||
|
trans_handle : transaction_handle;
|
|||
|
cursor_name : string);
|
|||
|
|
|||
|
PROCEDURE dsql_prepare (
|
|||
|
user_status : OUT status_vector;
|
|||
|
db_handle : database_handle;
|
|||
|
trans_handle : transaction_handle;
|
|||
|
statement_name : string;
|
|||
|
command_length : integer;
|
|||
|
command : string;
|
|||
|
descriptor : SYSTEM.ADDRESS);
|
|||
|
|
|||
|
PROCEDURE dsql_prepare (
|
|||
|
user_status : OUT status_vector;
|
|||
|
db_handle : database_handle;
|
|||
|
trans_handle : transaction_handle;
|
|||
|
statement_name : string;
|
|||
|
command_length : integer;
|
|||
|
command : string);
|
|||
|
|
|||
|
--- PYXIS procedures
|
|||
|
|
|||
|
PROCEDURE compile_map (
|
|||
|
user_status : OUT status_vector;
|
|||
|
frm_handle : form_handle;
|
|||
|
mp_handle : OUT map_handle;
|
|||
|
map_length : integer;
|
|||
|
map : blr);
|
|||
|
|
|||
|
PROCEDURE compile_sub_map (
|
|||
|
user_status : OUT status_vector;
|
|||
|
frm_handle : form_handle;
|
|||
|
mp_handle : OUT map_handle;
|
|||
|
map_length : integer;
|
|||
|
map : blr);
|
|||
|
|
|||
|
PROCEDURE create_window (
|
|||
|
win_handle : OUT window_handle;
|
|||
|
name_length : integer;
|
|||
|
file_name : string;
|
|||
|
width : IN OUT integer;
|
|||
|
height : IN OUT integer);
|
|||
|
|
|||
|
PROCEDURE delete_window (
|
|||
|
win_handle : IN OUT window_handle);
|
|||
|
|
|||
|
PROCEDURE drive_form (
|
|||
|
user_status : OUT status_vector;
|
|||
|
db_handle : database_handle;
|
|||
|
trans_handle : transaction_handle;
|
|||
|
win_handle : window_handle;
|
|||
|
mp_handle : map_handle;
|
|||
|
input : SYSTEM.ADDRESS;
|
|||
|
output : SYSTEM.ADDRESS);
|
|||
|
|
|||
|
PROCEDURE fetch_sub_form (
|
|||
|
user_status : OUT status_vector;
|
|||
|
db_handle : database_handle;
|
|||
|
trans_handle : transaction_handle;
|
|||
|
mp_handle : map_handle;
|
|||
|
output : SYSTEM.ADDRESS);
|
|||
|
|
|||
|
PROCEDURE insert_sub_form (
|
|||
|
user_status : OUT status_vector;
|
|||
|
db_handle : database_handle;
|
|||
|
trans_handle : transaction_handle;
|
|||
|
mp_handle : map_handle;
|
|||
|
input : SYSTEM.ADDRESS);
|
|||
|
|
|||
|
PROCEDURE load_form (
|
|||
|
user_status : OUT status_vector;
|
|||
|
db_handle : database_handle;
|
|||
|
trans_handle : transaction_handle;
|
|||
|
frm_handle : IN OUT form_handle;
|
|||
|
name_length : integer;
|
|||
|
form_name : string);
|
|||
|
|
|||
|
FUNCTION menu (
|
|||
|
win_handle : window_handle;
|
|||
|
men_handle : menu_handle;
|
|||
|
menu_length : integer;
|
|||
|
menu : blr) RETURN integer;
|
|||
|
|
|||
|
PROCEDURE pop_window (
|
|||
|
win_handle : window_handle);
|
|||
|
|
|||
|
PROCEDURE reset_form (
|
|||
|
user_status : OUT status_vector;
|
|||
|
win_handle : window_handle);
|
|||
|
|
|||
|
PROCEDURE drive_menu (
|
|||
|
win_handle : IN OUT window_handle;
|
|||
|
men_handle : IN OUT menu_handle;
|
|||
|
blr_length : integer;
|
|||
|
blr_source : blr;
|
|||
|
title_length : integer;
|
|||
|
title : string;
|
|||
|
terminator : OUT integer;
|
|||
|
entree_length : OUT integer;
|
|||
|
entree_text : OUT string;
|
|||
|
entree_value : OUT long_integer);
|
|||
|
|
|||
|
PROCEDURE get_entree (
|
|||
|
men_handle : menu_handle;
|
|||
|
entree_length : OUT integer;
|
|||
|
entree_text : OUT string;
|
|||
|
entree_value : OUT long_integer;
|
|||
|
entree_end : OUT integer);
|
|||
|
|
|||
|
PROCEDURE initialize_menu (
|
|||
|
men_handle : IN OUT menu_handle);
|
|||
|
|
|||
|
PROCEDURE put_entree (
|
|||
|
men_handle : menu_handle;
|
|||
|
entree_length : integer;
|
|||
|
entree_text : string;
|
|||
|
entree_value : long_integer);
|
|||
|
|
|||
|
|
|||
|
|
|||
|
---
|
|||
|
--- Same routines, but with automatic error checking
|
|||
|
---
|
|||
|
|
|||
|
PROCEDURE attach_database (
|
|||
|
file_length : integer;
|
|||
|
file_name : string;
|
|||
|
db_handle : IN OUT database_handle;
|
|||
|
dpb_length : integer;
|
|||
|
dpb_arg : dpb);
|
|||
|
|
|||
|
PROCEDURE cancel_blob (
|
|||
|
blb_handle : IN OUT blob_handle);
|
|||
|
|
|||
|
PROCEDURE cancel_events (
|
|||
|
blb_handle : IN OUT blob_handle);
|
|||
|
|
|||
|
PROCEDURE close_blob (
|
|||
|
blb_handle : IN OUT blob_handle);
|
|||
|
|
|||
|
PROCEDURE commit_retaining (
|
|||
|
trans_handle : IN OUT transaction_handle);
|
|||
|
|
|||
|
PROCEDURE commit_transaction (
|
|||
|
trans_handle : IN OUT transaction_handle);
|
|||
|
|
|||
|
PROCEDURE compile_request (
|
|||
|
db_handle : database_handle;
|
|||
|
req_handle : IN OUT request_handle;
|
|||
|
blr_length : integer;
|
|||
|
blr_arg : blr);
|
|||
|
|
|||
|
PROCEDURE compile_request2 (
|
|||
|
db_handle : database_handle;
|
|||
|
req_handle : IN OUT request_handle;
|
|||
|
blr_length : integer;
|
|||
|
blr_arg : blr);
|
|||
|
|
|||
|
PROCEDURE create_blob (
|
|||
|
db_handle : database_handle;
|
|||
|
trans_handle : transaction_handle;
|
|||
|
blb_handle : IN OUT blob_handle;
|
|||
|
blob_id : OUT quad);
|
|||
|
|
|||
|
PROCEDURE create_blob2 (
|
|||
|
db_handle : database_handle;
|
|||
|
trans_handle : transaction_handle;
|
|||
|
blb_handle : IN OUT blob_handle;
|
|||
|
blob_id : OUT quad;
|
|||
|
bpb_length : integer;
|
|||
|
bpb : blr);
|
|||
|
|
|||
|
PROCEDURE create_database (
|
|||
|
file_length : integer;
|
|||
|
file_name : string;
|
|||
|
db_handle : IN OUT database_handle;
|
|||
|
dpb_length : integer;
|
|||
|
dpb_arg : dpb;
|
|||
|
db_type : integer);
|
|||
|
|
|||
|
PROCEDURE detach_database (
|
|||
|
db_handle : IN OUT database_handle);
|
|||
|
|
|||
|
PROCEDURE ddl (
|
|||
|
db_handle : database_handle;
|
|||
|
trans_handle : transaction_handle;
|
|||
|
msg_length : integer;
|
|||
|
msg : SYSTEM.ADDRESS);
|
|||
|
|
|||
|
PROCEDURE get_segment (
|
|||
|
completion_code : OUT long_integer;
|
|||
|
blb_handle : blob_handle;
|
|||
|
actual_length : OUT integer;
|
|||
|
buffer_length : integer;
|
|||
|
buffer : string);
|
|||
|
|
|||
|
PROCEDURE get_slice (
|
|||
|
db_handle : database_handle;
|
|||
|
trans_handle : transaction_handle;
|
|||
|
blob_id : quad;
|
|||
|
sdl_length : integer;
|
|||
|
sdl : blr;
|
|||
|
param_length : integer;
|
|||
|
param : string;
|
|||
|
slice_length : long_integer;
|
|||
|
slice : SYSTEM.ADDRESS;
|
|||
|
return_length : OUT long_integer);
|
|||
|
|
|||
|
PROCEDURE open_blob (
|
|||
|
db_handle : database_handle;
|
|||
|
trans_handle : transaction_handle;
|
|||
|
blb_handle : IN OUT blob_handle;
|
|||
|
blob_id : quad);
|
|||
|
|
|||
|
PROCEDURE open_blob2 (
|
|||
|
db_handle : database_handle;
|
|||
|
trans_handle : transaction_handle;
|
|||
|
blb_handle : IN OUT blob_handle;
|
|||
|
blob_id : quad;
|
|||
|
bpb_length : integer;
|
|||
|
bpb : blr);
|
|||
|
|
|||
|
PROCEDURE prepare_transaction (
|
|||
|
trans_handle : IN OUT transaction_handle);
|
|||
|
|
|||
|
PROCEDURE prepare_transaction2 (
|
|||
|
trans_handle : IN OUT transaction_handle;
|
|||
|
msg_length : integer;
|
|||
|
msg : blr);
|
|||
|
|
|||
|
PROCEDURE put_segment (
|
|||
|
blb_handle : blob_handle;
|
|||
|
length : integer;
|
|||
|
buffer : string);
|
|||
|
|
|||
|
PROCEDURE put_slice (
|
|||
|
db_handle : database_handle;
|
|||
|
trans_handle : transaction_handle;
|
|||
|
blob_id : IN OUT quad;
|
|||
|
sdl_length : integer;
|
|||
|
sdl : blr;
|
|||
|
param_length : integer;
|
|||
|
param : string;
|
|||
|
slice_length : long_integer;
|
|||
|
slice : SYSTEM.ADDRESS);
|
|||
|
|
|||
|
PROCEDURE queue_events (
|
|||
|
db_handle : database_handle;
|
|||
|
id : quad;
|
|||
|
length : integer;
|
|||
|
events : string;
|
|||
|
ast : long_integer;
|
|||
|
arg : quad);
|
|||
|
|
|||
|
PROCEDURE receive (
|
|||
|
req_handle : request_handle;
|
|||
|
msg_type : integer;
|
|||
|
msg_length : integer;
|
|||
|
msg : SYSTEM.ADDRESS;
|
|||
|
level : integer);
|
|||
|
|
|||
|
PROCEDURE rollback_transaction (
|
|||
|
trans_handle : IN OUT transaction_handle);
|
|||
|
|
|||
|
PROCEDURE send (
|
|||
|
req_handle : request_handle;
|
|||
|
msg_type : integer;
|
|||
|
msg_length : integer;
|
|||
|
msg : SYSTEM.ADDRESS;
|
|||
|
level : integer);
|
|||
|
|
|||
|
PROCEDURE start_and_send (
|
|||
|
req_handle : request_handle;
|
|||
|
trans_handle : transaction_handle;
|
|||
|
msg_type : integer;
|
|||
|
msg_length : integer;
|
|||
|
msg : SYSTEM.ADDRESS;
|
|||
|
level : integer);
|
|||
|
|
|||
|
PROCEDURE start_request (
|
|||
|
req_handle : request_handle;
|
|||
|
trans_handle : transaction_handle;
|
|||
|
level : integer);
|
|||
|
|
|||
|
PROCEDURE start_multiple (
|
|||
|
trans_handle : IN OUT transaction_handle;
|
|||
|
count : integer;
|
|||
|
teb : SYSTEM.ADDRESS);
|
|||
|
|
|||
|
PROCEDURE start_transaction (
|
|||
|
trans_handle : IN OUT transaction_handle;
|
|||
|
count : integer;
|
|||
|
db_handle : database_handle;
|
|||
|
tpb_length : integer;
|
|||
|
tpb_arg : tpb);
|
|||
|
|
|||
|
PROCEDURE unwind_request (
|
|||
|
req_handle : request_handle;
|
|||
|
level : integer);
|
|||
|
|
|||
|
PROCEDURE dsql_close (
|
|||
|
cursor_name : string);
|
|||
|
|
|||
|
PROCEDURE dsql_declare (
|
|||
|
statement_name : string;
|
|||
|
cursor_name : string);
|
|||
|
|
|||
|
PROCEDURE dsql_describe (
|
|||
|
statement_name : string;
|
|||
|
descriptor : SYSTEM.ADDRESS);
|
|||
|
|
|||
|
PROCEDURE dsql_execute (
|
|||
|
trans_handle : transaction_handle;
|
|||
|
statement_name : string;
|
|||
|
descriptor : SYSTEM.ADDRESS);
|
|||
|
|
|||
|
PROCEDURE dsql_execute (
|
|||
|
trans_handle : transaction_handle;
|
|||
|
statement_name : string);
|
|||
|
|
|||
|
PROCEDURE dsql_execute_immediate (
|
|||
|
db_handle : database_handle;
|
|||
|
trans_handle : transaction_handle;
|
|||
|
command_length : integer;
|
|||
|
command : string);
|
|||
|
|
|||
|
PROCEDURE dsql_fetch (
|
|||
|
sqlcode : OUT long_integer;
|
|||
|
cursor_name : string;
|
|||
|
descriptor : SYSTEM.ADDRESS);
|
|||
|
|
|||
|
PROCEDURE dsql_fetch (
|
|||
|
sqlcode : OUT long_integer;
|
|||
|
cursor_name : string);
|
|||
|
|
|||
|
PROCEDURE dsql_open (
|
|||
|
trans_handle : transaction_handle;
|
|||
|
cursor_name : string;
|
|||
|
descriptor : SYSTEM.ADDRESS);
|
|||
|
|
|||
|
PROCEDURE dsql_open (
|
|||
|
trans_handle : transaction_handle;
|
|||
|
cursor_name : string);
|
|||
|
|
|||
|
PROCEDURE dsql_prepare (
|
|||
|
db_handle : database_handle;
|
|||
|
trans_handle : transaction_handle;
|
|||
|
statement_name : string;
|
|||
|
command_length : integer;
|
|||
|
command : string;
|
|||
|
descriptor : SYSTEM.ADDRESS);
|
|||
|
|
|||
|
PROCEDURE dsql_prepare (
|
|||
|
db_handle : database_handle;
|
|||
|
trans_handle : transaction_handle;
|
|||
|
statement_name : string;
|
|||
|
command_length : integer;
|
|||
|
command : string);
|
|||
|
|
|||
|
--- PYXIS procedures
|
|||
|
|
|||
|
PROCEDURE compile_map (
|
|||
|
frm_handle : form_handle;
|
|||
|
mp_handle : OUT map_handle;
|
|||
|
map_length : integer;
|
|||
|
map : blr);
|
|||
|
|
|||
|
PROCEDURE compile_sub_map (
|
|||
|
frm_handle : form_handle;
|
|||
|
mp_handle : OUT map_handle;
|
|||
|
map_length : integer;
|
|||
|
map : blr);
|
|||
|
|
|||
|
PROCEDURE drive_form (
|
|||
|
db_handle : database_handle;
|
|||
|
trans_handle : transaction_handle;
|
|||
|
win_handle : window_handle;
|
|||
|
mp_handle : map_handle;
|
|||
|
input : SYSTEM.ADDRESS;
|
|||
|
output : SYSTEM.ADDRESS);
|
|||
|
|
|||
|
PROCEDURE fetch_sub_form (
|
|||
|
db_handle : database_handle;
|
|||
|
trans_handle : transaction_handle;
|
|||
|
mp_handle : map_handle;
|
|||
|
output : SYSTEM.ADDRESS);
|
|||
|
|
|||
|
PROCEDURE insert_sub_form (
|
|||
|
db_handle : database_handle;
|
|||
|
trans_handle : transaction_handle;
|
|||
|
mp_handle : map_handle;
|
|||
|
input : SYSTEM.ADDRESS);
|
|||
|
|
|||
|
PROCEDURE load_form (
|
|||
|
db_handle : database_handle;
|
|||
|
trans_handle : transaction_handle;
|
|||
|
frm_handle : IN OUT form_handle;
|
|||
|
name_length : integer;
|
|||
|
form_name : string);
|
|||
|
|
|||
|
PROCEDURE reset_form (
|
|||
|
win_handle : window_handle);
|
|||
|
|
|||
|
END interbase;
|
|||
|
|
|||
|
PACKAGE BODY interbase IS
|
|||
|
|
|||
|
---
|
|||
|
--- Actual Interbase entrypoints
|
|||
|
---
|
|||
|
|
|||
|
PROCEDURE gds_attach_database (
|
|||
|
user_status : SYSTEM.ADDRESS; -- OUT status_vector;
|
|||
|
file_length : SYSTEM.ADDRESS; -- integer;
|
|||
|
file_name : SYSTEM.ADDRESS; -- string;
|
|||
|
handle : SYSTEM.ADDRESS; -- IN OUT database_handle;
|
|||
|
dpb_length : SYSTEM.ADDRESS; -- integer;
|
|||
|
dpb : SYSTEM.ADDRESS);
|
|||
|
|
|||
|
PROCEDURE gds_blob_display (
|
|||
|
blob_id : SYSTEM.ADDRESS; -- quad;
|
|||
|
db_handle : SYSTEM.ADDRESS; -- database_handle;
|
|||
|
tra_handle : SYSTEM.ADDRESS; -- transaction_handle;
|
|||
|
field_name : SYSTEM.ADDRESS; -- string;
|
|||
|
name_length : SYSTEM.ADDRESS); -- integer;
|
|||
|
|
|||
|
PROCEDURE gds_blob_dump (
|
|||
|
blob_id : SYSTEM.ADDRESS; -- quad;
|
|||
|
db_handle : SYSTEM.ADDRESS; -- database_handle;
|
|||
|
tra_handle : SYSTEM.ADDRESS; -- transaction_handle;
|
|||
|
file_name : SYSTEM.ADDRESS; -- string;
|
|||
|
name_length : SYSTEM.ADDRESS); -- integer;
|
|||
|
|
|||
|
PROCEDURE gds_blob_edit (
|
|||
|
blob_id : SYSTEM.ADDRESS; -- IN OUT quad;
|
|||
|
db_handle : SYSTEM.ADDRESS; -- database_handle;
|
|||
|
tra_handle : SYSTEM.ADDRESS; -- transaction_handle;
|
|||
|
field_name : SYSTEM.ADDRESS; -- string;
|
|||
|
name_length : SYSTEM.ADDRESS); -- integer;
|
|||
|
|
|||
|
PROCEDURE gds_blob_load (
|
|||
|
blob_id : SYSTEM.ADDRESS; -- quad;
|
|||
|
db_handle : SYSTEM.ADDRESS; -- database_handle;
|
|||
|
tra_handle : SYSTEM.ADDRESS; -- transaction_handle;
|
|||
|
file_name : SYSTEM.ADDRESS; -- string;
|
|||
|
name_length : SYSTEM.ADDRESS); -- integer;
|
|||
|
|
|||
|
PROCEDURE gds_cancel_blob (
|
|||
|
user_status : SYSTEM.ADDRESS; --OUT status_vector;
|
|||
|
blb_handle : SYSTEM.ADDRESS); -- IN OUT blob_handle);
|
|||
|
|
|||
|
PROCEDURE gds_cancel_events (
|
|||
|
user_status : SYSTEM.ADDRESS; -- OUT status_vector;
|
|||
|
blb_handle : SYSTEM.ADDRESS); -- IN OUT blob_handle);
|
|||
|
|
|||
|
PROCEDURE gds_close_blob (
|
|||
|
user_status : SYSTEM.ADDRESS; --OUT status_vector;
|
|||
|
blb_handle : SYSTEM.ADDRESS); --IN OUT blob_handle);
|
|||
|
|
|||
|
PROCEDURE gds_commit_retaining (
|
|||
|
user_status : SYSTEM.ADDRESS; -- OUT status_vector;
|
|||
|
trans_handle : SYSTEM.ADDRESS); -- IN OUT transaction_handle);
|
|||
|
|
|||
|
PROCEDURE gds_commit_transaction (
|
|||
|
user_status : SYSTEM.ADDRESS; -- OUT status_vector;
|
|||
|
trans_handle : SYSTEM.ADDRESS); -- IN OUT transaction_handle);
|
|||
|
|
|||
|
PROCEDURE gds_compile_request (
|
|||
|
user_status : SYSTEM.ADDRESS; -- OUT status_vector;
|
|||
|
db_handle : SYSTEM.ADDRESS; -- database_handle;
|
|||
|
req_handle : SYSTEM.ADDRESS; -- IN OUT request_handle;
|
|||
|
blr_length : SYSTEM.ADDRESS; -- integer;
|
|||
|
blr : SYSTEM.ADDRESS);
|
|||
|
|
|||
|
PROCEDURE gds_compile_request2 (
|
|||
|
user_status : SYSTEM.ADDRESS; -- OUT status_vector;
|
|||
|
db_handle : SYSTEM.ADDRESS; -- database_handle;
|
|||
|
req_handle : SYSTEM.ADDRESS; -- IN OUT request_handle;
|
|||
|
blr_length : SYSTEM.ADDRESS; -- integer;
|
|||
|
blr_arg : SYSTEM.ADDRESS); -- blr;
|
|||
|
|
|||
|
PROCEDURE gds_create_blob (
|
|||
|
user_status : SYSTEM.ADDRESS; --OUT status_vector;
|
|||
|
db_handle : SYSTEM.ADDRESS; --database_handle;
|
|||
|
trans_handle : SYSTEM.ADDRESS; --transaction_handle;
|
|||
|
blb_handle : SYSTEM.ADDRESS; --IN OUT blob_handle;
|
|||
|
blob_id : SYSTEM.ADDRESS); --OUT quad);
|
|||
|
|
|||
|
PROCEDURE gds_create_blob2 (
|
|||
|
user_status : SYSTEM.ADDRESS; --OUT status_vector;
|
|||
|
db_handle : SYSTEM.ADDRESS; --database_handle;
|
|||
|
trans_handle : SYSTEM.ADDRESS; --transaction_handle;
|
|||
|
blb_handle : SYSTEM.ADDRESS; --IN OUT blob_handle;
|
|||
|
blob_id : SYSTEM.ADDRESS; --OUT quad;
|
|||
|
bpb_length : SYSTEM.ADDRESS; --integer;
|
|||
|
bpb : SYSTEM.ADDRESS); --blr;
|
|||
|
|
|||
|
PROCEDURE gds_create_database (
|
|||
|
user_status : SYSTEM.ADDRESS; --OUT status_vector;
|
|||
|
file_length : SYSTEM.ADDRESS; --integer;
|
|||
|
file_name : SYSTEM.ADDRESS; --string;
|
|||
|
db_handle : SYSTEM.ADDRESS; --IN OUT database_handle;
|
|||
|
dpb_length : SYSTEM.ADDRESS; --integer;
|
|||
|
dpb_arg : SYSTEM.ADDRESS; --dpb;
|
|||
|
db_type : SYSTEM.ADDRESS); --integer);
|
|||
|
|
|||
|
PROCEDURE gds_ddl (
|
|||
|
user_status : SYSTEM.ADDRESS; --OUT status_vector;
|
|||
|
db_handle : SYSTEM.ADDRESS; --database_handle;
|
|||
|
trans_handle : SYSTEM.ADDRESS; --transaction_handle;
|
|||
|
msg_length : SYSTEM.ADDRESS; -- integer;
|
|||
|
msg : SYSTEM.ADDRESS);
|
|||
|
|
|||
|
PROCEDURE gds_decode_date (
|
|||
|
date : SYSTEM.ADDRESS; -- quad;
|
|||
|
times : SYSTEM.ADDRESS); -- gds_tm);
|
|||
|
|
|||
|
PROCEDURE gds_detach_database (
|
|||
|
user_status : SYSTEM.ADDRESS; -- OUT status_vector;
|
|||
|
handle : SYSTEM.ADDRESS); -- IN OUT database_handle);
|
|||
|
|
|||
|
PROCEDURE gds_encode_date (
|
|||
|
times : SYSTEM.ADDRESS; -- gds_tm;
|
|||
|
date : SYSTEM.ADDRESS); -- OUT quad);
|
|||
|
|
|||
|
PROCEDURE gds_event_wait (
|
|||
|
user_status : SYSTEM.ADDRESS; -- OUT status_vector;
|
|||
|
db_handle : SYSTEM.ADDRESS; -- database_handle;
|
|||
|
length : SYSTEM.ADDRESS; -- integer;
|
|||
|
events : SYSTEM.ADDRESS; -- string;
|
|||
|
buffer : SYSTEM.ADDRESS); -- string;
|
|||
|
|
|||
|
PROCEDURE gds_get_segment (
|
|||
|
user_status : SYSTEM.ADDRESS; --OUT status_vector;
|
|||
|
blb_handle : SYSTEM.ADDRESS; --blob_handle;
|
|||
|
actual_length : SYSTEM.ADDRESS; --OUT long_integer;
|
|||
|
buffer_length : SYSTEM.ADDRESS; --long_integer;
|
|||
|
buffer : SYSTEM.ADDRESS); --string;
|
|||
|
|
|||
|
PROCEDURE gds_get_slice (
|
|||
|
user_status : SYSTEM.ADDRESS; -- OUT status_vector;
|
|||
|
db_handle : SYSTEM.ADDRESS; -- database_handle;
|
|||
|
trans_handle : SYSTEM.ADDRESS; -- transaction_handle;
|
|||
|
blob_id : SYSTEM.ADDRESS; -- quad;
|
|||
|
sdl_length : SYSTEM.ADDRESS; -- integer;
|
|||
|
sdl : SYSTEM.ADDRESS; -- blr;
|
|||
|
param_length : SYSTEM.ADDRESS; -- integer;
|
|||
|
param : SYSTEM.ADDRESS; -- string;
|
|||
|
slice_length : SYSTEM.ADDRESS; -- long_integer;
|
|||
|
slice : SYSTEM.ADDRESS; -- string;
|
|||
|
return_length : SYSTEM.ADDRESS); -- OUT long_integer;
|
|||
|
|
|||
|
PROCEDURE gds_open_blob (
|
|||
|
user_status : SYSTEM.ADDRESS; --OUT status_vector;
|
|||
|
db_handle : SYSTEM.ADDRESS; --database_handle;
|
|||
|
trans_handle : SYSTEM.ADDRESS; --transaction_handle;
|
|||
|
blb_handle : SYSTEM.ADDRESS; --IN OUT blob_handle;
|
|||
|
blob_id : SYSTEM.ADDRESS); --quad;
|
|||
|
|
|||
|
PROCEDURE gds_open_blob2 (
|
|||
|
user_status : SYSTEM.ADDRESS; --OUT status_vector;
|
|||
|
db_handle : SYSTEM.ADDRESS; --database_handle;
|
|||
|
trans_handle : SYSTEM.ADDRESS; --transaction_handle;
|
|||
|
blb_handle : SYSTEM.ADDRESS; --IN OUT blob_handle;
|
|||
|
blob_id : SYSTEM.ADDRESS; --quad;
|
|||
|
bpb_length : SYSTEM.ADDRESS; --integer;
|
|||
|
bpb : SYSTEM.ADDRESS); --blr;
|
|||
|
|
|||
|
PROCEDURE gds_prepare_transaction (
|
|||
|
user_status : SYSTEM.ADDRESS; -- OUT status_vector;
|
|||
|
trans_handle : SYSTEM.ADDRESS); -- IN OUT transaction_handle;
|
|||
|
|
|||
|
PROCEDURE gds_prepare_transaction2 (
|
|||
|
user_status : SYSTEM.ADDRESS; -- OUT status_vector;
|
|||
|
trans_handle : SYSTEM.ADDRESS; -- IN OUT transaction_handle;
|
|||
|
msg_length : SYSTEM.ADDRESS; -- integer;
|
|||
|
msg : SYSTEM.ADDRESS); -- blr;
|
|||
|
|
|||
|
PROCEDURE gds_put_segment (
|
|||
|
user_status : SYSTEM.ADDRESS; --OUT status_vector;
|
|||
|
blb_handle : SYSTEM.ADDRESS; --blob_handle;
|
|||
|
length : SYSTEM.ADDRESS; --long_integer;
|
|||
|
buffer : SYSTEM.ADDRESS); --string;
|
|||
|
|
|||
|
PROCEDURE gds_put_slice (
|
|||
|
user_status : SYSTEM.ADDRESS; -- OUT status_vector;
|
|||
|
db_handle : SYSTEM.ADDRESS; -- database_handle;
|
|||
|
trans_handle : SYSTEM.ADDRESS; -- transaction_handle;
|
|||
|
blob_id : SYSTEM.ADDRESS; -- quad;
|
|||
|
sdl_length : SYSTEM.ADDRESS; -- integer;
|
|||
|
sdl : SYSTEM.ADDRESS; -- blr;
|
|||
|
param_length : SYSTEM.ADDRESS; -- integer;
|
|||
|
param : SYSTEM.ADDRESS; -- string;
|
|||
|
slice_length : SYSTEM.ADDRESS; -- long_integer;
|
|||
|
slice : SYSTEM.ADDRESS); -- string;
|
|||
|
|
|||
|
PROCEDURE gds_queue_events (
|
|||
|
user_status : SYSTEM.ADDRESS; -- OUT status_vector;
|
|||
|
db_handle : SYSTEM.ADDRESS; -- database_handle;
|
|||
|
id : SYSTEM.ADDRESS; -- quad;
|
|||
|
length : SYSTEM.ADDRESS; -- integer;
|
|||
|
events : SYSTEM.ADDRESS; -- string;
|
|||
|
ast : SYSTEM.ADDRESS; -- long_integer;
|
|||
|
arg : SYSTEM.ADDRESS); -- quad;
|
|||
|
|
|||
|
PROCEDURE gds_receive (
|
|||
|
user_status : SYSTEM.ADDRESS; -- OUT status_vector;
|
|||
|
req_handle : SYSTEM.ADDRESS; -- request_handle;
|
|||
|
msg_type : SYSTEM.ADDRESS; -- integer;
|
|||
|
msg_length : SYSTEM.ADDRESS; -- integer;
|
|||
|
msg : SYSTEM.ADDRESS;
|
|||
|
level : SYSTEM.ADDRESS); --integer;
|
|||
|
|
|||
|
PROCEDURE gds_rollback_transaction (
|
|||
|
user_status : SYSTEM.ADDRESS; -- OUT status_vector;
|
|||
|
trans_handle : SYSTEM.ADDRESS); -- IN OUT transaction_handle;
|
|||
|
|
|||
|
PROCEDURE gds_send (
|
|||
|
user_status : SYSTEM.ADDRESS; -- OUT status_vector;
|
|||
|
req_handle : SYSTEM.ADDRESS; -- request_handle;
|
|||
|
msg_type : SYSTEM.ADDRESS; -- integer;
|
|||
|
msg_length : SYSTEM.ADDRESS; -- integer;
|
|||
|
msg : SYSTEM.ADDRESS;
|
|||
|
level : SYSTEM.ADDRESS); -- integer);
|
|||
|
|
|||
|
PROCEDURE gds_set_debug (
|
|||
|
debug_val : SYSTEM.ADDRESS); -- integer);
|
|||
|
|
|||
|
PROCEDURE gds_start_and_send (
|
|||
|
user_status : SYSTEM.ADDRESS; -- OUT status_vector;
|
|||
|
req_handle : SYSTEM.ADDRESS; -- request_handle;
|
|||
|
trans_handle : SYSTEM.ADDRESS; -- transaction_handle;
|
|||
|
msg_type : SYSTEM.ADDRESS; -- integer;
|
|||
|
msg_length : SYSTEM.ADDRESS; -- integer;
|
|||
|
msg : SYSTEM.ADDRESS;
|
|||
|
level : SYSTEM.ADDRESS); -- integer);
|
|||
|
|
|||
|
PROCEDURE gds_start_request (
|
|||
|
user_status : SYSTEM.ADDRESS; -- OUT status_vector;
|
|||
|
req_handle : SYSTEM.ADDRESS; -- request_handle;
|
|||
|
trans_handle : SYSTEM.ADDRESS; -- transaction_handle;
|
|||
|
level : SYSTEM.ADDRESS); -- integer);
|
|||
|
|
|||
|
PROCEDURE gds_start_multiple (
|
|||
|
user_status : SYSTEM.ADDRESS; -- OUT status_vector;
|
|||
|
trans_handle : SYSTEM.ADDRESS; -- IN OUT transaction_handle;
|
|||
|
count : SYSTEM.ADDRESS; -- integer;
|
|||
|
teb : SYSTEM.ADDRESS);
|
|||
|
|
|||
|
PROCEDURE gds_start_transaction (
|
|||
|
user_status : SYSTEM.ADDRESS; -- OUT status_vector;
|
|||
|
trans_handle : SYSTEM.ADDRESS; -- IN OUT transaction_handle;
|
|||
|
count : SYSTEM.ADDRESS; -- integer;
|
|||
|
db_handle : SYSTEM.ADDRESS; -- database_handle;
|
|||
|
dpb_length : SYSTEM.ADDRESS; -- integer;
|
|||
|
dpb : SYSTEM.ADDRESS);
|
|||
|
|
|||
|
PROCEDURE gds_unwind_request (
|
|||
|
user_status : SYSTEM.ADDRESS; -- OUT status_vector;
|
|||
|
req_handle : SYSTEM.ADDRESS; -- request_handle;
|
|||
|
level : SYSTEM.ADDRESS); -- integer);
|
|||
|
|
|||
|
PROCEDURE gds_print_status (
|
|||
|
user_status : SYSTEM.ADDRESS); -- status_vector;
|
|||
|
|
|||
|
PROCEDURE gds_version (
|
|||
|
db_handle : SYSTEM.ADDRESS;
|
|||
|
ptr1 : long_integer;
|
|||
|
ptr2 : SYSTEM.ADDRESS);
|
|||
|
|
|||
|
FUNCTION gds_sqlcode (
|
|||
|
user_status : SYSTEM.ADDRESS) RETURN long_integer;
|
|||
|
|
|||
|
--- Dynamic SQL procedures
|
|||
|
|
|||
|
PROCEDURE gds_close (
|
|||
|
user_status : SYSTEM.ADDRESS; -- OUT status_vector;
|
|||
|
cursor_name : SYSTEM.ADDRESS); -- string);
|
|||
|
|
|||
|
PROCEDURE gds_declare (
|
|||
|
user_status : SYSTEM.ADDRESS; -- OUT status_vector;
|
|||
|
statement_name : SYSTEM.ADDRESS; -- string;
|
|||
|
cursor_name : SYSTEM.ADDRESS); -- string);
|
|||
|
|
|||
|
PROCEDURE gds_describe (
|
|||
|
user_status : SYSTEM.ADDRESS; -- OUT status_vector;
|
|||
|
statement_name : SYSTEM.ADDRESS; -- string;
|
|||
|
descriptor : SYSTEM.ADDRESS); -- SYSTEM.ADDRESS);
|
|||
|
|
|||
|
PROCEDURE gds_dsql_finish (
|
|||
|
user_status : SYSTEM.ADDRESS); -- database handle;
|
|||
|
|
|||
|
PROCEDURE gds_execute (
|
|||
|
user_status : SYSTEM.ADDRESS; -- OUT status_vector;
|
|||
|
trans_handle : SYSTEM.ADDRESS; -- transaction_handle;
|
|||
|
statement_name : SYSTEM.ADDRESS; -- string;
|
|||
|
descriptor : SYSTEM.ADDRESS); -- SYSTEM.ADDRESS);
|
|||
|
|
|||
|
PROCEDURE gds_execute_immediate (
|
|||
|
user_status : SYSTEM.ADDRESS; -- OUT status_vector;
|
|||
|
db_handle : SYSTEM.ADDRESS; -- database_handle;
|
|||
|
trans_handle : SYSTEM.ADDRESS; -- transaction_handle;
|
|||
|
command_length : SYSTEM.ADDRESS; -- integer;
|
|||
|
command : SYSTEM.ADDRESS); -- string);
|
|||
|
|
|||
|
PROCEDURE gds_fetch (
|
|||
|
user_status : SYSTEM.ADDRESS; -- OUT status_vector;
|
|||
|
sqlcode : SYSTEM.ADDRESS; -- OUT integer;
|
|||
|
cursor_name : SYSTEM.ADDRESS; -- string;
|
|||
|
descriptor : SYSTEM.ADDRESS); -- SYSTEM.ADDRESS);
|
|||
|
|
|||
|
PROCEDURE gds_open (
|
|||
|
user_status : SYSTEM.ADDRESS; -- OUT status_vector;
|
|||
|
trans_handle : SYSTEM.ADDRESS; -- transaction_handle;
|
|||
|
cursor_name : SYSTEM.ADDRESS; -- string;
|
|||
|
descriptor : SYSTEM.ADDRESS); -- SYSTEM.ADDRESS);
|
|||
|
|
|||
|
PROCEDURE gds_prepare (
|
|||
|
user_status : SYSTEM.ADDRESS; -- OUT status_vector;
|
|||
|
db_handle : SYSTEM.ADDRESS; -- database_handle;
|
|||
|
trans_handle : SYSTEM.ADDRESS; -- transaction_handle;
|
|||
|
statement_name : SYSTEM.ADDRESS; -- string;
|
|||
|
command_length : SYSTEM.ADDRESS; -- integer;
|
|||
|
command : SYSTEM.ADDRESS; -- string;
|
|||
|
descriptor : SYSTEM.ADDRESS); -- SYSTEM.ADDRESS);
|
|||
|
|
|||
|
--- PYXIS procedures
|
|||
|
|
|||
|
PROCEDURE pyxis_compile_map (
|
|||
|
user_status : SYSTEM.ADDRESS; -- OUT status_vector;
|
|||
|
frm_handle : SYSTEM.ADDRESS; -- form_handle;
|
|||
|
mp_handle : SYSTEM.ADDRESS; -- OUT map_handle;
|
|||
|
map_length : SYSTEM.ADDRESS; -- integer;
|
|||
|
map : SYSTEM.ADDRESS); -- blr);
|
|||
|
|
|||
|
PROCEDURE pyxis_compile_sub_map (
|
|||
|
user_status : SYSTEM.ADDRESS; -- OUT status_vector;
|
|||
|
frm_handle : SYSTEM.ADDRESS; -- form_handle;
|
|||
|
mp_handle : SYSTEM.ADDRESS; -- OUT map_handle;
|
|||
|
map_length : SYSTEM.ADDRESS; -- integer;
|
|||
|
map : SYSTEM.ADDRESS); -- blr);
|
|||
|
|
|||
|
PROCEDURE pyxis_create_window (
|
|||
|
win_handle : SYSTEM.ADDRESS; -- OUT window_handle;
|
|||
|
name_length : SYSTEM.ADDRESS; -- integer;
|
|||
|
file_name : SYSTEM.ADDRESS; -- string;
|
|||
|
width : SYSTEM.ADDRESS; -- IN OUT integer;
|
|||
|
height : SYSTEM.ADDRESS); -- IN OUT integer);
|
|||
|
|
|||
|
PROCEDURE pyxis_delete_window (
|
|||
|
win_handle : SYSTEM.ADDRESS); -- IN OUT window_handle);
|
|||
|
|
|||
|
PROCEDURE pyxis_drive_form (
|
|||
|
user_status : SYSTEM.ADDRESS; -- OUT status_vector;
|
|||
|
db_handle : SYSTEM.ADDRESS; -- database_handle;
|
|||
|
trans_handle : SYSTEM.ADDRESS; -- transaction_handle;
|
|||
|
win_handle : SYSTEM.ADDRESS; -- window_handle;
|
|||
|
mp_handle : SYSTEM.ADDRESS; -- map_handle;
|
|||
|
input : SYSTEM.ADDRESS; -- SYSTEM.ADDRESS;
|
|||
|
output : SYSTEM.ADDRESS); -- SYSTEM.ADDRESS);
|
|||
|
|
|||
|
PROCEDURE pyxis_fetch (
|
|||
|
user_status : SYSTEM.ADDRESS; -- OUT status_vector;
|
|||
|
db_handle : SYSTEM.ADDRESS; -- database_handle;
|
|||
|
trans_handle : SYSTEM.ADDRESS; -- transaction_handle;
|
|||
|
mp_handle : SYSTEM.ADDRESS; -- map_handle;
|
|||
|
output : SYSTEM.ADDRESS); -- SYSTEM.ADDRESS);
|
|||
|
|
|||
|
PROCEDURE pyxis_insert (
|
|||
|
user_status : SYSTEM.ADDRESS; -- OUT status_vector;
|
|||
|
db_handle : SYSTEM.ADDRESS; -- database_handle;
|
|||
|
trans_handle : SYSTEM.ADDRESS; -- transaction_handle;
|
|||
|
mp_handle : SYSTEM.ADDRESS; -- map_handle;
|
|||
|
input : SYSTEM.ADDRESS); -- SYSTEM.ADDRESS);
|
|||
|
|
|||
|
PROCEDURE pyxis_load_form (
|
|||
|
user_status : SYSTEM.ADDRESS; -- OUT status_vector;
|
|||
|
db_handle : SYSTEM.ADDRESS; -- database_handle;
|
|||
|
trans_handle : SYSTEM.ADDRESS; -- transaction_handle;
|
|||
|
frm_handle : SYSTEM.ADDRESS; -- IN OUT form_handle;
|
|||
|
name_length : SYSTEM.ADDRESS; -- integer;
|
|||
|
form_name : SYSTEM.ADDRESS); -- string);
|
|||
|
|
|||
|
FUNCTION pyxis_menu (
|
|||
|
win_handle : SYSTEM.ADDRESS; -- window_handle;
|
|||
|
men_handle : SYSTEM.ADDRESS; -- menu_handle;
|
|||
|
menu_length : SYSTEM.ADDRESS; -- integer;
|
|||
|
menu : SYSTEM.ADDRESS) RETURN integer; -- blr) ;
|
|||
|
|
|||
|
PROCEDURE pyxis_pop_window (
|
|||
|
win_handle : SYSTEM.ADDRESS); -- window_handle);
|
|||
|
|
|||
|
PROCEDURE pyxis_reset_form (
|
|||
|
user_status : SYSTEM.ADDRESS; -- OUT status_vector;
|
|||
|
win_handle : SYSTEM.ADDRESS); -- window_handle);
|
|||
|
|
|||
|
PROCEDURE pyxis_drive_menu (
|
|||
|
win_handle : SYSTEM.ADDRESS; -- IN OUT window_handle;
|
|||
|
men_handle : SYSTEM.ADDRESS; -- IN OUT menu_handle;
|
|||
|
blr_length : SYSTEM.ADDRESS; -- integer;
|
|||
|
blr_source : SYSTEM.ADDRESS; -- blr;
|
|||
|
title_length : SYSTEM.ADDRESS; -- integer;
|
|||
|
title : SYSTEM.ADDRESS; -- string;
|
|||
|
terminator : SYSTEM.ADDRESS; -- OUT integer;
|
|||
|
entree_length : SYSTEM.ADDRESS; -- OUT integer;
|
|||
|
entree_text : SYSTEM.ADDRESS; -- OUT string;
|
|||
|
entree_value : SYSTEM.ADDRESS); -- OUT long_integer);
|
|||
|
|
|||
|
PROCEDURE pyxis_get_entree (
|
|||
|
men_handle : SYSTEM.ADDRESS; -- menu_handle;
|
|||
|
entree_length : SYSTEM.ADDRESS; -- OUT integer;
|
|||
|
entree_text : SYSTEM.ADDRESS; -- OUT string;
|
|||
|
entree_value : SYSTEM.ADDRESS; -- OUT integer;
|
|||
|
entree_end : SYSTEM.ADDRESS); -- OUT integer);
|
|||
|
|
|||
|
PROCEDURE pyxis_initialize_menu (
|
|||
|
men_handle : SYSTEM.ADDRESS); -- IN OUT menu_handle);
|
|||
|
|
|||
|
PROCEDURE pyxis_put_entree (
|
|||
|
men_handle : SYSTEM.ADDRESS; -- menu_handle;
|
|||
|
entree_length : SYSTEM.ADDRESS; -- integer;
|
|||
|
entree_text : SYSTEM.ADDRESS; -- string;
|
|||
|
entree_value : SYSTEM.ADDRESS); -- long_integer);
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
pragma interface (C, gds_attach_database);
|
|||
|
pragma interface_name (gds_attach_database, "gds_$attach_database");
|
|||
|
|
|||
|
pragma interface (C, gds_blob_display);
|
|||
|
pragma interface_name (gds_blob_display, "blob_$display");
|
|||
|
pragma interface (C, gds_blob_dump);
|
|||
|
pragma interface_name (gds_blob_dump, "blob_$dump");
|
|||
|
pragma interface (C, gds_blob_edit);
|
|||
|
pragma interface_name (gds_blob_edit, "blob_$edit");
|
|||
|
pragma interface (C, gds_blob_load);
|
|||
|
pragma interface_name (gds_blob_load, "blob_$load");
|
|||
|
|
|||
|
pragma interface (C, gds_cancel_blob);
|
|||
|
pragma interface_name (gds_cancel_blob, "gds_$cancel_blob");
|
|||
|
pragma interface (C, gds_cancel_events);
|
|||
|
pragma interface_name (gds_cancel_events, "gds_$cancel_events");
|
|||
|
pragma interface (C, gds_close);
|
|||
|
pragma interface_name (gds_close, "gds_$close");
|
|||
|
pragma interface (C, gds_close_blob);
|
|||
|
pragma interface_name (gds_close_blob, "gds_$close_blob");
|
|||
|
pragma interface (C, gds_commit_retaining);
|
|||
|
pragma interface_name (gds_commit_retaining, "gds_$commit_retaining");
|
|||
|
pragma interface (C, gds_commit_transaction);
|
|||
|
pragma interface_name (gds_commit_transaction, "gds_$commit_transaction");
|
|||
|
pragma interface (C, gds_compile_request);
|
|||
|
pragma interface_name (gds_compile_request, "gds_$compile_request");
|
|||
|
pragma interface (C, gds_compile_request2);
|
|||
|
pragma interface_name (gds_compile_request2, "gds_$compile_request2");
|
|||
|
pragma interface (C, gds_create_blob);
|
|||
|
pragma interface_name (gds_create_blob, "gds_$create_blob");
|
|||
|
pragma interface (C, gds_create_blob2);
|
|||
|
pragma interface_name (gds_create_blob2, "gds_$create_blob2");
|
|||
|
pragma interface (C, gds_create_database);
|
|||
|
pragma interface_name (gds_create_database, "gds_$create_database");
|
|||
|
|
|||
|
pragma interface (C, gds_ddl);
|
|||
|
pragma interface_name (gds_ddl, "gds_$ddl");
|
|||
|
pragma interface (C, gds_declare);
|
|||
|
pragma interface_name (gds_declare, "gds_$declare");
|
|||
|
pragma interface (C, gds_decode_date);
|
|||
|
pragma interface_name (gds_decode_date, "gds_$decode_date");
|
|||
|
pragma interface (C, gds_describe);
|
|||
|
pragma interface_name (gds_describe, "gds_$describe");
|
|||
|
pragma interface (C, gds_detach_database);
|
|||
|
pragma interface_name (gds_detach_database, "gds_$detach_database");
|
|||
|
pragma interface (C, gds_dsql_finish);
|
|||
|
pragma interface_name (gds_dsql_finish, "gds_$dsql_finish");
|
|||
|
|
|||
|
pragma interface (C, gds_encode_date);
|
|||
|
pragma interface_name (gds_encode_date, "gds_$encode_date");
|
|||
|
pragma interface (C, gds_event_wait);
|
|||
|
pragma interface_name (gds_event_wait, "gds_$event_wait");
|
|||
|
pragma interface (C, gds_execute);
|
|||
|
pragma interface_name (gds_execute, "gds_$execute");
|
|||
|
pragma interface (C, gds_execute_immediate);
|
|||
|
pragma interface_name (gds_execute_immediate, "gds_$execute_immediate");
|
|||
|
|
|||
|
pragma interface (C, gds_fetch);
|
|||
|
pragma interface_name (gds_fetch, "gds_$fetch_a");
|
|||
|
|
|||
|
pragma interface (C, gds_get_segment);
|
|||
|
pragma interface_name (gds_get_segment, "gds_$get_segment");
|
|||
|
pragma interface (C, gds_get_slice);
|
|||
|
pragma interface_name (gds_get_slice, "gds_$get_slice");
|
|||
|
|
|||
|
pragma interface (C, gds_open);
|
|||
|
pragma interface_name (gds_open, "gds_$open");
|
|||
|
pragma interface (C, gds_open_blob);
|
|||
|
pragma interface_name (gds_open_blob, "gds_$open_blob");
|
|||
|
pragma interface (C, gds_open_blob2);
|
|||
|
pragma interface_name (gds_open_blob2, "gds_$open_blob2");
|
|||
|
|
|||
|
pragma interface (C, gds_prepare);
|
|||
|
pragma interface_name (gds_prepare, "gds_$prepare");
|
|||
|
pragma interface (C, gds_prepare_transaction);
|
|||
|
pragma interface_name (gds_prepare_transaction, "gds_$prepare_transaction");
|
|||
|
pragma interface (C, gds_prepare_transaction2);
|
|||
|
pragma interface_name (gds_prepare_transaction2, "gds_$prepare_transaction2");
|
|||
|
pragma interface (C, gds_print_status);
|
|||
|
pragma interface_name (gds_print_status, "gds_$print_status");
|
|||
|
pragma interface (C, gds_put_segment);
|
|||
|
pragma interface_name (gds_put_segment, "gds_$put_segment");
|
|||
|
pragma interface (C, gds_put_slice);
|
|||
|
pragma interface_name (gds_put_slice, "gds_$put_slice");
|
|||
|
|
|||
|
pragma interface (C, gds_queue_events);
|
|||
|
pragma interface_name (gds_queue_events, "gds_$que_events");
|
|||
|
|
|||
|
pragma interface (C, gds_receive);
|
|||
|
pragma interface_name (gds_receive, "gds_$receive");
|
|||
|
pragma interface (C, gds_rollback_transaction);
|
|||
|
pragma interface_name (gds_rollback_transaction, "gds_$rollback_transaction");
|
|||
|
|
|||
|
pragma interface (C, gds_send);
|
|||
|
pragma interface_name (gds_send, "gds_$send");
|
|||
|
pragma interface (C, gds_set_debug);
|
|||
|
pragma interface_name (gds_set_debug, "gds_$set_debug");
|
|||
|
pragma interface (C, gds_sqlcode);
|
|||
|
pragma interface_name (gds_sqlcode, "gds_$sqlcode");
|
|||
|
pragma interface (C, gds_start_and_send);
|
|||
|
pragma interface_name (gds_start_and_send, "gds_$start_and_send");
|
|||
|
pragma interface (C, gds_start_multiple);
|
|||
|
pragma interface_name (gds_start_multiple, "gds_$start_multiple");
|
|||
|
pragma interface (C, gds_start_request);
|
|||
|
pragma interface_name (gds_start_request, "gds_$start_request");
|
|||
|
pragma interface (C, gds_start_transaction);
|
|||
|
pragma interface_name (gds_start_transaction, "gds_$start_transaction");
|
|||
|
|
|||
|
pragma interface (C, gds_unwind_request);
|
|||
|
pragma interface_name (gds_unwind_request, "gds_$unwind_request");
|
|||
|
|
|||
|
pragma interface (C, gds_version);
|
|||
|
pragma interface_name (gds_version, "gds_$version");
|
|||
|
|
|||
|
pragma interface (C, pyxis_compile_map);
|
|||
|
pragma interface_name (pyxis_compile_map, "pyxis_$compile_map");
|
|||
|
pragma interface (C, pyxis_compile_sub_map);
|
|||
|
pragma interface_name (pyxis_compile_sub_map, "pyxis_$compile_sub_map");
|
|||
|
pragma interface (C, pyxis_create_window);
|
|||
|
pragma interface_name (pyxis_create_window, "pyxis_$create_window");
|
|||
|
pragma interface (C, pyxis_delete_window);
|
|||
|
pragma interface_name (pyxis_delete_window, "pyxis_$delete_window");
|
|||
|
pragma interface (C, pyxis_drive_form);
|
|||
|
pragma interface_name (pyxis_drive_form, "pyxis_$drive_form");
|
|||
|
pragma interface (C, pyxis_drive_menu);
|
|||
|
pragma interface_name (pyxis_drive_menu, "pyxis_$drive_menu");
|
|||
|
pragma interface (C, pyxis_fetch);
|
|||
|
pragma interface_name (pyxis_fetch, "pyxis_$fetch");
|
|||
|
pragma interface (C, pyxis_get_entree);
|
|||
|
pragma interface_name (pyxis_get_entree, "pyxis_$get_entree");
|
|||
|
pragma interface (C, pyxis_initialize_menu);
|
|||
|
pragma interface_name (pyxis_initialize_menu, "pyxis_$initialize_menu");
|
|||
|
pragma interface (C, pyxis_insert);
|
|||
|
pragma interface_name (pyxis_insert, "pyxis_$insert");
|
|||
|
pragma interface (C, pyxis_load_form);
|
|||
|
pragma interface_name (pyxis_load_form, "pyxis_$load_form");
|
|||
|
pragma interface (C, pyxis_menu);
|
|||
|
pragma interface_name (pyxis_menu, "pyxis_$menu");
|
|||
|
pragma interface (C, pyxis_pop_window);
|
|||
|
pragma interface_name (pyxis_pop_window, "pyxis_$pop_window");
|
|||
|
pragma interface (C, pyxis_put_entree);
|
|||
|
pragma interface_name (pyxis_put_entree, "pyxis_$put_entree");
|
|||
|
pragma interface (C, pyxis_reset_form);
|
|||
|
pragma interface_name (pyxis_reset_form, "pyxis_$reset_form");
|
|||
|
|
|||
|
|
|||
|
---
|
|||
|
--- Interface routines that return status vector
|
|||
|
---
|
|||
|
|
|||
|
PROCEDURE attach_database (
|
|||
|
user_status : OUT status_vector;
|
|||
|
file_length : integer;
|
|||
|
file_name : string;
|
|||
|
db_handle : IN OUT database_handle;
|
|||
|
dpb_length : integer;
|
|||
|
dpb_arg : dpb) IS
|
|||
|
BEGIN
|
|||
|
gds_attach_database (
|
|||
|
user_status'address,
|
|||
|
file_length'address,
|
|||
|
file_name'address,
|
|||
|
db_handle'address,
|
|||
|
dpb_length'address,
|
|||
|
dpb_arg'address);
|
|||
|
END attach_database;
|
|||
|
|
|||
|
PROCEDURE blob_display (
|
|||
|
blob_id : quad;
|
|||
|
db_handle : database_handle;
|
|||
|
tra_handle : transaction_handle;
|
|||
|
field_name : string;
|
|||
|
name_length : integer) IS
|
|||
|
BEGIN
|
|||
|
gds_blob_display (
|
|||
|
blob_id'address,
|
|||
|
db_handle'address,
|
|||
|
tra_handle'address,
|
|||
|
field_name'address,
|
|||
|
name_length'address);
|
|||
|
END blob_display;
|
|||
|
|
|||
|
|
|||
|
PROCEDURE blob_dump (
|
|||
|
blob_id : quad;
|
|||
|
db_handle : database_handle;
|
|||
|
tra_handle : transaction_handle;
|
|||
|
file_name : string;
|
|||
|
name_length : integer) IS
|
|||
|
BEGIN
|
|||
|
gds_blob_dump (
|
|||
|
blob_id'address,
|
|||
|
db_handle'address,
|
|||
|
tra_handle'address,
|
|||
|
file_name'address,
|
|||
|
name_length'address);
|
|||
|
END blob_dump;
|
|||
|
|
|||
|
|
|||
|
PROCEDURE blob_edit (
|
|||
|
blob_id : IN OUT quad;
|
|||
|
db_handle : database_handle;
|
|||
|
tra_handle : transaction_handle;
|
|||
|
field_name : string;
|
|||
|
name_length : integer) IS
|
|||
|
BEGIN
|
|||
|
gds_blob_edit (
|
|||
|
blob_id'address,
|
|||
|
db_handle'address,
|
|||
|
tra_handle'address,
|
|||
|
field_name'address,
|
|||
|
name_length'address);
|
|||
|
END blob_edit;
|
|||
|
|
|||
|
|
|||
|
PROCEDURE blob_load (
|
|||
|
blob_id : IN OUT quad;
|
|||
|
db_handle : database_handle;
|
|||
|
tra_handle : transaction_handle;
|
|||
|
file_name : string;
|
|||
|
name_length : integer) IS
|
|||
|
BEGIN
|
|||
|
gds_blob_load (
|
|||
|
blob_id'address,
|
|||
|
db_handle'address,
|
|||
|
tra_handle'address,
|
|||
|
file_name'address,
|
|||
|
name_length'address);
|
|||
|
END blob_load;
|
|||
|
|
|||
|
|
|||
|
PROCEDURE cancel_blob (
|
|||
|
user_status : OUT status_vector;
|
|||
|
blb_handle : IN OUT blob_handle) IS
|
|||
|
BEGIN
|
|||
|
gds_cancel_blob (
|
|||
|
user_status'address,
|
|||
|
blb_handle'address);
|
|||
|
END cancel_blob;
|
|||
|
|
|||
|
PROCEDURE cancel_events (
|
|||
|
user_status : OUT status_vector;
|
|||
|
blb_handle : IN OUT blob_handle) IS
|
|||
|
BEGIN
|
|||
|
gds_cancel_events (
|
|||
|
user_status'address,
|
|||
|
blb_handle'address);
|
|||
|
END cancel_events;
|
|||
|
|
|||
|
PROCEDURE close_blob (
|
|||
|
user_status : OUT status_vector;
|
|||
|
blb_handle : IN OUT blob_handle) IS
|
|||
|
BEGIN
|
|||
|
gds_close_blob (
|
|||
|
user_status'address,
|
|||
|
blb_handle'address);
|
|||
|
END close_blob;
|
|||
|
|
|||
|
PROCEDURE commit_retaining (
|
|||
|
user_status : OUT status_vector;
|
|||
|
trans_handle : IN OUT transaction_handle) IS
|
|||
|
BEGIN
|
|||
|
gds_commit_retaining (
|
|||
|
user_status'address,
|
|||
|
trans_handle'address);
|
|||
|
END commit_retaining;
|
|||
|
|
|||
|
PROCEDURE commit_transaction (
|
|||
|
user_status : OUT status_vector;
|
|||
|
trans_handle : IN OUT transaction_handle) IS
|
|||
|
BEGIN
|
|||
|
gds_commit_transaction (
|
|||
|
user_status'address,
|
|||
|
trans_handle'address);
|
|||
|
END commit_transaction;
|
|||
|
|
|||
|
|
|||
|
PROCEDURE compile_request (
|
|||
|
user_status : OUT status_vector;
|
|||
|
db_handle : database_handle;
|
|||
|
req_handle : IN OUT request_handle;
|
|||
|
blr_length : integer;
|
|||
|
blr_arg : blr) IS
|
|||
|
BEGIN
|
|||
|
gds_compile_request (
|
|||
|
user_status'address,
|
|||
|
db_handle'address,
|
|||
|
req_handle'address,
|
|||
|
blr_length'address,
|
|||
|
blr_arg'address);
|
|||
|
END compile_request;
|
|||
|
|
|||
|
|
|||
|
PROCEDURE compile_request2 (
|
|||
|
user_status : OUT status_vector;
|
|||
|
db_handle : database_handle;
|
|||
|
req_handle : IN OUT request_handle;
|
|||
|
blr_length : integer;
|
|||
|
blr_arg : blr) IS
|
|||
|
BEGIN
|
|||
|
gds_compile_request2 (
|
|||
|
user_status'address,
|
|||
|
db_handle'address,
|
|||
|
req_handle'address,
|
|||
|
blr_length'address,
|
|||
|
blr_arg'address);
|
|||
|
END compile_request2;
|
|||
|
|
|||
|
|
|||
|
PROCEDURE create_blob (
|
|||
|
user_status : OUT status_vector;
|
|||
|
db_handle : database_handle;
|
|||
|
trans_handle : transaction_handle;
|
|||
|
blb_handle : IN OUT blob_handle;
|
|||
|
blob_id : OUT quad) IS
|
|||
|
BEGIN
|
|||
|
gds_create_blob (
|
|||
|
user_status'address,
|
|||
|
db_handle'address,
|
|||
|
trans_handle'address,
|
|||
|
blb_handle'address,
|
|||
|
blob_id'address);
|
|||
|
END create_blob;
|
|||
|
|
|||
|
PROCEDURE create_blob2 (
|
|||
|
user_status : OUT status_vector;
|
|||
|
db_handle : database_handle;
|
|||
|
trans_handle : transaction_handle;
|
|||
|
blb_handle : IN OUT blob_handle;
|
|||
|
blob_id : OUT quad;
|
|||
|
bpb_length : integer;
|
|||
|
bpb : blr) IS
|
|||
|
BEGIN
|
|||
|
gds_create_blob2 (
|
|||
|
user_status'address,
|
|||
|
db_handle'address,
|
|||
|
trans_handle'address,
|
|||
|
blb_handle'address,
|
|||
|
blob_id'address,
|
|||
|
bpb_length'address,
|
|||
|
bpb'address);
|
|||
|
END create_blob2;
|
|||
|
|
|||
|
PROCEDURE create_database (
|
|||
|
user_status : OUT status_vector;
|
|||
|
file_length : integer;
|
|||
|
file_name : string;
|
|||
|
db_handle : IN OUT database_handle;
|
|||
|
dpb_length : integer;
|
|||
|
dpb_arg : dpb;
|
|||
|
db_type : integer) IS
|
|||
|
BEGIN
|
|||
|
gds_create_database (
|
|||
|
user_status'address,
|
|||
|
file_length'address,
|
|||
|
file_name'address,
|
|||
|
db_handle'address,
|
|||
|
dpb_length'address,
|
|||
|
dpb_arg'address,
|
|||
|
db_type'address);
|
|||
|
END create_database;
|
|||
|
|
|||
|
PROCEDURE ddl (
|
|||
|
user_status : OUT status_vector;
|
|||
|
db_handle : database_handle;
|
|||
|
trans_handle : transaction_handle;
|
|||
|
msg_length : integer;
|
|||
|
msg : SYSTEM.ADDRESS) IS
|
|||
|
BEGIN
|
|||
|
gds_ddl (
|
|||
|
user_status'address,
|
|||
|
db_handle'address,
|
|||
|
trans_handle'address,
|
|||
|
msg_length'address,
|
|||
|
msg);
|
|||
|
END ddl;
|
|||
|
|
|||
|
PROCEDURE decode_date (
|
|||
|
date : quad;
|
|||
|
times : IN OUT gds_tm) IS
|
|||
|
BEGIN
|
|||
|
gds_decode_date (
|
|||
|
date'address,
|
|||
|
times'address);
|
|||
|
END decode_date;
|
|||
|
|
|||
|
|
|||
|
PROCEDURE detach_database (
|
|||
|
user_status : OUT status_vector;
|
|||
|
db_handle : IN OUT database_handle) IS
|
|||
|
BEGIN
|
|||
|
gds_detach_database (
|
|||
|
user_status'address,
|
|||
|
db_handle'address);
|
|||
|
END detach_database;
|
|||
|
|
|||
|
PROCEDURE encode_date (
|
|||
|
times : IN OUT gds_tm;
|
|||
|
date : quad) IS
|
|||
|
BEGIN
|
|||
|
gds_encode_date (
|
|||
|
times'address,
|
|||
|
date'address);
|
|||
|
END encode_date;
|
|||
|
|
|||
|
|
|||
|
PROCEDURE event_wait (
|
|||
|
user_status : OUT status_vector;
|
|||
|
db_handle : database_handle;
|
|||
|
length : integer;
|
|||
|
events : string;
|
|||
|
buffer : string) IS
|
|||
|
BEGIN
|
|||
|
gds_event_wait (
|
|||
|
user_status'address,
|
|||
|
db_handle'address,
|
|||
|
length'address,
|
|||
|
events'address,
|
|||
|
buffer'address);
|
|||
|
END event_wait;
|
|||
|
|
|||
|
PROCEDURE get_segment (
|
|||
|
user_status : OUT status_vector;
|
|||
|
blb_handle : blob_handle;
|
|||
|
actual_length : OUT integer;
|
|||
|
buffer_length : integer;
|
|||
|
buffer : string) IS
|
|||
|
BEGIN
|
|||
|
gds_get_segment (
|
|||
|
user_status'address,
|
|||
|
blb_handle'address,
|
|||
|
actual_length'address,
|
|||
|
buffer_length'address,
|
|||
|
buffer'address);
|
|||
|
END get_segment;
|
|||
|
|
|||
|
PROCEDURE get_slice (
|
|||
|
user_status : OUT status_vector;
|
|||
|
db_handle : database_handle;
|
|||
|
trans_handle : transaction_handle;
|
|||
|
blob_id : quad;
|
|||
|
sdl_length : integer;
|
|||
|
sdl : blr;
|
|||
|
param_length : integer;
|
|||
|
param : string;
|
|||
|
slice_length : long_integer;
|
|||
|
slice : SYSTEM.ADDRESS;
|
|||
|
return_length : OUT long_integer) IS
|
|||
|
BEGIN
|
|||
|
gds_get_slice (
|
|||
|
user_status'address,
|
|||
|
db_handle'address,
|
|||
|
trans_handle'address,
|
|||
|
blob_id'address,
|
|||
|
sdl_length'address,
|
|||
|
sdl'address,
|
|||
|
param_length'address,
|
|||
|
param'address,
|
|||
|
slice_length'address,
|
|||
|
slice,
|
|||
|
return_length'address);
|
|||
|
END get_slice;
|
|||
|
|
|||
|
PROCEDURE open_blob (
|
|||
|
user_status : OUT status_vector;
|
|||
|
db_handle : database_handle;
|
|||
|
trans_handle : transaction_handle;
|
|||
|
blb_handle : IN OUT blob_handle;
|
|||
|
blob_id : quad) IS
|
|||
|
BEGIN
|
|||
|
gds_open_blob (
|
|||
|
user_status'address,
|
|||
|
db_handle'address,
|
|||
|
trans_handle'address,
|
|||
|
blb_handle'address,
|
|||
|
blob_id'address);
|
|||
|
END open_blob;
|
|||
|
|
|||
|
PROCEDURE open_blob2 (
|
|||
|
user_status : OUT status_vector;
|
|||
|
db_handle : database_handle;
|
|||
|
trans_handle : transaction_handle;
|
|||
|
blb_handle : IN OUT blob_handle;
|
|||
|
blob_id : quad;
|
|||
|
bpb_length : integer;
|
|||
|
bpb : blr) IS
|
|||
|
BEGIN
|
|||
|
gds_open_blob2 (
|
|||
|
user_status'address,
|
|||
|
db_handle'address,
|
|||
|
trans_handle'address,
|
|||
|
blb_handle'address,
|
|||
|
blob_id'address,
|
|||
|
bpb_length'address,
|
|||
|
bpb'address);
|
|||
|
END open_blob2;
|
|||
|
|
|||
|
PROCEDURE prepare_transaction (
|
|||
|
user_status : OUT status_vector;
|
|||
|
trans_handle : IN OUT transaction_handle) IS
|
|||
|
BEGIN
|
|||
|
gds_prepare_transaction (
|
|||
|
user_status'address,
|
|||
|
trans_handle'address);
|
|||
|
END prepare_transaction;
|
|||
|
|
|||
|
PROCEDURE prepare_transaction2 (
|
|||
|
user_status : OUT status_vector;
|
|||
|
trans_handle : IN OUT transaction_handle;
|
|||
|
msg_length : integer;
|
|||
|
msg : blr) IS
|
|||
|
BEGIN
|
|||
|
gds_prepare_transaction2 (
|
|||
|
user_status'address,
|
|||
|
trans_handle'address,
|
|||
|
msg_length'address,
|
|||
|
msg'address);
|
|||
|
END prepare_transaction2;
|
|||
|
|
|||
|
PROCEDURE put_segment (
|
|||
|
user_status : OUT status_vector;
|
|||
|
blb_handle : blob_handle;
|
|||
|
length : integer;
|
|||
|
buffer : string) IS
|
|||
|
BEGIN
|
|||
|
gds_put_segment (
|
|||
|
user_status'address,
|
|||
|
blb_handle'address,
|
|||
|
length'address,
|
|||
|
buffer'address);
|
|||
|
END put_segment;
|
|||
|
|
|||
|
PROCEDURE put_slice (
|
|||
|
user_status : OUT status_vector;
|
|||
|
db_handle : database_handle;
|
|||
|
trans_handle : transaction_handle;
|
|||
|
blob_id : IN OUT quad;
|
|||
|
sdl_length : integer;
|
|||
|
sdl : blr;
|
|||
|
param_length : integer;
|
|||
|
param : string;
|
|||
|
slice_length : long_integer;
|
|||
|
slice : SYSTEM.ADDRESS) IS
|
|||
|
BEGIN
|
|||
|
gds_put_slice (
|
|||
|
user_status'address,
|
|||
|
db_handle'address,
|
|||
|
trans_handle'address,
|
|||
|
blob_id'address,
|
|||
|
sdl_length'address,
|
|||
|
sdl'address,
|
|||
|
param_length'address,
|
|||
|
param'address,
|
|||
|
slice_length'address,
|
|||
|
slice);
|
|||
|
END put_slice;
|
|||
|
|
|||
|
PROCEDURE queue_events (
|
|||
|
user_status : OUT status_vector;
|
|||
|
db_handle : database_handle;
|
|||
|
id : quad;
|
|||
|
length : integer;
|
|||
|
events : string;
|
|||
|
ast : long_integer;
|
|||
|
arg : quad) IS
|
|||
|
BEGIN
|
|||
|
gds_queue_events (
|
|||
|
user_status'address,
|
|||
|
db_handle'address,
|
|||
|
id'address,
|
|||
|
length'address,
|
|||
|
events'address,
|
|||
|
ast'address,
|
|||
|
arg'address);
|
|||
|
END queue_events;
|
|||
|
|
|||
|
PROCEDURE receive (
|
|||
|
user_status : OUT status_vector;
|
|||
|
req_handle : request_handle;
|
|||
|
msg_type : integer;
|
|||
|
msg_length : integer;
|
|||
|
msg : SYSTEM.ADDRESS;
|
|||
|
level : integer) IS
|
|||
|
BEGIN
|
|||
|
gds_receive (
|
|||
|
user_status'address,
|
|||
|
req_handle'address,
|
|||
|
msg_type'address,
|
|||
|
msg_length'address,
|
|||
|
msg,
|
|||
|
level'address);
|
|||
|
END receive;
|
|||
|
|
|||
|
PROCEDURE rollback_transaction (
|
|||
|
user_status : OUT status_vector;
|
|||
|
trans_handle : IN OUT transaction_handle) IS
|
|||
|
BEGIN
|
|||
|
gds_rollback_transaction (
|
|||
|
user_status'address,
|
|||
|
trans_handle'address);
|
|||
|
END rollback_transaction;
|
|||
|
|
|||
|
|
|||
|
PROCEDURE send (
|
|||
|
user_status : OUT status_vector;
|
|||
|
req_handle : request_handle;
|
|||
|
msg_type : integer;
|
|||
|
msg_length : integer;
|
|||
|
msg : SYSTEM.ADDRESS;
|
|||
|
level : integer) IS
|
|||
|
BEGIN
|
|||
|
gds_send (
|
|||
|
user_status'address,
|
|||
|
req_handle'address,
|
|||
|
msg_type'address,
|
|||
|
msg_length'address,
|
|||
|
msg,
|
|||
|
level'address);
|
|||
|
END send;
|
|||
|
|
|||
|
PROCEDURE set_debug (
|
|||
|
debug_val : long_integer) IS
|
|||
|
BEGIN
|
|||
|
gds_set_debug (
|
|||
|
debug_val'address);
|
|||
|
END set_debug;
|
|||
|
|
|||
|
PROCEDURE start_request (
|
|||
|
user_status : OUT status_vector;
|
|||
|
req_handle : request_handle;
|
|||
|
trans_handle : transaction_handle;
|
|||
|
level : integer) IS
|
|||
|
BEGIN
|
|||
|
gds_start_request (
|
|||
|
user_status'address,
|
|||
|
req_handle'address,
|
|||
|
trans_handle'address,
|
|||
|
level'address);
|
|||
|
END start_request;
|
|||
|
|
|||
|
|
|||
|
PROCEDURE start_and_send (
|
|||
|
user_status : OUT status_vector;
|
|||
|
req_handle : request_handle;
|
|||
|
trans_handle : transaction_handle;
|
|||
|
msg_type : integer;
|
|||
|
msg_length : integer;
|
|||
|
msg : SYSTEM.ADDRESS;
|
|||
|
level : integer) IS
|
|||
|
BEGIN
|
|||
|
gds_start_and_send (
|
|||
|
user_status'address,
|
|||
|
req_handle'address,
|
|||
|
trans_handle'address,
|
|||
|
msg_type'address,
|
|||
|
msg_length'address,
|
|||
|
msg,
|
|||
|
level'address);
|
|||
|
END start_and_send;
|
|||
|
|
|||
|
PROCEDURE start_multiple (
|
|||
|
user_status : OUT status_vector;
|
|||
|
trans_handle : IN OUT transaction_handle;
|
|||
|
count : integer;
|
|||
|
teb : SYSTEM.ADDRESS) IS
|
|||
|
BEGIN
|
|||
|
gds_start_multiple (
|
|||
|
user_status'address,
|
|||
|
trans_handle'address,
|
|||
|
count'address,
|
|||
|
teb);
|
|||
|
END start_multiple;
|
|||
|
|
|||
|
|
|||
|
PROCEDURE start_transaction (
|
|||
|
user_status : OUT status_vector;
|
|||
|
trans_handle : IN OUT transaction_handle;
|
|||
|
count : integer;
|
|||
|
db_handle : database_handle;
|
|||
|
tpb_length : integer;
|
|||
|
tpb_arg : tpb) IS
|
|||
|
BEGIN
|
|||
|
gds_start_transaction (
|
|||
|
user_status'address,
|
|||
|
trans_handle'address,
|
|||
|
count'address,
|
|||
|
db_handle'address,
|
|||
|
tpb_length'address,
|
|||
|
tpb_arg'address);
|
|||
|
END start_transaction;
|
|||
|
|
|||
|
|
|||
|
PROCEDURE unwind_request (
|
|||
|
user_status : OUT status_vector;
|
|||
|
req_handle : request_handle;
|
|||
|
level : integer) IS
|
|||
|
BEGIN
|
|||
|
gds_unwind_request (
|
|||
|
user_status'address,
|
|||
|
req_handle'address,
|
|||
|
level'address);
|
|||
|
END unwind_request;
|
|||
|
|
|||
|
|
|||
|
PROCEDURE print_status (
|
|||
|
user_status : status_vector) IS
|
|||
|
BEGIN
|
|||
|
gds_print_status (
|
|||
|
user_status'address);
|
|||
|
END print_status;
|
|||
|
|
|||
|
|
|||
|
PROCEDURE print_version (
|
|||
|
db_handle: interbase.database_handle) IS
|
|||
|
|
|||
|
ptr : long_integer := 0;
|
|||
|
BEGIN
|
|||
|
gds_version (
|
|||
|
db_handle'address,
|
|||
|
0,
|
|||
|
ptr'address);
|
|||
|
END print_version;
|
|||
|
|
|||
|
FUNCTION sqlcode (
|
|||
|
user_status : status_vector) RETURN long_integer IS
|
|||
|
BEGIN
|
|||
|
return gds_sqlcode (user_status'address);
|
|||
|
end sqlcode;
|
|||
|
|
|||
|
--- Dynamic SQL procedures
|
|||
|
|
|||
|
PROCEDURE dsql_close (
|
|||
|
user_status : OUT status_vector;
|
|||
|
cursor_name : string) IS
|
|||
|
BEGIN
|
|||
|
gds_close (
|
|||
|
user_status'address,
|
|||
|
cursor_name'address);
|
|||
|
END dsql_close;
|
|||
|
|
|||
|
PROCEDURE dsql_declare (
|
|||
|
user_status : OUT status_vector;
|
|||
|
statement_name : string;
|
|||
|
cursor_name : string) IS
|
|||
|
BEGIN
|
|||
|
gds_declare (
|
|||
|
user_status'address,
|
|||
|
statement_name'address,
|
|||
|
cursor_name'address);
|
|||
|
END dsql_declare;
|
|||
|
|
|||
|
PROCEDURE dsql_describe (
|
|||
|
user_status : OUT status_vector;
|
|||
|
statement_name : string;
|
|||
|
descriptor : SYSTEM.ADDRESS) IS
|
|||
|
BEGIN
|
|||
|
gds_describe (
|
|||
|
user_status'address,
|
|||
|
statement_name'address,
|
|||
|
descriptor);
|
|||
|
END dsql_describe;
|
|||
|
|
|||
|
PROCEDURE dsql_finish (
|
|||
|
db_handle : database_handle) IS
|
|||
|
BEGIN
|
|||
|
gds_dsql_finish (
|
|||
|
db_handle'address);
|
|||
|
END dsql_finish;
|
|||
|
|
|||
|
PROCEDURE dsql_execute (
|
|||
|
user_status : OUT status_vector;
|
|||
|
trans_handle : transaction_handle;
|
|||
|
statement_name : string;
|
|||
|
descriptor : SYSTEM.ADDRESS) IS
|
|||
|
BEGIN
|
|||
|
gds_execute (
|
|||
|
user_status'address,
|
|||
|
trans_handle'address,
|
|||
|
statement_name'address,
|
|||
|
descriptor);
|
|||
|
END dsql_execute;
|
|||
|
|
|||
|
PROCEDURE dsql_execute (
|
|||
|
user_status : OUT status_vector;
|
|||
|
trans_handle : transaction_handle;
|
|||
|
statement_name : string) IS
|
|||
|
BEGIN
|
|||
|
gds_execute (
|
|||
|
user_status'address,
|
|||
|
trans_handle'address,
|
|||
|
statement_name'address,
|
|||
|
null_blob'address);
|
|||
|
END dsql_execute;
|
|||
|
|
|||
|
PROCEDURE dsql_execute_immediate (
|
|||
|
user_status : OUT status_vector;
|
|||
|
db_handle : database_handle;
|
|||
|
trans_handle : transaction_handle;
|
|||
|
command_length : integer;
|
|||
|
command : string) IS
|
|||
|
BEGIN
|
|||
|
gds_execute_immediate (
|
|||
|
user_status'address,
|
|||
|
db_handle'address,
|
|||
|
trans_handle'address,
|
|||
|
command_length'address,
|
|||
|
command'address);
|
|||
|
END dsql_execute_immediate;
|
|||
|
|
|||
|
PROCEDURE dsql_fetch (
|
|||
|
user_status : OUT status_vector;
|
|||
|
sqlcode : OUT long_integer;
|
|||
|
cursor_name : string;
|
|||
|
descriptor : SYSTEM.ADDRESS) IS
|
|||
|
BEGIN
|
|||
|
gds_fetch (
|
|||
|
user_status'address,
|
|||
|
sqlcode'address,
|
|||
|
cursor_name'address,
|
|||
|
descriptor);
|
|||
|
END dsql_fetch;
|
|||
|
|
|||
|
PROCEDURE dsql_fetch (
|
|||
|
user_status : OUT status_vector;
|
|||
|
sqlcode : OUT long_integer;
|
|||
|
cursor_name : string) IS
|
|||
|
BEGIN
|
|||
|
gds_fetch (
|
|||
|
user_status'address,
|
|||
|
sqlcode'address,
|
|||
|
cursor_name'address,
|
|||
|
null_blob'address);
|
|||
|
END dsql_fetch;
|
|||
|
|
|||
|
PROCEDURE dsql_open (
|
|||
|
user_status : OUT status_vector;
|
|||
|
trans_handle : transaction_handle;
|
|||
|
cursor_name : string;
|
|||
|
descriptor : SYSTEM.ADDRESS) IS
|
|||
|
BEGIN
|
|||
|
gds_open (
|
|||
|
user_status'address,
|
|||
|
trans_handle'address,
|
|||
|
cursor_name'address,
|
|||
|
descriptor);
|
|||
|
END dsql_open;
|
|||
|
|
|||
|
PROCEDURE dsql_open (
|
|||
|
user_status : OUT status_vector;
|
|||
|
trans_handle : transaction_handle;
|
|||
|
cursor_name : string) IS
|
|||
|
BEGIN
|
|||
|
gds_open (
|
|||
|
user_status'address,
|
|||
|
trans_handle'address,
|
|||
|
cursor_name'address,
|
|||
|
null_blob'address);
|
|||
|
END dsql_open;
|
|||
|
|
|||
|
PROCEDURE dsql_prepare (
|
|||
|
user_status : OUT status_vector;
|
|||
|
db_handle : database_handle;
|
|||
|
trans_handle : transaction_handle;
|
|||
|
statement_name : string;
|
|||
|
command_length : integer;
|
|||
|
command : string;
|
|||
|
descriptor : SYSTEM.ADDRESS) IS
|
|||
|
BEGIN
|
|||
|
gds_prepare (
|
|||
|
user_status'address,
|
|||
|
db_handle'address,
|
|||
|
trans_handle'address,
|
|||
|
statement_name'address,
|
|||
|
command_length'address,
|
|||
|
command'address,
|
|||
|
descriptor);
|
|||
|
END dsql_prepare;
|
|||
|
|
|||
|
PROCEDURE dsql_prepare (
|
|||
|
user_status : OUT status_vector;
|
|||
|
db_handle : database_handle;
|
|||
|
trans_handle : transaction_handle;
|
|||
|
statement_name : string;
|
|||
|
command_length : integer;
|
|||
|
command : string) IS
|
|||
|
BEGIN
|
|||
|
gds_prepare (
|
|||
|
user_status'address,
|
|||
|
db_handle'address,
|
|||
|
trans_handle'address,
|
|||
|
statement_name'address,
|
|||
|
command_length'address,
|
|||
|
command'address,
|
|||
|
null_blob'address);
|
|||
|
END dsql_prepare;
|
|||
|
|
|||
|
--- PYXIS procedures
|
|||
|
|
|||
|
PROCEDURE compile_map (
|
|||
|
user_status : OUT status_vector;
|
|||
|
frm_handle : form_handle;
|
|||
|
mp_handle : OUT map_handle;
|
|||
|
map_length : integer;
|
|||
|
map : blr) IS
|
|||
|
BEGIN
|
|||
|
pyxis_compile_map (
|
|||
|
user_status'address,
|
|||
|
frm_handle'address,
|
|||
|
mp_handle'address,
|
|||
|
map_length'address,
|
|||
|
map'address);
|
|||
|
END compile_map;
|
|||
|
|
|||
|
PROCEDURE compile_sub_map (
|
|||
|
user_status : OUT status_vector;
|
|||
|
frm_handle : form_handle;
|
|||
|
mp_handle : OUT map_handle;
|
|||
|
map_length : integer;
|
|||
|
map : blr) IS
|
|||
|
BEGIN
|
|||
|
pyxis_compile_sub_map (
|
|||
|
user_status'address,
|
|||
|
frm_handle'address,
|
|||
|
mp_handle'address,
|
|||
|
map_length'address,
|
|||
|
map'address);
|
|||
|
END compile_sub_map;
|
|||
|
|
|||
|
PROCEDURE create_window (
|
|||
|
win_handle : OUT window_handle;
|
|||
|
name_length : integer;
|
|||
|
file_name : string;
|
|||
|
width : IN OUT integer;
|
|||
|
height : IN OUT integer) IS
|
|||
|
BEGIN
|
|||
|
pyxis_create_window (
|
|||
|
win_handle'address,
|
|||
|
name_length'address,
|
|||
|
file_name'address,
|
|||
|
width'address,
|
|||
|
height'address);
|
|||
|
END create_window;
|
|||
|
|
|||
|
PROCEDURE delete_window (
|
|||
|
win_handle : IN OUT window_handle) IS
|
|||
|
BEGIN
|
|||
|
pyxis_delete_window (
|
|||
|
win_handle'address);
|
|||
|
END delete_window;
|
|||
|
|
|||
|
PROCEDURE drive_form (
|
|||
|
user_status : OUT status_vector;
|
|||
|
db_handle : database_handle;
|
|||
|
trans_handle : transaction_handle;
|
|||
|
win_handle : window_handle;
|
|||
|
mp_handle : map_handle;
|
|||
|
input : SYSTEM.ADDRESS;
|
|||
|
output : SYSTEM.ADDRESS) IS
|
|||
|
BEGIN
|
|||
|
pyxis_drive_form (
|
|||
|
user_status'address,
|
|||
|
db_handle'address,
|
|||
|
trans_handle'address,
|
|||
|
win_handle'address,
|
|||
|
mp_handle'address,
|
|||
|
input,
|
|||
|
output);
|
|||
|
END drive_form;
|
|||
|
|
|||
|
PROCEDURE fetch_sub_form (
|
|||
|
user_status : OUT status_vector;
|
|||
|
db_handle : database_handle;
|
|||
|
trans_handle : transaction_handle;
|
|||
|
mp_handle : map_handle;
|
|||
|
output : SYSTEM.ADDRESS) IS
|
|||
|
BEGIN
|
|||
|
pyxis_fetch (
|
|||
|
user_status'address,
|
|||
|
db_handle'address,
|
|||
|
trans_handle'address,
|
|||
|
mp_handle'address,
|
|||
|
output);
|
|||
|
END fetch_sub_form;
|
|||
|
|
|||
|
PROCEDURE insert_sub_form (
|
|||
|
user_status : OUT status_vector;
|
|||
|
db_handle : database_handle;
|
|||
|
trans_handle : transaction_handle;
|
|||
|
mp_handle : map_handle;
|
|||
|
input : SYSTEM.ADDRESS) IS
|
|||
|
BEGIN
|
|||
|
pyxis_insert (
|
|||
|
user_status'address,
|
|||
|
db_handle'address,
|
|||
|
trans_handle'address,
|
|||
|
mp_handle'address,
|
|||
|
input);
|
|||
|
END insert_sub_form;
|
|||
|
|
|||
|
PROCEDURE load_form (
|
|||
|
user_status : OUT status_vector;
|
|||
|
db_handle : database_handle;
|
|||
|
trans_handle : transaction_handle;
|
|||
|
frm_handle : IN OUT form_handle;
|
|||
|
name_length : integer;
|
|||
|
form_name : string) IS
|
|||
|
BEGIN
|
|||
|
pyxis_load_form (
|
|||
|
user_status'address,
|
|||
|
db_handle'address,
|
|||
|
trans_handle'address,
|
|||
|
frm_handle'address,
|
|||
|
name_length'address,
|
|||
|
form_name'address);
|
|||
|
END load_form;
|
|||
|
|
|||
|
FUNCTION menu (
|
|||
|
win_handle : window_handle;
|
|||
|
men_handle : menu_handle;
|
|||
|
menu_length : integer;
|
|||
|
menu : blr) RETURN integer IS
|
|||
|
BEGIN
|
|||
|
return pyxis_menu (
|
|||
|
win_handle'address,
|
|||
|
men_handle'address,
|
|||
|
menu_length'address,
|
|||
|
menu'address);
|
|||
|
END menu;
|
|||
|
|
|||
|
PROCEDURE pop_window (
|
|||
|
win_handle : window_handle) IS
|
|||
|
BEGIN
|
|||
|
pyxis_pop_window (
|
|||
|
win_handle'address);
|
|||
|
END pop_window;
|
|||
|
|
|||
|
PROCEDURE reset_form (
|
|||
|
user_status : OUT status_vector;
|
|||
|
win_handle : window_handle) IS
|
|||
|
BEGIN
|
|||
|
pyxis_reset_form (
|
|||
|
user_status'address,
|
|||
|
win_handle'address);
|
|||
|
END reset_form;
|
|||
|
|
|||
|
PROCEDURE drive_menu (
|
|||
|
win_handle : IN OUT window_handle;
|
|||
|
men_handle : IN OUT menu_handle;
|
|||
|
blr_length : integer;
|
|||
|
blr_source : blr;
|
|||
|
title_length : integer;
|
|||
|
title : string;
|
|||
|
terminator : OUT integer;
|
|||
|
entree_length : OUT integer;
|
|||
|
entree_text : OUT string;
|
|||
|
entree_value : OUT long_integer) IS
|
|||
|
BEGIN
|
|||
|
pyxis_drive_menu (
|
|||
|
win_handle'address,
|
|||
|
men_handle'address,
|
|||
|
blr_length'address,
|
|||
|
blr_source'address,
|
|||
|
title_length'address,
|
|||
|
title'address,
|
|||
|
terminator'address,
|
|||
|
entree_length'address,
|
|||
|
entree_text'address,
|
|||
|
entree_value'address);
|
|||
|
END drive_menu;
|
|||
|
|
|||
|
PROCEDURE get_entree (
|
|||
|
men_handle : menu_handle;
|
|||
|
entree_length : OUT integer;
|
|||
|
entree_text : OUT string;
|
|||
|
entree_value : OUT long_integer;
|
|||
|
entree_end : OUT integer) IS
|
|||
|
BEGIN
|
|||
|
pyxis_get_entree (
|
|||
|
men_handle'address,
|
|||
|
entree_length'address,
|
|||
|
entree_text'address,
|
|||
|
entree_value'address,
|
|||
|
entree_end'address);
|
|||
|
END get_entree;
|
|||
|
|
|||
|
PROCEDURE initialize_menu (
|
|||
|
men_handle : IN OUT menu_handle) IS
|
|||
|
BEGIN
|
|||
|
pyxis_initialize_menu (
|
|||
|
men_handle'address);
|
|||
|
END initialize_menu;
|
|||
|
|
|||
|
PROCEDURE put_entree (
|
|||
|
men_handle : menu_handle;
|
|||
|
entree_length : integer;
|
|||
|
entree_text : string;
|
|||
|
entree_value : long_integer) IS
|
|||
|
BEGIN
|
|||
|
pyxis_put_entree (
|
|||
|
men_handle'address,
|
|||
|
entree_length'address,
|
|||
|
entree_text'address,
|
|||
|
entree_value'address);
|
|||
|
END put_entree;
|
|||
|
|
|||
|
|
|||
|
---
|
|||
|
--- Internal routines
|
|||
|
---
|
|||
|
|
|||
|
PROCEDURE error (
|
|||
|
user_status : status_vector) IS
|
|||
|
BEGIN
|
|||
|
gds_print_status (user_status'address);
|
|||
|
RAISE database_error;
|
|||
|
END;
|
|||
|
|
|||
|
|
|||
|
---
|
|||
|
--- Routines sans explicit status vector
|
|||
|
---
|
|||
|
|
|||
|
PROCEDURE attach_database (
|
|||
|
file_length : integer;
|
|||
|
file_name : string;
|
|||
|
db_handle : IN OUT database_handle;
|
|||
|
dpb_length : integer;
|
|||
|
dpb_arg : dpb) IS
|
|||
|
|
|||
|
user_status : status_vector;
|
|||
|
BEGIN
|
|||
|
gds_attach_database (
|
|||
|
user_status'address,
|
|||
|
file_length'address,
|
|||
|
file_name'address,
|
|||
|
db_handle'address,
|
|||
|
dpb_length'address,
|
|||
|
dpb_arg'address);
|
|||
|
if user_status (1) /= 0 then error (user_status); end if;
|
|||
|
END attach_database;
|
|||
|
|
|||
|
PROCEDURE cancel_blob (
|
|||
|
blb_handle : IN OUT blob_handle) IS
|
|||
|
|
|||
|
user_status : status_vector;
|
|||
|
BEGIN
|
|||
|
gds_cancel_blob (
|
|||
|
user_status'address,
|
|||
|
blb_handle'address);
|
|||
|
if user_status (1) /= 0 then error (user_status); end if;
|
|||
|
END cancel_blob;
|
|||
|
|
|||
|
PROCEDURE cancel_events (
|
|||
|
blb_handle : IN OUT blob_handle) IS
|
|||
|
|
|||
|
user_status : status_vector;
|
|||
|
BEGIN
|
|||
|
gds_cancel_events (
|
|||
|
user_status'address,
|
|||
|
blb_handle'address);
|
|||
|
if user_status (1) /= 0 then error (user_status); end if;
|
|||
|
END cancel_events;
|
|||
|
|
|||
|
PROCEDURE close_blob (
|
|||
|
blb_handle : IN OUT blob_handle) IS
|
|||
|
|
|||
|
user_status : status_vector;
|
|||
|
BEGIN
|
|||
|
gds_close_blob (
|
|||
|
user_status'address,
|
|||
|
blb_handle'address);
|
|||
|
if user_status (1) /= 0 then error (user_status); end if;
|
|||
|
END close_blob;
|
|||
|
|
|||
|
PROCEDURE commit_retaining (
|
|||
|
trans_handle : IN OUT transaction_handle) IS
|
|||
|
|
|||
|
user_status : status_vector;
|
|||
|
BEGIN
|
|||
|
gds_commit_retaining (
|
|||
|
user_status'address,
|
|||
|
trans_handle'address);
|
|||
|
if user_status (1) /= 0 then error (user_status); end if;
|
|||
|
END commit_retaining;
|
|||
|
|
|||
|
PROCEDURE commit_transaction (
|
|||
|
trans_handle : IN OUT transaction_handle) IS
|
|||
|
|
|||
|
user_status : status_vector;
|
|||
|
BEGIN
|
|||
|
gds_commit_transaction (
|
|||
|
user_status'address,
|
|||
|
trans_handle'address);
|
|||
|
if user_status (1) /= 0 then error (user_status); end if;
|
|||
|
END commit_transaction;
|
|||
|
|
|||
|
|
|||
|
PROCEDURE compile_request (
|
|||
|
db_handle : database_handle;
|
|||
|
req_handle : IN OUT request_handle;
|
|||
|
blr_length : integer;
|
|||
|
blr_arg : blr) IS
|
|||
|
|
|||
|
user_status : status_vector;
|
|||
|
BEGIN
|
|||
|
gds_compile_request (
|
|||
|
user_status'address,
|
|||
|
db_handle'address,
|
|||
|
req_handle'address,
|
|||
|
blr_length'address,
|
|||
|
blr_arg'address);
|
|||
|
if user_status (1) /= 0 then error (user_status); end if;
|
|||
|
END compile_request;
|
|||
|
|
|||
|
|
|||
|
PROCEDURE compile_request2 (
|
|||
|
db_handle : database_handle;
|
|||
|
req_handle : IN OUT request_handle;
|
|||
|
blr_length : integer;
|
|||
|
blr_arg : blr) IS
|
|||
|
|
|||
|
user_status : status_vector;
|
|||
|
BEGIN
|
|||
|
gds_compile_request2 (
|
|||
|
user_status'address,
|
|||
|
db_handle'address,
|
|||
|
req_handle'address,
|
|||
|
blr_length'address,
|
|||
|
blr_arg'address);
|
|||
|
if user_status (1) /= 0 then error (user_status); end if;
|
|||
|
END compile_request2;
|
|||
|
|
|||
|
|
|||
|
PROCEDURE create_blob (
|
|||
|
db_handle : database_handle;
|
|||
|
trans_handle : transaction_handle;
|
|||
|
blb_handle : IN OUT blob_handle;
|
|||
|
blob_id : OUT quad) IS
|
|||
|
|
|||
|
user_status : status_vector;
|
|||
|
BEGIN
|
|||
|
gds_create_blob (
|
|||
|
user_status'address,
|
|||
|
db_handle'address,
|
|||
|
trans_handle'address,
|
|||
|
blb_handle'address,
|
|||
|
blob_id'address);
|
|||
|
if user_status (1) /= 0 then error (user_status); end if;
|
|||
|
END create_blob;
|
|||
|
|
|||
|
PROCEDURE create_blob2 (
|
|||
|
db_handle : database_handle;
|
|||
|
trans_handle : transaction_handle;
|
|||
|
blb_handle : IN OUT blob_handle;
|
|||
|
blob_id : OUT quad;
|
|||
|
bpb_length : integer;
|
|||
|
bpb : blr) IS
|
|||
|
|
|||
|
user_status : status_vector;
|
|||
|
BEGIN
|
|||
|
gds_create_blob2 (
|
|||
|
user_status'address,
|
|||
|
db_handle'address,
|
|||
|
trans_handle'address,
|
|||
|
blb_handle'address,
|
|||
|
blob_id'address,
|
|||
|
bpb_length'address,
|
|||
|
bpb'address);
|
|||
|
if user_status (1) /= 0 then error (user_status); end if;
|
|||
|
END create_blob2;
|
|||
|
|
|||
|
PROCEDURE create_database (
|
|||
|
file_length : integer;
|
|||
|
file_name : string;
|
|||
|
db_handle : IN OUT database_handle;
|
|||
|
dpb_length : integer;
|
|||
|
dpb_arg : dpb;
|
|||
|
db_type : integer) IS
|
|||
|
|
|||
|
user_status : status_vector;
|
|||
|
BEGIN
|
|||
|
gds_create_database (
|
|||
|
user_status'address,
|
|||
|
file_length'address,
|
|||
|
file_name'address,
|
|||
|
db_handle'address,
|
|||
|
dpb_length'address,
|
|||
|
dpb_arg'address,
|
|||
|
db_type'address);
|
|||
|
if user_status (1) /= 0 then error (user_status); end if;
|
|||
|
END create_database;
|
|||
|
|
|||
|
PROCEDURE ddl (
|
|||
|
db_handle : database_handle;
|
|||
|
trans_handle : transaction_handle;
|
|||
|
msg_length : integer;
|
|||
|
msg : SYSTEM.ADDRESS) IS
|
|||
|
|
|||
|
user_status : status_vector;
|
|||
|
BEGIN
|
|||
|
gds_ddl (
|
|||
|
user_status'address,
|
|||
|
db_handle'address,
|
|||
|
trans_handle'address,
|
|||
|
msg_length'address,
|
|||
|
msg);
|
|||
|
if user_status (1) /= 0 then error (user_status); end if;
|
|||
|
END ddl;
|
|||
|
|
|||
|
PROCEDURE detach_database (
|
|||
|
db_handle : IN OUT database_handle) IS
|
|||
|
|
|||
|
user_status : status_vector;
|
|||
|
BEGIN
|
|||
|
gds_detach_database (
|
|||
|
user_status'address,
|
|||
|
db_handle'address);
|
|||
|
if user_status (1) /= 0 then error (user_status); end if;
|
|||
|
END detach_database;
|
|||
|
|
|||
|
|
|||
|
PROCEDURE event_wait (
|
|||
|
db_handle : database_handle;
|
|||
|
length : integer;
|
|||
|
events : string;
|
|||
|
buffer : string) IS
|
|||
|
|
|||
|
user_status : status_vector;
|
|||
|
BEGIN
|
|||
|
gds_event_wait (
|
|||
|
user_status'address,
|
|||
|
db_handle'address,
|
|||
|
length'address,
|
|||
|
events'address,
|
|||
|
buffer'address);
|
|||
|
END event_wait;
|
|||
|
|
|||
|
PROCEDURE get_segment (
|
|||
|
completion_code : OUT long_integer;
|
|||
|
blb_handle : blob_handle;
|
|||
|
actual_length : OUT integer;
|
|||
|
buffer_length : integer;
|
|||
|
buffer : string) IS
|
|||
|
|
|||
|
user_status : status_vector;
|
|||
|
BEGIN
|
|||
|
gds_get_segment (
|
|||
|
user_status'address,
|
|||
|
blb_handle'address,
|
|||
|
actual_length'address,
|
|||
|
buffer_length'address,
|
|||
|
buffer'address);
|
|||
|
if user_status (1) /= 0 and user_status (1) /= gds_segment and
|
|||
|
user_status (1) /= gds_segstr_eof then
|
|||
|
error (user_status);
|
|||
|
end if;
|
|||
|
completion_code := user_status(1);
|
|||
|
END get_segment;
|
|||
|
|
|||
|
PROCEDURE get_slice (
|
|||
|
db_handle : database_handle;
|
|||
|
trans_handle : transaction_handle;
|
|||
|
blob_id : quad;
|
|||
|
sdl_length : integer;
|
|||
|
sdl : blr;
|
|||
|
param_length : integer;
|
|||
|
param : string;
|
|||
|
slice_length : long_integer;
|
|||
|
slice : SYSTEM.ADDRESS;
|
|||
|
return_length : OUT long_integer) IS
|
|||
|
|
|||
|
user_status : status_vector;
|
|||
|
BEGIN
|
|||
|
gds_get_slice (
|
|||
|
user_status'address,
|
|||
|
db_handle'address,
|
|||
|
trans_handle'address,
|
|||
|
blob_id'address,
|
|||
|
sdl_length'address,
|
|||
|
sdl'address,
|
|||
|
param_length'address,
|
|||
|
param'address,
|
|||
|
slice_length'address,
|
|||
|
slice,
|
|||
|
return_length'address);
|
|||
|
END get_slice;
|
|||
|
|
|||
|
|
|||
|
PROCEDURE open_blob (
|
|||
|
db_handle : database_handle;
|
|||
|
trans_handle : transaction_handle;
|
|||
|
blb_handle : IN OUT blob_handle;
|
|||
|
blob_id : quad) IS
|
|||
|
|
|||
|
user_status : status_vector;
|
|||
|
BEGIN
|
|||
|
gds_open_blob (
|
|||
|
user_status'address,
|
|||
|
db_handle'address,
|
|||
|
trans_handle'address,
|
|||
|
blb_handle'address,
|
|||
|
blob_id'address);
|
|||
|
if user_status (1) /= 0 then error (user_status); end if;
|
|||
|
END open_blob;
|
|||
|
|
|||
|
PROCEDURE open_blob2 (
|
|||
|
db_handle : database_handle;
|
|||
|
trans_handle : transaction_handle;
|
|||
|
blb_handle : IN OUT blob_handle;
|
|||
|
blob_id : quad;
|
|||
|
bpb_length : integer;
|
|||
|
bpb : blr) IS
|
|||
|
|
|||
|
user_status : status_vector;
|
|||
|
BEGIN
|
|||
|
gds_open_blob2 (
|
|||
|
user_status'address,
|
|||
|
db_handle'address,
|
|||
|
trans_handle'address,
|
|||
|
blb_handle'address,
|
|||
|
blob_id'address,
|
|||
|
bpb_length'address,
|
|||
|
bpb'address);
|
|||
|
if user_status (1) /= 0 then error (user_status); end if;
|
|||
|
END open_blob2;
|
|||
|
|
|||
|
PROCEDURE prepare_transaction (
|
|||
|
trans_handle : IN OUT transaction_handle) IS
|
|||
|
|
|||
|
user_status : status_vector;
|
|||
|
BEGIN
|
|||
|
gds_prepare_transaction (
|
|||
|
user_status'address,
|
|||
|
trans_handle'address);
|
|||
|
if user_status (1) /= 0 then error (user_status); end if;
|
|||
|
END prepare_transaction;
|
|||
|
|
|||
|
PROCEDURE prepare_transaction2 (
|
|||
|
trans_handle : IN OUT transaction_handle;
|
|||
|
msg_length : integer;
|
|||
|
msg : blr) IS
|
|||
|
|
|||
|
user_status : status_vector;
|
|||
|
BEGIN
|
|||
|
gds_prepare_transaction2 (
|
|||
|
user_status'address,
|
|||
|
trans_handle'address,
|
|||
|
msg_length'address,
|
|||
|
msg'address);
|
|||
|
END prepare_transaction2;
|
|||
|
|
|||
|
PROCEDURE put_segment (
|
|||
|
blb_handle : blob_handle;
|
|||
|
length : integer;
|
|||
|
buffer : string) IS
|
|||
|
|
|||
|
user_status : status_vector;
|
|||
|
BEGIN
|
|||
|
gds_put_segment (
|
|||
|
user_status'address,
|
|||
|
blb_handle'address,
|
|||
|
length'address,
|
|||
|
buffer'address);
|
|||
|
if user_status (1) /= 0 then error (user_status); end if;
|
|||
|
END put_segment;
|
|||
|
|
|||
|
PROCEDURE put_slice (
|
|||
|
db_handle : database_handle;
|
|||
|
trans_handle : transaction_handle;
|
|||
|
blob_id : IN OUT quad;
|
|||
|
sdl_length : integer;
|
|||
|
sdl : blr;
|
|||
|
param_length : integer;
|
|||
|
param : string;
|
|||
|
slice_length : long_integer;
|
|||
|
slice : SYSTEM.ADDRESS) IS
|
|||
|
|
|||
|
user_status : status_vector;
|
|||
|
BEGIN
|
|||
|
gds_put_slice (
|
|||
|
user_status'address,
|
|||
|
db_handle'address,
|
|||
|
trans_handle'address,
|
|||
|
blob_id'address,
|
|||
|
sdl_length'address,
|
|||
|
sdl'address,
|
|||
|
param_length'address,
|
|||
|
param'address,
|
|||
|
slice_length'address,
|
|||
|
slice);
|
|||
|
END put_slice;
|
|||
|
|
|||
|
PROCEDURE queue_events (
|
|||
|
db_handle : database_handle;
|
|||
|
id : quad;
|
|||
|
length : integer;
|
|||
|
events : string;
|
|||
|
ast : long_integer;
|
|||
|
arg : quad) IS
|
|||
|
|
|||
|
user_status : status_vector;
|
|||
|
BEGIN
|
|||
|
gds_queue_events (
|
|||
|
user_status'address,
|
|||
|
db_handle'address,
|
|||
|
id'address,
|
|||
|
length'address,
|
|||
|
events'address,
|
|||
|
ast'address,
|
|||
|
arg'address);
|
|||
|
END queue_events;
|
|||
|
|
|||
|
PROCEDURE receive (
|
|||
|
req_handle : request_handle;
|
|||
|
msg_type : integer;
|
|||
|
msg_length : integer;
|
|||
|
msg : SYSTEM.ADDRESS;
|
|||
|
level : integer) IS
|
|||
|
|
|||
|
user_status : status_vector;
|
|||
|
BEGIN
|
|||
|
gds_receive (
|
|||
|
user_status'address,
|
|||
|
req_handle'address,
|
|||
|
msg_type'address,
|
|||
|
msg_length'address,
|
|||
|
msg,
|
|||
|
level'address);
|
|||
|
if user_status (1) /= 0 then error (user_status); end if;
|
|||
|
END receive;
|
|||
|
|
|||
|
PROCEDURE rollback_transaction (
|
|||
|
trans_handle : IN OUT transaction_handle) IS
|
|||
|
|
|||
|
user_status : status_vector;
|
|||
|
BEGIN
|
|||
|
gds_rollback_transaction (
|
|||
|
user_status'address,
|
|||
|
trans_handle'address);
|
|||
|
if user_status (1) /= 0 then error (user_status); end if;
|
|||
|
END rollback_transaction;
|
|||
|
|
|||
|
|
|||
|
PROCEDURE send (
|
|||
|
req_handle : request_handle;
|
|||
|
msg_type : integer;
|
|||
|
msg_length : integer;
|
|||
|
msg : SYSTEM.ADDRESS;
|
|||
|
level : integer) IS
|
|||
|
|
|||
|
user_status : status_vector;
|
|||
|
BEGIN
|
|||
|
gds_send (
|
|||
|
user_status'address,
|
|||
|
req_handle'address,
|
|||
|
msg_type'address,
|
|||
|
msg_length'address,
|
|||
|
msg,
|
|||
|
level'address);
|
|||
|
if user_status (1) /= 0 then error (user_status); end if;
|
|||
|
END send;
|
|||
|
|
|||
|
PROCEDURE start_request (
|
|||
|
req_handle : request_handle;
|
|||
|
trans_handle : transaction_handle;
|
|||
|
level : integer) IS
|
|||
|
|
|||
|
user_status : status_vector;
|
|||
|
BEGIN
|
|||
|
gds_start_request (
|
|||
|
user_status'address,
|
|||
|
req_handle'address,
|
|||
|
trans_handle'address,
|
|||
|
level'address);
|
|||
|
if user_status (1) /= 0 then error (user_status); end if;
|
|||
|
END start_request;
|
|||
|
|
|||
|
|
|||
|
PROCEDURE start_and_send (
|
|||
|
req_handle : request_handle;
|
|||
|
trans_handle : transaction_handle;
|
|||
|
msg_type : integer;
|
|||
|
msg_length : integer;
|
|||
|
msg : SYSTEM.ADDRESS;
|
|||
|
level : integer) IS
|
|||
|
|
|||
|
user_status : status_vector;
|
|||
|
BEGIN
|
|||
|
gds_start_and_send (
|
|||
|
user_status'address,
|
|||
|
req_handle'address,
|
|||
|
trans_handle'address,
|
|||
|
msg_type'address,
|
|||
|
msg_length'address,
|
|||
|
msg,
|
|||
|
level'address);
|
|||
|
if user_status (1) /= 0 then error (user_status); end if;
|
|||
|
END start_and_send;
|
|||
|
|
|||
|
PROCEDURE start_multiple (
|
|||
|
trans_handle : IN OUT transaction_handle;
|
|||
|
count : integer;
|
|||
|
teb : SYSTEM.ADDRESS) IS
|
|||
|
|
|||
|
user_status : status_vector;
|
|||
|
BEGIN
|
|||
|
gds_start_multiple (
|
|||
|
user_status'address,
|
|||
|
trans_handle'address,
|
|||
|
count'address,
|
|||
|
teb);
|
|||
|
if user_status (1) /= 0 then error (user_status); end if;
|
|||
|
END start_multiple;
|
|||
|
|
|||
|
|
|||
|
PROCEDURE start_transaction (
|
|||
|
trans_handle : IN OUT transaction_handle;
|
|||
|
count : integer;
|
|||
|
db_handle : database_handle;
|
|||
|
tpb_length : integer;
|
|||
|
tpb_arg : tpb) IS
|
|||
|
|
|||
|
user_status : status_vector;
|
|||
|
BEGIN
|
|||
|
gds_start_transaction (
|
|||
|
user_status'address,
|
|||
|
trans_handle'address,
|
|||
|
count'address,
|
|||
|
db_handle'address,
|
|||
|
tpb_length'address,
|
|||
|
tpb_arg'address);
|
|||
|
if user_status (1) /= 0 then error (user_status); end if;
|
|||
|
END start_transaction;
|
|||
|
|
|||
|
|
|||
|
PROCEDURE unwind_request (
|
|||
|
req_handle : request_handle;
|
|||
|
level : integer) IS
|
|||
|
|
|||
|
user_status : status_vector;
|
|||
|
BEGIN
|
|||
|
gds_unwind_request (
|
|||
|
user_status'address,
|
|||
|
req_handle'address,
|
|||
|
level'address);
|
|||
|
if user_status (1) /= 0 then error (user_status); end if;
|
|||
|
END unwind_request;
|
|||
|
|
|||
|
--- Dynamic SQL procedures
|
|||
|
|
|||
|
PROCEDURE dsql_close (
|
|||
|
cursor_name : string) IS
|
|||
|
|
|||
|
user_status : status_vector;
|
|||
|
BEGIN
|
|||
|
gds_close (
|
|||
|
user_status'address,
|
|||
|
cursor_name'address);
|
|||
|
if user_status (1) /= 0 then error (user_status); end if;
|
|||
|
END dsql_close;
|
|||
|
|
|||
|
PROCEDURE dsql_declare (
|
|||
|
statement_name : string;
|
|||
|
cursor_name : string) IS
|
|||
|
|
|||
|
user_status : status_vector;
|
|||
|
BEGIN
|
|||
|
gds_declare (
|
|||
|
user_status'address,
|
|||
|
statement_name'address,
|
|||
|
cursor_name'address);
|
|||
|
if user_status (1) /= 0 then error (user_status); end if;
|
|||
|
END dsql_declare;
|
|||
|
|
|||
|
PROCEDURE dsql_describe (
|
|||
|
statement_name : string;
|
|||
|
descriptor : SYSTEM.ADDRESS) IS
|
|||
|
|
|||
|
user_status : status_vector;
|
|||
|
BEGIN
|
|||
|
gds_describe (
|
|||
|
user_status'address,
|
|||
|
statement_name'address,
|
|||
|
descriptor'address);
|
|||
|
if user_status (1) /= 0 then error (user_status); end if;
|
|||
|
END dsql_describe;
|
|||
|
|
|||
|
PROCEDURE dsql_execute (
|
|||
|
trans_handle : transaction_handle;
|
|||
|
statement_name : string;
|
|||
|
descriptor : SYSTEM.ADDRESS) IS
|
|||
|
|
|||
|
user_status : status_vector;
|
|||
|
BEGIN
|
|||
|
gds_execute (
|
|||
|
user_status'address,
|
|||
|
trans_handle'address,
|
|||
|
statement_name'address,
|
|||
|
descriptor);
|
|||
|
if user_status (1) /= 0 then error (user_status); end if;
|
|||
|
END dsql_execute;
|
|||
|
|
|||
|
PROCEDURE dsql_execute (
|
|||
|
trans_handle : transaction_handle;
|
|||
|
statement_name : string) IS
|
|||
|
|
|||
|
user_status : status_vector;
|
|||
|
BEGIN
|
|||
|
gds_execute (
|
|||
|
user_status'address,
|
|||
|
trans_handle'address,
|
|||
|
statement_name'address,
|
|||
|
null_blob'address);
|
|||
|
if user_status (1) /= 0 then error (user_status); end if;
|
|||
|
END dsql_execute;
|
|||
|
|
|||
|
PROCEDURE dsql_execute_immediate (
|
|||
|
db_handle : database_handle;
|
|||
|
trans_handle : transaction_handle;
|
|||
|
command_length : integer;
|
|||
|
command : string) IS
|
|||
|
|
|||
|
user_status : status_vector;
|
|||
|
BEGIN
|
|||
|
gds_execute_immediate (
|
|||
|
user_status'address,
|
|||
|
db_handle'address,
|
|||
|
trans_handle'address,
|
|||
|
command_length'address,
|
|||
|
command'address);
|
|||
|
if user_status (1) /= 0 then error (user_status); end if;
|
|||
|
END dsql_execute_immediate;
|
|||
|
|
|||
|
PROCEDURE dsql_fetch (
|
|||
|
sqlcode : OUT long_integer;
|
|||
|
cursor_name : string;
|
|||
|
descriptor : SYSTEM.ADDRESS) IS
|
|||
|
|
|||
|
user_status : status_vector;
|
|||
|
BEGIN
|
|||
|
gds_fetch (
|
|||
|
user_status'address,
|
|||
|
sqlcode'address,
|
|||
|
cursor_name'address,
|
|||
|
descriptor);
|
|||
|
if user_status (1) /= 0 then error (user_status); end if;
|
|||
|
END dsql_fetch;
|
|||
|
|
|||
|
PROCEDURE dsql_fetch (
|
|||
|
sqlcode : OUT long_integer;
|
|||
|
cursor_name : string) IS
|
|||
|
|
|||
|
user_status : status_vector;
|
|||
|
BEGIN
|
|||
|
gds_fetch (
|
|||
|
user_status'address,
|
|||
|
sqlcode'address,
|
|||
|
cursor_name'address,
|
|||
|
null_blob'address);
|
|||
|
if user_status (1) /= 0 then error (user_status); end if;
|
|||
|
END dsql_fetch;
|
|||
|
|
|||
|
PROCEDURE dsql_open (
|
|||
|
trans_handle : transaction_handle;
|
|||
|
cursor_name : string;
|
|||
|
descriptor : SYSTEM.ADDRESS) IS
|
|||
|
|
|||
|
user_status : status_vector;
|
|||
|
BEGIN
|
|||
|
gds_open (
|
|||
|
user_status'address,
|
|||
|
trans_handle'address,
|
|||
|
cursor_name'address,
|
|||
|
descriptor);
|
|||
|
if user_status (1) /= 0 then error (user_status); end if;
|
|||
|
END dsql_open;
|
|||
|
|
|||
|
PROCEDURE dsql_open (
|
|||
|
trans_handle : transaction_handle;
|
|||
|
cursor_name : string) IS
|
|||
|
|
|||
|
user_status : status_vector;
|
|||
|
BEGIN
|
|||
|
gds_open (
|
|||
|
user_status'address,
|
|||
|
trans_handle'address,
|
|||
|
cursor_name'address,
|
|||
|
null_blob'address);
|
|||
|
if user_status (1) /= 0 then error (user_status); end if;
|
|||
|
END dsql_open;
|
|||
|
|
|||
|
PROCEDURE dsql_prepare (
|
|||
|
db_handle : database_handle;
|
|||
|
trans_handle : transaction_handle;
|
|||
|
statement_name : string;
|
|||
|
command_length : integer;
|
|||
|
command : string;
|
|||
|
descriptor : SYSTEM.ADDRESS) IS
|
|||
|
|
|||
|
user_status : status_vector;
|
|||
|
BEGIN
|
|||
|
gds_prepare (
|
|||
|
user_status'address,
|
|||
|
db_handle'address,
|
|||
|
trans_handle'address,
|
|||
|
statement_name'address,
|
|||
|
command_length'address,
|
|||
|
command'address,
|
|||
|
descriptor);
|
|||
|
if user_status (1) /= 0 then error (user_status); end if;
|
|||
|
END dsql_prepare;
|
|||
|
|
|||
|
PROCEDURE dsql_prepare (
|
|||
|
db_handle : database_handle;
|
|||
|
trans_handle : transaction_handle;
|
|||
|
statement_name : string;
|
|||
|
command_length : integer;
|
|||
|
command : string) IS
|
|||
|
|
|||
|
user_status : status_vector;
|
|||
|
BEGIN
|
|||
|
gds_prepare (
|
|||
|
user_status'address,
|
|||
|
db_handle'address,
|
|||
|
trans_handle'address,
|
|||
|
statement_name'address,
|
|||
|
command_length'address,
|
|||
|
command'address,
|
|||
|
null_blob'address);
|
|||
|
if user_status (1) /= 0 then error (user_status); end if;
|
|||
|
END dsql_prepare;
|
|||
|
|
|||
|
--- PYXIS procedures
|
|||
|
|
|||
|
PROCEDURE compile_map (
|
|||
|
frm_handle : form_handle;
|
|||
|
mp_handle : OUT map_handle;
|
|||
|
map_length : integer;
|
|||
|
map : blr) IS
|
|||
|
|
|||
|
user_status : status_vector;
|
|||
|
BEGIN
|
|||
|
pyxis_compile_map (
|
|||
|
user_status'address,
|
|||
|
frm_handle'address,
|
|||
|
mp_handle'address,
|
|||
|
map_length'address,
|
|||
|
map'address);
|
|||
|
--- if user_status (1) /= 0 then error (user_status); end if;
|
|||
|
END compile_map;
|
|||
|
|
|||
|
PROCEDURE compile_sub_map (
|
|||
|
frm_handle : form_handle;
|
|||
|
mp_handle : OUT map_handle;
|
|||
|
map_length : integer;
|
|||
|
map : blr) IS
|
|||
|
|
|||
|
user_status : status_vector;
|
|||
|
BEGIN
|
|||
|
pyxis_compile_sub_map (
|
|||
|
user_status'address,
|
|||
|
frm_handle'address,
|
|||
|
mp_handle'address,
|
|||
|
map_length'address,
|
|||
|
map'address);
|
|||
|
--- if user_status (1) /= 0 then error (user_status); end if;
|
|||
|
END compile_sub_map;
|
|||
|
|
|||
|
PROCEDURE drive_form (
|
|||
|
db_handle : database_handle;
|
|||
|
trans_handle : transaction_handle;
|
|||
|
win_handle : window_handle;
|
|||
|
mp_handle : map_handle;
|
|||
|
input : SYSTEM.ADDRESS;
|
|||
|
output : SYSTEM.ADDRESS) IS
|
|||
|
|
|||
|
user_status : status_vector;
|
|||
|
BEGIN
|
|||
|
pyxis_drive_form (
|
|||
|
user_status'address,
|
|||
|
db_handle'address,
|
|||
|
trans_handle'address,
|
|||
|
win_handle'address,
|
|||
|
mp_handle'address,
|
|||
|
input,
|
|||
|
output);
|
|||
|
--- if user_status (1) /= 0 then error (user_status); end if;
|
|||
|
END drive_form;
|
|||
|
|
|||
|
PROCEDURE fetch_sub_form (
|
|||
|
db_handle : database_handle;
|
|||
|
trans_handle : transaction_handle;
|
|||
|
mp_handle : map_handle;
|
|||
|
output : SYSTEM.ADDRESS) IS
|
|||
|
|
|||
|
user_status : status_vector;
|
|||
|
BEGIN
|
|||
|
pyxis_fetch (
|
|||
|
user_status'address,
|
|||
|
db_handle'address,
|
|||
|
trans_handle'address,
|
|||
|
mp_handle'address,
|
|||
|
output);
|
|||
|
--- if user_status (1) /= 0 then error (user_status); end if;
|
|||
|
END fetch_sub_form;
|
|||
|
|
|||
|
PROCEDURE insert_sub_form (
|
|||
|
db_handle : database_handle;
|
|||
|
trans_handle : transaction_handle;
|
|||
|
mp_handle : map_handle;
|
|||
|
input : SYSTEM.ADDRESS) IS
|
|||
|
|
|||
|
user_status : status_vector;
|
|||
|
BEGIN
|
|||
|
pyxis_insert (
|
|||
|
user_status'address,
|
|||
|
db_handle'address,
|
|||
|
trans_handle'address,
|
|||
|
mp_handle'address,
|
|||
|
input);
|
|||
|
--- if user_status (1) /= 0 then error (user_status); end if;
|
|||
|
END insert_sub_form;
|
|||
|
|
|||
|
PROCEDURE load_form (
|
|||
|
db_handle : database_handle;
|
|||
|
trans_handle : transaction_handle;
|
|||
|
frm_handle : IN OUT form_handle;
|
|||
|
name_length : integer;
|
|||
|
form_name : string) IS
|
|||
|
|
|||
|
user_status : status_vector;
|
|||
|
BEGIN
|
|||
|
pyxis_load_form (
|
|||
|
user_status'address,
|
|||
|
db_handle'address,
|
|||
|
trans_handle'address,
|
|||
|
frm_handle'address,
|
|||
|
name_length'address,
|
|||
|
form_name'address);
|
|||
|
if user_status (1) /= 0 then error (user_status); end if;
|
|||
|
END load_form;
|
|||
|
|
|||
|
PROCEDURE reset_form (
|
|||
|
win_handle : window_handle) IS
|
|||
|
|
|||
|
user_status : status_vector;
|
|||
|
BEGIN
|
|||
|
pyxis_reset_form (
|
|||
|
user_status'address,
|
|||
|
win_handle'address);
|
|||
|
--- if user_status (1) /= 0 then error (user_status); end if;
|
|||
|
END reset_form;
|
|||
|
|
|||
|
|
|||
|
END interbase;');
|
|||
|
INSERT INTO TEMPLATES (LANGUAGE, "FILE", TEMPLATE) VALUES ('VMS_ADA', 'interbase_vms.a',
|
|||
|
'WITH SYSTEM;
|
|||
|
|
|||
|
PACKAGE interbase IS
|
|||
|
|
|||
|
TYPE status_vector IS ARRAY (0..19) OF INTEGER;
|
|||
|
TYPE quad IS ARRAY (0..1) OF INTEGER;
|
|||
|
TYPE chars is array (integer range <>) of character;
|
|||
|
TYPE blr IS ARRAY (integer range <>) of short_short_integer;
|
|||
|
TYPE dpb IS ARRAY (integer range <>) of short_short_integer;
|
|||
|
TYPE tpb IS ARRAY (integer range <>) of short_short_integer;
|
|||
|
|
|||
|
SUBTYPE isc_short IS short_integer;
|
|||
|
SUBTYPE isc_long IS integer;
|
|||
|
SUBTYPE isc_float IS float;
|
|||
|
SUBTYPE isc_double IS system.g_float;
|
|||
|
SUBTYPE double IS system.g_float;
|
|||
|
SUBTYPE database_handle IS integer;
|
|||
|
SUBTYPE request_handle IS integer;
|
|||
|
SUBTYPE transaction_handle IS integer;
|
|||
|
SUBTYPE blob_handle IS integer;
|
|||
|
SUBTYPE form_handle IS integer;
|
|||
|
SUBTYPE map_handle IS integer;
|
|||
|
SUBTYPE window_handle IS integer;
|
|||
|
SUBTYPE menu_handle IS integer;
|
|||
|
|
|||
|
TYPE gds_teb_t IS RECORD
|
|||
|
dbb_ptr : SYSTEM.ADDRESS;
|
|||
|
tpb_len : integer;
|
|||
|
tpb_ptr : SYSTEM.ADDRESS;
|
|||
|
END RECORD;
|
|||
|
|
|||
|
TYPE gds_tm IS RECORD
|
|||
|
tm_sec : integer;
|
|||
|
tm_min : integer;
|
|||
|
tm_hour : integer;
|
|||
|
tm_mday : integer;
|
|||
|
tm_mon : integer;
|
|||
|
tm_year : integer;
|
|||
|
tm_wday : integer;
|
|||
|
tm_yday : integer;
|
|||
|
tm_isdst : integer;
|
|||
|
END RECORD;
|
|||
|
|
|||
|
TYPE sqlvar is RECORD
|
|||
|
sqltype : short_integer;
|
|||
|
sqllen : short_integer;
|
|||
|
sqldata : SYSTEM.ADDRESS;
|
|||
|
sqlind : SYSTEM.ADDRESS;
|
|||
|
sqlname_length : short_integer;
|
|||
|
sqlname : chars (1..30);
|
|||
|
END RECORD;
|
|||
|
|
|||
|
TYPE sqlvar_array IS ARRAY (short_integer range <>) of sqlvar;
|
|||
|
|
|||
|
TYPE sqlda (size: short_integer) IS RECORD
|
|||
|
sqldaid : chars (1..8);
|
|||
|
sqldabc : integer;
|
|||
|
sqln : short_integer := size;
|
|||
|
sqld : short_integer;
|
|||
|
sqlvars : sqlvar_array (1..size);
|
|||
|
END RECORD;
|
|||
|
|
|||
|
--- Constants
|
|||
|
|
|||
|
gds_true : CONSTANT integer := 1;
|
|||
|
gds_false : CONSTANT integer := 0;
|
|||
|
|
|||
|
--- BLR
|
|||
|
|
|||
|
$ SET SANS_DOLLAR
|
|||
|
|
|||
|
$ FORMAT BLR_FORMAT " %s : CONSTANT short_short_integer := %d;\n
|
|||
|
$ FORMAT DYN_FORMAT " %-32s: CONSTANT short_short_integer := %d;\n
|
|||
|
$ FORMAT SDL_FORMAT " %-32s: CONSTANT short_short_integer := %d;\n
|
|||
|
$ FORMAT ERROR_FORMAT "%-25s: CONSTANT integer := %d;\n
|
|||
|
$ FORMAT PB_FORMAT " %-29s: CONSTANT short_short_integer := %d;\n
|
|||
|
$ FORMAT PYXIS_FORMAT "%-29s: CONSTANT short_short_integer := %d;\n
|
|||
|
$ FORMAT OPT_FORMAT "%-32s: CONSTANT integer := %d;\n
|
|||
|
$ FORMAT SQL_FORMAT "%-16s: CONSTANT short_integer := %d;\n
|
|||
|
|
|||
|
$ SYMBOLS BLR DTYPE BLR_FORMAT
|
|||
|
$ SYMBOLS BLR MECH SIGNED BLR_FORMAT
|
|||
|
|
|||
|
$ SYMBOLS BLR STATEMENTS BLR_FORMAT
|
|||
|
$ SYMBOLS BLR VALUES BLR_FORMAT
|
|||
|
|
|||
|
$ SYMBOLS BLR BOOLEANS BLR_FORMAT
|
|||
|
|
|||
|
$ SYMBOLS BLR RSE BLR_FORMAT
|
|||
|
|
|||
|
$ SYMBOLS BLR JOIN BLR_FORMAT
|
|||
|
|
|||
|
$ SYMBOLS BLR AGGREGATE BLR_FORMAT
|
|||
|
$ SYMBOLS BLR NEW BLR_FORMAT
|
|||
|
|
|||
|
--- Dynamic Data Definition Language operators
|
|||
|
|
|||
|
--- Version number
|
|||
|
|
|||
|
$ SYMBOLS DYN MECH SIGNED DYN_FORMAT
|
|||
|
|
|||
|
--- Operations (may be nested)
|
|||
|
|
|||
|
$ SYMBOLS DYN OPERATIONS SIGNED DYN_FORMAT
|
|||
|
|
|||
|
--- View specific stuff
|
|||
|
|
|||
|
$ SYMBOLS DYN VIEW SIGNED DYN_FORMAT
|
|||
|
|
|||
|
--- Generic attributes
|
|||
|
|
|||
|
$ SYMBOLS DYN GENERIC SIGNED DYN_FORMAT
|
|||
|
|
|||
|
--- Relation specific attributes
|
|||
|
|
|||
|
$ SYMBOLS DYN RELATION SIGNED DYN_FORMAT
|
|||
|
|
|||
|
--- Global field specific attributes
|
|||
|
|
|||
|
$ SYMBOLS DYN GLOBAL SIGNED DYN_FORMAT
|
|||
|
|
|||
|
--- Local field specific attributes
|
|||
|
|
|||
|
$ SYMBOLS DYN FIELD SIGNED DYN_FORMAT
|
|||
|
|
|||
|
--- Index specific attributes
|
|||
|
|
|||
|
$ SYMBOLS DYN INDEX SIGNED DYN_FORMAT
|
|||
|
|
|||
|
--- Trigger specific attributes
|
|||
|
|
|||
|
$ SYMBOLS DYN TRIGGER SIGNED DYN_FORMAT
|
|||
|
|
|||
|
--- Security Class specific attributes
|
|||
|
|
|||
|
$ SYMBOLS DYN SECURITY SIGNED DYN_FORMAT
|
|||
|
|
|||
|
--- Dimension attributes
|
|||
|
|
|||
|
$ SYMBOLS DYN ARRAY SIGNED DYN_FORMAT
|
|||
|
|
|||
|
--- File specific attributes
|
|||
|
|
|||
|
$ SYMBOLS DYN FILES DYN_FORMAT
|
|||
|
|
|||
|
--- Function specific attributes
|
|||
|
|
|||
|
$ SYMBOLS DYN FUNCTIONS DYN_FORMAT
|
|||
|
|
|||
|
--- Generator specific attributes
|
|||
|
|
|||
|
$ SYMBOLS DYN GENERATOR DYN_FORMAT
|
|||
|
|
|||
|
--- Array slice description language (SDL)
|
|||
|
|
|||
|
$ SYMBOLS SDL SDL SIGNED SDL_FORMAT
|
|||
|
|
|||
|
--- Database parameter block stuff
|
|||
|
|
|||
|
$ SYMBOLS DPB ITEMS PB_FORMAT
|
|||
|
|
|||
|
$ SYMBOLS DPB BITS PB_FORMAT
|
|||
|
|
|||
|
--- Transaction parameter block stuff
|
|||
|
|
|||
|
$ SYMBOLS TPB ITEMS PB_FORMAT
|
|||
|
|
|||
|
--- Blob parameter block stuff
|
|||
|
|
|||
|
$ SYMBOLS BPB ITEMS PB_FORMAT
|
|||
|
|
|||
|
--- Common, structural codes
|
|||
|
|
|||
|
$ SYMBOLS INFO MECH PB_FORMAT
|
|||
|
|
|||
|
--- Database information items
|
|||
|
|
|||
|
$ SYMBOLS INFO DB PB_FORMAT
|
|||
|
|
|||
|
--- Request information items
|
|||
|
|
|||
|
$ SYMBOLS INFO REQUEST PB_FORMAT
|
|||
|
|
|||
|
--- Blob information items
|
|||
|
|
|||
|
$ SYMBOLS INFO BLOB PB_FORMAT
|
|||
|
|
|||
|
--- Transaction information items
|
|||
|
|
|||
|
$ SYMBOLS INFO TRANSACTION PB_FORMAT
|
|||
|
|
|||
|
--- Error codes
|
|||
|
|
|||
|
$ SYMBOLS ERROR MECH ERROR_FORMAT
|
|||
|
|
|||
|
$ ERROR MAJOR ERROR_FORMAT
|
|||
|
|
|||
|
--- Minor codes subject to change
|
|||
|
|
|||
|
$ ERROR MINOR ERROR_FORMAT
|
|||
|
|
|||
|
--- Dynamic SQL datatypes
|
|||
|
|
|||
|
$ SYMBOLS SQL DTYPE SQL_FORMAT
|
|||
|
|
|||
|
--- Forms Package definitions
|
|||
|
|
|||
|
--- Map definition block definitions
|
|||
|
|
|||
|
$ SYMBOLS PYXIS MAP SIGNED PYXIS_FORMAT
|
|||
|
|
|||
|
--- Field option flags for display options
|
|||
|
|
|||
|
$ SYMBOLS PYXIS DISPLAY OPT_FORMAT
|
|||
|
|
|||
|
--- Field option values following display
|
|||
|
|
|||
|
$ SYMBOLS PYXIS VALUE OPT_FORMAT
|
|||
|
|
|||
|
--- Pseudo key definitions
|
|||
|
|
|||
|
$ SYMBOLS PYXIS KEY OPT_FORMAT
|
|||
|
|
|||
|
--- Menu definition stuff
|
|||
|
|
|||
|
$ SYMBOLS PYXIS MENU SIGNED PYXIS_FORMAT blr_text : CONSTANT short_short_integer := 14;
|
|||
|
|
|||
|
database_error : EXCEPTION;
|
|||
|
null_blob : CONSTANT quad := (0, 0);
|
|||
|
null_tpb : tpb (0..0);
|
|||
|
null_dpb : dpb (0..0);
|
|||
|
|
|||
|
PROCEDURE attach_database (
|
|||
|
user_status : OUT status_vector;
|
|||
|
file_length : short_integer;
|
|||
|
file_name : string;
|
|||
|
db_handle : IN OUT database_handle;
|
|||
|
dpb_length : short_integer;
|
|||
|
dpb_arg : dpb);
|
|||
|
|
|||
|
PROCEDURE blob_display (
|
|||
|
blob_id : quad;
|
|||
|
db_handle : database_handle;
|
|||
|
tra_handle : transaction_handle;
|
|||
|
field_name : string;
|
|||
|
name_length : short_integer);
|
|||
|
|
|||
|
PROCEDURE blob_dump (
|
|||
|
blob_id : quad;
|
|||
|
db_handle : database_handle;
|
|||
|
tra_handle : transaction_handle;
|
|||
|
file_name : string;
|
|||
|
name_length : short_integer);
|
|||
|
|
|||
|
PROCEDURE blob_edit (
|
|||
|
blob_id : IN OUT quad;
|
|||
|
db_handle : database_handle;
|
|||
|
tra_handle : transaction_handle;
|
|||
|
field_name : string;
|
|||
|
name_length : short_integer);
|
|||
|
|
|||
|
PROCEDURE blob_load (
|
|||
|
blob_id : IN OUT quad;
|
|||
|
db_handle : database_handle;
|
|||
|
tra_handle : transaction_handle;
|
|||
|
file_name : string;
|
|||
|
name_length : short_integer);
|
|||
|
|
|||
|
PROCEDURE cancel_blob (
|
|||
|
user_status : OUT status_vector;
|
|||
|
blb_handle : IN OUT blob_handle);
|
|||
|
|
|||
|
PROCEDURE cancel_events (
|
|||
|
user_status : OUT status_vector;
|
|||
|
blb_handle : IN OUT blob_handle;
|
|||
|
id : integer);
|
|||
|
|
|||
|
PROCEDURE close_blob (
|
|||
|
user_status : OUT status_vector;
|
|||
|
blb_handle : IN OUT blob_handle);
|
|||
|
|
|||
|
PROCEDURE commit_retaining (
|
|||
|
user_status : OUT status_vector;
|
|||
|
trans_handle : IN OUT transaction_handle);
|
|||
|
|
|||
|
PROCEDURE commit_transaction (
|
|||
|
user_status : OUT status_vector;
|
|||
|
trans_handle : IN OUT transaction_handle);
|
|||
|
|
|||
|
PROCEDURE compile_request (
|
|||
|
user_status : OUT status_vector;
|
|||
|
db_handle : database_handle;
|
|||
|
req_handle : IN OUT request_handle;
|
|||
|
blr_length : short_integer;
|
|||
|
blr_arg : blr);
|
|||
|
|
|||
|
PROCEDURE compile_request2 (
|
|||
|
user_status : OUT status_vector;
|
|||
|
db_handle : database_handle;
|
|||
|
req_handle : IN OUT request_handle;
|
|||
|
blr_length : short_integer;
|
|||
|
blr_arg : blr);
|
|||
|
|
|||
|
PROCEDURE create_blob (
|
|||
|
user_status : OUT status_vector;
|
|||
|
db_handle : database_handle;
|
|||
|
trans_handle : transaction_handle;
|
|||
|
blb_handle : IN OUT blob_handle;
|
|||
|
blob_id : OUT quad);
|
|||
|
|
|||
|
PROCEDURE create_blob2 (
|
|||
|
user_status : OUT status_vector;
|
|||
|
db_handle : database_handle;
|
|||
|
trans_handle : transaction_handle;
|
|||
|
blb_handle : IN OUT blob_handle;
|
|||
|
blob_id : OUT quad;
|
|||
|
bpb_length : short_integer;
|
|||
|
bpb : blr);
|
|||
|
|
|||
|
PROCEDURE create_database (
|
|||
|
user_status : OUT status_vector;
|
|||
|
file_length : short_integer;
|
|||
|
file_name : string;
|
|||
|
db_handle : IN OUT database_handle;
|
|||
|
dpb_length : short_integer;
|
|||
|
dpb_arg : dpb;
|
|||
|
db_type : short_integer);
|
|||
|
|
|||
|
PROCEDURE detach_database (
|
|||
|
user_status : OUT status_vector;
|
|||
|
db_handle : IN OUT database_handle);
|
|||
|
|
|||
|
PROCEDURE ddl (
|
|||
|
user_status : OUT status_vector;
|
|||
|
db_handle : database_handle;
|
|||
|
trans_handle : transaction_handle;
|
|||
|
msg_length : short_integer;
|
|||
|
msg : SYSTEM.ADDRESS);
|
|||
|
|
|||
|
PROCEDURE encode_date (
|
|||
|
times : gds_tm;
|
|||
|
date : IN OUT quad);
|
|||
|
|
|||
|
PROCEDURE decode_date (
|
|||
|
date : quad;
|
|||
|
times : IN OUT gds_tm);
|
|||
|
|
|||
|
PROCEDURE event_wait (
|
|||
|
user_status : OUT status_vector;
|
|||
|
db_handle : database_handle;
|
|||
|
length : short_integer;
|
|||
|
events : string;
|
|||
|
buffer : string);
|
|||
|
|
|||
|
PROCEDURE get_segment (
|
|||
|
user_status : OUT status_vector;
|
|||
|
blb_handle : blob_handle;
|
|||
|
actual_length : OUT short_integer;
|
|||
|
buffer_length : short_integer;
|
|||
|
buffer : string);
|
|||
|
|
|||
|
PROCEDURE get_slice (
|
|||
|
user_status : OUT status_vector;
|
|||
|
db_handle : database_handle;
|
|||
|
trans_handle : transaction_handle;
|
|||
|
blob_id : quad;
|
|||
|
sdl_length : short_integer;
|
|||
|
sdl : blr;
|
|||
|
param_length : short_integer;
|
|||
|
param : string;
|
|||
|
slice_length : integer;
|
|||
|
slice : SYSTEM.ADDRESS;
|
|||
|
return_length : OUT integer);
|
|||
|
|
|||
|
PROCEDURE open_blob (
|
|||
|
user_status : OUT status_vector;
|
|||
|
db_handle : database_handle;
|
|||
|
trans_handle : transaction_handle;
|
|||
|
blb_handle : IN OUT blob_handle;
|
|||
|
blob_id : quad);
|
|||
|
|
|||
|
PROCEDURE open_blob2 (
|
|||
|
user_status : OUT status_vector;
|
|||
|
db_handle : database_handle;
|
|||
|
trans_handle : transaction_handle;
|
|||
|
blb_handle : IN OUT blob_handle;
|
|||
|
blob_id : quad;
|
|||
|
bpb_length : short_integer;
|
|||
|
bpb : blr);
|
|||
|
|
|||
|
PROCEDURE prepare_transaction (
|
|||
|
user_status : OUT status_vector;
|
|||
|
trans_handle : IN OUT transaction_handle);
|
|||
|
|
|||
|
PROCEDURE prepare_transaction2 (
|
|||
|
user_status : OUT status_vector;
|
|||
|
trans_handle : IN OUT transaction_handle;
|
|||
|
msg_length : short_integer;
|
|||
|
msg : blr);
|
|||
|
|
|||
|
PROCEDURE print_status (
|
|||
|
user_status : status_vector);
|
|||
|
|
|||
|
PROCEDURE put_segment (
|
|||
|
user_status : OUT status_vector;
|
|||
|
blb_handle : blob_handle;
|
|||
|
length : short_integer;
|
|||
|
buffer : string);
|
|||
|
|
|||
|
PROCEDURE put_slice (
|
|||
|
user_status : OUT status_vector;
|
|||
|
db_handle : database_handle;
|
|||
|
trans_handle : transaction_handle;
|
|||
|
blob_id : IN OUT quad;
|
|||
|
sdl_length : short_integer;
|
|||
|
sdl : blr;
|
|||
|
param_length : short_integer;
|
|||
|
param : string;
|
|||
|
slice_length : integer;
|
|||
|
slice : SYSTEM.ADDRESS);
|
|||
|
|
|||
|
PROCEDURE que_events (
|
|||
|
user_status : OUT status_vector;
|
|||
|
db_handle : database_handle;
|
|||
|
id : quad;
|
|||
|
length : short_integer;
|
|||
|
events : string;
|
|||
|
ast : integer;
|
|||
|
arg : quad);
|
|||
|
|
|||
|
PROCEDURE receive (
|
|||
|
user_status : OUT status_vector;
|
|||
|
req_handle : request_handle;
|
|||
|
msg_type : short_integer;
|
|||
|
msg_length : short_integer;
|
|||
|
msg : SYSTEM.ADDRESS;
|
|||
|
level : short_integer);
|
|||
|
|
|||
|
PROCEDURE rollback_transaction (
|
|||
|
user_status : OUT status_vector;
|
|||
|
trans_handle : IN OUT transaction_handle);
|
|||
|
|
|||
|
PROCEDURE send (
|
|||
|
user_status : OUT status_vector;
|
|||
|
req_handle : request_handle;
|
|||
|
msg_type : short_integer;
|
|||
|
msg_length : short_integer;
|
|||
|
msg : SYSTEM.ADDRESS;
|
|||
|
level : short_integer);
|
|||
|
|
|||
|
PROCEDURE print_version (
|
|||
|
db_handle : database_handle);
|
|||
|
|
|||
|
FUNCTION sqlcode (
|
|||
|
user_status : status_vector) RETURN integer;
|
|||
|
|
|||
|
PROCEDURE start_and_send (
|
|||
|
user_status : OUT status_vector;
|
|||
|
req_handle : request_handle;
|
|||
|
trans_handle : transaction_handle;
|
|||
|
msg_type : short_integer;
|
|||
|
msg_length : short_integer;
|
|||
|
msg : SYSTEM.ADDRESS;
|
|||
|
level : short_integer);
|
|||
|
|
|||
|
PROCEDURE start_request (
|
|||
|
user_status : OUT status_vector;
|
|||
|
req_handle : request_handle;
|
|||
|
trans_handle : transaction_handle;
|
|||
|
level : short_integer);
|
|||
|
|
|||
|
PROCEDURE start_multiple (
|
|||
|
user_status : OUT status_vector;
|
|||
|
trans_handle : IN OUT transaction_handle;
|
|||
|
count : short_integer;
|
|||
|
teb : SYSTEM.ADDRESS);
|
|||
|
|
|||
|
PROCEDURE start_transaction (
|
|||
|
user_status : OUT status_vector;
|
|||
|
trans_handle : IN OUT transaction_handle;
|
|||
|
count : short_integer;
|
|||
|
db_handle : database_handle;
|
|||
|
tpb_length : short_integer;
|
|||
|
tpb_arg : tpb);
|
|||
|
|
|||
|
PROCEDURE unwind_request (
|
|||
|
user_status : OUT status_vector;
|
|||
|
req_handle : request_handle;
|
|||
|
level : short_integer);
|
|||
|
|
|||
|
--- Dynamic SQL procedures
|
|||
|
|
|||
|
PROCEDURE dsql_close (
|
|||
|
user_status : OUT status_vector;
|
|||
|
cursor_name : string);
|
|||
|
|
|||
|
PROCEDURE dsql_declare (
|
|||
|
user_status : OUT status_vector;
|
|||
|
statement_name : string;
|
|||
|
cursor_name : string);
|
|||
|
|
|||
|
PROCEDURE dsql_describe (
|
|||
|
user_status : OUT status_vector;
|
|||
|
statement_name : string;
|
|||
|
descriptor : SYSTEM.ADDRESS);
|
|||
|
|
|||
|
PROCEDURE dsql_execute (
|
|||
|
user_status : OUT status_vector;
|
|||
|
trans_handle : transaction_handle;
|
|||
|
statement_name : string;
|
|||
|
descriptor : SYSTEM.ADDRESS);
|
|||
|
|
|||
|
PROCEDURE dsql_execute (
|
|||
|
user_status : OUT status_vector;
|
|||
|
trans_handle : transaction_handle;
|
|||
|
statement_name : string);
|
|||
|
|
|||
|
PROCEDURE dsql_execute_immediate (
|
|||
|
user_status : OUT status_vector;
|
|||
|
db_handle : database_handle;
|
|||
|
trans_handle : transaction_handle;
|
|||
|
command_length : short_integer;
|
|||
|
command : string);
|
|||
|
|
|||
|
PROCEDURE dsql_fetch (
|
|||
|
user_status : OUT status_vector;
|
|||
|
sqlcode : OUT integer;
|
|||
|
cursor_name : string;
|
|||
|
descriptor : SYSTEM.ADDRESS);
|
|||
|
|
|||
|
PROCEDURE dsql_fetch (
|
|||
|
user_status : OUT status_vector;
|
|||
|
sqlcode : OUT integer;
|
|||
|
cursor_name : string);
|
|||
|
|
|||
|
PROCEDURE dsql_finish (
|
|||
|
db_handle : database_handle);
|
|||
|
|
|||
|
PROCEDURE dsql_open (
|
|||
|
user_status : OUT status_vector;
|
|||
|
trans_handle : transaction_handle;
|
|||
|
cursor_name : string;
|
|||
|
descriptor : SYSTEM.ADDRESS);
|
|||
|
|
|||
|
PROCEDURE dsql_open (
|
|||
|
user_status : OUT status_vector;
|
|||
|
trans_handle : transaction_handle;
|
|||
|
cursor_name : string);
|
|||
|
|
|||
|
PROCEDURE dsql_prepare (
|
|||
|
user_status : OUT status_vector;
|
|||
|
db_handle : database_handle;
|
|||
|
trans_handle : transaction_handle;
|
|||
|
statement_name : string;
|
|||
|
command_length : short_integer;
|
|||
|
command : string;
|
|||
|
descriptor : SYSTEM.ADDRESS);
|
|||
|
|
|||
|
PROCEDURE dsql_prepare (
|
|||
|
user_status : OUT status_vector;
|
|||
|
db_handle : database_handle;
|
|||
|
trans_handle : transaction_handle;
|
|||
|
statement_name : string;
|
|||
|
command_length : short_integer;
|
|||
|
command : string);
|
|||
|
|
|||
|
--- PYXIS procedures
|
|||
|
|
|||
|
PROCEDURE compile_map (
|
|||
|
user_status : OUT status_vector;
|
|||
|
frm_handle : form_handle;
|
|||
|
mp_handle : OUT map_handle;
|
|||
|
map_length : short_integer;
|
|||
|
map : blr);
|
|||
|
|
|||
|
PROCEDURE compile_sub_map (
|
|||
|
user_status : OUT status_vector;
|
|||
|
frm_handle : form_handle;
|
|||
|
mp_handle : OUT map_handle;
|
|||
|
map_length : short_integer;
|
|||
|
map : blr);
|
|||
|
|
|||
|
PROCEDURE create_window (
|
|||
|
win_handle : OUT window_handle;
|
|||
|
name_length : short_integer;
|
|||
|
file_name : string;
|
|||
|
width : IN OUT short_integer;
|
|||
|
height : IN OUT short_integer);
|
|||
|
|
|||
|
PROCEDURE delete_window (
|
|||
|
win_handle : IN OUT window_handle);
|
|||
|
|
|||
|
PROCEDURE drive_form (
|
|||
|
user_status : OUT status_vector;
|
|||
|
db_handle : database_handle;
|
|||
|
trans_handle : transaction_handle;
|
|||
|
win_handle : window_handle;
|
|||
|
mp_handle : map_handle;
|
|||
|
input : SYSTEM.ADDRESS;
|
|||
|
output : SYSTEM.ADDRESS);
|
|||
|
|
|||
|
PROCEDURE fetch_sub_form (
|
|||
|
user_status : OUT status_vector;
|
|||
|
db_handle : database_handle;
|
|||
|
trans_handle : transaction_handle;
|
|||
|
mp_handle : map_handle;
|
|||
|
output : SYSTEM.ADDRESS);
|
|||
|
|
|||
|
PROCEDURE insert_sub_form (
|
|||
|
user_status : OUT status_vector;
|
|||
|
db_handle : database_handle;
|
|||
|
trans_handle : transaction_handle;
|
|||
|
mp_handle : map_handle;
|
|||
|
input : SYSTEM.ADDRESS);
|
|||
|
|
|||
|
PROCEDURE load_form (
|
|||
|
user_status : OUT status_vector;
|
|||
|
db_handle : database_handle;
|
|||
|
trans_handle : transaction_handle;
|
|||
|
frm_handle : IN OUT form_handle;
|
|||
|
name_length : short_integer;
|
|||
|
form_name : string);
|
|||
|
|
|||
|
FUNCTION menu (
|
|||
|
win_handle : window_handle;
|
|||
|
men_handle : menu_handle;
|
|||
|
menu_length : short_integer;
|
|||
|
menu : blr) RETURN short_integer;
|
|||
|
|
|||
|
PROCEDURE pop_window (
|
|||
|
win_handle : window_handle);
|
|||
|
|
|||
|
PROCEDURE reset_form (
|
|||
|
user_status : OUT status_vector;
|
|||
|
win_handle : window_handle);
|
|||
|
|
|||
|
PROCEDURE drive_menu (
|
|||
|
win_handle : IN OUT window_handle;
|
|||
|
men_handle : IN OUT menu_handle;
|
|||
|
blr_length : short_integer;
|
|||
|
blr_source : blr;
|
|||
|
title_length : short_integer;
|
|||
|
title : string;
|
|||
|
terminator : OUT short_integer;
|
|||
|
entree_length : OUT short_integer;
|
|||
|
entree_text : OUT string;
|
|||
|
entree_value : OUT integer);
|
|||
|
|
|||
|
PROCEDURE get_entree (
|
|||
|
men_handle : menu_handle;
|
|||
|
entree_length : OUT short_integer;
|
|||
|
entree_text : OUT string;
|
|||
|
entree_value : OUT integer;
|
|||
|
entree_end : OUT short_integer);
|
|||
|
|
|||
|
PROCEDURE initialize_menu (
|
|||
|
men_handle : IN OUT menu_handle);
|
|||
|
|
|||
|
PROCEDURE put_entree (
|
|||
|
men_handle : menu_handle;
|
|||
|
entree_length : short_integer;
|
|||
|
entree_text : string;
|
|||
|
entree_value : integer);
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
---
|
|||
|
--- Same routines, but with automatic error checking
|
|||
|
---
|
|||
|
|
|||
|
PROCEDURE attach_database (
|
|||
|
file_length : short_integer;
|
|||
|
file_name : string;
|
|||
|
db_handle : IN OUT database_handle;
|
|||
|
dpb_length : short_integer;
|
|||
|
dpb_arg : dpb);
|
|||
|
|
|||
|
PROCEDURE cancel_blob (
|
|||
|
blb_handle : IN OUT blob_handle);
|
|||
|
|
|||
|
PROCEDURE cancel_events (
|
|||
|
blb_handle : IN OUT blob_handle;
|
|||
|
id : integer);
|
|||
|
|
|||
|
PROCEDURE close_blob (
|
|||
|
blb_handle : IN OUT blob_handle);
|
|||
|
|
|||
|
PROCEDURE commit_retaining (
|
|||
|
trans_handle : IN OUT transaction_handle);
|
|||
|
|
|||
|
PROCEDURE commit_transaction (
|
|||
|
trans_handle : IN OUT transaction_handle);
|
|||
|
|
|||
|
PROCEDURE compile_request (
|
|||
|
db_handle : database_handle;
|
|||
|
req_handle : IN OUT request_handle;
|
|||
|
blr_length : short_integer;
|
|||
|
blr_arg : blr);
|
|||
|
|
|||
|
PROCEDURE create_blob (
|
|||
|
db_handle : database_handle;
|
|||
|
trans_handle : transaction_handle;
|
|||
|
blb_handle : IN OUT blob_handle;
|
|||
|
blob_id : OUT quad);
|
|||
|
|
|||
|
PROCEDURE create_blob2 (
|
|||
|
db_handle : database_handle;
|
|||
|
trans_handle : transaction_handle;
|
|||
|
blb_handle : IN OUT blob_handle;
|
|||
|
blob_id : OUT quad;
|
|||
|
bpb_length : short_integer;
|
|||
|
bpb : blr);
|
|||
|
|
|||
|
PROCEDURE create_database (
|
|||
|
file_length : short_integer;
|
|||
|
file_name : string;
|
|||
|
db_handle : IN OUT database_handle;
|
|||
|
dpb_length : short_integer;
|
|||
|
dpb_arg : dpb;
|
|||
|
db_type : short_integer);
|
|||
|
|
|||
|
PROCEDURE detach_database (
|
|||
|
db_handle : IN OUT database_handle);
|
|||
|
|
|||
|
PROCEDURE ddl (
|
|||
|
db_handle : database_handle;
|
|||
|
trans_handle : transaction_handle;
|
|||
|
msg_length : short_integer;
|
|||
|
msg : SYSTEM.ADDRESS);
|
|||
|
|
|||
|
PROCEDURE get_segment (
|
|||
|
completion_code : OUT integer;
|
|||
|
blb_handle : blob_handle;
|
|||
|
actual_length : OUT short_integer;
|
|||
|
buffer_length : short_integer;
|
|||
|
buffer : string);
|
|||
|
|
|||
|
PROCEDURE get_slice (
|
|||
|
db_handle : database_handle;
|
|||
|
trans_handle : transaction_handle;
|
|||
|
blob_id : quad;
|
|||
|
sdl_length : short_integer;
|
|||
|
sdl : blr;
|
|||
|
param_length : short_integer;
|
|||
|
param : string;
|
|||
|
slice_length : integer;
|
|||
|
slice : SYSTEM.ADDRESS;
|
|||
|
return_length : OUT integer);
|
|||
|
|
|||
|
PROCEDURE open_blob (
|
|||
|
db_handle : database_handle;
|
|||
|
trans_handle : transaction_handle;
|
|||
|
blb_handle : IN OUT blob_handle;
|
|||
|
blob_id : quad);
|
|||
|
|
|||
|
PROCEDURE open_blob2 (
|
|||
|
db_handle : database_handle;
|
|||
|
trans_handle : transaction_handle;
|
|||
|
blb_handle : IN OUT blob_handle;
|
|||
|
blob_id : quad;
|
|||
|
bpb_length : short_integer;
|
|||
|
bpb : blr);
|
|||
|
|
|||
|
PROCEDURE prepare_transaction (
|
|||
|
trans_handle : IN OUT transaction_handle);
|
|||
|
|
|||
|
PROCEDURE prepare_transaction2 (
|
|||
|
trans_handle : IN OUT transaction_handle;
|
|||
|
msg_length : short_integer;
|
|||
|
msg : blr);
|
|||
|
|
|||
|
PROCEDURE put_segment (
|
|||
|
blb_handle : blob_handle;
|
|||
|
length : short_integer;
|
|||
|
buffer : string);
|
|||
|
|
|||
|
PROCEDURE put_slice (
|
|||
|
db_handle : database_handle;
|
|||
|
trans_handle : transaction_handle;
|
|||
|
blob_id : IN OUT quad;
|
|||
|
sdl_length : short_integer;
|
|||
|
sdl : blr;
|
|||
|
param_length : short_integer;
|
|||
|
param : string;
|
|||
|
slice_length : integer;
|
|||
|
slice : SYSTEM.ADDRESS);
|
|||
|
|
|||
|
PROCEDURE que_events (
|
|||
|
db_handle : database_handle;
|
|||
|
id : quad;
|
|||
|
length : short_integer;
|
|||
|
events : string;
|
|||
|
ast : integer;
|
|||
|
arg : quad);
|
|||
|
|
|||
|
PROCEDURE receive (
|
|||
|
req_handle : request_handle;
|
|||
|
msg_type : short_integer;
|
|||
|
msg_length : short_integer;
|
|||
|
msg : SYSTEM.ADDRESS;
|
|||
|
level : short_integer);
|
|||
|
|
|||
|
PROCEDURE rollback_transaction (
|
|||
|
trans_handle : IN OUT transaction_handle);
|
|||
|
|
|||
|
PROCEDURE send (
|
|||
|
req_handle : request_handle;
|
|||
|
msg_type : short_integer;
|
|||
|
msg_length : short_integer;
|
|||
|
msg : SYSTEM.ADDRESS;
|
|||
|
level : short_integer);
|
|||
|
|
|||
|
PROCEDURE start_and_send (
|
|||
|
req_handle : request_handle;
|
|||
|
trans_handle : transaction_handle;
|
|||
|
msg_type : short_integer;
|
|||
|
msg_length : short_integer;
|
|||
|
msg : SYSTEM.ADDRESS;
|
|||
|
level : short_integer);
|
|||
|
|
|||
|
PROCEDURE start_request (
|
|||
|
req_handle : request_handle;
|
|||
|
trans_handle : transaction_handle;
|
|||
|
level : short_integer);
|
|||
|
|
|||
|
PROCEDURE start_multiple (
|
|||
|
trans_handle : IN OUT transaction_handle;
|
|||
|
count : short_integer;
|
|||
|
teb : SYSTEM.ADDRESS);
|
|||
|
|
|||
|
PROCEDURE start_transaction (
|
|||
|
trans_handle : IN OUT transaction_handle;
|
|||
|
count : short_integer;
|
|||
|
db_handle : database_handle;
|
|||
|
tpb_length : short_integer;
|
|||
|
tpb_arg : tpb);
|
|||
|
|
|||
|
PROCEDURE unwind_request (
|
|||
|
req_handle : request_handle;
|
|||
|
level : short_integer);
|
|||
|
|
|||
|
PROCEDURE dsql_close (
|
|||
|
cursor_name : string);
|
|||
|
|
|||
|
PROCEDURE dsql_declare (
|
|||
|
statement_name : string;
|
|||
|
cursor_name : string);
|
|||
|
|
|||
|
PROCEDURE dsql_describe (
|
|||
|
statement_name : string;
|
|||
|
descriptor : SYSTEM.ADDRESS);
|
|||
|
|
|||
|
PROCEDURE dsql_execute (
|
|||
|
trans_handle : transaction_handle;
|
|||
|
statement_name : string;
|
|||
|
descriptor : SYSTEM.ADDRESS);
|
|||
|
|
|||
|
PROCEDURE dsql_execute (
|
|||
|
trans_handle : transaction_handle;
|
|||
|
statement_name : string);
|
|||
|
|
|||
|
PROCEDURE dsql_execute_immediate (
|
|||
|
db_handle : database_handle;
|
|||
|
trans_handle : transaction_handle;
|
|||
|
command_length : short_integer;
|
|||
|
command : string);
|
|||
|
|
|||
|
PROCEDURE dsql_fetch (
|
|||
|
sqlcode : OUT integer;
|
|||
|
cursor_name : string;
|
|||
|
descriptor : SYSTEM.ADDRESS);
|
|||
|
|
|||
|
PROCEDURE dsql_fetch (
|
|||
|
sqlcode : OUT integer;
|
|||
|
cursor_name : string);
|
|||
|
|
|||
|
PROCEDURE dsql_open (
|
|||
|
trans_handle : transaction_handle;
|
|||
|
cursor_name : string;
|
|||
|
descriptor : SYSTEM.ADDRESS);
|
|||
|
|
|||
|
PROCEDURE dsql_open (
|
|||
|
trans_handle : transaction_handle;
|
|||
|
cursor_name : string);
|
|||
|
|
|||
|
PROCEDURE dsql_prepare (
|
|||
|
db_handle : database_handle;
|
|||
|
trans_handle : transaction_handle;
|
|||
|
statement_name : string;
|
|||
|
command_length : short_integer;
|
|||
|
command : string;
|
|||
|
descriptor : SYSTEM.ADDRESS);
|
|||
|
|
|||
|
PROCEDURE dsql_prepare (
|
|||
|
db_handle : database_handle;
|
|||
|
trans_handle : transaction_handle;
|
|||
|
statement_name : string;
|
|||
|
command_length : short_integer;
|
|||
|
command : string);
|
|||
|
|
|||
|
--- PYXIS procedures
|
|||
|
|
|||
|
PROCEDURE compile_map (
|
|||
|
frm_handle : form_handle;
|
|||
|
mp_handle : OUT map_handle;
|
|||
|
map_length : short_integer;
|
|||
|
map : blr);
|
|||
|
|
|||
|
PROCEDURE compile_sub_map (
|
|||
|
frm_handle : form_handle;
|
|||
|
mp_handle : OUT map_handle;
|
|||
|
map_length : short_integer;
|
|||
|
map : blr);
|
|||
|
|
|||
|
PROCEDURE drive_form (
|
|||
|
db_handle : database_handle;
|
|||
|
trans_handle : transaction_handle;
|
|||
|
win_handle : window_handle;
|
|||
|
mp_handle : map_handle;
|
|||
|
input : SYSTEM.ADDRESS;
|
|||
|
output : SYSTEM.ADDRESS);
|
|||
|
|
|||
|
PROCEDURE fetch_sub_form (
|
|||
|
db_handle : database_handle;
|
|||
|
trans_handle : transaction_handle;
|
|||
|
mp_handle : map_handle;
|
|||
|
output : SYSTEM.ADDRESS);
|
|||
|
|
|||
|
PROCEDURE insert_sub_form (
|
|||
|
db_handle : database_handle;
|
|||
|
trans_handle : transaction_handle;
|
|||
|
mp_handle : map_handle;
|
|||
|
input : SYSTEM.ADDRESS);
|
|||
|
|
|||
|
PROCEDURE load_form (
|
|||
|
db_handle : database_handle;
|
|||
|
trans_handle : transaction_handle;
|
|||
|
frm_handle : IN OUT form_handle;
|
|||
|
name_length : short_integer;
|
|||
|
form_name : string);
|
|||
|
|
|||
|
PROCEDURE reset_form (
|
|||
|
win_handle : window_handle);
|
|||
|
|
|||
|
END interbase;
|
|||
|
|
|||
|
PACKAGE BODY interbase IS
|
|||
|
|
|||
|
---
|
|||
|
--- Actual Interbase entrypoints
|
|||
|
---
|
|||
|
|
|||
|
PROCEDURE gds_attach_database (
|
|||
|
user_status : OUT status_vector;
|
|||
|
file_length : short_integer;
|
|||
|
file_name : string;
|
|||
|
db_handle : IN OUT database_handle;
|
|||
|
dpb_length : short_integer;
|
|||
|
dpb_arg : dpb);
|
|||
|
|
|||
|
PROCEDURE gds_blob_display (
|
|||
|
blob_id : quad;
|
|||
|
db_handle : database_handle;
|
|||
|
tra_handle : transaction_handle;
|
|||
|
field_name : string;
|
|||
|
name_length : short_integer);
|
|||
|
|
|||
|
PROCEDURE gds_blob_dump (
|
|||
|
blob_id : quad;
|
|||
|
db_handle : database_handle;
|
|||
|
tra_handle : transaction_handle;
|
|||
|
file_name : string;
|
|||
|
name_length : short_integer);
|
|||
|
|
|||
|
PROCEDURE gds_blob_edit (
|
|||
|
blob_id : IN OUT quad;
|
|||
|
db_handle : database_handle;
|
|||
|
tra_handle : transaction_handle;
|
|||
|
field_name : string;
|
|||
|
name_length : short_integer);
|
|||
|
|
|||
|
PROCEDURE gds_blob_load (
|
|||
|
blob_id : IN OUT quad;
|
|||
|
db_handle : database_handle;
|
|||
|
tra_handle : transaction_handle;
|
|||
|
file_name : string;
|
|||
|
name_length : short_integer);
|
|||
|
|
|||
|
PROCEDURE gds_cancel_blob (
|
|||
|
user_status : OUT status_vector;
|
|||
|
blb_handle : IN OUT blob_handle);
|
|||
|
|
|||
|
PROCEDURE gds_cancel_events (
|
|||
|
user_status : OUT status_vector;
|
|||
|
blb_handle : IN OUT blob_handle;
|
|||
|
id : integer);
|
|||
|
|
|||
|
PROCEDURE gds_close_blob (
|
|||
|
user_status : OUT status_vector;
|
|||
|
blb_handle : IN OUT blob_handle);
|
|||
|
|
|||
|
PROCEDURE gds_commit_retaining (
|
|||
|
user_status : OUT status_vector;
|
|||
|
trans_handle : IN OUT transaction_handle);
|
|||
|
|
|||
|
PROCEDURE gds_commit_transaction (
|
|||
|
user_status : OUT status_vector;
|
|||
|
trans_handle : IN OUT transaction_handle);
|
|||
|
|
|||
|
PROCEDURE gds_compile_request (
|
|||
|
user_status : OUT status_vector;
|
|||
|
db_handle : database_handle;
|
|||
|
req_handle : IN OUT request_handle;
|
|||
|
blr_length : short_integer;
|
|||
|
blr_arg : blr);
|
|||
|
|
|||
|
PROCEDURE gds_compile_request2 (
|
|||
|
user_status : OUT status_vector;
|
|||
|
db_handle : database_handle;
|
|||
|
req_handle : IN OUT request_handle;
|
|||
|
blr_length : short_integer;
|
|||
|
blr_arg : blr);
|
|||
|
|
|||
|
PROCEDURE gds_create_blob (
|
|||
|
user_status : OUT status_vector;
|
|||
|
db_handle : database_handle;
|
|||
|
trans_handle : transaction_handle;
|
|||
|
blb_handle : IN OUT blob_handle;
|
|||
|
blob_id : OUT quad);
|
|||
|
|
|||
|
PROCEDURE gds_create_blob2 (
|
|||
|
user_status : OUT status_vector;
|
|||
|
db_handle : database_handle;
|
|||
|
trans_handle : transaction_handle;
|
|||
|
blb_handle : IN OUT blob_handle;
|
|||
|
blob_id : OUT quad;
|
|||
|
bpb_length : short_integer;
|
|||
|
bpb : blr);
|
|||
|
|
|||
|
PROCEDURE gds_create_database (
|
|||
|
user_status : OUT status_vector;
|
|||
|
file_length : short_integer;
|
|||
|
file_name : string;
|
|||
|
db_handle : IN OUT database_handle;
|
|||
|
dpb_length : short_integer;
|
|||
|
dpb_arg : dpb;
|
|||
|
db_type : short_integer);
|
|||
|
|
|||
|
PROCEDURE gds_ddl (
|
|||
|
user_status : OUT status_vector;
|
|||
|
db_handle : database_handle;
|
|||
|
trans_handle : transaction_handle;
|
|||
|
msg_length : short_integer;
|
|||
|
msg : SYSTEM.ADDRESS);
|
|||
|
|
|||
|
PROCEDURE gds_decode_date (
|
|||
|
date : quad;
|
|||
|
times : IN OUT gds_tm);
|
|||
|
|
|||
|
PROCEDURE gds_detach_database (
|
|||
|
user_status : OUT status_vector;
|
|||
|
db_handle : IN OUT database_handle);
|
|||
|
|
|||
|
PROCEDURE gds_encode_date (
|
|||
|
times : gds_tm;
|
|||
|
date : IN OUT quad);
|
|||
|
|
|||
|
PROCEDURE gds_event_wait (
|
|||
|
user_status : OUT status_vector;
|
|||
|
db_handle : database_handle;
|
|||
|
length : short_integer;
|
|||
|
events : string;
|
|||
|
buffer : string);
|
|||
|
|
|||
|
PROCEDURE gds_get_segment (
|
|||
|
user_status : OUT status_vector;
|
|||
|
blb_handle : blob_handle;
|
|||
|
actual_length : OUT short_integer;
|
|||
|
buffer_length : short_integer;
|
|||
|
buffer : string);
|
|||
|
|
|||
|
PROCEDURE gds_get_slice (
|
|||
|
user_status : OUT status_vector;
|
|||
|
db_handle : database_handle;
|
|||
|
trans_handle : transaction_handle;
|
|||
|
blob_id : quad;
|
|||
|
sdl_length : short_integer;
|
|||
|
sdl : blr;
|
|||
|
param_length : short_integer;
|
|||
|
param : string;
|
|||
|
slice_length : integer;
|
|||
|
slice : SYSTEM.ADDRESS;
|
|||
|
return_length : OUT integer);
|
|||
|
|
|||
|
PROCEDURE gds_open_blob (
|
|||
|
user_status : OUT status_vector;
|
|||
|
db_handle : database_handle;
|
|||
|
trans_handle : transaction_handle;
|
|||
|
blb_handle : IN OUT blob_handle;
|
|||
|
blob_id : quad);
|
|||
|
|
|||
|
PROCEDURE gds_open_blob2 (
|
|||
|
user_status : OUT status_vector;
|
|||
|
db_handle : database_handle;
|
|||
|
trans_handle : transaction_handle;
|
|||
|
blb_handle : IN OUT blob_handle;
|
|||
|
blob_id : quad;
|
|||
|
bpb_length : short_integer;
|
|||
|
bpb : blr);
|
|||
|
|
|||
|
PROCEDURE gds_prepare_transaction (
|
|||
|
user_status : OUT status_vector;
|
|||
|
trans_handle : IN OUT transaction_handle);
|
|||
|
|
|||
|
PROCEDURE gds_prepare_transaction2 (
|
|||
|
user_status : OUT status_vector;
|
|||
|
trans_handle : IN OUT transaction_handle;
|
|||
|
msg_length : short_integer;
|
|||
|
msg : blr);
|
|||
|
|
|||
|
PROCEDURE gds_print_status (
|
|||
|
user_status : status_vector);
|
|||
|
|
|||
|
PROCEDURE gds_put_segment (
|
|||
|
user_status : OUT status_vector;
|
|||
|
blb_handle : blob_handle;
|
|||
|
length : short_integer;
|
|||
|
buffer : string);
|
|||
|
|
|||
|
PROCEDURE gds_put_slice (
|
|||
|
user_status : OUT status_vector;
|
|||
|
db_handle : database_handle;
|
|||
|
trans_handle : transaction_handle;
|
|||
|
blob_id : IN OUT quad;
|
|||
|
sdl_length : short_integer;
|
|||
|
sdl : blr;
|
|||
|
param_length : short_integer;
|
|||
|
param : string;
|
|||
|
slice_length : integer;
|
|||
|
slice : SYSTEM.ADDRESS);
|
|||
|
|
|||
|
PROCEDURE gds_que_events (
|
|||
|
user_status : OUT status_vector;
|
|||
|
db_handle : database_handle;
|
|||
|
id : quad;
|
|||
|
length : short_integer;
|
|||
|
events : string;
|
|||
|
ast : integer;
|
|||
|
arg : quad);
|
|||
|
|
|||
|
PROCEDURE gds_receive (
|
|||
|
user_status : OUT status_vector;
|
|||
|
req_handle : request_handle;
|
|||
|
msg_type : short_integer;
|
|||
|
msg_length : short_integer;
|
|||
|
msg : SYSTEM.ADDRESS;
|
|||
|
level : short_integer);
|
|||
|
|
|||
|
PROCEDURE gds_rollback_transaction (
|
|||
|
user_status : OUT status_vector;
|
|||
|
trans_handle : IN OUT transaction_handle);
|
|||
|
|
|||
|
PROCEDURE gds_send (
|
|||
|
user_status : OUT status_vector;
|
|||
|
req_handle : request_handle;
|
|||
|
msg_type : short_integer;
|
|||
|
msg_length : short_integer;
|
|||
|
msg : SYSTEM.ADDRESS;
|
|||
|
level : short_integer);
|
|||
|
|
|||
|
PROCEDURE gds_version (
|
|||
|
db_handle : database_handle;
|
|||
|
ptr1 : integer;
|
|||
|
ptr2 : SYSTEM.ADDRESS);
|
|||
|
|
|||
|
FUNCTION gds_sqlcode (
|
|||
|
user_status : status_vector) RETURN integer;
|
|||
|
|
|||
|
PROCEDURE gds_start_and_send (
|
|||
|
user_status : OUT status_vector;
|
|||
|
req_handle : request_handle;
|
|||
|
trans_handle : transaction_handle;
|
|||
|
msg_type : short_integer;
|
|||
|
msg_length : short_integer;
|
|||
|
msg : SYSTEM.ADDRESS;
|
|||
|
level : short_integer);
|
|||
|
|
|||
|
PROCEDURE gds_start_request (
|
|||
|
user_status : OUT status_vector;
|
|||
|
req_handle : request_handle;
|
|||
|
trans_handle : transaction_handle;
|
|||
|
level : short_integer);
|
|||
|
|
|||
|
PROCEDURE gds_start_multiple (
|
|||
|
user_status : OUT status_vector;
|
|||
|
trans_handle : IN OUT transaction_handle;
|
|||
|
count : short_integer;
|
|||
|
teb : SYSTEM.ADDRESS);
|
|||
|
|
|||
|
PROCEDURE gds_start_transaction (
|
|||
|
user_status : OUT status_vector;
|
|||
|
trans_handle : IN OUT transaction_handle;
|
|||
|
count : short_integer;
|
|||
|
db_handle : database_handle;
|
|||
|
tpb_length : short_integer;
|
|||
|
tpb_arg : tpb);
|
|||
|
|
|||
|
PROCEDURE gds_unwind_request (
|
|||
|
user_status : OUT status_vector;
|
|||
|
req_handle : request_handle;
|
|||
|
level : short_integer);
|
|||
|
|
|||
|
--- Dynamic SQL procedures
|
|||
|
|
|||
|
PROCEDURE gds_close (
|
|||
|
user_status : OUT status_vector;
|
|||
|
cursor_name : string);
|
|||
|
|
|||
|
PROCEDURE gds_declare (
|
|||
|
user_status : OUT status_vector;
|
|||
|
statement_name : string;
|
|||
|
cursor_name : string);
|
|||
|
|
|||
|
PROCEDURE gds_describe (
|
|||
|
user_status : OUT status_vector;
|
|||
|
statement_name : string;
|
|||
|
descriptor : SYSTEM.ADDRESS);
|
|||
|
|
|||
|
PROCEDURE gds_dsql_finish (
|
|||
|
db_handle : database_handle);
|
|||
|
|
|||
|
PROCEDURE gds_execute (
|
|||
|
user_status : OUT status_vector;
|
|||
|
trans_handle : transaction_handle;
|
|||
|
statement_name : string;
|
|||
|
descriptor : SYSTEM.ADDRESS);
|
|||
|
|
|||
|
PROCEDURE gds_execute_immediate (
|
|||
|
user_status : OUT status_vector;
|
|||
|
db_handle : database_handle;
|
|||
|
trans_handle : transaction_handle;
|
|||
|
command_length : short_integer;
|
|||
|
command : string);
|
|||
|
|
|||
|
PROCEDURE gds_fetch (
|
|||
|
user_status : OUT status_vector;
|
|||
|
sqlcode : OUT integer;
|
|||
|
cursor_name : string;
|
|||
|
descriptor : SYSTEM.ADDRESS);
|
|||
|
|
|||
|
PROCEDURE gds_open (
|
|||
|
user_status : OUT status_vector;
|
|||
|
trans_handle : transaction_handle;
|
|||
|
cursor_name : string;
|
|||
|
descriptor : SYSTEM.ADDRESS);
|
|||
|
|
|||
|
PROCEDURE gds_prepare (
|
|||
|
user_status : OUT status_vector;
|
|||
|
db_handle : database_handle;
|
|||
|
trans_handle : transaction_handle;
|
|||
|
statement_name : string;
|
|||
|
command_length : short_integer;
|
|||
|
command : string;
|
|||
|
descriptor : SYSTEM.ADDRESS);
|
|||
|
|
|||
|
--- PYXIS procedures
|
|||
|
|
|||
|
PROCEDURE pyxis_compile_map (
|
|||
|
user_status : OUT status_vector;
|
|||
|
frm_handle : form_handle;
|
|||
|
mp_handle : OUT map_handle;
|
|||
|
map_length : short_integer;
|
|||
|
map : blr);
|
|||
|
|
|||
|
PROCEDURE pyxis_compile_sub_map (
|
|||
|
user_status : OUT status_vector;
|
|||
|
frm_handle : form_handle;
|
|||
|
mp_handle : OUT map_handle;
|
|||
|
map_length : short_integer;
|
|||
|
map : blr);
|
|||
|
|
|||
|
PROCEDURE pyxis_create_window (
|
|||
|
win_handle : OUT window_handle;
|
|||
|
name_length : short_integer;
|
|||
|
file_name : string;
|
|||
|
width : IN OUT short_integer;
|
|||
|
height : IN OUT short_integer);
|
|||
|
|
|||
|
PROCEDURE pyxis_delete_window (
|
|||
|
win_handle : IN OUT window_handle);
|
|||
|
|
|||
|
PROCEDURE pyxis_drive_form (
|
|||
|
user_status : OUT status_vector;
|
|||
|
db_handle : database_handle;
|
|||
|
trans_handle : transaction_handle;
|
|||
|
win_handle : window_handle;
|
|||
|
mp_handle : map_handle;
|
|||
|
input : SYSTEM.ADDRESS;
|
|||
|
output : SYSTEM.ADDRESS);
|
|||
|
|
|||
|
PROCEDURE pyxis_fetch (
|
|||
|
user_status : OUT status_vector;
|
|||
|
db_handle : database_handle;
|
|||
|
trans_handle : transaction_handle;
|
|||
|
mp_handle : map_handle;
|
|||
|
output : SYSTEM.ADDRESS);
|
|||
|
|
|||
|
PROCEDURE pyxis_insert (
|
|||
|
user_status : OUT status_vector;
|
|||
|
db_handle : database_handle;
|
|||
|
trans_handle : transaction_handle;
|
|||
|
mp_handle : map_handle;
|
|||
|
input : SYSTEM.ADDRESS);
|
|||
|
|
|||
|
PROCEDURE pyxis_load_form (
|
|||
|
user_status : OUT status_vector;
|
|||
|
db_handle : database_handle;
|
|||
|
trans_handle : transaction_handle;
|
|||
|
frm_handle : IN OUT form_handle;
|
|||
|
name_length : short_integer;
|
|||
|
form_name : string);
|
|||
|
|
|||
|
FUNCTION pyxis_menu (
|
|||
|
win_handle : window_handle;
|
|||
|
men_handle : menu_handle;
|
|||
|
menu_length : short_integer;
|
|||
|
menu : blr) RETURN short_integer;
|
|||
|
|
|||
|
PROCEDURE pyxis_pop_window (
|
|||
|
win_handle : window_handle);
|
|||
|
|
|||
|
PROCEDURE pyxis_reset_form (
|
|||
|
user_status : OUT status_vector;
|
|||
|
win_handle : window_handle);
|
|||
|
|
|||
|
PROCEDURE pyxis_drive_menu (
|
|||
|
win_handle : IN OUT window_handle;
|
|||
|
men_handle : IN OUT menu_handle;
|
|||
|
blr_length : short_integer;
|
|||
|
blr_source : blr;
|
|||
|
title_length : short_integer;
|
|||
|
title : string;
|
|||
|
terminator : OUT short_integer;
|
|||
|
entree_length : OUT short_integer;
|
|||
|
entree_text : OUT string;
|
|||
|
entree_value : OUT integer);
|
|||
|
|
|||
|
PROCEDURE pyxis_get_entree (
|
|||
|
men_handle : menu_handle;
|
|||
|
entree_length : OUT short_integer;
|
|||
|
entree_text : OUT string;
|
|||
|
entree_value : OUT integer;
|
|||
|
entree_end : OUT short_integer);
|
|||
|
|
|||
|
PROCEDURE pyxis_initialize_menu (
|
|||
|
men_handle : IN OUT menu_handle);
|
|||
|
|
|||
|
PROCEDURE pyxis_put_entree (
|
|||
|
men_handle : menu_handle;
|
|||
|
entree_length : short_integer;
|
|||
|
entree_text : string;
|
|||
|
entree_value : integer);
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
pragma interface (C, gds_attach_database);
|
|||
|
|
|||
|
pragma interface (C, gds_blob_display);
|
|||
|
pragma interface (C, gds_blob_dump);
|
|||
|
pragma interface (C, gds_blob_edit);
|
|||
|
pragma interface (C, gds_blob_load);
|
|||
|
|
|||
|
pragma interface (C, gds_cancel_blob);
|
|||
|
pragma interface (C, gds_cancel_events);
|
|||
|
pragma interface (C, gds_close);
|
|||
|
pragma interface (C, gds_close_blob);
|
|||
|
pragma interface (C, gds_commit_retaining);
|
|||
|
pragma interface (C, gds_commit_transaction);
|
|||
|
pragma interface (C, gds_compile_request);
|
|||
|
pragma interface (C, gds_compile_request2);
|
|||
|
pragma interface (C, gds_create_blob);
|
|||
|
pragma interface (C, gds_create_blob2);
|
|||
|
pragma interface (C, gds_create_database);
|
|||
|
|
|||
|
pragma interface (C, gds_ddl);
|
|||
|
pragma interface (C, gds_declare);
|
|||
|
pragma interface (C, gds_decode_date);
|
|||
|
pragma interface (C, gds_describe);
|
|||
|
pragma interface (C, gds_detach_database);
|
|||
|
pragma interface (C, gds_dsql_finish);
|
|||
|
|
|||
|
pragma interface (C, gds_encode_date);
|
|||
|
pragma interface (C, gds_event_wait);
|
|||
|
pragma interface (C, gds_execute);
|
|||
|
pragma interface (C, gds_execute_immediate);
|
|||
|
|
|||
|
pragma interface (C, gds_fetch);
|
|||
|
|
|||
|
pragma interface (C, gds_get_segment);
|
|||
|
pragma interface (C, gds_get_slice);
|
|||
|
|
|||
|
pragma interface (C, gds_open);
|
|||
|
pragma interface (C, gds_open_blob);
|
|||
|
pragma interface (C, gds_open_blob2);
|
|||
|
|
|||
|
pragma interface (C, gds_prepare);
|
|||
|
pragma interface (C, gds_prepare_transaction);
|
|||
|
pragma interface (C, gds_prepare_transaction2);
|
|||
|
pragma interface (C, gds_print_status);
|
|||
|
pragma interface (C, gds_put_segment);
|
|||
|
pragma interface (C, gds_put_slice);
|
|||
|
|
|||
|
pragma interface (C, gds_que_events);
|
|||
|
|
|||
|
pragma interface (C, gds_receive);
|
|||
|
pragma interface (C, gds_rollback_transaction);
|
|||
|
|
|||
|
pragma interface (C, gds_send);
|
|||
|
pragma interface (C, gds_sqlcode);
|
|||
|
pragma interface (C, gds_start_and_send);
|
|||
|
pragma interface (C, gds_start_multiple);
|
|||
|
pragma interface (C, gds_start_request);
|
|||
|
pragma interface (C, gds_start_transaction);
|
|||
|
|
|||
|
pragma interface (C, gds_unwind_request);
|
|||
|
|
|||
|
pragma interface (C, gds_version);
|
|||
|
|
|||
|
pragma interface (C, pyxis_compile_map);
|
|||
|
pragma interface (C, pyxis_compile_sub_map);
|
|||
|
pragma interface (C, pyxis_create_window);
|
|||
|
|
|||
|
pragma interface (C, pyxis_delete_window);
|
|||
|
pragma interface (C, pyxis_drive_form);
|
|||
|
pragma interface (C, pyxis_drive_menu);
|
|||
|
|
|||
|
pragma interface (C, pyxis_fetch);
|
|||
|
|
|||
|
pragma interface (C, pyxis_get_entree);
|
|||
|
|
|||
|
pragma interface (C, pyxis_initialize_menu);
|
|||
|
pragma interface (C, pyxis_insert);
|
|||
|
|
|||
|
pragma interface (C, pyxis_load_form);
|
|||
|
|
|||
|
pragma interface (C, pyxis_menu);
|
|||
|
|
|||
|
pragma interface (C, pyxis_pop_window);
|
|||
|
pragma interface (C, pyxis_put_entree);
|
|||
|
|
|||
|
pragma interface (C, pyxis_reset_form);
|
|||
|
|
|||
|
|
|||
|
|
|||
|
pragma import_procedure (gds_attach_database, "gds_$attach_database",
|
|||
|
mechanism => (reference, value, reference, reference, value, reference));
|
|||
|
|
|||
|
pragma import_procedure (gds_blob_display, "blob_$display",
|
|||
|
mechanism => (reference, reference, reference, reference, reference));
|
|||
|
pragma import_procedure (gds_blob_dump, "blob_$dump",
|
|||
|
mechanism => (reference, reference, reference, reference, reference));
|
|||
|
pragma import_procedure (gds_blob_edit, "blob_$edit",
|
|||
|
mechanism => (reference, reference, reference, reference, reference));
|
|||
|
pragma import_procedure (gds_blob_load, "blob_$load",
|
|||
|
mechanism => (reference, reference, reference, reference, reference));
|
|||
|
|
|||
|
pragma import_procedure (gds_cancel_blob, "gds_$cancel_blob",
|
|||
|
mechanism => (reference, reference));
|
|||
|
|
|||
|
pragma import_procedure (gds_cancel_events, "gds_$cancel_events",
|
|||
|
mechanism => (reference, reference, reference));
|
|||
|
pragma import_procedure (gds_close, "gds_$close",
|
|||
|
mechanism => (reference, reference));
|
|||
|
pragma import_procedure (gds_close_blob, "gds_$close_blob",
|
|||
|
mechanism => (reference, reference));
|
|||
|
pragma import_procedure (gds_commit_retaining, "gds_$commit_retaining",
|
|||
|
mechanism => (reference, reference));
|
|||
|
pragma import_procedure (gds_commit_transaction, "gds_$commit_transaction",
|
|||
|
mechanism => (reference, reference));
|
|||
|
pragma import_procedure (gds_compile_request, "gds_$compile_request",
|
|||
|
mechanism => (reference, reference, reference, value, reference));
|
|||
|
pragma import_procedure (gds_compile_request2, "gds_$compile_request2",
|
|||
|
mechanism => (reference, reference, reference, value, reference));
|
|||
|
pragma import_procedure (gds_create_blob, "gds_$create_blob",
|
|||
|
mechanism => (reference, reference, reference, reference, reference));
|
|||
|
pragma import_procedure (gds_create_blob2, "gds_$create_blob2",
|
|||
|
mechanism => (reference, reference, reference, reference, reference, value, reference));
|
|||
|
pragma import_procedure (gds_create_database, "gds_$create_database",
|
|||
|
mechanism => (reference, value, reference, reference, value, reference, value));
|
|||
|
|
|||
|
pragma import_procedure (gds_ddl, "gds_$ddl",
|
|||
|
mechanism => (reference, reference, reference, value, value));
|
|||
|
pragma import_procedure (gds_declare, "gds_$declare",
|
|||
|
mechanism => (reference, reference, reference));
|
|||
|
pragma import_procedure (gds_decode_date, "gds_$decode_date",
|
|||
|
mechanism => (reference, reference));
|
|||
|
pragma import_procedure (gds_describe, "gds_$describe",
|
|||
|
mechanism => (reference, reference, value));
|
|||
|
pragma import_procedure (gds_detach_database, "gds_$detach_database",
|
|||
|
mechanism => (reference, reference));
|
|||
|
pragma import_procedure (gds_dsql_finish, "gds_$dsql_finish",
|
|||
|
mechanism => (reference));
|
|||
|
|
|||
|
pragma import_procedure (gds_encode_date, "gds_$encode_date",
|
|||
|
mechanism => (reference, reference));
|
|||
|
pragma import_procedure (gds_event_wait, "gds_$event_wait",
|
|||
|
mechanism => (reference, reference, value, reference, reference));
|
|||
|
pragma import_procedure (gds_execute, "gds_$execute",
|
|||
|
mechanism => (reference, reference, reference, value));
|
|||
|
pragma import_procedure (gds_execute_immediate, "gds_$execute_immediate",
|
|||
|
mechanism => (reference, reference, reference, reference, reference));
|
|||
|
|
|||
|
pragma import_procedure (gds_fetch, "gds_$fetch_a",
|
|||
|
mechanism => (reference, reference, reference, value));
|
|||
|
|
|||
|
pragma import_procedure (gds_get_segment, "gds_$get_segment",
|
|||
|
mechanism => (reference, reference, reference, value, reference));
|
|||
|
pragma import_procedure (gds_get_slice, "gds_$get_slice",
|
|||
|
mechanism => (reference, reference, reference, reference, value, reference,
|
|||
|
value, reference, value, value, reference));
|
|||
|
|
|||
|
pragma import_procedure (gds_open, "gds_$open",
|
|||
|
mechanism => (reference, reference, reference, value));
|
|||
|
pragma import_procedure (gds_open_blob, "gds_$open_blob",
|
|||
|
mechanism => (reference, reference, reference, reference, reference));
|
|||
|
pragma import_procedure (gds_open_blob2, "gds_$open_blob2",
|
|||
|
mechanism => (reference, reference, reference, reference, reference, value, reference));
|
|||
|
|
|||
|
pragma import_procedure (gds_prepare, "gds_$prepare",
|
|||
|
mechanism => (reference, reference, reference, reference, reference, reference, value));
|
|||
|
pragma import_procedure (gds_prepare_transaction, "gds_$prepare_transaction",
|
|||
|
mechanism => (reference, reference));
|
|||
|
pragma import_procedure (gds_prepare_transaction2, "gds_$prepare_transaction2",
|
|||
|
mechanism => (reference, reference, value, reference));
|
|||
|
pragma import_procedure (gds_print_status, "gds_$print_status",
|
|||
|
mechanism => (reference));
|
|||
|
pragma import_procedure (gds_put_segment, "gds_$put_segment",
|
|||
|
mechanism => (reference, reference, value, reference));
|
|||
|
pragma import_procedure (gds_put_slice, "gds_$put_slice",
|
|||
|
mechanism => (reference, reference, reference, reference, value,
|
|||
|
reference, value, reference, value, value));
|
|||
|
|
|||
|
pragma import_procedure (gds_que_events, "gds_$que_events",
|
|||
|
mechanism => (reference, reference, reference, value, reference,
|
|||
|
value, reference));
|
|||
|
|
|||
|
pragma import_procedure (gds_receive, "gds_$receive",
|
|||
|
mechanism => (reference, reference, value, value, value, value));
|
|||
|
pragma import_procedure (gds_rollback_transaction, "gds_$rollback_transaction",
|
|||
|
mechanism => (reference, reference));
|
|||
|
|
|||
|
pragma import_function (gds_sqlcode, "gds_$sqlcode",
|
|||
|
mechanism => (reference));
|
|||
|
pragma import_procedure (gds_send, "gds_$send",
|
|||
|
mechanism => (reference, reference, value, value, value, value));
|
|||
|
pragma import_procedure (gds_start_and_send, "gds_$start_and_send",
|
|||
|
mechanism => (reference, reference, reference, value, value, value, value));
|
|||
|
pragma import_procedure (gds_start_multiple, "gds_$start_multiple",
|
|||
|
mechanism => (reference, reference, value, value));
|
|||
|
pragma import_procedure (gds_start_request, "gds_$start_request",
|
|||
|
mechanism => (reference, reference, reference, value));
|
|||
|
pragma import_procedure (gds_start_transaction, "gds_$start_transaction",
|
|||
|
mechanism => (reference, reference, value, reference, value, reference));
|
|||
|
|
|||
|
pragma import_procedure (gds_unwind_request, "gds_$unwind_request",
|
|||
|
mechanism => (reference, reference, value));
|
|||
|
|
|||
|
pragma import_procedure (gds_version, "gds_$version",
|
|||
|
mechanism => (reference, value, reference));
|
|||
|
|
|||
|
pragma import_procedure (pyxis_compile_map, "pyxis_$compile_map",
|
|||
|
mechanism => (reference, reference, reference, reference, reference));
|
|||
|
pragma import_procedure (pyxis_compile_sub_map, "pyxis_$compile_sub_map",
|
|||
|
mechanism => (reference, reference, reference, reference, reference));
|
|||
|
pragma import_procedure (pyxis_create_window, "pyxis_$create_window",
|
|||
|
mechanism => (reference, reference, reference, reference, reference));
|
|||
|
|
|||
|
pragma import_procedure (pyxis_delete_window, "pyxis_$delete_window",
|
|||
|
mechanism => (reference));
|
|||
|
pragma import_procedure (pyxis_drive_form, "pyxis_$drive_form",
|
|||
|
mechanism => (reference, reference, reference, reference, reference, value, value));
|
|||
|
pragma import_procedure (pyxis_drive_menu, "pyxis_$drive_menu",
|
|||
|
mechanism => (reference, reference, reference, reference, reference, reference,
|
|||
|
reference, reference, reference, reference));
|
|||
|
|
|||
|
pragma import_procedure (pyxis_fetch, "pyxis_$fetch",
|
|||
|
mechanism => (reference, reference, reference, reference, value));
|
|||
|
|
|||
|
pragma import_procedure (pyxis_get_entree, "pyxis_$get_entree",
|
|||
|
mechanism => (reference, reference, reference, reference, reference));
|
|||
|
|
|||
|
pragma import_procedure (pyxis_initialize_menu, "pyxis_$initialize_menu",
|
|||
|
mechanism => (reference));
|
|||
|
pragma import_procedure (pyxis_insert, "pyxis_$insert",
|
|||
|
mechanism => (reference, reference, reference, reference, value));
|
|||
|
|
|||
|
pragma import_procedure (pyxis_load_form, "pyxis_$load_form",
|
|||
|
mechanism => (reference, reference, reference, reference, reference, reference));
|
|||
|
|
|||
|
pragma import_function (pyxis_menu, "pyxis_$menu",
|
|||
|
mechanism => (reference, reference, reference, reference));
|
|||
|
|
|||
|
pragma import_procedure (pyxis_pop_window, "pyxis_$pop_window",
|
|||
|
mechanism => (reference));
|
|||
|
pragma import_procedure (pyxis_put_entree, "pyxis_$put_entree",
|
|||
|
mechanism => (reference, reference, reference, reference));
|
|||
|
|
|||
|
pragma import_procedure (pyxis_reset_form, "pyxis_$reset_form",
|
|||
|
mechanism => (reference, reference));
|
|||
|
|
|||
|
|
|||
|
|
|||
|
---
|
|||
|
--- Interface routines that return status vector
|
|||
|
---
|
|||
|
|
|||
|
PROCEDURE attach_database (
|
|||
|
user_status : OUT status_vector;
|
|||
|
file_length : short_integer;
|
|||
|
file_name : string;
|
|||
|
db_handle : IN OUT database_handle;
|
|||
|
dpb_length : short_integer;
|
|||
|
dpb_arg : dpb) IS
|
|||
|
BEGIN
|
|||
|
gds_attach_database (
|
|||
|
user_status,
|
|||
|
file_length,
|
|||
|
file_name,
|
|||
|
db_handle,
|
|||
|
dpb_length,
|
|||
|
dpb_arg);
|
|||
|
END attach_database;
|
|||
|
|
|||
|
PROCEDURE blob_display (
|
|||
|
blob_id : quad;
|
|||
|
db_handle : database_handle;
|
|||
|
tra_handle : transaction_handle;
|
|||
|
field_name : string;
|
|||
|
name_length : short_integer) IS
|
|||
|
BEGIN
|
|||
|
gds_blob_display (
|
|||
|
blob_id,
|
|||
|
db_handle,
|
|||
|
tra_handle,
|
|||
|
field_name,
|
|||
|
name_length);
|
|||
|
END blob_display;
|
|||
|
|
|||
|
|
|||
|
PROCEDURE blob_dump (
|
|||
|
blob_id : quad;
|
|||
|
db_handle : database_handle;
|
|||
|
tra_handle : transaction_handle;
|
|||
|
file_name : string;
|
|||
|
name_length : short_integer) IS
|
|||
|
BEGIN
|
|||
|
gds_blob_dump (
|
|||
|
blob_id,
|
|||
|
db_handle,
|
|||
|
tra_handle,
|
|||
|
file_name,
|
|||
|
name_length);
|
|||
|
END blob_dump;
|
|||
|
|
|||
|
|
|||
|
PROCEDURE blob_edit (
|
|||
|
blob_id : IN OUT quad;
|
|||
|
db_handle : database_handle;
|
|||
|
tra_handle : transaction_handle;
|
|||
|
field_name : string;
|
|||
|
name_length : short_integer) IS
|
|||
|
BEGIN
|
|||
|
gds_blob_edit (
|
|||
|
blob_id,
|
|||
|
db_handle,
|
|||
|
tra_handle,
|
|||
|
field_name,
|
|||
|
name_length);
|
|||
|
END blob_edit;
|
|||
|
|
|||
|
|
|||
|
PROCEDURE blob_load (
|
|||
|
blob_id : IN OUT quad;
|
|||
|
db_handle : database_handle;
|
|||
|
tra_handle : transaction_handle;
|
|||
|
file_name : string;
|
|||
|
name_length : short_integer) IS
|
|||
|
BEGIN
|
|||
|
gds_blob_load (
|
|||
|
blob_id,
|
|||
|
db_handle,
|
|||
|
tra_handle,
|
|||
|
file_name,
|
|||
|
name_length);
|
|||
|
END blob_load;
|
|||
|
|
|||
|
|
|||
|
PROCEDURE cancel_blob (
|
|||
|
user_status : OUT status_vector;
|
|||
|
blb_handle : IN OUT blob_handle) IS
|
|||
|
BEGIN
|
|||
|
gds_cancel_blob (
|
|||
|
user_status,
|
|||
|
blb_handle);
|
|||
|
END cancel_blob;
|
|||
|
|
|||
|
|
|||
|
PROCEDURE cancel_events (
|
|||
|
user_status : OUT status_vector;
|
|||
|
blb_handle : IN OUT blob_handle;
|
|||
|
id : integer) IS
|
|||
|
BEGIN
|
|||
|
gds_cancel_events (
|
|||
|
user_status,
|
|||
|
blb_handle,
|
|||
|
id);
|
|||
|
END cancel_events;
|
|||
|
|
|||
|
PROCEDURE close_blob (
|
|||
|
user_status : OUT status_vector;
|
|||
|
blb_handle : IN OUT blob_handle) IS
|
|||
|
BEGIN
|
|||
|
gds_close_blob (
|
|||
|
user_status,
|
|||
|
blb_handle);
|
|||
|
END close_blob;
|
|||
|
|
|||
|
PROCEDURE commit_retaining (
|
|||
|
user_status : OUT status_vector;
|
|||
|
trans_handle : IN OUT transaction_handle) IS
|
|||
|
BEGIN
|
|||
|
gds_commit_retaining (
|
|||
|
user_status,
|
|||
|
trans_handle);
|
|||
|
END commit_retaining;
|
|||
|
|
|||
|
PROCEDURE commit_transaction (
|
|||
|
user_status : OUT status_vector;
|
|||
|
trans_handle : IN OUT transaction_handle) IS
|
|||
|
BEGIN
|
|||
|
gds_commit_transaction (
|
|||
|
user_status,
|
|||
|
trans_handle);
|
|||
|
END commit_transaction;
|
|||
|
|
|||
|
|
|||
|
PROCEDURE compile_request (
|
|||
|
user_status : OUT status_vector;
|
|||
|
db_handle : database_handle;
|
|||
|
req_handle : IN OUT request_handle;
|
|||
|
blr_length : short_integer;
|
|||
|
blr_arg : blr) IS
|
|||
|
BEGIN
|
|||
|
gds_compile_request (
|
|||
|
user_status,
|
|||
|
db_handle,
|
|||
|
req_handle,
|
|||
|
blr_length,
|
|||
|
blr_arg);
|
|||
|
END compile_request;
|
|||
|
|
|||
|
|
|||
|
PROCEDURE compile_request2 (
|
|||
|
user_status : OUT status_vector;
|
|||
|
db_handle : database_handle;
|
|||
|
req_handle : IN OUT request_handle;
|
|||
|
blr_length : short_integer;
|
|||
|
blr_arg : blr) IS
|
|||
|
BEGIN
|
|||
|
gds_compile_request2 (
|
|||
|
user_status,
|
|||
|
db_handle,
|
|||
|
req_handle,
|
|||
|
blr_length,
|
|||
|
blr_arg);
|
|||
|
END compile_request2;
|
|||
|
|
|||
|
|
|||
|
PROCEDURE create_blob (
|
|||
|
user_status : OUT status_vector;
|
|||
|
db_handle : database_handle;
|
|||
|
trans_handle : transaction_handle;
|
|||
|
blb_handle : IN OUT blob_handle;
|
|||
|
blob_id : OUT quad) IS
|
|||
|
BEGIN
|
|||
|
gds_create_blob (
|
|||
|
user_status,
|
|||
|
db_handle,
|
|||
|
trans_handle,
|
|||
|
blb_handle,
|
|||
|
blob_id);
|
|||
|
END create_blob;
|
|||
|
|
|||
|
PROCEDURE create_blob2 (
|
|||
|
user_status : OUT status_vector;
|
|||
|
db_handle : database_handle;
|
|||
|
trans_handle : transaction_handle;
|
|||
|
blb_handle : IN OUT blob_handle;
|
|||
|
blob_id : OUT quad;
|
|||
|
bpb_length : short_integer;
|
|||
|
bpb : blr) IS
|
|||
|
BEGIN
|
|||
|
gds_create_blob2 (
|
|||
|
user_status,
|
|||
|
db_handle,
|
|||
|
trans_handle,
|
|||
|
blb_handle,
|
|||
|
blob_id,
|
|||
|
bpb_length,
|
|||
|
bpb);
|
|||
|
END create_blob2;
|
|||
|
|
|||
|
PROCEDURE create_database (
|
|||
|
user_status : OUT status_vector;
|
|||
|
file_length : short_integer;
|
|||
|
file_name : string;
|
|||
|
db_handle : IN OUT database_handle;
|
|||
|
dpb_length : short_integer;
|
|||
|
dpb_arg : dpb;
|
|||
|
db_type : short_integer) IS
|
|||
|
BEGIN
|
|||
|
gds_create_database (
|
|||
|
user_status,
|
|||
|
file_length,
|
|||
|
file_name,
|
|||
|
db_handle,
|
|||
|
dpb_length,
|
|||
|
dpb_arg,
|
|||
|
db_type);
|
|||
|
END create_database;
|
|||
|
|
|||
|
|
|||
|
PROCEDURE ddl (
|
|||
|
user_status : OUT status_vector;
|
|||
|
db_handle : database_handle;
|
|||
|
trans_handle : transaction_handle;
|
|||
|
msg_length : short_integer;
|
|||
|
msg : SYSTEM.ADDRESS) IS
|
|||
|
BEGIN
|
|||
|
gds_ddl (
|
|||
|
user_status,
|
|||
|
db_handle,
|
|||
|
trans_handle,
|
|||
|
msg_length,
|
|||
|
msg);
|
|||
|
END ddl;
|
|||
|
|
|||
|
|
|||
|
PROCEDURE decode_date (
|
|||
|
date : quad;
|
|||
|
times : IN OUT gds_tm) IS
|
|||
|
BEGIN
|
|||
|
gds_decode_date (
|
|||
|
date,
|
|||
|
times);
|
|||
|
END decode_date;
|
|||
|
|
|||
|
|
|||
|
PROCEDURE detach_database (
|
|||
|
user_status : OUT status_vector;
|
|||
|
db_handle : IN OUT database_handle) IS
|
|||
|
BEGIN
|
|||
|
gds_detach_database (
|
|||
|
user_status,
|
|||
|
db_handle);
|
|||
|
END detach_database;
|
|||
|
|
|||
|
|
|||
|
PROCEDURE encode_date (
|
|||
|
times : gds_tm;
|
|||
|
date : IN OUT quad) IS
|
|||
|
BEGIN
|
|||
|
gds_encode_date (
|
|||
|
times,
|
|||
|
date);
|
|||
|
END encode_date;
|
|||
|
|
|||
|
|
|||
|
PROCEDURE event_wait (
|
|||
|
user_status : OUT status_vector;
|
|||
|
db_handle : database_handle;
|
|||
|
length : short_integer;
|
|||
|
events : string;
|
|||
|
buffer : string) IS
|
|||
|
BEGIN
|
|||
|
gds_event_wait (
|
|||
|
user_status,
|
|||
|
db_handle,
|
|||
|
length,
|
|||
|
events,
|
|||
|
buffer);
|
|||
|
END event_wait;
|
|||
|
|
|||
|
PROCEDURE get_segment (
|
|||
|
user_status : OUT status_vector;
|
|||
|
blb_handle : blob_handle;
|
|||
|
actual_length : OUT short_integer;
|
|||
|
buffer_length : short_integer;
|
|||
|
buffer : string) IS
|
|||
|
BEGIN
|
|||
|
gds_get_segment (
|
|||
|
user_status,
|
|||
|
blb_handle,
|
|||
|
actual_length,
|
|||
|
buffer_length,
|
|||
|
buffer);
|
|||
|
END get_segment;
|
|||
|
|
|||
|
|
|||
|
PROCEDURE get_slice (
|
|||
|
user_status : OUT status_vector;
|
|||
|
db_handle : database_handle;
|
|||
|
trans_handle : transaction_handle;
|
|||
|
blob_id : quad;
|
|||
|
sdl_length : short_integer;
|
|||
|
sdl : blr;
|
|||
|
param_length : short_integer;
|
|||
|
param : string;
|
|||
|
slice_length : integer;
|
|||
|
slice : SYSTEM.ADDRESS;
|
|||
|
return_length : OUT integer) IS
|
|||
|
BEGIN
|
|||
|
gds_get_slice (
|
|||
|
user_status,
|
|||
|
db_handle,
|
|||
|
trans_handle,
|
|||
|
blob_id,
|
|||
|
sdl_length,
|
|||
|
sdl,
|
|||
|
param_length,
|
|||
|
param,
|
|||
|
slice_length,
|
|||
|
slice,
|
|||
|
return_length);
|
|||
|
END get_slice;
|
|||
|
|
|||
|
PROCEDURE open_blob (
|
|||
|
user_status : OUT status_vector;
|
|||
|
db_handle : database_handle;
|
|||
|
trans_handle : transaction_handle;
|
|||
|
blb_handle : IN OUT blob_handle;
|
|||
|
blob_id : quad) IS
|
|||
|
BEGIN
|
|||
|
gds_open_blob (
|
|||
|
user_status,
|
|||
|
db_handle,
|
|||
|
trans_handle,
|
|||
|
blb_handle,
|
|||
|
blob_id);
|
|||
|
END open_blob;
|
|||
|
|
|||
|
|
|||
|
PROCEDURE open_blob2 (
|
|||
|
user_status : OUT status_vector;
|
|||
|
db_handle : database_handle;
|
|||
|
trans_handle : transaction_handle;
|
|||
|
blb_handle : IN OUT blob_handle;
|
|||
|
blob_id : quad;
|
|||
|
bpb_length : short_integer;
|
|||
|
bpb : blr) IS
|
|||
|
BEGIN
|
|||
|
gds_open_blob2 (
|
|||
|
user_status,
|
|||
|
db_handle,
|
|||
|
trans_handle,
|
|||
|
blb_handle,
|
|||
|
blob_id,
|
|||
|
bpb_length,
|
|||
|
bpb);
|
|||
|
END open_blob2;
|
|||
|
|
|||
|
|
|||
|
PROCEDURE prepare_transaction (
|
|||
|
user_status : OUT status_vector;
|
|||
|
trans_handle : IN OUT transaction_handle) IS
|
|||
|
BEGIN
|
|||
|
gds_prepare_transaction (
|
|||
|
user_status,
|
|||
|
trans_handle);
|
|||
|
END prepare_transaction;
|
|||
|
|
|||
|
|
|||
|
PROCEDURE prepare_transaction2 (
|
|||
|
user_status : OUT status_vector;
|
|||
|
trans_handle : IN OUT transaction_handle;
|
|||
|
msg_length : short_integer;
|
|||
|
msg : blr) IS
|
|||
|
BEGIN
|
|||
|
gds_prepare_transaction2 (
|
|||
|
user_status,
|
|||
|
trans_handle,
|
|||
|
msg_length,
|
|||
|
msg);
|
|||
|
END prepare_transaction2;
|
|||
|
|
|||
|
|
|||
|
PROCEDURE put_segment (
|
|||
|
user_status : OUT status_vector;
|
|||
|
blb_handle : blob_handle;
|
|||
|
length : short_integer;
|
|||
|
buffer : string) IS
|
|||
|
BEGIN
|
|||
|
gds_put_segment (
|
|||
|
user_status,
|
|||
|
blb_handle,
|
|||
|
length,
|
|||
|
buffer);
|
|||
|
END put_segment;
|
|||
|
|
|||
|
|
|||
|
PROCEDURE put_slice (
|
|||
|
user_status : OUT status_vector;
|
|||
|
db_handle : database_handle;
|
|||
|
trans_handle : transaction_handle;
|
|||
|
blob_id : IN OUT quad;
|
|||
|
sdl_length : short_integer;
|
|||
|
sdl : blr;
|
|||
|
param_length : short_integer;
|
|||
|
param : string;
|
|||
|
slice_length : integer;
|
|||
|
slice : SYSTEM.ADDRESS) IS
|
|||
|
BEGIN
|
|||
|
gds_put_slice (
|
|||
|
user_status,
|
|||
|
db_handle,
|
|||
|
trans_handle,
|
|||
|
blob_id,
|
|||
|
sdl_length,
|
|||
|
sdl,
|
|||
|
param_length,
|
|||
|
param,
|
|||
|
slice_length,
|
|||
|
slice);
|
|||
|
END put_slice;
|
|||
|
|
|||
|
|
|||
|
PROCEDURE print_status (
|
|||
|
user_status : status_vector) IS
|
|||
|
BEGIN
|
|||
|
gds_print_status (user_status);
|
|||
|
end print_status;
|
|||
|
|
|||
|
|
|||
|
PROCEDURE que_events (
|
|||
|
user_status : OUT status_vector;
|
|||
|
db_handle : database_handle;
|
|||
|
id : quad;
|
|||
|
length : short_integer;
|
|||
|
events : string;
|
|||
|
ast : integer;
|
|||
|
arg : quad) IS
|
|||
|
BEGIN
|
|||
|
gds_que_events (
|
|||
|
user_status,
|
|||
|
db_handle,
|
|||
|
id,
|
|||
|
length,
|
|||
|
events,
|
|||
|
ast,
|
|||
|
arg);
|
|||
|
END que_events;
|
|||
|
|
|||
|
|
|||
|
PROCEDURE receive (
|
|||
|
user_status : OUT status_vector;
|
|||
|
req_handle : request_handle;
|
|||
|
msg_type : short_integer;
|
|||
|
msg_length : short_integer;
|
|||
|
msg : SYSTEM.ADDRESS;
|
|||
|
level : short_integer) IS
|
|||
|
BEGIN
|
|||
|
gds_receive (
|
|||
|
user_status,
|
|||
|
req_handle,
|
|||
|
msg_type,
|
|||
|
msg_length,
|
|||
|
msg,
|
|||
|
level);
|
|||
|
END receive;
|
|||
|
|
|||
|
PROCEDURE rollback_transaction (
|
|||
|
user_status : OUT status_vector;
|
|||
|
trans_handle : IN OUT transaction_handle) IS
|
|||
|
BEGIN
|
|||
|
gds_rollback_transaction (
|
|||
|
user_status,
|
|||
|
trans_handle);
|
|||
|
END rollback_transaction;
|
|||
|
|
|||
|
|
|||
|
PROCEDURE print_version (
|
|||
|
db_handle: database_handle) IS
|
|||
|
|
|||
|
ptr : integer := 0;
|
|||
|
BEGIN
|
|||
|
gds_version (
|
|||
|
db_handle,
|
|||
|
0,
|
|||
|
ptr'address);
|
|||
|
END print_version;
|
|||
|
|
|||
|
FUNCTION sqlcode (
|
|||
|
user_status : status_vector) RETURN integer IS
|
|||
|
BEGIN
|
|||
|
return gds_sqlcode (user_status);
|
|||
|
end sqlcode;
|
|||
|
|
|||
|
|
|||
|
PROCEDURE send (
|
|||
|
user_status : OUT status_vector;
|
|||
|
req_handle : request_handle;
|
|||
|
msg_type : short_integer;
|
|||
|
msg_length : short_integer;
|
|||
|
msg : SYSTEM.ADDRESS;
|
|||
|
level : short_integer) IS
|
|||
|
BEGIN
|
|||
|
gds_send (
|
|||
|
user_status,
|
|||
|
req_handle,
|
|||
|
msg_type,
|
|||
|
msg_length,
|
|||
|
msg,
|
|||
|
level);
|
|||
|
END send;
|
|||
|
|
|||
|
PROCEDURE start_request (
|
|||
|
user_status : OUT status_vector;
|
|||
|
req_handle : request_handle;
|
|||
|
trans_handle : transaction_handle;
|
|||
|
level : short_integer) IS
|
|||
|
BEGIN
|
|||
|
gds_start_request (
|
|||
|
user_status,
|
|||
|
req_handle,
|
|||
|
trans_handle,
|
|||
|
level);
|
|||
|
END start_request;
|
|||
|
|
|||
|
|
|||
|
PROCEDURE start_and_send (
|
|||
|
user_status : OUT status_vector;
|
|||
|
req_handle : request_handle;
|
|||
|
trans_handle : transaction_handle;
|
|||
|
msg_type : short_integer;
|
|||
|
msg_length : short_integer;
|
|||
|
msg : SYSTEM.ADDRESS;
|
|||
|
level : short_integer) IS
|
|||
|
BEGIN
|
|||
|
gds_start_and_send (
|
|||
|
user_status,
|
|||
|
req_handle,
|
|||
|
trans_handle,
|
|||
|
msg_type,
|
|||
|
msg_length,
|
|||
|
msg,
|
|||
|
level);
|
|||
|
END start_and_send;
|
|||
|
|
|||
|
PROCEDURE start_multiple (
|
|||
|
user_status : OUT status_vector;
|
|||
|
trans_handle : IN OUT transaction_handle;
|
|||
|
count : short_integer;
|
|||
|
teb : SYSTEM.ADDRESS) IS
|
|||
|
BEGIN
|
|||
|
gds_start_multiple (
|
|||
|
user_status,
|
|||
|
trans_handle,
|
|||
|
count,
|
|||
|
teb);
|
|||
|
END start_multiple;
|
|||
|
|
|||
|
|
|||
|
PROCEDURE start_transaction (
|
|||
|
user_status : OUT status_vector;
|
|||
|
trans_handle : IN OUT transaction_handle;
|
|||
|
count : short_integer;
|
|||
|
db_handle : database_handle;
|
|||
|
tpb_length : short_integer;
|
|||
|
tpb_arg : tpb) IS
|
|||
|
BEGIN
|
|||
|
gds_start_transaction (
|
|||
|
user_status,
|
|||
|
trans_handle,
|
|||
|
count,
|
|||
|
db_handle,
|
|||
|
tpb_length,
|
|||
|
tpb_arg);
|
|||
|
END start_transaction;
|
|||
|
|
|||
|
|
|||
|
PROCEDURE unwind_request (
|
|||
|
user_status : OUT status_vector;
|
|||
|
req_handle : request_handle;
|
|||
|
level : short_integer) IS
|
|||
|
BEGIN
|
|||
|
gds_unwind_request (
|
|||
|
user_status,
|
|||
|
req_handle,
|
|||
|
level);
|
|||
|
END unwind_request;
|
|||
|
|
|||
|
|
|||
|
--- Dynamic SQL procedures
|
|||
|
|
|||
|
PROCEDURE dsql_close (
|
|||
|
user_status : OUT status_vector;
|
|||
|
cursor_name : string) IS
|
|||
|
BEGIN
|
|||
|
gds_close (
|
|||
|
user_status,
|
|||
|
cursor_name);
|
|||
|
END dsql_close;
|
|||
|
|
|||
|
PROCEDURE dsql_declare (
|
|||
|
user_status : OUT status_vector;
|
|||
|
statement_name : string;
|
|||
|
cursor_name : string) IS
|
|||
|
BEGIN
|
|||
|
gds_declare (
|
|||
|
user_status,
|
|||
|
statement_name,
|
|||
|
cursor_name);
|
|||
|
END dsql_declare;
|
|||
|
|
|||
|
PROCEDURE dsql_describe (
|
|||
|
user_status : OUT status_vector;
|
|||
|
statement_name : string;
|
|||
|
descriptor : SYSTEM.ADDRESS) IS
|
|||
|
BEGIN
|
|||
|
gds_describe (
|
|||
|
user_status,
|
|||
|
statement_name,
|
|||
|
descriptor);
|
|||
|
END dsql_describe;
|
|||
|
|
|||
|
PROCEDURE dsql_finish (
|
|||
|
db_handle : database_handle) IS
|
|||
|
BEGIN
|
|||
|
gds_dsql_finish (
|
|||
|
db_handle);
|
|||
|
END dsql_finish;
|
|||
|
|
|||
|
PROCEDURE dsql_execute (
|
|||
|
user_status : OUT status_vector;
|
|||
|
trans_handle : transaction_handle;
|
|||
|
statement_name : string;
|
|||
|
descriptor : SYSTEM.ADDRESS) IS
|
|||
|
BEGIN
|
|||
|
gds_execute (
|
|||
|
user_status,
|
|||
|
trans_handle,
|
|||
|
statement_name,
|
|||
|
descriptor);
|
|||
|
END dsql_execute;
|
|||
|
|
|||
|
PROCEDURE dsql_execute (
|
|||
|
user_status : OUT status_vector;
|
|||
|
trans_handle : transaction_handle;
|
|||
|
statement_name : string) IS
|
|||
|
BEGIN
|
|||
|
gds_execute (
|
|||
|
user_status,
|
|||
|
trans_handle,
|
|||
|
statement_name,
|
|||
|
null_blob'address);
|
|||
|
END dsql_execute;
|
|||
|
|
|||
|
PROCEDURE dsql_execute_immediate (
|
|||
|
user_status : OUT status_vector;
|
|||
|
db_handle : database_handle;
|
|||
|
trans_handle : transaction_handle;
|
|||
|
command_length : short_integer;
|
|||
|
command : string) IS
|
|||
|
BEGIN
|
|||
|
gds_execute_immediate (
|
|||
|
user_status,
|
|||
|
db_handle,
|
|||
|
trans_handle,
|
|||
|
command_length,
|
|||
|
command);
|
|||
|
END dsql_execute_immediate;
|
|||
|
|
|||
|
PROCEDURE dsql_fetch (
|
|||
|
user_status : OUT status_vector;
|
|||
|
sqlcode : OUT integer;
|
|||
|
cursor_name : string;
|
|||
|
descriptor : SYSTEM.ADDRESS) IS
|
|||
|
BEGIN
|
|||
|
gds_fetch (
|
|||
|
user_status,
|
|||
|
sqlcode,
|
|||
|
cursor_name,
|
|||
|
descriptor);
|
|||
|
END dsql_fetch;
|
|||
|
|
|||
|
PROCEDURE dsql_fetch (
|
|||
|
user_status : OUT status_vector;
|
|||
|
sqlcode : OUT integer;
|
|||
|
cursor_name : string) IS
|
|||
|
BEGIN
|
|||
|
gds_fetch (
|
|||
|
user_status,
|
|||
|
sqlcode,
|
|||
|
cursor_name,
|
|||
|
null_blob'address);
|
|||
|
END dsql_fetch;
|
|||
|
|
|||
|
PROCEDURE dsql_open (
|
|||
|
user_status : OUT status_vector;
|
|||
|
trans_handle : transaction_handle;
|
|||
|
cursor_name : string;
|
|||
|
descriptor : SYSTEM.ADDRESS) IS
|
|||
|
BEGIN
|
|||
|
gds_open (
|
|||
|
user_status,
|
|||
|
trans_handle,
|
|||
|
cursor_name,
|
|||
|
descriptor);
|
|||
|
END dsql_open;
|
|||
|
|
|||
|
PROCEDURE dsql_open (
|
|||
|
user_status : OUT status_vector;
|
|||
|
trans_handle : transaction_handle;
|
|||
|
cursor_name : string) IS
|
|||
|
BEGIN
|
|||
|
gds_open (
|
|||
|
user_status,
|
|||
|
trans_handle,
|
|||
|
cursor_name,
|
|||
|
null_blob'address);
|
|||
|
END dsql_open;
|
|||
|
|
|||
|
PROCEDURE dsql_prepare (
|
|||
|
user_status : OUT status_vector;
|
|||
|
db_handle : database_handle;
|
|||
|
trans_handle : transaction_handle;
|
|||
|
statement_name : string;
|
|||
|
command_length : short_integer;
|
|||
|
command : string;
|
|||
|
descriptor : SYSTEM.ADDRESS) IS
|
|||
|
BEGIN
|
|||
|
gds_prepare (
|
|||
|
user_status,
|
|||
|
db_handle,
|
|||
|
trans_handle,
|
|||
|
statement_name,
|
|||
|
command_length,
|
|||
|
command,
|
|||
|
descriptor);
|
|||
|
END dsql_prepare;
|
|||
|
|
|||
|
PROCEDURE dsql_prepare (
|
|||
|
user_status : OUT status_vector;
|
|||
|
db_handle : database_handle;
|
|||
|
trans_handle : transaction_handle;
|
|||
|
statement_name : string;
|
|||
|
command_length : short_integer;
|
|||
|
command : string) IS
|
|||
|
BEGIN
|
|||
|
gds_prepare (
|
|||
|
user_status,
|
|||
|
db_handle,
|
|||
|
trans_handle,
|
|||
|
statement_name,
|
|||
|
command_length,
|
|||
|
command,
|
|||
|
null_blob'address);
|
|||
|
END dsql_prepare;
|
|||
|
|
|||
|
--- PYXIS procedures
|
|||
|
|
|||
|
PROCEDURE compile_map (
|
|||
|
user_status : OUT status_vector;
|
|||
|
frm_handle : form_handle;
|
|||
|
mp_handle : OUT map_handle;
|
|||
|
map_length : short_integer;
|
|||
|
map : blr) IS
|
|||
|
BEGIN
|
|||
|
pyxis_compile_map (
|
|||
|
user_status,
|
|||
|
frm_handle,
|
|||
|
mp_handle,
|
|||
|
map_length,
|
|||
|
map);
|
|||
|
END compile_map;
|
|||
|
|
|||
|
PROCEDURE compile_sub_map (
|
|||
|
user_status : OUT status_vector;
|
|||
|
frm_handle : form_handle;
|
|||
|
mp_handle : OUT map_handle;
|
|||
|
map_length : short_integer;
|
|||
|
map : blr) IS
|
|||
|
BEGIN
|
|||
|
pyxis_compile_sub_map (
|
|||
|
user_status,
|
|||
|
frm_handle,
|
|||
|
mp_handle,
|
|||
|
map_length,
|
|||
|
map);
|
|||
|
END compile_sub_map;
|
|||
|
|
|||
|
PROCEDURE create_window (
|
|||
|
win_handle : OUT window_handle;
|
|||
|
name_length : short_integer;
|
|||
|
file_name : string;
|
|||
|
width : IN OUT short_integer;
|
|||
|
height : IN OUT short_integer) IS
|
|||
|
BEGIN
|
|||
|
pyxis_create_window (
|
|||
|
win_handle,
|
|||
|
name_length,
|
|||
|
file_name,
|
|||
|
width,
|
|||
|
height);
|
|||
|
END create_window;
|
|||
|
|
|||
|
PROCEDURE delete_window (
|
|||
|
win_handle : IN OUT window_handle) IS
|
|||
|
BEGIN
|
|||
|
pyxis_delete_window (
|
|||
|
win_handle);
|
|||
|
END delete_window;
|
|||
|
|
|||
|
PROCEDURE drive_form (
|
|||
|
user_status : OUT status_vector;
|
|||
|
db_handle : database_handle;
|
|||
|
trans_handle : transaction_handle;
|
|||
|
win_handle : window_handle;
|
|||
|
mp_handle : map_handle;
|
|||
|
input : SYSTEM.ADDRESS;
|
|||
|
output : SYSTEM.ADDRESS) IS
|
|||
|
BEGIN
|
|||
|
pyxis_drive_form (
|
|||
|
user_status,
|
|||
|
db_handle,
|
|||
|
trans_handle,
|
|||
|
win_handle,
|
|||
|
mp_handle,
|
|||
|
input,
|
|||
|
output);
|
|||
|
END drive_form;
|
|||
|
|
|||
|
PROCEDURE fetch_sub_form (
|
|||
|
user_status : OUT status_vector;
|
|||
|
db_handle : database_handle;
|
|||
|
trans_handle : transaction_handle;
|
|||
|
mp_handle : map_handle;
|
|||
|
output : SYSTEM.ADDRESS) IS
|
|||
|
BEGIN
|
|||
|
pyxis_fetch (
|
|||
|
user_status,
|
|||
|
db_handle,
|
|||
|
trans_handle,
|
|||
|
mp_handle,
|
|||
|
output);
|
|||
|
END fetch_sub_form;
|
|||
|
|
|||
|
PROCEDURE insert_sub_form (
|
|||
|
user_status : OUT status_vector;
|
|||
|
db_handle : database_handle;
|
|||
|
trans_handle : transaction_handle;
|
|||
|
mp_handle : map_handle;
|
|||
|
input : SYSTEM.ADDRESS) IS
|
|||
|
BEGIN
|
|||
|
pyxis_insert (
|
|||
|
user_status,
|
|||
|
db_handle,
|
|||
|
trans_handle,
|
|||
|
mp_handle,
|
|||
|
input);
|
|||
|
END insert_sub_form;
|
|||
|
|
|||
|
PROCEDURE load_form (
|
|||
|
user_status : OUT status_vector;
|
|||
|
db_handle : database_handle;
|
|||
|
trans_handle : transaction_handle;
|
|||
|
frm_handle : IN OUT form_handle;
|
|||
|
name_length : short_integer;
|
|||
|
form_name : string) IS
|
|||
|
BEGIN
|
|||
|
pyxis_load_form (
|
|||
|
user_status,
|
|||
|
db_handle,
|
|||
|
trans_handle,
|
|||
|
frm_handle,
|
|||
|
name_length,
|
|||
|
form_name);
|
|||
|
END load_form;
|
|||
|
|
|||
|
FUNCTION menu (
|
|||
|
win_handle : window_handle;
|
|||
|
men_handle : menu_handle;
|
|||
|
menu_length : short_integer;
|
|||
|
menu : blr) RETURN short_integer IS
|
|||
|
BEGIN
|
|||
|
return pyxis_menu (
|
|||
|
win_handle,
|
|||
|
men_handle,
|
|||
|
menu_length,
|
|||
|
menu);
|
|||
|
END menu;
|
|||
|
|
|||
|
PROCEDURE pop_window (
|
|||
|
win_handle : window_handle) IS
|
|||
|
BEGIN
|
|||
|
pyxis_pop_window (
|
|||
|
win_handle);
|
|||
|
END pop_window;
|
|||
|
|
|||
|
PROCEDURE reset_form (
|
|||
|
user_status : OUT status_vector;
|
|||
|
win_handle : window_handle) IS
|
|||
|
BEGIN
|
|||
|
pyxis_reset_form (
|
|||
|
user_status,
|
|||
|
win_handle);
|
|||
|
END reset_form;
|
|||
|
|
|||
|
PROCEDURE drive_menu (
|
|||
|
win_handle : IN OUT window_handle;
|
|||
|
men_handle : IN OUT menu_handle;
|
|||
|
blr_length : short_integer;
|
|||
|
blr_source : blr;
|
|||
|
title_length : short_integer;
|
|||
|
title : string;
|
|||
|
terminator : OUT short_integer;
|
|||
|
entree_length : OUT short_integer;
|
|||
|
entree_text : OUT string;
|
|||
|
entree_value : OUT integer) IS
|
|||
|
BEGIN
|
|||
|
pyxis_drive_menu (
|
|||
|
win_handle,
|
|||
|
men_handle,
|
|||
|
blr_length,
|
|||
|
blr_source,
|
|||
|
title_length,
|
|||
|
title,
|
|||
|
terminator,
|
|||
|
entree_length,
|
|||
|
entree_text,
|
|||
|
entree_value);
|
|||
|
END drive_menu;
|
|||
|
|
|||
|
PROCEDURE get_entree (
|
|||
|
men_handle : menu_handle;
|
|||
|
entree_length : OUT short_integer;
|
|||
|
entree_text : OUT string;
|
|||
|
entree_value : OUT integer;
|
|||
|
entree_end : OUT short_integer) IS
|
|||
|
BEGIN
|
|||
|
pyxis_get_entree (
|
|||
|
men_handle,
|
|||
|
entree_length,
|
|||
|
entree_text,
|
|||
|
entree_value,
|
|||
|
entree_end);
|
|||
|
END get_entree;
|
|||
|
|
|||
|
PROCEDURE initialize_menu (
|
|||
|
men_handle : IN OUT menu_handle) IS
|
|||
|
BEGIN
|
|||
|
pyxis_initialize_menu (
|
|||
|
men_handle);
|
|||
|
END initialize_menu;
|
|||
|
|
|||
|
PROCEDURE put_entree (
|
|||
|
men_handle : menu_handle;
|
|||
|
entree_length : short_integer;
|
|||
|
entree_text : string;
|
|||
|
entree_value : integer) IS
|
|||
|
BEGIN
|
|||
|
pyxis_put_entree (
|
|||
|
men_handle,
|
|||
|
entree_length,
|
|||
|
entree_text,
|
|||
|
entree_value);
|
|||
|
END put_entree;
|
|||
|
|
|||
|
|
|||
|
---
|
|||
|
--- Internal routines
|
|||
|
---
|
|||
|
|
|||
|
PROCEDURE error (
|
|||
|
user_status : status_vector) IS
|
|||
|
BEGIN
|
|||
|
gds_print_status (user_status);
|
|||
|
RAISE database_error;
|
|||
|
END;
|
|||
|
|
|||
|
|
|||
|
---
|
|||
|
--- Routines sans explicit status vector
|
|||
|
---
|
|||
|
|
|||
|
PROCEDURE attach_database (
|
|||
|
file_length : short_integer;
|
|||
|
file_name : string;
|
|||
|
db_handle : IN OUT database_handle;
|
|||
|
dpb_length : short_integer;
|
|||
|
dpb_arg : dpb) IS
|
|||
|
|
|||
|
user_status : status_vector;
|
|||
|
BEGIN
|
|||
|
gds_attach_database (
|
|||
|
user_status,
|
|||
|
file_length,
|
|||
|
file_name,
|
|||
|
db_handle,
|
|||
|
dpb_length,
|
|||
|
dpb_arg);
|
|||
|
if user_status (1) /= 0 then error (user_status); end if;
|
|||
|
END attach_database;
|
|||
|
|
|||
|
PROCEDURE cancel_blob (
|
|||
|
blb_handle : IN OUT blob_handle) IS
|
|||
|
|
|||
|
user_status : status_vector;
|
|||
|
BEGIN
|
|||
|
gds_cancel_blob (
|
|||
|
user_status,
|
|||
|
blb_handle);
|
|||
|
if user_status (1) /= 0 then error (user_status); end if;
|
|||
|
END cancel_blob;
|
|||
|
|
|||
|
PROCEDURE cancel_events (
|
|||
|
blb_handle : IN OUT blob_handle;
|
|||
|
id : integer) IS
|
|||
|
|
|||
|
user_status : status_vector;
|
|||
|
BEGIN
|
|||
|
gds_cancel_events (
|
|||
|
user_status,
|
|||
|
blb_handle,
|
|||
|
id);
|
|||
|
if user_status (1) /= 0 then error (user_status); end if;
|
|||
|
END cancel_events;
|
|||
|
|
|||
|
PROCEDURE close_blob (
|
|||
|
blb_handle : IN OUT blob_handle) IS
|
|||
|
|
|||
|
user_status : status_vector;
|
|||
|
BEGIN
|
|||
|
gds_close_blob (
|
|||
|
user_status,
|
|||
|
blb_handle);
|
|||
|
if user_status (1) /= 0 then error (user_status); end if;
|
|||
|
END close_blob;
|
|||
|
|
|||
|
PROCEDURE commit_retaining (
|
|||
|
trans_handle : IN OUT transaction_handle) IS
|
|||
|
|
|||
|
user_status : status_vector;
|
|||
|
BEGIN
|
|||
|
gds_commit_retaining (
|
|||
|
user_status,
|
|||
|
trans_handle);
|
|||
|
if user_status (1) /= 0 then error (user_status); end if;
|
|||
|
END commit_retaining;
|
|||
|
|
|||
|
PROCEDURE commit_transaction (
|
|||
|
trans_handle : IN OUT transaction_handle) IS
|
|||
|
|
|||
|
user_status : status_vector;
|
|||
|
BEGIN
|
|||
|
gds_commit_transaction (
|
|||
|
user_status,
|
|||
|
trans_handle);
|
|||
|
if user_status (1) /= 0 then error (user_status); end if;
|
|||
|
END commit_transaction;
|
|||
|
|
|||
|
|
|||
|
PROCEDURE compile_request (
|
|||
|
db_handle : database_handle;
|
|||
|
req_handle : IN OUT request_handle;
|
|||
|
blr_length : short_integer;
|
|||
|
blr_arg : blr) IS
|
|||
|
|
|||
|
user_status : status_vector;
|
|||
|
BEGIN
|
|||
|
gds_compile_request (
|
|||
|
user_status,
|
|||
|
db_handle,
|
|||
|
req_handle,
|
|||
|
blr_length,
|
|||
|
blr_arg);
|
|||
|
if user_status (1) /= 0 then error (user_status); end if;
|
|||
|
END compile_request;
|
|||
|
|
|||
|
|
|||
|
PROCEDURE compile_request2 (
|
|||
|
db_handle : database_handle;
|
|||
|
req_handle : IN OUT request_handle;
|
|||
|
blr_length : short_integer;
|
|||
|
blr_arg : blr) IS
|
|||
|
|
|||
|
user_status : status_vector;
|
|||
|
BEGIN
|
|||
|
gds_compile_request2 (
|
|||
|
user_status,
|
|||
|
db_handle,
|
|||
|
req_handle,
|
|||
|
blr_length,
|
|||
|
blr_arg);
|
|||
|
if user_status (1) /= 0 then error (user_status); end if;
|
|||
|
END compile_request2;
|
|||
|
|
|||
|
|
|||
|
PROCEDURE create_blob (
|
|||
|
db_handle : database_handle;
|
|||
|
trans_handle : transaction_handle;
|
|||
|
blb_handle : IN OUT blob_handle;
|
|||
|
blob_id : OUT quad) IS
|
|||
|
|
|||
|
user_status : status_vector;
|
|||
|
BEGIN
|
|||
|
gds_create_blob (
|
|||
|
user_status,
|
|||
|
db_handle,
|
|||
|
trans_handle,
|
|||
|
blb_handle,
|
|||
|
blob_id);
|
|||
|
if user_status (1) /= 0 then error (user_status); end if;
|
|||
|
END create_blob;
|
|||
|
|
|||
|
|
|||
|
PROCEDURE create_blob2 (
|
|||
|
db_handle : database_handle;
|
|||
|
trans_handle : transaction_handle;
|
|||
|
blb_handle : IN OUT blob_handle;
|
|||
|
blob_id : OUT quad;
|
|||
|
bpb_length : short_integer;
|
|||
|
bpb : blr) IS
|
|||
|
|
|||
|
user_status : status_vector;
|
|||
|
BEGIN
|
|||
|
gds_create_blob2 (
|
|||
|
user_status,
|
|||
|
db_handle,
|
|||
|
trans_handle,
|
|||
|
blb_handle,
|
|||
|
blob_id,
|
|||
|
bpb_length,
|
|||
|
bpb);
|
|||
|
if user_status (1) /= 0 then error (user_status); end if;
|
|||
|
END create_blob2;
|
|||
|
|
|||
|
|
|||
|
PROCEDURE create_database (
|
|||
|
file_length : short_integer;
|
|||
|
file_name : string;
|
|||
|
db_handle : IN OUT database_handle;
|
|||
|
dpb_length : short_integer;
|
|||
|
dpb_arg : dpb;
|
|||
|
db_type : short_integer) IS
|
|||
|
|
|||
|
user_status : status_vector;
|
|||
|
BEGIN
|
|||
|
gds_create_database (
|
|||
|
user_status,
|
|||
|
file_length,
|
|||
|
file_name,
|
|||
|
db_handle,
|
|||
|
dpb_length,
|
|||
|
dpb_arg,
|
|||
|
db_type);
|
|||
|
if user_status (1) /= 0 then error (user_status); end if;
|
|||
|
END create_database;
|
|||
|
|
|||
|
PROCEDURE ddl (
|
|||
|
db_handle : database_handle;
|
|||
|
trans_handle : transaction_handle;
|
|||
|
msg_length : short_integer;
|
|||
|
msg : SYSTEM.ADDRESS) IS
|
|||
|
|
|||
|
user_status : status_vector;
|
|||
|
BEGIN
|
|||
|
gds_ddl (
|
|||
|
user_status,
|
|||
|
db_handle,
|
|||
|
trans_handle,
|
|||
|
msg_length,
|
|||
|
msg);
|
|||
|
if user_status (1) /= 0 then error (user_status); end if;
|
|||
|
END ddl;
|
|||
|
|
|||
|
|
|||
|
PROCEDURE detach_database (
|
|||
|
db_handle : IN OUT database_handle) IS
|
|||
|
|
|||
|
user_status : status_vector;
|
|||
|
BEGIN
|
|||
|
gds_detach_database (
|
|||
|
user_status,
|
|||
|
db_handle);
|
|||
|
if user_status (1) /= 0 then error (user_status); end if;
|
|||
|
END detach_database;
|
|||
|
|
|||
|
|
|||
|
PROCEDURE event_wait (
|
|||
|
db_handle : database_handle;
|
|||
|
length : short_integer;
|
|||
|
events : string;
|
|||
|
buffer : string) IS
|
|||
|
|
|||
|
user_status : status_vector;
|
|||
|
BEGIN
|
|||
|
gds_event_wait (
|
|||
|
user_status,
|
|||
|
db_handle,
|
|||
|
length,
|
|||
|
events,
|
|||
|
buffer);
|
|||
|
END event_wait;
|
|||
|
|
|||
|
|
|||
|
PROCEDURE get_segment (
|
|||
|
completion_code : OUT integer;
|
|||
|
blb_handle : blob_handle;
|
|||
|
actual_length : OUT short_integer;
|
|||
|
buffer_length : short_integer;
|
|||
|
buffer : string) IS
|
|||
|
|
|||
|
user_status : status_vector;
|
|||
|
BEGIN
|
|||
|
gds_get_segment (
|
|||
|
user_status,
|
|||
|
blb_handle,
|
|||
|
actual_length,
|
|||
|
buffer_length,
|
|||
|
buffer);
|
|||
|
if user_status (1) /= 0 and user_status (1) /= gds_segment and
|
|||
|
user_status (1) /= gds_segstr_eof then
|
|||
|
error (user_status);
|
|||
|
end if;
|
|||
|
completion_code := user_status(1);
|
|||
|
END get_segment;
|
|||
|
|
|||
|
|
|||
|
PROCEDURE get_slice (
|
|||
|
db_handle : database_handle;
|
|||
|
trans_handle : transaction_handle;
|
|||
|
blob_id : quad;
|
|||
|
sdl_length : short_integer;
|
|||
|
sdl : blr;
|
|||
|
param_length : short_integer;
|
|||
|
param : string;
|
|||
|
slice_length : integer;
|
|||
|
slice : SYSTEM.ADDRESS;
|
|||
|
return_length : OUT integer) IS
|
|||
|
|
|||
|
user_status : status_vector;
|
|||
|
BEGIN
|
|||
|
gds_get_slice (
|
|||
|
user_status,
|
|||
|
db_handle,
|
|||
|
trans_handle,
|
|||
|
blob_id,
|
|||
|
sdl_length,
|
|||
|
sdl,
|
|||
|
param_length,
|
|||
|
param,
|
|||
|
slice_length,
|
|||
|
slice,
|
|||
|
return_length);
|
|||
|
END get_slice;
|
|||
|
|
|||
|
|
|||
|
PROCEDURE open_blob (
|
|||
|
db_handle : database_handle;
|
|||
|
trans_handle : transaction_handle;
|
|||
|
blb_handle : IN OUT blob_handle;
|
|||
|
blob_id : quad) IS
|
|||
|
|
|||
|
user_status : status_vector;
|
|||
|
BEGIN
|
|||
|
gds_open_blob (
|
|||
|
user_status,
|
|||
|
db_handle,
|
|||
|
trans_handle,
|
|||
|
blb_handle,
|
|||
|
blob_id);
|
|||
|
if user_status (1) /= 0 then error (user_status); end if;
|
|||
|
END open_blob;
|
|||
|
|
|||
|
|
|||
|
PROCEDURE open_blob2 (
|
|||
|
db_handle : database_handle;
|
|||
|
trans_handle : transaction_handle;
|
|||
|
blb_handle : IN OUT blob_handle;
|
|||
|
blob_id : quad;
|
|||
|
bpb_length : short_integer;
|
|||
|
bpb : blr) IS
|
|||
|
|
|||
|
user_status : status_vector;
|
|||
|
BEGIN
|
|||
|
gds_open_blob2 (
|
|||
|
user_status,
|
|||
|
db_handle,
|
|||
|
trans_handle,
|
|||
|
blb_handle,
|
|||
|
blob_id,
|
|||
|
bpb_length,
|
|||
|
bpb);
|
|||
|
if user_status (1) /= 0 then error (user_status); end if;
|
|||
|
END open_blob2;
|
|||
|
|
|||
|
|
|||
|
PROCEDURE prepare_transaction (
|
|||
|
trans_handle : IN OUT transaction_handle) IS
|
|||
|
|
|||
|
user_status : status_vector;
|
|||
|
BEGIN
|
|||
|
gds_prepare_transaction (
|
|||
|
user_status,
|
|||
|
trans_handle);
|
|||
|
if user_status (1) /= 0 then error (user_status); end if;
|
|||
|
END prepare_transaction;
|
|||
|
|
|||
|
|
|||
|
PROCEDURE prepare_transaction2 (
|
|||
|
trans_handle : IN OUT transaction_handle;
|
|||
|
msg_length : short_integer;
|
|||
|
msg : blr) IS
|
|||
|
|
|||
|
user_status : status_vector;
|
|||
|
BEGIN
|
|||
|
gds_prepare_transaction2 (
|
|||
|
user_status,
|
|||
|
trans_handle,
|
|||
|
msg_length,
|
|||
|
msg);
|
|||
|
END prepare_transaction2;
|
|||
|
|
|||
|
|
|||
|
PROCEDURE put_segment (
|
|||
|
blb_handle : blob_handle;
|
|||
|
length : short_integer;
|
|||
|
buffer : string) IS
|
|||
|
|
|||
|
user_status : status_vector;
|
|||
|
BEGIN
|
|||
|
gds_put_segment (
|
|||
|
user_status,
|
|||
|
blb_handle,
|
|||
|
length,
|
|||
|
buffer);
|
|||
|
if user_status (1) /= 0 then error (user_status); end if;
|
|||
|
END put_segment;
|
|||
|
|
|||
|
|
|||
|
PROCEDURE put_slice (
|
|||
|
db_handle : database_handle;
|
|||
|
trans_handle : transaction_handle;
|
|||
|
blob_id : IN OUT quad;
|
|||
|
sdl_length : short_integer;
|
|||
|
sdl : blr;
|
|||
|
param_length : short_integer;
|
|||
|
param : string;
|
|||
|
slice_length : integer;
|
|||
|
slice : SYSTEM.ADDRESS) IS
|
|||
|
|
|||
|
user_status : status_vector;
|
|||
|
BEGIN
|
|||
|
gds_put_slice (
|
|||
|
user_status,
|
|||
|
db_handle,
|
|||
|
trans_handle,
|
|||
|
blob_id,
|
|||
|
sdl_length,
|
|||
|
sdl,
|
|||
|
param_length,
|
|||
|
param,
|
|||
|
slice_length,
|
|||
|
slice);
|
|||
|
END put_slice;
|
|||
|
|
|||
|
PROCEDURE que_events (
|
|||
|
db_handle : database_handle;
|
|||
|
id : quad;
|
|||
|
length : short_integer;
|
|||
|
events : string;
|
|||
|
ast : integer;
|
|||
|
arg : quad) IS
|
|||
|
|
|||
|
user_status : status_vector;
|
|||
|
BEGIN
|
|||
|
gds_que_events (
|
|||
|
user_status,
|
|||
|
db_handle,
|
|||
|
id,
|
|||
|
length,
|
|||
|
events,
|
|||
|
ast,
|
|||
|
arg);
|
|||
|
END que_events;
|
|||
|
|
|||
|
PROCEDURE receive (
|
|||
|
req_handle : request_handle;
|
|||
|
msg_type : short_integer;
|
|||
|
msg_length : short_integer;
|
|||
|
msg : SYSTEM.ADDRESS;
|
|||
|
level : short_integer) IS
|
|||
|
|
|||
|
user_status : status_vector;
|
|||
|
BEGIN
|
|||
|
gds_receive (
|
|||
|
user_status,
|
|||
|
req_handle,
|
|||
|
msg_type,
|
|||
|
msg_length,
|
|||
|
msg,
|
|||
|
level);
|
|||
|
if user_status (1) /= 0 then error (user_status); end if;
|
|||
|
END receive;
|
|||
|
|
|||
|
PROCEDURE rollback_transaction (
|
|||
|
trans_handle : IN OUT transaction_handle) IS
|
|||
|
|
|||
|
user_status : status_vector;
|
|||
|
BEGIN
|
|||
|
gds_rollback_transaction (
|
|||
|
user_status,
|
|||
|
trans_handle);
|
|||
|
if user_status (1) /= 0 then error (user_status); end if;
|
|||
|
END rollback_transaction;
|
|||
|
|
|||
|
|
|||
|
PROCEDURE send (
|
|||
|
req_handle : request_handle;
|
|||
|
msg_type : short_integer;
|
|||
|
msg_length : short_integer;
|
|||
|
msg : SYSTEM.ADDRESS;
|
|||
|
level : short_integer) IS
|
|||
|
|
|||
|
user_status : status_vector;
|
|||
|
BEGIN
|
|||
|
gds_send (
|
|||
|
user_status,
|
|||
|
req_handle,
|
|||
|
msg_type,
|
|||
|
msg_length,
|
|||
|
msg,
|
|||
|
level);
|
|||
|
if user_status (1) /= 0 then error (user_status); end if;
|
|||
|
END send;
|
|||
|
|
|||
|
PROCEDURE start_request (
|
|||
|
req_handle : request_handle;
|
|||
|
trans_handle : transaction_handle;
|
|||
|
level : short_integer) IS
|
|||
|
|
|||
|
user_status : status_vector;
|
|||
|
BEGIN
|
|||
|
gds_start_request (
|
|||
|
user_status,
|
|||
|
req_handle,
|
|||
|
trans_handle,
|
|||
|
level);
|
|||
|
if user_status (1) /= 0 then error (user_status); end if;
|
|||
|
END start_request;
|
|||
|
|
|||
|
|
|||
|
PROCEDURE start_and_send (
|
|||
|
req_handle : request_handle;
|
|||
|
trans_handle : transaction_handle;
|
|||
|
msg_type : short_integer;
|
|||
|
msg_length : short_integer;
|
|||
|
msg : SYSTEM.ADDRESS;
|
|||
|
level : short_integer) IS
|
|||
|
|
|||
|
user_status : status_vector;
|
|||
|
BEGIN
|
|||
|
gds_start_and_send (
|
|||
|
user_status,
|
|||
|
req_handle,
|
|||
|
trans_handle,
|
|||
|
msg_type,
|
|||
|
msg_length,
|
|||
|
msg,
|
|||
|
level);
|
|||
|
if user_status (1) /= 0 then error (user_status); end if;
|
|||
|
END start_and_send;
|
|||
|
|
|||
|
PROCEDURE start_multiple (
|
|||
|
trans_handle : IN OUT transaction_handle;
|
|||
|
count : short_integer;
|
|||
|
teb : SYSTEM.ADDRESS) IS
|
|||
|
|
|||
|
user_status : status_vector;
|
|||
|
BEGIN
|
|||
|
gds_start_multiple (
|
|||
|
user_status,
|
|||
|
trans_handle,
|
|||
|
count,
|
|||
|
teb);
|
|||
|
if user_status (1) /= 0 then error (user_status); end if;
|
|||
|
END start_multiple;
|
|||
|
|
|||
|
|
|||
|
PROCEDURE start_transaction (
|
|||
|
trans_handle : IN OUT transaction_handle;
|
|||
|
count : short_integer;
|
|||
|
db_handle : database_handle;
|
|||
|
tpb_length : short_integer;
|
|||
|
tpb_arg : tpb) IS
|
|||
|
|
|||
|
user_status : status_vector;
|
|||
|
BEGIN
|
|||
|
gds_start_transaction (
|
|||
|
user_status,
|
|||
|
trans_handle,
|
|||
|
count,
|
|||
|
db_handle,
|
|||
|
tpb_length,
|
|||
|
tpb_arg);
|
|||
|
if user_status (1) /= 0 then error (user_status); end if;
|
|||
|
END start_transaction;
|
|||
|
|
|||
|
|
|||
|
PROCEDURE unwind_request (
|
|||
|
req_handle : request_handle;
|
|||
|
level : short_integer) IS
|
|||
|
|
|||
|
user_status : status_vector;
|
|||
|
BEGIN
|
|||
|
gds_unwind_request (
|
|||
|
user_status,
|
|||
|
req_handle,
|
|||
|
level);
|
|||
|
if user_status (1) /= 0 then error (user_status); end if;
|
|||
|
END unwind_request;
|
|||
|
|
|||
|
--- Dynamic SQL procedures
|
|||
|
|
|||
|
PROCEDURE dsql_close (
|
|||
|
cursor_name : string) IS
|
|||
|
|
|||
|
user_status : status_vector;
|
|||
|
BEGIN
|
|||
|
gds_close (
|
|||
|
user_status,
|
|||
|
cursor_name);
|
|||
|
if user_status (1) /= 0 then error (user_status); end if;
|
|||
|
END dsql_close;
|
|||
|
|
|||
|
PROCEDURE dsql_declare (
|
|||
|
statement_name : string;
|
|||
|
cursor_name : string) IS
|
|||
|
|
|||
|
user_status : status_vector;
|
|||
|
BEGIN
|
|||
|
gds_declare (
|
|||
|
user_status,
|
|||
|
statement_name,
|
|||
|
cursor_name);
|
|||
|
if user_status (1) /= 0 then error (user_status); end if;
|
|||
|
END dsql_declare;
|
|||
|
|
|||
|
PROCEDURE dsql_describe (
|
|||
|
statement_name : string;
|
|||
|
descriptor : SYSTEM.ADDRESS) IS
|
|||
|
|
|||
|
user_status : status_vector;
|
|||
|
BEGIN
|
|||
|
gds_describe (
|
|||
|
user_status,
|
|||
|
statement_name,
|
|||
|
descriptor);
|
|||
|
if user_status (1) /= 0 then error (user_status); end if;
|
|||
|
END dsql_describe;
|
|||
|
|
|||
|
PROCEDURE dsql_execute (
|
|||
|
trans_handle : transaction_handle;
|
|||
|
statement_name : string;
|
|||
|
descriptor : SYSTEM.ADDRESS) IS
|
|||
|
|
|||
|
user_status : status_vector;
|
|||
|
BEGIN
|
|||
|
gds_execute (
|
|||
|
user_status,
|
|||
|
trans_handle,
|
|||
|
statement_name,
|
|||
|
descriptor);
|
|||
|
if user_status (1) /= 0 then error (user_status); end if;
|
|||
|
END dsql_execute;
|
|||
|
|
|||
|
PROCEDURE dsql_execute (
|
|||
|
trans_handle : transaction_handle;
|
|||
|
statement_name : string) IS
|
|||
|
|
|||
|
user_status : status_vector;
|
|||
|
BEGIN
|
|||
|
gds_execute (
|
|||
|
user_status,
|
|||
|
trans_handle,
|
|||
|
statement_name,
|
|||
|
null_blob'address);
|
|||
|
if user_status (1) /= 0 then error (user_status); end if;
|
|||
|
END dsql_execute;
|
|||
|
|
|||
|
PROCEDURE dsql_execute_immediate (
|
|||
|
db_handle : database_handle;
|
|||
|
trans_handle : transaction_handle;
|
|||
|
command_length : short_integer;
|
|||
|
command : string) IS
|
|||
|
|
|||
|
user_status : status_vector;
|
|||
|
BEGIN
|
|||
|
gds_execute_immediate (
|
|||
|
user_status,
|
|||
|
db_handle,
|
|||
|
trans_handle,
|
|||
|
command_length,
|
|||
|
command);
|
|||
|
if user_status (1) /= 0 then error (user_status); end if;
|
|||
|
END dsql_execute_immediate;
|
|||
|
|
|||
|
PROCEDURE dsql_fetch (
|
|||
|
sqlcode : OUT integer;
|
|||
|
cursor_name : string;
|
|||
|
descriptor : SYSTEM.ADDRESS) IS
|
|||
|
|
|||
|
user_status : status_vector;
|
|||
|
BEGIN
|
|||
|
gds_fetch (
|
|||
|
user_status,
|
|||
|
sqlcode,
|
|||
|
cursor_name,
|
|||
|
descriptor);
|
|||
|
if user_status (1) /= 0 then error (user_status); end if;
|
|||
|
END dsql_fetch;
|
|||
|
|
|||
|
PROCEDURE dsql_fetch (
|
|||
|
sqlcode : OUT integer;
|
|||
|
cursor_name : string) IS
|
|||
|
|
|||
|
user_status : status_vector;
|
|||
|
BEGIN
|
|||
|
gds_fetch (
|
|||
|
user_status,
|
|||
|
sqlcode,
|
|||
|
cursor_name,
|
|||
|
null_blob'address);
|
|||
|
if user_status (1) /= 0 then error (user_status); end if;
|
|||
|
END dsql_fetch;
|
|||
|
|
|||
|
PROCEDURE dsql_open (
|
|||
|
trans_handle : transaction_handle;
|
|||
|
cursor_name : string;
|
|||
|
descriptor : SYSTEM.ADDRESS) IS
|
|||
|
|
|||
|
user_status : status_vector;
|
|||
|
BEGIN
|
|||
|
gds_open (
|
|||
|
user_status,
|
|||
|
trans_handle,
|
|||
|
cursor_name,
|
|||
|
descriptor);
|
|||
|
if user_status (1) /= 0 then error (user_status); end if;
|
|||
|
END dsql_open;
|
|||
|
|
|||
|
PROCEDURE dsql_open (
|
|||
|
trans_handle : transaction_handle;
|
|||
|
cursor_name : string) IS
|
|||
|
|
|||
|
user_status : status_vector;
|
|||
|
BEGIN
|
|||
|
gds_open (
|
|||
|
user_status,
|
|||
|
trans_handle,
|
|||
|
cursor_name,
|
|||
|
null_blob'address);
|
|||
|
if user_status (1) /= 0 then error (user_status); end if;
|
|||
|
END dsql_open;
|
|||
|
|
|||
|
PROCEDURE dsql_prepare (
|
|||
|
db_handle : database_handle;
|
|||
|
trans_handle : transaction_handle;
|
|||
|
statement_name : string;
|
|||
|
command_length : short_integer;
|
|||
|
command : string;
|
|||
|
descriptor : SYSTEM.ADDRESS) IS
|
|||
|
|
|||
|
user_status : status_vector;
|
|||
|
BEGIN
|
|||
|
gds_prepare (
|
|||
|
user_status,
|
|||
|
db_handle,
|
|||
|
trans_handle,
|
|||
|
statement_name,
|
|||
|
command_length,
|
|||
|
command,
|
|||
|
descriptor);
|
|||
|
if user_status (1) /= 0 then error (user_status); end if;
|
|||
|
END dsql_prepare;
|
|||
|
|
|||
|
PROCEDURE dsql_prepare (
|
|||
|
db_handle : database_handle;
|
|||
|
trans_handle : transaction_handle;
|
|||
|
statement_name : string;
|
|||
|
command_length : short_integer;
|
|||
|
command : string) IS
|
|||
|
|
|||
|
user_status : status_vector;
|
|||
|
BEGIN
|
|||
|
gds_prepare (
|
|||
|
user_status,
|
|||
|
db_handle,
|
|||
|
trans_handle,
|
|||
|
statement_name,
|
|||
|
command_length,
|
|||
|
command,
|
|||
|
null_blob'address);
|
|||
|
if user_status (1) /= 0 then error (user_status); end if;
|
|||
|
END dsql_prepare;
|
|||
|
|
|||
|
--- PYXIS procedures
|
|||
|
|
|||
|
PROCEDURE compile_map (
|
|||
|
frm_handle : form_handle;
|
|||
|
mp_handle : OUT map_handle;
|
|||
|
map_length : short_integer;
|
|||
|
map : blr) IS
|
|||
|
|
|||
|
user_status : status_vector;
|
|||
|
BEGIN
|
|||
|
pyxis_compile_map (
|
|||
|
user_status,
|
|||
|
frm_handle,
|
|||
|
mp_handle,
|
|||
|
map_length,
|
|||
|
map);
|
|||
|
--- if user_status (1) /= 0 then error (user_status); end if;
|
|||
|
END compile_map;
|
|||
|
|
|||
|
PROCEDURE compile_sub_map (
|
|||
|
frm_handle : form_handle;
|
|||
|
mp_handle : OUT map_handle;
|
|||
|
map_length : short_integer;
|
|||
|
map : blr) IS
|
|||
|
|
|||
|
user_status : status_vector;
|
|||
|
BEGIN
|
|||
|
pyxis_compile_sub_map (
|
|||
|
user_status,
|
|||
|
frm_handle,
|
|||
|
mp_handle,
|
|||
|
map_length,
|
|||
|
map);
|
|||
|
--- if user_status (1) /= 0 then error (user_status); end if;
|
|||
|
END compile_sub_map;
|
|||
|
|
|||
|
PROCEDURE drive_form (
|
|||
|
db_handle : database_handle;
|
|||
|
trans_handle : transaction_handle;
|
|||
|
win_handle : window_handle;
|
|||
|
mp_handle : map_handle;
|
|||
|
input : SYSTEM.ADDRESS;
|
|||
|
output : SYSTEM.ADDRESS) IS
|
|||
|
|
|||
|
user_status : status_vector;
|
|||
|
BEGIN
|
|||
|
pyxis_drive_form (
|
|||
|
user_status,
|
|||
|
db_handle,
|
|||
|
trans_handle,
|
|||
|
win_handle,
|
|||
|
mp_handle,
|
|||
|
input,
|
|||
|
output);
|
|||
|
--- if user_status (1) /= 0 then error (user_status); end if;
|
|||
|
END drive_form;
|
|||
|
|
|||
|
PROCEDURE fetch_sub_form (
|
|||
|
db_handle : database_handle;
|
|||
|
trans_handle : transaction_handle;
|
|||
|
mp_handle : map_handle;
|
|||
|
output : SYSTEM.ADDRESS) IS
|
|||
|
|
|||
|
user_status : status_vector;
|
|||
|
BEGIN
|
|||
|
pyxis_fetch (
|
|||
|
user_status,
|
|||
|
db_handle,
|
|||
|
trans_handle,
|
|||
|
mp_handle,
|
|||
|
output);
|
|||
|
--- if user_status (1) /= 0 then error (user_status); end if;
|
|||
|
END fetch_sub_form;
|
|||
|
|
|||
|
PROCEDURE insert_sub_form (
|
|||
|
db_handle : database_handle;
|
|||
|
trans_handle : transaction_handle;
|
|||
|
mp_handle : map_handle;
|
|||
|
input : SYSTEM.ADDRESS) IS
|
|||
|
|
|||
|
user_status : status_vector;
|
|||
|
BEGIN
|
|||
|
pyxis_insert (
|
|||
|
user_status,
|
|||
|
db_handle,
|
|||
|
trans_handle,
|
|||
|
mp_handle,
|
|||
|
input);
|
|||
|
--- if user_status (1) /= 0 then error (user_status); end if;
|
|||
|
END insert_sub_form;
|
|||
|
|
|||
|
PROCEDURE load_form (
|
|||
|
db_handle : database_handle;
|
|||
|
trans_handle : transaction_handle;
|
|||
|
frm_handle : IN OUT form_handle;
|
|||
|
name_length : short_integer;
|
|||
|
form_name : string) IS
|
|||
|
|
|||
|
user_status : status_vector;
|
|||
|
BEGIN
|
|||
|
pyxis_load_form (
|
|||
|
user_status,
|
|||
|
db_handle,
|
|||
|
trans_handle,
|
|||
|
frm_handle,
|
|||
|
name_length,
|
|||
|
form_name);
|
|||
|
if user_status (1) /= 0 then error (user_status); end if;
|
|||
|
END load_form;
|
|||
|
|
|||
|
PROCEDURE reset_form (
|
|||
|
win_handle : window_handle) IS
|
|||
|
|
|||
|
user_status : status_vector;
|
|||
|
BEGIN
|
|||
|
pyxis_reset_form (
|
|||
|
user_status,
|
|||
|
win_handle);
|
|||
|
--- if user_status (1) /= 0 then error (user_status); end if;
|
|||
|
END reset_form;
|
|||
|
|
|||
|
|
|||
|
END interbase;');
|
|||
|
INSERT INTO TEMPLATES (LANGUAGE, "FILE", TEMPLATE) VALUES ('SUN_ADA', 'interbase_sun.a',
|
|||
|
'WITH SYSTEM;
|
|||
|
|
|||
|
PACKAGE interbase IS
|
|||
|
|
|||
|
TYPE status_vector IS ARRAY (0..19) of long_integer;
|
|||
|
TYPE quad IS ARRAY (0..1) of long_integer;
|
|||
|
SUBTYPE chars is string;
|
|||
|
TYPE blr IS ARRAY (integer RANGE <>) of long_integer;
|
|||
|
TYPE dpb IS ARRAY (integer RANGE <>) of long_integer;
|
|||
|
TYPE tpb IS ARRAY (integer RANGE <>) of long_integer;
|
|||
|
|
|||
|
SUBTYPE database_handle IS long_integer;
|
|||
|
SUBTYPE request_handle IS long_integer;
|
|||
|
SUBTYPE transaction_handle IS long_integer;
|
|||
|
SUBTYPE blob_handle IS long_integer;
|
|||
|
SUBTYPE form_handle IS long_integer;
|
|||
|
SUBTYPE map_handle IS long_integer;
|
|||
|
SUBTYPE window_handle IS long_integer;
|
|||
|
SUBTYPE menu_handle IS long_integer;
|
|||
|
|
|||
|
TYPE gds_teb_t IS RECORD
|
|||
|
dbb_ptr : SYSTEM.ADDRESS;
|
|||
|
tpb_len : long_integer;
|
|||
|
tpb_ptr : SYSTEM.ADDRESS;
|
|||
|
END RECORD;
|
|||
|
|
|||
|
TYPE gds_tm IS RECORD
|
|||
|
tm_sec : integer;
|
|||
|
tm_min : integer;
|
|||
|
tm_hour : integer;
|
|||
|
tm_mday : integer;
|
|||
|
tm_mon : integer;
|
|||
|
tm_year : integer;
|
|||
|
tm_wday : integer;
|
|||
|
tm_yday : integer;
|
|||
|
tm_isdst : integer;
|
|||
|
END RECORD;
|
|||
|
|
|||
|
TYPE sqlvar is RECORD
|
|||
|
sqltype : integer;
|
|||
|
sqllen : integer;
|
|||
|
sqldata : SYSTEM.ADDRESS;
|
|||
|
sqlind : SYSTEM.ADDRESS;
|
|||
|
sqlname_length : integer;
|
|||
|
sqlname : chars (1..30);
|
|||
|
END RECORD;
|
|||
|
|
|||
|
FOR sqlvar use record at mod 2;
|
|||
|
sqltype at 0 range 0..15;
|
|||
|
sqllen at 2 range 0..15;
|
|||
|
sqldata at 4 range 0..31;
|
|||
|
sqlind at 8 range 0..31;
|
|||
|
sqlname_length at 12 range 0..15;
|
|||
|
sqlname at 14 range 0..239;
|
|||
|
END RECORD;
|
|||
|
|
|||
|
TYPE sqlvar_array IS ARRAY (integer range <>) of sqlvar;
|
|||
|
|
|||
|
--- Constants
|
|||
|
|
|||
|
gds_true : CONSTANT integer := 1;
|
|||
|
gds_false : CONSTANT integer := 0;
|
|||
|
|
|||
|
--- BLR
|
|||
|
|
|||
|
$ SET SANS_DOLLAR
|
|||
|
|
|||
|
$ FORMAT BLR_FORMAT " %s : CONSTANT integer := %d;\n
|
|||
|
$ FORMAT DYN_FORMAT " %-32s: CONSTANT integer := %d;\n
|
|||
|
$ FORMAT SDL_FORMAT " %-32s: CONSTANT integer := %d;\n
|
|||
|
$ FORMAT ERROR_FORMAT "%-25s: CONSTANT long_integer := %d;\n
|
|||
|
$ FORMAT PB_FORMAT " %-29s: CONSTANT integer := %d;\n
|
|||
|
$ FORMAT PYXIS_FORMAT "%-29s: CONSTANT integer := %d;\n
|
|||
|
$ FORMAT OPT_FORMAT "%-32s: CONSTANT integer := %d;\n
|
|||
|
$ FORMAT SQL_FORMAT "%-16s: CONSTANT integer := %d;\n
|
|||
|
|
|||
|
$ SYMBOLS BLR DTYPE BLR_FORMAT
|
|||
|
$ SYMBOLS BLR MECH BYTE BLR_FORMAT
|
|||
|
|
|||
|
$ SYMBOLS BLR STATEMENTS BLR_FORMAT
|
|||
|
$ SYMBOLS BLR VALUES BLR_FORMAT
|
|||
|
|
|||
|
$ SYMBOLS BLR BOOLEANS BLR_FORMAT
|
|||
|
|
|||
|
$ SYMBOLS BLR RSE BLR_FORMAT
|
|||
|
|
|||
|
$ SYMBOLS BLR JOIN BLR_FORMAT
|
|||
|
|
|||
|
$ SYMBOLS BLR AGGREGATE BLR_FORMAT
|
|||
|
$ SYMBOLS BLR NEW BLR_FORMAT
|
|||
|
|
|||
|
--- Dynamic Data Definition Language operators
|
|||
|
|
|||
|
--- Version number
|
|||
|
|
|||
|
$ SYMBOLS DYN MECH BYTE DYN_FORMAT
|
|||
|
|
|||
|
--- Operations (may be nested)
|
|||
|
|
|||
|
$ SYMBOLS DYN OPERATIONS BYTE DYN_FORMAT
|
|||
|
|
|||
|
--- View specific stuff
|
|||
|
|
|||
|
$ SYMBOLS DYN VIEW BYTE DYN_FORMAT
|
|||
|
|
|||
|
--- Generic attributes
|
|||
|
|
|||
|
$ SYMBOLS DYN GENERIC BYTE DYN_FORMAT
|
|||
|
|
|||
|
--- Relation specific attributes
|
|||
|
|
|||
|
$ SYMBOLS DYN RELATION BYTE DYN_FORMAT
|
|||
|
|
|||
|
--- Global field specific attributes
|
|||
|
|
|||
|
$ SYMBOLS DYN GLOBAL BYTE DYN_FORMAT
|
|||
|
|
|||
|
--- Local field specific attributes
|
|||
|
|
|||
|
$ SYMBOLS DYN FIELD BYTE DYN_FORMAT
|
|||
|
|
|||
|
--- Index specific attributes
|
|||
|
|
|||
|
$ SYMBOLS DYN INDEX BYTE DYN_FORMAT
|
|||
|
|
|||
|
--- Trigger specific attributes
|
|||
|
|
|||
|
$ SYMBOLS DYN TRIGGER BYTE DYN_FORMAT
|
|||
|
|
|||
|
--- Security Class specific attributes
|
|||
|
|
|||
|
$ SYMBOLS DYN SECURITY BYTE DYN_FORMAT
|
|||
|
|
|||
|
--- Dimension attributes
|
|||
|
|
|||
|
$ SYMBOLS DYN ARRAY BYTE DYN_FORMAT
|
|||
|
|
|||
|
--- File specific attributes
|
|||
|
|
|||
|
$ SYMBOLS DYN FILES DYN_FORMAT
|
|||
|
|
|||
|
--- Function specific attributes
|
|||
|
|
|||
|
$ SYMBOLS DYN FUNCTIONS DYN_FORMAT
|
|||
|
|
|||
|
--- Generator specific attributes
|
|||
|
|
|||
|
$ SYMBOLS DYN GENERATOR DYN_FORMAT
|
|||
|
|
|||
|
--- Array slice description language (SDL)
|
|||
|
|
|||
|
$ SYMBOLS SDL SDL BYTE SDL_FORMAT
|
|||
|
|
|||
|
--- Database parameter block stuff
|
|||
|
|
|||
|
$ SYMBOLS DPB ITEMS PB_FORMAT
|
|||
|
|
|||
|
$ SYMBOLS DPB BITS PB_FORMAT
|
|||
|
|
|||
|
--- Transaction parameter block stuff
|
|||
|
|
|||
|
$ SYMBOLS TPB ITEMS PB_FORMAT
|
|||
|
|
|||
|
--- Blob parameter block stuff
|
|||
|
|
|||
|
$ SYMBOLS BPB ITEMS PB_FORMAT
|
|||
|
|
|||
|
--- Common, structural codes
|
|||
|
|
|||
|
$ SYMBOLS INFO MECH PB_FORMAT
|
|||
|
|
|||
|
--- Database information items
|
|||
|
|
|||
|
$ SYMBOLS INFO DB PB_FORMAT
|
|||
|
|
|||
|
--- Request information items
|
|||
|
|
|||
|
$ SYMBOLS INFO REQUEST PB_FORMAT
|
|||
|
|
|||
|
--- Blob information items
|
|||
|
|
|||
|
$ SYMBOLS INFO BLOB PB_FORMAT
|
|||
|
|
|||
|
--- Transaction information items
|
|||
|
|
|||
|
$ SYMBOLS INFO TRANSACTION PB_FORMAT
|
|||
|
|
|||
|
--- Error codes
|
|||
|
|
|||
|
$ SYMBOLS ERROR MECH ERROR_FORMAT
|
|||
|
|
|||
|
$ ERROR MAJOR ERROR_FORMAT
|
|||
|
|
|||
|
--- Minor codes subject to change
|
|||
|
|
|||
|
$ ERROR MINOR ERROR_FORMAT
|
|||
|
|
|||
|
--- Dynamic SQL datatypes
|
|||
|
|
|||
|
$ SYMBOLS SQL DTYPE SQL_FORMAT
|
|||
|
|
|||
|
--- Forms Package definitions
|
|||
|
|
|||
|
--- Map definition block definitions
|
|||
|
|
|||
|
$ SYMBOLS PYXIS MAP BYTE PYXIS_FORMAT
|
|||
|
|
|||
|
--- Field option flags for display options
|
|||
|
|
|||
|
$ SYMBOLS PYXIS DISPLAY OPT_FORMAT
|
|||
|
|
|||
|
--- Field option values following display
|
|||
|
|
|||
|
$ SYMBOLS PYXIS VALUE OPT_FORMAT
|
|||
|
|
|||
|
--- Pseudo key definitions
|
|||
|
|
|||
|
$ SYMBOLS PYXIS KEY OPT_FORMAT
|
|||
|
|
|||
|
--- Menu definition stuff
|
|||
|
|
|||
|
$ SYMBOLS PYXIS MENU SIGNED PYXIS_FORMAT blr_text : CONSTANT integer := 14;
|
|||
|
|
|||
|
database_error : EXCEPTION;
|
|||
|
null_blob : CONSTANT quad := (0, 0);
|
|||
|
null_tpb : CONSTANT tpb (1..2) := (0, 0);
|
|||
|
null_dpb : CONSTANT dpb (1..2) := (0, 0);
|
|||
|
|
|||
|
PROCEDURE attach_database (
|
|||
|
user_status : OUT status_vector;
|
|||
|
file_length : integer;
|
|||
|
file_name : string;
|
|||
|
db_handle : IN OUT database_handle;
|
|||
|
dpb_length : integer;
|
|||
|
dpb_arg : dpb);
|
|||
|
|
|||
|
PROCEDURE blob_display (
|
|||
|
blob_id : quad;
|
|||
|
db_handle : database_handle;
|
|||
|
tra_handle : transaction_handle;
|
|||
|
field_name : string;
|
|||
|
name_length : integer);
|
|||
|
|
|||
|
PROCEDURE blob_dump (
|
|||
|
blob_id : quad;
|
|||
|
db_handle : database_handle;
|
|||
|
tra_handle : transaction_handle;
|
|||
|
file_name : string;
|
|||
|
name_length : integer);
|
|||
|
|
|||
|
PROCEDURE blob_edit (
|
|||
|
blob_id : IN OUT quad;
|
|||
|
db_handle : database_handle;
|
|||
|
tra_handle : transaction_handle;
|
|||
|
file_name : string;
|
|||
|
name_length : integer);
|
|||
|
|
|||
|
PROCEDURE blob_load (
|
|||
|
blob_id : IN OUT quad;
|
|||
|
db_handle : database_handle;
|
|||
|
tra_handle : transaction_handle;
|
|||
|
file_name : string;
|
|||
|
name_length : integer);
|
|||
|
|
|||
|
PROCEDURE cancel_blob (
|
|||
|
user_status : OUT status_vector;
|
|||
|
blb_handle : IN OUT blob_handle);
|
|||
|
|
|||
|
PROCEDURE cancel_events (
|
|||
|
user_status : OUT status_vector;
|
|||
|
blb_handle : IN OUT blob_handle);
|
|||
|
|
|||
|
PROCEDURE close_blob (
|
|||
|
user_status : OUT status_vector;
|
|||
|
blb_handle : IN OUT blob_handle);
|
|||
|
|
|||
|
PROCEDURE commit_retaining (
|
|||
|
user_status : OUT status_vector;
|
|||
|
trans_handle : IN OUT transaction_handle);
|
|||
|
|
|||
|
PROCEDURE commit_transaction (
|
|||
|
user_status : OUT status_vector;
|
|||
|
trans_handle : IN OUT transaction_handle);
|
|||
|
|
|||
|
PROCEDURE compile_request (
|
|||
|
user_status : OUT status_vector;
|
|||
|
db_handle : database_handle;
|
|||
|
req_handle : IN OUT request_handle;
|
|||
|
blr_length : integer;
|
|||
|
blr_arg : blr);
|
|||
|
|
|||
|
PROCEDURE compile_request2 (
|
|||
|
user_status : OUT status_vector;
|
|||
|
db_handle : database_handle;
|
|||
|
req_handle : IN OUT request_handle;
|
|||
|
blr_length : integer;
|
|||
|
blr_arg : blr);
|
|||
|
|
|||
|
PROCEDURE create_blob (
|
|||
|
user_status : OUT status_vector;
|
|||
|
db_handle : database_handle;
|
|||
|
trans_handle : transaction_handle;
|
|||
|
blb_handle : IN OUT blob_handle;
|
|||
|
blob_id : OUT quad);
|
|||
|
|
|||
|
PROCEDURE create_blob2 (
|
|||
|
user_status : OUT status_vector;
|
|||
|
db_handle : database_handle;
|
|||
|
trans_handle : transaction_handle;
|
|||
|
blb_handle : IN OUT blob_handle;
|
|||
|
blob_id : OUT quad;
|
|||
|
bpb_length : integer;
|
|||
|
bpb : blr);
|
|||
|
|
|||
|
PROCEDURE create_database (
|
|||
|
user_status : OUT status_vector;
|
|||
|
file_length : integer;
|
|||
|
file_name : string;
|
|||
|
db_handle : IN OUT database_handle;
|
|||
|
dpb_length : integer;
|
|||
|
dpb_arg : dpb;
|
|||
|
db_type : integer);
|
|||
|
|
|||
|
PROCEDURE detach_database (
|
|||
|
user_status : OUT status_vector;
|
|||
|
db_handle : IN OUT database_handle);
|
|||
|
|
|||
|
PROCEDURE ddl (
|
|||
|
user_status : OUT status_vector;
|
|||
|
db_handle : database_handle;
|
|||
|
trans_handle : transaction_handle;
|
|||
|
msg_length : integer;
|
|||
|
msg : blr);
|
|||
|
|
|||
|
PROCEDURE encode_date (
|
|||
|
times : gds_tm;
|
|||
|
date : IN OUT quad);
|
|||
|
|
|||
|
PROCEDURE decode_date (
|
|||
|
date : quad;
|
|||
|
times : IN OUT gds_tm);
|
|||
|
|
|||
|
PROCEDURE event_wait (
|
|||
|
user_status : OUT status_vector;
|
|||
|
db_handle : database_handle;
|
|||
|
length : integer;
|
|||
|
events : string;
|
|||
|
buffer : string);
|
|||
|
|
|||
|
PROCEDURE get_segment (
|
|||
|
user_status : OUT status_vector;
|
|||
|
blb_handle : blob_handle;
|
|||
|
actual_length : OUT integer;
|
|||
|
buffer_length : integer;
|
|||
|
buffer : string);
|
|||
|
|
|||
|
PROCEDURE get_slice (
|
|||
|
user_status : OUT status_vector;
|
|||
|
db_handle : database_handle;
|
|||
|
trans_handle : transaction_handle;
|
|||
|
blob_id : quad;
|
|||
|
sdl_length : integer;
|
|||
|
sdl : blr;
|
|||
|
param_length : integer;
|
|||
|
param : string;
|
|||
|
slice_length : long_integer;
|
|||
|
slice : string;
|
|||
|
return_length : long_integer);
|
|||
|
|
|||
|
PROCEDURE open_blob (
|
|||
|
user_status : OUT status_vector;
|
|||
|
db_handle : database_handle;
|
|||
|
trans_handle : transaction_handle;
|
|||
|
blb_handle : IN OUT blob_handle;
|
|||
|
blob_id : quad);
|
|||
|
|
|||
|
PROCEDURE open_blob2 (
|
|||
|
user_status : OUT status_vector;
|
|||
|
db_handle : database_handle;
|
|||
|
trans_handle : transaction_handle;
|
|||
|
blb_handle : IN OUT blob_handle;
|
|||
|
blob_id : quad;
|
|||
|
bpb_length : integer;
|
|||
|
bpb : blr);
|
|||
|
|
|||
|
PROCEDURE prepare_transaction (
|
|||
|
user_status : OUT status_vector;
|
|||
|
trans_handle : IN OUT transaction_handle);
|
|||
|
|
|||
|
PROCEDURE prepare_transaction2 (
|
|||
|
user_status : OUT status_vector;
|
|||
|
trans_handle : IN OUT transaction_handle;
|
|||
|
msg_length : integer;
|
|||
|
msg : blr);
|
|||
|
|
|||
|
PROCEDURE put_segment (
|
|||
|
user_status : OUT status_vector;
|
|||
|
blb_handle : blob_handle;
|
|||
|
length : integer;
|
|||
|
buffer : string);
|
|||
|
|
|||
|
PROCEDURE put_slice (
|
|||
|
user_status : OUT status_vector;
|
|||
|
db_handle : database_handle;
|
|||
|
trans_handle : transaction_handle;
|
|||
|
blob_id : IN OUT quad;
|
|||
|
sdl_length : integer;
|
|||
|
sdl : blr;
|
|||
|
param_length : integer;
|
|||
|
param : string;
|
|||
|
slice_length : long_integer;
|
|||
|
slice : string);
|
|||
|
|
|||
|
PROCEDURE queue_events (
|
|||
|
user_status : OUT status_vector;
|
|||
|
db_handle : database_handle;
|
|||
|
id : quad;
|
|||
|
length : integer;
|
|||
|
events : string;
|
|||
|
ast : long_integer;
|
|||
|
arg : quad);
|
|||
|
|
|||
|
PROCEDURE receive (
|
|||
|
user_status : OUT status_vector;
|
|||
|
req_handle : request_handle;
|
|||
|
msg_type : integer;
|
|||
|
msg_length : integer;
|
|||
|
msg : SYSTEM.ADDRESS;
|
|||
|
level : integer);
|
|||
|
|
|||
|
PROCEDURE rollback_transaction (
|
|||
|
user_status : OUT status_vector;
|
|||
|
trans_handle : IN OUT transaction_handle);
|
|||
|
|
|||
|
PROCEDURE send (
|
|||
|
user_status : OUT status_vector;
|
|||
|
req_handle : request_handle;
|
|||
|
msg_type : integer;
|
|||
|
msg_length : integer;
|
|||
|
msg : SYSTEM.ADDRESS;
|
|||
|
level : integer);
|
|||
|
|
|||
|
PROCEDURE start_and_send (
|
|||
|
user_status : OUT status_vector;
|
|||
|
req_handle : request_handle;
|
|||
|
trans_handle : transaction_handle;
|
|||
|
msg_type : integer;
|
|||
|
msg_length : integer;
|
|||
|
msg : SYSTEM.ADDRESS;
|
|||
|
level : integer);
|
|||
|
|
|||
|
PROCEDURE start_request (
|
|||
|
user_status : OUT status_vector;
|
|||
|
req_handle : request_handle;
|
|||
|
trans_handle : transaction_handle;
|
|||
|
level : integer);
|
|||
|
|
|||
|
PROCEDURE start_multiple (
|
|||
|
user_status : OUT status_vector;
|
|||
|
trans_handle : IN OUT transaction_handle;
|
|||
|
count : integer;
|
|||
|
teb : SYSTEM.ADDRESS);
|
|||
|
|
|||
|
PROCEDURE start_transaction (
|
|||
|
user_status : OUT status_vector;
|
|||
|
trans_handle : IN OUT transaction_handle;
|
|||
|
count : integer;
|
|||
|
db_handle : database_handle;
|
|||
|
tpb_length : integer;
|
|||
|
tpb_arg : tpb);
|
|||
|
|
|||
|
PROCEDURE unwind_request (
|
|||
|
user_status : OUT status_vector;
|
|||
|
req_handle : request_handle;
|
|||
|
level : integer);
|
|||
|
|
|||
|
PROCEDURE print_status (
|
|||
|
user_status : status_vector);
|
|||
|
|
|||
|
PROCEDURE print_version (
|
|||
|
db_handle : database_handle);
|
|||
|
|
|||
|
FUNCTION sqlcode (
|
|||
|
user_status : status_vector) RETURN long_integer;
|
|||
|
|
|||
|
--- Dynamic SQL procedures
|
|||
|
|
|||
|
PROCEDURE dsql_close (
|
|||
|
user_status : OUT status_vector;
|
|||
|
cursor_name : string);
|
|||
|
|
|||
|
PROCEDURE dsql_declare (
|
|||
|
user_status : OUT status_vector;
|
|||
|
statement_name : string;
|
|||
|
cursor_name : string);
|
|||
|
|
|||
|
PROCEDURE dsql_describe (
|
|||
|
user_status : OUT status_vector;
|
|||
|
statement_name : string;
|
|||
|
descriptor : SYSTEM.ADDRESS);
|
|||
|
|
|||
|
PROCEDURE dsql_execute (
|
|||
|
user_status : OUT status_vector;
|
|||
|
trans_handle : transaction_handle;
|
|||
|
statement_name : string;
|
|||
|
descriptor : SYSTEM.ADDRESS);
|
|||
|
|
|||
|
PROCEDURE dsql_execute (
|
|||
|
user_status : OUT status_vector;
|
|||
|
trans_handle : transaction_handle;
|
|||
|
statement_name : string);
|
|||
|
|
|||
|
PROCEDURE dsql_execute_immediate (
|
|||
|
user_status : OUT status_vector;
|
|||
|
db_handle : database_handle;
|
|||
|
trans_handle : transaction_handle;
|
|||
|
command_length : integer;
|
|||
|
command : string);
|
|||
|
|
|||
|
PROCEDURE dsql_fetch (
|
|||
|
user_status : OUT status_vector;
|
|||
|
sqlcode : OUT long_integer;
|
|||
|
cursor_name : string;
|
|||
|
descriptor : SYSTEM.ADDRESS);
|
|||
|
|
|||
|
PROCEDURE dsql_fetch (
|
|||
|
user_status : OUT status_vector;
|
|||
|
sqlcode : OUT long_integer;
|
|||
|
cursor_name : string);
|
|||
|
|
|||
|
PROCEDURE dsql_finish (
|
|||
|
db_handle : database_handle);
|
|||
|
|
|||
|
PROCEDURE dsql_open (
|
|||
|
user_status : OUT status_vector;
|
|||
|
trans_handle : transaction_handle;
|
|||
|
cursor_name : string;
|
|||
|
descriptor : SYSTEM.ADDRESS);
|
|||
|
|
|||
|
PROCEDURE dsql_open (
|
|||
|
user_status : OUT status_vector;
|
|||
|
trans_handle : transaction_handle;
|
|||
|
cursor_name : string);
|
|||
|
|
|||
|
PROCEDURE dsql_prepare (
|
|||
|
user_status : OUT status_vector;
|
|||
|
db_handle : database_handle;
|
|||
|
trans_handle : transaction_handle;
|
|||
|
statement_name : string;
|
|||
|
command_length : integer;
|
|||
|
command : string;
|
|||
|
descriptor : SYSTEM.ADDRESS);
|
|||
|
|
|||
|
PROCEDURE dsql_prepare (
|
|||
|
user_status : OUT status_vector;
|
|||
|
db_handle : database_handle;
|
|||
|
trans_handle : transaction_handle;
|
|||
|
statement_name : string;
|
|||
|
command_length : integer;
|
|||
|
command : string);
|
|||
|
|
|||
|
--- PYXIS procedures
|
|||
|
|
|||
|
PROCEDURE compile_map (
|
|||
|
user_status : OUT status_vector;
|
|||
|
frm_handle : form_handle;
|
|||
|
mp_handle : OUT map_handle;
|
|||
|
map_length : integer;
|
|||
|
map : blr);
|
|||
|
|
|||
|
PROCEDURE compile_sub_map (
|
|||
|
user_status : OUT status_vector;
|
|||
|
frm_handle : form_handle;
|
|||
|
mp_handle : OUT map_handle;
|
|||
|
map_length : integer;
|
|||
|
map : blr);
|
|||
|
|
|||
|
PROCEDURE create_window (
|
|||
|
win_handle : OUT window_handle;
|
|||
|
name_length : integer;
|
|||
|
file_name : string;
|
|||
|
width : IN OUT integer;
|
|||
|
height : IN OUT integer);
|
|||
|
|
|||
|
PROCEDURE delete_window (
|
|||
|
win_handle : IN OUT window_handle);
|
|||
|
|
|||
|
PROCEDURE drive_form (
|
|||
|
user_status : OUT status_vector;
|
|||
|
db_handle : database_handle;
|
|||
|
trans_handle : transaction_handle;
|
|||
|
win_handle : window_handle;
|
|||
|
mp_handle : map_handle;
|
|||
|
input : SYSTEM.ADDRESS;
|
|||
|
output : SYSTEM.ADDRESS);
|
|||
|
|
|||
|
PROCEDURE fetch_sub_form (
|
|||
|
user_status : OUT status_vector;
|
|||
|
db_handle : database_handle;
|
|||
|
trans_handle : transaction_handle;
|
|||
|
mp_handle : map_handle;
|
|||
|
output : SYSTEM.ADDRESS);
|
|||
|
|
|||
|
PROCEDURE insert_sub_form (
|
|||
|
user_status : OUT status_vector;
|
|||
|
db_handle : database_handle;
|
|||
|
trans_handle : transaction_handle;
|
|||
|
mp_handle : map_handle;
|
|||
|
input : SYSTEM.ADDRESS);
|
|||
|
|
|||
|
PROCEDURE load_form (
|
|||
|
user_status : OUT status_vector;
|
|||
|
db_handle : database_handle;
|
|||
|
trans_handle : transaction_handle;
|
|||
|
frm_handle : IN OUT form_handle;
|
|||
|
name_length : integer;
|
|||
|
form_name : string);
|
|||
|
|
|||
|
FUNCTION menu (
|
|||
|
win_handle : window_handle;
|
|||
|
men_handle : menu_handle;
|
|||
|
menu_length : integer;
|
|||
|
menu : blr) RETURN integer;
|
|||
|
|
|||
|
PROCEDURE pop_window (
|
|||
|
win_handle : window_handle);
|
|||
|
|
|||
|
PROCEDURE reset_form (
|
|||
|
user_status : OUT status_vector;
|
|||
|
win_handle : window_handle);
|
|||
|
|
|||
|
PROCEDURE drive_menu (
|
|||
|
win_handle : IN OUT window_handle;
|
|||
|
men_handle : IN OUT menu_handle;
|
|||
|
blr_length : integer;
|
|||
|
blr_source : blr;
|
|||
|
title_length : integer;
|
|||
|
title : string;
|
|||
|
terminator : OUT integer;
|
|||
|
entree_length : OUT integer;
|
|||
|
entree_text : OUT string;
|
|||
|
entree_value : OUT long_integer);
|
|||
|
|
|||
|
PROCEDURE get_entree (
|
|||
|
men_handle : menu_handle;
|
|||
|
entree_length : OUT integer;
|
|||
|
entree_text : OUT string;
|
|||
|
entree_value : OUT long_integer;
|
|||
|
entree_end : OUT integer);
|
|||
|
|
|||
|
PROCEDURE initialize_menu (
|
|||
|
men_handle : IN OUT menu_handle);
|
|||
|
|
|||
|
PROCEDURE put_entree (
|
|||
|
men_handle : menu_handle;
|
|||
|
entree_length : integer;
|
|||
|
entree_text : string;
|
|||
|
entree_value : long_integer);
|
|||
|
|
|||
|
|
|||
|
---
|
|||
|
--- Same routines, but with automatic error checking
|
|||
|
---
|
|||
|
|
|||
|
PROCEDURE attach_database (
|
|||
|
file_length : integer;
|
|||
|
file_name : string;
|
|||
|
db_handle : IN OUT database_handle;
|
|||
|
dpb_length : integer;
|
|||
|
dpb_arg : dpb);
|
|||
|
|
|||
|
PROCEDURE cancel_blob (
|
|||
|
blb_handle : IN OUT blob_handle);
|
|||
|
|
|||
|
PROCEDURE cancel_events (
|
|||
|
blb_handle : IN OUT blob_handle);
|
|||
|
|
|||
|
PROCEDURE close_blob (
|
|||
|
blb_handle : IN OUT blob_handle);
|
|||
|
|
|||
|
PROCEDURE commit_retaining (
|
|||
|
trans_handle : IN OUT transaction_handle);
|
|||
|
|
|||
|
PROCEDURE commit_transaction (
|
|||
|
trans_handle : IN OUT transaction_handle);
|
|||
|
|
|||
|
PROCEDURE compile_request (
|
|||
|
db_handle : database_handle;
|
|||
|
req_handle : IN OUT request_handle;
|
|||
|
blr_length : integer;
|
|||
|
blr_arg : blr);
|
|||
|
|
|||
|
PROCEDURE compile_request2 (
|
|||
|
db_handle : database_handle;
|
|||
|
req_handle : IN OUT request_handle;
|
|||
|
blr_length : integer;
|
|||
|
blr_arg : blr);
|
|||
|
|
|||
|
PROCEDURE create_blob (
|
|||
|
db_handle : database_handle;
|
|||
|
trans_handle : transaction_handle;
|
|||
|
blb_handle : IN OUT blob_handle;
|
|||
|
blob_id : OUT quad);
|
|||
|
|
|||
|
PROCEDURE create_blob2 (
|
|||
|
db_handle : database_handle;
|
|||
|
trans_handle : transaction_handle;
|
|||
|
blb_handle : IN OUT blob_handle;
|
|||
|
blob_id : OUT quad;
|
|||
|
bpb_length : integer;
|
|||
|
bpb : blr);
|
|||
|
|
|||
|
PROCEDURE create_database (
|
|||
|
file_length : integer;
|
|||
|
file_name : string;
|
|||
|
db_handle : IN OUT database_handle;
|
|||
|
dpb_length : integer;
|
|||
|
dpb_arg : dpb;
|
|||
|
db_type : integer);
|
|||
|
|
|||
|
PROCEDURE detach_database (
|
|||
|
db_handle : IN OUT database_handle);
|
|||
|
|
|||
|
PROCEDURE ddl (
|
|||
|
db_handle : database_handle;
|
|||
|
trans_handle : transaction_handle;
|
|||
|
msg_length : integer;
|
|||
|
msg : blr);
|
|||
|
|
|||
|
PROCEDURE get_segment (
|
|||
|
completion_code : OUT long_integer;
|
|||
|
blb_handle : blob_handle;
|
|||
|
actual_length : OUT integer;
|
|||
|
buffer_length : integer;
|
|||
|
buffer : string);
|
|||
|
|
|||
|
PROCEDURE get_slice (
|
|||
|
db_handle : database_handle;
|
|||
|
trans_handle : transaction_handle;
|
|||
|
blob_id : quad;
|
|||
|
sdl_length : integer;
|
|||
|
sdl : blr;
|
|||
|
param_length : integer;
|
|||
|
param : string;
|
|||
|
slice_length : long_integer;
|
|||
|
slice : string;
|
|||
|
return_length : long_integer);
|
|||
|
|
|||
|
PROCEDURE open_blob (
|
|||
|
db_handle : database_handle;
|
|||
|
trans_handle : transaction_handle;
|
|||
|
blb_handle : IN OUT blob_handle;
|
|||
|
blob_id : quad);
|
|||
|
|
|||
|
PROCEDURE open_blob2 (
|
|||
|
db_handle : database_handle;
|
|||
|
trans_handle : transaction_handle;
|
|||
|
blb_handle : IN OUT blob_handle;
|
|||
|
blob_id : quad;
|
|||
|
bpb_length : integer;
|
|||
|
bpb : blr);
|
|||
|
|
|||
|
PROCEDURE prepare_transaction (
|
|||
|
trans_handle : IN OUT transaction_handle);
|
|||
|
|
|||
|
PROCEDURE prepare_transaction2 (
|
|||
|
trans_handle : IN OUT transaction_handle;
|
|||
|
msg_length : integer;
|
|||
|
msg : blr);
|
|||
|
|
|||
|
PROCEDURE put_segment (
|
|||
|
blb_handle : blob_handle;
|
|||
|
length : integer;
|
|||
|
buffer : string);
|
|||
|
|
|||
|
PROCEDURE put_slice (
|
|||
|
db_handle : database_handle;
|
|||
|
trans_handle : transaction_handle;
|
|||
|
blob_id : IN OUT quad;
|
|||
|
sdl_length : integer;
|
|||
|
sdl : blr;
|
|||
|
param_length : integer;
|
|||
|
param : string;
|
|||
|
slice_length : long_integer;
|
|||
|
slice : string);
|
|||
|
|
|||
|
PROCEDURE queue_events (
|
|||
|
db_handle : database_handle;
|
|||
|
id : quad;
|
|||
|
length : integer;
|
|||
|
events : string;
|
|||
|
ast : long_integer;
|
|||
|
arg : quad);
|
|||
|
|
|||
|
PROCEDURE receive (
|
|||
|
req_handle : request_handle;
|
|||
|
msg_type : integer;
|
|||
|
msg_length : integer;
|
|||
|
msg : SYSTEM.ADDRESS;
|
|||
|
level : integer);
|
|||
|
|
|||
|
PROCEDURE rollback_transaction (
|
|||
|
trans_handle : IN OUT transaction_handle);
|
|||
|
|
|||
|
PROCEDURE send (
|
|||
|
req_handle : request_handle;
|
|||
|
msg_type : integer;
|
|||
|
msg_length : integer;
|
|||
|
msg : SYSTEM.ADDRESS;
|
|||
|
level : integer);
|
|||
|
|
|||
|
PROCEDURE start_and_send (
|
|||
|
req_handle : request_handle;
|
|||
|
trans_handle : transaction_handle;
|
|||
|
msg_type : integer;
|
|||
|
msg_length : integer;
|
|||
|
msg : SYSTEM.ADDRESS;
|
|||
|
level : integer);
|
|||
|
|
|||
|
PROCEDURE start_request (
|
|||
|
req_handle : request_handle;
|
|||
|
trans_handle : transaction_handle;
|
|||
|
level : integer);
|
|||
|
|
|||
|
PROCEDURE start_multiple (
|
|||
|
trans_handle : IN OUT transaction_handle;
|
|||
|
count : integer;
|
|||
|
teb : SYSTEM.ADDRESS);
|
|||
|
|
|||
|
PROCEDURE start_transaction (
|
|||
|
trans_handle : IN OUT transaction_handle;
|
|||
|
count : integer;
|
|||
|
db_handle : database_handle;
|
|||
|
tpb_length : integer;
|
|||
|
tpb_arg : tpb);
|
|||
|
|
|||
|
PROCEDURE unwind_request (
|
|||
|
req_handle : request_handle;
|
|||
|
level : integer);
|
|||
|
|
|||
|
PROCEDURE dsql_close (
|
|||
|
cursor_name : string);
|
|||
|
|
|||
|
PROCEDURE dsql_declare (
|
|||
|
statement_name : string;
|
|||
|
cursor_name : string);
|
|||
|
|
|||
|
PROCEDURE dsql_describe (
|
|||
|
statement_name : string;
|
|||
|
descriptor : SYSTEM.ADDRESS);
|
|||
|
|
|||
|
PROCEDURE dsql_execute (
|
|||
|
trans_handle : transaction_handle;
|
|||
|
statement_name : string;
|
|||
|
descriptor : SYSTEM.ADDRESS);
|
|||
|
|
|||
|
PROCEDURE dsql_execute (
|
|||
|
trans_handle : transaction_handle;
|
|||
|
statement_name : string);
|
|||
|
|
|||
|
PROCEDURE dsql_execute_immediate (
|
|||
|
db_handle : database_handle;
|
|||
|
trans_handle : transaction_handle;
|
|||
|
command_length : integer;
|
|||
|
command : string);
|
|||
|
|
|||
|
PROCEDURE dsql_fetch (
|
|||
|
sqlcode : OUT long_integer;
|
|||
|
cursor_name : string;
|
|||
|
descriptor : SYSTEM.ADDRESS);
|
|||
|
|
|||
|
PROCEDURE dsql_fetch (
|
|||
|
sqlcode : OUT long_integer;
|
|||
|
cursor_name : string);
|
|||
|
|
|||
|
PROCEDURE dsql_open (
|
|||
|
trans_handle : transaction_handle;
|
|||
|
cursor_name : string;
|
|||
|
descriptor : SYSTEM.ADDRESS);
|
|||
|
|
|||
|
PROCEDURE dsql_open (
|
|||
|
trans_handle : transaction_handle;
|
|||
|
cursor_name : string);
|
|||
|
|
|||
|
PROCEDURE dsql_prepare (
|
|||
|
db_handle : database_handle;
|
|||
|
trans_handle : transaction_handle;
|
|||
|
statement_name : string;
|
|||
|
command_length : integer;
|
|||
|
command : string;
|
|||
|
descriptor : SYSTEM.ADDRESS);
|
|||
|
|
|||
|
PROCEDURE dsql_prepare (
|
|||
|
db_handle : database_handle;
|
|||
|
trans_handle : transaction_handle;
|
|||
|
statement_name : string;
|
|||
|
command_length : integer;
|
|||
|
command : string);
|
|||
|
|
|||
|
--- PYXIS procedures
|
|||
|
|
|||
|
PROCEDURE compile_map (
|
|||
|
frm_handle : form_handle;
|
|||
|
mp_handle : OUT map_handle;
|
|||
|
map_length : integer;
|
|||
|
map : blr);
|
|||
|
|
|||
|
PROCEDURE compile_sub_map (
|
|||
|
frm_handle : form_handle;
|
|||
|
mp_handle : OUT map_handle;
|
|||
|
map_length : integer;
|
|||
|
map : blr);
|
|||
|
|
|||
|
PROCEDURE drive_form (
|
|||
|
db_handle : database_handle;
|
|||
|
trans_handle : transaction_handle;
|
|||
|
win_handle : window_handle;
|
|||
|
mp_handle : map_handle;
|
|||
|
input : SYSTEM.ADDRESS;
|
|||
|
output : SYSTEM.ADDRESS);
|
|||
|
|
|||
|
PROCEDURE fetch_sub_form (
|
|||
|
db_handle : database_handle;
|
|||
|
trans_handle : transaction_handle;
|
|||
|
mp_handle : map_handle;
|
|||
|
output : SYSTEM.ADDRESS);
|
|||
|
|
|||
|
PROCEDURE insert_sub_form (
|
|||
|
db_handle : database_handle;
|
|||
|
trans_handle : transaction_handle;
|
|||
|
mp_handle : map_handle;
|
|||
|
input : SYSTEM.ADDRESS);
|
|||
|
|
|||
|
PROCEDURE load_form (
|
|||
|
db_handle : database_handle;
|
|||
|
trans_handle : transaction_handle;
|
|||
|
frm_handle : IN OUT form_handle;
|
|||
|
name_length : integer;
|
|||
|
form_name : string);
|
|||
|
|
|||
|
PROCEDURE reset_form (
|
|||
|
win_handle : window_handle);
|
|||
|
|
|||
|
END interbase;
|
|||
|
|
|||
|
PACKAGE BODY interbase IS
|
|||
|
|
|||
|
---
|
|||
|
--- Actual Interbase entrypoints
|
|||
|
---
|
|||
|
|
|||
|
PROCEDURE gds_attach_database (
|
|||
|
user_status : OUT status_vector;
|
|||
|
file_length : integer;
|
|||
|
file_name : SYSTEM.ADDRESS; -- string;
|
|||
|
db_handle : SYSTEM.ADDRESS; -- IN OUT database_handle;
|
|||
|
dpb_length : integer;
|
|||
|
dpb_arg : dpb);
|
|||
|
|
|||
|
PROCEDURE gds_blob_display (
|
|||
|
blob_id : quad;
|
|||
|
db_handle : SYSTEM.ADDRESS; -- database_handle;
|
|||
|
tra_handle : SYSTEM.ADDRESS; -- transaction_handle;
|
|||
|
field_name : SYSTEM.ADDRESS; -- string;
|
|||
|
name_length : SYSTEM.ADDRESS); -- integer);
|
|||
|
|
|||
|
PROCEDURE gds_blob_dump (
|
|||
|
blob_id : quad;
|
|||
|
db_handle : SYSTEM.ADDRESS; -- database_handle;
|
|||
|
tra_handle : SYSTEM.ADDRESS; -- transaction_handle;
|
|||
|
file_name : SYSTEM.ADDRESS; -- string;
|
|||
|
name_length : SYSTEM.ADDRESS); -- integer);
|
|||
|
|
|||
|
PROCEDURE gds_blob_edit (
|
|||
|
blob_id : IN OUT quad;
|
|||
|
db_handle : SYSTEM.ADDRESS; -- database_handle;
|
|||
|
tra_handle : SYSTEM.ADDRESS; -- transaction_handle;
|
|||
|
file_name : SYSTEM.ADDRESS; -- string;
|
|||
|
name_length : SYSTEM.ADDRESS); -- integer);
|
|||
|
|
|||
|
PROCEDURE gds_blob_load (
|
|||
|
blob_id : IN OUT quad;
|
|||
|
db_handle : SYSTEM.ADDRESS; -- database_handle;
|
|||
|
tra_handle : SYSTEM.ADDRESS; -- transaction_handle;
|
|||
|
file_name : SYSTEM.ADDRESS; -- string;
|
|||
|
name_length : SYSTEM.ADDRESS); -- integer);
|
|||
|
|
|||
|
PROCEDURE gds_cancel_blob (
|
|||
|
user_status : OUT status_vector;
|
|||
|
blb_handle : SYSTEM.ADDRESS); -- IN OUT blob_handle;
|
|||
|
|
|||
|
PROCEDURE gds_cancel_events (
|
|||
|
user_status : OUT status_vector;
|
|||
|
blb_handle : SYSTEM.ADDRESS); -- IN OUT blob_handle;
|
|||
|
|
|||
|
PROCEDURE gds_close_blob (
|
|||
|
user_status : OUT status_vector;
|
|||
|
blb_handle : SYSTEM.ADDRESS); -- IN OUT blob_handle;
|
|||
|
|
|||
|
PROCEDURE gds_commit_retaining (
|
|||
|
user_status : OUT status_vector;
|
|||
|
trans_handle : SYSTEM.ADDRESS); -- IN OUT transaction_handle;
|
|||
|
|
|||
|
PROCEDURE gds_commit_transaction (
|
|||
|
user_status : OUT status_vector;
|
|||
|
trans_handle : SYSTEM.ADDRESS); -- IN OUT transaction_handle;
|
|||
|
|
|||
|
PROCEDURE gds_compile_request (
|
|||
|
user_status : OUT status_vector;
|
|||
|
db_handle : SYSTEM.ADDRESS; -- database_handle;
|
|||
|
req_handle : SYSTEM.ADDRESS; -- IN OUT request_handle;
|
|||
|
blr_length : integer;
|
|||
|
blr_arg : blr);
|
|||
|
|
|||
|
PROCEDURE gds_compile_request2 (
|
|||
|
user_status : OUT status_vector;
|
|||
|
db_handle : SYSTEM.ADDRESS; -- database_handle;
|
|||
|
req_handle : SYSTEM.ADDRESS; -- IN OUT request_handle;
|
|||
|
blr_length : integer;
|
|||
|
blr_arg : blr); -- blr;
|
|||
|
|
|||
|
PROCEDURE gds_create_blob (
|
|||
|
user_status : OUT status_vector;
|
|||
|
db_handle : SYSTEM.ADDRESS; -- database_handle;
|
|||
|
trans_handle : SYSTEM.ADDRESS; -- transaction_handle;
|
|||
|
blb_handle : SYSTEM.ADDRESS; -- IN OUT blob_handle;
|
|||
|
blob_id : OUT quad);
|
|||
|
|
|||
|
PROCEDURE gds_create_blob2 (
|
|||
|
user_status : OUT status_vector;
|
|||
|
db_handle : SYSTEM.ADDRESS; --database_handle;
|
|||
|
trans_handle : SYSTEM.ADDRESS; --transaction_handle;
|
|||
|
blb_handle : SYSTEM.ADDRESS; --IN OUT blob_handle;
|
|||
|
blob_id : OUT quad;
|
|||
|
bpb_length : integer;
|
|||
|
bpb : blr);
|
|||
|
|
|||
|
PROCEDURE gds_create_database (
|
|||
|
user_status : OUT status_vector;
|
|||
|
file_length : integer;
|
|||
|
file_name : SYSTEM.ADDRESS; -- string;
|
|||
|
db_handle : SYSTEM.ADDRESS; -- IN OUT database_handle;
|
|||
|
dpb_length : integer;
|
|||
|
dpb_arg : dpb;
|
|||
|
db_type : integer);
|
|||
|
|
|||
|
PROCEDURE gds_detach_database (
|
|||
|
user_status : OUT status_vector;
|
|||
|
db_handle : SYSTEM.ADDRESS); -- IN OUT database_handle);
|
|||
|
|
|||
|
PROCEDURE gds_ddl (
|
|||
|
user_status : OUT status_vector;
|
|||
|
db_handle : SYSTEM.ADDRESS; -- database_handle;
|
|||
|
trans_handle : SYSTEM.ADDRESS; -- transaction_handle;
|
|||
|
msg_length : integer;
|
|||
|
msg : blr);
|
|||
|
|
|||
|
PROCEDURE gds_decode_date (
|
|||
|
date : quad; -- quad;
|
|||
|
times : SYSTEM.ADDRESS); -- IN OUT gds_tm);
|
|||
|
|
|||
|
PROCEDURE gds_encode_date (
|
|||
|
times : SYSTEM.ADDRESS; -- gds_tm;
|
|||
|
date : IN OUT quad); -- IN OUT quad);
|
|||
|
|
|||
|
PROCEDURE gds_event_wait (
|
|||
|
user_status : OUT status_vector;
|
|||
|
db_handle : SYSTEM.ADDRESS; -- database_handle;
|
|||
|
length : integer;
|
|||
|
events : SYSTEM.ADDRESS; -- string;
|
|||
|
buffer : SYSTEM.ADDRESS); -- string;
|
|||
|
|
|||
|
PROCEDURE gds_get_segment (
|
|||
|
user_status : OUT status_vector;
|
|||
|
blb_handle : SYSTEM.ADDRESS; -- blob_handle;
|
|||
|
actual_length : SYSTEM.ADDRESS; -- OUT integer;
|
|||
|
buffer_length : integer;
|
|||
|
buffer : SYSTEM.ADDRESS); -- string);
|
|||
|
|
|||
|
PROCEDURE gds_get_slice (
|
|||
|
user_status : OUT status_vector;
|
|||
|
db_handle : SYSTEM.ADDRESS; -- database_handle;
|
|||
|
trans_handle : SYSTEM.ADDRESS; -- transaction_handle;
|
|||
|
blob_id : quad;
|
|||
|
sdl_length : integer;
|
|||
|
sdl : blr;
|
|||
|
param_length : integer;
|
|||
|
param : SYSTEM.ADDRESS; -- string;
|
|||
|
slice_length : long_integer;
|
|||
|
slice : SYSTEM.ADDRESS; -- string;
|
|||
|
return_length : long_integer); -- OUT long_integer;
|
|||
|
|
|||
|
PROCEDURE gds_open_blob (
|
|||
|
user_status : OUT status_vector;
|
|||
|
db_handle : SYSTEM.ADDRESS; -- database_handle;
|
|||
|
trans_handle : SYSTEM.ADDRESS; -- transaction_handle;
|
|||
|
blb_handle : SYSTEM.ADDRESS; -- IN OUT blob_handle;
|
|||
|
blob_id : quad);
|
|||
|
|
|||
|
PROCEDURE gds_open_blob2 (
|
|||
|
user_status : OUT status_vector;
|
|||
|
db_handle : SYSTEM.ADDRESS; --database_handle;
|
|||
|
trans_handle : SYSTEM.ADDRESS; --transaction_handle;
|
|||
|
blb_handle : SYSTEM.ADDRESS; --IN OUT blob_handle;
|
|||
|
blob_id : quad;
|
|||
|
bpb_length : integer;
|
|||
|
bpb : blr);
|
|||
|
|
|||
|
PROCEDURE gds_prepare_transaction (
|
|||
|
user_status : OUT status_vector;
|
|||
|
trans_handle : SYSTEM.ADDRESS); -- IN OUT transaction_handle);
|
|||
|
|
|||
|
PROCEDURE gds_prepare_transaction2 (
|
|||
|
user_status : OUT status_vector;
|
|||
|
trans_handle : SYSTEM.ADDRESS; -- IN OUT transaction_handle;
|
|||
|
msg_length : integer;
|
|||
|
msg : blr); -- blr;
|
|||
|
|
|||
|
PROCEDURE gds_put_segment (
|
|||
|
user_status : OUT status_vector;
|
|||
|
blb_handle : SYSTEM.ADDRESS; -- blob_handle;
|
|||
|
length : integer;
|
|||
|
buffer : SYSTEM.ADDRESS); -- string);
|
|||
|
|
|||
|
PROCEDURE gds_put_slice (
|
|||
|
user_status : OUT status_vector;
|
|||
|
db_handle : SYSTEM.ADDRESS; -- database_handle;
|
|||
|
trans_handle : SYSTEM.ADDRESS; -- transaction_handle;
|
|||
|
blob_id : IN OUT quad;
|
|||
|
sdl_length : integer;
|
|||
|
sdl : blr;
|
|||
|
param_length : integer;
|
|||
|
param : SYSTEM.ADDRESS; -- string;
|
|||
|
slice_length : long_integer;
|
|||
|
slice : SYSTEM.ADDRESS); -- string;
|
|||
|
|
|||
|
PROCEDURE gds_queue_events (
|
|||
|
user_status : OUT status_vector;
|
|||
|
db_handle : SYSTEM.ADDRESS; -- database_handle;
|
|||
|
id : quad;
|
|||
|
length : integer;
|
|||
|
events : SYSTEM.ADDRESS; -- string;
|
|||
|
ast : long_integer;
|
|||
|
arg : quad); -- quad;
|
|||
|
|
|||
|
PROCEDURE gds_receive (
|
|||
|
user_status : OUT status_vector;
|
|||
|
req_handle : SYSTEM.ADDRESS; -- request_handle;
|
|||
|
msg_type : integer;
|
|||
|
msg_length : integer;
|
|||
|
msg : SYSTEM.ADDRESS;
|
|||
|
level : integer);
|
|||
|
|
|||
|
PROCEDURE gds_rollback_transaction (
|
|||
|
user_status : OUT status_vector;
|
|||
|
trans_handle : SYSTEM.ADDRESS); -- IN OUT transaction_handle);
|
|||
|
|
|||
|
PROCEDURE gds_send (
|
|||
|
user_status : OUT status_vector;
|
|||
|
req_handle : SYSTEM.ADDRESS; -- request_handle;
|
|||
|
msg_type : integer;
|
|||
|
msg_length : integer;
|
|||
|
msg : SYSTEM.ADDRESS;
|
|||
|
level : integer);
|
|||
|
|
|||
|
PROCEDURE gds_start_and_send (
|
|||
|
user_status : OUT status_vector;
|
|||
|
req_handle : SYSTEM.ADDRESS; -- request_handle;
|
|||
|
trans_handle : SYSTEM.ADDRESS; -- transaction_handle;
|
|||
|
msg_type : integer;
|
|||
|
msg_length : integer;
|
|||
|
msg : SYSTEM.ADDRESS;
|
|||
|
level : integer);
|
|||
|
|
|||
|
PROCEDURE gds_start_request (
|
|||
|
user_status : OUT status_vector;
|
|||
|
req_handle : SYSTEM.ADDRESS; -- request_handle;
|
|||
|
trans_handle : SYSTEM.ADDRESS; -- transaction_handle;
|
|||
|
level : integer);
|
|||
|
|
|||
|
PROCEDURE gds_start_multiple (
|
|||
|
user_status : OUT status_vector;
|
|||
|
trans_handle : SYSTEM.ADDRESS; -- IN OUT transaction_handle;
|
|||
|
count : integer;
|
|||
|
teb : SYSTEM.ADDRESS);
|
|||
|
|
|||
|
PROCEDURE gds_start_transaction (
|
|||
|
user_status : OUT status_vector;
|
|||
|
trans_handle : SYSTEM.ADDRESS; -- IN OUT transaction_handle;
|
|||
|
count : integer;
|
|||
|
db_handle : SYSTEM.ADDRESS; -- database_handle;
|
|||
|
tpb_length : integer;
|
|||
|
tpb_arg : tpb);
|
|||
|
|
|||
|
PROCEDURE gds_unwind_request (
|
|||
|
user_status : OUT status_vector;
|
|||
|
req_handle : SYSTEM.ADDRESS; -- request_handle;
|
|||
|
level : integer);
|
|||
|
|
|||
|
PROCEDURE gds_print_status (
|
|||
|
user_status : status_vector);
|
|||
|
|
|||
|
PROCEDURE gds_version (
|
|||
|
db_handle : SYSTEM.ADDRESS;
|
|||
|
ptr1 : long_integer;
|
|||
|
ptr2 : SYSTEM.ADDRESS);
|
|||
|
|
|||
|
FUNCTION gds_sqlcode (
|
|||
|
user_status : status_vector) RETURN long_integer;
|
|||
|
|
|||
|
--- Dynamic SQL procedures
|
|||
|
|
|||
|
PROCEDURE gds_close (
|
|||
|
user_status : OUT status_vector;
|
|||
|
cursor_name : SYSTEM.ADDRESS); -- string);
|
|||
|
|
|||
|
PROCEDURE gds_declare (
|
|||
|
user_status : OUT status_vector;
|
|||
|
statement_name : SYSTEM.ADDRESS; -- string;
|
|||
|
cursor_name : SYSTEM.ADDRESS); -- string);
|
|||
|
|
|||
|
PROCEDURE gds_describe (
|
|||
|
user_status : OUT status_vector;
|
|||
|
statement_name : SYSTEM.ADDRESS; -- string;
|
|||
|
descriptor : SYSTEM.ADDRESS);
|
|||
|
|
|||
|
PROCEDURE gds_dsql_finish (
|
|||
|
db_handle : SYSTEM.ADDRESS); -- database_handle);
|
|||
|
|
|||
|
PROCEDURE gds_execute (
|
|||
|
user_status : OUT status_vector;
|
|||
|
trans_handle : SYSTEM.ADDRESS; -- transaction_handle;
|
|||
|
statement_name : SYSTEM.ADDRESS; -- string;
|
|||
|
descriptor : SYSTEM.ADDRESS);
|
|||
|
|
|||
|
PROCEDURE gds_execute_immediate (
|
|||
|
user_status : OUT status_vector;
|
|||
|
db_handle : SYSTEM.ADDRESS; -- database_handle;
|
|||
|
trans_handle : SYSTEM.ADDRESS; -- transaction_handle;
|
|||
|
command_length : SYSTEM.ADDRESS; -- integer;
|
|||
|
command : SYSTEM.ADDRESS); -- string);
|
|||
|
|
|||
|
PROCEDURE gds_fetch (
|
|||
|
user_status : OUT status_vector;
|
|||
|
sqlcode : SYSTEM.ADDRESS; -- OUT long_integer;
|
|||
|
cursor_name : SYSTEM.ADDRESS; -- string;
|
|||
|
descriptor : SYSTEM.ADDRESS);
|
|||
|
|
|||
|
PROCEDURE gds_open (
|
|||
|
user_status : OUT status_vector;
|
|||
|
trans_handle : SYSTEM.ADDRESS; -- transaction_handle;
|
|||
|
cursor_name : SYSTEM.ADDRESS; -- string;
|
|||
|
descriptor : SYSTEM.ADDRESS);
|
|||
|
|
|||
|
PROCEDURE gds_prepare (
|
|||
|
user_status : OUT status_vector;
|
|||
|
db_handle : SYSTEM.ADDRESS; -- database_handle;
|
|||
|
trans_handle : SYSTEM.ADDRESS; -- transaction_handle;
|
|||
|
statement_name : SYSTEM.ADDRESS; -- string;
|
|||
|
command_length : SYSTEM.ADDRESS; -- integer;
|
|||
|
command : SYSTEM.ADDRESS; -- string;
|
|||
|
descriptor : SYSTEM.ADDRESS);
|
|||
|
|
|||
|
--- PYXIS procedures
|
|||
|
|
|||
|
PROCEDURE pyxis_compile_map (
|
|||
|
user_status : OUT status_vector;
|
|||
|
frm_handle : SYSTEM.ADDRESS; -- form_handle;
|
|||
|
mp_handle : SYSTEM.ADDRESS; -- OUT map_handle;
|
|||
|
map_length : SYSTEM.ADDRESS; -- integer;
|
|||
|
map : blr);
|
|||
|
|
|||
|
PROCEDURE pyxis_compile_sub_map (
|
|||
|
user_status : OUT status_vector;
|
|||
|
frm_handle : SYSTEM.ADDRESS; -- form_handle;
|
|||
|
mp_handle : SYSTEM.ADDRESS; -- OUT map_handle;
|
|||
|
map_length : SYSTEM.ADDRESS; -- integer;
|
|||
|
map : blr);
|
|||
|
|
|||
|
PROCEDURE pyxis_create_window (
|
|||
|
win_handle : SYSTEM.ADDRESS; -- OUT window_handle;
|
|||
|
name_length : SYSTEM.ADDRESS; -- integer;
|
|||
|
file_name : SYSTEM.ADDRESS; -- string;
|
|||
|
width : SYSTEM.ADDRESS; -- IN OUT integer;
|
|||
|
height : SYSTEM.ADDRESS); -- IN OUT integer);
|
|||
|
|
|||
|
PROCEDURE pyxis_delete_window (
|
|||
|
win_handle : SYSTEM.ADDRESS); -- IN OUT window_handle);
|
|||
|
|
|||
|
PROCEDURE pyxis_drive_form (
|
|||
|
user_status : OUT status_vector;
|
|||
|
db_handle : SYSTEM.ADDRESS; -- database_handle;
|
|||
|
trans_handle : SYSTEM.ADDRESS; -- transaction_handle;
|
|||
|
win_handle : SYSTEM.ADDRESS; -- window_handle;
|
|||
|
mp_handle : SYSTEM.ADDRESS; -- map_handle;
|
|||
|
input : SYSTEM.ADDRESS;
|
|||
|
output : SYSTEM.ADDRESS);
|
|||
|
|
|||
|
PROCEDURE pyxis_fetch (
|
|||
|
user_status : OUT status_vector;
|
|||
|
db_handle : SYSTEM.ADDRESS; -- database_handle;
|
|||
|
trans_handle : SYSTEM.ADDRESS; -- transaction_handle;
|
|||
|
mp_handle : SYSTEM.ADDRESS; -- map_handle;
|
|||
|
output : SYSTEM.ADDRESS);
|
|||
|
|
|||
|
PROCEDURE pyxis_insert (
|
|||
|
user_status : OUT status_vector;
|
|||
|
db_handle : SYSTEM.ADDRESS; -- database_handle;
|
|||
|
trans_handle : SYSTEM.ADDRESS; -- transaction_handle;
|
|||
|
mp_handle : SYSTEM.ADDRESS; -- map_handle;
|
|||
|
input : SYSTEM.ADDRESS);
|
|||
|
|
|||
|
PROCEDURE pyxis_load_form (
|
|||
|
user_status : OUT status_vector;
|
|||
|
db_handle : SYSTEM.ADDRESS; -- database_handle;
|
|||
|
trans_handle : SYSTEM.ADDRESS; -- transaction_handle;
|
|||
|
frm_handle : SYSTEM.ADDRESS; -- IN OUT form_handle;
|
|||
|
name_length : SYSTEM.ADDRESS; -- integer;
|
|||
|
form_name : SYSTEM.ADDRESS); -- string);
|
|||
|
|
|||
|
FUNCTION pyxis_menu (
|
|||
|
win_handle : SYSTEM.ADDRESS; -- window_handle;
|
|||
|
men_handle : SYSTEM.ADDRESS; -- menu_handle;
|
|||
|
menu_length : SYSTEM.ADDRESS; -- integer;
|
|||
|
menu : blr) RETURN integer;
|
|||
|
|
|||
|
PROCEDURE pyxis_pop_window (
|
|||
|
win_handle : SYSTEM.ADDRESS); -- window_handle);
|
|||
|
|
|||
|
PROCEDURE pyxis_reset_form (
|
|||
|
user_status : OUT status_vector;
|
|||
|
win_handle : SYSTEM.ADDRESS); -- window_handle);
|
|||
|
|
|||
|
PROCEDURE pyxis_drive_menu (
|
|||
|
win_handle : SYSTEM.ADDRESS; -- IN OUT window_handle;
|
|||
|
men_handle : SYSTEM.ADDRESS; -- IN OUT menu_handle;
|
|||
|
blr_length : integer;
|
|||
|
blr_source : blr;
|
|||
|
title_length : integer;
|
|||
|
title : SYSTEM.ADDRESS; -- string;
|
|||
|
terminator : SYSTEM.ADDRESS; -- OUT integer;
|
|||
|
entree_length : SYSTEM.ADDRESS; -- OUT integer;
|
|||
|
entree_text : SYSTEM.ADDRESS; -- OUT string;
|
|||
|
entree_value : SYSTEM.ADDRESS); -- OUT integer);
|
|||
|
|
|||
|
PROCEDURE pyxis_get_entree (
|
|||
|
men_handle : menu_handle;
|
|||
|
entree_length : SYSTEM.ADDRESS; -- OUT integer;
|
|||
|
entree_text : SYSTEM.ADDRESS; -- OUT string;
|
|||
|
entree_value : SYSTEM.ADDRESS; -- OUT long_integer;
|
|||
|
entree_end : SYSTEM.ADDRESS); -- OUT integer);
|
|||
|
|
|||
|
PROCEDURE pyxis_initialize_menu (
|
|||
|
men_handle : SYSTEM.ADDRESS); -- IN OUT menu_handle);
|
|||
|
|
|||
|
PROCEDURE pyxis_put_entree (
|
|||
|
men_handle : menu_handle;
|
|||
|
entree_length : integer;
|
|||
|
entree_text : SYSTEM.ADDRESS; -- string;
|
|||
|
entree_value : long_integer);
|
|||
|
|
|||
|
pragma interface (C, gds_attach_database);
|
|||
|
pragma linkname (gds_attach_database, "gds_$attach_database");
|
|||
|
|
|||
|
pragma interface (C, gds_blob_display);
|
|||
|
pragma linkname (gds_blob_display, "blob_$display");
|
|||
|
pragma interface (C, gds_blob_dump);
|
|||
|
pragma linkname (gds_blob_dump, "blob_$dump");
|
|||
|
pragma interface (C, gds_blob_edit);
|
|||
|
pragma linkname (gds_blob_edit, "blob_$edit");
|
|||
|
pragma interface (C, gds_blob_load);
|
|||
|
pragma linkname (gds_blob_load, "blob_$load");
|
|||
|
|
|||
|
pragma interface (C, gds_cancel_blob);
|
|||
|
pragma linkname (gds_cancel_blob, "gds_$cancel_blob");
|
|||
|
pragma interface (C, gds_cancel_events);
|
|||
|
pragma linkname (gds_cancel_events, "gds_$cancel_events");
|
|||
|
pragma interface (C, gds_close);
|
|||
|
pragma linkname (gds_close, "gds_$close");
|
|||
|
pragma interface (C, gds_close_blob);
|
|||
|
pragma linkname (gds_close_blob, "gds_$close_blob");
|
|||
|
pragma interface (C, gds_commit_retaining);
|
|||
|
pragma linkname (gds_commit_retaining, "gds_$commit_retaining");
|
|||
|
pragma interface (C, gds_commit_transaction);
|
|||
|
pragma linkname (gds_commit_transaction, "gds_$commit_transaction");
|
|||
|
pragma interface (C, gds_compile_request);
|
|||
|
pragma linkname (gds_compile_request, "gds_$compile_request");
|
|||
|
pragma interface (C, gds_compile_request2);
|
|||
|
pragma linkname (gds_compile_request2, "gds_$compile_request2");
|
|||
|
pragma interface (C, gds_create_blob);
|
|||
|
pragma linkname (gds_create_blob, "gds_$create_blob");
|
|||
|
pragma interface (C, gds_create_blob2);
|
|||
|
pragma linkname (gds_create_blob2, "gds_$create_blob2");
|
|||
|
pragma interface (C, gds_create_database);
|
|||
|
pragma linkname (gds_create_database, "gds_$create_database");
|
|||
|
|
|||
|
pragma interface (C, gds_ddl);
|
|||
|
pragma linkname (gds_ddl, "gds_$ddl");
|
|||
|
pragma interface (C, gds_declare);
|
|||
|
pragma linkname (gds_declare, "gds_$declare");
|
|||
|
pragma interface (C, gds_decode_date);
|
|||
|
pragma linkname (gds_decode_date, "gds_$decode_date");
|
|||
|
pragma interface (C, gds_describe);
|
|||
|
pragma linkname (gds_describe, "gds_$describe");
|
|||
|
pragma interface (C, gds_detach_database);
|
|||
|
pragma linkname (gds_detach_database, "gds_$detach_database");
|
|||
|
pragma interface (C, gds_dsql_finish);
|
|||
|
pragma linkname (gds_dsql_finish, "gds_$dsql_finish");
|
|||
|
|
|||
|
pragma interface (C, gds_encode_date);
|
|||
|
pragma linkname (gds_encode_date, "gds_$encode_date");
|
|||
|
pragma interface (C, gds_event_wait);
|
|||
|
pragma linkname (gds_event_wait, "gds_$event_wait");
|
|||
|
pragma interface (C, gds_execute);
|
|||
|
pragma linkname (gds_execute, "gds_$execute");
|
|||
|
pragma interface (C, gds_execute_immediate);
|
|||
|
pragma linkname (gds_execute_immediate, "gds_$execute_immediate");
|
|||
|
|
|||
|
pragma interface (C, gds_fetch);
|
|||
|
pragma linkname (gds_fetch, "gds_$fetch_a");
|
|||
|
|
|||
|
pragma interface (C, gds_get_segment);
|
|||
|
pragma linkname (gds_get_segment, "gds_$get_segment");
|
|||
|
pragma interface (C, gds_get_slice);
|
|||
|
pragma linkname (gds_get_slice, "gds_$get_slice");
|
|||
|
|
|||
|
pragma interface (C, gds_open);
|
|||
|
pragma linkname (gds_open, "gds_$open");
|
|||
|
pragma interface (C, gds_open_blob);
|
|||
|
pragma linkname (gds_open_blob, "gds_$open_blob");
|
|||
|
pragma interface (C, gds_open_blob2);
|
|||
|
pragma linkname (gds_open_blob2, "gds_$open_blob2");
|
|||
|
|
|||
|
pragma interface (C, gds_prepare);
|
|||
|
pragma linkname (gds_prepare, "gds_$prepare");
|
|||
|
pragma interface (C, gds_prepare_transaction);
|
|||
|
pragma linkname (gds_prepare_transaction, "gds_$prepare_transaction");
|
|||
|
pragma interface (C, gds_prepare_transaction2);
|
|||
|
pragma linkname (gds_prepare_transaction2, "gds_$prepare_transaction2");
|
|||
|
pragma interface (C, gds_print_status);
|
|||
|
pragma linkname (gds_print_status, "gds_$print_status");
|
|||
|
pragma interface (C, gds_put_segment);
|
|||
|
pragma linkname (gds_put_segment, "gds_$put_segment");
|
|||
|
pragma interface (C, gds_put_slice);
|
|||
|
pragma linkname (gds_put_slice, "gds_$put_slice");
|
|||
|
|
|||
|
pragma interface (C, gds_queue_events);
|
|||
|
pragma linkname (gds_queue_events, "gds_$que_events");
|
|||
|
|
|||
|
pragma interface (C, gds_receive);
|
|||
|
pragma linkname (gds_receive, "gds_$receive");
|
|||
|
pragma interface (C, gds_rollback_transaction);
|
|||
|
pragma linkname (gds_rollback_transaction, "gds_$rollback_transaction");
|
|||
|
|
|||
|
pragma interface (C, gds_send);
|
|||
|
pragma linkname (gds_send, "gds_$send");
|
|||
|
pragma interface (C, gds_sqlcode);
|
|||
|
pragma linkname (gds_sqlcode, "gds_$sqlcode");
|
|||
|
pragma interface (C, gds_start_and_send);
|
|||
|
pragma linkname (gds_start_and_send, "gds_$start_and_send");
|
|||
|
pragma interface (C, gds_start_multiple);
|
|||
|
pragma linkname (gds_start_multiple, "gds_$start_multiple");
|
|||
|
pragma interface (C, gds_start_request);
|
|||
|
pragma linkname (gds_start_request, "gds_$start_request");
|
|||
|
pragma interface (C, gds_start_transaction);
|
|||
|
pragma linkname (gds_start_transaction, "gds_$start_transaction");
|
|||
|
|
|||
|
pragma interface (C, gds_unwind_request);
|
|||
|
pragma linkname (gds_unwind_request, "gds_$unwind_request");
|
|||
|
|
|||
|
pragma interface (C, gds_version);
|
|||
|
pragma linkname (gds_version, "gds_$version");
|
|||
|
|
|||
|
pragma interface (C, pyxis_compile_map);
|
|||
|
pragma linkname (pyxis_compile_map, "pyxis_$compile_map");
|
|||
|
pragma interface (C, pyxis_compile_sub_map);
|
|||
|
pragma linkname (pyxis_compile_sub_map, "pyxis_$compile_sub_map");
|
|||
|
pragma interface (C, pyxis_create_window);
|
|||
|
pragma linkname (pyxis_create_window, "pyxis_$create_window");
|
|||
|
pragma interface (C, pyxis_delete_window);
|
|||
|
pragma linkname (pyxis_delete_window, "pyxis_$delete_window");
|
|||
|
pragma interface (C, pyxis_drive_form);
|
|||
|
pragma linkname (pyxis_drive_form, "pyxis_$drive_form");
|
|||
|
pragma interface (C, pyxis_drive_menu);
|
|||
|
pragma linkname (pyxis_drive_menu, "pyxis_$drive_menu");
|
|||
|
pragma interface (C, pyxis_fetch);
|
|||
|
pragma linkname (pyxis_fetch, "pyxis_$fetch");
|
|||
|
pragma interface (C, pyxis_get_entree);
|
|||
|
pragma linkname (pyxis_get_entree, "pyxis_$get_entree");
|
|||
|
pragma interface (C, pyxis_initialize_menu);
|
|||
|
pragma linkname (pyxis_initialize_menu, "pyxis_$initialize_menu");
|
|||
|
pragma interface (C, pyxis_insert);
|
|||
|
pragma linkname (pyxis_insert, "pyxis_$insert");
|
|||
|
pragma interface (C, pyxis_load_form);
|
|||
|
pragma linkname (pyxis_load_form, "pyxis_$load_form");
|
|||
|
pragma interface (C, pyxis_menu);
|
|||
|
pragma linkname (pyxis_menu, "pyxis_$menu");
|
|||
|
pragma interface (C, pyxis_pop_window);
|
|||
|
pragma linkname (pyxis_pop_window, "pyxis_$pop_window");
|
|||
|
pragma interface (C, pyxis_put_entree);
|
|||
|
pragma linkname (pyxis_put_entree, "pyxis_$put_entree");
|
|||
|
pragma interface (C, pyxis_reset_form);
|
|||
|
pragma linkname (pyxis_reset_form, "pyxis_$reset_form");
|
|||
|
|
|||
|
|
|||
|
---
|
|||
|
--- Interface routines that return status vector
|
|||
|
---
|
|||
|
|
|||
|
PROCEDURE attach_database (
|
|||
|
user_status : OUT status_vector;
|
|||
|
file_length : integer;
|
|||
|
file_name : string;
|
|||
|
db_handle : IN OUT database_handle;
|
|||
|
dpb_length : integer;
|
|||
|
dpb_arg : dpb) IS
|
|||
|
BEGIN
|
|||
|
gds_attach_database (
|
|||
|
user_status,
|
|||
|
file_length,
|
|||
|
file_name'address,
|
|||
|
db_handle'address,
|
|||
|
dpb_length,
|
|||
|
dpb_arg);
|
|||
|
END attach_database;
|
|||
|
|
|||
|
PROCEDURE blob_display (
|
|||
|
blob_id : quad;
|
|||
|
db_handle : database_handle;
|
|||
|
tra_handle : transaction_handle;
|
|||
|
field_name : string;
|
|||
|
name_length : integer) IS
|
|||
|
BEGIN
|
|||
|
gds_blob_display (
|
|||
|
blob_id,
|
|||
|
db_handle'address,
|
|||
|
tra_handle'address,
|
|||
|
field_name'address,
|
|||
|
name_length'address);
|
|||
|
END blob_display;
|
|||
|
|
|||
|
|
|||
|
PROCEDURE blob_dump (
|
|||
|
blob_id : quad;
|
|||
|
db_handle : database_handle;
|
|||
|
tra_handle : transaction_handle;
|
|||
|
file_name : string;
|
|||
|
name_length : integer) IS
|
|||
|
BEGIN
|
|||
|
gds_blob_dump (
|
|||
|
blob_id,
|
|||
|
db_handle'address,
|
|||
|
tra_handle'address,
|
|||
|
file_name'address,
|
|||
|
name_length'address);
|
|||
|
END blob_dump;
|
|||
|
|
|||
|
|
|||
|
PROCEDURE blob_edit (
|
|||
|
blob_id : IN OUT quad;
|
|||
|
db_handle : database_handle;
|
|||
|
tra_handle : transaction_handle;
|
|||
|
file_name : string;
|
|||
|
name_length : integer) IS
|
|||
|
BEGIN
|
|||
|
gds_blob_edit (
|
|||
|
blob_id,
|
|||
|
db_handle'address,
|
|||
|
tra_handle'address,
|
|||
|
file_name'address,
|
|||
|
name_length'address);
|
|||
|
END blob_edit;
|
|||
|
|
|||
|
|
|||
|
PROCEDURE blob_load (
|
|||
|
blob_id : IN OUT quad;
|
|||
|
db_handle : database_handle;
|
|||
|
tra_handle : transaction_handle;
|
|||
|
file_name : string;
|
|||
|
name_length : integer) IS
|
|||
|
BEGIN
|
|||
|
gds_blob_load (
|
|||
|
blob_id,
|
|||
|
db_handle'address,
|
|||
|
tra_handle'address,
|
|||
|
file_name'address,
|
|||
|
name_length'address);
|
|||
|
END blob_load;
|
|||
|
|
|||
|
|
|||
|
PROCEDURE cancel_blob (
|
|||
|
user_status : OUT status_vector;
|
|||
|
blb_handle : IN OUT blob_handle) IS
|
|||
|
BEGIN
|
|||
|
gds_cancel_blob (
|
|||
|
user_status,
|
|||
|
blb_handle'address);
|
|||
|
END cancel_blob;
|
|||
|
|
|||
|
PROCEDURE cancel_events (
|
|||
|
user_status : OUT status_vector;
|
|||
|
blb_handle : IN OUT blob_handle) IS
|
|||
|
BEGIN
|
|||
|
gds_cancel_events (
|
|||
|
user_status,
|
|||
|
blb_handle'address);
|
|||
|
END cancel_events;
|
|||
|
|
|||
|
PROCEDURE close_blob (
|
|||
|
user_status : OUT status_vector;
|
|||
|
blb_handle : IN OUT blob_handle) IS
|
|||
|
BEGIN
|
|||
|
gds_close_blob (
|
|||
|
user_status,
|
|||
|
blb_handle'address);
|
|||
|
END close_blob;
|
|||
|
|
|||
|
PROCEDURE commit_retaining (
|
|||
|
user_status : OUT status_vector;
|
|||
|
trans_handle : IN OUT transaction_handle) IS
|
|||
|
BEGIN
|
|||
|
gds_commit_retaining (
|
|||
|
user_status,
|
|||
|
trans_handle'address);
|
|||
|
END commit_retaining;
|
|||
|
|
|||
|
PROCEDURE commit_transaction (
|
|||
|
user_status : OUT status_vector;
|
|||
|
trans_handle : IN OUT transaction_handle) IS
|
|||
|
BEGIN
|
|||
|
gds_commit_transaction (
|
|||
|
user_status,
|
|||
|
trans_handle'address);
|
|||
|
END commit_transaction;
|
|||
|
|
|||
|
|
|||
|
PROCEDURE compile_request (
|
|||
|
user_status : OUT status_vector;
|
|||
|
db_handle : database_handle;
|
|||
|
req_handle : IN OUT request_handle;
|
|||
|
blr_length : integer;
|
|||
|
blr_arg : blr) IS
|
|||
|
BEGIN
|
|||
|
gds_compile_request (
|
|||
|
user_status,
|
|||
|
db_handle'address,
|
|||
|
req_handle'address,
|
|||
|
blr_length,
|
|||
|
blr_arg);
|
|||
|
END compile_request;
|
|||
|
|
|||
|
|
|||
|
PROCEDURE compile_request2 (
|
|||
|
user_status : OUT status_vector;
|
|||
|
db_handle : database_handle;
|
|||
|
req_handle : IN OUT request_handle;
|
|||
|
blr_length : integer;
|
|||
|
blr_arg : blr) IS
|
|||
|
BEGIN
|
|||
|
gds_compile_request2 (
|
|||
|
user_status,
|
|||
|
db_handle'address,
|
|||
|
req_handle'address,
|
|||
|
blr_length,
|
|||
|
blr_arg);
|
|||
|
END compile_request2;
|
|||
|
|
|||
|
|
|||
|
PROCEDURE create_blob (
|
|||
|
user_status : OUT status_vector;
|
|||
|
db_handle : database_handle;
|
|||
|
trans_handle : transaction_handle;
|
|||
|
blb_handle : IN OUT blob_handle;
|
|||
|
blob_id : OUT quad) IS
|
|||
|
BEGIN
|
|||
|
gds_create_blob (
|
|||
|
user_status,
|
|||
|
db_handle'address,
|
|||
|
trans_handle'address,
|
|||
|
blb_handle'address,
|
|||
|
blob_id);
|
|||
|
END create_blob;
|
|||
|
|
|||
|
PROCEDURE create_blob2 (
|
|||
|
user_status : OUT status_vector;
|
|||
|
db_handle : database_handle;
|
|||
|
trans_handle : transaction_handle;
|
|||
|
blb_handle : IN OUT blob_handle;
|
|||
|
blob_id : OUT quad;
|
|||
|
bpb_length : integer;
|
|||
|
bpb : blr) IS
|
|||
|
BEGIN
|
|||
|
gds_create_blob2 (
|
|||
|
user_status,
|
|||
|
db_handle'address,
|
|||
|
trans_handle'address,
|
|||
|
blb_handle'address,
|
|||
|
blob_id,
|
|||
|
bpb_length,
|
|||
|
bpb);
|
|||
|
END create_blob2;
|
|||
|
|
|||
|
PROCEDURE create_database (
|
|||
|
user_status : OUT status_vector;
|
|||
|
file_length : integer;
|
|||
|
file_name : string;
|
|||
|
db_handle : IN OUT database_handle;
|
|||
|
dpb_length : integer;
|
|||
|
dpb_arg : dpb;
|
|||
|
db_type : integer) IS
|
|||
|
BEGIN
|
|||
|
gds_create_database (
|
|||
|
user_status,
|
|||
|
file_length,
|
|||
|
file_name'address,
|
|||
|
db_handle'address,
|
|||
|
dpb_length,
|
|||
|
dpb_arg,
|
|||
|
db_type);
|
|||
|
END create_database;
|
|||
|
|
|||
|
PROCEDURE ddl (
|
|||
|
user_status : OUT status_vector;
|
|||
|
db_handle : database_handle;
|
|||
|
trans_handle : transaction_handle;
|
|||
|
msg_length : integer;
|
|||
|
msg : blr) IS
|
|||
|
BEGIN
|
|||
|
gds_ddl (
|
|||
|
user_status,
|
|||
|
db_handle'address,
|
|||
|
trans_handle'address,
|
|||
|
msg_length,
|
|||
|
msg);
|
|||
|
END ddl;
|
|||
|
|
|||
|
PROCEDURE decode_date (
|
|||
|
date : quad;
|
|||
|
times : IN OUT gds_tm) IS
|
|||
|
BEGIN
|
|||
|
gds_decode_date (
|
|||
|
date,
|
|||
|
times'address);
|
|||
|
END decode_date;
|
|||
|
|
|||
|
|
|||
|
PROCEDURE detach_database (
|
|||
|
user_status : OUT status_vector;
|
|||
|
db_handle : IN OUT database_handle) IS
|
|||
|
BEGIN
|
|||
|
gds_detach_database (
|
|||
|
user_status,
|
|||
|
db_handle'address);
|
|||
|
END detach_database;
|
|||
|
|
|||
|
PROCEDURE encode_date (
|
|||
|
times : gds_tm;
|
|||
|
date : IN OUT quad) IS
|
|||
|
BEGIN
|
|||
|
gds_encode_date (
|
|||
|
times'address,
|
|||
|
date);
|
|||
|
END encode_date;
|
|||
|
|
|||
|
|
|||
|
PROCEDURE event_wait (
|
|||
|
user_status : OUT status_vector;
|
|||
|
db_handle : database_handle;
|
|||
|
length : integer;
|
|||
|
events : string;
|
|||
|
buffer : string) IS
|
|||
|
BEGIN
|
|||
|
gds_event_wait (
|
|||
|
user_status,
|
|||
|
db_handle'address,
|
|||
|
length,
|
|||
|
events'address,
|
|||
|
buffer'address);
|
|||
|
END event_wait;
|
|||
|
|
|||
|
PROCEDURE get_segment (
|
|||
|
user_status : OUT status_vector;
|
|||
|
blb_handle : blob_handle;
|
|||
|
actual_length : OUT integer;
|
|||
|
buffer_length : integer;
|
|||
|
buffer : string) IS
|
|||
|
BEGIN
|
|||
|
gds_get_segment (
|
|||
|
user_status,
|
|||
|
blb_handle'address,
|
|||
|
actual_length'address,
|
|||
|
buffer_length,
|
|||
|
buffer'address);
|
|||
|
END get_segment;
|
|||
|
|
|||
|
PROCEDURE get_slice (
|
|||
|
user_status : OUT status_vector;
|
|||
|
db_handle : database_handle;
|
|||
|
trans_handle : transaction_handle;
|
|||
|
blob_id : quad;
|
|||
|
sdl_length : integer;
|
|||
|
sdl : blr;
|
|||
|
param_length : integer;
|
|||
|
param : string;
|
|||
|
slice_length : long_integer;
|
|||
|
slice : string;
|
|||
|
return_length : long_integer) IS
|
|||
|
BEGIN
|
|||
|
gds_get_slice (
|
|||
|
user_status,
|
|||
|
db_handle'address,
|
|||
|
trans_handle'address,
|
|||
|
blob_id,
|
|||
|
sdl_length,
|
|||
|
sdl,
|
|||
|
param_length,
|
|||
|
param'address,
|
|||
|
slice_length,
|
|||
|
slice'address,
|
|||
|
return_length);
|
|||
|
END get_slice;
|
|||
|
|
|||
|
PROCEDURE open_blob (
|
|||
|
user_status : OUT status_vector;
|
|||
|
db_handle : database_handle;
|
|||
|
trans_handle : transaction_handle;
|
|||
|
blb_handle : IN OUT blob_handle;
|
|||
|
blob_id : quad) IS
|
|||
|
BEGIN
|
|||
|
gds_open_blob (
|
|||
|
user_status,
|
|||
|
db_handle'address,
|
|||
|
trans_handle'address,
|
|||
|
blb_handle'address,
|
|||
|
blob_id);
|
|||
|
END open_blob;
|
|||
|
|
|||
|
PROCEDURE open_blob2 (
|
|||
|
user_status : OUT status_vector;
|
|||
|
db_handle : database_handle;
|
|||
|
trans_handle : transaction_handle;
|
|||
|
blb_handle : IN OUT blob_handle;
|
|||
|
blob_id : quad;
|
|||
|
bpb_length : integer;
|
|||
|
bpb : blr) IS
|
|||
|
BEGIN
|
|||
|
gds_open_blob2 (
|
|||
|
user_status,
|
|||
|
db_handle'address,
|
|||
|
trans_handle'address,
|
|||
|
blb_handle'address,
|
|||
|
blob_id,
|
|||
|
bpb_length,
|
|||
|
bpb);
|
|||
|
END open_blob2;
|
|||
|
|
|||
|
PROCEDURE prepare_transaction (
|
|||
|
user_status : OUT status_vector;
|
|||
|
trans_handle : IN OUT transaction_handle) IS
|
|||
|
BEGIN
|
|||
|
gds_prepare_transaction (
|
|||
|
user_status,
|
|||
|
trans_handle'address);
|
|||
|
END prepare_transaction;
|
|||
|
|
|||
|
PROCEDURE prepare_transaction2 (
|
|||
|
user_status : OUT status_vector;
|
|||
|
trans_handle : IN OUT transaction_handle;
|
|||
|
msg_length : integer;
|
|||
|
msg : blr) IS
|
|||
|
BEGIN
|
|||
|
gds_prepare_transaction2 (
|
|||
|
user_status,
|
|||
|
trans_handle'address,
|
|||
|
msg_length,
|
|||
|
msg);
|
|||
|
END prepare_transaction2;
|
|||
|
|
|||
|
PROCEDURE put_segment (
|
|||
|
user_status : OUT status_vector;
|
|||
|
blb_handle : blob_handle;
|
|||
|
length : integer;
|
|||
|
buffer : string) IS
|
|||
|
BEGIN
|
|||
|
gds_put_segment (
|
|||
|
user_status,
|
|||
|
blb_handle'address,
|
|||
|
length,
|
|||
|
buffer'address);
|
|||
|
END put_segment;
|
|||
|
|
|||
|
PROCEDURE put_slice (
|
|||
|
user_status : OUT status_vector;
|
|||
|
db_handle : database_handle;
|
|||
|
trans_handle : transaction_handle;
|
|||
|
blob_id : IN OUT quad;
|
|||
|
sdl_length : integer;
|
|||
|
sdl : blr;
|
|||
|
param_length : integer;
|
|||
|
param : string;
|
|||
|
slice_length : long_integer;
|
|||
|
slice : string) IS
|
|||
|
BEGIN
|
|||
|
gds_put_slice (
|
|||
|
user_status,
|
|||
|
db_handle'address,
|
|||
|
trans_handle'address,
|
|||
|
blob_id,
|
|||
|
sdl_length,
|
|||
|
sdl,
|
|||
|
param_length,
|
|||
|
param'address,
|
|||
|
slice_length,
|
|||
|
slice'address);
|
|||
|
END put_slice;
|
|||
|
|
|||
|
PROCEDURE queue_events (
|
|||
|
user_status : OUT status_vector;
|
|||
|
db_handle : database_handle;
|
|||
|
id : quad;
|
|||
|
length : integer;
|
|||
|
events : string;
|
|||
|
ast : long_integer;
|
|||
|
arg : quad) IS
|
|||
|
BEGIN
|
|||
|
gds_queue_events (
|
|||
|
user_status,
|
|||
|
db_handle'address,
|
|||
|
id,
|
|||
|
length,
|
|||
|
events'address,
|
|||
|
ast,
|
|||
|
arg);
|
|||
|
END queue_events;
|
|||
|
|
|||
|
PROCEDURE receive (
|
|||
|
user_status : OUT status_vector;
|
|||
|
req_handle : request_handle;
|
|||
|
msg_type : integer;
|
|||
|
msg_length : integer;
|
|||
|
msg : SYSTEM.ADDRESS;
|
|||
|
level : integer) IS
|
|||
|
BEGIN
|
|||
|
gds_receive (
|
|||
|
user_status,
|
|||
|
req_handle'address,
|
|||
|
msg_type,
|
|||
|
msg_length,
|
|||
|
msg,
|
|||
|
level);
|
|||
|
END receive;
|
|||
|
|
|||
|
PROCEDURE rollback_transaction (
|
|||
|
user_status : OUT status_vector;
|
|||
|
trans_handle : IN OUT transaction_handle) IS
|
|||
|
BEGIN
|
|||
|
gds_rollback_transaction (
|
|||
|
user_status,
|
|||
|
trans_handle'address);
|
|||
|
END rollback_transaction;
|
|||
|
|
|||
|
|
|||
|
PROCEDURE send (
|
|||
|
user_status : OUT status_vector;
|
|||
|
req_handle : request_handle;
|
|||
|
msg_type : integer;
|
|||
|
msg_length : integer;
|
|||
|
msg : SYSTEM.ADDRESS;
|
|||
|
level : integer) IS
|
|||
|
BEGIN
|
|||
|
gds_send (
|
|||
|
user_status,
|
|||
|
req_handle'address,
|
|||
|
msg_type,
|
|||
|
msg_length,
|
|||
|
msg,
|
|||
|
level);
|
|||
|
END send;
|
|||
|
|
|||
|
PROCEDURE start_request (
|
|||
|
user_status : OUT status_vector;
|
|||
|
req_handle : request_handle;
|
|||
|
trans_handle : transaction_handle;
|
|||
|
level : integer) IS
|
|||
|
BEGIN
|
|||
|
gds_start_request (
|
|||
|
user_status,
|
|||
|
req_handle'address,
|
|||
|
trans_handle'address,
|
|||
|
level);
|
|||
|
END start_request;
|
|||
|
|
|||
|
|
|||
|
PROCEDURE start_and_send (
|
|||
|
user_status : OUT status_vector;
|
|||
|
req_handle : request_handle;
|
|||
|
trans_handle : transaction_handle;
|
|||
|
msg_type : integer;
|
|||
|
msg_length : integer;
|
|||
|
msg : SYSTEM.ADDRESS;
|
|||
|
level : integer) IS
|
|||
|
BEGIN
|
|||
|
gds_start_and_send (
|
|||
|
user_status,
|
|||
|
req_handle'address,
|
|||
|
trans_handle'address,
|
|||
|
msg_type,
|
|||
|
msg_length,
|
|||
|
msg,
|
|||
|
level);
|
|||
|
END start_and_send;
|
|||
|
|
|||
|
PROCEDURE start_multiple (
|
|||
|
user_status : OUT status_vector;
|
|||
|
trans_handle : IN OUT transaction_handle;
|
|||
|
count : integer;
|
|||
|
teb : SYSTEM.ADDRESS) IS
|
|||
|
BEGIN
|
|||
|
gds_start_multiple (
|
|||
|
user_status,
|
|||
|
trans_handle'address,
|
|||
|
count,
|
|||
|
teb);
|
|||
|
END start_multiple;
|
|||
|
|
|||
|
|
|||
|
PROCEDURE start_transaction (
|
|||
|
user_status : OUT status_vector;
|
|||
|
trans_handle : IN OUT transaction_handle;
|
|||
|
count : integer;
|
|||
|
db_handle : database_handle;
|
|||
|
tpb_length : integer;
|
|||
|
tpb_arg : tpb) IS
|
|||
|
BEGIN
|
|||
|
gds_start_transaction (
|
|||
|
user_status,
|
|||
|
trans_handle'address,
|
|||
|
count,
|
|||
|
db_handle'address,
|
|||
|
tpb_length,
|
|||
|
tpb_arg);
|
|||
|
END start_transaction;
|
|||
|
|
|||
|
|
|||
|
PROCEDURE unwind_request (
|
|||
|
user_status : OUT status_vector;
|
|||
|
req_handle : request_handle;
|
|||
|
level : integer) IS
|
|||
|
BEGIN
|
|||
|
gds_unwind_request (
|
|||
|
user_status,
|
|||
|
req_handle'address,
|
|||
|
level);
|
|||
|
END unwind_request;
|
|||
|
|
|||
|
PROCEDURE print_status (
|
|||
|
user_status : status_vector) IS
|
|||
|
BEGIN
|
|||
|
gds_print_status (user_status);
|
|||
|
end print_status;
|
|||
|
|
|||
|
PROCEDURE print_version (
|
|||
|
db_handle: database_handle) IS
|
|||
|
|
|||
|
ptr : long_integer := 0;
|
|||
|
BEGIN
|
|||
|
gds_version (
|
|||
|
db_handle'address,
|
|||
|
0,
|
|||
|
ptr'address);
|
|||
|
END print_version;
|
|||
|
|
|||
|
FUNCTION sqlcode (
|
|||
|
user_status : status_vector) RETURN long_integer IS
|
|||
|
BEGIN
|
|||
|
return gds_sqlcode (user_status);
|
|||
|
end sqlcode;
|
|||
|
|
|||
|
--- Dynamic SQL procedures
|
|||
|
|
|||
|
PROCEDURE dsql_close (
|
|||
|
user_status : OUT status_vector;
|
|||
|
cursor_name : string) IS
|
|||
|
BEGIN
|
|||
|
gds_close (
|
|||
|
user_status,
|
|||
|
cursor_name'address);
|
|||
|
END dsql_close;
|
|||
|
|
|||
|
PROCEDURE dsql_declare (
|
|||
|
user_status : OUT status_vector;
|
|||
|
statement_name : string;
|
|||
|
cursor_name : string) IS
|
|||
|
BEGIN
|
|||
|
gds_declare (
|
|||
|
user_status,
|
|||
|
statement_name'address,
|
|||
|
cursor_name'address);
|
|||
|
END dsql_declare;
|
|||
|
|
|||
|
PROCEDURE dsql_describe (
|
|||
|
user_status : OUT status_vector;
|
|||
|
statement_name : string;
|
|||
|
descriptor : SYSTEM.ADDRESS) IS
|
|||
|
BEGIN
|
|||
|
gds_describe (
|
|||
|
user_status,
|
|||
|
statement_name'address,
|
|||
|
descriptor);
|
|||
|
END dsql_describe;
|
|||
|
|
|||
|
PROCEDURE dsql_finish (
|
|||
|
db_handle : database_handle) IS
|
|||
|
BEGIN
|
|||
|
gds_dsql_finish (
|
|||
|
db_handle'address);
|
|||
|
END dsql_finish;
|
|||
|
|
|||
|
PROCEDURE dsql_execute (
|
|||
|
user_status : OUT status_vector;
|
|||
|
trans_handle : transaction_handle;
|
|||
|
statement_name : string;
|
|||
|
descriptor : SYSTEM.ADDRESS) IS
|
|||
|
BEGIN
|
|||
|
gds_execute (
|
|||
|
user_status,
|
|||
|
trans_handle'address,
|
|||
|
statement_name'address,
|
|||
|
descriptor);
|
|||
|
END dsql_execute;
|
|||
|
|
|||
|
PROCEDURE dsql_execute (
|
|||
|
user_status : OUT status_vector;
|
|||
|
trans_handle : transaction_handle;
|
|||
|
statement_name : string) IS
|
|||
|
BEGIN
|
|||
|
gds_execute (
|
|||
|
user_status,
|
|||
|
trans_handle'address,
|
|||
|
statement_name'address,
|
|||
|
null_blob'address);
|
|||
|
END dsql_execute;
|
|||
|
|
|||
|
PROCEDURE dsql_execute_immediate (
|
|||
|
user_status : OUT status_vector;
|
|||
|
db_handle : database_handle;
|
|||
|
trans_handle : transaction_handle;
|
|||
|
command_length : integer;
|
|||
|
command : string) IS
|
|||
|
BEGIN
|
|||
|
gds_execute_immediate (
|
|||
|
user_status,
|
|||
|
db_handle'address,
|
|||
|
trans_handle'address,
|
|||
|
command_length'address,
|
|||
|
command'address);
|
|||
|
END dsql_execute_immediate;
|
|||
|
|
|||
|
PROCEDURE dsql_fetch (
|
|||
|
user_status : OUT status_vector;
|
|||
|
sqlcode : OUT long_integer;
|
|||
|
cursor_name : string;
|
|||
|
descriptor : SYSTEM.ADDRESS) IS
|
|||
|
BEGIN
|
|||
|
gds_fetch (
|
|||
|
user_status,
|
|||
|
sqlcode'address,
|
|||
|
cursor_name'address,
|
|||
|
descriptor);
|
|||
|
END dsql_fetch;
|
|||
|
|
|||
|
PROCEDURE dsql_fetch (
|
|||
|
user_status : OUT status_vector;
|
|||
|
sqlcode : OUT long_integer;
|
|||
|
cursor_name : string) IS
|
|||
|
BEGIN
|
|||
|
gds_fetch (
|
|||
|
user_status,
|
|||
|
sqlcode'address,
|
|||
|
cursor_name'address,
|
|||
|
null_blob'address);
|
|||
|
END dsql_fetch;
|
|||
|
|
|||
|
PROCEDURE dsql_open (
|
|||
|
user_status : OUT status_vector;
|
|||
|
trans_handle : transaction_handle;
|
|||
|
cursor_name : string;
|
|||
|
descriptor : SYSTEM.ADDRESS) IS
|
|||
|
BEGIN
|
|||
|
gds_open (
|
|||
|
user_status,
|
|||
|
trans_handle'address,
|
|||
|
cursor_name'address,
|
|||
|
descriptor);
|
|||
|
END dsql_open;
|
|||
|
|
|||
|
PROCEDURE dsql_open (
|
|||
|
user_status : OUT status_vector;
|
|||
|
trans_handle : transaction_handle;
|
|||
|
cursor_name : string) IS
|
|||
|
BEGIN
|
|||
|
gds_open (
|
|||
|
user_status,
|
|||
|
trans_handle'address,
|
|||
|
cursor_name'address,
|
|||
|
null_blob'address);
|
|||
|
END dsql_open;
|
|||
|
|
|||
|
PROCEDURE dsql_prepare (
|
|||
|
user_status : OUT status_vector;
|
|||
|
db_handle : database_handle;
|
|||
|
trans_handle : transaction_handle;
|
|||
|
statement_name : string;
|
|||
|
command_length : integer;
|
|||
|
command : string;
|
|||
|
descriptor : SYSTEM.ADDRESS) IS
|
|||
|
BEGIN
|
|||
|
gds_prepare (
|
|||
|
user_status,
|
|||
|
db_handle'address,
|
|||
|
trans_handle'address,
|
|||
|
statement_name'address,
|
|||
|
command_length'address,
|
|||
|
command'address,
|
|||
|
descriptor);
|
|||
|
END dsql_prepare;
|
|||
|
|
|||
|
PROCEDURE dsql_prepare (
|
|||
|
user_status : OUT status_vector;
|
|||
|
db_handle : database_handle;
|
|||
|
trans_handle : transaction_handle;
|
|||
|
statement_name : string;
|
|||
|
command_length : integer;
|
|||
|
command : string) IS
|
|||
|
BEGIN
|
|||
|
gds_prepare (
|
|||
|
user_status,
|
|||
|
db_handle'address,
|
|||
|
trans_handle'address,
|
|||
|
statement_name'address,
|
|||
|
command_length'address,
|
|||
|
command'address,
|
|||
|
null_blob'address);
|
|||
|
END dsql_prepare;
|
|||
|
|
|||
|
--- PYXIS procedures
|
|||
|
|
|||
|
PROCEDURE compile_map (
|
|||
|
user_status : OUT status_vector;
|
|||
|
frm_handle : form_handle;
|
|||
|
mp_handle : OUT map_handle;
|
|||
|
map_length : integer;
|
|||
|
map : blr) IS
|
|||
|
BEGIN
|
|||
|
pyxis_compile_map (
|
|||
|
user_status,
|
|||
|
frm_handle'address,
|
|||
|
mp_handle'address,
|
|||
|
map_length'address,
|
|||
|
map);
|
|||
|
END compile_map;
|
|||
|
|
|||
|
PROCEDURE compile_sub_map (
|
|||
|
user_status : OUT status_vector;
|
|||
|
frm_handle : form_handle;
|
|||
|
mp_handle : OUT map_handle;
|
|||
|
map_length : integer;
|
|||
|
map : blr) IS
|
|||
|
BEGIN
|
|||
|
pyxis_compile_sub_map (
|
|||
|
user_status,
|
|||
|
frm_handle'address,
|
|||
|
mp_handle'address,
|
|||
|
map_length'address,
|
|||
|
map);
|
|||
|
END compile_sub_map;
|
|||
|
|
|||
|
PROCEDURE create_window (
|
|||
|
win_handle : OUT window_handle;
|
|||
|
name_length : integer;
|
|||
|
file_name : string;
|
|||
|
width : IN OUT integer;
|
|||
|
height : IN OUT integer) IS
|
|||
|
BEGIN
|
|||
|
pyxis_create_window (
|
|||
|
win_handle'address,
|
|||
|
name_length'address,
|
|||
|
file_name'address,
|
|||
|
width'address,
|
|||
|
height'address);
|
|||
|
END create_window;
|
|||
|
|
|||
|
PROCEDURE delete_window (
|
|||
|
win_handle : IN OUT window_handle) IS
|
|||
|
BEGIN
|
|||
|
pyxis_delete_window (
|
|||
|
win_handle'address);
|
|||
|
END delete_window;
|
|||
|
|
|||
|
PROCEDURE drive_form (
|
|||
|
user_status : OUT status_vector;
|
|||
|
db_handle : database_handle;
|
|||
|
trans_handle : transaction_handle;
|
|||
|
win_handle : window_handle;
|
|||
|
mp_handle : map_handle;
|
|||
|
input : SYSTEM.ADDRESS;
|
|||
|
output : SYSTEM.ADDRESS) IS
|
|||
|
BEGIN
|
|||
|
pyxis_drive_form (
|
|||
|
user_status,
|
|||
|
db_handle'address,
|
|||
|
trans_handle'address,
|
|||
|
win_handle'address,
|
|||
|
mp_handle'address,
|
|||
|
input,
|
|||
|
output);
|
|||
|
END drive_form;
|
|||
|
|
|||
|
PROCEDURE fetch_sub_form (
|
|||
|
user_status : OUT status_vector;
|
|||
|
db_handle : database_handle;
|
|||
|
trans_handle : transaction_handle;
|
|||
|
mp_handle : map_handle;
|
|||
|
output : SYSTEM.ADDRESS) IS
|
|||
|
BEGIN
|
|||
|
pyxis_fetch (
|
|||
|
user_status,
|
|||
|
db_handle'address,
|
|||
|
trans_handle'address,
|
|||
|
mp_handle'address,
|
|||
|
output);
|
|||
|
END fetch_sub_form;
|
|||
|
|
|||
|
PROCEDURE insert_sub_form (
|
|||
|
user_status : OUT status_vector;
|
|||
|
db_handle : database_handle;
|
|||
|
trans_handle : transaction_handle;
|
|||
|
mp_handle : map_handle;
|
|||
|
input : SYSTEM.ADDRESS) IS
|
|||
|
BEGIN
|
|||
|
pyxis_insert (
|
|||
|
user_status,
|
|||
|
db_handle'address,
|
|||
|
trans_handle'address,
|
|||
|
mp_handle'address,
|
|||
|
input);
|
|||
|
END insert_sub_form;
|
|||
|
|
|||
|
PROCEDURE load_form (
|
|||
|
user_status : OUT status_vector;
|
|||
|
db_handle : database_handle;
|
|||
|
trans_handle : transaction_handle;
|
|||
|
frm_handle : IN OUT form_handle;
|
|||
|
name_length : integer;
|
|||
|
form_name : string) IS
|
|||
|
BEGIN
|
|||
|
pyxis_load_form (
|
|||
|
user_status,
|
|||
|
db_handle'address,
|
|||
|
trans_handle'address,
|
|||
|
frm_handle'address,
|
|||
|
name_length'address,
|
|||
|
form_name'address);
|
|||
|
END load_form;
|
|||
|
|
|||
|
FUNCTION menu (
|
|||
|
win_handle : window_handle;
|
|||
|
men_handle : menu_handle;
|
|||
|
menu_length : integer;
|
|||
|
menu : blr) RETURN integer IS
|
|||
|
BEGIN
|
|||
|
return pyxis_menu (
|
|||
|
win_handle'address,
|
|||
|
men_handle'address,
|
|||
|
menu_length'address,
|
|||
|
menu);
|
|||
|
END menu;
|
|||
|
|
|||
|
PROCEDURE pop_window (
|
|||
|
win_handle : window_handle) IS
|
|||
|
BEGIN
|
|||
|
pyxis_pop_window (
|
|||
|
win_handle'address);
|
|||
|
END pop_window;
|
|||
|
|
|||
|
PROCEDURE reset_form (
|
|||
|
user_status : OUT status_vector;
|
|||
|
win_handle : window_handle) IS
|
|||
|
BEGIN
|
|||
|
pyxis_reset_form (
|
|||
|
user_status,
|
|||
|
win_handle'address);
|
|||
|
END reset_form;
|
|||
|
|
|||
|
PROCEDURE drive_menu (
|
|||
|
win_handle : IN OUT window_handle;
|
|||
|
men_handle : IN OUT menu_handle;
|
|||
|
blr_length : integer;
|
|||
|
blr_source : blr;
|
|||
|
title_length : integer;
|
|||
|
title : string;
|
|||
|
terminator : OUT integer;
|
|||
|
entree_length : OUT integer;
|
|||
|
entree_text : OUT string;
|
|||
|
entree_value : OUT long_integer) IS
|
|||
|
BEGIN
|
|||
|
pyxis_drive_menu (
|
|||
|
win_handle'address,
|
|||
|
men_handle'address,
|
|||
|
blr_length,
|
|||
|
blr_source,
|
|||
|
title_length,
|
|||
|
title'address,
|
|||
|
terminator'address,
|
|||
|
entree_length'address,
|
|||
|
entree_text'address,
|
|||
|
entree_value'address);
|
|||
|
END drive_menu;
|
|||
|
|
|||
|
PROCEDURE get_entree (
|
|||
|
men_handle : menu_handle;
|
|||
|
entree_length : OUT integer;
|
|||
|
entree_text : OUT string;
|
|||
|
entree_value : OUT long_integer;
|
|||
|
entree_end : OUT integer) IS
|
|||
|
BEGIN
|
|||
|
pyxis_get_entree (
|
|||
|
men_handle,
|
|||
|
entree_length'address,
|
|||
|
entree_text'address,
|
|||
|
entree_value'address,
|
|||
|
entree_end'address);
|
|||
|
END get_entree;
|
|||
|
|
|||
|
PROCEDURE initialize_menu (
|
|||
|
men_handle : IN OUT menu_handle) IS
|
|||
|
BEGIN
|
|||
|
pyxis_initialize_menu (
|
|||
|
men_handle'address);
|
|||
|
END initialize_menu;
|
|||
|
|
|||
|
PROCEDURE put_entree (
|
|||
|
men_handle : menu_handle;
|
|||
|
entree_length : integer;
|
|||
|
entree_text : string;
|
|||
|
entree_value : long_integer) IS
|
|||
|
BEGIN
|
|||
|
pyxis_put_entree (
|
|||
|
men_handle,
|
|||
|
entree_length,
|
|||
|
entree_text'address,
|
|||
|
entree_value);
|
|||
|
END put_entree;
|
|||
|
|
|||
|
---
|
|||
|
--- Internal routines
|
|||
|
---
|
|||
|
|
|||
|
PROCEDURE error (
|
|||
|
user_status : status_vector) IS
|
|||
|
BEGIN
|
|||
|
gds_print_status (user_status);
|
|||
|
RAISE database_error;
|
|||
|
END;
|
|||
|
|
|||
|
---
|
|||
|
--- Routines sans explicit status vector
|
|||
|
---
|
|||
|
|
|||
|
PROCEDURE attach_database (
|
|||
|
file_length : integer;
|
|||
|
file_name : string;
|
|||
|
db_handle : IN OUT database_handle;
|
|||
|
dpb_length : integer;
|
|||
|
dpb_arg : dpb) IS
|
|||
|
|
|||
|
user_status : status_vector;
|
|||
|
BEGIN
|
|||
|
gds_attach_database (
|
|||
|
user_status,
|
|||
|
file_length,
|
|||
|
file_name'address,
|
|||
|
db_handle'address,
|
|||
|
dpb_length,
|
|||
|
dpb_arg);
|
|||
|
if user_status (1) /= 0 then error (user_status); end if;
|
|||
|
END attach_database;
|
|||
|
|
|||
|
PROCEDURE cancel_blob (
|
|||
|
blb_handle : IN OUT blob_handle) IS
|
|||
|
|
|||
|
user_status : status_vector;
|
|||
|
BEGIN
|
|||
|
gds_cancel_blob (
|
|||
|
user_status,
|
|||
|
blb_handle'address);
|
|||
|
if user_status (1) /= 0 then error (user_status); end if;
|
|||
|
END cancel_blob;
|
|||
|
|
|||
|
PROCEDURE cancel_events (
|
|||
|
blb_handle : IN OUT blob_handle) IS
|
|||
|
|
|||
|
user_status : status_vector;
|
|||
|
BEGIN
|
|||
|
gds_cancel_events (
|
|||
|
user_status,
|
|||
|
blb_handle'address);
|
|||
|
if user_status (1) /= 0 then error (user_status); end if;
|
|||
|
END cancel_events;
|
|||
|
|
|||
|
PROCEDURE close_blob (
|
|||
|
blb_handle : IN OUT blob_handle) IS
|
|||
|
|
|||
|
user_status : status_vector;
|
|||
|
BEGIN
|
|||
|
gds_close_blob (
|
|||
|
user_status,
|
|||
|
blb_handle'address);
|
|||
|
if user_status (1) /= 0 then error (user_status); end if;
|
|||
|
END close_blob;
|
|||
|
|
|||
|
PROCEDURE commit_retaining (
|
|||
|
trans_handle : IN OUT transaction_handle) IS
|
|||
|
|
|||
|
user_status : status_vector;
|
|||
|
BEGIN
|
|||
|
gds_commit_retaining (
|
|||
|
user_status,
|
|||
|
trans_handle'address);
|
|||
|
if user_status (1) /= 0 then error (user_status); end if;
|
|||
|
END commit_retaining;
|
|||
|
|
|||
|
PROCEDURE commit_transaction (
|
|||
|
trans_handle : IN OUT transaction_handle) IS
|
|||
|
|
|||
|
user_status : status_vector;
|
|||
|
BEGIN
|
|||
|
gds_commit_transaction (
|
|||
|
user_status,
|
|||
|
trans_handle'address);
|
|||
|
if user_status (1) /= 0 then error (user_status); end if;
|
|||
|
END commit_transaction;
|
|||
|
|
|||
|
|
|||
|
PROCEDURE compile_request (
|
|||
|
db_handle : database_handle;
|
|||
|
req_handle : IN OUT request_handle;
|
|||
|
blr_length : integer;
|
|||
|
blr_arg : blr) IS
|
|||
|
|
|||
|
user_status : status_vector;
|
|||
|
BEGIN
|
|||
|
gds_compile_request (
|
|||
|
user_status,
|
|||
|
db_handle'address,
|
|||
|
req_handle'address,
|
|||
|
blr_length,
|
|||
|
blr_arg);
|
|||
|
if user_status (1) /= 0 then error (user_status); end if;
|
|||
|
END compile_request;
|
|||
|
|
|||
|
|
|||
|
PROCEDURE compile_request2 (
|
|||
|
db_handle : database_handle;
|
|||
|
req_handle : IN OUT request_handle;
|
|||
|
blr_length : integer;
|
|||
|
blr_arg : blr) IS
|
|||
|
|
|||
|
user_status : status_vector;
|
|||
|
BEGIN
|
|||
|
gds_compile_request2 (
|
|||
|
user_status,
|
|||
|
db_handle'address,
|
|||
|
req_handle'address,
|
|||
|
blr_length,
|
|||
|
blr_arg);
|
|||
|
if user_status (1) /= 0 then error (user_status); end if;
|
|||
|
END compile_request2;
|
|||
|
|
|||
|
|
|||
|
PROCEDURE create_blob (
|
|||
|
db_handle : database_handle;
|
|||
|
trans_handle : transaction_handle;
|
|||
|
blb_handle : IN OUT blob_handle;
|
|||
|
blob_id : OUT quad) IS
|
|||
|
|
|||
|
user_status : status_vector;
|
|||
|
BEGIN
|
|||
|
gds_create_blob (
|
|||
|
user_status,
|
|||
|
db_handle'address,
|
|||
|
trans_handle'address,
|
|||
|
blb_handle'address,
|
|||
|
blob_id);
|
|||
|
if user_status (1) /= 0 then error (user_status); end if;
|
|||
|
END create_blob;
|
|||
|
|
|||
|
PROCEDURE create_blob2 (
|
|||
|
db_handle : database_handle;
|
|||
|
trans_handle : transaction_handle;
|
|||
|
blb_handle : IN OUT blob_handle;
|
|||
|
blob_id : OUT quad;
|
|||
|
bpb_length : integer;
|
|||
|
bpb : blr) IS
|
|||
|
|
|||
|
user_status : status_vector;
|
|||
|
BEGIN
|
|||
|
gds_create_blob2 (
|
|||
|
user_status,
|
|||
|
db_handle'address,
|
|||
|
trans_handle'address,
|
|||
|
blb_handle'address,
|
|||
|
blob_id,
|
|||
|
bpb_length,
|
|||
|
bpb);
|
|||
|
if user_status (1) /= 0 then error (user_status); end if;
|
|||
|
END create_blob2;
|
|||
|
|
|||
|
PROCEDURE create_database (
|
|||
|
file_length : integer;
|
|||
|
file_name : string;
|
|||
|
db_handle : IN OUT database_handle;
|
|||
|
dpb_length : integer;
|
|||
|
dpb_arg : dpb;
|
|||
|
db_type : integer) IS
|
|||
|
|
|||
|
user_status : status_vector;
|
|||
|
BEGIN
|
|||
|
gds_create_database (
|
|||
|
user_status,
|
|||
|
file_length,
|
|||
|
file_name'address,
|
|||
|
db_handle'address,
|
|||
|
dpb_length,
|
|||
|
dpb_arg,
|
|||
|
db_type);
|
|||
|
if user_status (1) /= 0 then error (user_status); end if;
|
|||
|
END create_database;
|
|||
|
|
|||
|
PROCEDURE ddl (
|
|||
|
db_handle : database_handle;
|
|||
|
trans_handle : transaction_handle;
|
|||
|
msg_length : integer;
|
|||
|
msg : blr) IS
|
|||
|
|
|||
|
user_status : status_vector;
|
|||
|
BEGIN
|
|||
|
gds_ddl (
|
|||
|
user_status,
|
|||
|
db_handle'address,
|
|||
|
trans_handle'address,
|
|||
|
msg_length,
|
|||
|
msg);
|
|||
|
if user_status (1) /= 0 then error (user_status); end if;
|
|||
|
END ddl;
|
|||
|
|
|||
|
PROCEDURE detach_database (
|
|||
|
db_handle : IN OUT database_handle) IS
|
|||
|
|
|||
|
user_status : status_vector;
|
|||
|
BEGIN
|
|||
|
gds_detach_database (
|
|||
|
user_status,
|
|||
|
db_handle'address);
|
|||
|
if user_status (1) /= 0 then error (user_status); end if;
|
|||
|
END detach_database;
|
|||
|
|
|||
|
|
|||
|
PROCEDURE event_wait (
|
|||
|
db_handle : database_handle;
|
|||
|
length : integer;
|
|||
|
events : string;
|
|||
|
buffer : string) IS
|
|||
|
|
|||
|
user_status : status_vector;
|
|||
|
BEGIN
|
|||
|
gds_event_wait (
|
|||
|
user_status,
|
|||
|
db_handle'address,
|
|||
|
length,
|
|||
|
events'address,
|
|||
|
buffer'address);
|
|||
|
END event_wait;
|
|||
|
|
|||
|
PROCEDURE get_segment (
|
|||
|
completion_code : OUT long_integer;
|
|||
|
blb_handle : blob_handle;
|
|||
|
actual_length : OUT integer;
|
|||
|
buffer_length : integer;
|
|||
|
buffer : string) IS
|
|||
|
|
|||
|
user_status : status_vector;
|
|||
|
BEGIN
|
|||
|
gds_get_segment (
|
|||
|
user_status,
|
|||
|
blb_handle'address,
|
|||
|
actual_length'address,
|
|||
|
buffer_length,
|
|||
|
buffer'address);
|
|||
|
if user_status (1) /= 0 and user_status (1) /= gds_segment and
|
|||
|
user_status (1) /= gds_segstr_eof then
|
|||
|
error (user_status);
|
|||
|
end if;
|
|||
|
completion_code := user_status(1);
|
|||
|
END get_segment;
|
|||
|
|
|||
|
|
|||
|
PROCEDURE get_slice (
|
|||
|
db_handle : database_handle;
|
|||
|
trans_handle : transaction_handle;
|
|||
|
blob_id : quad;
|
|||
|
sdl_length : integer;
|
|||
|
sdl : blr;
|
|||
|
param_length : integer;
|
|||
|
param : string;
|
|||
|
slice_length : long_integer;
|
|||
|
slice : string;
|
|||
|
return_length : long_integer) IS
|
|||
|
|
|||
|
user_status : status_vector;
|
|||
|
BEGIN
|
|||
|
gds_get_slice (
|
|||
|
user_status,
|
|||
|
db_handle'address,
|
|||
|
trans_handle'address,
|
|||
|
blob_id,
|
|||
|
sdl_length,
|
|||
|
sdl,
|
|||
|
param_length,
|
|||
|
param'address,
|
|||
|
slice_length,
|
|||
|
slice'address,
|
|||
|
return_length);
|
|||
|
END get_slice;
|
|||
|
|
|||
|
|
|||
|
PROCEDURE open_blob (
|
|||
|
db_handle : database_handle;
|
|||
|
trans_handle : transaction_handle;
|
|||
|
blb_handle : IN OUT blob_handle;
|
|||
|
blob_id : quad) IS
|
|||
|
|
|||
|
user_status : status_vector;
|
|||
|
BEGIN
|
|||
|
gds_open_blob (
|
|||
|
user_status,
|
|||
|
db_handle'address,
|
|||
|
trans_handle'address,
|
|||
|
blb_handle'address,
|
|||
|
blob_id);
|
|||
|
if user_status (1) /= 0 then error (user_status); end if;
|
|||
|
END open_blob;
|
|||
|
|
|||
|
PROCEDURE open_blob2 (
|
|||
|
db_handle : database_handle;
|
|||
|
trans_handle : transaction_handle;
|
|||
|
blb_handle : IN OUT blob_handle;
|
|||
|
blob_id : quad;
|
|||
|
bpb_length : integer;
|
|||
|
bpb : blr) IS
|
|||
|
|
|||
|
user_status : status_vector;
|
|||
|
BEGIN
|
|||
|
gds_open_blob2 (
|
|||
|
user_status,
|
|||
|
db_handle'address,
|
|||
|
trans_handle'address,
|
|||
|
blb_handle'address,
|
|||
|
blob_id,
|
|||
|
bpb_length,
|
|||
|
bpb);
|
|||
|
if user_status (1) /= 0 then error (user_status); end if;
|
|||
|
END open_blob2;
|
|||
|
|
|||
|
PROCEDURE prepare_transaction (
|
|||
|
trans_handle : IN OUT transaction_handle) IS
|
|||
|
|
|||
|
user_status : status_vector;
|
|||
|
BEGIN
|
|||
|
gds_prepare_transaction (
|
|||
|
user_status,
|
|||
|
trans_handle'address);
|
|||
|
if user_status (1) /= 0 then error (user_status); end if;
|
|||
|
END prepare_transaction;
|
|||
|
|
|||
|
|
|||
|
PROCEDURE prepare_transaction2 (
|
|||
|
trans_handle : IN OUT transaction_handle;
|
|||
|
msg_length : integer;
|
|||
|
msg : blr) IS
|
|||
|
|
|||
|
user_status : status_vector;
|
|||
|
BEGIN
|
|||
|
gds_prepare_transaction2 (
|
|||
|
user_status,
|
|||
|
trans_handle'address,
|
|||
|
msg_length,
|
|||
|
msg);
|
|||
|
END prepare_transaction2;
|
|||
|
|
|||
|
PROCEDURE put_segment (
|
|||
|
blb_handle : blob_handle;
|
|||
|
length : integer;
|
|||
|
buffer : string) IS
|
|||
|
|
|||
|
user_status : status_vector;
|
|||
|
BEGIN
|
|||
|
gds_put_segment (
|
|||
|
user_status,
|
|||
|
blb_handle'address,
|
|||
|
length,
|
|||
|
buffer'address);
|
|||
|
if user_status (1) /= 0 then error (user_status); end if;
|
|||
|
END put_segment;
|
|||
|
|
|||
|
PROCEDURE put_slice (
|
|||
|
db_handle : database_handle;
|
|||
|
trans_handle : transaction_handle;
|
|||
|
blob_id : IN OUT quad;
|
|||
|
sdl_length : integer;
|
|||
|
sdl : blr;
|
|||
|
param_length : integer;
|
|||
|
param : string;
|
|||
|
slice_length : long_integer;
|
|||
|
slice : string) IS
|
|||
|
|
|||
|
user_status : status_vector;
|
|||
|
BEGIN
|
|||
|
gds_put_slice (
|
|||
|
user_status,
|
|||
|
db_handle'address,
|
|||
|
trans_handle'address,
|
|||
|
blob_id,
|
|||
|
sdl_length,
|
|||
|
sdl,
|
|||
|
param_length,
|
|||
|
param'address,
|
|||
|
slice_length,
|
|||
|
slice'address);
|
|||
|
END put_slice;
|
|||
|
|
|||
|
PROCEDURE queue_events (
|
|||
|
db_handle : database_handle;
|
|||
|
id : quad;
|
|||
|
length : integer;
|
|||
|
events : string;
|
|||
|
ast : long_integer;
|
|||
|
arg : quad) IS
|
|||
|
|
|||
|
user_status : status_vector;
|
|||
|
BEGIN
|
|||
|
gds_queue_events (
|
|||
|
user_status,
|
|||
|
db_handle'address,
|
|||
|
id,
|
|||
|
length,
|
|||
|
events'address,
|
|||
|
ast,
|
|||
|
arg);
|
|||
|
END queue_events;
|
|||
|
|
|||
|
PROCEDURE receive (
|
|||
|
req_handle : request_handle;
|
|||
|
msg_type : integer;
|
|||
|
msg_length : integer;
|
|||
|
msg : SYSTEM.ADDRESS;
|
|||
|
level : integer) IS
|
|||
|
|
|||
|
user_status : status_vector;
|
|||
|
BEGIN
|
|||
|
gds_receive (
|
|||
|
user_status,
|
|||
|
req_handle'address,
|
|||
|
msg_type,
|
|||
|
msg_length,
|
|||
|
msg,
|
|||
|
level);
|
|||
|
if user_status (1) /= 0 then error (user_status); end if;
|
|||
|
END receive;
|
|||
|
|
|||
|
PROCEDURE rollback_transaction (
|
|||
|
trans_handle : IN OUT transaction_handle) IS
|
|||
|
|
|||
|
user_status : status_vector;
|
|||
|
BEGIN
|
|||
|
gds_rollback_transaction (
|
|||
|
user_status,
|
|||
|
trans_handle'address);
|
|||
|
if user_status (1) /= 0 then error (user_status); end if;
|
|||
|
END rollback_transaction;
|
|||
|
|
|||
|
|
|||
|
PROCEDURE send (
|
|||
|
req_handle : request_handle;
|
|||
|
msg_type : integer;
|
|||
|
msg_length : integer;
|
|||
|
msg : SYSTEM.ADDRESS;
|
|||
|
level : integer) IS
|
|||
|
|
|||
|
user_status : status_vector;
|
|||
|
BEGIN
|
|||
|
gds_send (
|
|||
|
user_status,
|
|||
|
req_handle'address,
|
|||
|
msg_type,
|
|||
|
msg_length,
|
|||
|
msg,
|
|||
|
level);
|
|||
|
if user_status (1) /= 0 then error (user_status); end if;
|
|||
|
END send;
|
|||
|
|
|||
|
PROCEDURE start_request (
|
|||
|
req_handle : request_handle;
|
|||
|
trans_handle : transaction_handle;
|
|||
|
level : integer) IS
|
|||
|
|
|||
|
user_status : status_vector;
|
|||
|
BEGIN
|
|||
|
gds_start_request (
|
|||
|
user_status,
|
|||
|
req_handle'address,
|
|||
|
trans_handle'address,
|
|||
|
level);
|
|||
|
if user_status (1) /= 0 then error (user_status); end if;
|
|||
|
END start_request;
|
|||
|
|
|||
|
|
|||
|
PROCEDURE start_and_send (
|
|||
|
req_handle : request_handle;
|
|||
|
trans_handle : transaction_handle;
|
|||
|
msg_type : integer;
|
|||
|
msg_length : integer;
|
|||
|
msg : SYSTEM.ADDRESS;
|
|||
|
level : integer) IS
|
|||
|
|
|||
|
user_status : status_vector;
|
|||
|
BEGIN
|
|||
|
gds_start_and_send (
|
|||
|
user_status,
|
|||
|
req_handle'address,
|
|||
|
trans_handle'address,
|
|||
|
msg_type,
|
|||
|
msg_length,
|
|||
|
msg,
|
|||
|
level);
|
|||
|
if user_status (1) /= 0 then error (user_status); end if;
|
|||
|
END start_and_send;
|
|||
|
|
|||
|
PROCEDURE start_multiple (
|
|||
|
trans_handle : IN OUT transaction_handle;
|
|||
|
count : integer;
|
|||
|
teb : SYSTEM.ADDRESS) IS
|
|||
|
|
|||
|
user_status : status_vector;
|
|||
|
BEGIN
|
|||
|
gds_start_multiple (
|
|||
|
user_status,
|
|||
|
trans_handle'address,
|
|||
|
count,
|
|||
|
teb);
|
|||
|
if user_status (1) /= 0 then error (user_status); end if;
|
|||
|
END start_multiple;
|
|||
|
|
|||
|
|
|||
|
PROCEDURE start_transaction (
|
|||
|
trans_handle : IN OUT transaction_handle;
|
|||
|
count : integer;
|
|||
|
db_handle : database_handle;
|
|||
|
tpb_length : integer;
|
|||
|
tpb_arg : tpb) IS
|
|||
|
|
|||
|
user_status : status_vector;
|
|||
|
BEGIN
|
|||
|
gds_start_transaction (
|
|||
|
user_status,
|
|||
|
trans_handle'address,
|
|||
|
count,
|
|||
|
db_handle'address,
|
|||
|
tpb_length,
|
|||
|
tpb_arg);
|
|||
|
if user_status (1) /= 0 then error (user_status); end if;
|
|||
|
END start_transaction;
|
|||
|
|
|||
|
|
|||
|
PROCEDURE unwind_request (
|
|||
|
req_handle : request_handle;
|
|||
|
level : integer) IS
|
|||
|
|
|||
|
user_status : status_vector;
|
|||
|
BEGIN
|
|||
|
gds_unwind_request (
|
|||
|
user_status,
|
|||
|
req_handle'address,
|
|||
|
level);
|
|||
|
if user_status (1) /= 0 then error (user_status); end if;
|
|||
|
END unwind_request;
|
|||
|
|
|||
|
--- Dynamic SQL procedures
|
|||
|
|
|||
|
PROCEDURE dsql_close (
|
|||
|
cursor_name : string) IS
|
|||
|
|
|||
|
user_status : status_vector;
|
|||
|
BEGIN
|
|||
|
gds_close (
|
|||
|
user_status,
|
|||
|
cursor_name'address);
|
|||
|
if user_status (1) /= 0 then error (user_status); end if;
|
|||
|
END dsql_close;
|
|||
|
|
|||
|
PROCEDURE dsql_declare (
|
|||
|
statement_name : string;
|
|||
|
cursor_name : string) IS
|
|||
|
|
|||
|
user_status : status_vector;
|
|||
|
BEGIN
|
|||
|
gds_declare (
|
|||
|
user_status,
|
|||
|
statement_name'address,
|
|||
|
cursor_name'address);
|
|||
|
if user_status (1) /= 0 then error (user_status); end if;
|
|||
|
END dsql_declare;
|
|||
|
|
|||
|
PROCEDURE dsql_describe (
|
|||
|
statement_name : string;
|
|||
|
descriptor : SYSTEM.ADDRESS) IS
|
|||
|
|
|||
|
user_status : status_vector;
|
|||
|
BEGIN
|
|||
|
gds_describe (
|
|||
|
user_status,
|
|||
|
statement_name'address,
|
|||
|
descriptor);
|
|||
|
if user_status (1) /= 0 then error (user_status); end if;
|
|||
|
END dsql_describe;
|
|||
|
|
|||
|
PROCEDURE dsql_execute (
|
|||
|
trans_handle : transaction_handle;
|
|||
|
statement_name : string;
|
|||
|
descriptor : SYSTEM.ADDRESS) IS
|
|||
|
|
|||
|
user_status : status_vector;
|
|||
|
BEGIN
|
|||
|
gds_execute (
|
|||
|
user_status,
|
|||
|
trans_handle'address,
|
|||
|
statement_name'address,
|
|||
|
descriptor);
|
|||
|
if user_status (1) /= 0 then error (user_status); end if;
|
|||
|
END dsql_execute;
|
|||
|
|
|||
|
PROCEDURE dsql_execute (
|
|||
|
trans_handle : transaction_handle;
|
|||
|
statement_name : string) IS
|
|||
|
|
|||
|
user_status : status_vector;
|
|||
|
BEGIN
|
|||
|
gds_execute (
|
|||
|
user_status,
|
|||
|
trans_handle'address,
|
|||
|
statement_name'address,
|
|||
|
null_blob'address);
|
|||
|
if user_status (1) /= 0 then error (user_status); end if;
|
|||
|
END dsql_execute;
|
|||
|
|
|||
|
PROCEDURE dsql_execute_immediate (
|
|||
|
db_handle : database_handle;
|
|||
|
trans_handle : transaction_handle;
|
|||
|
command_length : integer;
|
|||
|
command : string) IS
|
|||
|
|
|||
|
user_status : status_vector;
|
|||
|
BEGIN
|
|||
|
gds_execute_immediate (
|
|||
|
user_status,
|
|||
|
db_handle'address,
|
|||
|
trans_handle'address,
|
|||
|
command_length'address,
|
|||
|
command'address);
|
|||
|
if user_status (1) /= 0 then error (user_status); end if;
|
|||
|
END dsql_execute_immediate;
|
|||
|
|
|||
|
PROCEDURE dsql_fetch (
|
|||
|
sqlcode : OUT long_integer;
|
|||
|
cursor_name : string;
|
|||
|
descriptor : SYSTEM.ADDRESS) IS
|
|||
|
|
|||
|
user_status : status_vector;
|
|||
|
BEGIN
|
|||
|
gds_fetch (
|
|||
|
user_status,
|
|||
|
sqlcode'address,
|
|||
|
cursor_name'address,
|
|||
|
descriptor);
|
|||
|
if user_status (1) /= 0 then error (user_status); end if;
|
|||
|
END dsql_fetch;
|
|||
|
|
|||
|
PROCEDURE dsql_fetch (
|
|||
|
sqlcode : OUT long_integer;
|
|||
|
cursor_name : string) IS
|
|||
|
|
|||
|
user_status : status_vector;
|
|||
|
BEGIN
|
|||
|
gds_fetch (
|
|||
|
user_status,
|
|||
|
sqlcode'address,
|
|||
|
cursor_name'address,
|
|||
|
null_blob'address);
|
|||
|
if user_status (1) /= 0 then error (user_status); end if;
|
|||
|
END dsql_fetch;
|
|||
|
|
|||
|
PROCEDURE dsql_open (
|
|||
|
trans_handle : transaction_handle;
|
|||
|
cursor_name : string;
|
|||
|
descriptor : SYSTEM.ADDRESS) IS
|
|||
|
|
|||
|
user_status : status_vector;
|
|||
|
BEGIN
|
|||
|
gds_open (
|
|||
|
user_status,
|
|||
|
trans_handle'address,
|
|||
|
cursor_name'address,
|
|||
|
descriptor);
|
|||
|
if user_status (1) /= 0 then error (user_status); end if;
|
|||
|
END dsql_open;
|
|||
|
|
|||
|
PROCEDURE dsql_open (
|
|||
|
trans_handle : transaction_handle;
|
|||
|
cursor_name : string) IS
|
|||
|
|
|||
|
user_status : status_vector;
|
|||
|
BEGIN
|
|||
|
gds_open (
|
|||
|
user_status,
|
|||
|
trans_handle'address,
|
|||
|
cursor_name'address,
|
|||
|
null_blob'address);
|
|||
|
if user_status (1) /= 0 then error (user_status); end if;
|
|||
|
END dsql_open;
|
|||
|
|
|||
|
PROCEDURE dsql_prepare (
|
|||
|
db_handle : database_handle;
|
|||
|
trans_handle : transaction_handle;
|
|||
|
statement_name : string;
|
|||
|
command_length : integer;
|
|||
|
command : string;
|
|||
|
descriptor : SYSTEM.ADDRESS) IS
|
|||
|
|
|||
|
user_status : status_vector;
|
|||
|
BEGIN
|
|||
|
gds_prepare (
|
|||
|
user_status,
|
|||
|
db_handle'address,
|
|||
|
trans_handle'address,
|
|||
|
statement_name'address,
|
|||
|
command_length'address,
|
|||
|
command'address,
|
|||
|
descriptor);
|
|||
|
if user_status (1) /= 0 then error (user_status); end if;
|
|||
|
END dsql_prepare;
|
|||
|
|
|||
|
PROCEDURE dsql_prepare (
|
|||
|
db_handle : database_handle;
|
|||
|
trans_handle : transaction_handle;
|
|||
|
statement_name : string;
|
|||
|
command_length : integer;
|
|||
|
command : string) IS
|
|||
|
|
|||
|
user_status : status_vector;
|
|||
|
BEGIN
|
|||
|
gds_prepare (
|
|||
|
user_status,
|
|||
|
db_handle'address,
|
|||
|
trans_handle'address,
|
|||
|
statement_name'address,
|
|||
|
command_length'address,
|
|||
|
command'address,
|
|||
|
null_blob'address);
|
|||
|
if user_status (1) /= 0 then error (user_status); end if;
|
|||
|
END dsql_prepare;
|
|||
|
|
|||
|
--- PYXIS procedures
|
|||
|
|
|||
|
PROCEDURE compile_map (
|
|||
|
frm_handle : form_handle;
|
|||
|
mp_handle : OUT map_handle;
|
|||
|
map_length : integer;
|
|||
|
map : blr) IS
|
|||
|
|
|||
|
user_status : status_vector;
|
|||
|
BEGIN
|
|||
|
pyxis_compile_map (
|
|||
|
user_status,
|
|||
|
frm_handle'address,
|
|||
|
mp_handle'address,
|
|||
|
map_length'address,
|
|||
|
map);
|
|||
|
--- if user_status (1) /= 0 then error (user_status); end if;
|
|||
|
END compile_map;
|
|||
|
|
|||
|
PROCEDURE compile_sub_map (
|
|||
|
frm_handle : form_handle;
|
|||
|
mp_handle : OUT map_handle;
|
|||
|
map_length : integer;
|
|||
|
map : blr) IS
|
|||
|
|
|||
|
user_status : status_vector;
|
|||
|
BEGIN
|
|||
|
pyxis_compile_sub_map (
|
|||
|
user_status,
|
|||
|
frm_handle'address,
|
|||
|
mp_handle'address,
|
|||
|
map_length'address,
|
|||
|
map);
|
|||
|
--- if user_status (1) /= 0 then error (user_status); end if;
|
|||
|
END compile_sub_map;
|
|||
|
|
|||
|
PROCEDURE drive_form (
|
|||
|
db_handle : database_handle;
|
|||
|
trans_handle : transaction_handle;
|
|||
|
win_handle : window_handle;
|
|||
|
mp_handle : map_handle;
|
|||
|
input : SYSTEM.ADDRESS;
|
|||
|
output : SYSTEM.ADDRESS) IS
|
|||
|
|
|||
|
user_status : status_vector;
|
|||
|
BEGIN
|
|||
|
pyxis_drive_form (
|
|||
|
user_status,
|
|||
|
db_handle'address,
|
|||
|
trans_handle'address,
|
|||
|
win_handle'address,
|
|||
|
mp_handle'address,
|
|||
|
input,
|
|||
|
output);
|
|||
|
--- if user_status (1) /= 0 then error (user_status); end if;
|
|||
|
END drive_form;
|
|||
|
|
|||
|
PROCEDURE fetch_sub_form (
|
|||
|
db_handle : database_handle;
|
|||
|
trans_handle : transaction_handle;
|
|||
|
mp_handle : map_handle;
|
|||
|
output : SYSTEM.ADDRESS) IS
|
|||
|
|
|||
|
user_status : status_vector;
|
|||
|
BEGIN
|
|||
|
pyxis_fetch (
|
|||
|
user_status,
|
|||
|
db_handle'address,
|
|||
|
trans_handle'address,
|
|||
|
mp_handle'address,
|
|||
|
output);
|
|||
|
--- if user_status (1) /= 0 then error (user_status); end if;
|
|||
|
END fetch_sub_form;
|
|||
|
|
|||
|
PROCEDURE insert_sub_form (
|
|||
|
db_handle : database_handle;
|
|||
|
trans_handle : transaction_handle;
|
|||
|
mp_handle : map_handle;
|
|||
|
input : SYSTEM.ADDRESS) IS
|
|||
|
|
|||
|
user_status : status_vector;
|
|||
|
BEGIN
|
|||
|
pyxis_insert (
|
|||
|
user_status,
|
|||
|
db_handle'address,
|
|||
|
trans_handle'address,
|
|||
|
mp_handle'address,
|
|||
|
input);
|
|||
|
--- if user_status (1) /= 0 then error (user_status); end if;
|
|||
|
END insert_sub_form;
|
|||
|
|
|||
|
PROCEDURE load_form (
|
|||
|
db_handle : database_handle;
|
|||
|
trans_handle : transaction_handle;
|
|||
|
frm_handle : IN OUT form_handle;
|
|||
|
name_length : integer;
|
|||
|
form_name : string) IS
|
|||
|
|
|||
|
user_status : status_vector;
|
|||
|
BEGIN
|
|||
|
pyxis_load_form (
|
|||
|
user_status,
|
|||
|
db_handle'address,
|
|||
|
trans_handle'address,
|
|||
|
frm_handle'address,
|
|||
|
name_length'address,
|
|||
|
form_name'address);
|
|||
|
if user_status (1) /= 0 then error (user_status); end if;
|
|||
|
END load_form;
|
|||
|
|
|||
|
PROCEDURE reset_form (
|
|||
|
win_handle : window_handle) IS
|
|||
|
|
|||
|
user_status : status_vector;
|
|||
|
BEGIN
|
|||
|
pyxis_reset_form (
|
|||
|
user_status,
|
|||
|
win_handle'address);
|
|||
|
--- if user_status (1) /= 0 then error (user_status); end if;
|
|||
|
END reset_form;
|
|||
|
|
|||
|
|
|||
|
END interbase;');
|
|||
|
INSERT INTO TEMPLATES (LANGUAGE, "FILE", TEMPLATE) VALUES ('PLI', 'gds.pli',
|
|||
|
'/*
|
|||
|
* PROGRAM: PLI preprocessor
|
|||
|
* MODULE: gds.pli
|
|||
|
* DESCRIPTION: BLR constants
|
|||
|
*
|
|||
|
* copyright (c) 1984, 1990 by Interbase Software Corporation
|
|||
|
*/
|
|||
|
|
|||
|
%REPLACE GDS_$TRUE BY 1;
|
|||
|
%REPLACE GDS_$FALSE BY 0;
|
|||
|
|
|||
|
$ FORMAT BLR_FORMAT "%%REPLACE %-32s BY %d;\n
|
|||
|
$ FORMAT DYN_FORMAT "%%REPLACE %-32s BY %d;\n
|
|||
|
$ FORMAT SDL_FORMAT "%%REPLACE %-32s BY %d;\n
|
|||
|
$ FORMAT ERROR_FORMAT "%%REPLACE %-32s BY %d;\n
|
|||
|
$ FORMAT PB_FORMAT "%%REPLACE %-32s BY %d;\n
|
|||
|
$ FORMAT PYXIS_FORMAT "%%REPLACE %-32s BY %d;\n
|
|||
|
$ FORMAT OPT_FORMAT "%%REPLACE %-32s BY %d;\n
|
|||
|
$ FORMAT SQL_FORMAT "%%REPLACE %-32s BY %%d;\n
|
|||
|
|
|||
|
$ SYMBOLS BLR DTYPE BLR_FORMAT
|
|||
|
$ SYMBOLS BLR MECH SIGNED BLR_FORMAT
|
|||
|
|
|||
|
$ SYMBOLS BLR STATEMENTS BLR_FORMAT
|
|||
|
$ SYMBOLS BLR VALUES BLR_FORMAT
|
|||
|
|
|||
|
$ SYMBOLS BLR BOOLEANS BLR_FORMAT
|
|||
|
|
|||
|
$ SYMBOLS BLR RSE BLR_FORMAT
|
|||
|
|
|||
|
$ SYMBOLS BLR JOIN BLR_FORMAT
|
|||
|
|
|||
|
$ SYMBOLS BLR AGGREGATE BLR_FORMAT
|
|||
|
$ SYMBOLS BLR NEW BLR_FORMAT
|
|||
|
|
|||
|
/* Array slice description language (SDL) */
|
|||
|
|
|||
|
$ SYMBOLS SDL SDL SDL_FORMAT
|
|||
|
|
|||
|
%REPLACE dsc$k_dtype_t BY 14;
|
|||
|
%REPLACE dsc$k_dtype_vt BY 37;
|
|||
|
%REPLACE dsc$k_dtype_w BY 7;
|
|||
|
%REPLACE dsc$k_dtype_l BY 8;
|
|||
|
%REPLACE dsc$k_dtype_q BY 9;
|
|||
|
%REPLACE dsc$k_dtype_f BY 10;
|
|||
|
%REPLACE dsc$k_dtype_g BY 27;
|
|||
|
%REPLACE dsc$k_dtype_adt BY 35;
|
|||
|
|
|||
|
%REPLACE rdb$k_dpb_cdd_pathname BY 1;
|
|||
|
%REPLACE rdb$k_dpb_allocation BY 2;
|
|||
|
%REPLACE rdb$k_dpb_aij BY 3;
|
|||
|
%REPLACE rdb$k_dpb_page_size BY 4;
|
|||
|
%REPLACE rdb$k_dpb_num_buff BY 5;
|
|||
|
%REPLACE rdb$k_dpb_buffer_length BY 6;
|
|||
|
%REPLACE rdb$k_dpb_debug BY 7;
|
|||
|
%REPLACE rdb$k_dpb_garbage_collect BY 8;
|
|||
|
%REPLACE rdb$k_dpb_verify BY 9;
|
|||
|
%REPLACE rdb$k_dpb_sweep BY 10;
|
|||
|
%REPLACE rdb$k_dpb_enable_journal BY 11;
|
|||
|
%REPLACE rdb$k_dpb_disable_journal BY 12;
|
|||
|
%REPLACE rdb$k_dpb_dbkey_scope BY 13;
|
|||
|
%REPLACE rdb$k_dpb_number_of_users BY 14;
|
|||
|
|
|||
|
%REPLACE rdb$k_db_type_default BY 0;
|
|||
|
%REPLACE rdb$k_db_type_vms BY 1;
|
|||
|
%REPLACE rdb$k_db_type_eln BY 2;
|
|||
|
%REPLACE rdb$k_db_type_gds BY -1;
|
|||
|
|
|||
|
/* Database parameter block stuff */
|
|||
|
|
|||
|
$ SYMBOLS DPB ITEMS PB_FORMAT
|
|||
|
|
|||
|
$ SYMBOLS DPB BITS PB_FORMAT
|
|||
|
|
|||
|
/* Bit assignments in RDB$SYSTEM_FLAG */
|
|||
|
|
|||
|
$ SYMBOLS RDB FLAG PB_FORMAT
|
|||
|
|
|||
|
/* Transaction parameter blob stuff */
|
|||
|
|
|||
|
$ SYMBOLS TPB ITEMS PB_FORMAT
|
|||
|
|
|||
|
/* Blob parameter block stuff */
|
|||
|
|
|||
|
$ SYMBOLS BPB ITEMS PB_FORMAT
|
|||
|
|
|||
|
/* Information call declarations */
|
|||
|
|
|||
|
/* Common, structural codes */
|
|||
|
|
|||
|
$ SYMBOLS INFO MECH PB_FORMAT
|
|||
|
|
|||
|
/* Database information items */
|
|||
|
|
|||
|
$ SYMBOLS INFO DB PB_FORMAT
|
|||
|
|
|||
|
/* Request information items */
|
|||
|
|
|||
|
$ SYMBOLS INFO REQUEST PB_FORMAT
|
|||
|
|
|||
|
/* Blob information items */
|
|||
|
|
|||
|
$ SYMBOLS INFO BLOB PB_FORMAT
|
|||
|
|
|||
|
/* Transaction information items */
|
|||
|
|
|||
|
$ SYMBOLS INFO TRANSACTION PB_FORMAT
|
|||
|
|
|||
|
/* Error codes */
|
|||
|
|
|||
|
$ SYMBOLS ERROR MECH ERROR_FORMAT
|
|||
|
|
|||
|
$ ERROR MAJOR ERROR_FORMAT
|
|||
|
|
|||
|
/* Minor codes subject to change */
|
|||
|
|
|||
|
$ ERROR MINOR ERROR_FORMAT
|
|||
|
|
|||
|
DECLARE GDS_$SQLCODE ENTRY(
|
|||
|
(20) FIXED) /* status vector */
|
|||
|
RETURNS (FIXED);
|
|||
|
|
|||
|
DECLARE GDS_$ATTACH_DATABASE ENTRY(
|
|||
|
ANY VALUE, /* status vector */
|
|||
|
FIXED BINARY (15) VALUE, /* file name length */
|
|||
|
ANY, /* file name */
|
|||
|
ANY, /* database handle */
|
|||
|
FIXED BINARY (15) VALUE, /* dpb length */
|
|||
|
ANY VALUE); /* dpb */
|
|||
|
|
|||
|
DECLARE GDS_$CANCEL_BLOB ENTRY(
|
|||
|
ANY VALUE, /* status vector */
|
|||
|
ANY); /* blob handle */
|
|||
|
|
|||
|
DECLARE GDS_$CANCEL_EVENTS ENTRY(
|
|||
|
ANY VALUE, /* status vector */
|
|||
|
ANY, /* database handle */
|
|||
|
ANY); /* id */
|
|||
|
|
|||
|
DECLARE GDS_$CLOSE_BLOB ENTRY(
|
|||
|
ANY VALUE, /* status vector */
|
|||
|
ANY); /* blob handle */
|
|||
|
|
|||
|
DECLARE GDS_$COMMIT_RETAINING ENTRY(
|
|||
|
ANY VALUE, /* status vector */
|
|||
|
ANY); /* transaction handle */
|
|||
|
|
|||
|
DECLARE GDS_$COMMIT_TRANSACTION ENTRY(
|
|||
|
ANY VALUE, /* status vector */
|
|||
|
ANY); /* transaction handle */
|
|||
|
|
|||
|
DECLARE GDS_$COMPILE_REQUEST ENTRY(
|
|||
|
ANY VALUE, /* status vector */
|
|||
|
ANY, /* database handle */
|
|||
|
ANY, /* request handle */
|
|||
|
FIXED BINARY (15) VALUE, /* blr length */
|
|||
|
ANY); /* blr */
|
|||
|
|
|||
|
DECLARE GDS_$COMPILE_REQUEST2 ENTRY(
|
|||
|
ANY VALUE, /* status vector */
|
|||
|
ANY, /* database handle */
|
|||
|
ANY, /* request handle */
|
|||
|
FIXED BINARY (15) VALUE, /* blr length */
|
|||
|
ANY); /* blr */
|
|||
|
|
|||
|
DECLARE GDS_$CREATE_BLOB ENTRY(
|
|||
|
ANY VALUE, /* status vector */
|
|||
|
ANY, /* database handle */
|
|||
|
ANY, /* transaction handle */
|
|||
|
ANY, /* blob handle */
|
|||
|
(2) FIXED); /* blob id */
|
|||
|
|
|||
|
DECLARE GDS_$CREATE_BLOB2 ENTRY(
|
|||
|
ANY VALUE, /* status vector */
|
|||
|
ANY, /* database handle */
|
|||
|
ANY, /* transaction handle */
|
|||
|
ANY, /* blob handle */
|
|||
|
(2) FIXED, /* blob id */
|
|||
|
FIXED BINARY (15) VALUE, /* blob parameter block length */
|
|||
|
ANY); /* blob parameter block */
|
|||
|
|
|||
|
DECLARE GDS_$CREATE_DATABASE ENTRY(
|
|||
|
ANY VALUE, /* status vector */
|
|||
|
FIXED BINARY (15) VALUE, /* file name length */
|
|||
|
ANY, /* file name */
|
|||
|
ANY, /* database handle */
|
|||
|
FIXED BINARY (15) VALUE, /* dpb length */
|
|||
|
ANY VALUE, /* dpb */
|
|||
|
FIXED BINARY (15) VALUE); /* database type */
|
|||
|
|
|||
|
DECLARE GDS_$DDL ENTRY(
|
|||
|
ANY VALUE, /* status vector */
|
|||
|
ANY, /* database handle */
|
|||
|
ANY, /* transaction handle */
|
|||
|
FIXED BINARY (15) VALUE, /* mblr length */
|
|||
|
ANY); /* mblr */
|
|||
|
|
|||
|
DECLARE GDS_$DETACH_DATABASE ENTRY(
|
|||
|
ANY VALUE, /* status vector */
|
|||
|
ANY); /* database handle */
|
|||
|
|
|||
|
DECLARE GDS_$DROP_DATABASE ENTRY(
|
|||
|
ANY VALUE, /* status vector */
|
|||
|
FIXED BINARY (15) VALUE, /* file name length */
|
|||
|
ANY, /* file name */
|
|||
|
FIXED BINARY (15) VALUE); /* database type */
|
|||
|
|
|||
|
DECLARE GDS_$EVENT_WAIT ENTRY(
|
|||
|
ANY VALUE, /* status vector */
|
|||
|
ANY, /* database handle */
|
|||
|
ANY, /* length */
|
|||
|
ANY, /* events */
|
|||
|
ANY); /* buffer */
|
|||
|
|
|||
|
DECLARE GDS_$GET_SEGMENT ENTRY(
|
|||
|
ANY VALUE, /* status vector */
|
|||
|
ANY, /* blob handle */
|
|||
|
ANY, /* segment length */
|
|||
|
FIXED BINARY (15) VALUE, /* buffer length */
|
|||
|
ANY) /* buffer */
|
|||
|
RETURNS (FIXED);
|
|||
|
|
|||
|
DECLARE GDS_$GET_SLICE ENTRY(
|
|||
|
ANY VALUE, /* status vector */
|
|||
|
ANY, /* database handle */
|
|||
|
ANY, /* transaction handle */
|
|||
|
ANY, /* array (blob) id */
|
|||
|
FIXED BINARY (15), /* sdl length */
|
|||
|
ANY, /* sdl */
|
|||
|
FIXED BINARY (15), /* parameter length */
|
|||
|
ANY, /* parameter */
|
|||
|
FIXED BINARY (31), /* slice length */
|
|||
|
ANY, /* slice */
|
|||
|
FIXED BINARY (31)); /* return length */
|
|||
|
|
|||
|
DECLARE GDS_$OPEN_BLOB ENTRY(
|
|||
|
ANY VALUE, /* status vector */
|
|||
|
ANY, /* database handle */
|
|||
|
ANY, /* transaction handle */
|
|||
|
ANY, /* blob handle */
|
|||
|
(2) FIXED); /* blob id */
|
|||
|
|
|||
|
DECLARE GDS_$OPEN_BLOB2 ENTRY(
|
|||
|
ANY VALUE, /* status vector */
|
|||
|
ANY, /* database handle */
|
|||
|
ANY, /* transaction handle */
|
|||
|
ANY, /* blob handle */
|
|||
|
(2) FIXED, /* blob id */
|
|||
|
FIXED BINARY (15), /* blob parameter block length */
|
|||
|
ANY); /* blob parameter block */
|
|||
|
|
|||
|
DECLARE GDS_$PREPARE_TRANSACTION ENTRY(
|
|||
|
ANY VALUE, /* status vector */
|
|||
|
ANY); /* transaction handle */
|
|||
|
|
|||
|
DECLARE GDS_$PREPARE_TRANSACTION2 ENTRY(
|
|||
|
ANY VALUE, /* status vector */
|
|||
|
ANY, /* transaction handle */
|
|||
|
FIXED BINARY (15),
|
|||
|
ANY);
|
|||
|
|
|||
|
DECLARE GDS_$PUT_SEGMENT ENTRY(
|
|||
|
ANY VALUE, /* status vector */
|
|||
|
ANY, /* blob handle */
|
|||
|
FIXED BINARY (15) VALUE, /* buffer length */
|
|||
|
ANY) /* buffer */
|
|||
|
RETURNS (FIXED);
|
|||
|
|
|||
|
DECLARE GDS_$PUT_SLICE ENTRY(
|
|||
|
ANY VALUE, /* status vector */
|
|||
|
ANY, /* database handle */
|
|||
|
ANY, /* transaction handle */
|
|||
|
ANY, /* array (blob) id */
|
|||
|
FIXED BINARY (15), /* sdl length */
|
|||
|
ANY, /* sdl */
|
|||
|
FIXED BINARY (15), /* parameter length */
|
|||
|
ANY, /* parameter */
|
|||
|
FIXED BINARY (31), /* slice length */
|
|||
|
ANY); /* slice */
|
|||
|
|
|||
|
DECLARE GDS_$QUE_EVENTS ENTRY(
|
|||
|
ANY VALUE, /* status vector */
|
|||
|
ANY, /* database handle */
|
|||
|
ANY, /* id */
|
|||
|
ANY, /* length */
|
|||
|
ANY, /* events */
|
|||
|
ANY, /* ast */
|
|||
|
ANY); /* arg */
|
|||
|
|
|||
|
DECLARE GDS_$RECEIVE ENTRY(
|
|||
|
ANY VALUE, /* status vector */
|
|||
|
ANY, /* request handle */
|
|||
|
FIXED BINARY (15) VALUE, /* message type */
|
|||
|
FIXED BINARY (15) VALUE, /* message length */
|
|||
|
PTR VALUE, /* message */
|
|||
|
FIXED BINARY (15) VALUE); /* instantiation */
|
|||
|
|
|||
|
DECLARE GDS_$RELEASE_REQUEST ENTRY(
|
|||
|
ANY VALUE, /* status vector */
|
|||
|
ANY); /* request handle */
|
|||
|
|
|||
|
DECLARE GDS_$ROLLBACK_TRANSACTION ENTRY(
|
|||
|
ANY VALUE, /* status vector */
|
|||
|
ANY); /* transaction handle */
|
|||
|
|
|||
|
DECLARE GDS_$SEND ENTRY(
|
|||
|
ANY VALUE, /* status vector */
|
|||
|
ANY, /* request handle */
|
|||
|
FIXED BINARY (15) VALUE, /* message type */
|
|||
|
FIXED BINARY (15) VALUE, /* message length */
|
|||
|
ANY, /* message */
|
|||
|
FIXED BINARY (15) VALUE); /* instantiation */
|
|||
|
|
|||
|
DECLARE GDS_$SET_DEBUG ENTRY(
|
|||
|
FIXED BINARY (15) VALUE);
|
|||
|
|
|||
|
DECLARE GDS_$START_AND_SEND ENTRY(
|
|||
|
ANY VALUE, /* status vector */
|
|||
|
ANY, /* request handle */
|
|||
|
ANY, /* transaction handle */
|
|||
|
FIXED BINARY (15) VALUE, /* message type */
|
|||
|
FIXED BINARY (15) VALUE, /* message length */
|
|||
|
ANY, /* message */
|
|||
|
FIXED BINARY (15) VALUE); /* instantiation */
|
|||
|
|
|||
|
DECLARE GDS_$START_REQUEST ENTRY(
|
|||
|
ANY VALUE, /* status vector */
|
|||
|
ANY, /* request handle */
|
|||
|
ANY, /* transaction handle */
|
|||
|
FIXED BINARY (15) VALUE); /* instantiation */
|
|||
|
|
|||
|
DECLARE GDS_$START_MULTIPLE ENTRY(
|
|||
|
ANY VALUE, /* status vector */
|
|||
|
ANY, /* transaction handle */
|
|||
|
FIXED BINARY (15) VALUE, /* transaction count */
|
|||
|
ANY); /* teb */
|
|||
|
|
|||
|
DECLARE GDS_$START_TRANSACTION ENTRY(
|
|||
|
ANY VALUE, /* status vector */
|
|||
|
ANY, /* transaction handle */
|
|||
|
FIXED BINARY (15) VALUE, /* transaction count */
|
|||
|
ANY VALUE, /* database handle */
|
|||
|
FIXED BINARY (15) VALUE, /* tpb length */
|
|||
|
ANY VALUE) /* tpb */
|
|||
|
OPTIONS (VARIABLE);
|
|||
|
|
|||
|
DECLARE GDS_$STATUS_AND_STOP ENTRY(
|
|||
|
ANY VALUE); /* status vector */
|
|||
|
|
|||
|
DECLARE GDS_$UNWIND_REQUEST ENTRY(
|
|||
|
ANY VALUE, /* status vector */
|
|||
|
ANY, /* request handle */
|
|||
|
FIXED BINARY (15) VALUE); /* instantiation */
|
|||
|
|
|||
|
DECLARE gds_$print_status ENTRY(
|
|||
|
(20) FIXED); /* status vector */
|
|||
|
|
|||
|
|
|||
|
DECLARE gds_$encode_date ENTRY(
|
|||
|
ANY, /* time record */
|
|||
|
(2) FIXED); /* date */
|
|||
|
|
|||
|
DECLARE gds_$decode_date ENTRY(
|
|||
|
(2) FIXED, /* date */
|
|||
|
ANY); /* time record */
|
|||
|
|
|||
|
|
|||
|
DECLARE blob_$display ENTRY (
|
|||
|
(2) FIXED, /* blob_id*/
|
|||
|
ANY, /* database handle */
|
|||
|
ANY, /* transaction handle */
|
|||
|
ANY, /* field name */
|
|||
|
ANY); /* name_length */
|
|||
|
|
|||
|
DECLARE blob_$dump ENTRY (
|
|||
|
(2) FIXED, /* blob_id*/
|
|||
|
ANY, /* database handle */
|
|||
|
ANY, /* transaction handle */
|
|||
|
ANY, /* file name */
|
|||
|
ANY); /* name_length */
|
|||
|
|
|||
|
DECLARE blob_$edit ENTRY (
|
|||
|
(2) FIXED, /* blob_id*/
|
|||
|
ANY, /* database handle */
|
|||
|
ANY, /* transaction handle */
|
|||
|
ANY, /* field name */
|
|||
|
ANY); /* name_length */
|
|||
|
|
|||
|
DECLARE blob_$load ENTRY (
|
|||
|
(2) FIXED, /* blob_id*/
|
|||
|
ANY, /* database handle */
|
|||
|
ANY, /* transaction handle */
|
|||
|
ANY, /* file name */
|
|||
|
ANY); /* name_length */
|
|||
|
|
|||
|
/* Dynamic SQL datatypes */
|
|||
|
|
|||
|
%REPLACE SQL_TEXT BY 452;
|
|||
|
%REPLACE SQL_VARYING BY 448;
|
|||
|
%REPLACE SQL_SHORT BY 500;
|
|||
|
%REPLACE SQL_LONG BY 496;
|
|||
|
%REPLACE SQL_FLOAT BY 482;
|
|||
|
%REPLACE SQL_DOUBLE BY 480;
|
|||
|
%REPLACE SQL_DATE BY 510;
|
|||
|
%REPLACE SQL_BLOB BY 520;
|
|||
|
|
|||
|
/* Dynamic SQL DECLAREs */
|
|||
|
|
|||
|
DECLARE gds_$close ENTRY (
|
|||
|
ANY VALUE, /* status vector */
|
|||
|
ANY /* cursor_name */
|
|||
|
);
|
|||
|
|
|||
|
DECLARE gds_$declare ENTRY (
|
|||
|
ANY VALUE, /* status vector */
|
|||
|
ANY, /* statement_name */
|
|||
|
ANY /* cursor_name */
|
|||
|
);
|
|||
|
|
|||
|
DECLARE gds_$describe ENTRY (
|
|||
|
ANY VALUE, /* status vector */
|
|||
|
ANY, /* statement_name */
|
|||
|
ANY /* descriptor */
|
|||
|
);
|
|||
|
|
|||
|
DECLARE gds_$dsql_finish ENTRY (
|
|||
|
ANY /* db_handle */
|
|||
|
);
|
|||
|
|
|||
|
DECLARE gds_$execute ENTRY (
|
|||
|
ANY VALUE, /* status vector */
|
|||
|
ANY, /* trans_handle */
|
|||
|
ANY, /* statement_name */
|
|||
|
ANY /* descriptor */
|
|||
|
);
|
|||
|
|
|||
|
DECLARE gds_$execute_immediate ENTRY (
|
|||
|
ANY VALUE, /* status vector */
|
|||
|
ANY, /* db_handle */
|
|||
|
ANY, /* trans_handle */
|
|||
|
ANY, /* string_length */
|
|||
|
ANY /* string */
|
|||
|
);
|
|||
|
|
|||
|
DECLARE gds_$fetch ENTRY (
|
|||
|
ANY VALUE, /* status vector */
|
|||
|
ANY, /* cursor_name */
|
|||
|
ANY /* descriptor */
|
|||
|
) RETURNS (FIXED);
|
|||
|
|
|||
|
DECLARE gds_$open ENTRY (
|
|||
|
ANY VALUE, /* status vector */
|
|||
|
ANY, /* trans_handle */
|
|||
|
ANY, /* cursor_name */
|
|||
|
ANY /* descriptor */
|
|||
|
);
|
|||
|
|
|||
|
DECLARE gds_$prepare ENTRY (
|
|||
|
ANY VALUE, /* status vector */
|
|||
|
ANY, /* db_handle */
|
|||
|
ANY, /* trans_handle */
|
|||
|
ANY, /* statement_name */
|
|||
|
ANY, /* string_length */
|
|||
|
ANY, /* string */
|
|||
|
ANY /* descriptor */
|
|||
|
);
|
|||
|
|
|||
|
/* Forms Package definitions */
|
|||
|
|
|||
|
/* Map definition block definitions */
|
|||
|
|
|||
|
$ SYMBOLS PYXIS MAP PYXIS_FORMAT
|
|||
|
|
|||
|
/* Field option flags for display options */
|
|||
|
|
|||
|
$ SYMBOLS PYXIS DISPLAY OPT_FORMAT
|
|||
|
|
|||
|
/* Field option values following display */
|
|||
|
|
|||
|
$ SYMBOLS PYXIS VALUE OPT_FORMAT
|
|||
|
|
|||
|
/* Pseudo key definitions */
|
|||
|
|
|||
|
$ SYMBOLS PYXIS KEY OPT_FORMAT
|
|||
|
|
|||
|
/* Menu definition stuff */
|
|||
|
|
|||
|
$ SYMBOLS PYXIS MENU PYXIS_FORMAT
|
|||
|
|
|||
|
DECLARE pyxis_$compile_map ENTRY (
|
|||
|
ANY VALUE, /* status vector */
|
|||
|
ANY, /* form handle */
|
|||
|
ANY, /* map handle */
|
|||
|
FIXED BINARY (15), /* length */
|
|||
|
ANY /* map handle */
|
|||
|
);
|
|||
|
|
|||
|
DECLARE pyxis_$compile_sub_map ENTRY (
|
|||
|
ANY VALUE, /* status vector */
|
|||
|
ANY, /* form handle */
|
|||
|
ANY, /* map handle */
|
|||
|
FIXED BINARY (15), /* length */
|
|||
|
ANY /* map */
|
|||
|
);
|
|||
|
|
|||
|
DECLARE pyxis_$create_window ENTRY (
|
|||
|
ANY, /* window handle */
|
|||
|
FIXED BINARY (15), /* length */
|
|||
|
ANY, /* file_name */
|
|||
|
FIXED BINARY (15), /* width */
|
|||
|
FIXED BINARY (15) /* height */
|
|||
|
);
|
|||
|
|
|||
|
DECLARE pyxis_$delete_window ENTRY (
|
|||
|
ANY /* window handle */
|
|||
|
);
|
|||
|
|
|||
|
DECLARE pyxis_$drive_form ENTRY (
|
|||
|
ANY VALUE, /* status vector */
|
|||
|
ANY, /* database handle */
|
|||
|
ANY, /* transaction handle */
|
|||
|
ANY, /* window handle */
|
|||
|
ANY, /* map handle */
|
|||
|
ANY, /* input */
|
|||
|
ANY /* output */
|
|||
|
);
|
|||
|
|
|||
|
DECLARE pyxis_$fetch ENTRY (
|
|||
|
ANY VALUE, /* status vector */
|
|||
|
ANY, /* database handle */
|
|||
|
ANY, /* transaction handle */
|
|||
|
ANY, /* map handle */
|
|||
|
ANY /* output */
|
|||
|
);
|
|||
|
|
|||
|
DECLARE pyxis_$insert ENTRY (
|
|||
|
ANY VALUE, /* status vector */
|
|||
|
ANY, /* database handle */
|
|||
|
ANY, /* transaction handle */
|
|||
|
ANY, /* map handle */
|
|||
|
ANY /* intput */
|
|||
|
);
|
|||
|
|
|||
|
DECLARE pyxis_$load_form ENTRY (
|
|||
|
ANY VALUE, /* status vector */
|
|||
|
ANY, /* database handle */
|
|||
|
ANY, /* transaction handle */
|
|||
|
ANY, /* form handle */
|
|||
|
ANY, /* map handle */
|
|||
|
ANY /* form_name */
|
|||
|
);
|
|||
|
|
|||
|
DECLARE pyxis_$menu ENTRY (
|
|||
|
ANY, /* window handle */
|
|||
|
ANY, /* menu handle */
|
|||
|
FIXED BINARY (15), /* length */
|
|||
|
ANY /* menu */
|
|||
|
) RETURNS (FIXED BINARY (15));
|
|||
|
|
|||
|
DECLARE pyxis_$pop_window ENTRY (
|
|||
|
ANY /* window handle */
|
|||
|
);
|
|||
|
|
|||
|
DECLARE pyxis_$reset_form ENTRY (
|
|||
|
ANY VALUE, /* status vector */
|
|||
|
ANY /* window handle */
|
|||
|
);
|
|||
|
|
|||
|
DECLARE pyxis_$drive_menu ENTRY (
|
|||
|
ANY, /* window_handle */
|
|||
|
ANY, /* menu_handle */
|
|||
|
FIXED BINARY (15), /* blr_length */
|
|||
|
ANY, /* blr_source */
|
|||
|
FIXED BINARY (15), /* title_length */
|
|||
|
ANY, /* title */
|
|||
|
FIXED BINARY (15), /* terminator */
|
|||
|
FIXED BINARY (15), /* entree_length */
|
|||
|
ANY, /* entree_text */
|
|||
|
ANY /* entree_value */
|
|||
|
);
|
|||
|
|
|||
|
DECLARE pyxis_$get_entree ENTRY (
|
|||
|
ANY, /* menu_handle */
|
|||
|
FIXED BINARY (15), /* entree_length */
|
|||
|
ANY, /* entree_text */
|
|||
|
ANY, /* entree_value */
|
|||
|
FIXED BINARY (15) /* entree_end */
|
|||
|
);
|
|||
|
|
|||
|
DECLARE pyxis_$initialize_menu ENTRY (
|
|||
|
ANY /* menu_handle */
|
|||
|
);
|
|||
|
|
|||
|
DECLARE pyxis_$put_entree ENTRY (
|
|||
|
ANY, /* menu_handle */
|
|||
|
FIXED BINARY (15), /* entree_length */
|
|||
|
ANY, /* entree_text */
|
|||
|
ANY /* entree_value */
|
|||
|
);
|
|||
|
');
|
|||
|
INSERT INTO TEMPLATES (LANGUAGE, "FILE", TEMPLATE) VALUES ('BASIC', 'gds.bas',
|
|||
|
'
|
|||
|
!*
|
|||
|
!* PROGRAM: BASIC preprocessor
|
|||
|
!* MODULE: gds.bas
|
|||
|
!* DESCRIPTION: BLR constants
|
|||
|
!*
|
|||
|
!* copyright (c) 1984, 1990 by Interbase Software Corporation
|
|||
|
!*
|
|||
|
|
|||
|
! Error codes
|
|||
|
|
|||
|
$ FORMAT ERROR_FORMAT " DECLARE LONG CONSTANT %-32s= %d\n
|
|||
|
$ FORMAT PB_FORMAT " DECLARE BYTE CONSTANT %-32s= %d\n
|
|||
|
$ FORMAT OPT_FORMAT " DECLARE WORD CONSTANT %-32s= %d\n
|
|||
|
$ SYMBOLS ERROR MECH ERROR_FORMAT
|
|||
|
|
|||
|
$ ERROR MAJOR ERROR_FORMAT
|
|||
|
|
|||
|
! Minor codes subject to change
|
|||
|
|
|||
|
$ ERROR MINOR ERROR_FORMAT
|
|||
|
|
|||
|
! Database parameter block stuff
|
|||
|
|
|||
|
$ SYMBOLS DPB ITEMS PB_FORMAT
|
|||
|
|
|||
|
$ SYMBOLS DPB BITS PB_FORMAT
|
|||
|
|
|||
|
! Bit assignments in RDB$SYSTEM_FLAG
|
|||
|
|
|||
|
$ SYMBOLS RDB FLAG PB_FORMAT
|
|||
|
|
|||
|
! Transaction parameter blob stuff
|
|||
|
|
|||
|
$ SYMBOLS TPB ITEMS PB_FORMAT
|
|||
|
|
|||
|
! Blob Parameter Block
|
|||
|
|
|||
|
$ SYMBOLS BPB ITEMS PB_FORMAT
|
|||
|
|
|||
|
! Information call declarations
|
|||
|
|
|||
|
! Common, structural codes
|
|||
|
|
|||
|
$ SYMBOLS INFO MECH PB_FORMAT
|
|||
|
|
|||
|
! Database information items
|
|||
|
|
|||
|
$ SYMBOLS INFO DB PB_FORMAT
|
|||
|
|
|||
|
! Request information items
|
|||
|
|
|||
|
$ SYMBOLS INFO REQUEST PB_FORMAT
|
|||
|
|
|||
|
! Blob information items
|
|||
|
|
|||
|
$ SYMBOLS INFO BLOB PB_FORMAT
|
|||
|
|
|||
|
! Transaction information items
|
|||
|
|
|||
|
$ SYMBOLS INFO TRANSACTION PB_FORMAT
|
|||
|
|
|||
|
! Dynamic SQL datatypes
|
|||
|
|
|||
|
$ SYMBOLS SQL DTYPE OPT_FORMAT
|
|||
|
|
|||
|
! Forms Package definitions
|
|||
|
|
|||
|
! Map definition block definitions
|
|||
|
|
|||
|
$ SYMBOLS PYXIS MAP PB_FORMAT
|
|||
|
|
|||
|
! Field option flags for display options
|
|||
|
|
|||
|
$ SYMBOLS PYXIS DISPLAY OPT_FORMAT
|
|||
|
|
|||
|
! Field option values following display
|
|||
|
|
|||
|
$ SYMBOLS PYXIS VALUE OPT_FORMAT
|
|||
|
|
|||
|
! Pseudo key definitions
|
|||
|
|
|||
|
$ SYMBOLS PYXIS KEY OPT_FORMAT
|
|||
|
|
|||
|
! Menu definition stuff
|
|||
|
|
|||
|
$ SYMBOLS PYXIS MENU PB_FORMAT
|
|||
|
|
|||
|
EXTERNAL LONG FUNCTION GDS_$SQLCODE BY REF
|
|||
|
EXTERNAL SUB GDS_$ATTACH_DATABASE BY REF
|
|||
|
EXTERNAL SUB GDS_$CANCEL_BLOB BY REF
|
|||
|
EXTERNAL SUB GDS_$CANCEL_EVENTS BY REF
|
|||
|
EXTERNAL SUB GDS_$CLOSE_BLOB BY REF
|
|||
|
EXTERNAL SUB GDS_$COMMIT_RETAINING BY REF
|
|||
|
EXTERNAL SUB GDS_$COMMIT_TRANSACTION BY REF
|
|||
|
EXTERNAL SUB GDS_$COMPILE_REQUEST BY REF
|
|||
|
EXTERNAL SUB GDS_$CREATE_BLOB BY REF
|
|||
|
EXTERNAL SUB GDS_$CREATE_BLOB2 BY REF
|
|||
|
EXTERNAL SUB GDS_$CREATE_DATABASE BY REF
|
|||
|
EXTERNAL SUB GDS_$DETACH_DATABASE BY REF
|
|||
|
EXTERNAL SUB GDS_EVENT_WAIT BY REF
|
|||
|
EXTERNAL LONG FUNCTION GDS_$GET_SEGMENT BY REF
|
|||
|
EXTERNAL SUB GDS_$OPEN_BLOB BY REF
|
|||
|
EXTERNAL SUB GDS_$OPEN_BLOB2 BY REF
|
|||
|
EXTERNAL SUB GDS_$PREPARE_TRANSACTION BY REF
|
|||
|
EXTERNAL SUB GDS_$PREPARE_TRANSACTION2 BY REF
|
|||
|
EXTERNAL LONG FUNCTION GDS_$PUT_SEGMENT BY REF
|
|||
|
EXTERNAL SUB GDS_$QUE_EVENTS BY REF
|
|||
|
EXTERNAL SUB GDS_$RECEIVE BY REF
|
|||
|
EXTERNAL SUB GDS_$RELEASE_REQUEST BY REF
|
|||
|
EXTERNAL SUB GDS_$ROLLBACK_TRANSACTION BY REF
|
|||
|
EXTERNAL SUB GDS_$SEND BY REF
|
|||
|
EXTERNAL SUB gds_$set_debug BY REF
|
|||
|
EXTERNAL SUB GDS_$START_AND_SEND BY REF
|
|||
|
EXTERNAL SUB GDS_$START_REQUEST BY REF
|
|||
|
EXTERNAL SUB GDS_$START_MULTIPLE BY REF
|
|||
|
EXTERNAL SUB GDS_$START_TRANSACTION BY REF
|
|||
|
EXTERNAL SUB GDS_$UNWIND_REQUEST BY REF
|
|||
|
EXTERNAL SUB gds_$print_status BY REF
|
|||
|
EXTERNAL SUB gds_$encode_date BY REF
|
|||
|
EXTERNAL SUB gds_$decode_date BY REF
|
|||
|
EXTERNAL SUB blob_$display BY REF
|
|||
|
EXTERNAL SUB blob_$dump BY REF
|
|||
|
EXTERNAL SUB blob_$edit BY REF
|
|||
|
EXTERNAL SUB blob_$load BY REF
|
|||
|
EXTERNAL SUB gds_$close BY REF
|
|||
|
EXTERNAL SUB gds_$declare BY REF
|
|||
|
EXTERNAL SUB gds_$describe BY REF
|
|||
|
EXTERNAL SUB gds_$dsql_finish BY REF
|
|||
|
EXTERNAL SUB gds_$execute BY REF
|
|||
|
EXTERNAL SUB gds_$execute_immediate BY REF
|
|||
|
EXTERNAL LONG FUNCTION gds_$fetch BY REF
|
|||
|
EXTERNAL SUB gds_$open BY REF
|
|||
|
EXTERNAL SUB gds_$prepare BY REF
|
|||
|
EXTERNAL SUB gds_$event_counts BY REF
|
|||
|
EXTERNAL SUB gds_$event_block BY REF
|
|||
|
EXTERNAL SUB gds_$get_slice BY REF
|
|||
|
EXTERNAL SUB gds_$put_slice BY REF
|
|||
|
EXTERNAL SUB gds_$seek_blob BY REF
|
|||
|
EXTERNAL SUB gds_$ddl BY REF
|
|||
|
EXTERNAL SUB pyxis_$compile_map BY REF
|
|||
|
EXTERNAL SUB pyxis_$compile_sub_map BY REF
|
|||
|
EXTERNAL SUB pyxis_$create_window BY REF
|
|||
|
EXTERNAL SUB pyxis_$delete_window BY REF
|
|||
|
EXTERNAL SUB pyxis_$drive_form BY REF
|
|||
|
EXTERNAL SUB pyxis_$fetch BY REF
|
|||
|
EXTERNAL SUB pyxis_$insert BY REF
|
|||
|
EXTERNAL SUB pyxis_$load_form BY REF
|
|||
|
EXTERNAL WORD FUNCTION pyxis_$menu BY REF
|
|||
|
EXTERNAL SUB pyxis_$pop_window BY REF
|
|||
|
EXTERNAL SUB pyxis_$reset_form BY REF
|
|||
|
EXTERNAL SUB pyxis_$drive_menu BY REF
|
|||
|
EXTERNAL SUB pyxis_$initialize_menu BY REF
|
|||
|
EXTERNAL SUB pyxis_$get_entree BY REF
|
|||
|
EXTERNAL SUB pyxis_$put_entree BY REF
|
|||
|
');
|
|||
|
|
|||
|
COMMIT WORK;
|