@@ -701,7 +701,7 @@ func (c *Client) reconnect() (err os.Error) {
701
701
// Reset the client
702
702
c .reset ()
703
703
// Attempt to reconnect
704
- for i := 0 ; i < 10 ; i ++ {
704
+ for i := 0 ; i < 10 ; i ++ {
705
705
err = c .connect ()
706
706
if err == nil {
707
707
c .connected = true
@@ -721,34 +721,34 @@ func (c *Client) command(command command, args ...interface{}) (err os.Error) {
721
721
// No args
722
722
case COM_QUIT , COM_STATISTICS , COM_PROCESS_INFO , COM_DEBUG , COM_PING :
723
723
if len (args ) != 0 {
724
- err = os . NewError ( fmt . Sprintf ( "Invalid arg count, expected 0 but found %d" , len ( args )))
724
+ return & ClientError { CR_UNKNOWN_ERROR , CR_UNKNOWN_ERROR_STR }
725
725
}
726
726
// 1 arg
727
727
case COM_INIT_DB , COM_QUERY , COM_REFRESH , COM_SHUTDOWN , COM_PROCESS_KILL , COM_STMT_PREPARE , COM_STMT_CLOSE , COM_STMT_RESET :
728
728
if len (args ) != 1 {
729
- err = os . NewError ( fmt . Sprintf ( "Invalid arg count, expected 1 but found %d" , len ( args )))
729
+ return & ClientError { CR_UNKNOWN_ERROR , CR_UNKNOWN_ERROR_STR }
730
730
}
731
731
// 1 or 2 args
732
732
case COM_FIELD_LIST :
733
733
if len (args ) != 1 && len (args ) != 2 {
734
- err = os . NewError ( fmt . Sprintf ( "Invalid arg count, expected 1 or 2 but found %d" , len ( args )))
734
+ return & ClientError { CR_UNKNOWN_ERROR , CR_UNKNOWN_ERROR_STR }
735
735
}
736
736
// 2 args
737
737
case COM_STMT_FETCH :
738
738
if len (args ) != 2 {
739
- err = os . NewError ( fmt . Sprintf ( "Invalid arg count, expected 2 but found %d" , len ( args )))
739
+ return & ClientError { CR_UNKNOWN_ERROR , CR_UNKNOWN_ERROR_STR }
740
740
}
741
741
// 4 args
742
742
case COM_CHANGE_USER :
743
743
if len (args ) != 4 {
744
- err = os . NewError ( fmt . Sprintf ( "Invalid arg count, expected 4 but found %d" , len ( args )))
744
+ return & ClientError { CR_UNKNOWN_ERROR , CR_UNKNOWN_ERROR_STR }
745
745
}
746
746
// Commands with custom functions
747
747
case COM_STMT_EXECUTE , COM_STMT_SEND_LONG_DATA :
748
- err = os . NewError ( "This command should not be used here" )
748
+ return & ClientError { CR_NOT_IMPLEMENTED , CR_NOT_IMPLEMENTED_STR }
749
749
// Everything else e.g. replication unsupported
750
750
default :
751
- err = os . NewError ( "This command is unsupported" )
751
+ return & ClientError { CR_NOT_IMPLEMENTED , CR_NOT_IMPLEMENTED_STR }
752
752
}
753
753
// Construct packet
754
754
p := & packetCommand {
@@ -772,8 +772,7 @@ func (c *Client) command(command command, args ...interface{}) (err os.Error) {
772
772
func (c * Client ) getFields () (err os.Error ) {
773
773
// Check for a valid result
774
774
if c .result == nil {
775
- err = os .NewError ("Need a result set to read fields" )
776
- return
775
+ return & ClientError {CR_NO_RESULT_SET , CR_NO_RESULT_SET_STR }
777
776
}
778
777
// Read fields till EOF is returned
779
778
for {
@@ -793,8 +792,7 @@ func (c *Client) getFields() (err os.Error) {
793
792
func (c * Client ) getRow () (eof bool , err os.Error ) {
794
793
// Check for a valid result
795
794
if c .result == nil {
796
- err = os .NewError ("Need a result set to read rows" )
797
- return
795
+ return false , & ClientError {CR_NO_RESULT_SET , CR_NO_RESULT_SET_STR }
798
796
}
799
797
// Read next row packet or EOF
800
798
c .sequence ++
@@ -828,7 +826,7 @@ func (c *Client) getResult(types packetType) (eof bool, err os.Error) {
828
826
// Process result packet
829
827
switch i := p .(type ) {
830
828
default :
831
- err = os . NewError ( "Unknown or unexpected packet or packet type" )
829
+ err = & ClientError { CR_UNKNOWN_ERROR , CR_UNKNOWN_ERROR_STR }
832
830
case * packetOK :
833
831
err = c .processOKResult (p .(* packetOK ))
834
832
case * packetError :
0 commit comments