mirror of
https://github.com/FirebirdSQL/firebird.git
synced 2025-01-24 13:23:02 +01:00
91 lines
2.9 KiB
C
91 lines
2.9 KiB
C
/*
|
|
* PROGRAM: JRD Data Definition Utility
|
|
* MODULE: dyn.h
|
|
* DESCRIPTION: Dynamic data definition local data
|
|
*
|
|
* The contents of this file are subject to the Interbase Public
|
|
* License Version 1.0 (the "License"); you may not use this file
|
|
* except in compliance with the License. You may obtain a copy
|
|
* of the License at http://www.Inprise.com/IPL.html
|
|
*
|
|
* Software distributed under the License is distributed on an
|
|
* "AS IS" basis, WITHOUT WARRANTY OF ANY KIND, either express
|
|
* or implied. See the License for the specific language governing
|
|
* rights and limitations under the License.
|
|
*
|
|
* The Original Code was created by Inprise Corporation
|
|
* and its predecessors. Portions created by Inprise Corporation are
|
|
* Copyright (C) Inprise Corporation.
|
|
*
|
|
* All Rights Reserved.
|
|
* Contributor(s): ______________________________________.
|
|
*/
|
|
|
|
#ifndef _JRD_DYN_H_
|
|
#define _JRD_DYN_H_
|
|
|
|
#define ALL_PRIVILEGES "SIUDR"
|
|
/* all applicable grant/revoke privileges */
|
|
#define ALL_PROC_PRIVILEGES "X"
|
|
/* all applicable grant/revoke privileges for a procedure */
|
|
#define DYN_MSG_FAC 8
|
|
#define STUFF_COUNT 4
|
|
#define MAX_KEY 256
|
|
#define TEXT_BLOB_LENGTH 512
|
|
|
|
#define PRIMARY_KEY "PRIMARY KEY"
|
|
#define FOREIGN_KEY "FOREIGN KEY"
|
|
#define UNIQUE_CNSTRT "UNIQUE"
|
|
#define CHECK_CNSTRT "CHECK"
|
|
#define NOT_NULL_CNSTRT "NOT NULL"
|
|
|
|
#define GET_STRING(from,to) DYN_get_string ((TEXT**)from, (TEXT*)to, sizeof (to), TRUE)
|
|
|
|
#define GET_STRING_2(from,to) DYN_get_string ((TEXT**)from, (TEXT*)to, sizeof (to), FALSE)
|
|
|
|
#define PROC_NAME_SIZE 32
|
|
#define FLD_SRC_LEN 32
|
|
#define FLD_NAME_LEN 32
|
|
#define REL_NAME_LEN 32
|
|
|
|
|
|
typedef struct gbl
|
|
{
|
|
JRD_TRA gbl_transaction;
|
|
} *GBL;
|
|
|
|
typedef struct dyn_fld {
|
|
DSC dyn_dsc;
|
|
BOOLEAN dyn_null_flag;
|
|
USHORT dyn_dtype;
|
|
USHORT dyn_precision;
|
|
USHORT dyn_charlen;
|
|
SSHORT dyn_collation;
|
|
SSHORT dyn_charset;
|
|
TEXT dyn_fld_source[FLD_SRC_LEN];
|
|
TEXT dyn_rel_name[REL_NAME_LEN];
|
|
TEXT dyn_fld_name[FLD_NAME_LEN];
|
|
USHORT dyn_charbytelen; /* Used to check modify operations on string types. */
|
|
|
|
} *DYN_FLD;
|
|
|
|
extern void DYN_error(USHORT, USHORT, TEXT *, TEXT *, TEXT *, TEXT *, TEXT *);
|
|
extern void DYN_error_punt(USHORT, USHORT, TEXT *, TEXT *, TEXT *, TEXT *,
|
|
TEXT *);
|
|
extern void DYN_execute(GBL, UCHAR **, TEXT *, TEXT *, TEXT *, TEXT *,
|
|
TEXT *);
|
|
extern SLONG DYN_get_number(UCHAR **);
|
|
extern USHORT DYN_get_string(TEXT **, TEXT *, USHORT, USHORT);
|
|
extern void DYN_get_string2(TEXT **, TEXT *, USHORT);
|
|
extern BOOLEAN DYN_is_it_sql_role(GBL, TEXT *, TEXT *, TDBB);
|
|
extern USHORT DYN_put_blr_blob(GBL, UCHAR **, GDS__QUAD *);
|
|
extern USHORT DYN_put_blr_blob2(GBL, UCHAR **, GDS__QUAD *);
|
|
extern USHORT DYN_put_text_blob(GBL, UCHAR **, GDS__QUAD *);
|
|
extern USHORT DYN_put_text_blob2(GBL, UCHAR **, GDS__QUAD *);
|
|
extern void DYN_rundown_request(BLK, SSHORT);
|
|
extern USHORT DYN_skip_attribute(UCHAR **);
|
|
extern USHORT DYN_skip_attribute2(UCHAR **);
|
|
extern void DYN_unsupported_verb(void);
|
|
|
|
#endif /* _JRD_DYN_H_ */
|