Skip to content

Exporting large Arrow array crashes with cryptic error #536

@mauropagano

Description

@mauropagano

This might very well being one of those "you shouldn't be doing this", but it raises an error that is not very user friendly

oracledb.exceptions.ProgrammingError: DPY-2060: Arrow C Data Interface operation failed with error code 75

  1. What versions are you using?
    3.3DB is 19c but shouldn't matter

  2. Is it an error or a hang or a crash?
    Crash, DPY-2060

  3. What error(s) or behavior you are seeing?
    DPY-2060

  4. Does your application call init_oracle_client()?
    Thin, but shouldn't matter

  5. Include a runnable Python script that shows the problem.

import oracledb

conn = oracledb.connect(...")

with conn.cursor() as cursor:

    try:
        print("Dropping table")
        cursor.execute("drop table oracle_crash")
    except Exception:
        print("Couldn't drop, moving on")
        pass

    print("Creating source table, might take a bit as it's 100M rows")
    cursor.execute(
        """
        create table oracledb_crash parallel 4 as
          select 'THIS IS A TEST TO BLOW THINGS UP' c1
            from (select * from dual connect by rownum <= 10000),
                 (select * from dual connect by rownum <= 10000)
    """
    )


df = conn.fetch_df_all("select * from oracledb_crash", arraysize=10000)
print(dir(df))

Metadata

Metadata

Assignees

No one assigned

    Labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions