/ Convert from PlugDB type to MySQL type number */ /
| 108 | /* Convert from PlugDB type to MySQL type number */ |
| 109 | /************************************************************************/ |
| 110 | enum enum_field_types PLGtoMYSQL(int type, bool dbf, char v) |
| 111 | { |
| 112 | enum enum_field_types mytype; |
| 113 | |
| 114 | switch (type) { |
| 115 | case TYPE_INT: |
| 116 | mytype = MYSQL_TYPE_LONG; |
| 117 | break; |
| 118 | case TYPE_SHORT: |
| 119 | mytype = MYSQL_TYPE_SHORT; |
| 120 | break; |
| 121 | case TYPE_DOUBLE: |
| 122 | mytype = MYSQL_TYPE_DOUBLE; |
| 123 | break; |
| 124 | case TYPE_DATE: |
| 125 | mytype = (dbf) ? MYSQL_TYPE_DATE : |
| 126 | (v == 'S') ? MYSQL_TYPE_TIMESTAMP : |
| 127 | (v == 'D') ? MYSQL_TYPE_NEWDATE : |
| 128 | (v == 'T') ? MYSQL_TYPE_TIME : |
| 129 | (v == 'Y') ? MYSQL_TYPE_YEAR : MYSQL_TYPE_DATETIME; |
| 130 | break; |
| 131 | case TYPE_STRING: |
| 132 | mytype = (v) ? MYSQL_TYPE_VARCHAR : MYSQL_TYPE_STRING; |
| 133 | break; |
| 134 | case TYPE_BIGINT: |
| 135 | mytype = MYSQL_TYPE_LONGLONG; |
| 136 | break; |
| 137 | case TYPE_TINY: |
| 138 | mytype = MYSQL_TYPE_TINY; |
| 139 | break; |
| 140 | case TYPE_DECIM: |
| 141 | #if !defined(ALPHA) |
| 142 | mytype = MYSQL_TYPE_NEWDECIMAL; |
| 143 | #else // ALPHA |
| 144 | mytype = MYSQL_TYPE_DECIMAL; |
| 145 | #endif // ALPHA |
| 146 | break; |
| 147 | default: |
| 148 | mytype = MYSQL_TYPE_NULL; |
| 149 | } // endswitch mytype |
| 150 | |
| 151 | return mytype; |
| 152 | } // end of PLGtoMYSQL |
| 153 | |
| 154 | /************************************************************************/ |
| 155 | /* Convert from PlugDB type to MySQL type name */ |