GRASS Programmer's Manual
6.4.2(2012)
|
00001 #include <grass/dbmi.h> 00002 00009 void db_interval_range(int sqltype, int *from, int *to) 00010 { 00011 switch (sqltype) { 00012 case DB_SQL_TYPE_DATE: 00013 *from = DB_YEAR; 00014 *to = DB_DAY; 00015 return; 00016 case DB_SQL_TYPE_TIME: 00017 *from = DB_HOUR; 00018 *to = DB_FRACTION; 00019 return; 00020 } 00021 00022 if (sqltype & DB_YEAR) 00023 *from = DB_YEAR; 00024 else if (sqltype & DB_MONTH) 00025 *from = DB_MONTH; 00026 else if (sqltype & DB_DAY) 00027 *from = DB_DAY; 00028 else if (sqltype & DB_HOUR) 00029 *from = DB_HOUR; 00030 else if (sqltype & DB_MINUTE) 00031 *from = DB_MINUTE; 00032 else if (sqltype & DB_SECOND) 00033 *from = DB_SECOND; 00034 else if (sqltype & DB_FRACTION) 00035 *from = DB_FRACTION; 00036 else 00037 *from = 0; 00038 00039 if (sqltype & DB_FRACTION) 00040 *to = DB_FRACTION; 00041 else if (sqltype & DB_SECOND) 00042 *to = DB_SECOND; 00043 else if (sqltype & DB_MINUTE) 00044 *to = DB_MINUTE; 00045 else if (sqltype & DB_HOUR) 00046 *to = DB_HOUR; 00047 else if (sqltype & DB_DAY) 00048 *to = DB_DAY; 00049 else if (sqltype & DB_MONTH) 00050 *to = DB_MONTH; 00051 else if (sqltype & DB_YEAR) 00052 *to = DB_YEAR; 00053 else 00054 *to = 0; 00055 }