|
@@ -96,6 +96,10 @@ func (mc *mysqlConn) handleParams() (err error) {
|
|
|
}
|
|
}
|
|
|
|
|
|
|
|
func (mc *mysqlConn) Begin() (driver.Tx, error) {
|
|
func (mc *mysqlConn) Begin() (driver.Tx, error) {
|
|
|
|
|
+ if mc.netConn == nil {
|
|
|
|
|
+ return nil, errInvalidConn
|
|
|
|
|
+ }
|
|
|
|
|
+
|
|
|
err := mc.exec("START TRANSACTION")
|
|
err := mc.exec("START TRANSACTION")
|
|
|
if err == nil {
|
|
if err == nil {
|
|
|
return &mysqlTx{mc}, err
|
|
return &mysqlTx{mc}, err
|
|
@@ -119,6 +123,10 @@ func (mc *mysqlConn) Close() (err error) {
|
|
|
}
|
|
}
|
|
|
|
|
|
|
|
func (mc *mysqlConn) Prepare(query string) (driver.Stmt, error) {
|
|
func (mc *mysqlConn) Prepare(query string) (driver.Stmt, error) {
|
|
|
|
|
+ if mc.netConn == nil {
|
|
|
|
|
+ return nil, errInvalidConn
|
|
|
|
|
+ }
|
|
|
|
|
+
|
|
|
// Send command
|
|
// Send command
|
|
|
err := mc.writeCommandPacketStr(comStmtPrepare, query)
|
|
err := mc.writeCommandPacketStr(comStmtPrepare, query)
|
|
|
if err != nil {
|
|
if err != nil {
|
|
@@ -148,6 +156,10 @@ func (mc *mysqlConn) Prepare(query string) (driver.Stmt, error) {
|
|
|
}
|
|
}
|
|
|
|
|
|
|
|
func (mc *mysqlConn) Exec(query string, args []driver.Value) (driver.Result, error) {
|
|
func (mc *mysqlConn) Exec(query string, args []driver.Value) (driver.Result, error) {
|
|
|
|
|
+ if mc.netConn == nil {
|
|
|
|
|
+ return nil, errInvalidConn
|
|
|
|
|
+ }
|
|
|
|
|
+
|
|
|
if len(args) == 0 { // no args, fastpath
|
|
if len(args) == 0 { // no args, fastpath
|
|
|
mc.affectedRows = 0
|
|
mc.affectedRows = 0
|
|
|
mc.insertId = 0
|
|
mc.insertId = 0
|
|
@@ -191,6 +203,9 @@ func (mc *mysqlConn) exec(query string) (err error) {
|
|
|
}
|
|
}
|
|
|
|
|
|
|
|
func (mc *mysqlConn) Query(query string, args []driver.Value) (driver.Rows, error) {
|
|
func (mc *mysqlConn) Query(query string, args []driver.Value) (driver.Rows, error) {
|
|
|
|
|
+ if mc.netConn == nil {
|
|
|
|
|
+ return nil, errInvalidConn
|
|
|
|
|
+ }
|
|
|
if len(args) == 0 { // no args, fastpath
|
|
if len(args) == 0 { // no args, fastpath
|
|
|
// Send command
|
|
// Send command
|
|
|
err := mc.writeCommandPacketStr(comQuery, query)
|
|
err := mc.writeCommandPacketStr(comQuery, query)
|