Skip to content

Commit ab253cf

Browse files
- Refactor code
1 parent 76dae38 commit ab253cf

File tree

1 file changed

+23
-19
lines changed

1 file changed

+23
-19
lines changed

code.go

Lines changed: 23 additions & 19 deletions
Original file line numberDiff line numberDiff line change
@@ -50,41 +50,45 @@ type DynamicSqlCodeLoader struct {
5050
DB *sql.DB
5151
Query string
5252
ParameterCount int
53-
HandleDriver bool
5453
Driver string
5554
}
55+
5656
func NewDefaultDynamicSqlCodeLoader(db *sql.DB, query string) *DynamicSqlCodeLoader {
5757
driver := GetDriver(db)
58-
return &DynamicSqlCodeLoader{DB: db, Query: query, ParameterCount: 0, HandleDriver: true, Driver: driver}
58+
return &DynamicSqlCodeLoader{DB: db, Query: query, ParameterCount: 0, Driver: driver}
59+
return NewDynamicSqlCodeLoader(db, query, 0, true)
5960
}
6061
func NewDynamicSqlCodeLoader(db *sql.DB, query string, parameterCount int, handleDriver bool) *DynamicSqlCodeLoader {
6162
driver := GetDriver(db)
62-
return &DynamicSqlCodeLoader{DB: db, Query: query, ParameterCount: parameterCount, HandleDriver: handleDriver, Driver: driver}
63-
}
64-
func (l DynamicSqlCodeLoader) Load(ctx context.Context, master string) ([]CodeModel, error) {
65-
models := make([]CodeModel, 0)
66-
params := make([]interface{}, 0)
67-
params = append(params, master)
68-
if l.ParameterCount > 1 {
69-
for i := 2; i <= l.ParameterCount; i++ {
70-
params = append(params, master)
71-
}
63+
if parameterCount <= 0 {
64+
parameterCount = 1
7265
}
73-
driver := l.Driver
74-
if l.HandleDriver {
66+
if handleDriver {
7567
if driver == DriverOracle || driver == DriverPostgres {
7668
var x string
7769
if driver == DriverOracle {
7870
x = ":val"
7971
} else {
8072
x = "$"
8173
}
82-
for i := 0; i < len(params); i++ {
74+
for i := 0; i < parameterCount; i++ {
8375
count := i + 1
84-
l.Query = strings.Replace(l.Query, "?", x + strconv.Itoa(count), 1)
76+
query = strings.Replace(query, "?", x+strconv.Itoa(count), 1)
8577
}
8678
}
8779
}
80+
return &DynamicSqlCodeLoader{DB: db, Query: query, ParameterCount: parameterCount, Driver: driver}
81+
}
82+
func (l DynamicSqlCodeLoader) Load(ctx context.Context, master string) ([]CodeModel, error) {
83+
models := make([]CodeModel, 0)
84+
params := make([]interface{}, 0)
85+
params = append(params, master)
86+
if l.ParameterCount > 1 {
87+
for i := 2; i <= l.ParameterCount; i++ {
88+
params = append(params, master)
89+
}
90+
}
91+
driver := l.Driver
8892
rows, er1 := l.DB.Query(l.Query, params...)
8993
if er1 != nil {
9094
return models, er1
@@ -167,7 +171,7 @@ func (l SqlCodeLoader) Load(ctx context.Context, master string) ([]CodeModel, er
167171
p2 = fmt.Sprintf("%s = $%d", c.Status, i)
168172
} else if l.Driver == DriverOracle {
169173
p1 = fmt.Sprintf("%s = :val%d", c.Status, i)
170-
}else {
174+
} else {
171175
p2 = fmt.Sprintf("%s = ?", c.Status)
172176
}
173177
values = append(values, c.Active)
@@ -190,9 +194,9 @@ func (l SqlCodeLoader) Load(ctx context.Context, master string) ([]CodeModel, er
190194
}
191195
}
192196
if len(sql2) > 0 {
193-
if l.Driver == DriverOracle || l.Driver == DriverPostgres {
197+
if l.Driver == DriverOracle || l.Driver == DriverPostgres {
194198
var x string
195-
if l.Driver == DriverOracle {
199+
if l.Driver == DriverOracle {
196200
x = ":val"
197201
} else {
198202
x = "$"

0 commit comments

Comments
 (0)