Testing with Python identified areas in which executemany could be improved to properly handle update statements. A new function was added to the client-side C API used in DSQL (ctsqlapi) to expose the server-side executebatch logic: ctsqlExecutebatch