Fix error 500 on organization dashboard page (#150)
This commit is contained in:
		
							parent
							
								
									e2aa991e10
								
							
						
					
					
						commit
						a8c6698de8
					
				
					 12 changed files with 190 additions and 162 deletions
				
			
		
							
								
								
									
										54
									
								
								vendor/github.com/go-xorm/xorm/engine.go
									
									
									
										generated
									
									
										vendored
									
									
								
							
							
						
						
									
										54
									
								
								vendor/github.com/go-xorm/xorm/engine.go
									
									
									
										generated
									
									
										vendored
									
									
								
							|  | @ -124,29 +124,49 @@ func (engine *Engine) QuoteStr() string { | ||||||
| } | } | ||||||
| 
 | 
 | ||||||
| // Quote Use QuoteStr quote the string sql
 | // Quote Use QuoteStr quote the string sql
 | ||||||
| func (engine *Engine) Quote(sql string) string { | func (engine *Engine) Quote(value string) string { | ||||||
| 	return engine.quoteTable(sql) | 	value = strings.TrimSpace(value) | ||||||
|  | 	if len(value) == 0 { | ||||||
|  | 		return value | ||||||
|  | 	} | ||||||
|  | 
 | ||||||
|  | 	if string(value[0]) == engine.dialect.QuoteStr() || value[0] == '`' { | ||||||
|  | 		return value | ||||||
|  | 	} | ||||||
|  | 
 | ||||||
|  | 	value = strings.Replace(value, ".", engine.dialect.QuoteStr()+"."+engine.dialect.QuoteStr(), -1) | ||||||
|  | 
 | ||||||
|  | 	return engine.dialect.QuoteStr() + value + engine.dialect.QuoteStr() | ||||||
|  | } | ||||||
|  | 
 | ||||||
|  | // QuoteTo quotes string and writes into the buffer
 | ||||||
|  | func (engine *Engine) QuoteTo(buf *bytes.Buffer, value string) { | ||||||
|  | 
 | ||||||
|  | 	if buf == nil { | ||||||
|  | 		return | ||||||
|  | 	} | ||||||
|  | 
 | ||||||
|  | 	value = strings.TrimSpace(value) | ||||||
|  | 	if value == "" { | ||||||
|  | 		return | ||||||
|  | 	} | ||||||
|  | 
 | ||||||
|  | 	if string(value[0]) == engine.dialect.QuoteStr() || value[0] == '`' { | ||||||
|  | 		buf.WriteString(value) | ||||||
|  | 		return | ||||||
|  | 	} | ||||||
|  | 
 | ||||||
|  | 	value = strings.Replace(value, ".", engine.dialect.QuoteStr()+"."+engine.dialect.QuoteStr(), -1) | ||||||
|  | 
 | ||||||
|  | 	buf.WriteString(engine.dialect.QuoteStr()) | ||||||
|  | 	buf.WriteString(value) | ||||||
|  | 	buf.WriteString(engine.dialect.QuoteStr()) | ||||||
| } | } | ||||||
| 
 | 
 | ||||||
| func (engine *Engine) quote(sql string) string { | func (engine *Engine) quote(sql string) string { | ||||||
| 	return engine.dialect.QuoteStr() + sql + engine.dialect.QuoteStr() | 	return engine.dialect.QuoteStr() + sql + engine.dialect.QuoteStr() | ||||||
| } | } | ||||||
| 
 | 
 | ||||||
| func (engine *Engine) quoteTable(keyName string) string { |  | ||||||
| 	keyName = strings.TrimSpace(keyName) |  | ||||||
| 	if len(keyName) == 0 { |  | ||||||
| 		return keyName |  | ||||||
| 	} |  | ||||||
| 
 |  | ||||||
| 	if string(keyName[0]) == engine.dialect.QuoteStr() || keyName[0] == '`' { |  | ||||||
| 		return keyName |  | ||||||
| 	} |  | ||||||
| 
 |  | ||||||
| 	keyName = strings.Replace(keyName, ".", engine.dialect.QuoteStr()+"."+engine.dialect.QuoteStr(), -1) |  | ||||||
| 
 |  | ||||||
| 	return engine.dialect.QuoteStr() + keyName + engine.dialect.QuoteStr() |  | ||||||
| } |  | ||||||
| 
 |  | ||||||
| // SqlType will be depracated, please use SQLType instead
 | // SqlType will be depracated, please use SQLType instead
 | ||||||
| func (engine *Engine) SqlType(c *core.Column) string { | func (engine *Engine) SqlType(c *core.Column) string { | ||||||
| 	return engine.dialect.SqlType(c) | 	return engine.dialect.SqlType(c) | ||||||
|  |  | ||||||
							
								
								
									
										4
									
								
								vendor/github.com/go-xorm/xorm/lru_cacher.go
									
									
									
										generated
									
									
										vendored
									
									
								
							
							
						
						
									
										4
									
								
								vendor/github.com/go-xorm/xorm/lru_cacher.go
									
									
									
										generated
									
									
										vendored
									
									
								
							|  | @ -92,7 +92,7 @@ func (m *LRUCacher) GC() { | ||||||
| 	} | 	} | ||||||
| } | } | ||||||
| 
 | 
 | ||||||
| // Get all bean's ids according to sql and parameter from cache
 | // GetIds returns all bean's ids according to sql and parameter from cache
 | ||||||
| func (m *LRUCacher) GetIds(tableName, sql string) interface{} { | func (m *LRUCacher) GetIds(tableName, sql string) interface{} { | ||||||
| 	m.mutex.Lock() | 	m.mutex.Lock() | ||||||
| 	defer m.mutex.Unlock() | 	defer m.mutex.Unlock() | ||||||
|  | @ -121,7 +121,7 @@ func (m *LRUCacher) GetIds(tableName, sql string) interface{} { | ||||||
| 	return nil | 	return nil | ||||||
| } | } | ||||||
| 
 | 
 | ||||||
| // Get bean according tableName and id from cache
 | // GetBean returns bean according tableName and id from cache
 | ||||||
| func (m *LRUCacher) GetBean(tableName string, id string) interface{} { | func (m *LRUCacher) GetBean(tableName string, id string) interface{} { | ||||||
| 	m.mutex.Lock() | 	m.mutex.Lock() | ||||||
| 	defer m.mutex.Unlock() | 	defer m.mutex.Unlock() | ||||||
|  |  | ||||||
							
								
								
									
										2
									
								
								vendor/github.com/go-xorm/xorm/memory_store.go
									
									
									
										generated
									
									
										vendored
									
									
								
							
							
						
						
									
										2
									
								
								vendor/github.com/go-xorm/xorm/memory_store.go
									
									
									
										generated
									
									
										vendored
									
									
								
							|  | @ -12,7 +12,7 @@ import ( | ||||||
| 
 | 
 | ||||||
| var _ core.CacheStore = NewMemoryStore() | var _ core.CacheStore = NewMemoryStore() | ||||||
| 
 | 
 | ||||||
| // memory store
 | // MemoryStore represents in-memory store
 | ||||||
| type MemoryStore struct { | type MemoryStore struct { | ||||||
| 	store map[interface{}]interface{} | 	store map[interface{}]interface{} | ||||||
| 	mutex sync.RWMutex | 	mutex sync.RWMutex | ||||||
|  |  | ||||||
							
								
								
									
										17
									
								
								vendor/github.com/go-xorm/xorm/mssql_dialect.go
									
									
									
										generated
									
									
										vendored
									
									
								
							
							
						
						
									
										17
									
								
								vendor/github.com/go-xorm/xorm/mssql_dialect.go
									
									
									
										generated
									
									
										vendored
									
									
								
							|  | @ -5,7 +5,6 @@ | ||||||
| package xorm | package xorm | ||||||
| 
 | 
 | ||||||
| import ( | import ( | ||||||
| 	"errors" |  | ||||||
| 	"fmt" | 	"fmt" | ||||||
| 	"strconv" | 	"strconv" | ||||||
| 	"strings" | 	"strings" | ||||||
|  | @ -258,8 +257,9 @@ func (db *mssql) SqlType(c *core.Column) string { | ||||||
| 		return core.Int | 		return core.Int | ||||||
| 	} | 	} | ||||||
| 
 | 
 | ||||||
| 	var hasLen1 bool = (c.Length > 0) | 	hasLen1 := (c.Length > 0) | ||||||
| 	var hasLen2 bool = (c.Length2 > 0) | 	hasLen2 := (c.Length2 > 0) | ||||||
|  | 
 | ||||||
| 	if hasLen2 { | 	if hasLen2 { | ||||||
| 		res += "(" + strconv.Itoa(c.Length) + "," + strconv.Itoa(c.Length2) + ")" | 		res += "(" + strconv.Itoa(c.Length) + "," + strconv.Itoa(c.Length2) + ")" | ||||||
| 	} else if hasLen1 { | 	} else if hasLen1 { | ||||||
|  | @ -371,17 +371,16 @@ func (db *mssql) GetColumns(tableName string) ([]string, map[string]*core.Column | ||||||
| 		} | 		} | ||||||
| 		switch ct { | 		switch ct { | ||||||
| 		case "DATETIMEOFFSET": | 		case "DATETIMEOFFSET": | ||||||
| 			col.SQLType = core.SQLType{core.TimeStampz, 0, 0} | 			col.SQLType = core.SQLType{Name: core.TimeStampz, DefaultLength: 0, DefaultLength2: 0} | ||||||
| 		case "NVARCHAR": | 		case "NVARCHAR": | ||||||
| 			col.SQLType = core.SQLType{core.NVarchar, 0, 0} | 			col.SQLType = core.SQLType{Name: core.NVarchar, DefaultLength: 0, DefaultLength2: 0} | ||||||
| 		case "IMAGE": | 		case "IMAGE": | ||||||
| 			col.SQLType = core.SQLType{core.VarBinary, 0, 0} | 			col.SQLType = core.SQLType{Name: core.VarBinary, DefaultLength: 0, DefaultLength2: 0} | ||||||
| 		default: | 		default: | ||||||
| 			if _, ok := core.SqlTypes[ct]; ok { | 			if _, ok := core.SqlTypes[ct]; ok { | ||||||
| 				col.SQLType = core.SQLType{ct, 0, 0} | 				col.SQLType = core.SQLType{Name: ct, DefaultLength: 0, DefaultLength2: 0} | ||||||
| 			} else { | 			} else { | ||||||
| 				return nil, nil, errors.New(fmt.Sprintf("unknow colType %v for %v - %v", | 				return nil, nil, fmt.Errorf("Unknown colType %v for %v - %v", ct, tableName, col.Name) | ||||||
| 					ct, tableName, col.Name)) |  | ||||||
| 			} | 			} | ||||||
| 		} | 		} | ||||||
| 
 | 
 | ||||||
|  |  | ||||||
							
								
								
									
										13
									
								
								vendor/github.com/go-xorm/xorm/mysql_dialect.go
									
									
									
										generated
									
									
										vendored
									
									
								
							
							
						
						
									
										13
									
								
								vendor/github.com/go-xorm/xorm/mysql_dialect.go
									
									
									
										generated
									
									
										vendored
									
									
								
							|  | @ -6,7 +6,6 @@ package xorm | ||||||
| 
 | 
 | ||||||
| import ( | import ( | ||||||
| 	"crypto/tls" | 	"crypto/tls" | ||||||
| 	"errors" |  | ||||||
| 	"fmt" | 	"fmt" | ||||||
| 	"strconv" | 	"strconv" | ||||||
| 	"strings" | 	"strings" | ||||||
|  | @ -202,7 +201,7 @@ func (db *mysql) SqlType(c *core.Column) string { | ||||||
| 		res = core.Enum | 		res = core.Enum | ||||||
| 		res += "(" | 		res += "(" | ||||||
| 		opts := "" | 		opts := "" | ||||||
| 		for v, _ := range c.EnumOptions { | 		for v := range c.EnumOptions { | ||||||
| 			opts += fmt.Sprintf(",'%v'", v) | 			opts += fmt.Sprintf(",'%v'", v) | ||||||
| 		} | 		} | ||||||
| 		res += strings.TrimLeft(opts, ",") | 		res += strings.TrimLeft(opts, ",") | ||||||
|  | @ -211,7 +210,7 @@ func (db *mysql) SqlType(c *core.Column) string { | ||||||
| 		res = core.Set | 		res = core.Set | ||||||
| 		res += "(" | 		res += "(" | ||||||
| 		opts := "" | 		opts := "" | ||||||
| 		for v, _ := range c.SetOptions { | 		for v := range c.SetOptions { | ||||||
| 			opts += fmt.Sprintf(",'%v'", v) | 			opts += fmt.Sprintf(",'%v'", v) | ||||||
| 		} | 		} | ||||||
| 		res += strings.TrimLeft(opts, ",") | 		res += strings.TrimLeft(opts, ",") | ||||||
|  | @ -227,8 +226,8 @@ func (db *mysql) SqlType(c *core.Column) string { | ||||||
| 		res = t | 		res = t | ||||||
| 	} | 	} | ||||||
| 
 | 
 | ||||||
| 	var hasLen1 bool = (c.Length > 0) | 	hasLen1 := (c.Length > 0) | ||||||
| 	var hasLen2 bool = (c.Length2 > 0) | 	hasLen2 := (c.Length2 > 0) | ||||||
| 
 | 
 | ||||||
| 	if res == core.BigInt && !hasLen1 && !hasLen2 { | 	if res == core.BigInt && !hasLen1 && !hasLen2 { | ||||||
| 		c.Length = 20 | 		c.Length = 20 | ||||||
|  | @ -373,9 +372,9 @@ func (db *mysql) GetColumns(tableName string) ([]string, map[string]*core.Column | ||||||
| 		col.Length = len1 | 		col.Length = len1 | ||||||
| 		col.Length2 = len2 | 		col.Length2 = len2 | ||||||
| 		if _, ok := core.SqlTypes[colType]; ok { | 		if _, ok := core.SqlTypes[colType]; ok { | ||||||
| 			col.SQLType = core.SQLType{colType, len1, len2} | 			col.SQLType = core.SQLType{Name: colType, DefaultLength: len1, DefaultLength2: len2} | ||||||
| 		} else { | 		} else { | ||||||
| 			return nil, nil, errors.New(fmt.Sprintf("unkonw colType %v", colType)) | 			return nil, nil, fmt.Errorf("Unknown colType %v", colType) | ||||||
| 		} | 		} | ||||||
| 
 | 
 | ||||||
| 		if colKey == "PRI" { | 		if colKey == "PRI" { | ||||||
|  |  | ||||||
							
								
								
									
										40
									
								
								vendor/github.com/go-xorm/xorm/oracle_dialect.go
									
									
									
										generated
									
									
										vendored
									
									
								
							
							
						
						
									
										40
									
								
								vendor/github.com/go-xorm/xorm/oracle_dialect.go
									
									
									
										generated
									
									
										vendored
									
									
								
							|  | @ -5,7 +5,6 @@ | ||||||
| package xorm | package xorm | ||||||
| 
 | 
 | ||||||
| import ( | import ( | ||||||
| 	"errors" |  | ||||||
| 	"fmt" | 	"fmt" | ||||||
| 	"strconv" | 	"strconv" | ||||||
| 	"strings" | 	"strings" | ||||||
|  | @ -526,8 +525,9 @@ func (db *oracle) SqlType(c *core.Column) string { | ||||||
| 		res = t | 		res = t | ||||||
| 	} | 	} | ||||||
| 
 | 
 | ||||||
| 	var hasLen1 bool = (c.Length > 0) | 	hasLen1 := (c.Length > 0) | ||||||
| 	var hasLen2 bool = (c.Length2 > 0) | 	hasLen2 := (c.Length2 > 0) | ||||||
|  | 
 | ||||||
| 	if hasLen2 { | 	if hasLen2 { | ||||||
| 		res += "(" + strconv.Itoa(c.Length) + "," + strconv.Itoa(c.Length2) + ")" | 		res += "(" + strconv.Itoa(c.Length) + "," + strconv.Itoa(c.Length2) + ")" | ||||||
| 	} else if hasLen1 { | 	} else if hasLen1 { | ||||||
|  | @ -577,14 +577,14 @@ func (db *oracle) DropTableSql(tableName string) string { | ||||||
| 	return fmt.Sprintf("DROP TABLE `%s`", tableName) | 	return fmt.Sprintf("DROP TABLE `%s`", tableName) | ||||||
| } | } | ||||||
| 
 | 
 | ||||||
| func (b *oracle) CreateTableSql(table *core.Table, tableName, storeEngine, charset string) string { | func (db *oracle) CreateTableSql(table *core.Table, tableName, storeEngine, charset string) string { | ||||||
| 	var sql string | 	var sql string | ||||||
| 	sql = "CREATE TABLE " | 	sql = "CREATE TABLE " | ||||||
| 	if tableName == "" { | 	if tableName == "" { | ||||||
| 		tableName = table.Name | 		tableName = table.Name | ||||||
| 	} | 	} | ||||||
| 
 | 
 | ||||||
| 	sql += b.Quote(tableName) + " (" | 	sql += db.Quote(tableName) + " (" | ||||||
| 
 | 
 | ||||||
| 	pkList := table.PrimaryKeys | 	pkList := table.PrimaryKeys | ||||||
| 
 | 
 | ||||||
|  | @ -593,7 +593,7 @@ func (b *oracle) CreateTableSql(table *core.Table, tableName, storeEngine, chars | ||||||
| 		/*if col.IsPrimaryKey && len(pkList) == 1 { | 		/*if col.IsPrimaryKey && len(pkList) == 1 { | ||||||
| 			sql += col.String(b.dialect) | 			sql += col.String(b.dialect) | ||||||
| 		} else {*/ | 		} else {*/ | ||||||
| 		sql += col.StringNoPk(b) | 		sql += col.StringNoPk(db) | ||||||
| 		//}
 | 		//}
 | ||||||
| 		sql = strings.TrimSpace(sql) | 		sql = strings.TrimSpace(sql) | ||||||
| 		sql += ", " | 		sql += ", " | ||||||
|  | @ -601,17 +601,17 @@ func (b *oracle) CreateTableSql(table *core.Table, tableName, storeEngine, chars | ||||||
| 
 | 
 | ||||||
| 	if len(pkList) > 0 { | 	if len(pkList) > 0 { | ||||||
| 		sql += "PRIMARY KEY ( " | 		sql += "PRIMARY KEY ( " | ||||||
| 		sql += b.Quote(strings.Join(pkList, b.Quote(","))) | 		sql += db.Quote(strings.Join(pkList, db.Quote(","))) | ||||||
| 		sql += " ), " | 		sql += " ), " | ||||||
| 	} | 	} | ||||||
| 
 | 
 | ||||||
| 	sql = sql[:len(sql)-2] + ")" | 	sql = sql[:len(sql)-2] + ")" | ||||||
| 	if b.SupportEngine() && storeEngine != "" { | 	if db.SupportEngine() && storeEngine != "" { | ||||||
| 		sql += " ENGINE=" + storeEngine | 		sql += " ENGINE=" + storeEngine | ||||||
| 	} | 	} | ||||||
| 	if b.SupportCharset() { | 	if db.SupportCharset() { | ||||||
| 		if len(charset) == 0 { | 		if len(charset) == 0 { | ||||||
| 			charset = b.URI().Charset | 			charset = db.URI().Charset | ||||||
| 		} | 		} | ||||||
| 		if len(charset) > 0 { | 		if len(charset) > 0 { | ||||||
| 			sql += " DEFAULT CHARSET " + charset | 			sql += " DEFAULT CHARSET " + charset | ||||||
|  | @ -733,23 +733,23 @@ func (db *oracle) GetColumns(tableName string) ([]string, map[string]*core.Colum | ||||||
| 
 | 
 | ||||||
| 		switch dt { | 		switch dt { | ||||||
| 		case "VARCHAR2": | 		case "VARCHAR2": | ||||||
| 			col.SQLType = core.SQLType{core.Varchar, len1, len2} | 			col.SQLType = core.SQLType{Name: core.Varchar, DefaultLength: len1, DefaultLength2: len2} | ||||||
| 		case "NVARCHAR2": | 		case "NVARCHAR2": | ||||||
| 			col.SQLType = core.SQLType{core.NVarchar, len1, len2} | 			col.SQLType = core.SQLType{Name: core.NVarchar, DefaultLength: len1, DefaultLength2: len2} | ||||||
| 		case "TIMESTAMP WITH TIME ZONE": | 		case "TIMESTAMP WITH TIME ZONE": | ||||||
| 			col.SQLType = core.SQLType{core.TimeStampz, 0, 0} | 			col.SQLType = core.SQLType{Name: core.TimeStampz, DefaultLength: 0, DefaultLength2: 0} | ||||||
| 		case "NUMBER": | 		case "NUMBER": | ||||||
| 			col.SQLType = core.SQLType{core.Double, len1, len2} | 			col.SQLType = core.SQLType{Name: core.Double, DefaultLength: len1, DefaultLength2: len2} | ||||||
| 		case "LONG", "LONG RAW": | 		case "LONG", "LONG RAW": | ||||||
| 			col.SQLType = core.SQLType{core.Text, 0, 0} | 			col.SQLType = core.SQLType{Name: core.Text, DefaultLength: 0, DefaultLength2: 0} | ||||||
| 		case "RAW": | 		case "RAW": | ||||||
| 			col.SQLType = core.SQLType{core.Binary, 0, 0} | 			col.SQLType = core.SQLType{Name: core.Binary, DefaultLength: 0, DefaultLength2: 0} | ||||||
| 		case "ROWID": | 		case "ROWID": | ||||||
| 			col.SQLType = core.SQLType{core.Varchar, 18, 0} | 			col.SQLType = core.SQLType{Name: core.Varchar, DefaultLength: 18, DefaultLength2: 0} | ||||||
| 		case "AQ$_SUBSCRIBERS": | 		case "AQ$_SUBSCRIBERS": | ||||||
| 			ignore = true | 			ignore = true | ||||||
| 		default: | 		default: | ||||||
| 			col.SQLType = core.SQLType{strings.ToUpper(dt), len1, len2} | 			col.SQLType = core.SQLType{Name: strings.ToUpper(dt), DefaultLength: len1, DefaultLength2: len2} | ||||||
| 		} | 		} | ||||||
| 
 | 
 | ||||||
| 		if ignore { | 		if ignore { | ||||||
|  | @ -757,7 +757,7 @@ func (db *oracle) GetColumns(tableName string) ([]string, map[string]*core.Colum | ||||||
| 		} | 		} | ||||||
| 
 | 
 | ||||||
| 		if _, ok := core.SqlTypes[col.SQLType.Name]; !ok { | 		if _, ok := core.SqlTypes[col.SQLType.Name]; !ok { | ||||||
| 			return nil, nil, errors.New(fmt.Sprintf("unkonw colType %v %v", *dataType, col.SQLType)) | 			return nil, nil, fmt.Errorf("Unknown colType %v %v", *dataType, col.SQLType) | ||||||
| 		} | 		} | ||||||
| 
 | 
 | ||||||
| 		col.Length = dataLen | 		col.Length = dataLen | ||||||
|  | @ -842,5 +842,5 @@ func (db *oracle) GetIndexes(tableName string) (map[string]*core.Index, error) { | ||||||
| } | } | ||||||
| 
 | 
 | ||||||
| func (db *oracle) Filters() []core.Filter { | func (db *oracle) Filters() []core.Filter { | ||||||
| 	return []core.Filter{&core.QuoteFilter{}, &core.SeqFilter{":", 1}, &core.IdFilter{}} | 	return []core.Filter{&core.QuoteFilter{}, &core.SeqFilter{Prefix: ":", Start: 1}, &core.IdFilter{}} | ||||||
| } | } | ||||||
|  |  | ||||||
							
								
								
									
										31
									
								
								vendor/github.com/go-xorm/xorm/postgres_dialect.go
									
									
									
										generated
									
									
										vendored
									
									
								
							
							
						
						
									
										31
									
								
								vendor/github.com/go-xorm/xorm/postgres_dialect.go
									
									
									
										generated
									
									
										vendored
									
									
								
							|  | @ -5,7 +5,6 @@ | ||||||
| package xorm | package xorm | ||||||
| 
 | 
 | ||||||
| import ( | import ( | ||||||
| 	"errors" |  | ||||||
| 	"fmt" | 	"fmt" | ||||||
| 	"strconv" | 	"strconv" | ||||||
| 	"strings" | 	"strings" | ||||||
|  | @ -813,8 +812,9 @@ func (db *postgres) SqlType(c *core.Column) string { | ||||||
| 		res = t | 		res = t | ||||||
| 	} | 	} | ||||||
| 
 | 
 | ||||||
| 	var hasLen1 bool = (c.Length > 0) | 	hasLen1 := (c.Length > 0) | ||||||
| 	var hasLen2 bool = (c.Length2 > 0) | 	hasLen2 := (c.Length2 > 0) | ||||||
|  | 
 | ||||||
| 	if hasLen2 { | 	if hasLen2 { | ||||||
| 		res += "(" + strconv.Itoa(c.Length) + "," + strconv.Itoa(c.Length2) + ")" | 		res += "(" + strconv.Itoa(c.Length) + "," + strconv.Itoa(c.Length2) + ")" | ||||||
| 	} else if hasLen1 { | 	} else if hasLen1 { | ||||||
|  | @ -880,9 +880,10 @@ func (db *postgres) ModifyColumnSql(tableName string, col *core.Column) string { | ||||||
| } | } | ||||||
| 
 | 
 | ||||||
| func (db *postgres) DropIndexSql(tableName string, index *core.Index) string { | func (db *postgres) DropIndexSql(tableName string, index *core.Index) string { | ||||||
| 	quote := db.Quote |  | ||||||
| 	//var unique string
 | 	//var unique string
 | ||||||
| 	var idxName string = index.Name | 	quote := db.Quote | ||||||
|  | 	idxName := index.Name | ||||||
|  | 
 | ||||||
| 	if !strings.HasPrefix(idxName, "UQE_") && | 	if !strings.HasPrefix(idxName, "UQE_") && | ||||||
| 		!strings.HasPrefix(idxName, "IDX_") { | 		!strings.HasPrefix(idxName, "IDX_") { | ||||||
| 		if index.Type == core.UniqueType { | 		if index.Type == core.UniqueType { | ||||||
|  | @ -973,24 +974,24 @@ WHERE c.relkind = 'r'::char AND c.relname = $1 AND s.table_schema = $2 AND f.att | ||||||
| 
 | 
 | ||||||
| 		switch dataType { | 		switch dataType { | ||||||
| 		case "character varying", "character": | 		case "character varying", "character": | ||||||
| 			col.SQLType = core.SQLType{core.Varchar, 0, 0} | 			col.SQLType = core.SQLType{Name: core.Varchar, DefaultLength: 0, DefaultLength2: 0} | ||||||
| 		case "timestamp without time zone": | 		case "timestamp without time zone": | ||||||
| 			col.SQLType = core.SQLType{core.DateTime, 0, 0} | 			col.SQLType = core.SQLType{Name: core.DateTime, DefaultLength: 0, DefaultLength2: 0} | ||||||
| 		case "timestamp with time zone": | 		case "timestamp with time zone": | ||||||
| 			col.SQLType = core.SQLType{core.TimeStampz, 0, 0} | 			col.SQLType = core.SQLType{Name: core.TimeStampz, DefaultLength: 0, DefaultLength2: 0} | ||||||
| 		case "double precision": | 		case "double precision": | ||||||
| 			col.SQLType = core.SQLType{core.Double, 0, 0} | 			col.SQLType = core.SQLType{Name: core.Double, DefaultLength: 0, DefaultLength2: 0} | ||||||
| 		case "boolean": | 		case "boolean": | ||||||
| 			col.SQLType = core.SQLType{core.Bool, 0, 0} | 			col.SQLType = core.SQLType{Name: core.Bool, DefaultLength: 0, DefaultLength2: 0} | ||||||
| 		case "time without time zone": | 		case "time without time zone": | ||||||
| 			col.SQLType = core.SQLType{core.Time, 0, 0} | 			col.SQLType = core.SQLType{Name: core.Time, DefaultLength: 0, DefaultLength2: 0} | ||||||
| 		case "oid": | 		case "oid": | ||||||
| 			col.SQLType = core.SQLType{core.BigInt, 0, 0} | 			col.SQLType = core.SQLType{Name: core.BigInt, DefaultLength: 0, DefaultLength2: 0} | ||||||
| 		default: | 		default: | ||||||
| 			col.SQLType = core.SQLType{strings.ToUpper(dataType), 0, 0} | 			col.SQLType = core.SQLType{Name: strings.ToUpper(dataType), DefaultLength: 0, DefaultLength2: 0} | ||||||
| 		} | 		} | ||||||
| 		if _, ok := core.SqlTypes[col.SQLType.Name]; !ok { | 		if _, ok := core.SqlTypes[col.SQLType.Name]; !ok { | ||||||
| 			return nil, nil, errors.New(fmt.Sprintf("unknow colType: %v", dataType)) | 			return nil, nil, fmt.Errorf("Unknown colType: %v", dataType) | ||||||
| 		} | 		} | ||||||
| 
 | 
 | ||||||
| 		col.Length = maxLen | 		col.Length = maxLen | ||||||
|  | @ -1087,5 +1088,5 @@ func (db *postgres) GetIndexes(tableName string) (map[string]*core.Index, error) | ||||||
| } | } | ||||||
| 
 | 
 | ||||||
| func (db *postgres) Filters() []core.Filter { | func (db *postgres) Filters() []core.Filter { | ||||||
| 	return []core.Filter{&core.IdFilter{}, &core.QuoteFilter{}, &core.SeqFilter{"$", 1}} | 	return []core.Filter{&core.IdFilter{}, &core.QuoteFilter{}, &core.SeqFilter{Prefix: "$", Start: 1}} | ||||||
| } | } | ||||||
|  |  | ||||||
							
								
								
									
										12
									
								
								vendor/github.com/go-xorm/xorm/processors.go
									
									
									
										generated
									
									
										vendored
									
									
								
							
							
						
						
									
										12
									
								
								vendor/github.com/go-xorm/xorm/processors.go
									
									
									
										generated
									
									
										vendored
									
									
								
							|  | @ -4,17 +4,17 @@ | ||||||
| 
 | 
 | ||||||
| package xorm | package xorm | ||||||
| 
 | 
 | ||||||
| // Executed before an object is initially persisted to the database
 | // BeforeInsertProcessor executed before an object is initially persisted to the database
 | ||||||
| type BeforeInsertProcessor interface { | type BeforeInsertProcessor interface { | ||||||
| 	BeforeInsert() | 	BeforeInsert() | ||||||
| } | } | ||||||
| 
 | 
 | ||||||
| // Executed before an object is updated
 | // BeforeUpdateProcessor executed before an object is updated
 | ||||||
| type BeforeUpdateProcessor interface { | type BeforeUpdateProcessor interface { | ||||||
| 	BeforeUpdate() | 	BeforeUpdate() | ||||||
| } | } | ||||||
| 
 | 
 | ||||||
| // Executed before an object is deleted
 | // BeforeDeleteProcessor executed before an object is deleted
 | ||||||
| type BeforeDeleteProcessor interface { | type BeforeDeleteProcessor interface { | ||||||
| 	BeforeDelete() | 	BeforeDelete() | ||||||
| } | } | ||||||
|  | @ -34,17 +34,17 @@ type AfterSetProcessor interface { | ||||||
| //}
 | //}
 | ||||||
| // --
 | // --
 | ||||||
| 
 | 
 | ||||||
| // Executed after an object is persisted to the database
 | // AfterInsertProcessor executed after an object is persisted to the database
 | ||||||
| type AfterInsertProcessor interface { | type AfterInsertProcessor interface { | ||||||
| 	AfterInsert() | 	AfterInsert() | ||||||
| } | } | ||||||
| 
 | 
 | ||||||
| // Executed after an object has been updated
 | // AfterUpdateProcessor executed after an object has been updated
 | ||||||
| type AfterUpdateProcessor interface { | type AfterUpdateProcessor interface { | ||||||
| 	AfterUpdate() | 	AfterUpdate() | ||||||
| } | } | ||||||
| 
 | 
 | ||||||
| // Executed after an object has been deleted
 | // AfterDeleteProcessor executed after an object has been deleted
 | ||||||
| type AfterDeleteProcessor interface { | type AfterDeleteProcessor interface { | ||||||
| 	AfterDelete() | 	AfterDelete() | ||||||
| } | } | ||||||
|  |  | ||||||
							
								
								
									
										42
									
								
								vendor/github.com/go-xorm/xorm/session.go
									
									
									
										generated
									
									
										vendored
									
									
								
							
							
						
						
									
										42
									
								
								vendor/github.com/go-xorm/xorm/session.go
									
									
									
										generated
									
									
										vendored
									
									
								
							|  | @ -371,7 +371,7 @@ func (session *Session) DB() *core.DB { | ||||||
| 	return session.db | 	return session.db | ||||||
| } | } | ||||||
| 
 | 
 | ||||||
| // Cond return session's conditions
 | // Conds returns session query conditions
 | ||||||
| func (session *Session) Conds() builder.Cond { | func (session *Session) Conds() builder.Cond { | ||||||
| 	return session.Statement.cond | 	return session.Statement.cond | ||||||
| } | } | ||||||
|  | @ -1119,11 +1119,12 @@ func (session *Session) Count(bean interface{}) (int64, error) { | ||||||
| 	} else { | 	} else { | ||||||
| 		err = session.Tx.QueryRow(sqlStr, args...).Scan(&total) | 		err = session.Tx.QueryRow(sqlStr, args...).Scan(&total) | ||||||
| 	} | 	} | ||||||
| 	if err != nil { | 
 | ||||||
| 		return 0, err | 	if err == sql.ErrNoRows || err == nil { | ||||||
|  | 		return total, nil | ||||||
| 	} | 	} | ||||||
| 
 | 
 | ||||||
| 	return total, nil | 	return 0, err | ||||||
| } | } | ||||||
| 
 | 
 | ||||||
| // Sum call sum some column. bean's non-empty fields are conditions.
 | // Sum call sum some column. bean's non-empty fields are conditions.
 | ||||||
|  | @ -1151,11 +1152,11 @@ func (session *Session) Sum(bean interface{}, columnName string) (float64, error | ||||||
| 	} else { | 	} else { | ||||||
| 		err = session.Tx.QueryRow(sqlStr, args...).Scan(&res) | 		err = session.Tx.QueryRow(sqlStr, args...).Scan(&res) | ||||||
| 	} | 	} | ||||||
| 	if err != nil { |  | ||||||
| 		return 0, err |  | ||||||
| 	} |  | ||||||
| 
 | 
 | ||||||
| 	return res, nil | 	if err == sql.ErrNoRows || err == nil { | ||||||
|  | 		return res, nil | ||||||
|  | 	} | ||||||
|  | 	return 0, err | ||||||
| } | } | ||||||
| 
 | 
 | ||||||
| // Sums call sum some columns. bean's non-empty fields are conditions.
 | // Sums call sum some columns. bean's non-empty fields are conditions.
 | ||||||
|  | @ -1183,11 +1184,11 @@ func (session *Session) Sums(bean interface{}, columnNames ...string) ([]float64 | ||||||
| 	} else { | 	} else { | ||||||
| 		err = session.Tx.QueryRow(sqlStr, args...).ScanSlice(&res) | 		err = session.Tx.QueryRow(sqlStr, args...).ScanSlice(&res) | ||||||
| 	} | 	} | ||||||
| 	if err != nil { |  | ||||||
| 		return nil, err |  | ||||||
| 	} |  | ||||||
| 
 | 
 | ||||||
| 	return res, nil | 	if err == sql.ErrNoRows || err == nil { | ||||||
|  | 		return res, nil | ||||||
|  | 	} | ||||||
|  | 	return nil, err | ||||||
| } | } | ||||||
| 
 | 
 | ||||||
| // SumsInt sum specify columns and return as []int64 instead of []float64
 | // SumsInt sum specify columns and return as []int64 instead of []float64
 | ||||||
|  | @ -1215,11 +1216,11 @@ func (session *Session) SumsInt(bean interface{}, columnNames ...string) ([]int6 | ||||||
| 	} else { | 	} else { | ||||||
| 		err = session.Tx.QueryRow(sqlStr, args...).ScanSlice(&res) | 		err = session.Tx.QueryRow(sqlStr, args...).ScanSlice(&res) | ||||||
| 	} | 	} | ||||||
| 	if err != nil { |  | ||||||
| 		return nil, err |  | ||||||
| 	} |  | ||||||
| 
 | 
 | ||||||
| 	return res, nil | 	if err == sql.ErrNoRows || err == nil { | ||||||
|  | 		return res, nil | ||||||
|  | 	} | ||||||
|  | 	return nil, err | ||||||
| } | } | ||||||
| 
 | 
 | ||||||
| func (session *Session) noCacheFind(sliceValue reflect.Value, sqlStr string, args ...interface{}) error { | func (session *Session) noCacheFind(sliceValue reflect.Value, sqlStr string, args ...interface{}) error { | ||||||
|  | @ -1499,10 +1500,13 @@ func (session *Session) isTableEmpty(tableName string) (bool, error) { | ||||||
| 	} | 	} | ||||||
| 
 | 
 | ||||||
| 	var total int64 | 	var total int64 | ||||||
| 	sql := fmt.Sprintf("select count(*) from %s", session.Engine.Quote(tableName)) | 	sqlStr := fmt.Sprintf("select count(*) from %s", session.Engine.Quote(tableName)) | ||||||
| 	err := session.DB().QueryRow(sql).Scan(&total) | 	err := session.DB().QueryRow(sqlStr).Scan(&total) | ||||||
| 	session.saveLastSQL(sql) | 	session.saveLastSQL(sqlStr) | ||||||
| 	if err != nil { | 	if err != nil { | ||||||
|  | 		if err == sql.ErrNoRows { | ||||||
|  | 			err = nil | ||||||
|  | 		} | ||||||
| 		return true, err | 		return true, err | ||||||
| 	} | 	} | ||||||
| 
 | 
 | ||||||
|  |  | ||||||
							
								
								
									
										7
									
								
								vendor/github.com/go-xorm/xorm/sqlite3_dialect.go
									
									
									
										generated
									
									
										vendored
									
									
								
							
							
						
						
									
										7
									
								
								vendor/github.com/go-xorm/xorm/sqlite3_dialect.go
									
									
									
										generated
									
									
										vendored
									
									
								
							|  | @ -237,9 +237,10 @@ func (db *sqlite3) TableCheckSql(tableName string) (string, []interface{}) { | ||||||
| } | } | ||||||
| 
 | 
 | ||||||
| func (db *sqlite3) DropIndexSql(tableName string, index *core.Index) string { | func (db *sqlite3) DropIndexSql(tableName string, index *core.Index) string { | ||||||
| 	quote := db.Quote |  | ||||||
| 	//var unique string
 | 	//var unique string
 | ||||||
| 	var idxName string = index.Name | 	quote := db.Quote | ||||||
|  | 	idxName := index.Name | ||||||
|  | 
 | ||||||
| 	if !strings.HasPrefix(idxName, "UQE_") && | 	if !strings.HasPrefix(idxName, "UQE_") && | ||||||
| 		!strings.HasPrefix(idxName, "IDX_") { | 		!strings.HasPrefix(idxName, "IDX_") { | ||||||
| 		if index.Type == core.UniqueType { | 		if index.Type == core.UniqueType { | ||||||
|  | @ -319,7 +320,7 @@ func (db *sqlite3) GetColumns(tableName string) ([]string, map[string]*core.Colu | ||||||
| 				col.Name = strings.Trim(field, "`[] ") | 				col.Name = strings.Trim(field, "`[] ") | ||||||
| 				continue | 				continue | ||||||
| 			} else if idx == 1 { | 			} else if idx == 1 { | ||||||
| 				col.SQLType = core.SQLType{field, 0, 0} | 				col.SQLType = core.SQLType{Name: field, DefaultLength: 0, DefaultLength2: 0} | ||||||
| 			} | 			} | ||||||
| 			switch field { | 			switch field { | ||||||
| 			case "PRIMARY": | 			case "PRIMARY": | ||||||
|  |  | ||||||
							
								
								
									
										100
									
								
								vendor/github.com/go-xorm/xorm/statement.go
									
									
									
										generated
									
									
										vendored
									
									
								
							
							
						
						
									
										100
									
								
								vendor/github.com/go-xorm/xorm/statement.go
									
									
									
										generated
									
									
										vendored
									
									
								
							|  | @ -128,7 +128,7 @@ func (statement *Statement) Alias(alias string) *Statement { | ||||||
| 	return statement | 	return statement | ||||||
| } | } | ||||||
| 
 | 
 | ||||||
| // Sql add the raw sql statement
 | // SQL adds raw sql statement
 | ||||||
| func (statement *Statement) SQL(query interface{}, args ...interface{}) *Statement { | func (statement *Statement) SQL(query interface{}, args ...interface{}) *Statement { | ||||||
| 	switch query.(type) { | 	switch query.(type) { | ||||||
| 	case (*builder.Builder): | 	case (*builder.Builder): | ||||||
|  | @ -795,23 +795,23 @@ func (statement *Statement) col2NewColsWithQuote(columns ...string) []string { | ||||||
| 	return newColumns | 	return newColumns | ||||||
| } | } | ||||||
| 
 | 
 | ||||||
| // Generate "Distince col1, col2 " statment
 | // Distinct generates "DISTINCT col1, col2 " statement
 | ||||||
| func (statement *Statement) Distinct(columns ...string) *Statement { | func (statement *Statement) Distinct(columns ...string) *Statement { | ||||||
| 	statement.IsDistinct = true | 	statement.IsDistinct = true | ||||||
| 	statement.Cols(columns...) | 	statement.Cols(columns...) | ||||||
| 	return statement | 	return statement | ||||||
| } | } | ||||||
| 
 | 
 | ||||||
| // Generate "SELECT ... FOR UPDATE" statment
 | // ForUpdate generates "SELECT ... FOR UPDATE" statement
 | ||||||
| func (statement *Statement) ForUpdate() *Statement { | func (statement *Statement) ForUpdate() *Statement { | ||||||
| 	statement.IsForUpdate = true | 	statement.IsForUpdate = true | ||||||
| 	return statement | 	return statement | ||||||
| } | } | ||||||
| 
 | 
 | ||||||
| // Select replace select
 | // Select replace select
 | ||||||
| func (s *Statement) Select(str string) *Statement { | func (statement *Statement) Select(str string) *Statement { | ||||||
| 	s.selectStr = str | 	statement.selectStr = str | ||||||
| 	return s | 	return statement | ||||||
| } | } | ||||||
| 
 | 
 | ||||||
| // Cols generate "col1, col2" statement
 | // Cols generate "col1, col2" statement
 | ||||||
|  | @ -985,41 +985,45 @@ func (statement *Statement) Unscoped() *Statement { | ||||||
| } | } | ||||||
| 
 | 
 | ||||||
| func (statement *Statement) genColumnStr() string { | func (statement *Statement) genColumnStr() string { | ||||||
| 	table := statement.RefTable | 
 | ||||||
| 	var colNames []string | 	var buf bytes.Buffer | ||||||
| 	for _, col := range table.Columns() { | 
 | ||||||
|  | 	columns := statement.RefTable.Columns() | ||||||
|  | 
 | ||||||
|  | 	for _, col := range columns { | ||||||
|  | 
 | ||||||
| 		if statement.OmitStr != "" { | 		if statement.OmitStr != "" { | ||||||
| 			if _, ok := statement.columnMap[strings.ToLower(col.Name)]; ok { | 			if _, ok := statement.columnMap[strings.ToLower(col.Name)]; ok { | ||||||
| 				continue | 				continue | ||||||
| 			} | 			} | ||||||
| 		} | 		} | ||||||
|  | 
 | ||||||
| 		if col.MapType == core.ONLYTODB { | 		if col.MapType == core.ONLYTODB { | ||||||
| 			continue | 			continue | ||||||
| 		} | 		} | ||||||
| 
 | 
 | ||||||
| 		if statement.JoinStr != "" { | 		if buf.Len() != 0 { | ||||||
| 			var name string | 			buf.WriteString(", ") | ||||||
| 			if statement.TableAlias != "" { |  | ||||||
| 				name = statement.Engine.Quote(statement.TableAlias) |  | ||||||
| 			} else { |  | ||||||
| 				name = statement.Engine.Quote(statement.TableName()) |  | ||||||
| 			} |  | ||||||
| 			name += "." + statement.Engine.Quote(col.Name) |  | ||||||
| 			if col.IsPrimaryKey && statement.Engine.Dialect().DBType() == "ql" { |  | ||||||
| 				colNames = append(colNames, "id() AS "+name) |  | ||||||
| 			} else { |  | ||||||
| 				colNames = append(colNames, name) |  | ||||||
| 			} |  | ||||||
| 		} else { |  | ||||||
| 			name := statement.Engine.Quote(col.Name) |  | ||||||
| 			if col.IsPrimaryKey && statement.Engine.Dialect().DBType() == "ql" { |  | ||||||
| 				colNames = append(colNames, "id() AS "+name) |  | ||||||
| 			} else { |  | ||||||
| 				colNames = append(colNames, name) |  | ||||||
| 			} |  | ||||||
| 		} | 		} | ||||||
|  | 
 | ||||||
|  | 		if col.IsPrimaryKey && statement.Engine.Dialect().DBType() == "ql" { | ||||||
|  | 			buf.WriteString("id() AS ") | ||||||
|  | 		} | ||||||
|  | 
 | ||||||
|  | 		if statement.JoinStr != "" { | ||||||
|  | 			if statement.TableAlias != "" { | ||||||
|  | 				buf.WriteString(statement.TableAlias) | ||||||
|  | 			} else { | ||||||
|  | 				buf.WriteString(statement.TableName()) | ||||||
|  | 			} | ||||||
|  | 
 | ||||||
|  | 			buf.WriteString(".") | ||||||
|  | 		} | ||||||
|  | 
 | ||||||
|  | 		statement.Engine.QuoteTo(&buf, col.Name) | ||||||
| 	} | 	} | ||||||
| 	return strings.Join(colNames, ", ") | 
 | ||||||
|  | 	return buf.String() | ||||||
| } | } | ||||||
| 
 | 
 | ||||||
| func (statement *Statement) genCreateTableSQL() string { | func (statement *Statement) genCreateTableSQL() string { | ||||||
|  | @ -1027,11 +1031,11 @@ func (statement *Statement) genCreateTableSQL() string { | ||||||
| 		statement.StoreEngine, statement.Charset) | 		statement.StoreEngine, statement.Charset) | ||||||
| } | } | ||||||
| 
 | 
 | ||||||
| func (s *Statement) genIndexSQL() []string { | func (statement *Statement) genIndexSQL() []string { | ||||||
| 	var sqls []string | 	var sqls []string | ||||||
| 	tbName := s.TableName() | 	tbName := statement.TableName() | ||||||
| 	quote := s.Engine.Quote | 	quote := statement.Engine.Quote | ||||||
| 	for idxName, index := range s.RefTable.Indexes { | 	for idxName, index := range statement.RefTable.Indexes { | ||||||
| 		if index.Type == core.IndexType { | 		if index.Type == core.IndexType { | ||||||
| 			sql := fmt.Sprintf("CREATE INDEX %v ON %v (%v);", quote(indexName(tbName, idxName)), | 			sql := fmt.Sprintf("CREATE INDEX %v ON %v (%v);", quote(indexName(tbName, idxName)), | ||||||
| 				quote(tbName), quote(strings.Join(index.Cols, quote(",")))) | 				quote(tbName), quote(strings.Join(index.Cols, quote(",")))) | ||||||
|  | @ -1045,41 +1049,41 @@ func uniqueName(tableName, uqeName string) string { | ||||||
| 	return fmt.Sprintf("UQE_%v_%v", tableName, uqeName) | 	return fmt.Sprintf("UQE_%v_%v", tableName, uqeName) | ||||||
| } | } | ||||||
| 
 | 
 | ||||||
| func (s *Statement) genUniqueSQL() []string { | func (statement *Statement) genUniqueSQL() []string { | ||||||
| 	var sqls []string | 	var sqls []string | ||||||
| 	tbName := s.TableName() | 	tbName := statement.TableName() | ||||||
| 	for _, index := range s.RefTable.Indexes { | 	for _, index := range statement.RefTable.Indexes { | ||||||
| 		if index.Type == core.UniqueType { | 		if index.Type == core.UniqueType { | ||||||
| 			sql := s.Engine.dialect.CreateIndexSql(tbName, index) | 			sql := statement.Engine.dialect.CreateIndexSql(tbName, index) | ||||||
| 			sqls = append(sqls, sql) | 			sqls = append(sqls, sql) | ||||||
| 		} | 		} | ||||||
| 	} | 	} | ||||||
| 	return sqls | 	return sqls | ||||||
| } | } | ||||||
| 
 | 
 | ||||||
| func (s *Statement) genDelIndexSQL() []string { | func (statement *Statement) genDelIndexSQL() []string { | ||||||
| 	var sqls []string | 	var sqls []string | ||||||
| 	tbName := s.TableName() | 	tbName := statement.TableName() | ||||||
| 	for idxName, index := range s.RefTable.Indexes { | 	for idxName, index := range statement.RefTable.Indexes { | ||||||
| 		var rIdxName string | 		var rIdxName string | ||||||
| 		if index.Type == core.UniqueType { | 		if index.Type == core.UniqueType { | ||||||
| 			rIdxName = uniqueName(tbName, idxName) | 			rIdxName = uniqueName(tbName, idxName) | ||||||
| 		} else if index.Type == core.IndexType { | 		} else if index.Type == core.IndexType { | ||||||
| 			rIdxName = indexName(tbName, idxName) | 			rIdxName = indexName(tbName, idxName) | ||||||
| 		} | 		} | ||||||
| 		sql := fmt.Sprintf("DROP INDEX %v", s.Engine.Quote(rIdxName)) | 		sql := fmt.Sprintf("DROP INDEX %v", statement.Engine.Quote(rIdxName)) | ||||||
| 		if s.Engine.dialect.IndexOnTable() { | 		if statement.Engine.dialect.IndexOnTable() { | ||||||
| 			sql += fmt.Sprintf(" ON %v", s.Engine.Quote(s.TableName())) | 			sql += fmt.Sprintf(" ON %v", statement.Engine.Quote(statement.TableName())) | ||||||
| 		} | 		} | ||||||
| 		sqls = append(sqls, sql) | 		sqls = append(sqls, sql) | ||||||
| 	} | 	} | ||||||
| 	return sqls | 	return sqls | ||||||
| } | } | ||||||
| 
 | 
 | ||||||
| func (s *Statement) genAddColumnStr(col *core.Column) (string, []interface{}) { | func (statement *Statement) genAddColumnStr(col *core.Column) (string, []interface{}) { | ||||||
| 	quote := s.Engine.Quote | 	quote := statement.Engine.Quote | ||||||
| 	sql := fmt.Sprintf("ALTER TABLE %v ADD %v;", quote(s.TableName()), | 	sql := fmt.Sprintf("ALTER TABLE %v ADD %v;", quote(statement.TableName()), | ||||||
| 		col.String(s.Engine.dialect)) | 		col.String(statement.Engine.dialect)) | ||||||
| 	return sql, []interface{}{} | 	return sql, []interface{}{} | ||||||
| } | } | ||||||
| 
 | 
 | ||||||
|  |  | ||||||
							
								
								
									
										30
									
								
								vendor/vendor.json
									
									
									
									
										vendored
									
									
								
							
							
						
						
									
										30
									
								
								vendor/vendor.json
									
									
									
									
										vendored
									
									
								
							|  | @ -2,6 +2,18 @@ | ||||||
| 	"comment": "", | 	"comment": "", | ||||||
| 	"ignore": "test", | 	"ignore": "test", | ||||||
| 	"package": [ | 	"package": [ | ||||||
|  | 		{ | ||||||
|  | 			"checksumSHA1": "K3Gp8Tv/B8otlbsOfQp3UpJGaaE=", | ||||||
|  | 			"path": "code.gitea.io/git", | ||||||
|  | 			"revision": "766747ef8b271a2b1142edd0a40735f556ec2c1d", | ||||||
|  | 			"revisionTime": "2016-11-06T09:52:37Z" | ||||||
|  | 		}, | ||||||
|  | 		{ | ||||||
|  | 			"checksumSHA1": "/uhZZppDeb3Rbp3h8C0ALR3hdrA=", | ||||||
|  | 			"path": "code.gitea.io/sdk/gitea", | ||||||
|  | 			"revision": "0a0a04ccf7a5e6b93d9a5507701635330cf4579c", | ||||||
|  | 			"revisionTime": "2016-11-07T15:06:50Z" | ||||||
|  | 		}, | ||||||
| 		{ | 		{ | ||||||
| 			"checksumSHA1": "IyfS7Rbl6OgR83QR7TOfKdDCq+M=", | 			"checksumSHA1": "IyfS7Rbl6OgR83QR7TOfKdDCq+M=", | ||||||
| 			"path": "github.com/Unknwon/cae", | 			"path": "github.com/Unknwon/cae", | ||||||
|  | @ -38,18 +50,6 @@ | ||||||
| 			"revision": "fb1f79c6b65acda83063cbc69f6bba1522558bfc", | 			"revision": "fb1f79c6b65acda83063cbc69f6bba1522558bfc", | ||||||
| 			"revisionTime": "2016-01-17T19:21:50Z" | 			"revisionTime": "2016-01-17T19:21:50Z" | ||||||
| 		}, | 		}, | ||||||
| 		{ |  | ||||||
| 			"checksumSHA1": "K3Gp8Tv/B8otlbsOfQp3UpJGaaE=", |  | ||||||
| 			"path": "code.gitea.io/git", |  | ||||||
| 			"revision": "766747ef8b271a2b1142edd0a40735f556ec2c1d", |  | ||||||
| 			"revisionTime": "2016-11-06T09:52:37Z" |  | ||||||
| 		}, |  | ||||||
| 		{ |  | ||||||
| 			"checksumSHA1": "/uhZZppDeb3Rbp3h8C0ALR3hdrA=", |  | ||||||
| 			"path": "code.gitea.io/sdk/gitea", |  | ||||||
| 			"revision": "0a0a04ccf7a5e6b93d9a5507701635330cf4579c", |  | ||||||
| 			"revisionTime": "2016-11-07T15:06:50Z" |  | ||||||
| 		}, |  | ||||||
| 		{ | 		{ | ||||||
| 			"checksumSHA1": "Lf3uUXTkKK5DJ37BxQvxO1Fq+K8=", | 			"checksumSHA1": "Lf3uUXTkKK5DJ37BxQvxO1Fq+K8=", | ||||||
| 			"path": "github.com/davecgh/go-spew/spew", | 			"path": "github.com/davecgh/go-spew/spew", | ||||||
|  | @ -147,10 +147,10 @@ | ||||||
| 			"revisionTime": "2016-11-01T01:36:51Z" | 			"revisionTime": "2016-11-01T01:36:51Z" | ||||||
| 		}, | 		}, | ||||||
| 		{ | 		{ | ||||||
| 			"checksumSHA1": "+h0UQPxV/rdGOIL3vqwNU6++TyM=", | 			"checksumSHA1": "eOdqyQnmqdF0VZpBgYoOaYQDaiw=", | ||||||
| 			"path": "github.com/go-xorm/xorm", | 			"path": "github.com/go-xorm/xorm", | ||||||
| 			"revision": "2b4faaaeabd118dfa541e751564004db98a6e995", | 			"revision": "f2610e02a1a1240d663ebe5bcde6c9ad4f1372cb", | ||||||
| 			"revisionTime": "2016-11-01T14:44:45Z" | 			"revisionTime": "2016-11-11T16:13:12Z" | ||||||
| 		}, | 		}, | ||||||
| 		{ | 		{ | ||||||
| 			"checksumSHA1": "1ft/4j5MFa7C9dPI9whL03HSUzk=", | 			"checksumSHA1": "1ft/4j5MFa7C9dPI9whL03HSUzk=", | ||||||
|  |  | ||||||
		Loading…
	
		Reference in a new issue