diff options
author | mattn <mattn.jp@gmail.com> | 2014-11-30 20:35:28 +0900 |
---|---|---|
committer | mattn <mattn.jp@gmail.com> | 2014-11-30 20:35:28 +0900 |
commit | beeda4c31194f4cdb15eb89d2f2b4be4474371c4 (patch) | |
tree | 31b53f50ba054d4a8013e191309f846490a82ff0 /sqlite3.go | |
parent | Reset statement. Fixes #150 (diff) | |
parent | Catch missing arguments for Query() (diff) | |
download | golite-beeda4c31194f4cdb15eb89d2f2b4be4474371c4.tar.gz golite-beeda4c31194f4cdb15eb89d2f2b4be4474371c4.tar.xz |
Merge pull request #160 from capoferro/patch-1
Catch missing arguments for Query()
Diffstat (limited to 'sqlite3.go')
-rw-r--r-- | sqlite3.go | 6 |
1 files changed, 5 insertions, 1 deletions
@@ -60,6 +60,7 @@ import ( "database/sql" "database/sql/driver" "errors" + "fmt" "io" "runtime" "strings" @@ -174,7 +175,7 @@ func (c *SQLiteConn) Exec(query string, args []driver.Value) (driver.Result, err if s.(*SQLiteStmt).s != nil { na := s.NumInput() if len(args) < na { - return nil, errors.New("args is not enough to execute query") + return nil, fmt.Errorf("Not enough args to execute query. Expected %d, got %d.", na, len(args)) } res, err = s.Exec(args[:na]) if err != nil && err != driver.ErrSkip { @@ -201,6 +202,9 @@ func (c *SQLiteConn) Query(query string, args []driver.Value) (driver.Rows, erro } s.(*SQLiteStmt).cls = true na := s.NumInput() + if len(args) < na { + return nil, fmt.Errorf("Not enough args to execute query. Expected %d, got %d.", na, len(args)) + } rows, err := s.Query(args[:na]) if err != nil && err != driver.ErrSkip { s.Close() |