Tizen 2.0 Release
[framework/web/wrt-commons.git] / modules / db / include / dpl / db / orm_macros.h
1 /*
2  * Copyright (c) 2011 Samsung Electronics Co., Ltd All Rights Reserved
3  *
4  *    Licensed under the Apache License, Version 2.0 (the "License");
5  *    you may not use this file except in compliance with the License.
6  *    You may obtain a copy of the License at
7  *
8  *        http://www.apache.org/licenses/LICENSE-2.0
9  *
10  *    Unless required by applicable law or agreed to in writing, software
11  *    distributed under the License is distributed on an "AS IS" BASIS,
12  *    WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13  *    See the License for the specific language governing permissions and
14  *    limitations under the License.
15  */
16 /*
17  * @file        orm_macros.h
18  * @author      Bartosz Janiak (b.janiak@samsung.com)
19  * @version     1.0
20  * @brief       Macro definitions for generating the SQL input file from
21  * database definition.
22  */
23
24 //Do not include this file directly! It is used only for SQL code generation.
25
26 #define CREATE_TABLE(name) CREATE TABLE name(
27 #define COLUMN(name, type, ...) name type __VA_ARGS__,
28 #define COLUMN_NOT_NULL(name, type, ...) name type __VA_ARGS__ not null,
29 #define SQL(...) __VA_ARGS__
30 #define TABLE_CONSTRAINTS(...) __VA_ARGS__,
31 #define CREATE_TABLE_END() CHECK(1) );
32 #define DATABASE_START(db_name)
33 #define DATABASE_END()
34