MCPcopy Create free account
hub / github.com/IceFireDB/IceFireDB / getColumnTypeAndLen

Function getColumnTypeAndLen

IceFireDB-SQLite/internal/sqlite/db.go:198–233  ·  view source on GitHub ↗
(columnType string)

Source from the content-addressed store, hash-verified

196}
197
198func getColumnTypeAndLen(columnType string) (byte, uint32) {
199 index := strings.Index(columnType, "(")
200 types := columnType
201 var length uint32
202 if index > -1 {
203 types = columnType[:index]
204 l := columnType[index+1 : len(columnType)-1]
205 le, _ := strconv.Atoi(l)
206 length = uint32(le)
207 }
208 switch types {
209 case "INT":
210 return mysql.MYSQL_TYPE_INT24, length
211 case "TEXT":
212 return mysql.MYSQL_TYPE_BLOB, length
213 case "CHAR", "VARCHAR":
214 return mysql.MYSQL_TYPE_VARCHAR, length
215 case "REAL", "DOUBLE":
216 return mysql.MYSQL_TYPE_DOUBLE, length
217 case "FLOAT":
218 return mysql.MYSQL_TYPE_FLOAT, length
219 case "DATE":
220 return mysql.MYSQL_TYPE_DATE, length
221 case "DATETIME":
222 return mysql.MYSQL_TYPE_DATETIME, length
223 case "TIMESTAMP":
224 return mysql.MYSQL_TYPE_TIMESTAMP, length
225 case "DECIMAL", "NUMERIC":
226 return mysql.MYSQL_TYPE_DECIMAL, length
227 case "BOOLEAN":
228 return mysql.MYSQL_TYPE_BIT, length
229 case "NULL":
230 return mysql.MYSQL_TYPE_NULL, length
231 }
232 return mysql.MYSQL_TYPE_VAR_STRING, length
233}
234
235func isDML(sql string) bool {
236 prefix := sql

Callers 2

ExecFunction · 0.85
TestGetColumnTypeAndLenFunction · 0.85

Calls

no outgoing calls

Tested by 1

TestGetColumnTypeAndLenFunction · 0.68