1 /*
2  * Copyright (C) 2006 - 2007 Murray Cumming <murrayc@murrayc.com>
3  * Copyright (C) 2006 - 2011 Vivien Malerba <malerba@gnome-db.org>
4  *
5  * This library is free software; you can redistribute it and/or
6  * modify it under the terms of the GNU Lesser General Public
7  * License as published by the Free Software Foundation; either
8  * version 2 of the License, or (at your option) any later version.
9  *
10  * This library is distributed in the hope that it will be useful,
11  * but WITHOUT ANY WARRANTY; without even the implied warranty of
12  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
13  * Lesser General Public License for more details.
14  *
15  * You should have received a copy of the GNU Lesser General Public
16  * License along with this library; if not, write to the
17  * Free Software Foundation, Inc., 51 Franklin St, Fifth Floor,
18  * Boston, MA  02110-1301, USA.
19  */
20 
21 #ifndef __GDA_ENUMS__
22 #define __GDA_ENUMS__
23 
24 /* Isolation state of a transaction */
25 typedef enum {
26 	GDA_TRANSACTION_ISOLATION_UNKNOWN,
27 	GDA_TRANSACTION_ISOLATION_READ_COMMITTED,
28 	GDA_TRANSACTION_ISOLATION_READ_UNCOMMITTED,
29 	GDA_TRANSACTION_ISOLATION_REPEATABLE_READ,
30 	GDA_TRANSACTION_ISOLATION_SERIALIZABLE
31 } GdaTransactionIsolation;
32 
33 /* status of a value */
34 typedef enum  {
35 	GDA_VALUE_ATTR_NONE           = 0,
36         GDA_VALUE_ATTR_IS_NULL        = 1 << 0,
37         GDA_VALUE_ATTR_CAN_BE_NULL    = 1 << 1,
38         GDA_VALUE_ATTR_IS_DEFAULT     = 1 << 2,
39         GDA_VALUE_ATTR_CAN_BE_DEFAULT = 1 << 3,
40         GDA_VALUE_ATTR_IS_UNCHANGED   = 1 << 4,
41         GDA_VALUE_ATTR_ACTIONS_SHOWN  = 1 << 5,
42         GDA_VALUE_ATTR_DATA_NON_VALID = 1 << 6,
43         GDA_VALUE_ATTR_HAS_VALUE_ORIG = 1 << 7,
44 	GDA_VALUE_ATTR_NO_MODIF       = 1 << 8,
45 	GDA_VALUE_ATTR_UNUSED         = 1 << 9
46 } GdaValueAttribute;
47 
48 /* how SQL identifiers are represented */
49 /**
50  * GdaSqlIdentifierStyle:
51  * @GDA_SQL_IDENTIFIERS_LOWER_CASE: case insensitive SQL identifiers are represented in lower case (meaning that any SQL identifier which has a non lower case character is case sensitive)
52  * @GDA_SQL_IDENTIFIERS_UPPER_CASE: case insensitive SQL identifiers are represented in upper case (meaning that any SQL identifier which has a non upper case character is case sensitive)
53  *
54  * Specifies how SQL identifiers are represented by a specific database
55  */
56 typedef enum {
57 	GDA_SQL_IDENTIFIERS_LOWER_CASE = 1 << 0,
58 	GDA_SQL_IDENTIFIERS_UPPER_CASE = 1 << 1
59 } GdaSqlIdentifierStyle;
60 
61 /* possible different keywords used when qualifying a table's column's extra attributes */
62 #define GDA_EXTRA_AUTO_INCREMENT "AUTO_INCREMENT"
63 
64 #endif
65 
66 
67 
68