value.go 714 B

123456789101112131415161718192021222324252627282930313233343536373839404142434445
  1. package schema
  2. import "time"
  3. func DefaultValue(ftype string) any {
  4. switch ftype {
  5. case "text":
  6. return ""
  7. case "varchar":
  8. return ""
  9. case "string":
  10. return ""
  11. case "bool":
  12. return false
  13. case "boolean":
  14. return false
  15. case "int":
  16. return 0
  17. case "smallint":
  18. return int16(0)
  19. case "enum":
  20. return int16(0)
  21. case "bigint":
  22. return int64(0)
  23. case "float":
  24. return float32(0)
  25. case "double":
  26. return float64(0)
  27. case "date":
  28. return "19700101"
  29. case "timestamp", "milliseconds":
  30. return time.Time{}.UnixNano() / 1e6
  31. case "map":
  32. return []byte{}
  33. case "set":
  34. return []byte{}
  35. case "list":
  36. return []byte{}
  37. case "bucket":
  38. return []byte{}
  39. case "relation":
  40. return []byte{}
  41. }
  42. return nil
  43. }