@@ -115,7 +115,11 @@ def test_create(
115115 raise
116116
117117 with setup_statement (query , cursor ):
118- cursor .adbc_ingest (table_name , data , mode = "create" )
118+ modified = cursor .adbc_ingest (table_name , data , mode = "create" )
119+ if driver .features .statement_rows_affected :
120+ assert modified == len (data )
121+ else :
122+ assert modified == - 1
119123
120124 idx = driver .quote_identifier ("idx" )
121125 value = driver .quote_identifier ("value" )
@@ -158,8 +162,17 @@ def test_append(
158162 # Some databases have no way to do DROP IF EXISTS
159163 if not driver .is_table_not_found (table_name = table_name , error = e ):
160164 raise
161- cursor .adbc_ingest (table_name , data , mode = "create" )
162- cursor .adbc_ingest (table_name , data2 , mode = "append" )
165+ modified = cursor .adbc_ingest (table_name , data , mode = "create" )
166+ if driver .features .statement_rows_affected :
167+ assert modified == len (data )
168+ else :
169+ assert modified == - 1
170+
171+ modified = cursor .adbc_ingest (table_name , data2 , mode = "append" )
172+ if driver .features .statement_rows_affected :
173+ assert modified == len (data2 )
174+ else :
175+ assert modified == - 1
163176
164177 idx = driver .quote_identifier ("idx" )
165178 value = driver .quote_identifier ("value" )
@@ -234,8 +247,17 @@ def test_createappend(
234247 # Some databases have no way to do DROP IF EXISTS
235248 if not driver .is_table_not_found (table_name = table_name , error = e ):
236249 raise
237- cursor .adbc_ingest (table_name , data , mode = "create_append" )
238- cursor .adbc_ingest (table_name , data2 , mode = "create_append" )
250+ modified = cursor .adbc_ingest (table_name , data , mode = "create_append" )
251+ if driver .features .statement_rows_affected :
252+ assert modified == len (data )
253+ else :
254+ assert modified == - 1
255+
256+ modified = cursor .adbc_ingest (table_name , data2 , mode = "create_append" )
257+ if driver .features .statement_rows_affected :
258+ assert modified == len (data2 )
259+ else :
260+ assert modified == - 1
239261
240262 idx = driver .quote_identifier ("idx" )
241263 value = driver .quote_identifier ("value" )
@@ -280,10 +302,20 @@ def test_replace(
280302 if not driver .is_table_not_found (table_name = table_name , error = e ):
281303 raise
282304 cursor .adbc_ingest (table_name , data , mode = "replace" )
305+ modified = cursor .adbc_ingest (table_name , data , mode = "replace" )
306+ if driver .features .statement_rows_affected :
307+ assert modified == len (data )
308+ else :
309+ assert modified == - 1
310+
283311 if driver .name == "bigquery" :
284312 # BigQuery rate-limits metadata operations
285313 time .sleep (5 )
286- cursor .adbc_ingest (table_name , data2 , mode = "replace" )
314+ modified = cursor .adbc_ingest (table_name , data2 , mode = "replace" )
315+ if driver .features .statement_rows_affected :
316+ assert modified == len (data2 )
317+ else :
318+ assert modified == - 1
287319
288320 idx = driver .quote_identifier ("idx" )
289321 value = driver .quote_identifier ("value" )
@@ -316,7 +348,11 @@ def test_replace_noop(
316348 # Some databases have no way to do DROP IF EXISTS
317349 if not driver .is_table_not_found (table_name = table_name , error = e ):
318350 raise
319- cursor .adbc_ingest (table_name , data , mode = "replace" )
351+ modified = cursor .adbc_ingest (table_name , data , mode = "replace" )
352+ if driver .features .statement_rows_affected :
353+ assert modified == len (data )
354+ else :
355+ assert modified == - 1
320356
321357 idx = driver .quote_identifier ("idx" )
322358 value = driver .quote_identifier ("value" )
0 commit comments