Gibheer
6ea4d2c82d
lib/pq is out of maintenance for some time now, so switch to the newer more active library. Looks like it finally stabilized after a long time.
36 lines
1.1 KiB
Go
36 lines
1.1 KiB
Go
//go:build !nopgxregisterdefaulttypes
|
|
|
|
package pgtype
|
|
|
|
func registerDefaultPgTypeVariants[T any](m *Map, name string) {
|
|
arrayName := "_" + name
|
|
|
|
var value T
|
|
m.RegisterDefaultPgType(value, name) // T
|
|
m.RegisterDefaultPgType(&value, name) // *T
|
|
|
|
var sliceT []T
|
|
m.RegisterDefaultPgType(sliceT, arrayName) // []T
|
|
m.RegisterDefaultPgType(&sliceT, arrayName) // *[]T
|
|
|
|
var slicePtrT []*T
|
|
m.RegisterDefaultPgType(slicePtrT, arrayName) // []*T
|
|
m.RegisterDefaultPgType(&slicePtrT, arrayName) // *[]*T
|
|
|
|
var arrayOfT Array[T]
|
|
m.RegisterDefaultPgType(arrayOfT, arrayName) // Array[T]
|
|
m.RegisterDefaultPgType(&arrayOfT, arrayName) // *Array[T]
|
|
|
|
var arrayOfPtrT Array[*T]
|
|
m.RegisterDefaultPgType(arrayOfPtrT, arrayName) // Array[*T]
|
|
m.RegisterDefaultPgType(&arrayOfPtrT, arrayName) // *Array[*T]
|
|
|
|
var flatArrayOfT FlatArray[T]
|
|
m.RegisterDefaultPgType(flatArrayOfT, arrayName) // FlatArray[T]
|
|
m.RegisterDefaultPgType(&flatArrayOfT, arrayName) // *FlatArray[T]
|
|
|
|
var flatArrayOfPtrT FlatArray[*T]
|
|
m.RegisterDefaultPgType(flatArrayOfPtrT, arrayName) // FlatArray[*T]
|
|
m.RegisterDefaultPgType(&flatArrayOfPtrT, arrayName) // *FlatArray[*T]
|
|
}
|