@@ -33,6 +33,10 @@ class Session(object):
33
33
method.
34
34
"""
35
35
36
+ response_class = Response
37
+
38
+ result_class = None
39
+
36
40
transaction = None
37
41
38
42
last_bookmark = None
@@ -66,9 +70,9 @@ def run(self, statement, parameters=None, **kwparameters):
66
70
statement = _norm_statement (statement )
67
71
parameters = _norm_parameters (parameters , ** kwparameters )
68
72
69
- run_response = Response (self .connection )
70
- pull_all_response = Response (self .connection )
71
- result = StatementResult (self , run_response , pull_all_response )
73
+ run_response = self . response_class (self .connection )
74
+ pull_all_response = self . response_class (self .connection )
75
+ result = self . result_class (self , run_response , pull_all_response )
72
76
result .statement = statement
73
77
result .parameters = parameters
74
78
@@ -79,6 +83,9 @@ def run(self, statement, parameters=None, **kwparameters):
79
83
return result
80
84
81
85
def fetch (self ):
86
+ """ Fetch the next message if available and return
87
+ the number of messages fetched (one or zero).
88
+ """
82
89
try :
83
90
return self .connection .fetch ()
84
91
except ServiceUnavailable as cause :
@@ -331,6 +338,9 @@ def peek(self):
331
338
raise ResultError ("End of stream" )
332
339
333
340
341
+ Session .result_class = StatementResult
342
+
343
+
334
344
class Record (object ):
335
345
""" Record is an ordered collection of fields.
336
346
0 commit comments