Trying to run some named queries in a Form class.  I am getting a datasource error and I have no idea why.
Heres the portion of my code that is running
class Form(object):
	"""
	Abstract class to be implemented by script modules in forms package.
	Properties:
		NamedQueries: for subclasses should be under the forms folder of named queries, 
			with a sub folder matching the name of the class.  For now, lets just leave it strictly like this to enforce some organization...
		idx: int, used for updating only, or will be assigned during after creation
		newData: dictionary, used for insert statements or update statements
		oldData: dictionary, can be provided for update statements in the event comparisons are needed
		defaultValues: dictionary, used to fill in blank columns of newData for inserts
		logger: logger, from system.util.getLogger
		tx: str, transaction id for running of queries
	"""
	namedQueryFolder = ''
	idx = None
	newData = None
	oldData = None
	defaultValues = {}
	logger = None
	# Transaction information
	tx = None
	isolationLevel = system.db.SERIALIZABLE
	timeout = 5000
	
	def __init__(self):
		self.calculateNamedQueries()
		self.getLogger()
	
	def _insert(self):
		createNamedQuery = self.namedQueryFolder + '/create'
		print 'createNamedQuery:' + createNamedQuery
		print 'newData: ' + str(self.newData)
		print 'tx: ' + str(self.tx)
		self.idx = system.db.runNamedQuery(createNamedQuery, self.newData, tx=self.tx, getKey=1)
	def create(self, newData):
		self.logger.info("running create")
		self.newData = newData
		self.setDefaultsNew()
		self.modifyNew()
		self.validateNew()
		self.sanitizeNew()
		self.inputDefaultValues()
		self.tx = system.db.beginNamedQueryTransaction(self.isolationLevel, self.timeout)
		self._insert()
		self.afterInsert()
		system.db.commitTransaction(self.tx)
		system.db.closeTransaction(self.tx)
		self.updateUIAfterInsert()
		self.logger.info("Created new record with idx %i"%(self.idx))
The last line self.idx = system.db.runNamedQuery(createNamedQuery, self.newData, tx=self.tx, getKey=1) in def _insert(self) is throwing the following error and I have no idea why -
createNamedQuery:forms/Customer/create
newData: {'defaultProjectManager': -1, 'description': u'abcde', 'active': True, 'customerPath': u'abcde', 'creditHold': False, 'viewable': True, 'unpaidInvoiceTotal': 0.0, 'paidOnUnpaidInvoice': 0.0, 'name': u'abcde', 'creditLimit': 0.0, 'activeInvoiceFlags': 0, 'companyTypeId': 1, 'discountId': 5}
tx: b4fcf72b-20ce-4028-9fb8-0001894a5479
13:58:54.142 [AWT-EventQueue-0] ERROR com.inductiveautomation.ignition.client.util.gui.ErrorUtil - <HTML>Error executing script for event: <code><b>actionPerformed</b></code><BR>on component: <code><b>cmdOK</b></code>.
com.inductiveautomation.ignition.common.script.JythonExecException: Traceback (most recent call last):
  File "<event:actionPerformed>", line 31, in <module>
  File "<module:classes.Form>", line 94, in create
  File "<module:classes.Form>", line 74, in _insert
	at com.inductiveautomation.ignition.client.gateway_interface.GatewayInterface.newGatewayException(GatewayInterface.java:351)
	at com.inductiveautomation.ignition.client.gateway_interface.GatewayInterface.sendMessage(GatewayInterface.java:325)
	at com.inductiveautomation.ignition.client.gateway_interface.GatewayInterface.sendMessage(GatewayInterface.java:278)
	at com.inductiveautomation.ignition.client.gateway_interface.GatewayInterface.invoke(GatewayInterface.java:934)
	at com.inductiveautomation.factorypmi.application.db.namedqueries.ClientNamedQueryManager.execute(ClientNamedQueryManager.java:30)
	at com.inductiveautomation.ignition.client.script.ClientDBUtilities.runNamedQuery(ClientDBUtilities.java:116)
	at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
	at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
	at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
	at java.base/java.lang.reflect.Method.invoke(Unknown Source)
com.inductiveautomation.ignition.client.gateway_interface.GatewayException: com.inductiveautomation.ignition.client.gateway_interface.GatewayException: java.sql.SQLException: Datasource "8" does not exist in this Gateway.
If I change the problematic line  to self.idx = system.db.runNamedQuery(createNamedQuery, self.newData, getKey=1) and get rid of the lines starting/closing the transaction, it works fine, so it must be related to my tx=self.tx but I don’t know what I am doing wrong here.  Any thoughts?
Another odd thing to me is that with runNamedQuery you don’t get to pass in the datasource into the funciton per the docs system.db.runNamedQuery - Ignition User Manual 8.0 - Ignition Documentation.  My named query definitions all have the default database connection set and as mentioned work fine when I do it without the attempting to do it in a transaction.
The only place I can see an 8 even potentially coming from is system.db.SERIALIZABLE which is 8, but I don’t know how that that would happen.