GRASS 8 Programmer's Manual 8.6.0dev(2026)-ddeab64dbf
Loading...
Searching...
No Matches
interval.c
Go to the documentation of this file.
1/*!
2 \file lib/db/dbmi_base/interval.c
3
4 \brief DBMI Library (base) - range, interval procedures
5
6 (C) 1999-2009, 2011 by the GRASS Development Team
7
8 This program is free software under the GNU General Public License
9 (>=v2). Read the file COPYING that comes with GRASS for details.
10
11 \author Joel Jones (CERL/UIUC), Radim Blazek
12 \author Doxygenized by Martin Landa <landa.martin gmail.com> (2011)
13 */
14
15#include <grass/dbmi.h>
16
17/*!
18 \brief Define range based on SQL data type
19
20 \param sqltype SQL data type
21 \param[out] from
22 \param[out] to
23 */
24void db_interval_range(int sqltype, int *from, int *to)
25{
26 switch (sqltype) {
28 *from = DB_YEAR;
29 *to = DB_DAY;
30 return;
32 *from = DB_HOUR;
33 *to = DB_FRACTION;
34 return;
35 }
36
37 if (sqltype & DB_YEAR)
38 *from = DB_YEAR;
39 else if (sqltype & DB_MONTH)
40 *from = DB_MONTH;
41 else if (sqltype & DB_DAY)
42 *from = DB_DAY;
43 else if (sqltype & DB_HOUR)
44 *from = DB_HOUR;
45 else if (sqltype & DB_MINUTE)
46 *from = DB_MINUTE;
47 else if (sqltype & DB_SECOND)
48 *from = DB_SECOND;
49 else if (sqltype & DB_FRACTION)
50 *from = DB_FRACTION;
51 else
52 *from = 0;
53
54 if (sqltype & DB_FRACTION)
55 *to = DB_FRACTION;
56 else if (sqltype & DB_SECOND)
57 *to = DB_SECOND;
58 else if (sqltype & DB_MINUTE)
59 *to = DB_MINUTE;
60 else if (sqltype & DB_HOUR)
61 *to = DB_HOUR;
62 else if (sqltype & DB_DAY)
63 *to = DB_DAY;
64 else if (sqltype & DB_MONTH)
65 *to = DB_MONTH;
66 else if (sqltype & DB_YEAR)
67 *to = DB_YEAR;
68 else
69 *to = 0;
70}
Main header of GRASS DataBase Management Interface.
#define DB_FRACTION
Definition dbmi.h:103
#define DB_SQL_TYPE_TIME
Definition dbmi.h:89
#define DB_MINUTE
Definition dbmi.h:101
#define DB_MONTH
Definition dbmi.h:98
#define DB_YEAR
Definition dbmi.h:97
#define DB_SQL_TYPE_DATE
Definition dbmi.h:88
#define DB_HOUR
Definition dbmi.h:100
#define DB_DAY
Definition dbmi.h:99
#define DB_SECOND
Definition dbmi.h:102
void db_interval_range(int sqltype, int *from, int *to)
Define range based on SQL data type.
Definition interval.c:24