docs: def run_transaction(self, command_list, do_commit=True):
          '''This can be used to stage multiple commands and roll back the transaction if an error occurs. This is useful
              if you want to remove multiple records in multiple tables for one entity but do not want the deletion to occur
              if the entity is tied to table not specified in the list of commands. Performing this as a transaction avoids
              the situation where the records are partially removed. If do_commit is false, the entire transaction is cancelled.'''
  
          pass
          # I decided against creating this for now.
          # It may be more useful to create a stored procedure like in e.g. _create_protein_deletion_stored_procedure
          # in the DDGadmin project and then use callproc
  
          for c in command_list:
              if c.find(";") != -1 or c.find("\\G") != -1:
                  # Catches *some* injections
                  raise Exception("The SQL command '%s' contains a semi-colon or \\G. This is a potential SQL injection." % c)
          if do_commit:
              sql = "START TRANSACTION;\n%s;\nCOMMIT" % "\n".join(command_list)
          else:
              sql = "START TRANSACTION;\n%s;" % "\n".join(command_list)
          #print(sql)
          return