26 #ifndef _DBTYPE_DEF_H_ 27 #define _DBTYPE_DEF_H_ 44 #if defined (__GNUC__) && defined (NDEBUG) 45 #define ALWAYS_INLINE always_inline 50 #if !defined (__GNUC__) 51 #define __attribute__(X) 54 #if defined (__cplusplus) 157 #define DB_AUTH_ALL \ 158 ((DB_AUTH) (DB_AUTH_SELECT | DB_AUTH_INSERT | DB_AUTH_UPDATE | DB_AUTH_DELETE | \ 159 DB_AUTH_ALTER | DB_AUTH_INDEX | DB_AUTH_EXECUTE)) 162 #define DB_QUERY_ERROR_LINE(error) ((error)->err_lineno) 163 #define DB_QUERY_ERROR_CHAR(error) ((error)->err_posno) 166 #define DB_CURSOR_SUCCESS 0 167 #define DB_CURSOR_END 1 168 #define DB_CURSOR_ERROR -1 170 #define DB_IS_CONSTRAINT_UNIQUE_FAMILY(c) \ 171 ( ((c) == DB_CONSTRAINT_UNIQUE || (c) == DB_CONSTRAINT_REVERSE_UNIQUE || (c) == DB_CONSTRAINT_PRIMARY_KEY) ? true : false ) 173 #define DB_IS_CONSTRAINT_INDEX_FAMILY(c) \ 174 ( (DB_IS_CONSTRAINT_UNIQUE_FAMILY(c) || (c) == DB_CONSTRAINT_INDEX || (c) == DB_CONSTRAINT_REVERSE_INDEX \ 175 || (c) == DB_CONSTRAINT_FOREIGN_KEY) ? true : false ) 177 #define DB_IS_CONSTRAINT_REVERSE_INDEX_FAMILY(c) \ 178 ( ((DB_CONSTRAINT_TYPE) (c) == DB_CONSTRAINT_REVERSE_UNIQUE || (DB_CONSTRAINT_TYPE) (c) == DB_CONSTRAINT_REVERSE_INDEX) \ 181 #define DB_IS_CONSTRAINT_FAMILY(c) \ 182 ( (DB_IS_CONSTRAINT_UNIQUE_FAMILY(c) || (c) == DB_CONSTRAINT_NOT_NULL || (c) == DB_CONSTRAINT_FOREIGN_KEY) ? true : false ) 210 #define DB_INT_TO_COMPARE_RESULT(c) ((c) == 0 ? DB_EQ : ((c) > 0 ? DB_GT : DB_LT)) 483 #define DB_EMPTY_SESSION 0 486 #define DB_ROW_COUNT_NOT_SET -2 495 #define DB_MAX_IDENTIFIER_LENGTH 255 498 #define DB_MAX_USER_LENGTH 32 500 #define DB_MAX_PASSWORD_LENGTH 8 503 #define DB_MAX_SCHEMA_LENGTH DB_MAX_USER_LENGTH 506 #define DB_MAX_CLASS_LENGTH (DB_MAX_IDENTIFIER_LENGTH-DB_MAX_SCHEMA_LENGTH-4) 508 #define DB_MAX_SPEC_LENGTH (0x3FFFFFFF) 511 #define DB_MAX_CLASS_COMMENT_LENGTH 2048 513 #define DB_MAX_COMMENT_LENGTH 1024 516 #define DB_MAX_STRING_LENGTH 0x3fffffff 519 #define DB_MAX_BIT_LENGTH 0x3fffffff 522 #define DB_MAX_NUMERIC_PRECISION 38 525 #define DB_NUMERIC_OVERFLOW_LIMIT 1e38 528 #define DB_NUMERIC_UNDERFLOW_LIMIT 1e-38 533 #define DB_MAX_CHAR_PRECISION (DB_MAX_STRING_LENGTH/4) 536 #define DB_MAX_VARCHAR_PRECISION DB_MAX_STRING_LENGTH 541 #define DB_MAX_NCHAR_PRECISION (DB_MAX_STRING_LENGTH/2) 546 #define DB_MAX_VARNCHAR_PRECISION DB_MAX_NCHAR_PRECISION 549 #define DB_MAX_BIT_PRECISION DB_MAX_BIT_LENGTH 552 #define DB_MAX_VARBIT_PRECISION DB_MAX_BIT_PRECISION 555 #define DB_DEFAULT_STRING_LENGTH -1 558 #define DB_DEFAULT_PRECISION -1 561 #define DB_DEFAULT_SCALE -1 564 #define DB_DEFAULT_NUMERIC_PRECISION 15 567 #define DB_DEFAULT_NUMERIC_SCALE 0 570 #define DB_DEFAULT_NUMERIC_DIVISION_SCALE 9 573 #define DB_NUMERIC_BUF_SIZE (2*sizeof(double)) 574 #define DB_SMALL_CHAR_BUF_SIZE (2*sizeof(double) - 3*sizeof(unsigned char)) 577 #define DB_BIGINT_PRECISION 19 580 #define DB_INTEGER_PRECISION 10 583 #define DB_SMALLINT_PRECISION 5 586 #define DB_SHORT_PRECISION DB_SMALLINT_PRECISION 589 #define DB_FLOAT_DECIMAL_PRECISION 7 592 #define DB_DOUBLE_DECIMAL_PRECISION 15 595 #define DB_MONETARY_DECIMAL_PRECISION DB_DOUBLE_DECIMAL_PRECISION 598 #define DB_TIME_PRECISION 8 601 #define DB_DATE_PRECISION 10 604 #define DB_TIMESTAMP_PRECISION 19 607 #define DB_TIMESTAMPTZ_PRECISION DB_TIMESTAMP_PRECISION 610 #define DB_DATETIME_PRECISION 23 613 #define DB_DATETIMETZ_PRECISION DB_DATETIME_PRECISION 616 #define DB_DATETIME_DECIMAL_SCALE 3 619 #define DB_MAX_PARTITION_EXPR_LENGTH 2048 624 #define DB_UNCOMPRESSABLE -1 627 #define DB_NOT_YET_COMPRESSED 0 629 #define DB_INT16_MIN (-(DB_INT16_MAX)-1) 630 #define DB_INT16_MAX 0x7FFF 631 #define DB_UINT16_MAX 0xFFFFU 632 #define DB_INT32_MIN (-(DB_INT32_MAX)-1) 633 #define DB_INT32_MAX 0x7FFFFFFF 634 #define DB_UINT32_MIN 0 635 #define DB_UINT32_MAX 0xFFFFFFFFU 636 #if (__WORDSIZE == 64) || defined(_WIN64) 637 #define DB_BIGINT_MAX 9223372036854775807L 638 #define DB_BIGINT_MIN (-DB_BIGINT_MAX - 1L) 640 #define DB_BIGINT_MAX 9223372036854775807LL 641 #define DB_BIGINT_MIN (-DB_BIGINT_MAX - 1LL) 643 #define DB_ENUM_ELEMENTS_MAX 512 645 #define DB_ENUM_OVERFLOW_VAL 0xFFFF 648 #define DB_DATE_ZERO DB_UINT32_MIN 649 #define DB_DATE_MIN 1721424 650 #define DB_DATE_MAX 5373484 652 #define DB_TIME_MIN DB_UINT32_MIN 653 #define DB_TIME_MAX DB_UINT32_MAX 655 #define DB_UTIME_ZERO DB_DATE_ZERO 656 #define DB_UTIME_MIN (DB_UTIME_ZERO + 1) 657 #define DB_UTIME_MAX DB_UINT32_MAX 659 #define NULL_DEFAULT_EXPRESSION_OPERATOR (-1) 661 #define DB_IS_DATETIME_DEFAULT_EXPR(v) ((v) == DB_DEFAULT_SYSDATE || \ 662 (v) == DB_DEFAULT_CURRENTTIME || (v) == DB_DEFAULT_CURRENTDATE || \ 663 (v) == DB_DEFAULT_SYSDATETIME || (v) == DB_DEFAULT_SYSTIMESTAMP || \ 664 (v) == DB_DEFAULT_UNIX_TIMESTAMP || (v) == DB_DEFAULT_CURRENTDATETIME || \ 665 (v) == DB_DEFAULT_CURRENTTIMESTAMP || (v) == DB_DEFAULT_SYSTIME) 890 #define VFID_INITIALIZER { NULL_FILEID, NULL_VOLID } 892 #define VFID_AS_ARGS(vfidp) (vfidp)->volid, (vfidp)->fileid 894 #define VPID_INITIALIZER { NULL_PAGEID, NULL_VOLID } 896 #define VPID_AS_ARGS(vpidp) (vpidp)->volid, (vpidp)->pageid 899 #define VPID_SET(vpid_ptr, volid_value, pageid_value) \ 901 (vpid_ptr)->volid = (volid_value); \ 902 (vpid_ptr)->pageid = (pageid_value); \ 906 #define VPID_SET_NULL(vpid_ptr) VPID_SET(vpid_ptr, NULL_VOLID, NULL_PAGEID) 909 #define VPID_COPY(dest_ptr, src_ptr) \ 911 *(dest_ptr) = *(src_ptr); \ 915 #define VPID_EQ(vpid_ptr1, vpid_ptr2) \ 916 ((vpid_ptr1) == (vpid_ptr2) \ 917 || ((vpid_ptr1)->pageid == (vpid_ptr2)->pageid && (vpid_ptr1)->volid == (vpid_ptr2)->volid)) 919 #define VPID_LT(vpid_ptr1, vpid_ptr2) \ 920 ((vpid_ptr1) != (vpid_ptr2) \ 921 && ((vpid_ptr1)->volid < (vpid_ptr2)->volid \ 922 || ((vpid_ptr1)->volid == (vpid_ptr2)->volid && (vpid_ptr1)->pageid < (vpid_ptr2)->pageid))) 925 #define VPID_ISNULL(vpid_ptr) ((vpid_ptr)->pageid == NULL_PAGEID) 933 #define VSID_INITIALIZER { NULL_SECTID, NULL_VOLID } 934 #define VSID_AS_ARGS(vsidp) (vsidp)->volid, (vsidp)->sectid 987 unsigned char codeset;
988 unsigned char is_max_string;
989 unsigned char compressed_need_clear;
996 unsigned char codeset;
997 unsigned char is_max_string;
998 unsigned char compressed_need_clear;
1006 unsigned char style;
1007 unsigned char codeset;
1008 unsigned char is_max_string;
1009 unsigned char compressed_need_clear;
DB_TIMESTAMP DB_C_TIMESTAMP
MIN_MAX_COLUMN_INFO min_max_val
DB_COLLECTION DB_MULTISET
struct db_value_list * next
DB_NODE DB_SESSION_WARNING
enum tz_region_type TZ_REGION_TYPE
DB_ENUM_ELEMENT enumeration
DB_DATETIMETZ DB_C_DATETIMETZ
DB_TIMESTAMPTZ DB_C_TIMESTAMPTZ
#define DB_SMALL_CHAR_BUF_SIZE
DB_DATETIME DB_C_DATETIME
DB_COLLECTION DB_C_COLLECTION
DB_DEFAULT_EXPR_TYPE default_expr_type
unsigned int DB_TIMESTAMP
const char * DB_CONST_C_NCHAR
enum db_elo_type DB_ELO_TYPE
const char * DB_CONST_C_BIT
struct db_large_string DB_LARGE_STRING
enum special_column_type MIN_MAX_COLUMN_TYPE
void(* METHOD_LINK_FUNCTION)()
db_class_modification_status
struct db_namelist * next
unsigned char * DB_C_NUMERIC
DB_TIMESTAMPTZ timestamptz
enum db_class_modification_status DB_CLASS_MODIFICATION_STATUS
unsigned char is_max_string
need_clear_type need_clear
DB_IDENTIFIER DB_C_IDENTIFIER
unsigned char compressed_need_clear
const char * default_expr_format
char * obj_Method_error_msg
DB_ENUM_ELEMENT * elements
DB_MONETARY DB_C_MONETARY
#define DB_NUMERIC_BUF_SIZE
const char * DB_CONST_C_CHAR
struct db_objlist * MOPLIST
struct sm_function_index_info DB_FUNCTION_INDEX_INFO