more comments

This commit is contained in:
Jim Lambert 2020-02-18 07:54:42 -05:00
parent 9ecaf496db
commit c74761ea47

View File

@ -80,6 +80,7 @@ func (*OraCommon) fieldCanAutoIncrement(field *StructField) bool {
return field.IsPrimaryKey return field.IsPrimaryKey
} }
// BindVar returns a proper Ora bind var
func (OraCommon) BindVar(i int) string { func (OraCommon) BindVar(i int) string {
return fmt.Sprintf(":%v", i) return fmt.Sprintf(":%v", i)
} }
@ -92,6 +93,7 @@ func (OraCommon) Quote(key string) string {
return key return key
} }
// CurrentDatabase returns the current database
func (s OraCommon) CurrentDatabase() string { func (s OraCommon) CurrentDatabase() string {
var name string var name string
if err := s.db.QueryRow("SELECT ORA_DATABASE_NAME as \"Current Database\" FROM DUAL").Scan(&name); err != nil { if err := s.db.QueryRow("SELECT ORA_DATABASE_NAME as \"Current Database\" FROM DUAL").Scan(&name); err != nil {
@ -100,10 +102,12 @@ func (s OraCommon) CurrentDatabase() string {
return name return name
} }
// DefaultValueStr returns the ora's default value string
func (OraCommon) DefaultValueStr() string { func (OraCommon) DefaultValueStr() string {
return "VALUES (DEFAULT)" return "VALUES (DEFAULT)"
} }
// HasColumn checks if the column exists on the table
func (s OraCommon) HasColumn(tableName string, columnName string) bool { func (s OraCommon) HasColumn(tableName string, columnName string) bool {
var count int var count int
_, tableName = s.oraCurrentDatabaseAndTable(tableName) _, tableName = s.oraCurrentDatabaseAndTable(tableName)
@ -115,6 +119,7 @@ func (s OraCommon) HasColumn(tableName string, columnName string) bool {
return false return false
} }
// HasForeignKey checks for the foreign key
func (s OraCommon) HasForeignKey(tableName string, foreignKeyName string) bool { func (s OraCommon) HasForeignKey(tableName string, foreignKeyName string) bool {
var count int var count int
tableName = strings.ToUpper(tableName) tableName = strings.ToUpper(tableName)
@ -126,6 +131,7 @@ func (s OraCommon) HasForeignKey(tableName string, foreignKeyName string) bool {
return false return false
} }
// HasIndex checks for the index
func (s OraCommon) HasIndex(tableName string, indexName string) bool { func (s OraCommon) HasIndex(tableName string, indexName string) bool {
var count int var count int
tableName = strings.ToUpper(tableName) tableName = strings.ToUpper(tableName)
@ -136,6 +142,7 @@ func (s OraCommon) HasIndex(tableName string, indexName string) bool {
return false return false
} }
// HasTable checks for the table
func (s OraCommon) HasTable(tableName string) bool { func (s OraCommon) HasTable(tableName string) bool {
var count int var count int
_, tableName = s.oraCurrentDatabaseAndTable(tableName) _, tableName = s.oraCurrentDatabaseAndTable(tableName)
@ -146,28 +153,34 @@ func (s OraCommon) HasTable(tableName string) bool {
return false return false
} }
// LastInsertIDReturningSuffix returns the required suffix of nothing
func (OraCommon) LastInsertIDReturningSuffix(tableName, columnName string) string { func (OraCommon) LastInsertIDReturningSuffix(tableName, columnName string) string {
return "" return ""
} }
// LastInsertIDOutputInterstitial returnes the required interstitial of nothing
func (OraCommon) LastInsertIDOutputInterstitial(tableName, columnName string, columns []string) string { func (OraCommon) LastInsertIDOutputInterstitial(tableName, columnName string, columns []string) string {
return "" return ""
} }
// ModifyColumn returns the proper alter table stmt for changing the column def
func (s OraCommon) ModifyColumn(tableName string, columnName string, typ string) error { func (s OraCommon) ModifyColumn(tableName string, columnName string, typ string) error {
_, err := s.db.Exec(fmt.Sprintf("ALTER TABLE %v MODIFY %v %v", tableName, columnName, typ)) _, err := s.db.Exec(fmt.Sprintf("ALTER TABLE %v MODIFY %v %v", tableName, columnName, typ))
return err return err
} }
// RemoveIndex deletes the index
func (s OraCommon) RemoveIndex(tableName string, indexName string) error { func (s OraCommon) RemoveIndex(tableName string, indexName string) error {
_, err := s.db.Exec(fmt.Sprintf("DROP INDEX %v", indexName)) _, err := s.db.Exec(fmt.Sprintf("DROP INDEX %v", indexName))
return err return err
} }
// SelectFromDummyTable returns the name of the dummy table
func (OraCommon) SelectFromDummyTable() string { func (OraCommon) SelectFromDummyTable() string {
return "FROM DUAL" return "FROM DUAL"
} }
// SetDB is a setter for the db
func (s *OraCommon) SetDB(db SQLCommon) { func (s *OraCommon) SetDB(db SQLCommon) {
s.db = db s.db = db
} }
@ -180,6 +193,7 @@ func (s OraCommon) oraCurrentDatabaseAndTable(tableName string) (string, string)
return s.CurrentDatabase(), tableName return s.CurrentDatabase(), tableName
} }
// DataTypeOf returns the ora specific data type for the field
func (s *OraCommon) DataTypeOf(field *StructField) string { func (s *OraCommon) DataTypeOf(field *StructField) string {
if _, found := field.TagSettingsGet("RESTRICT"); found { if _, found := field.TagSettingsGet("RESTRICT"); found {
field.TagSettingsDelete("RESTRICT") field.TagSettingsDelete("RESTRICT")
@ -261,6 +275,8 @@ func (s *OraCommon) DataTypeOf(field *StructField) string {
} }
return fmt.Sprintf("%v %v", sqlType, additionalType) return fmt.Sprintf("%v %v", sqlType, additionalType)
} }
// LimitAddOffsetSQL returns the sql for limiting and offseting selects
func (s OraCommon) LimitAndOffsetSQL(limit, offset interface{}) (sql string, err error) { func (s OraCommon) LimitAndOffsetSQL(limit, offset interface{}) (sql string, err error) {
if limit != nil { if limit != nil {
if parsedLimit, err := strconv.ParseInt(fmt.Sprint(limit), 0, 0); err == nil && parsedLimit >= 0 { if parsedLimit, err := strconv.ParseInt(fmt.Sprint(limit), 0, 0); err == nil && parsedLimit >= 0 {