# Ead\_parquet() ignores cairo.sql.copy.root and always reads from cairo.sql.copy.export.root

**URL:** <https://community.questdb.com/t/ead-parquet-ignores-cairo-sql-copy-root-and-always-reads-from-cairo-sql-copy-export-root/934>\
**Category:** Community\
**Tags:** bug\
**Created:** [November 11, 2025, 9:47am UTC](https://community.questdb.com/t/ead-parquet-ignores-cairo-sql-copy-root-and-always-reads-from-cairo-sql-copy-export-root/934 "2025-11-11T09:47:49Z")\
**Posts on this page:** 5\
**Page:** 1

<div class="post-metadata">

**Author:** ![mmzz](https://yyz2.discourse-cdn.com/flex004/user_avatar/community.questdb.com/mmzz/32/492_2.png) [@mmzz](https://community.questdb.com/u/mmzz)\
**Post date:** [November 11, 2025, 9:47am UTC](https://community.questdb.com/t/ead-parquet-ignores-cairo-sql-copy-root-and-always-reads-from-cairo-sql-copy-export-root/934/1 "2025-11-11T09:47:49Z")

</div>

Hello QuestDB team,

While testing read\_parquet() on QuestDB 9.1.1 (Build a266bb9…), I noticed it only works when the Parquet file is under cairo.sql.copy.export.root, even though the docs state it should honor cairo.sql.copy.root.

**Steps to reproduce**

1. Set in server.conf:

2. Place 20251024.parquet under G:/Code/etf\_booster/staging/minute\_baseline/2025/.

3. Run:

4. QuestDB responds with

If I copy the same file into G:/Code/etf\_booster/exports/minute\_baseline/2025/ the query succeeds, confirming the function is looking at copy.export.root regardless of copy.root.

**Expectation**

read\_parquet() should respect cairo.sql.copy.root (as documented) so that downloading/import workflows can keep staging data separate from export artifacts. Otherwise we need to duplicate every Parquet file into the export directory, which defeats the purpose of configuring distinct roots.

Could you confirm whether this is a bug or an intentional design? If intentional, please update the documentation; if not, is there a workaround to force read\_parquet() to honor copy.root?

Thanks!

---

<div class="post-metadata">

**Author:** ![nwoolmer](https://yyz2.discourse-cdn.com/flex004/user_avatar/community.questdb.com/nwoolmer/32/24_2.png) [@nwoolmer](https://community.questdb.com/u/nwoolmer)\
**Post date:** [November 11, 2025, 9:50am UTC](https://community.questdb.com/t/ead-parquet-ignores-cairo-sql-copy-root-and-always-reads-from-cairo-sql-copy-export-root/934/2 "2025-11-11T09:50:19Z")

</div>

Let me look into this. The check that I can see does indeed check input root (and it works fine for me)

> <https://github.com/questdb/questdb/blob/020ec80464f953dccbe9e5728675cf33a293b483/core/src/main/java/io/questdb/griffin/engine/functions/table/ReadParquetFunctionFactory.java#L112>

---

<div class="post-metadata">

**Author:** ![nwoolmer](https://yyz2.discourse-cdn.com/flex004/user_avatar/community.questdb.com/nwoolmer/32/24_2.png) [@nwoolmer](https://community.questdb.com/u/nwoolmer)\
**Post date:** [November 11, 2025, 9:51am UTC](https://community.questdb.com/t/ead-parquet-ignores-cairo-sql-copy-root-and-always-reads-from-cairo-sql-copy-export-root/934/3 "2025-11-11T09:51:07Z")

</div>

@mmzz Can you share the output of:

```auto
(SHOW PARAMETERS) WHERE property_path LIKE '%root%';

```

Please?

---

<div class="post-metadata">

**Author:** ![mmzz](https://yyz2.discourse-cdn.com/flex004/user_avatar/community.questdb.com/mmzz/32/492_2.png) [@mmzz](https://community.questdb.com/u/mmzz)\
**Post date:** [November 11, 2025, 10:02am UTC](https://community.questdb.com/t/ead-parquet-ignores-cairo-sql-copy-root-and-always-reads-from-cairo-sql-copy-export-root/934/4 "2025-11-11T10:02:35Z")

</div>

@nwoolmer It was my mistake — I edited server.conf but never restarted QuestDB, so both `cairo.sql.copy.root` and `cairo.sql.copy.export.root` kept pointing to the same directory. After restarting, they diverged as expected. Here’s the SQL I ran to verify:  
(SHOW PARAMETERS)  
WHERE property\_path IN (‘cairo.sql.copy.root’,‘cairo.sql.copy.export.root’);

Result:

- cairo.sql.copy.root = G:/Code/etf\_booster/staging
- cairo.sql.copy.export.root = G:/Code/etf\_booster/exports

Thanks again for the help!

---

<div class="post-metadata">

**Author:** ![nwoolmer](https://yyz2.discourse-cdn.com/flex004/user_avatar/community.questdb.com/nwoolmer/32/24_2.png) [@nwoolmer](https://community.questdb.com/u/nwoolmer)\
**Post date:** [November 11, 2025, 10:03am UTC](https://community.questdb.com/t/ead-parquet-ignores-cairo-sql-copy-root-and-always-reads-from-cairo-sql-copy-export-root/934/5 "2025-11-11T10:03:20Z")

</div>

No problem! Let us know if you encounter any other trouble 🙂
