@@ -33,6 +33,10 @@ class Session(object):
3333 method.
3434 """
3535
36+ response_class = Response
37+
38+ result_class = None
39+
3640 transaction = None
3741
3842 last_bookmark = None
@@ -66,9 +70,9 @@ def run(self, statement, parameters=None, **kwparameters):
6670 statement = _norm_statement (statement )
6771 parameters = _norm_parameters (parameters , ** kwparameters )
6872
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 )
7276 result .statement = statement
7377 result .parameters = parameters
7478
@@ -79,6 +83,9 @@ def run(self, statement, parameters=None, **kwparameters):
7983 return result
8084
8185 def fetch (self ):
86+ """ Fetch the next message if available and return
87+ the number of messages fetched (one or zero).
88+ """
8289 try :
8390 return self .connection .fetch ()
8491 except ServiceUnavailable as cause :
@@ -331,6 +338,9 @@ def peek(self):
331338 raise ResultError ("End of stream" )
332339
333340
341+ Session .result_class = StatementResult
342+
343+
334344class Record (object ):
335345 """ Record is an ordered collection of fields.
336346
0 commit comments