GRASS 8 Programmer's Manual 8.6.0dev(2026)-4bb960b182
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 SPDX-FileCopyrightText: 1999-2009, 2011 GRASS Development Team
7 SPDX-License-Identifier: GPL-2.0-or-later
8
9 \author Joel Jones (CERL/UIUC), Radim Blazek
10 \author Doxygenized by Martin Landa <landa.martin gmail.com> (2011)
11 */
12
13#include <grass/dbmi.h>
14
15/*!
16 \brief Define range based on SQL data type
17
18 \param sqltype SQL data type
19 \param[out] from
20 \param[out] to
21 */
22void db_interval_range(int sqltype, int *from, int *to)
23{
24 switch (sqltype) {
26 *from = DB_YEAR;
27 *to = DB_DAY;
28 return;
30 *from = DB_HOUR;
31 *to = DB_FRACTION;
32 return;
33 }
34
35 if (sqltype & DB_YEAR)
36 *from = DB_YEAR;
37 else if (sqltype & DB_MONTH)
38 *from = DB_MONTH;
39 else if (sqltype & DB_DAY)
40 *from = DB_DAY;
41 else if (sqltype & DB_HOUR)
42 *from = DB_HOUR;
43 else if (sqltype & DB_MINUTE)
44 *from = DB_MINUTE;
45 else if (sqltype & DB_SECOND)
46 *from = DB_SECOND;
47 else if (sqltype & DB_FRACTION)
48 *from = DB_FRACTION;
49 else
50 *from = 0;
51
52 if (sqltype & DB_FRACTION)
53 *to = DB_FRACTION;
54 else if (sqltype & DB_SECOND)
55 *to = DB_SECOND;
56 else if (sqltype & DB_MINUTE)
57 *to = DB_MINUTE;
58 else if (sqltype & DB_HOUR)
59 *to = DB_HOUR;
60 else if (sqltype & DB_DAY)
61 *to = DB_DAY;
62 else if (sqltype & DB_MONTH)
63 *to = DB_MONTH;
64 else if (sqltype & DB_YEAR)
65 *to = DB_YEAR;
66 else
67 *to = 0;
68}
Main header of GRASS DataBase Management Interface.
#define DB_FRACTION
Definition dbmi.h:101
#define DB_SQL_TYPE_TIME
Definition dbmi.h:87
#define DB_MINUTE
Definition dbmi.h:99
#define DB_MONTH
Definition dbmi.h:96
#define DB_YEAR
Definition dbmi.h:95
#define DB_SQL_TYPE_DATE
Definition dbmi.h:86
#define DB_HOUR
Definition dbmi.h:98
#define DB_DAY
Definition dbmi.h:97
#define DB_SECOND
Definition dbmi.h:100
void db_interval_range(int sqltype, int *from, int *to)
Define range based on SQL data type.
Definition interval.c:22