stub
parent
8f7e4b7095
commit
31e3547268
|
|
@ -1,3 +1,5 @@
|
||||||
module 0_setup
|
module 0_setup
|
||||||
|
|
||||||
go 1.18
|
go 1.18
|
||||||
|
|
||||||
|
require github.com/mattn/go-sqlite3 v1.14.15
|
||||||
|
|
|
||||||
|
|
@ -0,0 +1,2 @@
|
||||||
|
github.com/mattn/go-sqlite3 v1.14.15 h1:vfoHhTN1af61xCRSWzFIWzx2YskyMTwHLrExkBOjvxI=
|
||||||
|
github.com/mattn/go-sqlite3 v1.14.15/go.mod h1:2eHXhiwb8IkHr+BDWZGa96P6+rkvnG63S2DGjv9HUNg=
|
||||||
|
|
@ -3,8 +3,11 @@ package main
|
||||||
import (
|
import (
|
||||||
"database/sql"
|
"database/sql"
|
||||||
"flag"
|
"flag"
|
||||||
|
"fmt"
|
||||||
"log"
|
"log"
|
||||||
"strings"
|
"strings"
|
||||||
|
|
||||||
|
_ "github.com/mattn/go-sqlite3"
|
||||||
)
|
)
|
||||||
|
|
||||||
func main() {
|
func main() {
|
||||||
|
|
@ -17,10 +20,38 @@ func main() {
|
||||||
panic(err)
|
panic(err)
|
||||||
}
|
}
|
||||||
|
|
||||||
if strings.HasPrefix(strings.ToUpper(strings.TrimSpace(*q)), "SELECT") {
|
query := strings.Trim(strings.TrimSpace(*q), ";") + ";"
|
||||||
panic("not impl")
|
|
||||||
|
if strings.HasPrefix(strings.ToUpper(strings.TrimSpace(query)), "SELECT") {
|
||||||
|
rows, err := db.Query(query)
|
||||||
|
if err != nil {
|
||||||
|
panic(err)
|
||||||
|
}
|
||||||
|
defer rows.Close()
|
||||||
|
|
||||||
|
columns, err := rows.Columns()
|
||||||
|
if err != nil {
|
||||||
|
panic(err)
|
||||||
|
}
|
||||||
|
|
||||||
|
ptrs := make([]any, len(columns))
|
||||||
|
for i := range ptrs {
|
||||||
|
var v interface{}
|
||||||
|
ptrs[i] = &v
|
||||||
|
}
|
||||||
|
|
||||||
|
for rows.Next() {
|
||||||
|
if err := rows.Scan(ptrs...); err != nil {
|
||||||
|
panic(err)
|
||||||
|
}
|
||||||
|
for i := range ptrs {
|
||||||
|
ptr := ptrs[i].(*interface{})
|
||||||
|
columns[i] = fmt.Sprint(*ptr)
|
||||||
|
}
|
||||||
|
log.Println(columns)
|
||||||
|
}
|
||||||
} else {
|
} else {
|
||||||
stmt, err := db.Prepare(*q)
|
stmt, err := db.Prepare(query)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
panic(err)
|
panic(err)
|
||||||
}
|
}
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue