2 ** DB-specific settings for database initialization script.
7 // Define common macros for uncommon data types
8 // and database syntax type
11 #define DB_SYNTAX 'MSSQL'
13 #define SQL_TEXT_TEXT 'text'
14 #define SQL_TEXT4K varchar(4000)
15 #define SQL_INT64 bigint
16 #define SQL_INT64_TEXT 'bigint'
18 #define CRLF char(13)+char(10)
21 #elif defined(DB_POSTGRESQL)
23 #define DB_SYNTAX 'PGSQL'
25 #define SQL_TEXT_TEXT 'text'
26 #define SQL_TEXT4K varchar(4000)
27 #define SQL_INT64 bigint
28 #define SQL_INT64_TEXT 'bigint'
30 #define CRLF '\015\012'
33 #elif defined(DB_ORACLE)
35 #define DB_SYNTAX 'ORACLE'
37 #define SQL_TEXT_TEXT 'clob'
38 #define SQL_TEXT4K varchar(4000)
39 #define SQL_INT64 number(20)
40 #define SQL_INT64_TEXT 'number(20)'
42 #define CRLF chr(13)||chr(10)
45 #elif defined(DB_SQLITE)
47 #define DB_SYNTAX 'SQLITE'
48 #define SQL_TEXT varchar
49 #define SQL_TEXT_TEXT 'varchar'
50 #define SQL_TEXT4K varchar(4000)
51 #define SQL_INT64 number(20)
52 #define SQL_INT64_TEXT 'number(20)'
54 #define CRLF char(13,10)
57 #elif defined(DB_MYSQL)
59 #define DB_SYNTAX 'MYSQL'
61 #define SQL_TEXT_TEXT 'text'
62 #define SQL_TEXT4K text
63 #define SQL_INT64 bigint
64 #define SQL_INT64_TEXT 'bigint'
71 #define DB_SYNTAX 'DB2'
72 #define SQL_TEXT LONG VARCHAR
73 #define SQL_TEXT_TEXT 'LONG VARCHAR'
74 #define SQL_TEXT4K varchar(4000)
75 #define SQL_INT64 BIGINT
76 #define SQL_INT64_TEXT 'BIGINT'
78 #define CRLF chr(13)||chr(10)
83 #error Database type should be defined
87 #if defined(DB_POSTGRESQL) || defined(DB_ORACLE)
88 # define COMMENT_TABLE(name, text) COMMENT ON TABLE name IS text;
89 # define COMMENT_COLUMN(name, text) COMMENT ON COLUMN name IS text;
91 # define COMMENT_TABLE(name, text)
92 # define COMMENT_COLUMN(name, text)
96 # define COMMENT_INDEX(name, text) COMMENT ON INDEX name IS text;
98 # define COMMENT_INDEX(name, text)