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