Thanks to visit codestin.com
Credit goes to github.com

Skip to content

Nested STRUCT columns in DuckDB cause infinite recursion? #3775

@jgarbers

Description

@jgarbers

I'm using DuckDB support in TablePlus v6.8.0 on macOS Tahoe 26.2. It may be that my data structure is just unsupported, but when I run this query:

SELECT fetchers FROM read_json_auto ('/MYPATH/tptest2/*.json');

with this being the only JSON file in "tptest2":

{
  "notices_delivered": 0,
  "fetchers": [
    {
      "name": "evnews",
      "report": {
        "errors": [],
        "info": {},
        "failures": []
      },
      "n_items": 2,
      "description": "News check"
    }
  ]
}

the app crashes with the attached dump, the particular issue apparently being

Exception Message: Thread stack size exceeded due to excessive recursion

If I pull the simple attribute instead with

SELECT notices_delivered FROM...

all is well.

The query that crashes in TablePlus works fine in the DuckDB CLI 1.4.4 (Andium):

DuckDB v1.4.4 (Andium) 6ddac802ff
Enter ".help" for usage hints.
Connected to a transient in-memory database.
Use ".open FILENAME" to reopen on a persistent database.
D SELECT * FROM read_json_auto('local/tptest2/*.json');
┌───────────────────┬───────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┐
│ notices_delivered │                                                               fetchers                                                                │
│       int64       │ struct("name" varchar, report struct(errors json[], info map(varchar, json), failures json[]), n_items bigint, description varchar)[] │
├───────────────────┼───────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┤
│         0         │ [{'name': evnews, 'report': {'errors': [], 'info': {}, 'failures': []}, 'n_items': 2, 'description': News check}]                     │
└───────────────────┴───────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┘

Just ran across DuckDB this morning so I may just not be up on limitations or conventions here, but thought I'd let you know about the crash. Thank you!

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions