mirror of
				https://github.com/superseriousbusiness/gotosocial.git
				synced 2025-10-30 19:12:26 -05:00 
			
		
		
		
	upstep bun version (#243)
This commit is contained in:
		
					parent
					
						
							
								ddfd83d0fb
							
						
					
				
			
			
				commit
				
					
						142f37f1bd
					
				
			
		
					 23 changed files with 146 additions and 57 deletions
				
			
		
							
								
								
									
										15
									
								
								vendor/github.com/uptrace/bun/schema/append.go
									
										
									
										generated
									
									
										vendored
									
									
								
							
							
						
						
									
										15
									
								
								vendor/github.com/uptrace/bun/schema/append.go
									
										
									
										generated
									
									
										vendored
									
									
								
							|  | @ -3,29 +3,14 @@ package schema | |||
| import ( | ||||
| 	"reflect" | ||||
| 	"strconv" | ||||
| 	"strings" | ||||
| 	"time" | ||||
| 
 | ||||
| 	"github.com/vmihailenco/msgpack/v5" | ||||
| 
 | ||||
| 	"github.com/uptrace/bun/dialect" | ||||
| 	"github.com/uptrace/bun/dialect/sqltype" | ||||
| 	"github.com/uptrace/bun/internal" | ||||
| ) | ||||
| 
 | ||||
| func FieldAppender(dialect Dialect, field *Field) AppenderFunc { | ||||
| 	if field.Tag.HasOption("msgpack") { | ||||
| 		return appendMsgpack | ||||
| 	} | ||||
| 
 | ||||
| 	switch strings.ToUpper(field.UserSQLType) { | ||||
| 	case sqltype.JSON, sqltype.JSONB: | ||||
| 		return AppendJSONValue | ||||
| 	} | ||||
| 
 | ||||
| 	return dialect.Appender(field.StructField.Type) | ||||
| } | ||||
| 
 | ||||
| func Append(fmter Formatter, b []byte, v interface{}, custom CustomAppender) []byte { | ||||
| 	switch v := v.(type) { | ||||
| 	case nil: | ||||
|  |  | |||
							
								
								
									
										15
									
								
								vendor/github.com/uptrace/bun/schema/append_value.go
									
										
									
										generated
									
									
										vendored
									
									
								
							
							
						
						
									
										15
									
								
								vendor/github.com/uptrace/bun/schema/append_value.go
									
										
									
										generated
									
									
										vendored
									
									
								
							|  | @ -6,9 +6,11 @@ import ( | |||
| 	"net" | ||||
| 	"reflect" | ||||
| 	"strconv" | ||||
| 	"strings" | ||||
| 	"time" | ||||
| 
 | ||||
| 	"github.com/uptrace/bun/dialect" | ||||
| 	"github.com/uptrace/bun/dialect/sqltype" | ||||
| 	"github.com/uptrace/bun/extra/bunjson" | ||||
| 	"github.com/uptrace/bun/internal" | ||||
| ) | ||||
|  | @ -47,6 +49,19 @@ var appenders = []AppenderFunc{ | |||
| 	reflect.UnsafePointer: nil, | ||||
| } | ||||
| 
 | ||||
| func FieldAppender(dialect Dialect, field *Field) AppenderFunc { | ||||
| 	if field.Tag.HasOption("msgpack") { | ||||
| 		return appendMsgpack | ||||
| 	} | ||||
| 
 | ||||
| 	switch strings.ToUpper(field.UserSQLType) { | ||||
| 	case sqltype.JSON, sqltype.JSONB: | ||||
| 		return AppendJSONValue | ||||
| 	} | ||||
| 
 | ||||
| 	return dialect.Appender(field.StructField.Type) | ||||
| } | ||||
| 
 | ||||
| func Appender(typ reflect.Type, custom CustomAppender) AppenderFunc { | ||||
| 	switch typ { | ||||
| 	case bytesType: | ||||
|  |  | |||
							
								
								
									
										4
									
								
								vendor/github.com/uptrace/bun/schema/field.go
									
										
									
										generated
									
									
										vendored
									
									
								
							
							
						
						
									
										4
									
								
								vendor/github.com/uptrace/bun/schema/field.go
									
										
									
										generated
									
									
										vendored
									
									
								
							|  | @ -101,7 +101,9 @@ func (f *Field) ScanValue(strct reflect.Value, src interface{}) error { | |||
| func (f *Field) markAsPK() { | ||||
| 	f.IsPK = true | ||||
| 	f.NotNull = true | ||||
| 	f.NullZero = true | ||||
| 	if !f.Tag.HasOption("allowzero") { | ||||
| 		f.NullZero = true | ||||
| 	} | ||||
| } | ||||
| 
 | ||||
| func indexEqual(ind1, ind2 []int) bool { | ||||
|  |  | |||
							
								
								
									
										3
									
								
								vendor/github.com/uptrace/bun/schema/scan.go
									
										
									
										generated
									
									
										vendored
									
									
								
							
							
						
						
									
										3
									
								
								vendor/github.com/uptrace/bun/schema/scan.go
									
										
									
										generated
									
									
										vendored
									
									
								
							|  | @ -207,6 +207,9 @@ func scanString(dest reflect.Value, src interface{}) error { | |||
| 	case []byte: | ||||
| 		dest.SetString(string(src)) | ||||
| 		return nil | ||||
| 	case time.Time: | ||||
| 		dest.SetString(src.Format(time.RFC3339Nano)) | ||||
| 		return nil | ||||
| 	} | ||||
| 	return fmt.Errorf("bun: can't scan %#v into %s", src, dest.Type()) | ||||
| } | ||||
|  |  | |||
							
								
								
									
										14
									
								
								vendor/github.com/uptrace/bun/schema/sqltype.go
									
										
									
										generated
									
									
										vendored
									
									
								
							
							
						
						
									
										14
									
								
								vendor/github.com/uptrace/bun/schema/sqltype.go
									
										
									
										generated
									
									
										vendored
									
									
								
							|  | @ -109,17 +109,23 @@ func (tm *NullTime) Scan(src interface{}) error { | |||
| 	} | ||||
| 
 | ||||
| 	switch src := src.(type) { | ||||
| 	case time.Time: | ||||
| 		tm.Time = src | ||||
| 		return nil | ||||
| 	case string: | ||||
| 		newtm, err := internal.ParseTime(src) | ||||
| 		if err != nil { | ||||
| 			return err | ||||
| 		} | ||||
| 		tm.Time = newtm | ||||
| 		return nil | ||||
| 	case []byte: | ||||
| 		newtm, err := internal.ParseTime(internal.String(src)) | ||||
| 		if err != nil { | ||||
| 			return err | ||||
| 		} | ||||
| 
 | ||||
| 		tm.Time = newtm | ||||
| 		return nil | ||||
| 	case time.Time: | ||||
| 		tm.Time = src | ||||
| 		return nil | ||||
| 	default: | ||||
| 		return fmt.Errorf("bun: can't scan %#v into NullTime", src) | ||||
| 	} | ||||
|  |  | |||
							
								
								
									
										18
									
								
								vendor/github.com/uptrace/bun/schema/table.go
									
										
									
										generated
									
									
										vendored
									
									
								
							
							
						
						
									
										18
									
								
								vendor/github.com/uptrace/bun/schema/table.go
									
										
									
										generated
									
									
										vendored
									
									
								
							|  | @ -181,17 +181,17 @@ func (t *Table) initFields() { | |||
| 	t.FieldMap = make(map[string]*Field, t.Type.NumField()) | ||||
| 	t.addFields(t.Type, nil) | ||||
| 
 | ||||
| 	if len(t.PKs) > 0 { | ||||
| 		return | ||||
| 	} | ||||
| 	for _, name := range []string{"id", "uuid", "pk_" + t.ModelName} { | ||||
| 		if field, ok := t.FieldMap[name]; ok { | ||||
| 			field.markAsPK() | ||||
| 			t.PKs = []*Field{field} | ||||
| 			t.DataFields = removeField(t.DataFields, field) | ||||
| 			break | ||||
| 	if len(t.PKs) == 0 { | ||||
| 		for _, name := range []string{"id", "uuid", "pk_" + t.ModelName} { | ||||
| 			if field, ok := t.FieldMap[name]; ok { | ||||
| 				field.markAsPK() | ||||
| 				t.PKs = []*Field{field} | ||||
| 				t.DataFields = removeField(t.DataFields, field) | ||||
| 				break | ||||
| 			} | ||||
| 		} | ||||
| 	} | ||||
| 
 | ||||
| 	if len(t.PKs) == 1 { | ||||
| 		pk := t.PKs[0] | ||||
| 		if pk.SQLDefault != "" { | ||||
|  |  | |||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue