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