manager all number types

add 'null' faker

update readme
This commit is contained in:
Simon Vieille 2024-04-02 19:24:50 +02:00
commit 628308e2fc
Signed by: deblan
GPG key ID: 579388D585F70417
6 changed files with 297 additions and 257 deletions

View file

@ -23,6 +23,23 @@ func GetNamedParameter(dbType, col string, number int) string {
return fmt.Sprintf("%s=$%d", col, number)
}
func IsPgNumberType(value string) bool {
switch value {
case
"smallint",
"integer",
"bigint",
"decimal",
"numeric",
"real",
"double precision":
return true
}
return false
}
func GetRows(db *sql.DB, query, table, dbType string) map[int]map[string]data.Data {
rows, err := db.Query(query)
defer rows.Close()
@ -69,9 +86,9 @@ func GetRows(db *sql.DB, query, table, dbType string) map[int]map[string]data.Da
dataType := columnsTypes[col]
d.IsInteger = dataType == "integer"
d.IsNumber = IsPgNumberType(dataType)
d.IsBoolean = dataType == "boolean"
d.IsString = !d.IsBoolean && !d.IsInteger
d.IsString = !d.IsBoolean && !d.IsNumber
} else {
d.IsString = true
}