Skip to content

DuckDB Enum support? #59

Description

@eitsupi

It would be great if Enums were supported in Vortex. Currently it causes a panic.

DuckDB v1.4.2 (Andium) 68d7555f68
Enter ".help" for usage hints.
Connected to a transient in-memory database.
Use ".open FILENAME" to reopen on a persistent database.
D CREATE TYPE mood AS ENUM ('sad', 'ok', 'happy');
D CREATE TABLE person (
      name TEXT,
      current_mood mood
  );
D INSERT INTO person VALUES
      ('Pedro', 'happy'),
      ('Mark', NULL),
      ('Pagliacci', 'sad'),
      ('Mr. Mackey', 'ok');
D load vortex; copy (from person) to 'my.vortex' (format vortex);

thread '<unnamed>' (4469) panicked at vortex-duckdb/src/convert/dtype.rs:154:46:
not yet implemented
stack backtrace:
   0: __rustc::rust_begin_unwind
             at /rustc/ed61e7d7e242494fb7057f2657300d9e77bb4fcb/library/std/src/panicking.rs:698:5
   1: core::panicking::panic_fmt
             at /rustc/ed61e7d7e242494fb7057f2657300d9e77bb4fcb/library/core/src/panicking.rs:75:14
   2: core::panicking::panic
             at /rustc/ed61e7d7e242494fb7057f2657300d9e77bb4fcb/library/core/src/panicking.rs:145:5
   3: <vortex_dtype::dtype::DType as vortex_duckdb::convert::dtype::FromLogicalType>::from_logical_type
   4: vortex_duckdb::duckdb::copy_function::callback::bind_callback
   5: _ZN6vortex10c_bind_oneERN6duckdb13ClientContextERNS0_21CopyFunctionBindInputERKNS0_6vectorINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEELb1EEERKNS5_INS0_11LogicalTypeELb1EEE
   6: _ZN6duckdb6Binder10BindCopyToERNS_13CopyStatementERKNS_12CopyFunctionENS_10CopyToTypeE
   7: _ZN6duckdb6Binder4BindERNS_13CopyStatementENS_10CopyToTypeE
   8: _ZN6duckdb6Binder4BindERNS_12SQLStatementE
   9: _ZN6duckdb7Planner10CreatePlanERNS_12SQLStatementE
  10: _ZN6duckdb13ClientContext31CreatePreparedStatementInternalERNS_17ClientContextLockERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEENS_10unique_ptrINS_12SQLStatementESt14default_deleteISC_ELb1EEENS_12optional_ptrISt13unordered_mapIS8_NS_18BoundParameterDataENS_33CaseInsensitiveStringHashFunctionENS_29CaseInsensitiveStringEqualityESaISt4pairIS9_SI_EEELb1EEE
  11: _ZN6duckdb13ClientContext23CreatePreparedStatementERNS_17ClientContextLockERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEENS_10unique_ptrINS_12SQLStatementESt14default_deleteISC_ELb1EEENS_12optional_ptrISt13unordered_mapIS8_NS_18BoundParameterDataENS_33CaseInsensitiveStringHashFunctionENS_29CaseInsensitiveStringEqualityESaISt4pairIS9_SI_EEELb1EEENS_21PreparedStatementModeE
  12: _ZN6duckdb13ClientContext24PendingStatementInternalERNS_17ClientContextLockERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEENS_10unique_ptrINS_12SQLStatementESt14default_deleteISC_ELb1EEERKNS_22PendingQueryParametersE
  13: _ZN6duckdb13ClientContext35PendingStatementOrPreparedStatementERNS_17ClientContextLockERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEENS_10unique_ptrINS_12SQLStatementESt14default_deleteISC_ELb1EEERNS_10shared_ptrINS_21PreparedStatementDataELb1EEERKNS_22PendingQueryParametersE
  14: _ZN6duckdb13ClientContext43PendingStatementOrPreparedStatementInternalERNS_17ClientContextLockERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEENS_10unique_ptrINS_12SQLStatementESt14default_deleteISC_ELb1EEERNS_10shared_ptrINS_21PreparedStatementDataELb1EEERKNS_22PendingQueryParametersE
  15: _ZN6duckdb13ClientContext20PendingQueryInternalERNS_17ClientContextLockENS_10unique_ptrINS_12SQLStatementESt14default_deleteIS4_ELb1EEERKNS_22PendingQueryParametersEb
  16: _ZN6duckdb13ClientContext12PendingQueryENS_10unique_ptrINS_12SQLStatementESt14default_deleteIS2_ELb1EEERSt13unordered_mapINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEENS_18BoundParameterDataENS_33CaseInsensitiveStringHashFunctionENS_29CaseInsensitiveStringEqualityESaISt4pairIKSC_SD_EEEb
  17: _ZN6duckdb13ClientContext12PendingQueryENS_10unique_ptrINS_12SQLStatementESt14default_deleteIS2_ELb1EEEb
  18: _ZN6duckdb10Connection12PendingQueryENS_10unique_ptrINS_12SQLStatementESt14default_deleteIS2_ELb1EEEb
  19: duckdb_shell_sqlite3_prepare_v2
  20: _ZN12duckdb_shell10ShellState10ExecuteSQLEPKcPPc
  21: _ZN12duckdb_shell10ShellState13RunOneSqlLineENS_9InputModeEPc
  22: _ZN12duckdb_shell10ShellState12ProcessInputENS_9InputModeE
  23: main
  24: <unknown>
  25: __libc_start_main
  26: _start
note: Some details are omitted, run with `RUST_BACKTRACE=full` for a verbose backtrace.
fatal runtime error: failed to initiate panic, error 5, aborting
fish: Job 1, '~/.duckdb/cli/latest/duckdb' terminated by signal SIGABRT (Abort)

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type
    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions