]> err.no Git - mapper/blob - src/osm-sql-tables.h
More map widget integration changes
[mapper] / src / osm-sql-tables.h
1 #ifndef _OSM_SQL_TABLES
2 #define _OSM_SQL_TABLES
3
4
5 /**
6  * SQL Table and index definitions
7  *
8  */
9
10 #define OSM_TABLE_NODES "create table IF NOT EXISTS nodes ( \
11         nid     int primary key, \
12         ilat    int not null, \
13         ilon    int not null, \
14         rlat    real not null, \
15         rlon    real not null, \
16         l       int not null default 0, \
17         f       int not null default 0);"
18
19 #define OSM_TABLE_NODE_TAGS "create table IF NOT EXISTS node_tags ( \
20         nid     int not null, t text);"
21
22 #define OSM_TABLE_WAY "create table IF NOT EXISTS way ( \
23         wid             int primary key, \
24         type    int not null, \
25         nodes   int not null, \
26         flags   int not null, \
27         speed   int not null default 0, \
28         isin_c  int not null default 0, \
29         isin_p  int not null default 0, \
30         lat             real not null, \
31         lon             real not null);"
32
33 #define OSM_TABLE_WAY_TAGS "create table IF NOT EXISTS way_tags ( \
34         wid int not null, \
35         t text);"
36
37 #define OSM_TABLE_WAY_UPDATES "create table IF NOT EXISTS way_updates ( \
38         wid             int primary key, \
39         utime   int not null, \
40         notes   text);"
41
42 #define OSM_TABLE_WAY_N2N "create table IF NOT EXISTS way_n2n ( \
43         wid             int not null, \
44         f               int not null, \
45         t               int not null);"
46
47 #define OSM_TABLE_WAY_NAMES "create table IF NOT EXISTS way_names ( \
48         wid             int primary key, \
49         name    varchar(256), \
50         norm    varchar(256));"
51
52 #define OSM_TABLE_WAY_PC "create table IF NOT EXISTS way_pc ( \
53         wid             int primary key, \
54         pc              varchar(256));"
55
56 #define OSM_TABLE_WAY_NAMES_NLS "create table IF NOT EXISTS way_names_nls ( \
57         wid             int not null, \
58         lang    char(4) not null, \
59         name    varchar(256), \
60         norm    varchar(256));"
61
62 #define OSM_TABLE_WAY_REF "create table IF NOT EXISTS way_ref ( \
63         rid             int primary key, \
64         ref             varchar(32), \
65         int_ref varchar(32));"
66
67 #define OSM_TABLE_PLACES "create table IF NOT EXISTS places ( \
68         nid             int primary key, \
69         type    int not null, \
70         name    text, \
71         isin_p  int not null, \
72         isin_c  int not null);"
73
74 #define OSM_TABLE_POI "create table IF NOT EXISTS poi ( \
75         poi_id  INTEGER PRIMARY KEY AUTOINCREMENT, \
76         lat             real not null, \
77         lon             real not null, \
78         elev    real default 0.0, \
79         label   text, \
80         desc    text, \
81         url             text, \
82         postal_code text, \
83         public  int default 1, \
84         source  int default 0, \
85         cat_id  int, \
86         osm_id  int default 0, \
87         isin_p  int default 0, \
88         isin_c  int default 0, \
89         priority int default 2, \
90         addtime int default 0);"
91
92 #define OSM_TABLE_POI_CATEGORY "create table IF NOT EXISTS category ( \
93         cat_id          INTEGER PRIMARY KEY AUTOINCREMENT, \
94         pcat_id         int not null default 0, \
95         priority        int not null default 2, \
96         label           text, \
97         desc            text, \
98         color           char(6) not null default '#AAAA40', \
99         icon            varchar(32), \
100         enabled         int not null default 1);"
101
102 /* Indexes */
103 #define OSM_INDEX_1 "CREATE UNIQUE INDEX IF NOT EXISTS poi_lat_lon_idx on poi (lat, lon, cat_id);"
104 #define OSM_INDEX_2 "CREATE INDEX IF NOT EXISTS poi_priority on poi (priority);"
105 #define OSM_INDEX_18 "CREATE INDEX IF NOT EXISTS poi_cat on poi (cat_id);"
106
107 /* Nodes */
108 #define OSM_INDEX_3 "CREATE INDEX IF NOT EXISTS node_rlat_idx on nodes (rlat);"
109 #define OSM_INDEX_4 "CREATE INDEX IF NOT EXISTS node_rlon_idx on nodes (rlon);"
110 #define OSM_INDEX_5 "CREATE INDEX IF NOT EXISTS node_ilat_idx on nodes (ilat);"
111 #define OSM_INDEX_6 "CREATE INDEX IF NOT EXISTS node_ilon_idx on nodes (ilon);"
112
113 /* Ways */
114 #define OSM_INDEX_7 "CREATE INDEX IF NOT EXISTS way_name_idx on way_names (name);"
115 #define OSM_INDEX_8 "CREATE INDEX IF NOT EXISTS way_norm_name_idx on way_names (norm);"
116 #define OSM_INDEX_9 "CREATE INDEX IF NOT EXISTS way_name_nls_id_idx on way_names_nls (wid);"
117 #define OSM_INDEX_10 "CREATE INDEX IF NOT EXISTS way_name_nls_name_idx on way_names_nls (name);"
118 #define OSM_INDEX_11 "CREATE INDEX IF NOT EXISTS way_norm_nls_name_idx on way_names_nls (norm);"
119 #define OSM_INDEX_12 "CREATE INDEX IF NOT EXISTS way_ref_idx on way_ref (ref);"
120 #define OSM_INDEX_13 "CREATE INDEX IF NOT EXISTS way_n2n_wid_idx on way_n2n (wid);"
121 #define OSM_INDEX_14 "CREATE INDEX IF NOT EXISTS way_n2n_f_idx on way_n2n (f);"
122 #define OSM_INDEX_15 "CREATE INDEX IF NOT EXISTS way_n2n_t_idx on way_n2n (t);"
123
124 /* Places */
125 #define OSM_INDEX_16 "CREATE INDEX IF NOT EXISTS place_type_idx on places(type);"
126 #define OSM_INDEX_17 "CREATE INDEX IF NOT EXISTS place_name_idx on places(name);"
127
128 #endif