sqltype.c

Go to the documentation of this file.
00001 #include <string.h>
00002 #include <grass/dbmi.h>
00003 
00009 char *
00010 db_sqltype_name (int sqltype)
00011 
00012 {
00013     static char buf[256];
00014     int from, to;
00015 
00016     switch (sqltype)
00017     {
00018     case DB_SQL_TYPE_CHARACTER:        return "CHARACTER";
00019     case DB_SQL_TYPE_NUMERIC:          return "NUMERIC";
00020     case DB_SQL_TYPE_DECIMAL:          return "DECIMAL";
00021     case DB_SQL_TYPE_SMALLINT:         return "SMALLINT";
00022     case DB_SQL_TYPE_INTEGER:          return "INTEGER";
00023     case DB_SQL_TYPE_REAL:             return "REAL";
00024     case DB_SQL_TYPE_DOUBLE_PRECISION: return "DOUBLE PRECISION";
00025     case DB_SQL_TYPE_DATE:             return "DATE";
00026     case DB_SQL_TYPE_TIME:             return "TIME";
00027     case DB_SQL_TYPE_SERIAL:           return "SERIAL";
00028     case DB_SQL_TYPE_TEXT:             return "TEXT";
00029     }
00030     switch (sqltype & ~DB_DATETIME_MASK)
00031     {
00032     case DB_SQL_TYPE_TIMESTAMP: strcpy(buf,"TIMESTAMP "); break;
00033     case DB_SQL_TYPE_INTERVAL:  strcpy(buf,"INTERVAL "); break;
00034     default:                    return "UNKNOWN";
00035     }
00036 
00037     db_interval_range (sqltype, &from, &to);
00038 
00039     switch (from)
00040     {
00041     case DB_YEAR:     strcat (buf, "YEAR"); break;
00042     case DB_MONTH:    strcat (buf, "MONTH"); break;
00043     case DB_DAY:      strcat (buf, "DAY"); break;
00044     case DB_HOUR:     strcat (buf, "HOUR"); break;
00045     case DB_MINUTE:   strcat (buf, "MINUTE"); break;
00046     case DB_SECOND:   strcat (buf, "SECOND"); break;
00047     case DB_FRACTION: strcat (buf, "FRACTION"); break;
00048     }
00049 
00050     if (from)
00051         strcat (buf, " to");
00052     if (to)
00053         strcat (buf, " ");
00054 
00055     switch (to)
00056     {
00057     case DB_YEAR:     strcat (buf, "YEAR"); break;
00058     case DB_MONTH:    strcat (buf, "MONTH"); break;
00059     case DB_DAY:      strcat (buf, "DAY"); break;
00060     case DB_HOUR:     strcat (buf, "HOUR"); break;
00061     case DB_MINUTE:   strcat (buf, "MINUTE"); break;
00062     case DB_SECOND:   strcat (buf, "SECOND"); break;
00063     case DB_FRACTION: strcat (buf, "FRACTION"); break;
00064     }
00065 
00066     return buf;
00067 }

Generated on Sun Apr 6 17:31:38 2008 for GRASS by  doxygen 1.5.5