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 }