# Return type from Select Named Query and Select Prep Query

**URL:** <https://forum.inductiveautomation.com/t/return-type-from-select-named-query-and-select-prep-query/112295>\
**Category:** Ignition\
**Tags:** ignition83\
**Created:** [November 20, 2025, 6:15am UTC](https://forum.inductiveautomation.com/t/return-type-from-select-named-query-and-select-prep-query/112295 "2025-11-20T06:15:35Z")\
**Posts on this page:** 2\
**Page:** 1

<div class="post-metadata">

**Author:** ![Cose\_Peter1](https://sea1.discourse-cdn.com/inductiveautomation/user_avatar/forum.inductiveautomation.com/cose_peter1/32/79174_2.png) [@Cose\_Peter1](https://forum.inductiveautomation.com/u/Cose_Peter1)\
**Post date:** [November 20, 2025, 6:15am UTC](https://forum.inductiveautomation.com/t/return-type-from-select-named-query-and-select-prep-query/112295/1 "2025-11-20T06:15:35Z")

</div>

I was just reading documentation on the difference between **Dataset** and **PyDataSet**.

> **[Datasets | Ignition User Manual](https://www.docs.inductiveautomation.com/docs/8.1/platform/scripting/python-scripting/variables-datatypes-and-objects/datasets#datasets-and-pydatasets)**
>
> Datasets and PyDatasets

I just have a curious question. Why does [system.db.execQuery](https://www.docs.inductiveautomation.com/docs/8.3/appendix/scripting-functions/system-db/system-db-execQuery#returns) return **Dataset** , but [system.db.runPrepQuery](https://www.docs.inductiveautomation.com/docs/8.3/appendix/scripting-functions/system-db/system-db-runPrepQuery#returns) return **PyDataSet**

---

<div class="post-metadata">

**Author:** ![pturmel](https://sea1.discourse-cdn.com/inductiveautomation/user_avatar/forum.inductiveautomation.com/pturmel/32/3295_2.png) [@pturmel](https://forum.inductiveautomation.com/u/pturmel)\
**Post date:** [November 20, 2025, 1:41pm UTC](https://forum.inductiveautomation.com/t/return-type-from-select-named-query-and-select-prep-query/112295/2 "2025-11-20T13:41:35Z")

</div>

Legacy differences in the API, which no longer matter in v8.3. Everything now returns a `Dataset`, which is also now a `PyDataset`. (Unified implementation.)
