summaryrefslogtreecommitdiff
path: root/vendor/github.com/uptrace/bun/dialect/pgdialect/dialect.go
diff options
context:
space:
mode:
Diffstat (limited to 'vendor/github.com/uptrace/bun/dialect/pgdialect/dialect.go')
-rw-r--r--vendor/github.com/uptrace/bun/dialect/pgdialect/dialect.go10
1 files changed, 9 insertions, 1 deletions
diff --git a/vendor/github.com/uptrace/bun/dialect/pgdialect/dialect.go b/vendor/github.com/uptrace/bun/dialect/pgdialect/dialect.go
index f100e682c..358971f61 100644
--- a/vendor/github.com/uptrace/bun/dialect/pgdialect/dialect.go
+++ b/vendor/github.com/uptrace/bun/dialect/pgdialect/dialect.go
@@ -89,9 +89,17 @@ func (d *Dialect) onField(field *schema.Field) {
if field.Tag.HasOption("array") || strings.HasSuffix(field.UserSQLType, "[]") {
field.Append = d.arrayAppender(field.StructField.Type)
field.Scan = arrayScanner(field.StructField.Type)
+ return
}
- if field.DiscoveredSQLType == sqltype.HSTORE {
+ if field.Tag.HasOption("multirange") {
+ field.Append = d.arrayAppender(field.StructField.Type)
+ field.Scan = arrayScanner(field.StructField.Type)
+ return
+ }
+
+ switch field.DiscoveredSQLType {
+ case sqltype.HSTORE:
field.Append = d.hstoreAppender(field.StructField.Type)
field.Scan = hstoreScanner(field.StructField.Type)
}