@@ -305,19 +305,34 @@ func (table *table) Init() (err error) {
305
305
return errors .New ("can't init twice" )
306
306
}
307
307
308
- table .rows , err = table .data .tx .Query ("SELECT * FROM " + table .NameEsc ())
308
+ var columns []string
309
+
310
+ colInfo , err := table .data .tx .Query ("SHOW FIELDS FROM " + table .NameEsc ())
309
311
if err != nil {
310
312
return err
311
313
}
312
314
313
- columns , err := table .rows .Columns ()
314
- if err != nil {
315
- return err
315
+ for colInfo .Next () {
316
+ var field , t , null , key , def , extra string
317
+ colInfo .Scan (& field , & t , & null , & key , & def , & extra )
318
+ if field == "cert_blob_lookup_hash" {
319
+ fmt .Println ("this is a thing" )
320
+ }
321
+
322
+ columns = append (columns , field )
316
323
}
324
+
317
325
if len (columns ) == 0 {
318
326
return errors .New ("No columns in table " + table .Name + "." )
319
327
}
320
328
329
+ // Total query plus sanitization
330
+
331
+ table .rows , err = table .data .tx .Query ("SELECT * FROM " + table .NameEsc ())
332
+ if err != nil {
333
+ return err
334
+ }
335
+
321
336
tt , err := table .rows .ColumnTypes ()
322
337
if err != nil {
323
338
return err
@@ -329,11 +344,6 @@ func (table *table) Init() (err error) {
329
344
st := tp .ScanType ()
330
345
dt := tp .DatabaseTypeName ()
331
346
332
- // SHOW FIELDS FROM jamfsoftware.computer_installed_certificates;
333
- // if tp.Name() == "cert_blob_lookup_hash" {
334
- // fmt.Println("why though =", st, ":", dt)
335
- // }
336
-
337
347
if dt == "BLOB" || dt == "BINARY" {
338
348
t = reflect .TypeOf (sql.RawBytes {})
339
349
} else if dt == "VARCHAR" || dt == "TEXT" || dt == "DECIMAL" {
0 commit comments