GRASS 8 Programmer's Manual 8.6.0dev(2026)-d2adb3a889
Loading...
Searching...
No Matches
sqlCtype.c
Go to the documentation of this file.
1/*!
2 \file lib/db/dbmi_base/sqlCtype.c
3
4 \brief DBMI Library (base) - SQL data type to C data type
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 Get C data type based on given SQL data type
17
18 \param sqltype SQL data type
19
20 \return related C data type
21 */
23{
24 switch (sqltype) {
26 return DB_C_TYPE_INT;
28 return DB_C_TYPE_INT;
30 return DB_C_TYPE_DOUBLE;
32 return DB_C_TYPE_DOUBLE;
34 return DB_C_TYPE_INT;
35 }
36
37 switch (sqltype & ~DB_DATETIME_MASK) {
42 return DB_C_TYPE_DATETIME;
43 }
44
45 return DB_C_TYPE_STRING;
46}
Main header of GRASS DataBase Management Interface.
#define DB_SQL_TYPE_TIME
Definition dbmi.h:87
#define DB_SQL_TYPE_INTEGER
Definition dbmi.h:81
#define DB_SQL_TYPE_SMALLINT
Definition dbmi.h:80
#define DB_DATETIME_MASK
Definition dbmi.h:102
#define DB_SQL_TYPE_INTERVAL
Definition dbmi.h:89
#define DB_C_TYPE_INT
Definition dbmi.h:106
#define DB_SQL_TYPE_REAL
Definition dbmi.h:82
#define DB_SQL_TYPE_DOUBLE_PRECISION
Definition dbmi.h:83
#define DB_C_TYPE_STRING
Definition dbmi.h:105
#define DB_SQL_TYPE_DATE
Definition dbmi.h:86
#define DB_C_TYPE_DOUBLE
Definition dbmi.h:107
#define DB_SQL_TYPE_SERIAL
Definition dbmi.h:92
#define DB_C_TYPE_DATETIME
Definition dbmi.h:108
#define DB_SQL_TYPE_TIMESTAMP
Definition dbmi.h:88
int db_sqltype_to_Ctype(int sqltype)
Get C data type based on given SQL data type.
Definition sqlCtype.c:22