MCPcopy
hub / github.com/sqlc-dev/sqlc / normalizeType

Function normalizeType

internal/engine/sqlite/analyzer/analyze.go:338–369  ·  view source on GitHub ↗

normalizeType converts SQLite type declarations to standard type names

(declType string)

Source from the content-addressed store, hash-verified

336
337// normalizeType converts SQLite type declarations to standard type names
338func normalizeType(declType string) string {
339 if declType == "" {
340 return "any"
341 }
342
343 // Convert to lowercase for comparison
344 lower := strings.ToLower(declType)
345
346 // SQLite type affinity rules (https://www.sqlite.org/datatype3.html)
347 switch {
348 case strings.Contains(lower, "int"):
349 return "integer"
350 case strings.Contains(lower, "char"),
351 strings.Contains(lower, "clob"),
352 strings.Contains(lower, "text"):
353 return "text"
354 case strings.Contains(lower, "blob"):
355 return "blob"
356 case strings.Contains(lower, "real"),
357 strings.Contains(lower, "floa"),
358 strings.Contains(lower, "doub"):
359 return "real"
360 case strings.Contains(lower, "bool"):
361 return "boolean"
362 case strings.Contains(lower, "date"),
363 strings.Contains(lower, "time"):
364 return "datetime"
365 default:
366 // Return as-is for numeric or other types
367 return lower
368 }
369}

Callers 3

TestNormalizeTypeFunction · 0.85
AnalyzeMethod · 0.85
IntrospectSchemaMethod · 0.85

Calls

no outgoing calls

Tested by 1

TestNormalizeTypeFunction · 0.68