Explorar el Código

Add CDC error (#1163)

Jaume Marhuenda hace 7 años
padre
commit
90e9ffdd8b
Se han modificado 2 ficheros con 13 adiciones y 1 borrados
  1. 5 0
      errors.go
  2. 8 1
      frame.go

+ 5 - 0
errors.go

@@ -15,6 +15,7 @@ const (
 	errReadFailure     = 0x1300
 	errReadFailure     = 0x1300
 	errFunctionFailure = 0x1400
 	errFunctionFailure = 0x1400
 	errWriteFailure    = 0x1500
 	errWriteFailure    = 0x1500
+	errCDCWriteFailure = 0x1600
 	errSyntax          = 0x2000
 	errSyntax          = 0x2000
 	errUnauthorized    = 0x2100
 	errUnauthorized    = 0x2100
 	errInvalid         = 0x2200
 	errInvalid         = 0x2200
@@ -80,6 +81,10 @@ type RequestErrWriteFailure struct {
 	WriteType   string
 	WriteType   string
 }
 }
 
 
+type RequestErrCDCWriteFailure struct {
+	errorFrame
+}
+
 type RequestErrReadTimeout struct {
 type RequestErrReadTimeout struct {
 	errorFrame
 	errorFrame
 	Consistency Consistency
 	Consistency Consistency

+ 8 - 1
frame.go

@@ -657,13 +657,20 @@ func (f *framer) parseErrorFrame() frame {
 		res.WriteType = f.readString()
 		res.WriteType = f.readString()
 		return res
 		return res
 	case errFunctionFailure:
 	case errFunctionFailure:
-		res := RequestErrFunctionFailure{
+		res := &RequestErrFunctionFailure{
 			errorFrame: errD,
 			errorFrame: errD,
 		}
 		}
 		res.Keyspace = f.readString()
 		res.Keyspace = f.readString()
 		res.Function = f.readString()
 		res.Function = f.readString()
 		res.ArgTypes = f.readStringList()
 		res.ArgTypes = f.readStringList()
 		return res
 		return res
+
+	case errCDCWriteFailure:
+		res := &RequestErrCDCWriteFailure{
+			errorFrame: errD,
+		}
+		return res
+
 	case errInvalid, errBootstrapping, errConfig, errCredentials, errOverloaded,
 	case errInvalid, errBootstrapping, errConfig, errCredentials, errOverloaded,
 		errProtocol, errServer, errSyntax, errTruncate, errUnauthorized:
 		errProtocol, errServer, errSyntax, errTruncate, errUnauthorized:
 		// TODO(zariel): we should have some distinct types for these errors
 		// TODO(zariel): we should have some distinct types for these errors