@@ -90,7 +90,9 @@ def __init__(self, host, port, service='SQL2'):
9090 self .__encryption = True
9191 """ @type : boolean """
9292 self .__connectedNodeID = 0
93- """ @type : int """
93+ """ @type : int """
94+ self .__serverVersion = 0
95+ """ @type : int """
9496
9597 # Mostly for connections
9698 def open_database (self , db_name , parameters , cp ):
@@ -121,6 +123,8 @@ def open_database(self, db_name, parameters, cp):
121123 self .__connectedNodeID = self .getInt ()
122124 maxNodes = self .getInt ()
123125
126+ self .__serverVersion = protocolVersion
127+
124128 return protocolVersion , serverKey , salt
125129
126130 def check_auth (self ):
@@ -195,7 +199,10 @@ def execute_statement(self, statement, query):
195199 @type query str
196200 @rtype: ExecutionResult
197201 """
198- self ._putMessageId (protocol .EXECUTE ).putInt (self .getCommitInfo (self .__connectedNodeID )).putInt (statement .handle ).putString (query )
202+ self ._putMessageId (protocol .EXECUTE )
203+ if (self .__serverVersion >= protocol .PROTOCOL_VERSION17 ):
204+ self .putInt (self .getCommitInfo (self .__connectedNodeID ))
205+ self .putInt (statement .handle ).putString (query )
199206 self ._exchangeMessages ()
200207
201208 result = self .getInt ()
@@ -229,7 +236,9 @@ def execute_prepared_statement(self, prepared_statement, parameters):
229236 @type parameters list
230237 @rtype: ExecutionResult
231238 """
232- self ._putMessageId (protocol .EXECUTEPREPAREDSTATEMENT ).putInt (self .getCommitInfo (self .__connectedNodeID ))
239+ self ._putMessageId (protocol .EXECUTEPREPAREDSTATEMENT )
240+ if (self .__serverVersion >= protocol .PROTOCOL_VERSION17 ):
241+ self .putInt (self .getCommitInfo (self .__connectedNodeID ))
233242 self .putInt (prepared_statement .handle ).putInt (len (parameters ))
234243
235244 for param in parameters :
@@ -248,7 +257,9 @@ def execute_batch_prepared_statement(self, prepared_statement, param_lists):
248257 @type param_lists list[list]
249258
250259 """
251- self ._putMessageId (protocol .EXECUTEBATCHPREPAREDSTATEMENT ).putInt (self .getCommitInfo (self .__connectedNodeID ))
260+ self ._putMessageId (protocol .EXECUTEBATCHPREPAREDSTATEMENT )
261+ if (self .__serverVersion >= protocol .PROTOCOL_VERSION17 ):
262+ self .putInt (self .getCommitInfo (self .__connectedNodeID ))
252263 self .putInt (prepared_statement .handle )
253264 for parameters in param_lists :
254265 if prepared_statement .parameter_count != len (parameters ):
@@ -916,6 +927,7 @@ def isASCII(self, data):
916927
917928 def getCommitInfo (self , nodeID ):
918929 """ Currently does not support last commit """
930+
919931 return 0
920932
921933
0 commit comments