2001-05-23 15:26:42 +02:00
|
|
|
/*
|
|
|
|
* 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): ______________________________________.
|
|
|
|
*/
|
|
|
|
|
2003-09-09 13:07:19 +02:00
|
|
|
#ifndef JRD_DYN_H
|
|
|
|
#define JRD_DYN_H
|
2001-05-23 15:26:42 +02:00
|
|
|
|
2003-11-05 10:02:33 +01:00
|
|
|
const char* const ALL_PRIVILEGES = "SIUDR";
|
2001-05-23 15:26:42 +02:00
|
|
|
/* all applicable grant/revoke privileges */
|
2003-11-05 10:02:33 +01:00
|
|
|
const char* const ALL_PROC_PRIVILEGES = "X";
|
2001-05-23 15:26:42 +02:00
|
|
|
/* all applicable grant/revoke privileges for a procedure */
|
|
|
|
#define DYN_MSG_FAC 8
|
|
|
|
#define STUFF_COUNT 4
|
|
|
|
#define TEXT_BLOB_LENGTH 512
|
|
|
|
|
2003-11-05 10:02:33 +01:00
|
|
|
const char* const PRIMARY_KEY = "PRIMARY KEY";
|
|
|
|
const char* const FOREIGN_KEY = "FOREIGN KEY";
|
|
|
|
const char* const UNIQUE_CNSTRT = "UNIQUE";
|
|
|
|
const char* const CHECK_CNSTRT = "CHECK";
|
|
|
|
const char* const NOT_NULL_CNSTRT = "NOT NULL";
|
2001-05-23 15:26:42 +02:00
|
|
|
|
2003-11-05 10:02:33 +01:00
|
|
|
#define GET_STRING(from,to) DYN_get_string ((const TEXT**)from, (TEXT*)to, sizeof (to), true)
|
2001-05-23 15:26:42 +02:00
|
|
|
|
2003-11-05 10:02:33 +01:00
|
|
|
#define GET_STRING_2(from,to) DYN_get_string ((const TEXT**)from, (TEXT*)to, sizeof (to), false)
|
2001-05-23 15:26:42 +02:00
|
|
|
|
|
|
|
|
|
|
|
typedef struct gbl
|
|
|
|
{
|
2004-01-03 11:59:52 +01:00
|
|
|
jrd_tra* gbl_transaction;
|
2001-05-23 15:26:42 +02:00
|
|
|
} *GBL;
|
|
|
|
|
|
|
|
typedef struct dyn_fld {
|
2004-02-20 07:43:27 +01:00
|
|
|
dsc dyn_dsc;
|
|
|
|
bool dyn_null_flag;
|
2001-05-23 15:26:42 +02:00
|
|
|
USHORT dyn_dtype;
|
|
|
|
USHORT dyn_precision;
|
|
|
|
USHORT dyn_charlen;
|
|
|
|
SSHORT dyn_collation;
|
|
|
|
SSHORT dyn_charset;
|
2003-11-05 10:02:33 +01:00
|
|
|
SqlIdentifier dyn_fld_source;
|
|
|
|
SqlIdentifier dyn_rel_name;
|
|
|
|
SqlIdentifier dyn_fld_name;
|
2002-06-30 10:46:51 +02:00
|
|
|
USHORT dyn_charbytelen; /* Used to check modify operations on string types. */
|
2001-05-23 15:26:42 +02:00
|
|
|
|
|
|
|
} *DYN_FLD;
|
|
|
|
|
2003-11-05 10:02:33 +01:00
|
|
|
void DYN_error(bool, USHORT, const TEXT*, const TEXT*, const TEXT*,
|
2003-10-03 03:53:34 +02:00
|
|
|
const TEXT*, const TEXT*);
|
2003-11-05 10:02:33 +01:00
|
|
|
void DYN_error_punt(bool, USHORT, const TEXT*, const TEXT*,
|
2003-10-03 03:53:34 +02:00
|
|
|
const TEXT*, const TEXT*, const TEXT*);
|
2003-11-05 10:02:33 +01:00
|
|
|
void DYN_execute(GBL, const UCHAR**, const TEXT*, TEXT*, TEXT*, TEXT*, TEXT*);
|
|
|
|
SLONG DYN_get_number(const UCHAR**);
|
|
|
|
USHORT DYN_get_string(const TEXT**, TEXT*, USHORT, bool);
|
|
|
|
|
|
|
|
// This function is not defined anywhere.
|
|
|
|
// void DYN_get_string2(TEXT**, TEXT*, USHORT);
|
|
|
|
|
2003-09-09 13:07:19 +02:00
|
|
|
// This function doesn't need to be exported currently.
|
2004-03-11 06:04:26 +01:00
|
|
|
bool DYN_is_it_sql_role(GBL, const TEXT*, TEXT*, thread_db*);
|
2004-01-21 08:18:30 +01:00
|
|
|
USHORT DYN_put_blr_blob(GBL, const UCHAR**, struct bid*);
|
2003-11-05 10:02:33 +01:00
|
|
|
|
|
|
|
// This function is not defined anywhere.
|
2003-11-11 13:19:20 +01:00
|
|
|
//USHORT DYN_put_blr_blob2(GBL, const UCHAR**, ISC_QUAD *);
|
2003-11-05 10:02:33 +01:00
|
|
|
|
2004-01-21 08:18:30 +01:00
|
|
|
USHORT DYN_put_text_blob(GBL, const UCHAR**, struct bid*);
|
2003-11-05 10:02:33 +01:00
|
|
|
// This function is not defined anywhere.
|
2003-11-11 13:19:20 +01:00
|
|
|
//USHORT DYN_put_text_blob2(GBL, const UCHAR**, ISC_QUAD *);
|
2003-11-05 10:02:33 +01:00
|
|
|
|
2003-10-03 03:53:34 +02:00
|
|
|
void DYN_rundown_request(BLK, SSHORT);
|
2003-11-05 10:02:33 +01:00
|
|
|
USHORT DYN_skip_attribute(const UCHAR**);
|
|
|
|
|
|
|
|
// This function is not defined anywhere.
|
|
|
|
//USHORT DYN_skip_attribute2(const UCHAR**);
|
|
|
|
|
2003-10-03 03:53:34 +02:00
|
|
|
void DYN_unsupported_verb(void);
|
2001-05-23 15:26:42 +02:00
|
|
|
|
2003-10-03 03:53:34 +02:00
|
|
|
#endif // JRD_DYN_H
|
2003-09-09 13:07:19 +02:00
|
|
|
|