Named query return type changed in 8.3 — regression or intended?

Named query return type changed in 8.3 — regression or intended?

I'm on Ignition 8.3.7 and noticed a change in what named query calls return. Testing both system.db.runNamedQuery and the newer system.db.execQuery:

parameters = {'startDate': '2026-07-12 00:00:00', 'endDate': '2026-07-20 00:00:00'}

data = system.db.execQuery('Scheduler/GetTasks', parameters)
print type(data)

# deprecated call
data2 = system.db.runNamedQuery('Scheduler/GetTasks', parameters)
print type(data2)

Both return a BasicDataset:

<type 'com.inductiveautomation.ignition.common.BasicDataset'>
<type 'com.inductiveautomation.ignition.common.BasicDataset'>

On 8.1.52, system.db.runNamedQuery returns a PyDataSet:

<type 'com.inductiveautomation.ignition.common.script.builtin.DatasetUtilities$PyDataSet'>

I was under the impression that going forward named queries would return a PyDataSet. Is this a regression, or is BasicDataset now the expected return type in 8.3?

In v8.3, all implementations of Dataset are also implementations of PyDataSet. So the v8.3 return types, though apparently something else, are also PyDataSet instances.

Thanks Phil — I just verified that it's iterable. If I'd checked that first, the type name change wouldn't have bothered me.

Minor pedantic note (because it occasionally matters):
In 8.3, all dataset instances are automatically wrapped in the com.inductiveautomation.ignition.common.script.builtin.PyDataset class - lowercase S in set.
Whereas the old system.dataset.toPyDataSet function returned (and still does return) a com.inductiveautomation.ignition.common.script.builtin.DatasetUtilities.PyDataSet (uppercase S).

The two classes are effectively equivalent, though they share no inheritance hierarchy. The 'modern' wrapper also reports the inner wrapped dataset instance when asked for its type(), and delegates Java serialization to the inner instance as well.