2001-05-23 15:26:42 +02:00
|
|
|
/*
|
|
|
|
* PROGRAM: JRD Access Method
|
|
|
|
* MODULE: constants.h
|
|
|
|
* DESCRIPTION: Misc system constants
|
|
|
|
*
|
|
|
|
* 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): ______________________________________.
|
2002-06-29 15:03:13 +02:00
|
|
|
*
|
|
|
|
* 2001.10.08 Claudio Valderrama: frb_sysflag enum with numbering
|
|
|
|
* for automatically created triggers that aren't system triggers.
|
2001-05-23 15:26:42 +02:00
|
|
|
*/
|
|
|
|
|
2003-10-03 03:34:14 +02:00
|
|
|
#ifndef JRD_CONSTANTS_H
|
|
|
|
#define JRD_CONSTANTS_H
|
2001-05-23 15:26:42 +02:00
|
|
|
|
|
|
|
/* BLOb Subtype definitions */
|
|
|
|
|
|
|
|
/* Subtypes < 0 are user defined
|
|
|
|
* Subtype 0 means "untyped"
|
|
|
|
* Subtypes > 0 are InterBase defined
|
|
|
|
*/
|
|
|
|
|
2004-04-29 19:48:39 +02:00
|
|
|
// BRS 29-Apr-2004
|
|
|
|
// replace those constants with public defined ones isc_blob_*
|
|
|
|
//
|
|
|
|
//const int BLOB_untyped = 0;
|
|
|
|
//
|
|
|
|
//const int BLOB_text = 1;
|
|
|
|
//const int BLOB_blr = 2;
|
|
|
|
//const int BLOB_acl = 3;
|
|
|
|
//const int BLOB_ranges = 4;
|
|
|
|
//const int BLOB_summary = 5;
|
|
|
|
//const int BLOB_format = 6;
|
|
|
|
//const int BLOB_tra = 7;
|
|
|
|
//const int BLOB_extfile = 8;
|
|
|
|
//const int BLOB_max_predefined_subtype = 9;
|
|
|
|
//
|
2001-05-23 15:26:42 +02:00
|
|
|
|
|
|
|
/* Column Limits */
|
|
|
|
|
2004-04-29 16:51:02 +02:00
|
|
|
const ULONG MAX_COLUMN_SIZE = 32767; /* Bytes */
|
2001-05-23 15:26:42 +02:00
|
|
|
|
|
|
|
/* Misc constant values */
|
|
|
|
|
2004-04-29 16:51:02 +02:00
|
|
|
const int USERNAME_LENGTH = 31; /* Bytes */
|
2004-11-11 06:37:52 +01:00
|
|
|
|
|
|
|
// Maximum length of database file name. Since it is stored in system tables and
|
|
|
|
// clumplet structures it is highly non-trivial to increase
|
|
|
|
const int DATABASE_NAME_LENGTH = 255; /* Bytes */
|
2001-05-23 15:26:42 +02:00
|
|
|
|
2004-02-13 12:15:49 +01:00
|
|
|
const size_t MAX_SQL_IDENTIFIER_SIZE = 32;
|
|
|
|
const size_t MAX_SQL_IDENTIFIER_LEN = 31;
|
2003-11-05 10:02:33 +01:00
|
|
|
typedef TEXT SqlIdentifier[MAX_SQL_IDENTIFIER_SIZE];
|
|
|
|
|
2004-03-28 11:10:30 +02: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
|
|
|
/* literal strings in rdb$ref_constraints to be used to identify
|
|
|
|
the cascade actions for referential constraints. Used
|
|
|
|
by isql/show and isql/extract for now. */
|
|
|
|
|
2003-11-05 10:02:33 +01:00
|
|
|
const char* const RI_ACTION_CASCADE = "CASCADE";
|
|
|
|
const char* const RI_ACTION_NULL = "SET NULL";
|
|
|
|
const char* const RI_ACTION_DEFAULT = "SET DEFAULT";
|
|
|
|
const char* const RI_ACTION_NONE = "NO ACTION";
|
|
|
|
const char* const RI_RESTRICT = "RESTRICT";
|
|
|
|
|
|
|
|
const char* const IMPLICIT_DOMAIN_PREFIX = "RDB$";
|
|
|
|
const int IMPLICIT_DOMAIN_PREFIX_LEN = 4;
|
2001-05-23 15:26:42 +02:00
|
|
|
|
2004-03-28 11:10:30 +02:00
|
|
|
const char* const SQL_SECCLASS_PREFIX = "SQL$";
|
|
|
|
const int SQL_SECCLASS_PREFIX_LEN = 4;
|
|
|
|
|
2001-05-23 15:26:42 +02:00
|
|
|
|
2002-06-29 15:03:13 +02:00
|
|
|
/******************************************/
|
|
|
|
/* System flag meaning - mainly Firebird. */
|
|
|
|
/******************************************/
|
|
|
|
|
|
|
|
enum frb_sysflag {
|
|
|
|
frb_sysflag_user = 0,
|
|
|
|
frb_sysflag_system = 1,
|
|
|
|
frb_sysflag_qli = 2,
|
|
|
|
frb_sysflag_check_constraint = 3,
|
|
|
|
frb_sysflag_referential_constraint = 4,
|
|
|
|
frb_sysflag_view_check = 5
|
|
|
|
};
|
|
|
|
|
2001-05-23 15:26:42 +02:00
|
|
|
|
|
|
|
/* UDF Arguments are numbered from 0 to MAX_UDF_ARGUMENTS --
|
2002-06-29 15:03:13 +02:00
|
|
|
argument 0 is reserved for the return-type of the UDF */
|
2001-05-23 15:26:42 +02:00
|
|
|
|
2004-04-29 16:51:02 +02:00
|
|
|
const int MAX_UDF_ARGUMENTS = 10;
|
2001-05-23 15:26:42 +02:00
|
|
|
|
2003-09-28 23:36:05 +02:00
|
|
|
// Maximum length of single line returned from pretty printer
|
2004-04-29 16:51:02 +02:00
|
|
|
const int PRETTY_BUFFER_SIZE = 1024;
|
2003-09-28 23:36:05 +02:00
|
|
|
|
2004-04-29 16:51:02 +02:00
|
|
|
const int MAX_INDEX_SEGMENTS = 16;
|
2003-10-17 22:29:52 +02:00
|
|
|
|
2003-11-03 18:14:45 +01:00
|
|
|
// Maximum index key length
|
2003-12-01 03:37:25 +01:00
|
|
|
// AB: If the maximum key-size will change, don't forget dyn.h and dba.epp
|
|
|
|
// which cannot use these defines.
|
2004-04-29 16:51:02 +02:00
|
|
|
const int MAX_KEY = 4096; // Maximum page size possible divide by 4 (16384 / 4)
|
|
|
|
const int MAX_KEY_PRE_ODS11 = 255; // Max key-size before ODS11
|
2003-11-03 18:14:45 +01:00
|
|
|
|
2004-05-06 20:09:24 +02:00
|
|
|
const char SQL_MATCH_1_CHAR = '_'; /* Not translatable */
|
|
|
|
const char SQL_MATCH_ANY_CHARS = '%'; /* Not translatable */
|
2003-12-27 05:37:23 +01:00
|
|
|
|
2004-02-20 07:43:27 +01:00
|
|
|
#endif // JRD_CONSTANTS_H
|
2003-10-17 22:29:52 +02:00
|
|
|
|