Generated by Cython 3.0.5
Yellow lines hint at Python interaction.
Click on a line that starts with a "+
" to see the C code that Cython generated for it.
Raw output: dataframe.pxi
0001: # See: dataframe.md for technical overview.
0002:
+0003: cdef struct auto_flush_t:
struct __pyx_t_7questdb_7ingress_auto_flush_t { struct line_sender *sender; size_t watermark; };
0004: line_sender* sender
0005: size_t watermark
0006:
0007:
+0008: cdef auto_flush_t auto_flush_blank() noexcept nogil:
static struct __pyx_t_7questdb_7ingress_auto_flush_t __pyx_f_7questdb_7ingress_auto_flush_blank(void) { struct __pyx_t_7questdb_7ingress_auto_flush_t __pyx_v_af; struct __pyx_t_7questdb_7ingress_auto_flush_t __pyx_r; /* … */ /* function exit code */ __pyx_L0:; return __pyx_r; }
0009: cdef auto_flush_t af
+0010: af.sender = NULL
__pyx_v_af.sender = NULL;
+0011: af.watermark = 0
__pyx_v_af.watermark = 0;
+0012: return af
__pyx_r = __pyx_v_af; goto __pyx_L0;
0013:
0014:
+0015: cdef struct col_chunks_t:
struct __pyx_t_7questdb_7ingress_col_chunks_t { size_t n_chunks; struct ArrowArray *chunks; };
0016: size_t n_chunks
0017: ArrowArray* chunks # We calloc `n_chunks + 1` of these.
0018:
0019:
+0020: cdef struct col_cursor_t:
struct __pyx_t_7questdb_7ingress_col_cursor_t { struct ArrowArray *chunk; size_t chunk_index; size_t offset; };
0021: ArrowArray* chunk # Current chunk.
0022: size_t chunk_index
0023: size_t offset # i.e. the element index (not byte offset)
0024:
0025:
+0026: cdef enum col_target_t:
enum __pyx_t_7questdb_7ingress_col_target_t { __pyx_e_7questdb_7ingress_col_target_skip = 0, __pyx_e_7questdb_7ingress_col_target_table = 1, __pyx_e_7questdb_7ingress_col_target_symbol = 2, __pyx_e_7questdb_7ingress_col_target_column_bool = 3, __pyx_e_7questdb_7ingress_col_target_column_i64 = 4, __pyx_e_7questdb_7ingress_col_target_column_f64 = 5, __pyx_e_7questdb_7ingress_col_target_column_str = 6, __pyx_e_7questdb_7ingress_col_target_column_ts = 7, __pyx_e_7questdb_7ingress_col_target_at = 8 };
0027: col_target_skip = 0
0028: col_target_table = 1
0029: col_target_symbol = 2
0030: col_target_column_bool = 3
0031: col_target_column_i64 = 4
0032: col_target_column_f64 = 5
0033: col_target_column_str = 6
0034: col_target_column_ts = 7
0035: col_target_at = 8
0036:
0037:
0038: cdef dict _TARGET_NAMES = {
+0039: col_target_t.col_target_skip: "skipped",
__pyx_t_2 = __Pyx_PyDict_NewPresized(9); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 39, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __pyx_t_3 = __Pyx_PyInt_From_enum____pyx_t_7questdb_7ingress_col_target_t(__pyx_e_7questdb_7ingress_col_target_skip); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 39, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); if (PyDict_SetItem(__pyx_t_2, __pyx_t_3, __pyx_n_u_skipped) < 0) __PYX_ERR(1, 39, __pyx_L1_error) __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
+0040: col_target_t.col_target_table: "table name",
__pyx_t_3 = __Pyx_PyInt_From_enum____pyx_t_7questdb_7ingress_col_target_t(__pyx_e_7questdb_7ingress_col_target_table); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 40, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); if (PyDict_SetItem(__pyx_t_2, __pyx_t_3, __pyx_kp_u_table_name_2) < 0) __PYX_ERR(1, 39, __pyx_L1_error) __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
+0041: col_target_t.col_target_symbol: "symbol",
__pyx_t_3 = __Pyx_PyInt_From_enum____pyx_t_7questdb_7ingress_col_target_t(__pyx_e_7questdb_7ingress_col_target_symbol); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 41, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); if (PyDict_SetItem(__pyx_t_2, __pyx_t_3, __pyx_n_u_symbol) < 0) __PYX_ERR(1, 39, __pyx_L1_error) __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
+0042: col_target_t.col_target_column_bool: "boolean",
__pyx_t_3 = __Pyx_PyInt_From_enum____pyx_t_7questdb_7ingress_col_target_t(__pyx_e_7questdb_7ingress_col_target_column_bool); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 42, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); if (PyDict_SetItem(__pyx_t_2, __pyx_t_3, __pyx_n_u_boolean) < 0) __PYX_ERR(1, 39, __pyx_L1_error) __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
+0043: col_target_t.col_target_column_i64: "integer",
__pyx_t_3 = __Pyx_PyInt_From_enum____pyx_t_7questdb_7ingress_col_target_t(__pyx_e_7questdb_7ingress_col_target_column_i64); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 43, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); if (PyDict_SetItem(__pyx_t_2, __pyx_t_3, __pyx_n_u_integer) < 0) __PYX_ERR(1, 39, __pyx_L1_error) __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
+0044: col_target_t.col_target_column_f64: "float",
__pyx_t_3 = __Pyx_PyInt_From_enum____pyx_t_7questdb_7ingress_col_target_t(__pyx_e_7questdb_7ingress_col_target_column_f64); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 44, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); if (PyDict_SetItem(__pyx_t_2, __pyx_t_3, __pyx_n_u_float) < 0) __PYX_ERR(1, 39, __pyx_L1_error) __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
+0045: col_target_t.col_target_column_str: "string",
__pyx_t_3 = __Pyx_PyInt_From_enum____pyx_t_7questdb_7ingress_col_target_t(__pyx_e_7questdb_7ingress_col_target_column_str); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 45, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); if (PyDict_SetItem(__pyx_t_2, __pyx_t_3, __pyx_n_u_string) < 0) __PYX_ERR(1, 39, __pyx_L1_error) __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
+0046: col_target_t.col_target_column_ts: "timestamp",
__pyx_t_3 = __Pyx_PyInt_From_enum____pyx_t_7questdb_7ingress_col_target_t(__pyx_e_7questdb_7ingress_col_target_column_ts); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 46, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); if (PyDict_SetItem(__pyx_t_2, __pyx_t_3, __pyx_n_u_timestamp) < 0) __PYX_ERR(1, 39, __pyx_L1_error) __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
+0047: col_target_t.col_target_at: "designated timestamp",
__pyx_t_3 = __Pyx_PyInt_From_enum____pyx_t_7questdb_7ingress_col_target_t(__pyx_e_7questdb_7ingress_col_target_at); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 47, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); if (PyDict_SetItem(__pyx_t_2, __pyx_t_3, __pyx_kp_u_designated_timestamp) < 0) __PYX_ERR(1, 39, __pyx_L1_error) __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; __Pyx_XGOTREF(__pyx_v_7questdb_7ingress__TARGET_NAMES); __Pyx_DECREF_SET(__pyx_v_7questdb_7ingress__TARGET_NAMES, ((PyObject*)__pyx_t_2)); __Pyx_GIVEREF(__pyx_t_2); __pyx_t_2 = 0;
0048: }
0049:
0050:
+0051: cdef enum col_source_t:
enum __pyx_t_7questdb_7ingress_col_source_t { __pyx_e_7questdb_7ingress_col_source_nulls = 0, __pyx_e_7questdb_7ingress_col_source_bool_pyobj = 0x18AEC, __pyx_e_7questdb_7ingress_col_source_bool_numpy = 0x18E70, __pyx_e_7questdb_7ingress_col_source_bool_arrow = 0x19258, __pyx_e_7questdb_7ingress_col_source_int_pyobj = 0x3118C, __pyx_e_7questdb_7ingress_col_source_u8_numpy = 0x31510, __pyx_e_7questdb_7ingress_col_source_i8_numpy = 0x318F8, __pyx_e_7questdb_7ingress_col_source_u16_numpy = 0x31CE0, __pyx_e_7questdb_7ingress_col_source_i16_numpy = 0x320C8, __pyx_e_7questdb_7ingress_col_source_u32_numpy = 0x324B0, __pyx_e_7questdb_7ingress_col_source_i32_numpy = 0x32898, __pyx_e_7questdb_7ingress_col_source_u64_numpy = 0x32C80, __pyx_e_7questdb_7ingress_col_source_i64_numpy = 0x33068, __pyx_e_7questdb_7ingress_col_source_u8_arrow = 0x33450, __pyx_e_7questdb_7ingress_col_source_i8_arrow = 0x33838, __pyx_e_7questdb_7ingress_col_source_u16_arrow = 0x33C20, __pyx_e_7questdb_7ingress_col_source_i16_arrow = 0x34008, __pyx_e_7questdb_7ingress_col_source_u32_arrow = 0x343F0, __pyx_e_7questdb_7ingress_col_source_i32_arrow = 0x347D8, __pyx_e_7questdb_7ingress_col_source_u64_arrow = 0x34BC0, __pyx_e_7questdb_7ingress_col_source_i64_arrow = 0x34FA8, __pyx_e_7questdb_7ingress_col_source_float_pyobj = 0x4982C, __pyx_e_7questdb_7ingress_col_source_f32_numpy = 0x49BB0, __pyx_e_7questdb_7ingress_col_source_f64_numpy = 0x49F98, __pyx_e_7questdb_7ingress_col_source_f32_arrow = 0x4A380, __pyx_e_7questdb_7ingress_col_source_f64_arrow = 0x4A768, __pyx_e_7questdb_7ingress_col_source_str_pyobj = 0x61ECC, __pyx_e_7questdb_7ingress_col_source_str_arrow = 0x62250, __pyx_e_7questdb_7ingress_col_source_str_i8_cat = 0x62638, __pyx_e_7questdb_7ingress_col_source_str_i16_cat = 0x62A20, __pyx_e_7questdb_7ingress_col_source_str_i32_cat = 0x62E08, __pyx_e_7questdb_7ingress_col_source_dt64ns_numpy = 0x7A508, __pyx_e_7questdb_7ingress_col_source_dt64ns_tz_arrow = 0x7A8F0 };
0052: # Note: Hundreds digit set to 1 if GIL is required.
0053: col_source_nulls = 0
0054: col_source_bool_pyobj = 101100
0055: col_source_bool_numpy = 102000
0056: col_source_bool_arrow = 103000
0057: col_source_int_pyobj = 201100
0058: col_source_u8_numpy = 202000
0059: col_source_i8_numpy = 203000
0060: col_source_u16_numpy = 204000
0061: col_source_i16_numpy = 205000
0062: col_source_u32_numpy = 206000
0063: col_source_i32_numpy = 207000
0064: col_source_u64_numpy = 208000
0065: col_source_i64_numpy = 209000
0066: col_source_u8_arrow = 210000
0067: col_source_i8_arrow = 211000
0068: col_source_u16_arrow = 212000
0069: col_source_i16_arrow = 213000
0070: col_source_u32_arrow = 214000
0071: col_source_i32_arrow = 215000
0072: col_source_u64_arrow = 216000
0073: col_source_i64_arrow = 217000
0074: col_source_float_pyobj = 301100
0075: col_source_f32_numpy = 302000
0076: col_source_f64_numpy = 303000
0077: col_source_f32_arrow = 304000
0078: col_source_f64_arrow = 305000
0079: col_source_str_pyobj = 401100
0080: col_source_str_arrow = 402000
0081: col_source_str_i8_cat = 403000
0082: col_source_str_i16_cat = 404000
0083: col_source_str_i32_cat = 405000
0084: col_source_dt64ns_numpy = 501000
0085: col_source_dt64ns_tz_arrow = 502000
0086:
0087:
+0088: cdef bint col_source_needs_gil(col_source_t source) noexcept nogil:
static int __pyx_f_7questdb_7ingress_col_source_needs_gil(enum __pyx_t_7questdb_7ingress_col_source_t __pyx_v_source) { int __pyx_r; /* … */ /* function exit code */ __pyx_L0:; return __pyx_r; }
0089: # Check if hundreds digit is 1.
+0090: return <int>source // 100 % 10 == 1
__pyx_r = (__Pyx_mod_long(__Pyx_div_long(((int)__pyx_v_source), 0x64), 10) == 1); goto __pyx_L0;
0091:
0092:
0093: cdef set _STR_SOURCES = {
+0094: col_source_t.col_source_str_pyobj,
__pyx_t_2 = __Pyx_PyInt_From_enum____pyx_t_7questdb_7ingress_col_source_t(__pyx_e_7questdb_7ingress_col_source_str_pyobj); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 94, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2);
+0095: col_source_t.col_source_str_arrow,
__pyx_t_3 = __Pyx_PyInt_From_enum____pyx_t_7questdb_7ingress_col_source_t(__pyx_e_7questdb_7ingress_col_source_str_arrow); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 95, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3);
+0096: col_source_t.col_source_str_i8_cat,
__pyx_t_4 = __Pyx_PyInt_From_enum____pyx_t_7questdb_7ingress_col_source_t(__pyx_e_7questdb_7ingress_col_source_str_i8_cat); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 96, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4);
+0097: col_source_t.col_source_str_i16_cat,
__pyx_t_5 = __Pyx_PyInt_From_enum____pyx_t_7questdb_7ingress_col_source_t(__pyx_e_7questdb_7ingress_col_source_str_i16_cat); if (unlikely(!__pyx_t_5)) __PYX_ERR(1, 97, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_5);
+0098: col_source_t.col_source_str_i32_cat,
__pyx_t_6 = __Pyx_PyInt_From_enum____pyx_t_7questdb_7ingress_col_source_t(__pyx_e_7questdb_7ingress_col_source_str_i32_cat); if (unlikely(!__pyx_t_6)) __PYX_ERR(1, 98, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_6); __pyx_t_7 = PySet_New(0); if (unlikely(!__pyx_t_7)) __PYX_ERR(1, 94, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_7); if (PySet_Add(__pyx_t_7, __pyx_t_2) < 0) __PYX_ERR(1, 94, __pyx_L1_error) __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; if (PySet_Add(__pyx_t_7, __pyx_t_3) < 0) __PYX_ERR(1, 94, __pyx_L1_error) __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; if (PySet_Add(__pyx_t_7, __pyx_t_4) < 0) __PYX_ERR(1, 94, __pyx_L1_error) __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; if (PySet_Add(__pyx_t_7, __pyx_t_5) < 0) __PYX_ERR(1, 94, __pyx_L1_error) __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; if (PySet_Add(__pyx_t_7, __pyx_t_6) < 0) __PYX_ERR(1, 94, __pyx_L1_error) __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; __Pyx_XGOTREF(__pyx_v_7questdb_7ingress__STR_SOURCES); __Pyx_DECREF_SET(__pyx_v_7questdb_7ingress__STR_SOURCES, ((PyObject*)__pyx_t_7)); __Pyx_GIVEREF(__pyx_t_7); __pyx_t_7 = 0;
0099: }
0100:
0101:
0102: cdef dict _PYOBJ_SOURCE_DESCR = {
+0103: col_source_t.col_source_bool_pyobj: "bool",
__pyx_t_7 = __Pyx_PyDict_NewPresized(4); if (unlikely(!__pyx_t_7)) __PYX_ERR(1, 103, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_7); __pyx_t_6 = __Pyx_PyInt_From_enum____pyx_t_7questdb_7ingress_col_source_t(__pyx_e_7questdb_7ingress_col_source_bool_pyobj); if (unlikely(!__pyx_t_6)) __PYX_ERR(1, 103, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_6); if (PyDict_SetItem(__pyx_t_7, __pyx_t_6, __pyx_n_u_bool) < 0) __PYX_ERR(1, 103, __pyx_L1_error) __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
+0104: col_source_t.col_source_int_pyobj: "int",
__pyx_t_6 = __Pyx_PyInt_From_enum____pyx_t_7questdb_7ingress_col_source_t(__pyx_e_7questdb_7ingress_col_source_int_pyobj); if (unlikely(!__pyx_t_6)) __PYX_ERR(1, 104, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_6); if (PyDict_SetItem(__pyx_t_7, __pyx_t_6, __pyx_n_u_int) < 0) __PYX_ERR(1, 103, __pyx_L1_error) __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
+0105: col_source_t.col_source_float_pyobj: "float",
__pyx_t_6 = __Pyx_PyInt_From_enum____pyx_t_7questdb_7ingress_col_source_t(__pyx_e_7questdb_7ingress_col_source_float_pyobj); if (unlikely(!__pyx_t_6)) __PYX_ERR(1, 105, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_6); if (PyDict_SetItem(__pyx_t_7, __pyx_t_6, __pyx_n_u_float) < 0) __PYX_ERR(1, 103, __pyx_L1_error) __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
+0106: col_source_t.col_source_str_pyobj: "str",
__pyx_t_6 = __Pyx_PyInt_From_enum____pyx_t_7questdb_7ingress_col_source_t(__pyx_e_7questdb_7ingress_col_source_str_pyobj); if (unlikely(!__pyx_t_6)) __PYX_ERR(1, 106, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_6); if (PyDict_SetItem(__pyx_t_7, __pyx_t_6, __pyx_n_u_str) < 0) __PYX_ERR(1, 103, __pyx_L1_error) __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; __Pyx_XGOTREF(__pyx_v_7questdb_7ingress__PYOBJ_SOURCE_DESCR); __Pyx_DECREF_SET(__pyx_v_7questdb_7ingress__PYOBJ_SOURCE_DESCR, ((PyObject*)__pyx_t_7)); __Pyx_GIVEREF(__pyx_t_7); __pyx_t_7 = 0;
0107: }
0108:
0109:
0110: cdef dict _TARGET_TO_SOURCES = {
+0111: col_target_t.col_target_skip: {
__pyx_t_7 = __Pyx_PyDict_NewPresized(9); if (unlikely(!__pyx_t_7)) __PYX_ERR(1, 111, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_7); __pyx_t_6 = __Pyx_PyInt_From_enum____pyx_t_7questdb_7ingress_col_target_t(__pyx_e_7questdb_7ingress_col_target_skip); if (unlikely(!__pyx_t_6)) __PYX_ERR(1, 111, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_6);
+0112: col_source_t.col_source_nulls,
__pyx_t_5 = __Pyx_PyInt_From_enum____pyx_t_7questdb_7ingress_col_source_t(__pyx_e_7questdb_7ingress_col_source_nulls); if (unlikely(!__pyx_t_5)) __PYX_ERR(1, 112, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_5); __pyx_t_4 = PySet_New(0); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 112, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); if (PySet_Add(__pyx_t_4, __pyx_t_5) < 0) __PYX_ERR(1, 112, __pyx_L1_error) __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; if (PyDict_SetItem(__pyx_t_7, __pyx_t_6, __pyx_t_4) < 0) __PYX_ERR(1, 111, __pyx_L1_error) __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
0113: },
+0114: col_target_t.col_target_table: {
__pyx_t_4 = __Pyx_PyInt_From_enum____pyx_t_7questdb_7ingress_col_target_t(__pyx_e_7questdb_7ingress_col_target_table); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 114, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4);
+0115: col_source_t.col_source_str_pyobj,
__pyx_t_6 = __Pyx_PyInt_From_enum____pyx_t_7questdb_7ingress_col_source_t(__pyx_e_7questdb_7ingress_col_source_str_pyobj); if (unlikely(!__pyx_t_6)) __PYX_ERR(1, 115, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_6);
+0116: col_source_t.col_source_str_arrow,
__pyx_t_5 = __Pyx_PyInt_From_enum____pyx_t_7questdb_7ingress_col_source_t(__pyx_e_7questdb_7ingress_col_source_str_arrow); if (unlikely(!__pyx_t_5)) __PYX_ERR(1, 116, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_5);
+0117: col_source_t.col_source_str_i8_cat,
__pyx_t_3 = __Pyx_PyInt_From_enum____pyx_t_7questdb_7ingress_col_source_t(__pyx_e_7questdb_7ingress_col_source_str_i8_cat); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 117, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3);
+0118: col_source_t.col_source_str_i16_cat,
__pyx_t_2 = __Pyx_PyInt_From_enum____pyx_t_7questdb_7ingress_col_source_t(__pyx_e_7questdb_7ingress_col_source_str_i16_cat); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 118, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2);
+0119: col_source_t.col_source_str_i32_cat,
__pyx_t_8 = __Pyx_PyInt_From_enum____pyx_t_7questdb_7ingress_col_source_t(__pyx_e_7questdb_7ingress_col_source_str_i32_cat); if (unlikely(!__pyx_t_8)) __PYX_ERR(1, 119, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_8); __pyx_t_9 = PySet_New(0); if (unlikely(!__pyx_t_9)) __PYX_ERR(1, 115, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_9); if (PySet_Add(__pyx_t_9, __pyx_t_6) < 0) __PYX_ERR(1, 115, __pyx_L1_error) __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; if (PySet_Add(__pyx_t_9, __pyx_t_5) < 0) __PYX_ERR(1, 115, __pyx_L1_error) __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; if (PySet_Add(__pyx_t_9, __pyx_t_3) < 0) __PYX_ERR(1, 115, __pyx_L1_error) __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; if (PySet_Add(__pyx_t_9, __pyx_t_2) < 0) __PYX_ERR(1, 115, __pyx_L1_error) __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; if (PySet_Add(__pyx_t_9, __pyx_t_8) < 0) __PYX_ERR(1, 115, __pyx_L1_error) __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0; if (PyDict_SetItem(__pyx_t_7, __pyx_t_4, __pyx_t_9) < 0) __PYX_ERR(1, 111, __pyx_L1_error) __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;
0120: },
+0121: col_target_t.col_target_symbol: {
__pyx_t_9 = __Pyx_PyInt_From_enum____pyx_t_7questdb_7ingress_col_target_t(__pyx_e_7questdb_7ingress_col_target_symbol); if (unlikely(!__pyx_t_9)) __PYX_ERR(1, 121, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_9);
+0122: col_source_t.col_source_str_pyobj,
__pyx_t_4 = __Pyx_PyInt_From_enum____pyx_t_7questdb_7ingress_col_source_t(__pyx_e_7questdb_7ingress_col_source_str_pyobj); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 122, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4);
+0123: col_source_t.col_source_str_arrow,
__pyx_t_8 = __Pyx_PyInt_From_enum____pyx_t_7questdb_7ingress_col_source_t(__pyx_e_7questdb_7ingress_col_source_str_arrow); if (unlikely(!__pyx_t_8)) __PYX_ERR(1, 123, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_8);
+0124: col_source_t.col_source_str_i8_cat,
__pyx_t_2 = __Pyx_PyInt_From_enum____pyx_t_7questdb_7ingress_col_source_t(__pyx_e_7questdb_7ingress_col_source_str_i8_cat); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 124, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2);
+0125: col_source_t.col_source_str_i16_cat,
__pyx_t_3 = __Pyx_PyInt_From_enum____pyx_t_7questdb_7ingress_col_source_t(__pyx_e_7questdb_7ingress_col_source_str_i16_cat); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 125, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3);
+0126: col_source_t.col_source_str_i32_cat,
__pyx_t_5 = __Pyx_PyInt_From_enum____pyx_t_7questdb_7ingress_col_source_t(__pyx_e_7questdb_7ingress_col_source_str_i32_cat); if (unlikely(!__pyx_t_5)) __PYX_ERR(1, 126, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_5); __pyx_t_6 = PySet_New(0); if (unlikely(!__pyx_t_6)) __PYX_ERR(1, 122, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_6); if (PySet_Add(__pyx_t_6, __pyx_t_4) < 0) __PYX_ERR(1, 122, __pyx_L1_error) __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; if (PySet_Add(__pyx_t_6, __pyx_t_8) < 0) __PYX_ERR(1, 122, __pyx_L1_error) __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0; if (PySet_Add(__pyx_t_6, __pyx_t_2) < 0) __PYX_ERR(1, 122, __pyx_L1_error) __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; if (PySet_Add(__pyx_t_6, __pyx_t_3) < 0) __PYX_ERR(1, 122, __pyx_L1_error) __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; if (PySet_Add(__pyx_t_6, __pyx_t_5) < 0) __PYX_ERR(1, 122, __pyx_L1_error) __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; if (PyDict_SetItem(__pyx_t_7, __pyx_t_9, __pyx_t_6) < 0) __PYX_ERR(1, 111, __pyx_L1_error) __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0; __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
0127: },
+0128: col_target_t.col_target_column_bool: {
__pyx_t_6 = __Pyx_PyInt_From_enum____pyx_t_7questdb_7ingress_col_target_t(__pyx_e_7questdb_7ingress_col_target_column_bool); if (unlikely(!__pyx_t_6)) __PYX_ERR(1, 128, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_6);
+0129: col_source_t.col_source_bool_pyobj,
__pyx_t_9 = __Pyx_PyInt_From_enum____pyx_t_7questdb_7ingress_col_source_t(__pyx_e_7questdb_7ingress_col_source_bool_pyobj); if (unlikely(!__pyx_t_9)) __PYX_ERR(1, 129, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_9);
+0130: col_source_t.col_source_bool_numpy,
__pyx_t_5 = __Pyx_PyInt_From_enum____pyx_t_7questdb_7ingress_col_source_t(__pyx_e_7questdb_7ingress_col_source_bool_numpy); if (unlikely(!__pyx_t_5)) __PYX_ERR(1, 130, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_5);
+0131: col_source_t.col_source_bool_arrow,
__pyx_t_3 = __Pyx_PyInt_From_enum____pyx_t_7questdb_7ingress_col_source_t(__pyx_e_7questdb_7ingress_col_source_bool_arrow); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 131, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __pyx_t_2 = PySet_New(0); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 129, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); if (PySet_Add(__pyx_t_2, __pyx_t_9) < 0) __PYX_ERR(1, 129, __pyx_L1_error) __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0; if (PySet_Add(__pyx_t_2, __pyx_t_5) < 0) __PYX_ERR(1, 129, __pyx_L1_error) __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; if (PySet_Add(__pyx_t_2, __pyx_t_3) < 0) __PYX_ERR(1, 129, __pyx_L1_error) __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; if (PyDict_SetItem(__pyx_t_7, __pyx_t_6, __pyx_t_2) < 0) __PYX_ERR(1, 111, __pyx_L1_error) __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
0132: },
+0133: col_target_t.col_target_column_i64: {
__pyx_t_2 = __Pyx_PyInt_From_enum____pyx_t_7questdb_7ingress_col_target_t(__pyx_e_7questdb_7ingress_col_target_column_i64); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 133, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2);
+0134: col_source_t.col_source_int_pyobj,
__pyx_t_6 = __Pyx_PyInt_From_enum____pyx_t_7questdb_7ingress_col_source_t(__pyx_e_7questdb_7ingress_col_source_int_pyobj); if (unlikely(!__pyx_t_6)) __PYX_ERR(1, 134, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_6);
+0135: col_source_t.col_source_u8_numpy,
__pyx_t_3 = __Pyx_PyInt_From_enum____pyx_t_7questdb_7ingress_col_source_t(__pyx_e_7questdb_7ingress_col_source_u8_numpy); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 135, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3);
+0136: col_source_t.col_source_i8_numpy,
__pyx_t_5 = __Pyx_PyInt_From_enum____pyx_t_7questdb_7ingress_col_source_t(__pyx_e_7questdb_7ingress_col_source_i8_numpy); if (unlikely(!__pyx_t_5)) __PYX_ERR(1, 136, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_5);
+0137: col_source_t.col_source_u16_numpy,
__pyx_t_9 = __Pyx_PyInt_From_enum____pyx_t_7questdb_7ingress_col_source_t(__pyx_e_7questdb_7ingress_col_source_u16_numpy); if (unlikely(!__pyx_t_9)) __PYX_ERR(1, 137, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_9);
+0138: col_source_t.col_source_i16_numpy,
__pyx_t_8 = __Pyx_PyInt_From_enum____pyx_t_7questdb_7ingress_col_source_t(__pyx_e_7questdb_7ingress_col_source_i16_numpy); if (unlikely(!__pyx_t_8)) __PYX_ERR(1, 138, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_8);
+0139: col_source_t.col_source_u32_numpy,
__pyx_t_4 = __Pyx_PyInt_From_enum____pyx_t_7questdb_7ingress_col_source_t(__pyx_e_7questdb_7ingress_col_source_u32_numpy); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 139, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4);
+0140: col_source_t.col_source_i32_numpy,
__pyx_t_10 = __Pyx_PyInt_From_enum____pyx_t_7questdb_7ingress_col_source_t(__pyx_e_7questdb_7ingress_col_source_i32_numpy); if (unlikely(!__pyx_t_10)) __PYX_ERR(1, 140, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_10);
+0141: col_source_t.col_source_u64_numpy,
__pyx_t_11 = __Pyx_PyInt_From_enum____pyx_t_7questdb_7ingress_col_source_t(__pyx_e_7questdb_7ingress_col_source_u64_numpy); if (unlikely(!__pyx_t_11)) __PYX_ERR(1, 141, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_11);
+0142: col_source_t.col_source_i64_numpy,
__pyx_t_12 = __Pyx_PyInt_From_enum____pyx_t_7questdb_7ingress_col_source_t(__pyx_e_7questdb_7ingress_col_source_i64_numpy); if (unlikely(!__pyx_t_12)) __PYX_ERR(1, 142, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_12);
+0143: col_source_t.col_source_u8_arrow,
__pyx_t_13 = __Pyx_PyInt_From_enum____pyx_t_7questdb_7ingress_col_source_t(__pyx_e_7questdb_7ingress_col_source_u8_arrow); if (unlikely(!__pyx_t_13)) __PYX_ERR(1, 143, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_13);
+0144: col_source_t.col_source_i8_arrow,
__pyx_t_14 = __Pyx_PyInt_From_enum____pyx_t_7questdb_7ingress_col_source_t(__pyx_e_7questdb_7ingress_col_source_i8_arrow); if (unlikely(!__pyx_t_14)) __PYX_ERR(1, 144, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_14);
+0145: col_source_t.col_source_u16_arrow,
__pyx_t_15 = __Pyx_PyInt_From_enum____pyx_t_7questdb_7ingress_col_source_t(__pyx_e_7questdb_7ingress_col_source_u16_arrow); if (unlikely(!__pyx_t_15)) __PYX_ERR(1, 145, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_15);
+0146: col_source_t.col_source_i16_arrow,
__pyx_t_16 = __Pyx_PyInt_From_enum____pyx_t_7questdb_7ingress_col_source_t(__pyx_e_7questdb_7ingress_col_source_i16_arrow); if (unlikely(!__pyx_t_16)) __PYX_ERR(1, 146, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_16);
+0147: col_source_t.col_source_u32_arrow,
__pyx_t_17 = __Pyx_PyInt_From_enum____pyx_t_7questdb_7ingress_col_source_t(__pyx_e_7questdb_7ingress_col_source_u32_arrow); if (unlikely(!__pyx_t_17)) __PYX_ERR(1, 147, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_17);
+0148: col_source_t.col_source_i32_arrow,
__pyx_t_18 = __Pyx_PyInt_From_enum____pyx_t_7questdb_7ingress_col_source_t(__pyx_e_7questdb_7ingress_col_source_i32_arrow); if (unlikely(!__pyx_t_18)) __PYX_ERR(1, 148, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_18);
+0149: col_source_t.col_source_u64_arrow,
__pyx_t_19 = __Pyx_PyInt_From_enum____pyx_t_7questdb_7ingress_col_source_t(__pyx_e_7questdb_7ingress_col_source_u64_arrow); if (unlikely(!__pyx_t_19)) __PYX_ERR(1, 149, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_19);
+0150: col_source_t.col_source_i64_arrow,
__pyx_t_20 = __Pyx_PyInt_From_enum____pyx_t_7questdb_7ingress_col_source_t(__pyx_e_7questdb_7ingress_col_source_i64_arrow); if (unlikely(!__pyx_t_20)) __PYX_ERR(1, 150, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_20); __pyx_t_21 = PySet_New(0); if (unlikely(!__pyx_t_21)) __PYX_ERR(1, 134, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_21); if (PySet_Add(__pyx_t_21, __pyx_t_6) < 0) __PYX_ERR(1, 134, __pyx_L1_error) __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; if (PySet_Add(__pyx_t_21, __pyx_t_3) < 0) __PYX_ERR(1, 134, __pyx_L1_error) __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; if (PySet_Add(__pyx_t_21, __pyx_t_5) < 0) __PYX_ERR(1, 134, __pyx_L1_error) __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; if (PySet_Add(__pyx_t_21, __pyx_t_9) < 0) __PYX_ERR(1, 134, __pyx_L1_error) __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0; if (PySet_Add(__pyx_t_21, __pyx_t_8) < 0) __PYX_ERR(1, 134, __pyx_L1_error) __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0; if (PySet_Add(__pyx_t_21, __pyx_t_4) < 0) __PYX_ERR(1, 134, __pyx_L1_error) __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; if (PySet_Add(__pyx_t_21, __pyx_t_10) < 0) __PYX_ERR(1, 134, __pyx_L1_error) __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0; if (PySet_Add(__pyx_t_21, __pyx_t_11) < 0) __PYX_ERR(1, 134, __pyx_L1_error) __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0; if (PySet_Add(__pyx_t_21, __pyx_t_12) < 0) __PYX_ERR(1, 134, __pyx_L1_error) __Pyx_DECREF(__pyx_t_12); __pyx_t_12 = 0; if (PySet_Add(__pyx_t_21, __pyx_t_13) < 0) __PYX_ERR(1, 134, __pyx_L1_error) __Pyx_DECREF(__pyx_t_13); __pyx_t_13 = 0; if (PySet_Add(__pyx_t_21, __pyx_t_14) < 0) __PYX_ERR(1, 134, __pyx_L1_error) __Pyx_DECREF(__pyx_t_14); __pyx_t_14 = 0; if (PySet_Add(__pyx_t_21, __pyx_t_15) < 0) __PYX_ERR(1, 134, __pyx_L1_error) __Pyx_DECREF(__pyx_t_15); __pyx_t_15 = 0; if (PySet_Add(__pyx_t_21, __pyx_t_16) < 0) __PYX_ERR(1, 134, __pyx_L1_error) __Pyx_DECREF(__pyx_t_16); __pyx_t_16 = 0; if (PySet_Add(__pyx_t_21, __pyx_t_17) < 0) __PYX_ERR(1, 134, __pyx_L1_error) __Pyx_DECREF(__pyx_t_17); __pyx_t_17 = 0; if (PySet_Add(__pyx_t_21, __pyx_t_18) < 0) __PYX_ERR(1, 134, __pyx_L1_error) __Pyx_DECREF(__pyx_t_18); __pyx_t_18 = 0; if (PySet_Add(__pyx_t_21, __pyx_t_19) < 0) __PYX_ERR(1, 134, __pyx_L1_error) __Pyx_DECREF(__pyx_t_19); __pyx_t_19 = 0; if (PySet_Add(__pyx_t_21, __pyx_t_20) < 0) __PYX_ERR(1, 134, __pyx_L1_error) __Pyx_DECREF(__pyx_t_20); __pyx_t_20 = 0; if (PyDict_SetItem(__pyx_t_7, __pyx_t_2, __pyx_t_21) < 0) __PYX_ERR(1, 111, __pyx_L1_error) __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; __Pyx_DECREF(__pyx_t_21); __pyx_t_21 = 0;
0151: },
+0152: col_target_t.col_target_column_f64: {
__pyx_t_21 = __Pyx_PyInt_From_enum____pyx_t_7questdb_7ingress_col_target_t(__pyx_e_7questdb_7ingress_col_target_column_f64); if (unlikely(!__pyx_t_21)) __PYX_ERR(1, 152, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_21);
+0153: col_source_t.col_source_float_pyobj,
__pyx_t_2 = __Pyx_PyInt_From_enum____pyx_t_7questdb_7ingress_col_source_t(__pyx_e_7questdb_7ingress_col_source_float_pyobj); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 153, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2);
+0154: col_source_t.col_source_f32_numpy,
__pyx_t_20 = __Pyx_PyInt_From_enum____pyx_t_7questdb_7ingress_col_source_t(__pyx_e_7questdb_7ingress_col_source_f32_numpy); if (unlikely(!__pyx_t_20)) __PYX_ERR(1, 154, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_20);
+0155: col_source_t.col_source_f64_numpy,
__pyx_t_19 = __Pyx_PyInt_From_enum____pyx_t_7questdb_7ingress_col_source_t(__pyx_e_7questdb_7ingress_col_source_f64_numpy); if (unlikely(!__pyx_t_19)) __PYX_ERR(1, 155, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_19);
+0156: col_source_t.col_source_f32_arrow,
__pyx_t_18 = __Pyx_PyInt_From_enum____pyx_t_7questdb_7ingress_col_source_t(__pyx_e_7questdb_7ingress_col_source_f32_arrow); if (unlikely(!__pyx_t_18)) __PYX_ERR(1, 156, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_18);
+0157: col_source_t.col_source_f64_arrow,
__pyx_t_17 = __Pyx_PyInt_From_enum____pyx_t_7questdb_7ingress_col_source_t(__pyx_e_7questdb_7ingress_col_source_f64_arrow); if (unlikely(!__pyx_t_17)) __PYX_ERR(1, 157, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_17); __pyx_t_16 = PySet_New(0); if (unlikely(!__pyx_t_16)) __PYX_ERR(1, 153, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_16); if (PySet_Add(__pyx_t_16, __pyx_t_2) < 0) __PYX_ERR(1, 153, __pyx_L1_error) __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; if (PySet_Add(__pyx_t_16, __pyx_t_20) < 0) __PYX_ERR(1, 153, __pyx_L1_error) __Pyx_DECREF(__pyx_t_20); __pyx_t_20 = 0; if (PySet_Add(__pyx_t_16, __pyx_t_19) < 0) __PYX_ERR(1, 153, __pyx_L1_error) __Pyx_DECREF(__pyx_t_19); __pyx_t_19 = 0; if (PySet_Add(__pyx_t_16, __pyx_t_18) < 0) __PYX_ERR(1, 153, __pyx_L1_error) __Pyx_DECREF(__pyx_t_18); __pyx_t_18 = 0; if (PySet_Add(__pyx_t_16, __pyx_t_17) < 0) __PYX_ERR(1, 153, __pyx_L1_error) __Pyx_DECREF(__pyx_t_17); __pyx_t_17 = 0; if (PyDict_SetItem(__pyx_t_7, __pyx_t_21, __pyx_t_16) < 0) __PYX_ERR(1, 111, __pyx_L1_error) __Pyx_DECREF(__pyx_t_21); __pyx_t_21 = 0; __Pyx_DECREF(__pyx_t_16); __pyx_t_16 = 0;
0158: },
+0159: col_target_t.col_target_column_str: {
__pyx_t_16 = __Pyx_PyInt_From_enum____pyx_t_7questdb_7ingress_col_target_t(__pyx_e_7questdb_7ingress_col_target_column_str); if (unlikely(!__pyx_t_16)) __PYX_ERR(1, 159, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_16);
+0160: col_source_t.col_source_str_pyobj,
__pyx_t_21 = __Pyx_PyInt_From_enum____pyx_t_7questdb_7ingress_col_source_t(__pyx_e_7questdb_7ingress_col_source_str_pyobj); if (unlikely(!__pyx_t_21)) __PYX_ERR(1, 160, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_21);
+0161: col_source_t.col_source_str_arrow,
__pyx_t_17 = __Pyx_PyInt_From_enum____pyx_t_7questdb_7ingress_col_source_t(__pyx_e_7questdb_7ingress_col_source_str_arrow); if (unlikely(!__pyx_t_17)) __PYX_ERR(1, 161, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_17);
+0162: col_source_t.col_source_str_i8_cat,
__pyx_t_18 = __Pyx_PyInt_From_enum____pyx_t_7questdb_7ingress_col_source_t(__pyx_e_7questdb_7ingress_col_source_str_i8_cat); if (unlikely(!__pyx_t_18)) __PYX_ERR(1, 162, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_18);
+0163: col_source_t.col_source_str_i16_cat,
__pyx_t_19 = __Pyx_PyInt_From_enum____pyx_t_7questdb_7ingress_col_source_t(__pyx_e_7questdb_7ingress_col_source_str_i16_cat); if (unlikely(!__pyx_t_19)) __PYX_ERR(1, 163, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_19);
+0164: col_source_t.col_source_str_i32_cat,
__pyx_t_20 = __Pyx_PyInt_From_enum____pyx_t_7questdb_7ingress_col_source_t(__pyx_e_7questdb_7ingress_col_source_str_i32_cat); if (unlikely(!__pyx_t_20)) __PYX_ERR(1, 164, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_20); __pyx_t_2 = PySet_New(0); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 160, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); if (PySet_Add(__pyx_t_2, __pyx_t_21) < 0) __PYX_ERR(1, 160, __pyx_L1_error) __Pyx_DECREF(__pyx_t_21); __pyx_t_21 = 0; if (PySet_Add(__pyx_t_2, __pyx_t_17) < 0) __PYX_ERR(1, 160, __pyx_L1_error) __Pyx_DECREF(__pyx_t_17); __pyx_t_17 = 0; if (PySet_Add(__pyx_t_2, __pyx_t_18) < 0) __PYX_ERR(1, 160, __pyx_L1_error) __Pyx_DECREF(__pyx_t_18); __pyx_t_18 = 0; if (PySet_Add(__pyx_t_2, __pyx_t_19) < 0) __PYX_ERR(1, 160, __pyx_L1_error) __Pyx_DECREF(__pyx_t_19); __pyx_t_19 = 0; if (PySet_Add(__pyx_t_2, __pyx_t_20) < 0) __PYX_ERR(1, 160, __pyx_L1_error) __Pyx_DECREF(__pyx_t_20); __pyx_t_20 = 0; if (PyDict_SetItem(__pyx_t_7, __pyx_t_16, __pyx_t_2) < 0) __PYX_ERR(1, 111, __pyx_L1_error) __Pyx_DECREF(__pyx_t_16); __pyx_t_16 = 0; __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
0165: },
+0166: col_target_t.col_target_column_ts: {
__pyx_t_2 = __Pyx_PyInt_From_enum____pyx_t_7questdb_7ingress_col_target_t(__pyx_e_7questdb_7ingress_col_target_column_ts); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 166, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2);
+0167: col_source_t.col_source_dt64ns_numpy,
__pyx_t_16 = __Pyx_PyInt_From_enum____pyx_t_7questdb_7ingress_col_source_t(__pyx_e_7questdb_7ingress_col_source_dt64ns_numpy); if (unlikely(!__pyx_t_16)) __PYX_ERR(1, 167, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_16);
+0168: col_source_t.col_source_dt64ns_tz_arrow,
__pyx_t_20 = __Pyx_PyInt_From_enum____pyx_t_7questdb_7ingress_col_source_t(__pyx_e_7questdb_7ingress_col_source_dt64ns_tz_arrow); if (unlikely(!__pyx_t_20)) __PYX_ERR(1, 168, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_20); __pyx_t_19 = PySet_New(0); if (unlikely(!__pyx_t_19)) __PYX_ERR(1, 167, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_19); if (PySet_Add(__pyx_t_19, __pyx_t_16) < 0) __PYX_ERR(1, 167, __pyx_L1_error) __Pyx_DECREF(__pyx_t_16); __pyx_t_16 = 0; if (PySet_Add(__pyx_t_19, __pyx_t_20) < 0) __PYX_ERR(1, 167, __pyx_L1_error) __Pyx_DECREF(__pyx_t_20); __pyx_t_20 = 0; if (PyDict_SetItem(__pyx_t_7, __pyx_t_2, __pyx_t_19) < 0) __PYX_ERR(1, 111, __pyx_L1_error) __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; __Pyx_DECREF(__pyx_t_19); __pyx_t_19 = 0;
0169: },
+0170: col_target_t.col_target_at: {
__pyx_t_19 = __Pyx_PyInt_From_enum____pyx_t_7questdb_7ingress_col_target_t(__pyx_e_7questdb_7ingress_col_target_at); if (unlikely(!__pyx_t_19)) __PYX_ERR(1, 170, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_19);
+0171: col_source_t.col_source_dt64ns_numpy,
__pyx_t_2 = __Pyx_PyInt_From_enum____pyx_t_7questdb_7ingress_col_source_t(__pyx_e_7questdb_7ingress_col_source_dt64ns_numpy); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 171, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2);
+0172: col_source_t.col_source_dt64ns_tz_arrow,
__pyx_t_20 = __Pyx_PyInt_From_enum____pyx_t_7questdb_7ingress_col_source_t(__pyx_e_7questdb_7ingress_col_source_dt64ns_tz_arrow); if (unlikely(!__pyx_t_20)) __PYX_ERR(1, 172, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_20); __pyx_t_16 = PySet_New(0); if (unlikely(!__pyx_t_16)) __PYX_ERR(1, 171, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_16); if (PySet_Add(__pyx_t_16, __pyx_t_2) < 0) __PYX_ERR(1, 171, __pyx_L1_error) __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; if (PySet_Add(__pyx_t_16, __pyx_t_20) < 0) __PYX_ERR(1, 171, __pyx_L1_error) __Pyx_DECREF(__pyx_t_20); __pyx_t_20 = 0; if (PyDict_SetItem(__pyx_t_7, __pyx_t_19, __pyx_t_16) < 0) __PYX_ERR(1, 111, __pyx_L1_error) __Pyx_DECREF(__pyx_t_19); __pyx_t_19 = 0; __Pyx_DECREF(__pyx_t_16); __pyx_t_16 = 0; __Pyx_XGOTREF(__pyx_v_7questdb_7ingress__TARGET_TO_SOURCES); __Pyx_DECREF_SET(__pyx_v_7questdb_7ingress__TARGET_TO_SOURCES, ((PyObject*)__pyx_t_7)); __Pyx_GIVEREF(__pyx_t_7); __pyx_t_7 = 0;
0173: },
0174: }
0175:
0176:
0177: # Targets associated with col_meta_target.field.
0178: cdef tuple _FIELD_TARGETS = (
+0179: col_target_t.col_target_skip,
__pyx_t_7 = __Pyx_PyInt_From_enum____pyx_t_7questdb_7ingress_col_target_t(__pyx_e_7questdb_7ingress_col_target_skip); if (unlikely(!__pyx_t_7)) __PYX_ERR(1, 179, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_7); /* … */ __pyx_t_17 = PyTuple_New(6); if (unlikely(!__pyx_t_17)) __PYX_ERR(1, 179, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_17); __Pyx_GIVEREF(__pyx_t_7); if (__Pyx_PyTuple_SET_ITEM(__pyx_t_17, 0, __pyx_t_7)) __PYX_ERR(1, 179, __pyx_L1_error); __Pyx_GIVEREF(__pyx_t_16); if (__Pyx_PyTuple_SET_ITEM(__pyx_t_17, 1, __pyx_t_16)) __PYX_ERR(1, 179, __pyx_L1_error); __Pyx_GIVEREF(__pyx_t_19); if (__Pyx_PyTuple_SET_ITEM(__pyx_t_17, 2, __pyx_t_19)) __PYX_ERR(1, 179, __pyx_L1_error); __Pyx_GIVEREF(__pyx_t_20); if (__Pyx_PyTuple_SET_ITEM(__pyx_t_17, 3, __pyx_t_20)) __PYX_ERR(1, 179, __pyx_L1_error); __Pyx_GIVEREF(__pyx_t_2); if (__Pyx_PyTuple_SET_ITEM(__pyx_t_17, 4, __pyx_t_2)) __PYX_ERR(1, 179, __pyx_L1_error); __Pyx_GIVEREF(__pyx_t_18); if (__Pyx_PyTuple_SET_ITEM(__pyx_t_17, 5, __pyx_t_18)) __PYX_ERR(1, 179, __pyx_L1_error); __pyx_t_7 = 0; __pyx_t_16 = 0; __pyx_t_19 = 0; __pyx_t_20 = 0; __pyx_t_2 = 0; __pyx_t_18 = 0; __Pyx_XGOTREF(__pyx_v_7questdb_7ingress__FIELD_TARGETS); __Pyx_DECREF_SET(__pyx_v_7questdb_7ingress__FIELD_TARGETS, ((PyObject*)__pyx_t_17)); __Pyx_GIVEREF(__pyx_t_17); __pyx_t_17 = 0;
+0180: col_target_t.col_target_column_bool,
__pyx_t_16 = __Pyx_PyInt_From_enum____pyx_t_7questdb_7ingress_col_target_t(__pyx_e_7questdb_7ingress_col_target_column_bool); if (unlikely(!__pyx_t_16)) __PYX_ERR(1, 180, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_16);
+0181: col_target_t.col_target_column_i64,
__pyx_t_19 = __Pyx_PyInt_From_enum____pyx_t_7questdb_7ingress_col_target_t(__pyx_e_7questdb_7ingress_col_target_column_i64); if (unlikely(!__pyx_t_19)) __PYX_ERR(1, 181, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_19);
+0182: col_target_t.col_target_column_f64,
__pyx_t_20 = __Pyx_PyInt_From_enum____pyx_t_7questdb_7ingress_col_target_t(__pyx_e_7questdb_7ingress_col_target_column_f64); if (unlikely(!__pyx_t_20)) __PYX_ERR(1, 182, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_20);
+0183: col_target_t.col_target_column_str,
__pyx_t_2 = __Pyx_PyInt_From_enum____pyx_t_7questdb_7ingress_col_target_t(__pyx_e_7questdb_7ingress_col_target_column_str); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 183, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2);
+0184: col_target_t.col_target_column_ts)
__pyx_t_18 = __Pyx_PyInt_From_enum____pyx_t_7questdb_7ingress_col_target_t(__pyx_e_7questdb_7ingress_col_target_column_ts); if (unlikely(!__pyx_t_18)) __PYX_ERR(1, 184, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_18);
0185:
0186:
0187: # Targets that map directly from a meta target.
0188: cdef set _DIRECT_META_TARGETS = {
+0189: col_target_t.col_target_table,
__pyx_t_17 = __Pyx_PyInt_From_enum____pyx_t_7questdb_7ingress_col_target_t(__pyx_e_7questdb_7ingress_col_target_table); if (unlikely(!__pyx_t_17)) __PYX_ERR(1, 189, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_17);
+0190: col_target_t.col_target_symbol,
__pyx_t_18 = __Pyx_PyInt_From_enum____pyx_t_7questdb_7ingress_col_target_t(__pyx_e_7questdb_7ingress_col_target_symbol); if (unlikely(!__pyx_t_18)) __PYX_ERR(1, 190, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_18);
+0191: col_target_t.col_target_at,
__pyx_t_2 = __Pyx_PyInt_From_enum____pyx_t_7questdb_7ingress_col_target_t(__pyx_e_7questdb_7ingress_col_target_at); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 191, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __pyx_t_20 = PySet_New(0); if (unlikely(!__pyx_t_20)) __PYX_ERR(1, 189, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_20); if (PySet_Add(__pyx_t_20, __pyx_t_17) < 0) __PYX_ERR(1, 189, __pyx_L1_error) __Pyx_DECREF(__pyx_t_17); __pyx_t_17 = 0; if (PySet_Add(__pyx_t_20, __pyx_t_18) < 0) __PYX_ERR(1, 189, __pyx_L1_error) __Pyx_DECREF(__pyx_t_18); __pyx_t_18 = 0; if (PySet_Add(__pyx_t_20, __pyx_t_2) < 0) __PYX_ERR(1, 189, __pyx_L1_error) __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; __Pyx_XGOTREF(__pyx_v_7questdb_7ingress__DIRECT_META_TARGETS); __Pyx_DECREF_SET(__pyx_v_7questdb_7ingress__DIRECT_META_TARGETS, ((PyObject*)__pyx_t_20)); __Pyx_GIVEREF(__pyx_t_20); __pyx_t_20 = 0;
0192: }
0193:
0194:
0195: # This is verbose, but..
0196: # * Enums give us constants.
0197: # * Constants allow unfolding `if` statements into `switch`
0198: # * Switch statements can be more heavily optimized by the C compiler.
+0199: cdef enum col_dispatch_code_t:
enum __pyx_t_7questdb_7ingress_col_dispatch_code_t {
0200: col_dispatch_code_skip_nulls = \
0201: col_target_t.col_target_skip + col_source_t.col_source_nulls
0202:
0203: col_dispatch_code_table__str_pyobj = \
0204: col_target_t.col_target_table + col_source_t.col_source_str_pyobj
0205: col_dispatch_code_table__str_arrow = \
0206: col_target_t.col_target_table + col_source_t.col_source_str_arrow
0207: col_dispatch_code_table__str_i8_cat = \
0208: col_target_t.col_target_table + col_source_t.col_source_str_i8_cat
0209: col_dispatch_code_table__str_i16_cat = \
0210: col_target_t.col_target_table + col_source_t.col_source_str_i16_cat
0211: col_dispatch_code_table__str_i32_cat = \
0212: col_target_t.col_target_table + col_source_t.col_source_str_i32_cat
0213:
0214: col_dispatch_code_symbol__str_pyobj = \
0215: col_target_t.col_target_symbol + col_source_t.col_source_str_pyobj
0216: col_dispatch_code_symbol__str_arrow = \
0217: col_target_t.col_target_symbol + col_source_t.col_source_str_arrow
0218: col_dispatch_code_symbol__str_i8_cat = \
0219: col_target_t.col_target_symbol + col_source_t.col_source_str_i8_cat
0220: col_dispatch_code_symbol__str_i16_cat = \
0221: col_target_t.col_target_symbol + col_source_t.col_source_str_i16_cat
0222: col_dispatch_code_symbol__str_i32_cat = \
0223: col_target_t.col_target_symbol + col_source_t.col_source_str_i32_cat
0224:
0225: col_dispatch_code_column_bool__bool_pyobj = \
0226: col_target_t.col_target_column_bool + col_source_t.col_source_bool_pyobj
0227: col_dispatch_code_column_bool__bool_numpy = \
0228: col_target_t.col_target_column_bool + col_source_t.col_source_bool_numpy
0229: col_dispatch_code_column_bool__bool_arrow = \
0230: col_target_t.col_target_column_bool + col_source_t.col_source_bool_arrow
0231:
0232: col_dispatch_code_column_i64__int_pyobj = \
0233: col_target_t.col_target_column_i64 + col_source_t.col_source_int_pyobj
0234: col_dispatch_code_column_i64__u8_numpy = \
0235: col_target_t.col_target_column_i64 + col_source_t.col_source_u8_numpy
0236: col_dispatch_code_column_i64__i8_numpy = \
0237: col_target_t.col_target_column_i64 + col_source_t.col_source_i8_numpy
0238: col_dispatch_code_column_i64__u16_numpy = \
0239: col_target_t.col_target_column_i64 + col_source_t.col_source_u16_numpy
0240: col_dispatch_code_column_i64__i16_numpy = \
0241: col_target_t.col_target_column_i64 + col_source_t.col_source_i16_numpy
0242: col_dispatch_code_column_i64__u32_numpy = \
0243: col_target_t.col_target_column_i64 + col_source_t.col_source_u32_numpy
0244: col_dispatch_code_column_i64__i32_numpy = \
0245: col_target_t.col_target_column_i64 + col_source_t.col_source_i32_numpy
0246: col_dispatch_code_column_i64__u64_numpy = \
0247: col_target_t.col_target_column_i64 + col_source_t.col_source_u64_numpy
0248: col_dispatch_code_column_i64__i64_numpy = \
0249: col_target_t.col_target_column_i64 + col_source_t.col_source_i64_numpy
0250: col_dispatch_code_column_i64__u8_arrow = \
0251: col_target_t.col_target_column_i64 + col_source_t.col_source_u8_arrow
0252: col_dispatch_code_column_i64__i8_arrow = \
0253: col_target_t.col_target_column_i64 + col_source_t.col_source_i8_arrow
0254: col_dispatch_code_column_i64__u16_arrow = \
0255: col_target_t.col_target_column_i64 + col_source_t.col_source_u16_arrow
0256: col_dispatch_code_column_i64__i16_arrow = \
0257: col_target_t.col_target_column_i64 + col_source_t.col_source_i16_arrow
0258: col_dispatch_code_column_i64__u32_arrow = \
0259: col_target_t.col_target_column_i64 + col_source_t.col_source_u32_arrow
0260: col_dispatch_code_column_i64__i32_arrow = \
0261: col_target_t.col_target_column_i64 + col_source_t.col_source_i32_arrow
0262: col_dispatch_code_column_i64__u64_arrow = \
0263: col_target_t.col_target_column_i64 + col_source_t.col_source_u64_arrow
0264: col_dispatch_code_column_i64__i64_arrow = \
0265: col_target_t.col_target_column_i64 + col_source_t.col_source_i64_arrow
0266:
0267: col_dispatch_code_column_f64__float_pyobj = \
0268: col_target_t.col_target_column_f64 + col_source_t.col_source_float_pyobj
0269: col_dispatch_code_column_f64__f32_numpy = \
0270: col_target_t.col_target_column_f64 + col_source_t.col_source_f32_numpy
0271: col_dispatch_code_column_f64__f64_numpy = \
0272: col_target_t.col_target_column_f64 + col_source_t.col_source_f64_numpy
0273: col_dispatch_code_column_f64__f32_arrow = \
0274: col_target_t.col_target_column_f64 + col_source_t.col_source_f32_arrow
0275: col_dispatch_code_column_f64__f64_arrow = \
0276: col_target_t.col_target_column_f64 + col_source_t.col_source_f64_arrow
0277:
0278: col_dispatch_code_column_str__str_pyobj = \
0279: col_target_t.col_target_column_str + col_source_t.col_source_str_pyobj
0280: col_dispatch_code_column_str__str_arrow = \
0281: col_target_t.col_target_column_str + col_source_t.col_source_str_arrow
0282: col_dispatch_code_column_str__str_i8_cat = \
0283: col_target_t.col_target_column_str + col_source_t.col_source_str_i8_cat
0284: col_dispatch_code_column_str__str_i16_cat = \
0285: col_target_t.col_target_column_str + col_source_t.col_source_str_i16_cat
0286: col_dispatch_code_column_str__str_i32_cat = \
0287: col_target_t.col_target_column_str + col_source_t.col_source_str_i32_cat
0288:
0289: col_dispatch_code_column_ts__dt64ns_numpy = \
0290: col_target_t.col_target_column_ts + col_source_t.col_source_dt64ns_numpy
0291: col_dispatch_code_column_ts__dt64ns_tz_arrow = \
0292: col_target_t.col_target_column_ts + \
0293: col_source_t.col_source_dt64ns_tz_arrow
0294:
0295: col_dispatch_code_at__dt64ns_numpy = \
0296: col_target_t.col_target_at + col_source_t.col_source_dt64ns_numpy
0297: col_dispatch_code_at__dt64ns_tz_arrow = \
+0298: col_target_t.col_target_at + col_source_t.col_source_dt64ns_tz_arrow
__pyx_e_7questdb_7ingress_col_dispatch_code_skip_nulls = (__pyx_e_7questdb_7ingress_col_target_skip + __pyx_e_7questdb_7ingress_col_source_nulls), __pyx_e_7questdb_7ingress_col_dispatch_code_table__str_pyobj = (__pyx_e_7questdb_7ingress_col_target_table + __pyx_e_7questdb_7ingress_col_source_str_pyobj), __pyx_e_7questdb_7ingress_col_dispatch_code_table__str_arrow = (__pyx_e_7questdb_7ingress_col_target_table + __pyx_e_7questdb_7ingress_col_source_str_arrow), __pyx_e_7questdb_7ingress_col_dispatch_code_table__str_i8_cat = (__pyx_e_7questdb_7ingress_col_target_table + __pyx_e_7questdb_7ingress_col_source_str_i8_cat), __pyx_e_7questdb_7ingress_col_dispatch_code_table__str_i16_cat = (__pyx_e_7questdb_7ingress_col_target_table + __pyx_e_7questdb_7ingress_col_source_str_i16_cat), __pyx_e_7questdb_7ingress_col_dispatch_code_table__str_i32_cat = (__pyx_e_7questdb_7ingress_col_target_table + __pyx_e_7questdb_7ingress_col_source_str_i32_cat), __pyx_e_7questdb_7ingress_col_dispatch_code_symbol__str_pyobj = (__pyx_e_7questdb_7ingress_col_target_symbol + __pyx_e_7questdb_7ingress_col_source_str_pyobj), __pyx_e_7questdb_7ingress_col_dispatch_code_symbol__str_arrow = (__pyx_e_7questdb_7ingress_col_target_symbol + __pyx_e_7questdb_7ingress_col_source_str_arrow), __pyx_e_7questdb_7ingress_col_dispatch_code_symbol__str_i8_cat = (__pyx_e_7questdb_7ingress_col_target_symbol + __pyx_e_7questdb_7ingress_col_source_str_i8_cat), __pyx_e_7questdb_7ingress_col_dispatch_code_symbol__str_i16_cat = (__pyx_e_7questdb_7ingress_col_target_symbol + __pyx_e_7questdb_7ingress_col_source_str_i16_cat), __pyx_e_7questdb_7ingress_col_dispatch_code_symbol__str_i32_cat = (__pyx_e_7questdb_7ingress_col_target_symbol + __pyx_e_7questdb_7ingress_col_source_str_i32_cat), __pyx_e_7questdb_7ingress_col_dispatch_code_column_bool__bool_pyobj = (__pyx_e_7questdb_7ingress_col_target_column_bool + __pyx_e_7questdb_7ingress_col_source_bool_pyobj), __pyx_e_7questdb_7ingress_col_dispatch_code_column_bool__bool_numpy = (__pyx_e_7questdb_7ingress_col_target_column_bool + __pyx_e_7questdb_7ingress_col_source_bool_numpy), __pyx_e_7questdb_7ingress_col_dispatch_code_column_bool__bool_arrow = (__pyx_e_7questdb_7ingress_col_target_column_bool + __pyx_e_7questdb_7ingress_col_source_bool_arrow), __pyx_e_7questdb_7ingress_col_dispatch_code_column_i64__int_pyobj = (__pyx_e_7questdb_7ingress_col_target_column_i64 + __pyx_e_7questdb_7ingress_col_source_int_pyobj), __pyx_e_7questdb_7ingress_col_dispatch_code_column_i64__u8_numpy = (__pyx_e_7questdb_7ingress_col_target_column_i64 + __pyx_e_7questdb_7ingress_col_source_u8_numpy), __pyx_e_7questdb_7ingress_col_dispatch_code_column_i64__i8_numpy = (__pyx_e_7questdb_7ingress_col_target_column_i64 + __pyx_e_7questdb_7ingress_col_source_i8_numpy), __pyx_e_7questdb_7ingress_col_dispatch_code_column_i64__u16_numpy = (__pyx_e_7questdb_7ingress_col_target_column_i64 + __pyx_e_7questdb_7ingress_col_source_u16_numpy), __pyx_e_7questdb_7ingress_col_dispatch_code_column_i64__i16_numpy = (__pyx_e_7questdb_7ingress_col_target_column_i64 + __pyx_e_7questdb_7ingress_col_source_i16_numpy), __pyx_e_7questdb_7ingress_col_dispatch_code_column_i64__u32_numpy = (__pyx_e_7questdb_7ingress_col_target_column_i64 + __pyx_e_7questdb_7ingress_col_source_u32_numpy), __pyx_e_7questdb_7ingress_col_dispatch_code_column_i64__i32_numpy = (__pyx_e_7questdb_7ingress_col_target_column_i64 + __pyx_e_7questdb_7ingress_col_source_i32_numpy), __pyx_e_7questdb_7ingress_col_dispatch_code_column_i64__u64_numpy = (__pyx_e_7questdb_7ingress_col_target_column_i64 + __pyx_e_7questdb_7ingress_col_source_u64_numpy), __pyx_e_7questdb_7ingress_col_dispatch_code_column_i64__i64_numpy = (__pyx_e_7questdb_7ingress_col_target_column_i64 + __pyx_e_7questdb_7ingress_col_source_i64_numpy), __pyx_e_7questdb_7ingress_col_dispatch_code_column_i64__u8_arrow = (__pyx_e_7questdb_7ingress_col_target_column_i64 + __pyx_e_7questdb_7ingress_col_source_u8_arrow), __pyx_e_7questdb_7ingress_col_dispatch_code_column_i64__i8_arrow = (__pyx_e_7questdb_7ingress_col_target_column_i64 + __pyx_e_7questdb_7ingress_col_source_i8_arrow), __pyx_e_7questdb_7ingress_col_dispatch_code_column_i64__u16_arrow = (__pyx_e_7questdb_7ingress_col_target_column_i64 + __pyx_e_7questdb_7ingress_col_source_u16_arrow), __pyx_e_7questdb_7ingress_col_dispatch_code_column_i64__i16_arrow = (__pyx_e_7questdb_7ingress_col_target_column_i64 + __pyx_e_7questdb_7ingress_col_source_i16_arrow), __pyx_e_7questdb_7ingress_col_dispatch_code_column_i64__u32_arrow = (__pyx_e_7questdb_7ingress_col_target_column_i64 + __pyx_e_7questdb_7ingress_col_source_u32_arrow), __pyx_e_7questdb_7ingress_col_dispatch_code_column_i64__i32_arrow = (__pyx_e_7questdb_7ingress_col_target_column_i64 + __pyx_e_7questdb_7ingress_col_source_i32_arrow), __pyx_e_7questdb_7ingress_col_dispatch_code_column_i64__u64_arrow = (__pyx_e_7questdb_7ingress_col_target_column_i64 + __pyx_e_7questdb_7ingress_col_source_u64_arrow), __pyx_e_7questdb_7ingress_col_dispatch_code_column_i64__i64_arrow = (__pyx_e_7questdb_7ingress_col_target_column_i64 + __pyx_e_7questdb_7ingress_col_source_i64_arrow), __pyx_e_7questdb_7ingress_col_dispatch_code_column_f64__float_pyobj = (__pyx_e_7questdb_7ingress_col_target_column_f64 + __pyx_e_7questdb_7ingress_col_source_float_pyobj), __pyx_e_7questdb_7ingress_col_dispatch_code_column_f64__f32_numpy = (__pyx_e_7questdb_7ingress_col_target_column_f64 + __pyx_e_7questdb_7ingress_col_source_f32_numpy), __pyx_e_7questdb_7ingress_col_dispatch_code_column_f64__f64_numpy = (__pyx_e_7questdb_7ingress_col_target_column_f64 + __pyx_e_7questdb_7ingress_col_source_f64_numpy), __pyx_e_7questdb_7ingress_col_dispatch_code_column_f64__f32_arrow = (__pyx_e_7questdb_7ingress_col_target_column_f64 + __pyx_e_7questdb_7ingress_col_source_f32_arrow), __pyx_e_7questdb_7ingress_col_dispatch_code_column_f64__f64_arrow = (__pyx_e_7questdb_7ingress_col_target_column_f64 + __pyx_e_7questdb_7ingress_col_source_f64_arrow), __pyx_e_7questdb_7ingress_col_dispatch_code_column_str__str_pyobj = (__pyx_e_7questdb_7ingress_col_target_column_str + __pyx_e_7questdb_7ingress_col_source_str_pyobj), __pyx_e_7questdb_7ingress_col_dispatch_code_column_str__str_arrow = (__pyx_e_7questdb_7ingress_col_target_column_str + __pyx_e_7questdb_7ingress_col_source_str_arrow), __pyx_e_7questdb_7ingress_col_dispatch_code_column_str__str_i8_cat = (__pyx_e_7questdb_7ingress_col_target_column_str + __pyx_e_7questdb_7ingress_col_source_str_i8_cat), __pyx_e_7questdb_7ingress_col_dispatch_code_column_str__str_i16_cat = (__pyx_e_7questdb_7ingress_col_target_column_str + __pyx_e_7questdb_7ingress_col_source_str_i16_cat), __pyx_e_7questdb_7ingress_col_dispatch_code_column_str__str_i32_cat = (__pyx_e_7questdb_7ingress_col_target_column_str + __pyx_e_7questdb_7ingress_col_source_str_i32_cat), __pyx_e_7questdb_7ingress_col_dispatch_code_column_ts__dt64ns_numpy = (__pyx_e_7questdb_7ingress_col_target_column_ts + __pyx_e_7questdb_7ingress_col_source_dt64ns_numpy), __pyx_e_7questdb_7ingress_col_dispatch_code_column_ts__dt64ns_tz_arrow = (__pyx_e_7questdb_7ingress_col_target_column_ts + __pyx_e_7questdb_7ingress_col_source_dt64ns_tz_arrow), __pyx_e_7questdb_7ingress_col_dispatch_code_at__dt64ns_numpy = (__pyx_e_7questdb_7ingress_col_target_at + __pyx_e_7questdb_7ingress_col_source_dt64ns_numpy), __pyx_e_7questdb_7ingress_col_dispatch_code_at__dt64ns_tz_arrow = (__pyx_e_7questdb_7ingress_col_target_at + __pyx_e_7questdb_7ingress_col_source_dt64ns_tz_arrow) };
0299:
0300:
0301: # Int values in order for sorting (as needed for API's sequential coupling).
+0302: cdef enum meta_target_t:
enum __pyx_t_7questdb_7ingress_meta_target_t {
0303: meta_target_table = <int>col_target_t.col_target_table
0304: meta_target_symbol = <int>col_target_t.col_target_symbol
0305: meta_target_field = <int>col_target_t.col_target_column_bool
+0306: meta_target_at = <int>col_target_t.col_target_at
__pyx_e_7questdb_7ingress_meta_target_table = ((int)__pyx_e_7questdb_7ingress_col_target_table), __pyx_e_7questdb_7ingress_meta_target_symbol = ((int)__pyx_e_7questdb_7ingress_col_target_symbol), __pyx_e_7questdb_7ingress_meta_target_field = ((int)__pyx_e_7questdb_7ingress_col_target_column_bool), __pyx_e_7questdb_7ingress_meta_target_at = ((int)__pyx_e_7questdb_7ingress_col_target_at) };
0307:
0308:
+0309: cdef struct col_setup_t:
struct __pyx_t_7questdb_7ingress_col_setup_t { struct __pyx_t_7questdb_7ingress_col_chunks_t chunks; size_t orig_index; Py_buffer pybuf; struct ArrowSchema arrow_schema; enum __pyx_t_7questdb_7ingress_col_source_t source; enum __pyx_t_7questdb_7ingress_meta_target_t meta_target; enum __pyx_t_7questdb_7ingress_col_target_t target; };
0310: col_chunks_t chunks
0311: size_t orig_index
0312: Py_buffer pybuf
0313: ArrowSchema arrow_schema # Schema of first chunk.
0314: col_source_t source
0315: meta_target_t meta_target
0316: col_target_t target
0317:
0318:
+0319: cdef struct col_t:
struct __pyx_t_7questdb_7ingress_col_t { enum __pyx_t_7questdb_7ingress_col_dispatch_code_t dispatch_code; struct line_sender_column_name name; struct __pyx_t_7questdb_7ingress_col_cursor_t cursor; struct __pyx_t_7questdb_7ingress_col_setup_t *setup; };
0320: col_dispatch_code_t dispatch_code # source + target. Determines serializer.
0321: line_sender_column_name name
0322: col_cursor_t cursor
0323: col_setup_t* setup # Grouping to reduce size of struct.
0324:
0325:
+0326: cdef void col_t_release(col_t* col) noexcept:
static void __pyx_f_7questdb_7ingress_col_t_release(struct __pyx_t_7questdb_7ingress_col_t *__pyx_v_col) { size_t __pyx_v_chunk_index; struct ArrowArray *__pyx_v_chunk; /* … */ /* function exit code */ }
0327: """
0328: Release a (possibly) initialized column.
0329:
0330: col_t objects are `calloc`ed, so uninitialized (or partially) initialized
0331: objects will have their pointers and other values set to 0.
0332: """
0333: cdef size_t chunk_index
0334: cdef ArrowArray* chunk
0335:
+0336: if Py_buffer_obj_is_set(&col.setup.pybuf):
__pyx_t_1 = Py_buffer_obj_is_set((&__pyx_v_col->setup->pybuf)); if (__pyx_t_1) { /* … */ }
+0337: PyBuffer_Release(&col.setup.pybuf) # Note: Sets `.pybuf.obj` to NULL.
PyBuffer_Release((&__pyx_v_col->setup->pybuf));
0338:
+0339: for chunk_index in range(col.setup.chunks.n_chunks):
__pyx_t_2 = __pyx_v_col->setup->chunks.n_chunks; __pyx_t_3 = __pyx_t_2; for (__pyx_t_4 = 0; __pyx_t_4 < __pyx_t_3; __pyx_t_4+=1) { __pyx_v_chunk_index = __pyx_t_4;
+0340: chunk = &col.setup.chunks.chunks[chunk_index]
__pyx_v_chunk = (&(__pyx_v_col->setup->chunks.chunks[__pyx_v_chunk_index]));
+0341: if chunk.release != NULL:
__pyx_t_1 = (__pyx_v_chunk->release != NULL); if (__pyx_t_1) { /* … */ }
+0342: chunk.release(chunk)
__pyx_v_chunk->release(__pyx_v_chunk);
+0343: memset(chunk, 0, sizeof(ArrowArray))
(void)(memset(__pyx_v_chunk, 0, (sizeof(struct ArrowArray)))); }
0344:
+0345: if col.setup.arrow_schema.release != NULL:
__pyx_t_1 = (__pyx_v_col->setup->arrow_schema.release != NULL); if (__pyx_t_1) { /* … */ }
+0346: col.setup.arrow_schema.release(&col.setup.arrow_schema)
__pyx_v_col->setup->arrow_schema.release((&__pyx_v_col->setup->arrow_schema));
0347:
+0348: free(col.setup.chunks.chunks)
free(__pyx_v_col->setup->chunks.chunks);
+0349: col.setup.chunks.chunks = NULL
__pyx_v_col->setup->chunks.chunks = NULL;
+0350: col.setup.chunks.n_chunks = 0
__pyx_v_col->setup->chunks.n_chunks = 0;
0351:
+0352: free(col.setup)
free(__pyx_v_col->setup);
+0353: col.setup = NULL
__pyx_v_col->setup = NULL;
0354:
0355:
0356: # Calloc'd array of col_t.
+0357: cdef struct col_t_arr:
struct __pyx_t_7questdb_7ingress_col_t_arr { size_t size; struct __pyx_t_7questdb_7ingress_col_t *d; };
0358: size_t size
0359: col_t* d
0360:
0361:
+0362: cdef col_t_arr col_t_arr_blank() noexcept nogil:
static struct __pyx_t_7questdb_7ingress_col_t_arr __pyx_f_7questdb_7ingress_col_t_arr_blank(void) { struct __pyx_t_7questdb_7ingress_col_t_arr __pyx_v_arr; struct __pyx_t_7questdb_7ingress_col_t_arr __pyx_r; /* … */ /* function exit code */ __pyx_L0:; return __pyx_r; }
0363: cdef col_t_arr arr
+0364: arr.size = 0
__pyx_v_arr.size = 0;
+0365: arr.d = NULL
__pyx_v_arr.d = NULL;
+0366: return arr
__pyx_r = __pyx_v_arr; goto __pyx_L0;
0367:
0368:
+0369: cdef col_t_arr col_t_arr_new(size_t size) noexcept nogil:
static struct __pyx_t_7questdb_7ingress_col_t_arr __pyx_f_7questdb_7ingress_col_t_arr_new(size_t __pyx_v_size) { struct __pyx_t_7questdb_7ingress_col_t_arr __pyx_v_arr; size_t __pyx_v_index; struct __pyx_t_7questdb_7ingress_col_t_arr __pyx_r; /* … */ /* function exit code */ __pyx_L0:; return __pyx_r; }
0370: cdef col_t_arr arr
0371: cdef size_t index
+0372: arr.size = size
__pyx_v_arr.size = __pyx_v_size;
+0373: arr.d = <col_t*>calloc(size, sizeof(col_t))
__pyx_v_arr.d = ((struct __pyx_t_7questdb_7ingress_col_t *)calloc(__pyx_v_size, (sizeof(struct __pyx_t_7questdb_7ingress_col_t))));
+0374: for index in range(size):
__pyx_t_1 = __pyx_v_size; __pyx_t_2 = __pyx_t_1; for (__pyx_t_3 = 0; __pyx_t_3 < __pyx_t_2; __pyx_t_3+=1) { __pyx_v_index = __pyx_t_3;
+0375: arr.d[index].setup = <col_setup_t*>calloc(1, sizeof(col_setup_t))
(__pyx_v_arr.d[__pyx_v_index]).setup = ((struct __pyx_t_7questdb_7ingress_col_setup_t *)calloc(1, (sizeof(struct __pyx_t_7questdb_7ingress_col_setup_t)))); }
+0376: return arr
__pyx_r = __pyx_v_arr; goto __pyx_L0;
0377:
0378:
+0379: cdef void col_t_arr_release(col_t_arr* arr) noexcept:
static void __pyx_f_7questdb_7ingress_col_t_arr_release(struct __pyx_t_7questdb_7ingress_col_t_arr *__pyx_v_arr) { size_t __pyx_v_index; /* … */ /* function exit code */ }
0380: cdef size_t index
+0381: if arr.d:
__pyx_t_1 = (__pyx_v_arr->d != 0); if (__pyx_t_1) { /* … */ }
+0382: for index in range(arr.size):
__pyx_t_2 = __pyx_v_arr->size; __pyx_t_3 = __pyx_t_2; for (__pyx_t_4 = 0; __pyx_t_4 < __pyx_t_3; __pyx_t_4+=1) { __pyx_v_index = __pyx_t_4;
+0383: col_t_release(&arr.d[index])
__pyx_f_7questdb_7ingress_col_t_release((&(__pyx_v_arr->d[__pyx_v_index]))); }
+0384: free(arr.d)
free(__pyx_v_arr->d);
+0385: arr.size = 0
__pyx_v_arr->size = 0;
+0386: arr.d = NULL
__pyx_v_arr->d = NULL;
0387:
0388:
+0389: cdef object _NUMPY = None # module object
__Pyx_INCREF(Py_None); __Pyx_XGOTREF(__pyx_v_7questdb_7ingress__NUMPY); __Pyx_DECREF_SET(__pyx_v_7questdb_7ingress__NUMPY, Py_None); __Pyx_GIVEREF(Py_None);
+0390: cdef object _NUMPY_BOOL = None
__Pyx_INCREF(Py_None); __Pyx_XGOTREF(__pyx_v_7questdb_7ingress__NUMPY_BOOL); __Pyx_DECREF_SET(__pyx_v_7questdb_7ingress__NUMPY_BOOL, Py_None); __Pyx_GIVEREF(Py_None);
+0391: cdef object _NUMPY_UINT8 = None
__Pyx_INCREF(Py_None); __Pyx_XGOTREF(__pyx_v_7questdb_7ingress__NUMPY_UINT8); __Pyx_DECREF_SET(__pyx_v_7questdb_7ingress__NUMPY_UINT8, Py_None); __Pyx_GIVEREF(Py_None);
+0392: cdef object _NUMPY_INT8 = None
__Pyx_INCREF(Py_None); __Pyx_XGOTREF(__pyx_v_7questdb_7ingress__NUMPY_INT8); __Pyx_DECREF_SET(__pyx_v_7questdb_7ingress__NUMPY_INT8, Py_None); __Pyx_GIVEREF(Py_None);
+0393: cdef object _NUMPY_UINT16 = None
__Pyx_INCREF(Py_None); __Pyx_XGOTREF(__pyx_v_7questdb_7ingress__NUMPY_UINT16); __Pyx_DECREF_SET(__pyx_v_7questdb_7ingress__NUMPY_UINT16, Py_None); __Pyx_GIVEREF(Py_None);
+0394: cdef object _NUMPY_INT16 = None
__Pyx_INCREF(Py_None); __Pyx_XGOTREF(__pyx_v_7questdb_7ingress__NUMPY_INT16); __Pyx_DECREF_SET(__pyx_v_7questdb_7ingress__NUMPY_INT16, Py_None); __Pyx_GIVEREF(Py_None);
+0395: cdef object _NUMPY_UINT32 = None
__Pyx_INCREF(Py_None); __Pyx_XGOTREF(__pyx_v_7questdb_7ingress__NUMPY_UINT32); __Pyx_DECREF_SET(__pyx_v_7questdb_7ingress__NUMPY_UINT32, Py_None); __Pyx_GIVEREF(Py_None);
+0396: cdef object _NUMPY_INT32 = None
__Pyx_INCREF(Py_None); __Pyx_XGOTREF(__pyx_v_7questdb_7ingress__NUMPY_INT32); __Pyx_DECREF_SET(__pyx_v_7questdb_7ingress__NUMPY_INT32, Py_None); __Pyx_GIVEREF(Py_None);
+0397: cdef object _NUMPY_UINT64 = None
__Pyx_INCREF(Py_None); __Pyx_XGOTREF(__pyx_v_7questdb_7ingress__NUMPY_UINT64); __Pyx_DECREF_SET(__pyx_v_7questdb_7ingress__NUMPY_UINT64, Py_None); __Pyx_GIVEREF(Py_None);
+0398: cdef object _NUMPY_INT64 = None
__Pyx_INCREF(Py_None); __Pyx_XGOTREF(__pyx_v_7questdb_7ingress__NUMPY_INT64); __Pyx_DECREF_SET(__pyx_v_7questdb_7ingress__NUMPY_INT64, Py_None); __Pyx_GIVEREF(Py_None);
+0399: cdef object _NUMPY_FLOAT32 = None
__Pyx_INCREF(Py_None); __Pyx_XGOTREF(__pyx_v_7questdb_7ingress__NUMPY_FLOAT32); __Pyx_DECREF_SET(__pyx_v_7questdb_7ingress__NUMPY_FLOAT32, Py_None); __Pyx_GIVEREF(Py_None);
+0400: cdef object _NUMPY_FLOAT64 = None
__Pyx_INCREF(Py_None); __Pyx_XGOTREF(__pyx_v_7questdb_7ingress__NUMPY_FLOAT64); __Pyx_DECREF_SET(__pyx_v_7questdb_7ingress__NUMPY_FLOAT64, Py_None); __Pyx_GIVEREF(Py_None);
+0401: cdef object _NUMPY_DATETIME64_NS = None
__Pyx_INCREF(Py_None); __Pyx_XGOTREF(__pyx_v_7questdb_7ingress__NUMPY_DATETIME64_NS); __Pyx_DECREF_SET(__pyx_v_7questdb_7ingress__NUMPY_DATETIME64_NS, Py_None); __Pyx_GIVEREF(Py_None);
+0402: cdef object _NUMPY_OBJECT = None
__Pyx_INCREF(Py_None); __Pyx_XGOTREF(__pyx_v_7questdb_7ingress__NUMPY_OBJECT); __Pyx_DECREF_SET(__pyx_v_7questdb_7ingress__NUMPY_OBJECT, Py_None); __Pyx_GIVEREF(Py_None);
+0403: cdef object _PANDAS = None # module object
__Pyx_INCREF(Py_None); __Pyx_XGOTREF(__pyx_v_7questdb_7ingress__PANDAS); __Pyx_DECREF_SET(__pyx_v_7questdb_7ingress__PANDAS, Py_None); __Pyx_GIVEREF(Py_None);
+0404: cdef object _PANDAS_NA = None # pandas.NA
__Pyx_INCREF(Py_None); __Pyx_XGOTREF(__pyx_v_7questdb_7ingress__PANDAS_NA); __Pyx_DECREF_SET(__pyx_v_7questdb_7ingress__PANDAS_NA, Py_None); __Pyx_GIVEREF(Py_None);
+0405: cdef object _PYARROW = None # module object, if available or None
__Pyx_INCREF(Py_None); __Pyx_XGOTREF(__pyx_v_7questdb_7ingress__PYARROW); __Pyx_DECREF_SET(__pyx_v_7questdb_7ingress__PYARROW, Py_None); __Pyx_GIVEREF(Py_None);
0406:
+0407: cdef int64_t _NAT = INT64_MIN # pandas NaT
__pyx_v_7questdb_7ingress__NAT = INT64_MIN;
0408:
0409:
+0410: cdef object _dataframe_may_import_deps():
static PyObject *__pyx_f_7questdb_7ingress__dataframe_may_import_deps(void) { PyObject *__pyx_v_pandas = NULL; PyObject *__pyx_v_numpy = NULL; PyObject *__pyx_v_pyarrow = NULL; PyObject *__pyx_v_ie = NULL; PyObject *__pyx_r = NULL; /* … */ /* function exit code */ __pyx_r = Py_None; __Pyx_INCREF(Py_None); goto __pyx_L0; __pyx_L1_error:; __Pyx_XDECREF(__pyx_t_5); __Pyx_XDECREF(__pyx_t_7); __Pyx_XDECREF(__pyx_t_8); __Pyx_XDECREF(__pyx_t_9); __Pyx_AddTraceback("questdb.ingress._dataframe_may_import_deps", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = 0; __pyx_L0:; __Pyx_XDECREF(__pyx_v_pandas); __Pyx_XDECREF(__pyx_v_numpy); __Pyx_XDECREF(__pyx_v_pyarrow); __Pyx_XDECREF(__pyx_v_ie); __Pyx_XGIVEREF(__pyx_r); __Pyx_RefNannyFinishContext(); return __pyx_r; }
0411: """"
0412: Lazily import module dependencies on first use to avoid startup overhead.
0413:
0414: $ cat imp_test.py
0415: import numpy
0416: import pandas
0417: import pyarrow
0418:
0419: $ time python3 ./imp_test.py
0420: python3 ./imp_test.py 0.56s user 1.60s system 852% cpu 0.254 total
0421: """
0422: global _NUMPY, _PANDAS, _PYARROW, _PANDAS_NA
0423: global _NUMPY_BOOL
0424: global _NUMPY_UINT8
0425: global _NUMPY_INT8
0426: global _NUMPY_UINT16
0427: global _NUMPY_INT16
0428: global _NUMPY_UINT32
0429: global _NUMPY_INT32
0430: global _NUMPY_UINT64
0431: global _NUMPY_INT64
0432: global _NUMPY_FLOAT32
0433: global _NUMPY_FLOAT64
0434: global _NUMPY_DATETIME64_NS
0435: global _NUMPY_OBJECT
+0436: if _NUMPY is not None:
__pyx_t_1 = (__pyx_v_7questdb_7ingress__NUMPY != Py_None); if (__pyx_t_1) { /* … */ }
+0437: return
__Pyx_XDECREF(__pyx_r); __pyx_r = Py_None; __Pyx_INCREF(Py_None); goto __pyx_L0;
+0438: try:
{ /*try:*/ { /* … */ } __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0; __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0; __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0; goto __pyx_L9_try_end; __pyx_L4_error:; __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0; /* … */ __pyx_L6_except_error:; __Pyx_XGIVEREF(__pyx_t_2); __Pyx_XGIVEREF(__pyx_t_3); __Pyx_XGIVEREF(__pyx_t_4); __Pyx_ExceptionReset(__pyx_t_2, __pyx_t_3, __pyx_t_4); goto __pyx_L1_error; __pyx_L9_try_end:; }
+0439: import pandas
__pyx_t_5 = __Pyx_ImportDottedModule(__pyx_n_s_pandas, NULL); if (unlikely(!__pyx_t_5)) __PYX_ERR(1, 439, __pyx_L4_error) __Pyx_GOTREF(__pyx_t_5); __pyx_v_pandas = __pyx_t_5; __pyx_t_5 = 0;
+0440: import numpy
__pyx_t_5 = __Pyx_ImportDottedModule(__pyx_n_s_numpy, NULL); if (unlikely(!__pyx_t_5)) __PYX_ERR(1, 440, __pyx_L4_error) __Pyx_GOTREF(__pyx_t_5); __pyx_v_numpy = __pyx_t_5; __pyx_t_5 = 0;
+0441: import pyarrow
__pyx_t_5 = __Pyx_ImportDottedModule(__pyx_n_s_pyarrow, NULL); if (unlikely(!__pyx_t_5)) __PYX_ERR(1, 441, __pyx_L4_error) __Pyx_GOTREF(__pyx_t_5); __pyx_v_pyarrow = __pyx_t_5; __pyx_t_5 = 0;
+0442: except ImportError as ie:
__pyx_t_6 = __Pyx_PyErr_ExceptionMatches(__pyx_builtin_ImportError); if (__pyx_t_6) { __Pyx_AddTraceback("questdb.ingress._dataframe_may_import_deps", __pyx_clineno, __pyx_lineno, __pyx_filename); if (__Pyx_GetException(&__pyx_t_5, &__pyx_t_7, &__pyx_t_8) < 0) __PYX_ERR(1, 442, __pyx_L6_except_error) __Pyx_XGOTREF(__pyx_t_5); __Pyx_XGOTREF(__pyx_t_7); __Pyx_XGOTREF(__pyx_t_8); __Pyx_INCREF(__pyx_t_7); __pyx_v_ie = __pyx_t_7; /*try:*/ { /* … */ /*finally:*/ { __pyx_L15_error:; /*exception exit:*/{ __Pyx_PyThreadState_declare __Pyx_PyThreadState_assign __pyx_t_12 = 0; __pyx_t_13 = 0; __pyx_t_14 = 0; __pyx_t_15 = 0; __pyx_t_16 = 0; __pyx_t_17 = 0; __Pyx_XDECREF(__pyx_t_9); __pyx_t_9 = 0; if (PY_MAJOR_VERSION >= 3) __Pyx_ExceptionSwap(&__pyx_t_15, &__pyx_t_16, &__pyx_t_17); if ((PY_MAJOR_VERSION < 3) || unlikely(__Pyx_GetException(&__pyx_t_12, &__pyx_t_13, &__pyx_t_14) < 0)) __Pyx_ErrFetch(&__pyx_t_12, &__pyx_t_13, &__pyx_t_14); __Pyx_XGOTREF(__pyx_t_12); __Pyx_XGOTREF(__pyx_t_13); __Pyx_XGOTREF(__pyx_t_14); __Pyx_XGOTREF(__pyx_t_15); __Pyx_XGOTREF(__pyx_t_16); __Pyx_XGOTREF(__pyx_t_17); __pyx_t_6 = __pyx_lineno; __pyx_t_10 = __pyx_clineno; __pyx_t_11 = __pyx_filename; { __Pyx_DECREF(__pyx_v_ie); __pyx_v_ie = 0; } if (PY_MAJOR_VERSION >= 3) { __Pyx_XGIVEREF(__pyx_t_15); __Pyx_XGIVEREF(__pyx_t_16); __Pyx_XGIVEREF(__pyx_t_17); __Pyx_ExceptionReset(__pyx_t_15, __pyx_t_16, __pyx_t_17); } __Pyx_XGIVEREF(__pyx_t_12); __Pyx_XGIVEREF(__pyx_t_13); __Pyx_XGIVEREF(__pyx_t_14); __Pyx_ErrRestore(__pyx_t_12, __pyx_t_13, __pyx_t_14); __pyx_t_12 = 0; __pyx_t_13 = 0; __pyx_t_14 = 0; __pyx_t_15 = 0; __pyx_t_16 = 0; __pyx_t_17 = 0; __pyx_lineno = __pyx_t_6; __pyx_clineno = __pyx_t_10; __pyx_filename = __pyx_t_11; goto __pyx_L6_except_error; } } } goto __pyx_L6_except_error;
+0443: raise ImportError(
__pyx_t_9 = __Pyx_PyObject_Call(__pyx_builtin_ImportError, __pyx_tuple__3, NULL); if (unlikely(!__pyx_t_9)) __PYX_ERR(1, 443, __pyx_L15_error) __Pyx_GOTREF(__pyx_t_9); /* … */ __pyx_tuple__3 = PyTuple_Pack(1, __pyx_kp_u_Missing_dependencies_pandas_nump); if (unlikely(!__pyx_tuple__3)) __PYX_ERR(1, 443, __pyx_L1_error) __Pyx_GOTREF(__pyx_tuple__3); __Pyx_GIVEREF(__pyx_tuple__3);
0444: 'Missing dependencies: `pandas`, `numpy` and `pyarrow` must all ' +
0445: 'be installed to use the `.dataframe()` method. ' +
0446: 'See: https://py-questdb-client.readthedocs.io/' +
+0447: 'en/latest/installation.html.') from ie
__Pyx_Raise(__pyx_t_9, 0, 0, __pyx_v_ie); __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0; __PYX_ERR(1, 443, __pyx_L15_error) }
+0448: _NUMPY = numpy
__Pyx_INCREF(__pyx_v_numpy); __Pyx_XGOTREF(__pyx_v_7questdb_7ingress__NUMPY); __Pyx_DECREF_SET(__pyx_v_7questdb_7ingress__NUMPY, __pyx_v_numpy); __Pyx_GIVEREF(__pyx_v_numpy);
+0449: _NUMPY_BOOL = type(_NUMPY.dtype('bool'))
__pyx_t_7 = __Pyx_PyObject_GetAttrStr(__pyx_v_7questdb_7ingress__NUMPY, __pyx_n_s_dtype); if (unlikely(!__pyx_t_7)) __PYX_ERR(1, 449, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_7); __pyx_t_5 = NULL; __pyx_t_10 = 0; #if CYTHON_UNPACK_METHODS if (likely(PyMethod_Check(__pyx_t_7))) { __pyx_t_5 = PyMethod_GET_SELF(__pyx_t_7); if (likely(__pyx_t_5)) { PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_7); __Pyx_INCREF(__pyx_t_5); __Pyx_INCREF(function); __Pyx_DECREF_SET(__pyx_t_7, function); __pyx_t_10 = 1; } } #endif { PyObject *__pyx_callargs[2] = {__pyx_t_5, __pyx_n_u_bool}; __pyx_t_8 = __Pyx_PyObject_FastCall(__pyx_t_7, __pyx_callargs+1-__pyx_t_10, 1+__pyx_t_10); __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0; if (unlikely(!__pyx_t_8)) __PYX_ERR(1, 449, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_8); __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; } __Pyx_INCREF(((PyObject *)Py_TYPE(__pyx_t_8))); __Pyx_XGOTREF(__pyx_v_7questdb_7ingress__NUMPY_BOOL); __Pyx_DECREF_SET(__pyx_v_7questdb_7ingress__NUMPY_BOOL, ((PyObject *)Py_TYPE(__pyx_t_8))); __Pyx_GIVEREF(((PyObject *)Py_TYPE(__pyx_t_8))); __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
+0450: _NUMPY_UINT8 = type(_NUMPY.dtype('uint8'))
__pyx_t_7 = __Pyx_PyObject_GetAttrStr(__pyx_v_7questdb_7ingress__NUMPY, __pyx_n_s_dtype); if (unlikely(!__pyx_t_7)) __PYX_ERR(1, 450, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_7); __pyx_t_5 = NULL; __pyx_t_10 = 0; #if CYTHON_UNPACK_METHODS if (likely(PyMethod_Check(__pyx_t_7))) { __pyx_t_5 = PyMethod_GET_SELF(__pyx_t_7); if (likely(__pyx_t_5)) { PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_7); __Pyx_INCREF(__pyx_t_5); __Pyx_INCREF(function); __Pyx_DECREF_SET(__pyx_t_7, function); __pyx_t_10 = 1; } } #endif { PyObject *__pyx_callargs[2] = {__pyx_t_5, __pyx_n_u_uint8}; __pyx_t_8 = __Pyx_PyObject_FastCall(__pyx_t_7, __pyx_callargs+1-__pyx_t_10, 1+__pyx_t_10); __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0; if (unlikely(!__pyx_t_8)) __PYX_ERR(1, 450, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_8); __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; } __Pyx_INCREF(((PyObject *)Py_TYPE(__pyx_t_8))); __Pyx_XGOTREF(__pyx_v_7questdb_7ingress__NUMPY_UINT8); __Pyx_DECREF_SET(__pyx_v_7questdb_7ingress__NUMPY_UINT8, ((PyObject *)Py_TYPE(__pyx_t_8))); __Pyx_GIVEREF(((PyObject *)Py_TYPE(__pyx_t_8))); __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
+0451: _NUMPY_INT8 = type(_NUMPY.dtype('int8'))
__pyx_t_7 = __Pyx_PyObject_GetAttrStr(__pyx_v_7questdb_7ingress__NUMPY, __pyx_n_s_dtype); if (unlikely(!__pyx_t_7)) __PYX_ERR(1, 451, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_7); __pyx_t_5 = NULL; __pyx_t_10 = 0; #if CYTHON_UNPACK_METHODS if (likely(PyMethod_Check(__pyx_t_7))) { __pyx_t_5 = PyMethod_GET_SELF(__pyx_t_7); if (likely(__pyx_t_5)) { PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_7); __Pyx_INCREF(__pyx_t_5); __Pyx_INCREF(function); __Pyx_DECREF_SET(__pyx_t_7, function); __pyx_t_10 = 1; } } #endif { PyObject *__pyx_callargs[2] = {__pyx_t_5, __pyx_n_u_int8}; __pyx_t_8 = __Pyx_PyObject_FastCall(__pyx_t_7, __pyx_callargs+1-__pyx_t_10, 1+__pyx_t_10); __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0; if (unlikely(!__pyx_t_8)) __PYX_ERR(1, 451, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_8); __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; } __Pyx_INCREF(((PyObject *)Py_TYPE(__pyx_t_8))); __Pyx_XGOTREF(__pyx_v_7questdb_7ingress__NUMPY_INT8); __Pyx_DECREF_SET(__pyx_v_7questdb_7ingress__NUMPY_INT8, ((PyObject *)Py_TYPE(__pyx_t_8))); __Pyx_GIVEREF(((PyObject *)Py_TYPE(__pyx_t_8))); __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
+0452: _NUMPY_UINT16 = type(_NUMPY.dtype('uint16'))
__pyx_t_7 = __Pyx_PyObject_GetAttrStr(__pyx_v_7questdb_7ingress__NUMPY, __pyx_n_s_dtype); if (unlikely(!__pyx_t_7)) __PYX_ERR(1, 452, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_7); __pyx_t_5 = NULL; __pyx_t_10 = 0; #if CYTHON_UNPACK_METHODS if (likely(PyMethod_Check(__pyx_t_7))) { __pyx_t_5 = PyMethod_GET_SELF(__pyx_t_7); if (likely(__pyx_t_5)) { PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_7); __Pyx_INCREF(__pyx_t_5); __Pyx_INCREF(function); __Pyx_DECREF_SET(__pyx_t_7, function); __pyx_t_10 = 1; } } #endif { PyObject *__pyx_callargs[2] = {__pyx_t_5, __pyx_n_u_uint16}; __pyx_t_8 = __Pyx_PyObject_FastCall(__pyx_t_7, __pyx_callargs+1-__pyx_t_10, 1+__pyx_t_10); __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0; if (unlikely(!__pyx_t_8)) __PYX_ERR(1, 452, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_8); __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; } __Pyx_INCREF(((PyObject *)Py_TYPE(__pyx_t_8))); __Pyx_XGOTREF(__pyx_v_7questdb_7ingress__NUMPY_UINT16); __Pyx_DECREF_SET(__pyx_v_7questdb_7ingress__NUMPY_UINT16, ((PyObject *)Py_TYPE(__pyx_t_8))); __Pyx_GIVEREF(((PyObject *)Py_TYPE(__pyx_t_8))); __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
+0453: _NUMPY_INT16 = type(_NUMPY.dtype('int16'))
__pyx_t_7 = __Pyx_PyObject_GetAttrStr(__pyx_v_7questdb_7ingress__NUMPY, __pyx_n_s_dtype); if (unlikely(!__pyx_t_7)) __PYX_ERR(1, 453, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_7); __pyx_t_5 = NULL; __pyx_t_10 = 0; #if CYTHON_UNPACK_METHODS if (likely(PyMethod_Check(__pyx_t_7))) { __pyx_t_5 = PyMethod_GET_SELF(__pyx_t_7); if (likely(__pyx_t_5)) { PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_7); __Pyx_INCREF(__pyx_t_5); __Pyx_INCREF(function); __Pyx_DECREF_SET(__pyx_t_7, function); __pyx_t_10 = 1; } } #endif { PyObject *__pyx_callargs[2] = {__pyx_t_5, __pyx_n_u_int16}; __pyx_t_8 = __Pyx_PyObject_FastCall(__pyx_t_7, __pyx_callargs+1-__pyx_t_10, 1+__pyx_t_10); __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0; if (unlikely(!__pyx_t_8)) __PYX_ERR(1, 453, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_8); __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; } __Pyx_INCREF(((PyObject *)Py_TYPE(__pyx_t_8))); __Pyx_XGOTREF(__pyx_v_7questdb_7ingress__NUMPY_INT16); __Pyx_DECREF_SET(__pyx_v_7questdb_7ingress__NUMPY_INT16, ((PyObject *)Py_TYPE(__pyx_t_8))); __Pyx_GIVEREF(((PyObject *)Py_TYPE(__pyx_t_8))); __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
+0454: _NUMPY_UINT32 = type(_NUMPY.dtype('uint32'))
__pyx_t_7 = __Pyx_PyObject_GetAttrStr(__pyx_v_7questdb_7ingress__NUMPY, __pyx_n_s_dtype); if (unlikely(!__pyx_t_7)) __PYX_ERR(1, 454, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_7); __pyx_t_5 = NULL; __pyx_t_10 = 0; #if CYTHON_UNPACK_METHODS if (likely(PyMethod_Check(__pyx_t_7))) { __pyx_t_5 = PyMethod_GET_SELF(__pyx_t_7); if (likely(__pyx_t_5)) { PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_7); __Pyx_INCREF(__pyx_t_5); __Pyx_INCREF(function); __Pyx_DECREF_SET(__pyx_t_7, function); __pyx_t_10 = 1; } } #endif { PyObject *__pyx_callargs[2] = {__pyx_t_5, __pyx_n_u_uint32}; __pyx_t_8 = __Pyx_PyObject_FastCall(__pyx_t_7, __pyx_callargs+1-__pyx_t_10, 1+__pyx_t_10); __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0; if (unlikely(!__pyx_t_8)) __PYX_ERR(1, 454, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_8); __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; } __Pyx_INCREF(((PyObject *)Py_TYPE(__pyx_t_8))); __Pyx_XGOTREF(__pyx_v_7questdb_7ingress__NUMPY_UINT32); __Pyx_DECREF_SET(__pyx_v_7questdb_7ingress__NUMPY_UINT32, ((PyObject *)Py_TYPE(__pyx_t_8))); __Pyx_GIVEREF(((PyObject *)Py_TYPE(__pyx_t_8))); __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
+0455: _NUMPY_INT32 = type(_NUMPY.dtype('int32'))
__pyx_t_7 = __Pyx_PyObject_GetAttrStr(__pyx_v_7questdb_7ingress__NUMPY, __pyx_n_s_dtype); if (unlikely(!__pyx_t_7)) __PYX_ERR(1, 455, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_7); __pyx_t_5 = NULL; __pyx_t_10 = 0; #if CYTHON_UNPACK_METHODS if (likely(PyMethod_Check(__pyx_t_7))) { __pyx_t_5 = PyMethod_GET_SELF(__pyx_t_7); if (likely(__pyx_t_5)) { PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_7); __Pyx_INCREF(__pyx_t_5); __Pyx_INCREF(function); __Pyx_DECREF_SET(__pyx_t_7, function); __pyx_t_10 = 1; } } #endif { PyObject *__pyx_callargs[2] = {__pyx_t_5, __pyx_n_u_int32}; __pyx_t_8 = __Pyx_PyObject_FastCall(__pyx_t_7, __pyx_callargs+1-__pyx_t_10, 1+__pyx_t_10); __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0; if (unlikely(!__pyx_t_8)) __PYX_ERR(1, 455, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_8); __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; } __Pyx_INCREF(((PyObject *)Py_TYPE(__pyx_t_8))); __Pyx_XGOTREF(__pyx_v_7questdb_7ingress__NUMPY_INT32); __Pyx_DECREF_SET(__pyx_v_7questdb_7ingress__NUMPY_INT32, ((PyObject *)Py_TYPE(__pyx_t_8))); __Pyx_GIVEREF(((PyObject *)Py_TYPE(__pyx_t_8))); __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
+0456: _NUMPY_UINT64 = type(_NUMPY.dtype('uint64'))
__pyx_t_7 = __Pyx_PyObject_GetAttrStr(__pyx_v_7questdb_7ingress__NUMPY, __pyx_n_s_dtype); if (unlikely(!__pyx_t_7)) __PYX_ERR(1, 456, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_7); __pyx_t_5 = NULL; __pyx_t_10 = 0; #if CYTHON_UNPACK_METHODS if (likely(PyMethod_Check(__pyx_t_7))) { __pyx_t_5 = PyMethod_GET_SELF(__pyx_t_7); if (likely(__pyx_t_5)) { PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_7); __Pyx_INCREF(__pyx_t_5); __Pyx_INCREF(function); __Pyx_DECREF_SET(__pyx_t_7, function); __pyx_t_10 = 1; } } #endif { PyObject *__pyx_callargs[2] = {__pyx_t_5, __pyx_n_u_uint64}; __pyx_t_8 = __Pyx_PyObject_FastCall(__pyx_t_7, __pyx_callargs+1-__pyx_t_10, 1+__pyx_t_10); __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0; if (unlikely(!__pyx_t_8)) __PYX_ERR(1, 456, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_8); __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; } __Pyx_INCREF(((PyObject *)Py_TYPE(__pyx_t_8))); __Pyx_XGOTREF(__pyx_v_7questdb_7ingress__NUMPY_UINT64); __Pyx_DECREF_SET(__pyx_v_7questdb_7ingress__NUMPY_UINT64, ((PyObject *)Py_TYPE(__pyx_t_8))); __Pyx_GIVEREF(((PyObject *)Py_TYPE(__pyx_t_8))); __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
+0457: _NUMPY_INT64 = type(_NUMPY.dtype('int64'))
__pyx_t_7 = __Pyx_PyObject_GetAttrStr(__pyx_v_7questdb_7ingress__NUMPY, __pyx_n_s_dtype); if (unlikely(!__pyx_t_7)) __PYX_ERR(1, 457, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_7); __pyx_t_5 = NULL; __pyx_t_10 = 0; #if CYTHON_UNPACK_METHODS if (likely(PyMethod_Check(__pyx_t_7))) { __pyx_t_5 = PyMethod_GET_SELF(__pyx_t_7); if (likely(__pyx_t_5)) { PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_7); __Pyx_INCREF(__pyx_t_5); __Pyx_INCREF(function); __Pyx_DECREF_SET(__pyx_t_7, function); __pyx_t_10 = 1; } } #endif { PyObject *__pyx_callargs[2] = {__pyx_t_5, __pyx_n_u_int64}; __pyx_t_8 = __Pyx_PyObject_FastCall(__pyx_t_7, __pyx_callargs+1-__pyx_t_10, 1+__pyx_t_10); __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0; if (unlikely(!__pyx_t_8)) __PYX_ERR(1, 457, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_8); __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; } __Pyx_INCREF(((PyObject *)Py_TYPE(__pyx_t_8))); __Pyx_XGOTREF(__pyx_v_7questdb_7ingress__NUMPY_INT64); __Pyx_DECREF_SET(__pyx_v_7questdb_7ingress__NUMPY_INT64, ((PyObject *)Py_TYPE(__pyx_t_8))); __Pyx_GIVEREF(((PyObject *)Py_TYPE(__pyx_t_8))); __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
+0458: _NUMPY_FLOAT32 = type(_NUMPY.dtype('float32'))
__pyx_t_7 = __Pyx_PyObject_GetAttrStr(__pyx_v_7questdb_7ingress__NUMPY, __pyx_n_s_dtype); if (unlikely(!__pyx_t_7)) __PYX_ERR(1, 458, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_7); __pyx_t_5 = NULL; __pyx_t_10 = 0; #if CYTHON_UNPACK_METHODS if (likely(PyMethod_Check(__pyx_t_7))) { __pyx_t_5 = PyMethod_GET_SELF(__pyx_t_7); if (likely(__pyx_t_5)) { PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_7); __Pyx_INCREF(__pyx_t_5); __Pyx_INCREF(function); __Pyx_DECREF_SET(__pyx_t_7, function); __pyx_t_10 = 1; } } #endif { PyObject *__pyx_callargs[2] = {__pyx_t_5, __pyx_n_u_float32}; __pyx_t_8 = __Pyx_PyObject_FastCall(__pyx_t_7, __pyx_callargs+1-__pyx_t_10, 1+__pyx_t_10); __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0; if (unlikely(!__pyx_t_8)) __PYX_ERR(1, 458, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_8); __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; } __Pyx_INCREF(((PyObject *)Py_TYPE(__pyx_t_8))); __Pyx_XGOTREF(__pyx_v_7questdb_7ingress__NUMPY_FLOAT32); __Pyx_DECREF_SET(__pyx_v_7questdb_7ingress__NUMPY_FLOAT32, ((PyObject *)Py_TYPE(__pyx_t_8))); __Pyx_GIVEREF(((PyObject *)Py_TYPE(__pyx_t_8))); __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
+0459: _NUMPY_FLOAT64 = type(_NUMPY.dtype('float64'))
__pyx_t_7 = __Pyx_PyObject_GetAttrStr(__pyx_v_7questdb_7ingress__NUMPY, __pyx_n_s_dtype); if (unlikely(!__pyx_t_7)) __PYX_ERR(1, 459, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_7); __pyx_t_5 = NULL; __pyx_t_10 = 0; #if CYTHON_UNPACK_METHODS if (likely(PyMethod_Check(__pyx_t_7))) { __pyx_t_5 = PyMethod_GET_SELF(__pyx_t_7); if (likely(__pyx_t_5)) { PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_7); __Pyx_INCREF(__pyx_t_5); __Pyx_INCREF(function); __Pyx_DECREF_SET(__pyx_t_7, function); __pyx_t_10 = 1; } } #endif { PyObject *__pyx_callargs[2] = {__pyx_t_5, __pyx_n_u_float64}; __pyx_t_8 = __Pyx_PyObject_FastCall(__pyx_t_7, __pyx_callargs+1-__pyx_t_10, 1+__pyx_t_10); __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0; if (unlikely(!__pyx_t_8)) __PYX_ERR(1, 459, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_8); __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; } __Pyx_INCREF(((PyObject *)Py_TYPE(__pyx_t_8))); __Pyx_XGOTREF(__pyx_v_7questdb_7ingress__NUMPY_FLOAT64); __Pyx_DECREF_SET(__pyx_v_7questdb_7ingress__NUMPY_FLOAT64, ((PyObject *)Py_TYPE(__pyx_t_8))); __Pyx_GIVEREF(((PyObject *)Py_TYPE(__pyx_t_8))); __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
+0460: _NUMPY_DATETIME64_NS = type(_NUMPY.dtype('datetime64[ns]'))
__pyx_t_7 = __Pyx_PyObject_GetAttrStr(__pyx_v_7questdb_7ingress__NUMPY, __pyx_n_s_dtype); if (unlikely(!__pyx_t_7)) __PYX_ERR(1, 460, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_7); __pyx_t_5 = NULL; __pyx_t_10 = 0; #if CYTHON_UNPACK_METHODS if (likely(PyMethod_Check(__pyx_t_7))) { __pyx_t_5 = PyMethod_GET_SELF(__pyx_t_7); if (likely(__pyx_t_5)) { PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_7); __Pyx_INCREF(__pyx_t_5); __Pyx_INCREF(function); __Pyx_DECREF_SET(__pyx_t_7, function); __pyx_t_10 = 1; } } #endif { PyObject *__pyx_callargs[2] = {__pyx_t_5, __pyx_kp_u_datetime64_ns}; __pyx_t_8 = __Pyx_PyObject_FastCall(__pyx_t_7, __pyx_callargs+1-__pyx_t_10, 1+__pyx_t_10); __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0; if (unlikely(!__pyx_t_8)) __PYX_ERR(1, 460, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_8); __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; } __Pyx_INCREF(((PyObject *)Py_TYPE(__pyx_t_8))); __Pyx_XGOTREF(__pyx_v_7questdb_7ingress__NUMPY_DATETIME64_NS); __Pyx_DECREF_SET(__pyx_v_7questdb_7ingress__NUMPY_DATETIME64_NS, ((PyObject *)Py_TYPE(__pyx_t_8))); __Pyx_GIVEREF(((PyObject *)Py_TYPE(__pyx_t_8))); __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
+0461: _NUMPY_OBJECT = type(_NUMPY.dtype('object'))
__pyx_t_7 = __Pyx_PyObject_GetAttrStr(__pyx_v_7questdb_7ingress__NUMPY, __pyx_n_s_dtype); if (unlikely(!__pyx_t_7)) __PYX_ERR(1, 461, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_7); __pyx_t_5 = NULL; __pyx_t_10 = 0; #if CYTHON_UNPACK_METHODS if (likely(PyMethod_Check(__pyx_t_7))) { __pyx_t_5 = PyMethod_GET_SELF(__pyx_t_7); if (likely(__pyx_t_5)) { PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_7); __Pyx_INCREF(__pyx_t_5); __Pyx_INCREF(function); __Pyx_DECREF_SET(__pyx_t_7, function); __pyx_t_10 = 1; } } #endif { PyObject *__pyx_callargs[2] = {__pyx_t_5, __pyx_n_u_object}; __pyx_t_8 = __Pyx_PyObject_FastCall(__pyx_t_7, __pyx_callargs+1-__pyx_t_10, 1+__pyx_t_10); __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0; if (unlikely(!__pyx_t_8)) __PYX_ERR(1, 461, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_8); __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; } __Pyx_INCREF(((PyObject *)Py_TYPE(__pyx_t_8))); __Pyx_XGOTREF(__pyx_v_7questdb_7ingress__NUMPY_OBJECT); __Pyx_DECREF_SET(__pyx_v_7questdb_7ingress__NUMPY_OBJECT, ((PyObject *)Py_TYPE(__pyx_t_8))); __Pyx_GIVEREF(((PyObject *)Py_TYPE(__pyx_t_8))); __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
+0462: _PANDAS = pandas
__Pyx_INCREF(__pyx_v_pandas); __Pyx_XGOTREF(__pyx_v_7questdb_7ingress__PANDAS); __Pyx_DECREF_SET(__pyx_v_7questdb_7ingress__PANDAS, __pyx_v_pandas); __Pyx_GIVEREF(__pyx_v_pandas);
+0463: _PANDAS_NA = pandas.NA
__pyx_t_8 = __Pyx_PyObject_GetAttrStr(__pyx_v_pandas, __pyx_n_s_NA); if (unlikely(!__pyx_t_8)) __PYX_ERR(1, 463, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_8); __Pyx_XGOTREF(__pyx_v_7questdb_7ingress__PANDAS_NA); __Pyx_DECREF_SET(__pyx_v_7questdb_7ingress__PANDAS_NA, __pyx_t_8); __Pyx_GIVEREF(__pyx_t_8); __pyx_t_8 = 0;
+0464: _PYARROW = pyarrow
__Pyx_INCREF(__pyx_v_pyarrow); __Pyx_XGOTREF(__pyx_v_7questdb_7ingress__PYARROW); __Pyx_DECREF_SET(__pyx_v_7questdb_7ingress__PYARROW, __pyx_v_pyarrow); __Pyx_GIVEREF(__pyx_v_pyarrow);
0465:
0466:
+0467: cdef object _dataframe_check_is_dataframe(object df):
static PyObject *__pyx_f_7questdb_7ingress__dataframe_check_is_dataframe(PyObject *__pyx_v_df) { PyObject *__pyx_r = NULL; /* … */ /* function exit code */ __pyx_r = Py_None; __Pyx_INCREF(Py_None); goto __pyx_L0; __pyx_L1_error:; __Pyx_XDECREF(__pyx_t_1); __Pyx_XDECREF(__pyx_t_4); __Pyx_XDECREF(__pyx_t_5); __Pyx_XDECREF(__pyx_t_6); __Pyx_XDECREF(__pyx_t_9); __Pyx_XDECREF(__pyx_t_10); __Pyx_XDECREF(__pyx_t_11); __Pyx_AddTraceback("questdb.ingress._dataframe_check_is_dataframe", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = 0; __pyx_L0:; __Pyx_XGIVEREF(__pyx_r); __Pyx_RefNannyFinishContext(); return __pyx_r; }
+0468: if not isinstance(df, _PANDAS.DataFrame):
__pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_7questdb_7ingress__PANDAS, __pyx_n_s_DataFrame); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 468, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __pyx_t_2 = PyObject_IsInstance(__pyx_v_df, __pyx_t_1); if (unlikely(__pyx_t_2 == ((int)-1))) __PYX_ERR(1, 468, __pyx_L1_error) __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __pyx_t_3 = (!__pyx_t_2); if (unlikely(__pyx_t_3)) { /* … */ }
+0469: raise IngressError(
__Pyx_GetModuleGlobalName(__pyx_t_4, __pyx_n_s_IngressError); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 469, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4);
+0470: IngressErrorCode.InvalidApiCall,
__Pyx_GetModuleGlobalName(__pyx_t_5, __pyx_n_s_IngressErrorCode); if (unlikely(!__pyx_t_5)) __PYX_ERR(1, 470, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_5); __pyx_t_6 = __Pyx_PyObject_GetAttrStr(__pyx_t_5, __pyx_n_s_InvalidApiCall); if (unlikely(!__pyx_t_6)) __PYX_ERR(1, 470, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_6); __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
+0471: f'Bad argument `df`: Expected {_fqn(_PANDAS.DataFrame)}, ' +
__pyx_t_5 = PyTuple_New(3); if (unlikely(!__pyx_t_5)) __PYX_ERR(1, 471, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_5); __pyx_t_7 = 0; __pyx_t_8 = 127; __Pyx_INCREF(__pyx_kp_u_Bad_argument_df_Expected); __pyx_t_7 += 28; __Pyx_GIVEREF(__pyx_kp_u_Bad_argument_df_Expected); PyTuple_SET_ITEM(__pyx_t_5, 0, __pyx_kp_u_Bad_argument_df_Expected); __pyx_t_9 = __Pyx_PyObject_GetAttrStr(__pyx_v_7questdb_7ingress__PANDAS, __pyx_n_s_DataFrame); if (unlikely(!__pyx_t_9)) __PYX_ERR(1, 471, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_9); if (!(likely(PyType_CheckExact(__pyx_t_9))||((__pyx_t_9) == Py_None) || __Pyx_RaiseUnexpectedTypeError("type", __pyx_t_9))) __PYX_ERR(1, 471, __pyx_L1_error) __pyx_t_10 = __pyx_f_7questdb_7ingress__fqn(((PyTypeObject*)__pyx_t_9)); if (unlikely(!__pyx_t_10)) __PYX_ERR(1, 471, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_10); __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0; __pyx_t_9 = __Pyx_PyUnicode_Unicode(__pyx_t_10); if (unlikely(!__pyx_t_9)) __PYX_ERR(1, 471, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_9); __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0; __pyx_t_8 = (__Pyx_PyUnicode_MAX_CHAR_VALUE(__pyx_t_9) > __pyx_t_8) ? __Pyx_PyUnicode_MAX_CHAR_VALUE(__pyx_t_9) : __pyx_t_8; __pyx_t_7 += __Pyx_PyUnicode_GET_LENGTH(__pyx_t_9); __Pyx_GIVEREF(__pyx_t_9); PyTuple_SET_ITEM(__pyx_t_5, 1, __pyx_t_9); __pyx_t_9 = 0; __Pyx_INCREF(__pyx_kp_u__4); __pyx_t_7 += 2; __Pyx_GIVEREF(__pyx_kp_u__4); PyTuple_SET_ITEM(__pyx_t_5, 2, __pyx_kp_u__4); __pyx_t_9 = __Pyx_PyUnicode_Join(__pyx_t_5, 3, __pyx_t_7, __pyx_t_8); if (unlikely(!__pyx_t_9)) __PYX_ERR(1, 471, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_9); __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; /* … */ __pyx_t_5 = __Pyx_PyUnicode_ConcatInPlace(__pyx_t_9, __pyx_t_11); if (unlikely(!__pyx_t_5)) __PYX_ERR(1, 471, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_5); __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0; __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0; __pyx_t_11 = NULL; __pyx_t_12 = 0; #if CYTHON_UNPACK_METHODS if (unlikely(PyMethod_Check(__pyx_t_4))) { __pyx_t_11 = PyMethod_GET_SELF(__pyx_t_4); if (likely(__pyx_t_11)) { PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_4); __Pyx_INCREF(__pyx_t_11); __Pyx_INCREF(function); __Pyx_DECREF_SET(__pyx_t_4, function); __pyx_t_12 = 1; } } #endif { PyObject *__pyx_callargs[3] = {__pyx_t_11, __pyx_t_6, __pyx_t_5}; __pyx_t_1 = __Pyx_PyObject_FastCall(__pyx_t_4, __pyx_callargs+1-__pyx_t_12, 2+__pyx_t_12); __Pyx_XDECREF(__pyx_t_11); __pyx_t_11 = 0; __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 469, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; } __Pyx_Raise(__pyx_t_1, 0, 0, 0); __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __PYX_ERR(1, 469, __pyx_L1_error)
+0472: f'not an object of type {_fqn(type(df))}.')
__pyx_t_5 = PyTuple_New(3); if (unlikely(!__pyx_t_5)) __PYX_ERR(1, 472, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_5); __pyx_t_7 = 0; __pyx_t_8 = 127; __Pyx_INCREF(__pyx_kp_u_not_an_object_of_type); __pyx_t_7 += 22; __Pyx_GIVEREF(__pyx_kp_u_not_an_object_of_type); PyTuple_SET_ITEM(__pyx_t_5, 0, __pyx_kp_u_not_an_object_of_type); __pyx_t_10 = __pyx_f_7questdb_7ingress__fqn(((PyTypeObject*)((PyObject *)Py_TYPE(__pyx_v_df)))); if (unlikely(!__pyx_t_10)) __PYX_ERR(1, 472, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_10); __pyx_t_11 = __Pyx_PyUnicode_Unicode(__pyx_t_10); if (unlikely(!__pyx_t_11)) __PYX_ERR(1, 472, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_11); __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0; __pyx_t_8 = (__Pyx_PyUnicode_MAX_CHAR_VALUE(__pyx_t_11) > __pyx_t_8) ? __Pyx_PyUnicode_MAX_CHAR_VALUE(__pyx_t_11) : __pyx_t_8; __pyx_t_7 += __Pyx_PyUnicode_GET_LENGTH(__pyx_t_11); __Pyx_GIVEREF(__pyx_t_11); PyTuple_SET_ITEM(__pyx_t_5, 1, __pyx_t_11); __pyx_t_11 = 0; __Pyx_INCREF(__pyx_kp_u__5); __pyx_t_7 += 1; __Pyx_GIVEREF(__pyx_kp_u__5); PyTuple_SET_ITEM(__pyx_t_5, 2, __pyx_kp_u__5); __pyx_t_11 = __Pyx_PyUnicode_Join(__pyx_t_5, 3, __pyx_t_7, __pyx_t_8); if (unlikely(!__pyx_t_11)) __PYX_ERR(1, 472, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_11); __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
0473:
0474:
+0475: cdef ssize_t _dataframe_resolve_table_name(
static Py_ssize_t __pyx_f_7questdb_7ingress__dataframe_resolve_table_name(struct qdb_pystr_buf *__pyx_v_b, PyObject *__pyx_v_df, PyObject *__pyx_v_pandas_cols, struct __pyx_t_7questdb_7ingress_col_t_arr *__pyx_v_cols, PyObject *__pyx_v_table_name, PyObject *__pyx_v_table_name_col, size_t __pyx_v_col_count, struct line_sender_table_name *__pyx_v_name_out) { size_t __pyx_v_col_index; struct __pyx_obj_7questdb_7ingress_PandasCol *__pyx_v_pandas_col = 0; struct __pyx_t_7questdb_7ingress_col_t *__pyx_v_col; PyObject *__pyx_v_ie = NULL; Py_ssize_t __pyx_r; /* … */ /* function exit code */ __pyx_L1_error:; __Pyx_XDECREF(__pyx_t_2); __Pyx_XDECREF(__pyx_t_7); __Pyx_XDECREF(__pyx_t_8); __Pyx_XDECREF(__pyx_t_9); __Pyx_XDECREF(__pyx_t_11); __Pyx_AddTraceback("questdb.ingress._dataframe_resolve_table_name", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = -2L; __pyx_L0:; __Pyx_XDECREF((PyObject *)__pyx_v_pandas_col); __Pyx_XDECREF(__pyx_v_ie); __Pyx_RefNannyFinishContext(); return __pyx_r; }
0476: qdb_pystr_buf* b,
0477: object df,
0478: list pandas_cols,
0479: col_t_arr* cols,
0480: object table_name,
0481: object table_name_col,
0482: size_t col_count,
0483: line_sender_table_name* name_out) except -2:
0484: """
0485: Resolve the table name string or column.
0486:
0487: Returns -1 if the table name is a string, otherwise the column index.
0488: """
+0489: cdef size_t col_index = 0
__pyx_v_col_index = 0;
0490: cdef PandasCol pandas_col
0491: cdef col_t* col
+0492: if table_name is not None:
__pyx_t_1 = (__pyx_v_table_name != Py_None); if (__pyx_t_1) { /* … */ }
+0493: if table_name_col is not None:
__pyx_t_1 = (__pyx_v_table_name_col != Py_None); if (unlikely(__pyx_t_1)) { /* … */ }
+0494: raise ValueError(
__pyx_t_2 = __Pyx_PyObject_Call(__pyx_builtin_ValueError, __pyx_tuple__6, NULL); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 494, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __Pyx_Raise(__pyx_t_2, 0, 0, 0); __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; __PYX_ERR(1, 494, __pyx_L1_error) /* … */ __pyx_tuple__6 = PyTuple_Pack(1, __pyx_kp_u_Can_specify_only_one_of_table_na); if (unlikely(!__pyx_tuple__6)) __PYX_ERR(1, 494, __pyx_L1_error) __Pyx_GOTREF(__pyx_tuple__6); __Pyx_GIVEREF(__pyx_tuple__6);
0495: 'Can specify only one of `table_name` or `table_name_col`.')
+0496: if isinstance(table_name, str):
__pyx_t_1 = PyUnicode_Check(__pyx_v_table_name);
if (likely(__pyx_t_1)) {
/* … */
}
+0497: try:
{ /*try:*/ { /* … */ } __pyx_L6_error:; __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0; /* … */ __pyx_L8_except_error:; __Pyx_XGIVEREF(__pyx_t_3); __Pyx_XGIVEREF(__pyx_t_4); __Pyx_XGIVEREF(__pyx_t_5); __Pyx_ExceptionReset(__pyx_t_3, __pyx_t_4, __pyx_t_5); goto __pyx_L1_error; __pyx_L10_try_return:; __Pyx_XGIVEREF(__pyx_t_3); __Pyx_XGIVEREF(__pyx_t_4); __Pyx_XGIVEREF(__pyx_t_5); __Pyx_ExceptionReset(__pyx_t_3, __pyx_t_4, __pyx_t_5); goto __pyx_L0; }
+0498: str_to_table_name_copy(b, <PyObject*>table_name, name_out)
__pyx_t_6 = __pyx_f_7questdb_7ingress_str_to_table_name_copy(__pyx_v_b, ((PyObject *)__pyx_v_table_name), __pyx_v_name_out); if (unlikely(__pyx_t_6 == ((__pyx_t_7questdb_7ingress_void_int)-1))) __PYX_ERR(1, 498, __pyx_L6_error)
+0499: return -1 # Magic value for "no column index".
__pyx_r = -1L; goto __pyx_L10_try_return;
+0500: except IngressError as ie:
__Pyx_ErrFetch(&__pyx_t_2, &__pyx_t_7, &__pyx_t_8); __Pyx_GetModuleGlobalName(__pyx_t_9, __pyx_n_s_IngressError); if (unlikely(!__pyx_t_9)) __PYX_ERR(1, 500, __pyx_L8_except_error) __Pyx_GOTREF(__pyx_t_9); __pyx_t_10 = __Pyx_PyErr_GivenExceptionMatches(__pyx_t_2, __pyx_t_9); __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0; __Pyx_ErrRestore(__pyx_t_2, __pyx_t_7, __pyx_t_8); __pyx_t_2 = 0; __pyx_t_7 = 0; __pyx_t_8 = 0; if (__pyx_t_10) { __Pyx_AddTraceback("questdb.ingress._dataframe_resolve_table_name", __pyx_clineno, __pyx_lineno, __pyx_filename); if (__Pyx_GetException(&__pyx_t_8, &__pyx_t_7, &__pyx_t_2) < 0) __PYX_ERR(1, 500, __pyx_L8_except_error) __Pyx_XGOTREF(__pyx_t_8); __Pyx_XGOTREF(__pyx_t_7); __Pyx_XGOTREF(__pyx_t_2); __Pyx_INCREF(__pyx_t_7); __pyx_v_ie = __pyx_t_7; /*try:*/ { /* … */ /*finally:*/ { __pyx_L17_error:; /*exception exit:*/{ __Pyx_PyThreadState_declare __Pyx_PyThreadState_assign __pyx_t_14 = 0; __pyx_t_15 = 0; __pyx_t_16 = 0; __pyx_t_17 = 0; __pyx_t_18 = 0; __pyx_t_19 = 0; __Pyx_XDECREF(__pyx_t_11); __pyx_t_11 = 0; __Pyx_XDECREF(__pyx_t_9); __pyx_t_9 = 0; if (PY_MAJOR_VERSION >= 3) __Pyx_ExceptionSwap(&__pyx_t_17, &__pyx_t_18, &__pyx_t_19); if ((PY_MAJOR_VERSION < 3) || unlikely(__Pyx_GetException(&__pyx_t_14, &__pyx_t_15, &__pyx_t_16) < 0)) __Pyx_ErrFetch(&__pyx_t_14, &__pyx_t_15, &__pyx_t_16); __Pyx_XGOTREF(__pyx_t_14); __Pyx_XGOTREF(__pyx_t_15); __Pyx_XGOTREF(__pyx_t_16); __Pyx_XGOTREF(__pyx_t_17); __Pyx_XGOTREF(__pyx_t_18); __Pyx_XGOTREF(__pyx_t_19); __pyx_t_10 = __pyx_lineno; __pyx_t_12 = __pyx_clineno; __pyx_t_13 = __pyx_filename; { __Pyx_DECREF(__pyx_v_ie); __pyx_v_ie = 0; } if (PY_MAJOR_VERSION >= 3) { __Pyx_XGIVEREF(__pyx_t_17); __Pyx_XGIVEREF(__pyx_t_18); __Pyx_XGIVEREF(__pyx_t_19); __Pyx_ExceptionReset(__pyx_t_17, __pyx_t_18, __pyx_t_19); } __Pyx_XGIVEREF(__pyx_t_14); __Pyx_XGIVEREF(__pyx_t_15); __Pyx_XGIVEREF(__pyx_t_16); __Pyx_ErrRestore(__pyx_t_14, __pyx_t_15, __pyx_t_16); __pyx_t_14 = 0; __pyx_t_15 = 0; __pyx_t_16 = 0; __pyx_t_17 = 0; __pyx_t_18 = 0; __pyx_t_19 = 0; __pyx_lineno = __pyx_t_10; __pyx_clineno = __pyx_t_12; __pyx_filename = __pyx_t_13; goto __pyx_L8_except_error; } } } goto __pyx_L8_except_error;
+0501: raise ValueError(
__pyx_t_9 = __Pyx_PyObject_CallOneArg(__pyx_builtin_ValueError, __pyx_t_11); if (unlikely(!__pyx_t_9)) __PYX_ERR(1, 501, __pyx_L17_error) __Pyx_GOTREF(__pyx_t_9); __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0; __Pyx_Raise(__pyx_t_9, 0, 0, 0); __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0; __PYX_ERR(1, 501, __pyx_L17_error) }
+0502: f'Bad argument `table_name`: {ie}')
__pyx_t_9 = __Pyx_PyObject_FormatSimple(__pyx_v_ie, __pyx_empty_unicode); if (unlikely(!__pyx_t_9)) __PYX_ERR(1, 502, __pyx_L17_error) __Pyx_GOTREF(__pyx_t_9); __pyx_t_11 = __Pyx_PyUnicode_Concat(__pyx_kp_u_Bad_argument_table_name, __pyx_t_9); if (unlikely(!__pyx_t_11)) __PYX_ERR(1, 502, __pyx_L17_error) __Pyx_GOTREF(__pyx_t_11); __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;
0503: else:
+0504: raise TypeError('Bad argument `table_name`: Must be str.')
/*else*/ { __pyx_t_2 = __Pyx_PyObject_Call(__pyx_builtin_TypeError, __pyx_tuple__7, NULL); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 504, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __Pyx_Raise(__pyx_t_2, 0, 0, 0); __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; __PYX_ERR(1, 504, __pyx_L1_error) } /* … */ __pyx_tuple__7 = PyTuple_Pack(1, __pyx_kp_u_Bad_argument_table_name_Must_be); if (unlikely(!__pyx_tuple__7)) __PYX_ERR(1, 504, __pyx_L1_error) __Pyx_GOTREF(__pyx_tuple__7); __Pyx_GIVEREF(__pyx_tuple__7);
+0505: elif table_name_col is not None:
__pyx_t_1 = (__pyx_v_table_name_col != Py_None); if (__pyx_t_1) { /* … */ }
+0506: if isinstance(table_name_col, str):
__pyx_t_1 = PyUnicode_Check(__pyx_v_table_name_col);
if (__pyx_t_1) {
/* … */
goto __pyx_L23;
}
+0507: _dataframe_get_loc(df, table_name_col, 'table_name_col', &col_index)
if (!(likely(PyUnicode_CheckExact(__pyx_v_table_name_col))||((__pyx_v_table_name_col) == Py_None) || __Pyx_RaiseUnexpectedTypeError("unicode", __pyx_v_table_name_col))) __PYX_ERR(1, 507, __pyx_L1_error) __pyx_t_6 = __pyx_f_7questdb_7ingress__dataframe_get_loc(__pyx_v_df, ((PyObject*)__pyx_v_table_name_col), __pyx_n_u_table_name_col, (&__pyx_v_col_index)); if (unlikely(__pyx_t_6 == ((__pyx_t_7questdb_7ingress_void_int)-1))) __PYX_ERR(1, 507, __pyx_L1_error)
+0508: elif isinstance(table_name_col, int):
__pyx_t_1 = PyInt_Check(__pyx_v_table_name_col);
if (likely(__pyx_t_1)) {
/* … */
goto __pyx_L23;
}
+0509: _bind_col_index(
__pyx_t_6 = __pyx_f_7questdb_7ingress__bind_col_index(__pyx_n_u_table_name_col, __pyx_t_12, __pyx_v_col_count, (&__pyx_v_col_index)); if (unlikely(__pyx_t_6 == ((__pyx_t_7questdb_7ingress_void_int)-1))) __PYX_ERR(1, 509, __pyx_L1_error)
+0510: 'table_name_col', table_name_col, col_count, &col_index)
__pyx_t_12 = __Pyx_PyInt_As_int(__pyx_v_table_name_col); if (unlikely((__pyx_t_12 == (int)-1) && PyErr_Occurred())) __PYX_ERR(1, 510, __pyx_L1_error)
0511: else:
+0512: raise TypeError(
/*else*/ { __pyx_t_2 = __Pyx_PyObject_Call(__pyx_builtin_TypeError, __pyx_tuple__8, NULL); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 512, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __Pyx_Raise(__pyx_t_2, 0, 0, 0); __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; __PYX_ERR(1, 512, __pyx_L1_error) } __pyx_L23:; /* … */ __pyx_tuple__8 = PyTuple_Pack(1, __pyx_kp_u_Bad_argument_table_name_col_must); if (unlikely(!__pyx_tuple__8)) __PYX_ERR(1, 512, __pyx_L1_error) __Pyx_GOTREF(__pyx_tuple__8); __Pyx_GIVEREF(__pyx_tuple__8);
0513: 'Bad argument `table_name_col`: ' +
0514: 'must be a column name (str) or index (int).')
+0515: pandas_col = pandas_cols[col_index]
if (unlikely(__pyx_v_pandas_cols == Py_None)) { PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable"); __PYX_ERR(1, 515, __pyx_L1_error) } __pyx_t_2 = __Pyx_GetItemInt_List(__pyx_v_pandas_cols, __pyx_v_col_index, size_t, 0, __Pyx_PyInt_FromSize_t, 1, 0, 1); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 515, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); if (!(likely(((__pyx_t_2) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_2, __pyx_ptype_7questdb_7ingress_PandasCol))))) __PYX_ERR(1, 515, __pyx_L1_error) __pyx_v_pandas_col = ((struct __pyx_obj_7questdb_7ingress_PandasCol *)__pyx_t_2); __pyx_t_2 = 0;
+0516: col = &cols.d[col_index]
__pyx_v_col = (&(__pyx_v_cols->d[__pyx_v_col_index]));
+0517: _dataframe_check_column_is_str(
__pyx_t_6 = __pyx_f_7questdb_7ingress__dataframe_check_column_is_str(__pyx_kp_u_Bad_argument_table_name_col, __pyx_v_pandas_col, __pyx_v_col->setup->source); if (unlikely(__pyx_t_6 == ((__pyx_t_7questdb_7ingress_void_int)-1))) __PYX_ERR(1, 517, __pyx_L1_error)
0518: 'Bad argument `table_name_col`: ',
0519: pandas_col,
0520: col.setup.source)
+0521: col.setup.meta_target = meta_target_t.meta_target_table
__pyx_v_col->setup->meta_target = __pyx_e_7questdb_7ingress_meta_target_table;
+0522: name_out.len = 0
__pyx_v_name_out->len = 0;
+0523: name_out.buf = NULL
__pyx_v_name_out->buf = NULL;
+0524: return col_index
__pyx_r = __pyx_v_col_index; goto __pyx_L0;
+0525: elif df.index.name:
__pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_v_df, __pyx_n_s_index); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 525, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __pyx_t_7 = __Pyx_PyObject_GetAttrStr(__pyx_t_2, __pyx_n_s_name); if (unlikely(!__pyx_t_7)) __PYX_ERR(1, 525, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_7); __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; __pyx_t_1 = __Pyx_PyObject_IsTrue(__pyx_t_7); if (unlikely((__pyx_t_1 < 0))) __PYX_ERR(1, 525, __pyx_L1_error) __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; if (likely(__pyx_t_1)) { /* … */ }
+0526: if not isinstance(df.index.name, str):
__pyx_t_7 = __Pyx_PyObject_GetAttrStr(__pyx_v_df, __pyx_n_s_index); if (unlikely(!__pyx_t_7)) __PYX_ERR(1, 526, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_7); __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_t_7, __pyx_n_s_name); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 526, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; __pyx_t_1 = PyUnicode_Check(__pyx_t_2); __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; __pyx_t_20 = (!__pyx_t_1); if (unlikely(__pyx_t_20)) { /* … */ }
+0527: raise TypeError(
__pyx_t_8 = __Pyx_PyObject_CallOneArg(__pyx_builtin_TypeError, __pyx_t_2); if (unlikely(!__pyx_t_8)) __PYX_ERR(1, 527, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_8); __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; __Pyx_Raise(__pyx_t_8, 0, 0, 0); __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0; __PYX_ERR(1, 527, __pyx_L1_error)
+0528: 'Bad dataframe index name as table name: Expected str, ' +
__pyx_t_2 = __Pyx_PyUnicode_Concat(__pyx_kp_u_Bad_dataframe_index_name_as_tabl, __pyx_t_8); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 528, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
+0529: f'not an object of type {_fqn(type(df.index.name))}.')
__pyx_t_2 = PyTuple_New(3); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 529, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __pyx_t_21 = 0; __pyx_t_22 = 127; __Pyx_INCREF(__pyx_kp_u_not_an_object_of_type); __pyx_t_21 += 22; __Pyx_GIVEREF(__pyx_kp_u_not_an_object_of_type); PyTuple_SET_ITEM(__pyx_t_2, 0, __pyx_kp_u_not_an_object_of_type); __pyx_t_7 = __Pyx_PyObject_GetAttrStr(__pyx_v_df, __pyx_n_s_index); if (unlikely(!__pyx_t_7)) __PYX_ERR(1, 529, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_7); __pyx_t_8 = __Pyx_PyObject_GetAttrStr(__pyx_t_7, __pyx_n_s_name); if (unlikely(!__pyx_t_8)) __PYX_ERR(1, 529, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_8); __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; __pyx_t_7 = __pyx_f_7questdb_7ingress__fqn(((PyTypeObject*)((PyObject *)Py_TYPE(__pyx_t_8)))); if (unlikely(!__pyx_t_7)) __PYX_ERR(1, 529, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_7); __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0; __pyx_t_8 = __Pyx_PyUnicode_Unicode(__pyx_t_7); if (unlikely(!__pyx_t_8)) __PYX_ERR(1, 529, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_8); __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; __pyx_t_22 = (__Pyx_PyUnicode_MAX_CHAR_VALUE(__pyx_t_8) > __pyx_t_22) ? __Pyx_PyUnicode_MAX_CHAR_VALUE(__pyx_t_8) : __pyx_t_22; __pyx_t_21 += __Pyx_PyUnicode_GET_LENGTH(__pyx_t_8); __Pyx_GIVEREF(__pyx_t_8); PyTuple_SET_ITEM(__pyx_t_2, 1, __pyx_t_8); __pyx_t_8 = 0; __Pyx_INCREF(__pyx_kp_u__5); __pyx_t_21 += 1; __Pyx_GIVEREF(__pyx_kp_u__5); PyTuple_SET_ITEM(__pyx_t_2, 2, __pyx_kp_u__5); __pyx_t_8 = __Pyx_PyUnicode_Join(__pyx_t_2, 3, __pyx_t_21, __pyx_t_22); if (unlikely(!__pyx_t_8)) __PYX_ERR(1, 529, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_8); __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
0530:
0531: # If the index has a name, use that as the table name.
+0532: try:
{ /*try:*/ { /* … */ } __pyx_L25_error:; __Pyx_XDECREF(__pyx_t_11); __pyx_t_11 = 0; __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0; __Pyx_XDECREF(__pyx_t_7); __pyx_t_7 = 0; __Pyx_XDECREF(__pyx_t_8); __pyx_t_8 = 0; __Pyx_XDECREF(__pyx_t_9); __pyx_t_9 = 0; /* … */ __pyx_L27_except_error:; __Pyx_XGIVEREF(__pyx_t_5); __Pyx_XGIVEREF(__pyx_t_4); __Pyx_XGIVEREF(__pyx_t_3); __Pyx_ExceptionReset(__pyx_t_5, __pyx_t_4, __pyx_t_3); goto __pyx_L1_error; __pyx_L29_try_return:; __Pyx_XGIVEREF(__pyx_t_5); __Pyx_XGIVEREF(__pyx_t_4); __Pyx_XGIVEREF(__pyx_t_3); __Pyx_ExceptionReset(__pyx_t_5, __pyx_t_4, __pyx_t_3); goto __pyx_L0; }
+0533: str_to_table_name_copy(b, <PyObject*>df.index.name, name_out)
__pyx_t_8 = __Pyx_PyObject_GetAttrStr(__pyx_v_df, __pyx_n_s_index); if (unlikely(!__pyx_t_8)) __PYX_ERR(1, 533, __pyx_L25_error) __Pyx_GOTREF(__pyx_t_8); __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_t_8, __pyx_n_s_name); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 533, __pyx_L25_error) __Pyx_GOTREF(__pyx_t_2); __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0; __pyx_t_6 = __pyx_f_7questdb_7ingress_str_to_table_name_copy(__pyx_v_b, ((PyObject *)__pyx_t_2), __pyx_v_name_out); if (unlikely(__pyx_t_6 == ((__pyx_t_7questdb_7ingress_void_int)-1))) __PYX_ERR(1, 533, __pyx_L25_error) __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
+0534: return -1 # Magic value for "no column index".
__pyx_r = -1L; goto __pyx_L29_try_return;
+0535: except IngressError as ie:
__Pyx_ErrFetch(&__pyx_t_2, &__pyx_t_8, &__pyx_t_7); __Pyx_GetModuleGlobalName(__pyx_t_9, __pyx_n_s_IngressError); if (unlikely(!__pyx_t_9)) __PYX_ERR(1, 535, __pyx_L27_except_error) __Pyx_GOTREF(__pyx_t_9); __pyx_t_12 = __Pyx_PyErr_GivenExceptionMatches(__pyx_t_2, __pyx_t_9); __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0; __Pyx_ErrRestore(__pyx_t_2, __pyx_t_8, __pyx_t_7); __pyx_t_2 = 0; __pyx_t_8 = 0; __pyx_t_7 = 0; if (__pyx_t_12) { __Pyx_AddTraceback("questdb.ingress._dataframe_resolve_table_name", __pyx_clineno, __pyx_lineno, __pyx_filename); if (__Pyx_GetException(&__pyx_t_7, &__pyx_t_8, &__pyx_t_2) < 0) __PYX_ERR(1, 535, __pyx_L27_except_error) __Pyx_XGOTREF(__pyx_t_7); __Pyx_XGOTREF(__pyx_t_8); __Pyx_XGOTREF(__pyx_t_2); __Pyx_INCREF(__pyx_t_8); __pyx_v_ie = __pyx_t_8; /*try:*/ { /* … */ /*finally:*/ { __pyx_L36_error:; /*exception exit:*/{ __Pyx_PyThreadState_declare __Pyx_PyThreadState_assign __pyx_t_19 = 0; __pyx_t_18 = 0; __pyx_t_17 = 0; __pyx_t_16 = 0; __pyx_t_15 = 0; __pyx_t_14 = 0; __Pyx_XDECREF(__pyx_t_11); __pyx_t_11 = 0; __Pyx_XDECREF(__pyx_t_9); __pyx_t_9 = 0; if (PY_MAJOR_VERSION >= 3) __Pyx_ExceptionSwap(&__pyx_t_16, &__pyx_t_15, &__pyx_t_14); if ((PY_MAJOR_VERSION < 3) || unlikely(__Pyx_GetException(&__pyx_t_19, &__pyx_t_18, &__pyx_t_17) < 0)) __Pyx_ErrFetch(&__pyx_t_19, &__pyx_t_18, &__pyx_t_17); __Pyx_XGOTREF(__pyx_t_19); __Pyx_XGOTREF(__pyx_t_18); __Pyx_XGOTREF(__pyx_t_17); __Pyx_XGOTREF(__pyx_t_16); __Pyx_XGOTREF(__pyx_t_15); __Pyx_XGOTREF(__pyx_t_14); __pyx_t_12 = __pyx_lineno; __pyx_t_10 = __pyx_clineno; __pyx_t_23 = __pyx_filename; { __Pyx_DECREF(__pyx_v_ie); __pyx_v_ie = 0; } if (PY_MAJOR_VERSION >= 3) { __Pyx_XGIVEREF(__pyx_t_16); __Pyx_XGIVEREF(__pyx_t_15); __Pyx_XGIVEREF(__pyx_t_14); __Pyx_ExceptionReset(__pyx_t_16, __pyx_t_15, __pyx_t_14); } __Pyx_XGIVEREF(__pyx_t_19); __Pyx_XGIVEREF(__pyx_t_18); __Pyx_XGIVEREF(__pyx_t_17); __Pyx_ErrRestore(__pyx_t_19, __pyx_t_18, __pyx_t_17); __pyx_t_19 = 0; __pyx_t_18 = 0; __pyx_t_17 = 0; __pyx_t_16 = 0; __pyx_t_15 = 0; __pyx_t_14 = 0; __pyx_lineno = __pyx_t_12; __pyx_clineno = __pyx_t_10; __pyx_filename = __pyx_t_23; goto __pyx_L27_except_error; } } } goto __pyx_L27_except_error;
+0536: raise ValueError(
__pyx_t_9 = __Pyx_PyObject_CallOneArg(__pyx_builtin_ValueError, __pyx_t_11); if (unlikely(!__pyx_t_9)) __PYX_ERR(1, 536, __pyx_L36_error) __Pyx_GOTREF(__pyx_t_9); __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0; __Pyx_Raise(__pyx_t_9, 0, 0, 0); __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0; __PYX_ERR(1, 536, __pyx_L36_error) }
+0537: f'Bad dataframe index name as table name: {ie}')
__pyx_t_9 = __Pyx_PyObject_FormatSimple(__pyx_v_ie, __pyx_empty_unicode); if (unlikely(!__pyx_t_9)) __PYX_ERR(1, 537, __pyx_L36_error) __Pyx_GOTREF(__pyx_t_9); __pyx_t_11 = __Pyx_PyUnicode_Concat(__pyx_kp_u_Bad_dataframe_index_name_as_tabl_2, __pyx_t_9); if (unlikely(!__pyx_t_11)) __PYX_ERR(1, 537, __pyx_L36_error) __Pyx_GOTREF(__pyx_t_11); __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;
0538: else:
+0539: raise ValueError(
/*else*/ { __pyx_t_2 = __Pyx_PyObject_Call(__pyx_builtin_ValueError, __pyx_tuple__9, NULL); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 539, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __Pyx_Raise(__pyx_t_2, 0, 0, 0); __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; __PYX_ERR(1, 539, __pyx_L1_error) } /* … */ __pyx_tuple__9 = PyTuple_Pack(1, __pyx_kp_u_Must_specify_at_least_one_of_tab); if (unlikely(!__pyx_tuple__9)) __PYX_ERR(1, 539, __pyx_L1_error) __Pyx_GOTREF(__pyx_tuple__9); __Pyx_GIVEREF(__pyx_tuple__9);
0540: 'Must specify at least one of `table_name` or `table_name_col`, ' +
0541: 'or set the dataframe index name (df.index.name = \'tbl_name\').')
0542:
0543:
+0544: cdef void_int _bind_col_index(
static __pyx_t_7questdb_7ingress_void_int __pyx_f_7questdb_7ingress__bind_col_index(PyObject *__pyx_v_arg_name, int __pyx_v_col_num, size_t __pyx_v_col_count, size_t *__pyx_v_col_index) { int __pyx_v_bad; int __pyx_v_orig_col_num; __pyx_t_7questdb_7ingress_void_int __pyx_r; /* … */ /* function exit code */ __pyx_r = 0; goto __pyx_L0; __pyx_L1_error:; __Pyx_XDECREF(__pyx_t_3); __Pyx_XDECREF(__pyx_t_6); __Pyx_AddTraceback("questdb.ingress._bind_col_index", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = -1; __pyx_L0:; __Pyx_RefNannyFinishContext(); return __pyx_r; }
0545: str arg_name, int col_num, size_t col_count,
0546: size_t* col_index) except -1:
0547: """
0548: Validate that `col_index` is in bounds for `col_count`.
0549: This function also converts negative indicies (e.g. -1 for last column) to
0550: positive indicies.
0551: """
+0552: cdef bint bad = False
__pyx_v_bad = 0;
+0553: cdef int orig_col_num = col_num
__pyx_v_orig_col_num = __pyx_v_col_num;
+0554: if col_num < 0:
__pyx_t_1 = (__pyx_v_col_num < 0); if (__pyx_t_1) { /* … */ }
+0555: col_num += col_count # Try convert negative offsets to positive ones.
__pyx_v_col_num = (__pyx_v_col_num + __pyx_v_col_count);
+0556: if col_num < 0:
__pyx_t_1 = (__pyx_v_col_num < 0); if (__pyx_t_1) { /* … */ }
+0557: bad = True
__pyx_v_bad = 1;
+0558: if (not bad) and (<size_t>col_num >= col_count):
__pyx_t_2 = (!__pyx_v_bad); if (__pyx_t_2) { } else { __pyx_t_1 = __pyx_t_2; goto __pyx_L6_bool_binop_done; } __pyx_t_2 = (((size_t)__pyx_v_col_num) >= __pyx_v_col_count); __pyx_t_1 = __pyx_t_2; __pyx_L6_bool_binop_done:; if (__pyx_t_1) { /* … */ }
+0559: bad = True
__pyx_v_bad = 1;
+0560: if bad:
if (unlikely(__pyx_v_bad)) { /* … */ }
+0561: raise IndexError(
__pyx_t_3 = __Pyx_PyObject_CallOneArg(__pyx_builtin_IndexError, __pyx_t_6); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 561, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; __Pyx_Raise(__pyx_t_3, 0, 0, 0); __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; __PYX_ERR(1, 561, __pyx_L1_error)
+0562: f'Bad argument `{arg_name}`: {orig_col_num} index out of range')
__pyx_t_3 = PyTuple_New(5); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 562, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __pyx_t_4 = 0; __pyx_t_5 = 127; __Pyx_INCREF(__pyx_kp_u_Bad_argument); __pyx_t_4 += 14; __Pyx_GIVEREF(__pyx_kp_u_Bad_argument); PyTuple_SET_ITEM(__pyx_t_3, 0, __pyx_kp_u_Bad_argument); __pyx_t_6 = __Pyx_PyUnicode_Unicode(__pyx_v_arg_name); if (unlikely(!__pyx_t_6)) __PYX_ERR(1, 562, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_6); __pyx_t_5 = (__Pyx_PyUnicode_MAX_CHAR_VALUE(__pyx_t_6) > __pyx_t_5) ? __Pyx_PyUnicode_MAX_CHAR_VALUE(__pyx_t_6) : __pyx_t_5; __pyx_t_4 += __Pyx_PyUnicode_GET_LENGTH(__pyx_t_6); __Pyx_GIVEREF(__pyx_t_6); PyTuple_SET_ITEM(__pyx_t_3, 1, __pyx_t_6); __pyx_t_6 = 0; __Pyx_INCREF(__pyx_kp_u__10); __pyx_t_4 += 3; __Pyx_GIVEREF(__pyx_kp_u__10); PyTuple_SET_ITEM(__pyx_t_3, 2, __pyx_kp_u__10); __pyx_t_6 = __Pyx_PyUnicode_From_int(__pyx_v_orig_col_num, 0, ' ', 'd'); if (unlikely(!__pyx_t_6)) __PYX_ERR(1, 562, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_6); __pyx_t_4 += __Pyx_PyUnicode_GET_LENGTH(__pyx_t_6); __Pyx_GIVEREF(__pyx_t_6); PyTuple_SET_ITEM(__pyx_t_3, 3, __pyx_t_6); __pyx_t_6 = 0; __Pyx_INCREF(__pyx_kp_u_index_out_of_range); __pyx_t_4 += 19; __Pyx_GIVEREF(__pyx_kp_u_index_out_of_range); PyTuple_SET_ITEM(__pyx_t_3, 4, __pyx_kp_u_index_out_of_range); __pyx_t_6 = __Pyx_PyUnicode_Join(__pyx_t_3, 5, __pyx_t_4, __pyx_t_5); if (unlikely(!__pyx_t_6)) __PYX_ERR(1, 562, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_6); __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
+0563: col_index[0] = <size_t>col_num
(__pyx_v_col_index[0]) = ((size_t)__pyx_v_col_num);
0564:
0565:
+0566: cdef void_int _dataframe_check_column_is_str(
static __pyx_t_7questdb_7ingress_void_int __pyx_f_7questdb_7ingress__dataframe_check_column_is_str(PyObject *__pyx_v_err_msg_prefix, struct __pyx_obj_7questdb_7ingress_PandasCol *__pyx_v_pandas_col, enum __pyx_t_7questdb_7ingress_col_source_t __pyx_v_source) { PyObject *__pyx_v_inferred_descr = 0; __pyx_t_7questdb_7ingress_void_int __pyx_r; /* … */ /* function exit code */ __pyx_r = 0; goto __pyx_L0; __pyx_L1_error:; __Pyx_XDECREF(__pyx_t_1); __Pyx_XDECREF(__pyx_t_3); __Pyx_XDECREF(__pyx_t_6); __Pyx_XDECREF(__pyx_t_7); __Pyx_XDECREF(__pyx_t_8); __Pyx_XDECREF(__pyx_t_9); __Pyx_AddTraceback("questdb.ingress._dataframe_check_column_is_str", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = -1; __pyx_L0:; __Pyx_XDECREF(__pyx_v_inferred_descr); __Pyx_RefNannyFinishContext(); return __pyx_r; }
0567: str err_msg_prefix,
0568: PandasCol pandas_col,
0569: col_source_t source) except -1:
+0570: cdef str inferred_descr = ""
__Pyx_INCREF(__pyx_kp_u__11);
__pyx_v_inferred_descr = __pyx_kp_u__11;
+0571: if not source in _STR_SOURCES:
__pyx_t_1 = __Pyx_PyInt_From_enum____pyx_t_7questdb_7ingress_col_source_t(__pyx_v_source); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 571, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); if (unlikely(__pyx_v_7questdb_7ingress__STR_SOURCES == Py_None)) { PyErr_SetString(PyExc_TypeError, "'NoneType' object is not iterable"); __PYX_ERR(1, 571, __pyx_L1_error) } __pyx_t_2 = (__Pyx_PySet_ContainsTF(__pyx_t_1, __pyx_v_7questdb_7ingress__STR_SOURCES, Py_NE)); if (unlikely((__pyx_t_2 < 0))) __PYX_ERR(1, 571, __pyx_L1_error) __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; if (__pyx_t_2) { /* … */ }
+0572: if isinstance(pandas_col.dtype, _NUMPY_OBJECT):
__pyx_t_1 = __pyx_v_pandas_col->dtype; __Pyx_INCREF(__pyx_t_1); __pyx_t_3 = __pyx_v_7questdb_7ingress__NUMPY_OBJECT; __Pyx_INCREF(__pyx_t_3); __pyx_t_2 = PyObject_IsInstance(__pyx_t_1, __pyx_t_3); if (unlikely(__pyx_t_2 == ((int)-1))) __PYX_ERR(1, 572, __pyx_L1_error) __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; if (__pyx_t_2) { /* … */ }
+0573: inferred_descr = f' (inferred type: {_PYOBJ_SOURCE_DESCR[source]})'
__pyx_t_3 = PyTuple_New(3); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 573, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __pyx_t_4 = 0; __pyx_t_5 = 127; __Pyx_INCREF(__pyx_kp_u_inferred_type); __pyx_t_4 += 17; __Pyx_GIVEREF(__pyx_kp_u_inferred_type); PyTuple_SET_ITEM(__pyx_t_3, 0, __pyx_kp_u_inferred_type); if (unlikely(__pyx_v_7questdb_7ingress__PYOBJ_SOURCE_DESCR == Py_None)) { PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable"); __PYX_ERR(1, 573, __pyx_L1_error) } __pyx_t_1 = __Pyx_PyInt_From_enum____pyx_t_7questdb_7ingress_col_source_t(__pyx_v_source); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 573, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __pyx_t_6 = __Pyx_PyDict_GetItem(__pyx_v_7questdb_7ingress__PYOBJ_SOURCE_DESCR, __pyx_t_1); if (unlikely(!__pyx_t_6)) __PYX_ERR(1, 573, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_6); __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __pyx_t_1 = __Pyx_PyObject_FormatSimple(__pyx_t_6, __pyx_empty_unicode); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 573, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; __pyx_t_5 = (__Pyx_PyUnicode_MAX_CHAR_VALUE(__pyx_t_1) > __pyx_t_5) ? __Pyx_PyUnicode_MAX_CHAR_VALUE(__pyx_t_1) : __pyx_t_5; __pyx_t_4 += __Pyx_PyUnicode_GET_LENGTH(__pyx_t_1); __Pyx_GIVEREF(__pyx_t_1); PyTuple_SET_ITEM(__pyx_t_3, 1, __pyx_t_1); __pyx_t_1 = 0; __Pyx_INCREF(__pyx_kp_u__12); __pyx_t_4 += 1; __Pyx_GIVEREF(__pyx_kp_u__12); PyTuple_SET_ITEM(__pyx_t_3, 2, __pyx_kp_u__12); __pyx_t_1 = __Pyx_PyUnicode_Join(__pyx_t_3, 3, __pyx_t_4, __pyx_t_5); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 573, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; __Pyx_DECREF_SET(__pyx_v_inferred_descr, ((PyObject*)__pyx_t_1)); __pyx_t_1 = 0;
+0574: raise IngressError(
__Pyx_GetModuleGlobalName(__pyx_t_3, __pyx_n_s_IngressError); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 574, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3);
+0575: IngressErrorCode.BadDataFrame,
__Pyx_GetModuleGlobalName(__pyx_t_6, __pyx_n_s_IngressErrorCode); if (unlikely(!__pyx_t_6)) __PYX_ERR(1, 575, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_6); __pyx_t_7 = __Pyx_PyObject_GetAttrStr(__pyx_t_6, __pyx_n_s_BadDataFrame); if (unlikely(!__pyx_t_7)) __PYX_ERR(1, 575, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_7); __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
+0576: err_msg_prefix +
__pyx_t_6 = __Pyx_PyUnicode_ConcatSafe(__pyx_v_err_msg_prefix, __pyx_t_8); if (unlikely(!__pyx_t_6)) __PYX_ERR(1, 576, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_6); __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
+0577: f'Bad dtype `{pandas_col.dtype}`{inferred_descr} for the ' +
__pyx_t_6 = PyTuple_New(5); if (unlikely(!__pyx_t_6)) __PYX_ERR(1, 577, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_6); __pyx_t_4 = 0; __pyx_t_5 = 127; __Pyx_INCREF(__pyx_kp_u_Bad_dtype); __pyx_t_4 += 11; __Pyx_GIVEREF(__pyx_kp_u_Bad_dtype); PyTuple_SET_ITEM(__pyx_t_6, 0, __pyx_kp_u_Bad_dtype); __pyx_t_8 = __Pyx_PyObject_FormatSimple(__pyx_v_pandas_col->dtype, __pyx_empty_unicode); if (unlikely(!__pyx_t_8)) __PYX_ERR(1, 577, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_8); __pyx_t_5 = (__Pyx_PyUnicode_MAX_CHAR_VALUE(__pyx_t_8) > __pyx_t_5) ? __Pyx_PyUnicode_MAX_CHAR_VALUE(__pyx_t_8) : __pyx_t_5; __pyx_t_4 += __Pyx_PyUnicode_GET_LENGTH(__pyx_t_8); __Pyx_GIVEREF(__pyx_t_8); PyTuple_SET_ITEM(__pyx_t_6, 1, __pyx_t_8); __pyx_t_8 = 0; __Pyx_INCREF(__pyx_kp_u__13); __pyx_t_4 += 1; __Pyx_GIVEREF(__pyx_kp_u__13); PyTuple_SET_ITEM(__pyx_t_6, 2, __pyx_kp_u__13); __Pyx_INCREF(__pyx_v_inferred_descr); __pyx_t_5 = (__Pyx_PyUnicode_MAX_CHAR_VALUE(__pyx_v_inferred_descr) > __pyx_t_5) ? __Pyx_PyUnicode_MAX_CHAR_VALUE(__pyx_v_inferred_descr) : __pyx_t_5; __pyx_t_4 += __Pyx_PyUnicode_GET_LENGTH(__pyx_v_inferred_descr); __Pyx_GIVEREF(__pyx_v_inferred_descr); PyTuple_SET_ITEM(__pyx_t_6, 3, __pyx_v_inferred_descr); __Pyx_INCREF(__pyx_kp_u_for_the); __pyx_t_4 += 9; __Pyx_GIVEREF(__pyx_kp_u_for_the); PyTuple_SET_ITEM(__pyx_t_6, 4, __pyx_kp_u_for_the); __pyx_t_8 = __Pyx_PyUnicode_Join(__pyx_t_6, 5, __pyx_t_4, __pyx_t_5); if (unlikely(!__pyx_t_8)) __PYX_ERR(1, 577, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_8); __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; /* … */ __pyx_t_8 = __Pyx_PyUnicode_ConcatInPlace(__pyx_t_6, __pyx_t_9); if (unlikely(!__pyx_t_8)) __PYX_ERR(1, 577, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_8); __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0; __pyx_t_9 = NULL; __pyx_t_10 = 0; #if CYTHON_UNPACK_METHODS if (unlikely(PyMethod_Check(__pyx_t_3))) { __pyx_t_9 = PyMethod_GET_SELF(__pyx_t_3); if (likely(__pyx_t_9)) { PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_3); __Pyx_INCREF(__pyx_t_9); __Pyx_INCREF(function); __Pyx_DECREF_SET(__pyx_t_3, function); __pyx_t_10 = 1; } } #endif { PyObject *__pyx_callargs[3] = {__pyx_t_9, __pyx_t_7, __pyx_t_8}; __pyx_t_1 = __Pyx_PyObject_FastCall(__pyx_t_3, __pyx_callargs+1-__pyx_t_10, 2+__pyx_t_10); __Pyx_XDECREF(__pyx_t_9); __pyx_t_9 = 0; __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0; if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 574, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; } __Pyx_Raise(__pyx_t_1, 0, 0, 0); __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __PYX_ERR(1, 574, __pyx_L1_error)
+0578: f'{pandas_col.name!r} column: Must be a strings column.')
__pyx_t_8 = __Pyx_PyObject_FormatSimpleAndDecref(PyObject_Repr(__pyx_v_pandas_col->name), __pyx_empty_unicode); if (unlikely(!__pyx_t_8)) __PYX_ERR(1, 578, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_8); __pyx_t_9 = __Pyx_PyUnicode_ConcatInPlace(__pyx_t_8, __pyx_kp_u_column_Must_be_a_strings_column); if (unlikely(!__pyx_t_9)) __PYX_ERR(1, 578, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_9); __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
0579:
0580:
0581: @cython.internal
+0582: cdef class PandasCol:
struct __pyx_obj_7questdb_7ingress_PandasCol { PyObject_HEAD PyObject *name; PyObject *dtype; PyObject *series; };
0583: """Python object representing a column to parse .dataframe() arguments."""
0584: cdef str name
0585: cdef object dtype
0586: cdef object series
0587:
+0588: def __init__(
/* Python wrapper */ static int __pyx_pw_7questdb_7ingress_9PandasCol_1__init__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/ static int __pyx_pw_7questdb_7ingress_9PandasCol_1__init__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) { PyObject *__pyx_v_name = 0; PyObject *__pyx_v_dtype = 0; PyObject *__pyx_v_series = 0; CYTHON_UNUSED Py_ssize_t __pyx_nargs; CYTHON_UNUSED PyObject *const *__pyx_kwvalues; int __pyx_r; __Pyx_RefNannyDeclarations __Pyx_RefNannySetupContext("__init__ (wrapper)", 0); #if CYTHON_ASSUME_SAFE_MACROS __pyx_nargs = PyTuple_GET_SIZE(__pyx_args); #else __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return -1; #endif __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs); { PyObject **__pyx_pyargnames[] = {&__pyx_n_s_name,&__pyx_n_s_dtype,&__pyx_n_s_series,0}; PyObject* values[3] = {0,0,0}; if (__pyx_kwds) { Py_ssize_t kw_args; switch (__pyx_nargs) { case 3: values[2] = __Pyx_Arg_VARARGS(__pyx_args, 2); CYTHON_FALLTHROUGH; case 2: values[1] = __Pyx_Arg_VARARGS(__pyx_args, 1); CYTHON_FALLTHROUGH; case 1: values[0] = __Pyx_Arg_VARARGS(__pyx_args, 0); CYTHON_FALLTHROUGH; case 0: break; default: goto __pyx_L5_argtuple_error; } kw_args = __Pyx_NumKwargs_VARARGS(__pyx_kwds); switch (__pyx_nargs) { case 0: if (likely((values[0] = __Pyx_GetKwValue_VARARGS(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_name)) != 0)) { (void)__Pyx_Arg_NewRef_VARARGS(values[0]); kw_args--; } else if (unlikely(PyErr_Occurred())) __PYX_ERR(1, 588, __pyx_L3_error) else goto __pyx_L5_argtuple_error; CYTHON_FALLTHROUGH; case 1: if (likely((values[1] = __Pyx_GetKwValue_VARARGS(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_dtype)) != 0)) { (void)__Pyx_Arg_NewRef_VARARGS(values[1]); kw_args--; } else if (unlikely(PyErr_Occurred())) __PYX_ERR(1, 588, __pyx_L3_error) else { __Pyx_RaiseArgtupleInvalid("__init__", 1, 3, 3, 1); __PYX_ERR(1, 588, __pyx_L3_error) } CYTHON_FALLTHROUGH; case 2: if (likely((values[2] = __Pyx_GetKwValue_VARARGS(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_series)) != 0)) { (void)__Pyx_Arg_NewRef_VARARGS(values[2]); kw_args--; } else if (unlikely(PyErr_Occurred())) __PYX_ERR(1, 588, __pyx_L3_error) else { __Pyx_RaiseArgtupleInvalid("__init__", 1, 3, 3, 2); __PYX_ERR(1, 588, __pyx_L3_error) } } if (unlikely(kw_args > 0)) { const Py_ssize_t kwd_pos_args = __pyx_nargs; if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values + 0, kwd_pos_args, "__init__") < 0)) __PYX_ERR(1, 588, __pyx_L3_error) } } else if (unlikely(__pyx_nargs != 3)) { goto __pyx_L5_argtuple_error; } else { values[0] = __Pyx_Arg_VARARGS(__pyx_args, 0); values[1] = __Pyx_Arg_VARARGS(__pyx_args, 1); values[2] = __Pyx_Arg_VARARGS(__pyx_args, 2); } __pyx_v_name = ((PyObject*)values[0]); __pyx_v_dtype = values[1]; __pyx_v_series = values[2]; } goto __pyx_L6_skip; __pyx_L5_argtuple_error:; __Pyx_RaiseArgtupleInvalid("__init__", 1, 3, 3, __pyx_nargs); __PYX_ERR(1, 588, __pyx_L3_error) __pyx_L6_skip:; goto __pyx_L4_argument_unpacking_done; __pyx_L3_error:; { Py_ssize_t __pyx_temp; for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { __Pyx_Arg_XDECREF_VARARGS(values[__pyx_temp]); } } __Pyx_AddTraceback("questdb.ingress.PandasCol.__init__", __pyx_clineno, __pyx_lineno, __pyx_filename); __Pyx_RefNannyFinishContext(); return -1; __pyx_L4_argument_unpacking_done:; if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_name), (&PyUnicode_Type), 1, "name", 1))) __PYX_ERR(1, 590, __pyx_L1_error) __pyx_r = __pyx_pf_7questdb_7ingress_9PandasCol___init__(((struct __pyx_obj_7questdb_7ingress_PandasCol *)__pyx_v_self), __pyx_v_name, __pyx_v_dtype, __pyx_v_series); int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; /* function exit code */ goto __pyx_L0; __pyx_L1_error:; __pyx_r = -1; __pyx_L0:; { Py_ssize_t __pyx_temp; for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { __Pyx_Arg_XDECREF_VARARGS(values[__pyx_temp]); } } __Pyx_RefNannyFinishContext(); return __pyx_r; } static int __pyx_pf_7questdb_7ingress_9PandasCol___init__(struct __pyx_obj_7questdb_7ingress_PandasCol *__pyx_v_self, PyObject *__pyx_v_name, PyObject *__pyx_v_dtype, PyObject *__pyx_v_series) { int __pyx_r; /* … */ /* function exit code */ __pyx_r = 0; __Pyx_RefNannyFinishContext(); return __pyx_r; }
0589: self,
0590: str name,
0591: object dtype,
0592: object series):
+0593: self.name = name
__Pyx_INCREF(__pyx_v_name); __Pyx_GIVEREF(__pyx_v_name); __Pyx_GOTREF(__pyx_v_self->name); __Pyx_DECREF(__pyx_v_self->name); __pyx_v_self->name = __pyx_v_name;
+0594: self.dtype = dtype
__Pyx_INCREF(__pyx_v_dtype); __Pyx_GIVEREF(__pyx_v_dtype); __Pyx_GOTREF(__pyx_v_self->dtype); __Pyx_DECREF(__pyx_v_self->dtype); __pyx_v_self->dtype = __pyx_v_dtype;
+0595: self.series = series
__Pyx_INCREF(__pyx_v_series); __Pyx_GIVEREF(__pyx_v_series); __Pyx_GOTREF(__pyx_v_self->series); __Pyx_DECREF(__pyx_v_self->series); __pyx_v_self->series = __pyx_v_series;
0596:
0597:
+0598: cdef void_int _dataframe_resolve_symbols(
static __pyx_t_7questdb_7ingress_void_int __pyx_f_7questdb_7ingress__dataframe_resolve_symbols(PyObject *__pyx_v_df, PyObject *__pyx_v_pandas_cols, struct __pyx_t_7questdb_7ingress_col_t_arr *__pyx_v_cols, Py_ssize_t __pyx_v_table_name_col, Py_ssize_t __pyx_v_at_col, PyObject *__pyx_v_symbols) { size_t __pyx_v_col_index; PyObject *__pyx_v_symbol = 0; struct __pyx_obj_7questdb_7ingress_PandasCol *__pyx_v_pandas_col = 0; struct __pyx_t_7questdb_7ingress_col_t *__pyx_v_col; __pyx_t_7questdb_7ingress_void_int __pyx_r; /* … */ /* function exit code */ __pyx_r = 0; goto __pyx_L0; __pyx_L1_error:; __Pyx_XDECREF(__pyx_t_5); __Pyx_XDECREF(__pyx_t_6); __Pyx_XDECREF(__pyx_t_12); __Pyx_XDECREF(__pyx_t_15); __Pyx_AddTraceback("questdb.ingress._dataframe_resolve_symbols", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = -1; __pyx_L0:; __Pyx_XDECREF(__pyx_v_symbol); __Pyx_XDECREF((PyObject *)__pyx_v_pandas_col); __Pyx_RefNannyFinishContext(); return __pyx_r; }
0599: object df,
0600: list pandas_cols,
0601: col_t_arr* cols,
0602: ssize_t table_name_col,
0603: ssize_t at_col,
0604: object symbols) except -1:
+0605: cdef size_t col_index = 0
__pyx_v_col_index = 0;
0606: cdef object symbol
0607: cdef PandasCol pandas_col
0608: cdef col_t* col
+0609: if symbols == 'auto':
__pyx_t_1 = (__Pyx_PyUnicode_Equals(__pyx_v_symbols, __pyx_n_u_auto, Py_EQ)); if (unlikely((__pyx_t_1 < 0))) __PYX_ERR(1, 609, __pyx_L1_error) if (__pyx_t_1) { /* … */ goto __pyx_L3; }
+0610: for col_index in range(cols.size):
__pyx_t_2 = __pyx_v_cols->size; __pyx_t_3 = __pyx_t_2; for (__pyx_t_4 = 0; __pyx_t_4 < __pyx_t_3; __pyx_t_4+=1) { __pyx_v_col_index = __pyx_t_4;
+0611: pandas_col = pandas_cols[col_index]
if (unlikely(__pyx_v_pandas_cols == Py_None)) { PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable"); __PYX_ERR(1, 611, __pyx_L1_error) } __pyx_t_5 = __Pyx_GetItemInt_List(__pyx_v_pandas_cols, __pyx_v_col_index, size_t, 0, __Pyx_PyInt_FromSize_t, 1, 0, 1); if (unlikely(!__pyx_t_5)) __PYX_ERR(1, 611, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_5); if (!(likely(((__pyx_t_5) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_5, __pyx_ptype_7questdb_7ingress_PandasCol))))) __PYX_ERR(1, 611, __pyx_L1_error) __Pyx_XDECREF_SET(__pyx_v_pandas_col, ((struct __pyx_obj_7questdb_7ingress_PandasCol *)__pyx_t_5)); __pyx_t_5 = 0;
+0612: col = &cols.d[col_index]
__pyx_v_col = (&(__pyx_v_cols->d[__pyx_v_col_index]));
+0613: if col.setup.meta_target == meta_target_t.meta_target_field:
__pyx_t_1 = (__pyx_v_col->setup->meta_target == __pyx_e_7questdb_7ingress_meta_target_field); if (__pyx_t_1) { /* … */ } }
+0614: if isinstance(pandas_col.dtype, _PANDAS.CategoricalDtype):
__pyx_t_5 = __pyx_v_pandas_col->dtype; __Pyx_INCREF(__pyx_t_5); __pyx_t_6 = __Pyx_PyObject_GetAttrStr(__pyx_v_7questdb_7ingress__PANDAS, __pyx_n_s_CategoricalDtype); if (unlikely(!__pyx_t_6)) __PYX_ERR(1, 614, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_6); __pyx_t_1 = PyObject_IsInstance(__pyx_t_5, __pyx_t_6); if (unlikely(__pyx_t_1 == ((int)-1))) __PYX_ERR(1, 614, __pyx_L1_error) __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; if (__pyx_t_1) { /* … */ }
+0615: col.setup.meta_target = meta_target_t.meta_target_symbol
__pyx_v_col->setup->meta_target = __pyx_e_7questdb_7ingress_meta_target_symbol;
+0616: elif symbols is False:
__pyx_t_1 = (__pyx_v_symbols == Py_False); if (__pyx_t_1) { goto __pyx_L3; }
0617: pass
+0618: elif symbols is True:
__pyx_t_1 = (__pyx_v_symbols == Py_True); if (__pyx_t_1) { /* … */ goto __pyx_L3; }
+0619: for col_index in range(cols.size):
__pyx_t_2 = __pyx_v_cols->size; __pyx_t_3 = __pyx_t_2; for (__pyx_t_4 = 0; __pyx_t_4 < __pyx_t_3; __pyx_t_4+=1) { __pyx_v_col_index = __pyx_t_4;
+0620: col = &cols.d[col_index]
__pyx_v_col = (&(__pyx_v_cols->d[__pyx_v_col_index]));
+0621: if col.setup.source in _STR_SOURCES:
__pyx_t_6 = __Pyx_PyInt_From_enum____pyx_t_7questdb_7ingress_col_source_t(__pyx_v_col->setup->source); if (unlikely(!__pyx_t_6)) __PYX_ERR(1, 621, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_6); if (unlikely(__pyx_v_7questdb_7ingress__STR_SOURCES == Py_None)) { PyErr_SetString(PyExc_TypeError, "'NoneType' object is not iterable"); __PYX_ERR(1, 621, __pyx_L1_error) } __pyx_t_1 = (__Pyx_PySet_ContainsTF(__pyx_t_6, __pyx_v_7questdb_7ingress__STR_SOURCES, Py_EQ)); if (unlikely((__pyx_t_1 < 0))) __PYX_ERR(1, 621, __pyx_L1_error) __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; if (__pyx_t_1) { /* … */ } }
+0622: pandas_col = pandas_cols[col_index]
if (unlikely(__pyx_v_pandas_cols == Py_None)) { PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable"); __PYX_ERR(1, 622, __pyx_L1_error) } __pyx_t_6 = __Pyx_GetItemInt_List(__pyx_v_pandas_cols, __pyx_v_col_index, size_t, 0, __Pyx_PyInt_FromSize_t, 1, 0, 1); if (unlikely(!__pyx_t_6)) __PYX_ERR(1, 622, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_6); if (!(likely(((__pyx_t_6) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_6, __pyx_ptype_7questdb_7ingress_PandasCol))))) __PYX_ERR(1, 622, __pyx_L1_error) __Pyx_XDECREF_SET(__pyx_v_pandas_col, ((struct __pyx_obj_7questdb_7ingress_PandasCol *)__pyx_t_6)); __pyx_t_6 = 0;
+0623: if col.setup.meta_target == meta_target_t.meta_target_field:
__pyx_t_1 = (__pyx_v_col->setup->meta_target == __pyx_e_7questdb_7ingress_meta_target_field); if (__pyx_t_1) { /* … */ }
+0624: col.setup.meta_target = meta_target_t.meta_target_symbol
__pyx_v_col->setup->meta_target = __pyx_e_7questdb_7ingress_meta_target_symbol;
0625: else:
+0626: if not isinstance(symbols, (tuple, list)):
/*else*/ { __pyx_t_7 = PyTuple_Check(__pyx_v_symbols); if (!__pyx_t_7) { } else { __pyx_t_1 = __pyx_t_7; goto __pyx_L13_bool_binop_done; } __pyx_t_7 = PyList_Check(__pyx_v_symbols); __pyx_t_1 = __pyx_t_7; __pyx_L13_bool_binop_done:; __pyx_t_7 = (!__pyx_t_1); if (unlikely(__pyx_t_7)) { /* … */ }
+0627: raise TypeError(
__pyx_t_6 = __Pyx_PyObject_Call(__pyx_builtin_TypeError, __pyx_tuple__14, NULL); if (unlikely(!__pyx_t_6)) __PYX_ERR(1, 627, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_6); __Pyx_Raise(__pyx_t_6, 0, 0, 0); __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; __PYX_ERR(1, 627, __pyx_L1_error) /* … */ __pyx_tuple__14 = PyTuple_Pack(1, __pyx_kp_u_Bad_argument_symbols_Must_be_a_b); if (unlikely(!__pyx_tuple__14)) __PYX_ERR(1, 627, __pyx_L1_error) __Pyx_GOTREF(__pyx_tuple__14); __Pyx_GIVEREF(__pyx_tuple__14);
0628: f'Bad argument `symbols`: Must be a bool or a tuple or list '+
0629: 'of column names (str) or indices (int).')
+0630: for symbol in symbols:
if (likely(PyList_CheckExact(__pyx_v_symbols)) || PyTuple_CheckExact(__pyx_v_symbols)) { __pyx_t_6 = __pyx_v_symbols; __Pyx_INCREF(__pyx_t_6); __pyx_t_8 = 0; __pyx_t_9 = NULL; } else { __pyx_t_8 = -1; __pyx_t_6 = PyObject_GetIter(__pyx_v_symbols); if (unlikely(!__pyx_t_6)) __PYX_ERR(1, 630, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_6); __pyx_t_9 = __Pyx_PyObject_GetIterNextFunc(__pyx_t_6); if (unlikely(!__pyx_t_9)) __PYX_ERR(1, 630, __pyx_L1_error) } for (;;) { if (likely(!__pyx_t_9)) { if (likely(PyList_CheckExact(__pyx_t_6))) { { Py_ssize_t __pyx_temp = __Pyx_PyList_GET_SIZE(__pyx_t_6); #if !CYTHON_ASSUME_SAFE_MACROS if (unlikely((__pyx_temp < 0))) __PYX_ERR(1, 630, __pyx_L1_error) #endif if (__pyx_t_8 >= __pyx_temp) break; } #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS __pyx_t_5 = PyList_GET_ITEM(__pyx_t_6, __pyx_t_8); __Pyx_INCREF(__pyx_t_5); __pyx_t_8++; if (unlikely((0 < 0))) __PYX_ERR(1, 630, __pyx_L1_error) #else __pyx_t_5 = __Pyx_PySequence_ITEM(__pyx_t_6, __pyx_t_8); __pyx_t_8++; if (unlikely(!__pyx_t_5)) __PYX_ERR(1, 630, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_5); #endif } else { { Py_ssize_t __pyx_temp = __Pyx_PyTuple_GET_SIZE(__pyx_t_6); #if !CYTHON_ASSUME_SAFE_MACROS if (unlikely((__pyx_temp < 0))) __PYX_ERR(1, 630, __pyx_L1_error) #endif if (__pyx_t_8 >= __pyx_temp) break; } #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS __pyx_t_5 = PyTuple_GET_ITEM(__pyx_t_6, __pyx_t_8); __Pyx_INCREF(__pyx_t_5); __pyx_t_8++; if (unlikely((0 < 0))) __PYX_ERR(1, 630, __pyx_L1_error) #else __pyx_t_5 = __Pyx_PySequence_ITEM(__pyx_t_6, __pyx_t_8); __pyx_t_8++; if (unlikely(!__pyx_t_5)) __PYX_ERR(1, 630, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_5); #endif } } else { __pyx_t_5 = __pyx_t_9(__pyx_t_6); if (unlikely(!__pyx_t_5)) { PyObject* exc_type = PyErr_Occurred(); if (exc_type) { if (likely(__Pyx_PyErr_GivenExceptionMatches(exc_type, PyExc_StopIteration))) PyErr_Clear(); else __PYX_ERR(1, 630, __pyx_L1_error) } break; } __Pyx_GOTREF(__pyx_t_5); } __Pyx_XDECREF_SET(__pyx_v_symbol, __pyx_t_5); __pyx_t_5 = 0; /* … */ } __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; } __pyx_L3:;
+0631: if isinstance(symbol, str):
__pyx_t_7 = PyUnicode_Check(__pyx_v_symbol);
if (__pyx_t_7) {
/* … */
goto __pyx_L17;
}
+0632: _dataframe_get_loc(df, symbol, 'symbols', &col_index)
if (!(likely(PyUnicode_CheckExact(__pyx_v_symbol))||((__pyx_v_symbol) == Py_None) || __Pyx_RaiseUnexpectedTypeError("unicode", __pyx_v_symbol))) __PYX_ERR(1, 632, __pyx_L1_error) __pyx_t_10 = __pyx_f_7questdb_7ingress__dataframe_get_loc(__pyx_v_df, ((PyObject*)__pyx_v_symbol), __pyx_n_u_symbols, (&__pyx_v_col_index)); if (unlikely(__pyx_t_10 == ((__pyx_t_7questdb_7ingress_void_int)-1))) __PYX_ERR(1, 632, __pyx_L1_error)
+0633: elif isinstance(symbol, int):
__pyx_t_7 = PyInt_Check(__pyx_v_symbol);
if (likely(__pyx_t_7)) {
/* … */
goto __pyx_L17;
}
+0634: _bind_col_index('symbol', symbol, cols.size, &col_index)
__pyx_t_11 = __Pyx_PyInt_As_int(__pyx_v_symbol); if (unlikely((__pyx_t_11 == (int)-1) && PyErr_Occurred())) __PYX_ERR(1, 634, __pyx_L1_error) __pyx_t_10 = __pyx_f_7questdb_7ingress__bind_col_index(__pyx_n_u_symbol, __pyx_t_11, __pyx_v_cols->size, (&__pyx_v_col_index)); if (unlikely(__pyx_t_10 == ((__pyx_t_7questdb_7ingress_void_int)-1))) __PYX_ERR(1, 634, __pyx_L1_error)
0635: else:
+0636: raise TypeError(
/*else*/ { __pyx_t_5 = __Pyx_PyObject_Call(__pyx_builtin_TypeError, __pyx_tuple__15, NULL); if (unlikely(!__pyx_t_5)) __PYX_ERR(1, 636, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_5); __Pyx_Raise(__pyx_t_5, 0, 0, 0); __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; __PYX_ERR(1, 636, __pyx_L1_error) } __pyx_L17:; /* … */ __pyx_tuple__15 = PyTuple_Pack(1, __pyx_kp_u_Bad_argument_symbols_Elements_mu); if (unlikely(!__pyx_tuple__15)) __PYX_ERR(1, 636, __pyx_L1_error) __Pyx_GOTREF(__pyx_tuple__15); __Pyx_GIVEREF(__pyx_tuple__15);
0637: f'Bad argument `symbols`: Elements must ' +
0638: 'be a column name (str) or index (int).')
+0639: if (table_name_col >= 0) and (col_index == <size_t>table_name_col):
__pyx_t_1 = (__pyx_v_table_name_col >= 0); if (__pyx_t_1) { } else { __pyx_t_7 = __pyx_t_1; goto __pyx_L19_bool_binop_done; } __pyx_t_1 = (__pyx_v_col_index == ((size_t)__pyx_v_table_name_col)); __pyx_t_7 = __pyx_t_1; __pyx_L19_bool_binop_done:; if (unlikely(__pyx_t_7)) { /* … */ }
+0640: raise ValueError(
__pyx_t_12 = __Pyx_PyObject_CallOneArg(__pyx_builtin_ValueError, __pyx_t_5); if (unlikely(!__pyx_t_12)) __PYX_ERR(1, 640, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_12); __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; __Pyx_Raise(__pyx_t_12, 0, 0, 0); __Pyx_DECREF(__pyx_t_12); __pyx_t_12 = 0; __PYX_ERR(1, 640, __pyx_L1_error)
+0641: f'Bad argument `symbols`: Cannot use the same column ' +
__pyx_t_5 = __Pyx_PyUnicode_Concat(__pyx_kp_u_Bad_argument_symbols_Cannot_use, __pyx_t_12); if (unlikely(!__pyx_t_5)) __PYX_ERR(1, 641, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_5); __Pyx_DECREF(__pyx_t_12); __pyx_t_12 = 0;
+0642: f'{symbol!r} as both the table_name and as a symbol.')
__pyx_t_5 = __Pyx_PyObject_FormatSimpleAndDecref(PyObject_Repr(__pyx_v_symbol), __pyx_empty_unicode); if (unlikely(!__pyx_t_5)) __PYX_ERR(1, 642, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_5); __pyx_t_12 = __Pyx_PyUnicode_ConcatInPlace(__pyx_t_5, __pyx_kp_u_as_both_the_table_name_and_as_a); if (unlikely(!__pyx_t_12)) __PYX_ERR(1, 642, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_12); __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
+0643: if (at_col >= 0) and (col_index == <size_t>at_col):
__pyx_t_1 = (__pyx_v_at_col >= 0); if (__pyx_t_1) { } else { __pyx_t_7 = __pyx_t_1; goto __pyx_L22_bool_binop_done; } __pyx_t_1 = (__pyx_v_col_index == ((size_t)__pyx_v_at_col)); __pyx_t_7 = __pyx_t_1; __pyx_L22_bool_binop_done:; if (unlikely(__pyx_t_7)) { /* … */ }
+0644: raise ValueError(
__pyx_t_5 = __Pyx_PyObject_CallOneArg(__pyx_builtin_ValueError, __pyx_t_12); if (unlikely(!__pyx_t_5)) __PYX_ERR(1, 644, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_5); __Pyx_DECREF(__pyx_t_12); __pyx_t_12 = 0; __Pyx_Raise(__pyx_t_5, 0, 0, 0); __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; __PYX_ERR(1, 644, __pyx_L1_error)
+0645: f'Bad argument `symbols`: Cannot use the `at` column ' +
__pyx_t_12 = __Pyx_PyUnicode_Concat(__pyx_kp_u_Bad_argument_symbols_Cannot_use_2, __pyx_t_5); if (unlikely(!__pyx_t_12)) __PYX_ERR(1, 645, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_12); __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
+0646: f'({df.columns[at_col]!r}) as a symbol column.')
__pyx_t_12 = PyTuple_New(3); if (unlikely(!__pyx_t_12)) __PYX_ERR(1, 646, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_12); __pyx_t_13 = 0; __pyx_t_14 = 127; __Pyx_INCREF(__pyx_kp_u__16); __pyx_t_13 += 1; __Pyx_GIVEREF(__pyx_kp_u__16); PyTuple_SET_ITEM(__pyx_t_12, 0, __pyx_kp_u__16); __pyx_t_5 = __Pyx_PyObject_GetAttrStr(__pyx_v_df, __pyx_n_s_columns); if (unlikely(!__pyx_t_5)) __PYX_ERR(1, 646, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_5); __pyx_t_15 = __Pyx_GetItemInt(__pyx_t_5, __pyx_v_at_col, Py_ssize_t, 1, PyInt_FromSsize_t, 0, 1, 1); if (unlikely(!__pyx_t_15)) __PYX_ERR(1, 646, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_15); __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; __pyx_t_5 = __Pyx_PyObject_FormatSimpleAndDecref(PyObject_Repr(__pyx_t_15), __pyx_empty_unicode); if (unlikely(!__pyx_t_5)) __PYX_ERR(1, 646, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_5); __Pyx_DECREF(__pyx_t_15); __pyx_t_15 = 0; __pyx_t_14 = (__Pyx_PyUnicode_MAX_CHAR_VALUE(__pyx_t_5) > __pyx_t_14) ? __Pyx_PyUnicode_MAX_CHAR_VALUE(__pyx_t_5) : __pyx_t_14; __pyx_t_13 += __Pyx_PyUnicode_GET_LENGTH(__pyx_t_5); __Pyx_GIVEREF(__pyx_t_5); PyTuple_SET_ITEM(__pyx_t_12, 1, __pyx_t_5); __pyx_t_5 = 0; __Pyx_INCREF(__pyx_kp_u_as_a_symbol_column); __pyx_t_13 += 21; __Pyx_GIVEREF(__pyx_kp_u_as_a_symbol_column); PyTuple_SET_ITEM(__pyx_t_12, 2, __pyx_kp_u_as_a_symbol_column); __pyx_t_5 = __Pyx_PyUnicode_Join(__pyx_t_12, 3, __pyx_t_13, __pyx_t_14); if (unlikely(!__pyx_t_5)) __PYX_ERR(1, 646, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_5); __Pyx_DECREF(__pyx_t_12); __pyx_t_12 = 0;
+0647: pandas_col = pandas_cols[col_index]
if (unlikely(__pyx_v_pandas_cols == Py_None)) { PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable"); __PYX_ERR(1, 647, __pyx_L1_error) } __pyx_t_5 = __Pyx_GetItemInt_List(__pyx_v_pandas_cols, __pyx_v_col_index, size_t, 0, __Pyx_PyInt_FromSize_t, 1, 0, 1); if (unlikely(!__pyx_t_5)) __PYX_ERR(1, 647, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_5); if (!(likely(((__pyx_t_5) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_5, __pyx_ptype_7questdb_7ingress_PandasCol))))) __PYX_ERR(1, 647, __pyx_L1_error) __Pyx_XDECREF_SET(__pyx_v_pandas_col, ((struct __pyx_obj_7questdb_7ingress_PandasCol *)__pyx_t_5)); __pyx_t_5 = 0;
+0648: col = &cols.d[col_index]
__pyx_v_col = (&(__pyx_v_cols->d[__pyx_v_col_index]));
+0649: _dataframe_check_column_is_str(
__pyx_t_10 = __pyx_f_7questdb_7ingress__dataframe_check_column_is_str(__pyx_kp_u_Bad_argument_symbols, __pyx_v_pandas_col, __pyx_v_col->setup->source); if (unlikely(__pyx_t_10 == ((__pyx_t_7questdb_7ingress_void_int)-1))) __PYX_ERR(1, 649, __pyx_L1_error)
0650: 'Bad argument `symbols`: ',
0651: pandas_col,
0652: col.setup.source)
+0653: col.setup.meta_target = meta_target_t.meta_target_symbol
__pyx_v_col->setup->meta_target = __pyx_e_7questdb_7ingress_meta_target_symbol;
0654:
0655:
+0656: cdef void_int _dataframe_get_loc(
static __pyx_t_7questdb_7ingress_void_int __pyx_f_7questdb_7ingress__dataframe_get_loc(PyObject *__pyx_v_df, PyObject *__pyx_v_col_name, PyObject *__pyx_v_arg_name, size_t *__pyx_v_col_index_out) { __pyx_t_7questdb_7ingress_void_int __pyx_r; /* … */ /* function exit code */ __pyx_r = 0; goto __pyx_L0; __pyx_L1_error:; __Pyx_XDECREF(__pyx_t_4); __Pyx_XDECREF(__pyx_t_5); __Pyx_XDECREF(__pyx_t_6); __Pyx_XDECREF(__pyx_t_9); __Pyx_XDECREF(__pyx_t_12); __Pyx_XDECREF(__pyx_t_13); __Pyx_AddTraceback("questdb.ingress._dataframe_get_loc", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = -1; __pyx_L0:; __Pyx_RefNannyFinishContext(); return __pyx_r; }
0657: object df, str col_name, str arg_name,
0658: size_t* col_index_out) except -1:
0659: """
0660: Return the column index for `col_name`.
0661: """
+0662: try:
{ /*try:*/ { /* … */ } __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0; __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0; goto __pyx_L8_try_end; __pyx_L3_error:; __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0; __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0; __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0; /* … */ __pyx_L5_except_error:; __Pyx_XGIVEREF(__pyx_t_1); __Pyx_XGIVEREF(__pyx_t_2); __Pyx_XGIVEREF(__pyx_t_3); __Pyx_ExceptionReset(__pyx_t_1, __pyx_t_2, __pyx_t_3); goto __pyx_L1_error; __pyx_L8_try_end:; }
+0663: col_index_out[0] = df.columns.get_loc(col_name)
__pyx_t_5 = __Pyx_PyObject_GetAttrStr(__pyx_v_df, __pyx_n_s_columns); if (unlikely(!__pyx_t_5)) __PYX_ERR(1, 663, __pyx_L3_error) __Pyx_GOTREF(__pyx_t_5); __pyx_t_6 = __Pyx_PyObject_GetAttrStr(__pyx_t_5, __pyx_n_s_get_loc); if (unlikely(!__pyx_t_6)) __PYX_ERR(1, 663, __pyx_L3_error) __Pyx_GOTREF(__pyx_t_6); __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; __pyx_t_5 = NULL; __pyx_t_7 = 0; #if CYTHON_UNPACK_METHODS if (likely(PyMethod_Check(__pyx_t_6))) { __pyx_t_5 = PyMethod_GET_SELF(__pyx_t_6); if (likely(__pyx_t_5)) { PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_6); __Pyx_INCREF(__pyx_t_5); __Pyx_INCREF(function); __Pyx_DECREF_SET(__pyx_t_6, function); __pyx_t_7 = 1; } } #endif { PyObject *__pyx_callargs[2] = {__pyx_t_5, __pyx_v_col_name}; __pyx_t_4 = __Pyx_PyObject_FastCall(__pyx_t_6, __pyx_callargs+1-__pyx_t_7, 1+__pyx_t_7); __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0; if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 663, __pyx_L3_error) __Pyx_GOTREF(__pyx_t_4); __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; } __pyx_t_8 = __Pyx_PyInt_As_size_t(__pyx_t_4); if (unlikely((__pyx_t_8 == (size_t)-1) && PyErr_Occurred())) __PYX_ERR(1, 663, __pyx_L3_error) __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; (__pyx_v_col_index_out[0]) = __pyx_t_8;
+0664: except KeyError:
__pyx_t_7 = __Pyx_PyErr_ExceptionMatches(__pyx_builtin_KeyError); if (__pyx_t_7) { __Pyx_AddTraceback("questdb.ingress._dataframe_get_loc", __pyx_clineno, __pyx_lineno, __pyx_filename); if (__Pyx_GetException(&__pyx_t_4, &__pyx_t_6, &__pyx_t_5) < 0) __PYX_ERR(1, 664, __pyx_L5_except_error) __Pyx_XGOTREF(__pyx_t_4); __Pyx_XGOTREF(__pyx_t_6); __Pyx_XGOTREF(__pyx_t_5);
+0665: raise KeyError(
__pyx_t_13 = __Pyx_PyObject_CallOneArg(__pyx_builtin_KeyError, __pyx_t_9); if (unlikely(!__pyx_t_13)) __PYX_ERR(1, 665, __pyx_L5_except_error) __Pyx_GOTREF(__pyx_t_13); __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0; __Pyx_Raise(__pyx_t_13, 0, 0, 0); __Pyx_DECREF(__pyx_t_13); __pyx_t_13 = 0; __PYX_ERR(1, 665, __pyx_L5_except_error) } goto __pyx_L5_except_error;
+0666: f'Bad argument `{arg_name}`: ' +
__pyx_t_9 = PyTuple_New(3); if (unlikely(!__pyx_t_9)) __PYX_ERR(1, 666, __pyx_L5_except_error) __Pyx_GOTREF(__pyx_t_9); __pyx_t_10 = 0; __pyx_t_11 = 127; __Pyx_INCREF(__pyx_kp_u_Bad_argument); __pyx_t_10 += 14; __Pyx_GIVEREF(__pyx_kp_u_Bad_argument); PyTuple_SET_ITEM(__pyx_t_9, 0, __pyx_kp_u_Bad_argument); __pyx_t_12 = __Pyx_PyUnicode_Unicode(__pyx_v_arg_name); if (unlikely(!__pyx_t_12)) __PYX_ERR(1, 666, __pyx_L5_except_error) __Pyx_GOTREF(__pyx_t_12); __pyx_t_11 = (__Pyx_PyUnicode_MAX_CHAR_VALUE(__pyx_t_12) > __pyx_t_11) ? __Pyx_PyUnicode_MAX_CHAR_VALUE(__pyx_t_12) : __pyx_t_11; __pyx_t_10 += __Pyx_PyUnicode_GET_LENGTH(__pyx_t_12); __Pyx_GIVEREF(__pyx_t_12); PyTuple_SET_ITEM(__pyx_t_9, 1, __pyx_t_12); __pyx_t_12 = 0; __Pyx_INCREF(__pyx_kp_u__10); __pyx_t_10 += 3; __Pyx_GIVEREF(__pyx_kp_u__10); PyTuple_SET_ITEM(__pyx_t_9, 2, __pyx_kp_u__10); __pyx_t_12 = __Pyx_PyUnicode_Join(__pyx_t_9, 3, __pyx_t_10, __pyx_t_11); if (unlikely(!__pyx_t_12)) __PYX_ERR(1, 666, __pyx_L5_except_error) __Pyx_GOTREF(__pyx_t_12); __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0; /* … */ __pyx_t_9 = __Pyx_PyUnicode_ConcatInPlace(__pyx_t_12, __pyx_t_13); if (unlikely(!__pyx_t_9)) __PYX_ERR(1, 666, __pyx_L5_except_error) __Pyx_GOTREF(__pyx_t_9); __Pyx_DECREF(__pyx_t_12); __pyx_t_12 = 0; __Pyx_DECREF(__pyx_t_13); __pyx_t_13 = 0;
+0667: f'Column {col_name!r} not found in the dataframe.')
__pyx_t_9 = PyTuple_New(3); if (unlikely(!__pyx_t_9)) __PYX_ERR(1, 667, __pyx_L5_except_error) __Pyx_GOTREF(__pyx_t_9); __pyx_t_10 = 0; __pyx_t_11 = 127; __Pyx_INCREF(__pyx_kp_u_Column); __pyx_t_10 += 7; __Pyx_GIVEREF(__pyx_kp_u_Column); PyTuple_SET_ITEM(__pyx_t_9, 0, __pyx_kp_u_Column); __pyx_t_13 = __Pyx_PyObject_FormatSimpleAndDecref(PyObject_Repr(__pyx_v_col_name), __pyx_empty_unicode); if (unlikely(!__pyx_t_13)) __PYX_ERR(1, 667, __pyx_L5_except_error) __Pyx_GOTREF(__pyx_t_13); __pyx_t_11 = (__Pyx_PyUnicode_MAX_CHAR_VALUE(__pyx_t_13) > __pyx_t_11) ? __Pyx_PyUnicode_MAX_CHAR_VALUE(__pyx_t_13) : __pyx_t_11; __pyx_t_10 += __Pyx_PyUnicode_GET_LENGTH(__pyx_t_13); __Pyx_GIVEREF(__pyx_t_13); PyTuple_SET_ITEM(__pyx_t_9, 1, __pyx_t_13); __pyx_t_13 = 0; __Pyx_INCREF(__pyx_kp_u_not_found_in_the_dataframe); __pyx_t_10 += 28; __Pyx_GIVEREF(__pyx_kp_u_not_found_in_the_dataframe); PyTuple_SET_ITEM(__pyx_t_9, 2, __pyx_kp_u_not_found_in_the_dataframe); __pyx_t_13 = __Pyx_PyUnicode_Join(__pyx_t_9, 3, __pyx_t_10, __pyx_t_11); if (unlikely(!__pyx_t_13)) __PYX_ERR(1, 667, __pyx_L5_except_error) __Pyx_GOTREF(__pyx_t_13); __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;
0668:
0669:
0670: # The values -2 and -1 are safe to use as a sentinel because the TimestampNanos
0671: # type already validates that the value is >= 0.
+0672: cdef int64_t _AT_IS_SERVER_NOW = -2
__pyx_v_7questdb_7ingress__AT_IS_SERVER_NOW = -2L;
+0673: cdef int64_t _AT_IS_SET_BY_COLUMN = -1
__pyx_v_7questdb_7ingress__AT_IS_SET_BY_COLUMN = -1L;
0674:
0675:
+0676: cdef str _SUPPORTED_DATETIMES = 'datetime64[ns] or datetime64[ns, tz]'
__Pyx_INCREF(__pyx_kp_u_datetime64_ns_or_datetime64_ns_t); __Pyx_XGOTREF(__pyx_v_7questdb_7ingress__SUPPORTED_DATETIMES); __Pyx_DECREF_SET(__pyx_v_7questdb_7ingress__SUPPORTED_DATETIMES, __pyx_kp_u_datetime64_ns_or_datetime64_ns_t); __Pyx_GIVEREF(__pyx_kp_u_datetime64_ns_or_datetime64_ns_t);
0677:
0678:
+0679: cdef object _dataframe_is_supported_datetime(object dtype):
static PyObject *__pyx_f_7questdb_7ingress__dataframe_is_supported_datetime(PyObject *__pyx_v_dtype) { PyObject *__pyx_r = NULL; /* … */ /* function exit code */ __pyx_L1_error:; __Pyx_XDECREF(__pyx_t_2); __Pyx_XDECREF(__pyx_t_4); __Pyx_AddTraceback("questdb.ingress._dataframe_is_supported_datetime", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = 0; __pyx_L0:; __Pyx_XGIVEREF(__pyx_r); __Pyx_RefNannyFinishContext(); return __pyx_r; }
+0680: if (isinstance(dtype, _NUMPY_DATETIME64_NS) and
__pyx_t_2 = __pyx_v_7questdb_7ingress__NUMPY_DATETIME64_NS; __Pyx_INCREF(__pyx_t_2); __pyx_t_3 = PyObject_IsInstance(__pyx_v_dtype, __pyx_t_2); if (unlikely(__pyx_t_3 == ((int)-1))) __PYX_ERR(1, 680, __pyx_L1_error) __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; if (__pyx_t_3) { } else { __pyx_t_1 = __pyx_t_3; goto __pyx_L4_bool_binop_done; } /* … */ if (__pyx_t_1) { /* … */ }
+0681: (str(dtype) == 'datetime64[ns]')):
__pyx_t_2 = __Pyx_PyObject_Str(__pyx_v_dtype); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 681, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __pyx_t_3 = (__Pyx_PyUnicode_Equals(__pyx_t_2, __pyx_kp_u_datetime64_ns, Py_EQ)); if (unlikely((__pyx_t_3 < 0))) __PYX_ERR(1, 681, __pyx_L1_error) __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; __pyx_t_1 = __pyx_t_3; __pyx_L4_bool_binop_done:;
+0682: return True
__Pyx_XDECREF(__pyx_r); __Pyx_INCREF(Py_True); __pyx_r = Py_True; goto __pyx_L0;
+0683: if isinstance(dtype, _PANDAS.DatetimeTZDtype):
__pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_v_7questdb_7ingress__PANDAS, __pyx_n_s_DatetimeTZDtype); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 683, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __pyx_t_1 = PyObject_IsInstance(__pyx_v_dtype, __pyx_t_2); if (unlikely(__pyx_t_1 == ((int)-1))) __PYX_ERR(1, 683, __pyx_L1_error) __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; if (__pyx_t_1) { /* … */ }
+0684: return dtype.unit == 'ns'
__Pyx_XDECREF(__pyx_r); __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_v_dtype, __pyx_n_s_unit); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 684, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __pyx_t_4 = PyObject_RichCompare(__pyx_t_2, __pyx_n_u_ns, Py_EQ); __Pyx_XGOTREF(__pyx_t_4); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 684, __pyx_L1_error) __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; __pyx_r = __pyx_t_4; __pyx_t_4 = 0; goto __pyx_L0;
+0685: return False
__Pyx_XDECREF(__pyx_r); __Pyx_INCREF(Py_False); __pyx_r = Py_False; goto __pyx_L0;
0686:
0687:
+0688: cdef ssize_t _dataframe_resolve_at(
static Py_ssize_t __pyx_f_7questdb_7ingress__dataframe_resolve_at(PyObject *__pyx_v_df, struct __pyx_t_7questdb_7ingress_col_t_arr *__pyx_v_cols, PyObject *__pyx_v_at, size_t __pyx_v_col_count, int64_t *__pyx_v_at_value_out) { size_t __pyx_v_col_index; PyObject *__pyx_v_dtype = 0; struct __pyx_obj_7questdb_7ingress_TimestampNanos *__pyx_v_at_nanos = 0; struct __pyx_t_7questdb_7ingress_col_t *__pyx_v_col; Py_ssize_t __pyx_r; /* … */ /* function exit code */ __pyx_L1_error:; __Pyx_XDECREF(__pyx_t_2); __Pyx_XDECREF(__pyx_t_4); __Pyx_XDECREF(__pyx_t_5); __Pyx_AddTraceback("questdb.ingress._dataframe_resolve_at", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = -2L; __pyx_L0:; __Pyx_XDECREF(__pyx_v_dtype); __Pyx_XDECREF((PyObject *)__pyx_v_at_nanos); __Pyx_RefNannyFinishContext(); return __pyx_r; }
0689: object df,
0690: col_t_arr* cols,
0691: object at,
0692: size_t col_count,
0693: int64_t* at_value_out) except -2:
0694: cdef size_t col_index
0695: cdef object dtype
0696: cdef PandasCol pandas_col
0697: cdef TimestampNanos at_nanos
+0698: if at is None:
__pyx_t_1 = (__pyx_v_at == Py_None); if (__pyx_t_1) { /* … */ }
+0699: at_value_out[0] = _AT_IS_SERVER_NOW
(__pyx_v_at_value_out[0]) = __pyx_v_7questdb_7ingress__AT_IS_SERVER_NOW;
+0700: return -1
__pyx_r = -1L; goto __pyx_L0;
+0701: elif isinstance(at, TimestampNanos):
__pyx_t_1 = __Pyx_TypeCheck(__pyx_v_at, __pyx_ptype_7questdb_7ingress_TimestampNanos);
if (__pyx_t_1) {
/* … */
}
+0702: at_nanos = at
if (!(likely(((__pyx_v_at) == Py_None) || likely(__Pyx_TypeTest(__pyx_v_at, __pyx_ptype_7questdb_7ingress_TimestampNanos))))) __PYX_ERR(1, 702, __pyx_L1_error) __pyx_t_2 = __pyx_v_at; __Pyx_INCREF(__pyx_t_2); __pyx_v_at_nanos = ((struct __pyx_obj_7questdb_7ingress_TimestampNanos *)__pyx_t_2); __pyx_t_2 = 0;
+0703: at_value_out[0] = at_nanos._value
__pyx_t_3 = __pyx_v_at_nanos->_value; (__pyx_v_at_value_out[0]) = __pyx_t_3;
+0704: return -1
__pyx_r = -1L; goto __pyx_L0;
+0705: elif isinstance(at, datetime):
__pyx_t_1 = __Pyx_TypeCheck(__pyx_v_at, __pyx_ptype_7cpython_8datetime_datetime);
if (__pyx_t_1) {
/* … */
}
+0706: if at.timestamp() < 0:
__pyx_t_4 = __Pyx_PyObject_GetAttrStr(__pyx_v_at, __pyx_n_s_timestamp); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 706, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); __pyx_t_5 = NULL; __pyx_t_6 = 0; #if CYTHON_UNPACK_METHODS if (likely(PyMethod_Check(__pyx_t_4))) { __pyx_t_5 = PyMethod_GET_SELF(__pyx_t_4); if (likely(__pyx_t_5)) { PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_4); __Pyx_INCREF(__pyx_t_5); __Pyx_INCREF(function); __Pyx_DECREF_SET(__pyx_t_4, function); __pyx_t_6 = 1; } } #endif { PyObject *__pyx_callargs[2] = {__pyx_t_5, NULL}; __pyx_t_2 = __Pyx_PyObject_FastCall(__pyx_t_4, __pyx_callargs+1-__pyx_t_6, 0+__pyx_t_6); __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0; if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 706, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; } __pyx_t_4 = PyObject_RichCompare(__pyx_t_2, __pyx_int_0, Py_LT); __Pyx_XGOTREF(__pyx_t_4); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 706, __pyx_L1_error) __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; __pyx_t_1 = __Pyx_PyObject_IsTrue(__pyx_t_4); if (unlikely((__pyx_t_1 < 0))) __PYX_ERR(1, 706, __pyx_L1_error) __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; if (unlikely(__pyx_t_1)) { /* … */ }
+0707: raise ValueError(
__pyx_t_4 = __Pyx_PyObject_Call(__pyx_builtin_ValueError, __pyx_tuple__17, NULL); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 707, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); __Pyx_Raise(__pyx_t_4, 0, 0, 0); __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; __PYX_ERR(1, 707, __pyx_L1_error) /* … */ __pyx_tuple__17 = PyTuple_Pack(1, __pyx_kp_u_Bad_argument_at_Cannot_use_a_dat); if (unlikely(!__pyx_tuple__17)) __PYX_ERR(1, 707, __pyx_L1_error) __Pyx_GOTREF(__pyx_tuple__17); __Pyx_GIVEREF(__pyx_tuple__17);
0708: 'Bad argument `at`: Cannot use a datetime before the ' +
0709: 'Unix epoch (1970-01-01 00:00:00).')
+0710: at_value_out[0] = datetime_to_nanos(at)
if (!(likely(((__pyx_v_at) == Py_None) || likely(__Pyx_TypeTest(__pyx_v_at, __pyx_ptype_7cpython_8datetime_datetime))))) __PYX_ERR(1, 710, __pyx_L1_error) __pyx_t_3 = __pyx_f_7questdb_7ingress_datetime_to_nanos(((PyDateTime_DateTime *)__pyx_v_at)); if (unlikely(__pyx_t_3 == ((int64_t)-1) && PyErr_Occurred())) __PYX_ERR(1, 710, __pyx_L1_error) (__pyx_v_at_value_out[0]) = __pyx_t_3;
+0711: return -1
__pyx_r = -1L; goto __pyx_L0;
+0712: elif isinstance(at, str):
__pyx_t_1 = PyUnicode_Check(__pyx_v_at);
if (__pyx_t_1) {
/* … */
goto __pyx_L3;
}
+0713: _dataframe_get_loc(df, at, 'at', &col_index)
if (!(likely(PyUnicode_CheckExact(__pyx_v_at))||((__pyx_v_at) == Py_None) || __Pyx_RaiseUnexpectedTypeError("unicode", __pyx_v_at))) __PYX_ERR(1, 713, __pyx_L1_error) __pyx_t_7 = __pyx_f_7questdb_7ingress__dataframe_get_loc(__pyx_v_df, ((PyObject*)__pyx_v_at), __pyx_n_u_at, (&__pyx_v_col_index)); if (unlikely(__pyx_t_7 == ((__pyx_t_7questdb_7ingress_void_int)-1))) __PYX_ERR(1, 713, __pyx_L1_error)
+0714: elif isinstance(at, int):
__pyx_t_1 = PyInt_Check(__pyx_v_at);
if (likely(__pyx_t_1)) {
/* … */
goto __pyx_L3;
}
+0715: _bind_col_index('at', at, col_count, &col_index)
__pyx_t_6 = __Pyx_PyInt_As_int(__pyx_v_at); if (unlikely((__pyx_t_6 == (int)-1) && PyErr_Occurred())) __PYX_ERR(1, 715, __pyx_L1_error) __pyx_t_7 = __pyx_f_7questdb_7ingress__bind_col_index(__pyx_n_u_at, __pyx_t_6, __pyx_v_col_count, (&__pyx_v_col_index)); if (unlikely(__pyx_t_7 == ((__pyx_t_7questdb_7ingress_void_int)-1))) __PYX_ERR(1, 715, __pyx_L1_error)
0716: else:
+0717: raise TypeError(
/*else*/ { /* … */ __pyx_t_4 = __Pyx_PyObject_CallOneArg(__pyx_builtin_TypeError, __pyx_t_5); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 717, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; __Pyx_Raise(__pyx_t_4, 0, 0, 0); __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; __PYX_ERR(1, 717, __pyx_L1_error) } __pyx_L3:;
+0718: f'Bad argument `at`: Unsupported type {_fqn(type(at))}. ' +
__pyx_t_4 = PyTuple_New(3); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 718, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); __pyx_t_8 = 0; __pyx_t_9 = 127; __Pyx_INCREF(__pyx_kp_u_Bad_argument_at_Unsupported_type); __pyx_t_8 += 36; __Pyx_GIVEREF(__pyx_kp_u_Bad_argument_at_Unsupported_type); PyTuple_SET_ITEM(__pyx_t_4, 0, __pyx_kp_u_Bad_argument_at_Unsupported_type); __pyx_t_2 = __pyx_f_7questdb_7ingress__fqn(((PyTypeObject*)((PyObject *)Py_TYPE(__pyx_v_at)))); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 718, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __pyx_t_5 = __Pyx_PyUnicode_Unicode(__pyx_t_2); if (unlikely(!__pyx_t_5)) __PYX_ERR(1, 718, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_5); __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; __pyx_t_9 = (__Pyx_PyUnicode_MAX_CHAR_VALUE(__pyx_t_5) > __pyx_t_9) ? __Pyx_PyUnicode_MAX_CHAR_VALUE(__pyx_t_5) : __pyx_t_9; __pyx_t_8 += __Pyx_PyUnicode_GET_LENGTH(__pyx_t_5); __Pyx_GIVEREF(__pyx_t_5); PyTuple_SET_ITEM(__pyx_t_4, 1, __pyx_t_5); __pyx_t_5 = 0; __Pyx_INCREF(__pyx_kp_u__18); __pyx_t_8 += 2; __Pyx_GIVEREF(__pyx_kp_u__18); PyTuple_SET_ITEM(__pyx_t_4, 2, __pyx_kp_u__18); __pyx_t_5 = __Pyx_PyUnicode_Join(__pyx_t_4, 3, __pyx_t_8, __pyx_t_9); if (unlikely(!__pyx_t_5)) __PYX_ERR(1, 718, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_5); __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; __pyx_t_4 = __Pyx_PyUnicode_ConcatInPlace(__pyx_t_5, __pyx_kp_u_Must_be_one_of_None_TimestampNan); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 718, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
+0719: 'Must be one of: None, TimestampNanos, datetime, ' +
__pyx_t_5 = __Pyx_PyUnicode_ConcatInPlace(__pyx_t_4, __pyx_kp_u_int_column_index_str_colum_name); if (unlikely(!__pyx_t_5)) __PYX_ERR(1, 719, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_5); __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
0720: 'int (column index), str (colum name)')
+0721: dtype = df.dtypes[col_index]
__pyx_t_4 = __Pyx_PyObject_GetAttrStr(__pyx_v_df, __pyx_n_s_dtypes); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 721, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); __pyx_t_5 = __Pyx_GetItemInt(__pyx_t_4, __pyx_v_col_index, size_t, 0, __Pyx_PyInt_FromSize_t, 0, 0, 1); if (unlikely(!__pyx_t_5)) __PYX_ERR(1, 721, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_5); __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; __pyx_v_dtype = __pyx_t_5; __pyx_t_5 = 0;
+0722: if _dataframe_is_supported_datetime(dtype):
__pyx_t_5 = __pyx_f_7questdb_7ingress__dataframe_is_supported_datetime(__pyx_v_dtype); if (unlikely(!__pyx_t_5)) __PYX_ERR(1, 722, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_5); __pyx_t_1 = __Pyx_PyObject_IsTrue(__pyx_t_5); if (unlikely((__pyx_t_1 < 0))) __PYX_ERR(1, 722, __pyx_L1_error) __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; if (likely(__pyx_t_1)) { /* … */ }
+0723: at_value_out[0] = _AT_IS_SET_BY_COLUMN
(__pyx_v_at_value_out[0]) = __pyx_v_7questdb_7ingress__AT_IS_SET_BY_COLUMN;
+0724: col = &cols.d[col_index]
__pyx_v_col = (&(__pyx_v_cols->d[__pyx_v_col_index]));
+0725: col.setup.meta_target = meta_target_t.meta_target_at
__pyx_v_col->setup->meta_target = __pyx_e_7questdb_7ingress_meta_target_at;
+0726: return col_index
__pyx_r = __pyx_v_col_index; goto __pyx_L0;
0727: else:
+0728: raise TypeError(
/*else*/ { /* … */ __pyx_t_2 = __Pyx_PyObject_CallOneArg(__pyx_builtin_TypeError, __pyx_t_5); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 728, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; __Pyx_Raise(__pyx_t_2, 0, 0, 0); __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; __PYX_ERR(1, 728, __pyx_L1_error) }
+0729: f'Bad argument `at`: Bad dtype `{dtype}` ' +
__pyx_t_5 = PyTuple_New(3); if (unlikely(!__pyx_t_5)) __PYX_ERR(1, 729, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_5); __pyx_t_8 = 0; __pyx_t_9 = 127; __Pyx_INCREF(__pyx_kp_u_Bad_argument_at_Bad_dtype); __pyx_t_8 += 30; __Pyx_GIVEREF(__pyx_kp_u_Bad_argument_at_Bad_dtype); PyTuple_SET_ITEM(__pyx_t_5, 0, __pyx_kp_u_Bad_argument_at_Bad_dtype); __pyx_t_4 = __Pyx_PyObject_FormatSimple(__pyx_v_dtype, __pyx_empty_unicode); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 729, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); __pyx_t_9 = (__Pyx_PyUnicode_MAX_CHAR_VALUE(__pyx_t_4) > __pyx_t_9) ? __Pyx_PyUnicode_MAX_CHAR_VALUE(__pyx_t_4) : __pyx_t_9; __pyx_t_8 += __Pyx_PyUnicode_GET_LENGTH(__pyx_t_4); __Pyx_GIVEREF(__pyx_t_4); PyTuple_SET_ITEM(__pyx_t_5, 1, __pyx_t_4); __pyx_t_4 = 0; __Pyx_INCREF(__pyx_kp_u__19); __pyx_t_8 += 2; __Pyx_GIVEREF(__pyx_kp_u__19); PyTuple_SET_ITEM(__pyx_t_5, 2, __pyx_kp_u__19); __pyx_t_4 = __Pyx_PyUnicode_Join(__pyx_t_5, 3, __pyx_t_8, __pyx_t_9); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 729, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; /* … */ __pyx_t_5 = __Pyx_PyUnicode_ConcatInPlace(__pyx_t_4, __pyx_t_2); if (unlikely(!__pyx_t_5)) __PYX_ERR(1, 729, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_5); __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
+0730: f'for the {at!r} column: Must be a {_SUPPORTED_DATETIMES} column.')
__pyx_t_5 = PyTuple_New(5); if (unlikely(!__pyx_t_5)) __PYX_ERR(1, 730, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_5); __pyx_t_8 = 0; __pyx_t_9 = 127; __Pyx_INCREF(__pyx_kp_u_for_the_2); __pyx_t_8 += 8; __Pyx_GIVEREF(__pyx_kp_u_for_the_2); PyTuple_SET_ITEM(__pyx_t_5, 0, __pyx_kp_u_for_the_2); __pyx_t_2 = __Pyx_PyObject_FormatSimpleAndDecref(PyObject_Repr(__pyx_v_at), __pyx_empty_unicode); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 730, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __pyx_t_9 = (__Pyx_PyUnicode_MAX_CHAR_VALUE(__pyx_t_2) > __pyx_t_9) ? __Pyx_PyUnicode_MAX_CHAR_VALUE(__pyx_t_2) : __pyx_t_9; __pyx_t_8 += __Pyx_PyUnicode_GET_LENGTH(__pyx_t_2); __Pyx_GIVEREF(__pyx_t_2); PyTuple_SET_ITEM(__pyx_t_5, 1, __pyx_t_2); __pyx_t_2 = 0; __Pyx_INCREF(__pyx_kp_u_column_Must_be_a); __pyx_t_8 += 19; __Pyx_GIVEREF(__pyx_kp_u_column_Must_be_a); PyTuple_SET_ITEM(__pyx_t_5, 2, __pyx_kp_u_column_Must_be_a); __pyx_t_2 = __Pyx_PyUnicode_Unicode(__pyx_v_7questdb_7ingress__SUPPORTED_DATETIMES); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 730, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __pyx_t_9 = (__Pyx_PyUnicode_MAX_CHAR_VALUE(__pyx_t_2) > __pyx_t_9) ? __Pyx_PyUnicode_MAX_CHAR_VALUE(__pyx_t_2) : __pyx_t_9; __pyx_t_8 += __Pyx_PyUnicode_GET_LENGTH(__pyx_t_2); __Pyx_GIVEREF(__pyx_t_2); PyTuple_SET_ITEM(__pyx_t_5, 3, __pyx_t_2); __pyx_t_2 = 0; __Pyx_INCREF(__pyx_kp_u_column); __pyx_t_8 += 8; __Pyx_GIVEREF(__pyx_kp_u_column); PyTuple_SET_ITEM(__pyx_t_5, 4, __pyx_kp_u_column); __pyx_t_2 = __Pyx_PyUnicode_Join(__pyx_t_5, 5, __pyx_t_8, __pyx_t_9); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 730, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
0731:
0732:
+0733: cdef void_int _dataframe_alloc_chunks(
static __pyx_t_7questdb_7ingress_void_int __pyx_f_7questdb_7ingress__dataframe_alloc_chunks(size_t __pyx_v_n_chunks, struct __pyx_t_7questdb_7ingress_col_t *__pyx_v_col) {
__pyx_t_7questdb_7ingress_void_int __pyx_r;
/* … */
/* function exit code */
__pyx_r = 0;
goto __pyx_L0;
__pyx_L1_error:;
__Pyx_AddTraceback("questdb.ingress._dataframe_alloc_chunks", __pyx_clineno, __pyx_lineno, __pyx_filename);
__pyx_r = -1;
__pyx_L0:;
return __pyx_r;
}
0734: size_t n_chunks, col_t* col) except -1:
+0735: col.setup.chunks.n_chunks = n_chunks
__pyx_v_col->setup->chunks.n_chunks = __pyx_v_n_chunks;
+0736: col.setup.chunks.chunks = <ArrowArray*>calloc(
__pyx_v_col->setup->chunks.chunks = ((struct ArrowArray *)calloc((__pyx_v_col->setup->chunks.n_chunks + 1), (sizeof(struct ArrowArray))));
0737: col.setup.chunks.n_chunks + 1, # See `_dataframe_col_advance` on why +1.
0738: sizeof(ArrowArray))
+0739: if col.setup.chunks.chunks == NULL:
__pyx_t_1 = (__pyx_v_col->setup->chunks.chunks == NULL); if (unlikely(__pyx_t_1)) { /* … */ }
+0740: raise MemoryError()
PyErr_NoMemory(); __PYX_ERR(1, 740, __pyx_L1_error)
0741:
0742:
+0743: cdef void _dataframe_free_mapped_arrow(ArrowArray* arr) noexcept nogil:
static void __pyx_f_7questdb_7ingress__dataframe_free_mapped_arrow(struct ArrowArray *__pyx_v_arr) { /* … */ /* function exit code */ }
+0744: free(arr.buffers)
free(__pyx_v_arr->buffers);
+0745: arr.buffers = NULL
__pyx_v_arr->buffers = NULL;
+0746: arr.release = NULL
__pyx_v_arr->release = NULL;
0747:
0748:
+0749: cdef void_int _dataframe_series_as_pybuf(
static __pyx_t_7questdb_7ingress_void_int __pyx_f_7questdb_7ingress__dataframe_series_as_pybuf(struct __pyx_obj_7questdb_7ingress_PandasCol *__pyx_v_pandas_col, struct __pyx_t_7questdb_7ingress_col_t *__pyx_v_col, struct __pyx_opt_args_7questdb_7ingress__dataframe_series_as_pybuf *__pyx_optional_args) { /* … */ /* function exit code */ __pyx_r = 0; goto __pyx_L0; __pyx_L1_error:; __Pyx_XDECREF(__pyx_t_1); __Pyx_XDECREF(__pyx_t_2); __Pyx_XDECREF(__pyx_t_3); __Pyx_XDECREF(__pyx_t_7); __Pyx_XDECREF(__pyx_t_12); __Pyx_XDECREF(__pyx_t_13); __Pyx_XDECREF(__pyx_t_14); __Pyx_XDECREF(__pyx_t_15); __Pyx_XDECREF(__pyx_t_24); __Pyx_XDECREF(__pyx_t_25); __Pyx_AddTraceback("questdb.ingress._dataframe_series_as_pybuf", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = -1; __pyx_L0:; __Pyx_XDECREF(__pyx_v_nparr); __Pyx_XDECREF(__pyx_v_ve); __Pyx_XDECREF(__pyx_v_be); __Pyx_RefNannyFinishContext(); return __pyx_r; } /* … */ struct __pyx_opt_args_7questdb_7ingress__dataframe_series_as_pybuf { int __pyx_n; PyObject *fallback_dtype; };
+0750: PandasCol pandas_col, col_t* col, str fallback_dtype=None) except -1:
PyObject *__pyx_v_fallback_dtype = ((PyObject*)Py_None); PyObject *__pyx_v_nparr = 0; struct ArrowArray *__pyx_v_mapped; CYTHON_UNUSED int __pyx_v_get_buf_ret; PyObject *__pyx_v_ve = NULL; PyObject *__pyx_v_be = NULL; __pyx_t_7questdb_7ingress_void_int __pyx_r; if (__pyx_optional_args) { if (__pyx_optional_args->__pyx_n > 0) { __pyx_v_fallback_dtype = __pyx_optional_args->fallback_dtype; } }
+0751: cdef object nparr = pandas_col.series.to_numpy(dtype=fallback_dtype)
__pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_pandas_col->series, __pyx_n_s_to_numpy); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 751, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __pyx_t_2 = __Pyx_PyDict_NewPresized(1); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 751, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); if (PyDict_SetItem(__pyx_t_2, __pyx_n_s_dtype, __pyx_v_fallback_dtype) < 0) __PYX_ERR(1, 751, __pyx_L1_error) __pyx_t_3 = __Pyx_PyObject_Call(__pyx_t_1, __pyx_empty_tuple, __pyx_t_2); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 751, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; __pyx_v_nparr = __pyx_t_3; __pyx_t_3 = 0;
0752: cdef ArrowArray* mapped
0753: cdef int get_buf_ret
+0754: if not PyObject_CheckBuffer(nparr):
__pyx_t_4 = (!PyObject_CheckBuffer(__pyx_v_nparr));
if (unlikely(__pyx_t_4)) {
/* … */
}
+0755: raise TypeError(
__pyx_t_7 = __Pyx_PyObject_CallOneArg(__pyx_builtin_TypeError, __pyx_t_3); if (unlikely(!__pyx_t_7)) __PYX_ERR(1, 755, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_7); __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; __Pyx_Raise(__pyx_t_7, 0, 0, 0); __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; __PYX_ERR(1, 755, __pyx_L1_error)
+0756: f'Bad column {pandas_col.name!r}: Expected a buffer, got ' +
__pyx_t_3 = PyTuple_New(3); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 756, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __pyx_t_5 = 0; __pyx_t_6 = 127; __Pyx_INCREF(__pyx_kp_u_Bad_column); __pyx_t_5 += 11; __Pyx_GIVEREF(__pyx_kp_u_Bad_column); PyTuple_SET_ITEM(__pyx_t_3, 0, __pyx_kp_u_Bad_column); __pyx_t_2 = __Pyx_PyObject_FormatSimpleAndDecref(PyObject_Repr(__pyx_v_pandas_col->name), __pyx_empty_unicode); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 756, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __pyx_t_6 = (__Pyx_PyUnicode_MAX_CHAR_VALUE(__pyx_t_2) > __pyx_t_6) ? __Pyx_PyUnicode_MAX_CHAR_VALUE(__pyx_t_2) : __pyx_t_6; __pyx_t_5 += __Pyx_PyUnicode_GET_LENGTH(__pyx_t_2); __Pyx_GIVEREF(__pyx_t_2); PyTuple_SET_ITEM(__pyx_t_3, 1, __pyx_t_2); __pyx_t_2 = 0; __Pyx_INCREF(__pyx_kp_u_Expected_a_buffer_got); __pyx_t_5 += 25; __Pyx_GIVEREF(__pyx_kp_u_Expected_a_buffer_got); PyTuple_SET_ITEM(__pyx_t_3, 2, __pyx_kp_u_Expected_a_buffer_got); __pyx_t_2 = __Pyx_PyUnicode_Join(__pyx_t_3, 3, __pyx_t_5, __pyx_t_6); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 756, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; /* … */ __pyx_t_3 = __Pyx_PyUnicode_ConcatInPlace(__pyx_t_2, __pyx_t_7); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 756, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
+0757: f'{pandas_col.series!r} ({_fqn(type(pandas_col.series))})')
__pyx_t_3 = PyTuple_New(4); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 757, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __pyx_t_5 = 0; __pyx_t_6 = 127; __pyx_t_1 = __Pyx_PyObject_FormatSimpleAndDecref(PyObject_Repr(__pyx_v_pandas_col->series), __pyx_empty_unicode); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 757, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __pyx_t_6 = (__Pyx_PyUnicode_MAX_CHAR_VALUE(__pyx_t_1) > __pyx_t_6) ? __Pyx_PyUnicode_MAX_CHAR_VALUE(__pyx_t_1) : __pyx_t_6; __pyx_t_5 += __Pyx_PyUnicode_GET_LENGTH(__pyx_t_1); __Pyx_GIVEREF(__pyx_t_1); PyTuple_SET_ITEM(__pyx_t_3, 0, __pyx_t_1); __pyx_t_1 = 0; __Pyx_INCREF(__pyx_kp_u__20); __pyx_t_5 += 2; __Pyx_GIVEREF(__pyx_kp_u__20); PyTuple_SET_ITEM(__pyx_t_3, 1, __pyx_kp_u__20); __pyx_t_1 = __pyx_f_7questdb_7ingress__fqn(((PyTypeObject*)((PyObject *)Py_TYPE(__pyx_v_pandas_col->series)))); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 757, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __pyx_t_7 = __Pyx_PyUnicode_Unicode(__pyx_t_1); if (unlikely(!__pyx_t_7)) __PYX_ERR(1, 757, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_7); __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __pyx_t_6 = (__Pyx_PyUnicode_MAX_CHAR_VALUE(__pyx_t_7) > __pyx_t_6) ? __Pyx_PyUnicode_MAX_CHAR_VALUE(__pyx_t_7) : __pyx_t_6; __pyx_t_5 += __Pyx_PyUnicode_GET_LENGTH(__pyx_t_7); __Pyx_GIVEREF(__pyx_t_7); PyTuple_SET_ITEM(__pyx_t_3, 2, __pyx_t_7); __pyx_t_7 = 0; __Pyx_INCREF(__pyx_kp_u__12); __pyx_t_5 += 1; __Pyx_GIVEREF(__pyx_kp_u__12); PyTuple_SET_ITEM(__pyx_t_3, 3, __pyx_kp_u__12); __pyx_t_7 = __Pyx_PyUnicode_Join(__pyx_t_3, 4, __pyx_t_5, __pyx_t_6); if (unlikely(!__pyx_t_7)) __PYX_ERR(1, 757, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_7); __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
+0758: try:
{ /*try:*/ { /* … */ } __Pyx_XDECREF(__pyx_t_8); __pyx_t_8 = 0; __Pyx_XDECREF(__pyx_t_9); __pyx_t_9 = 0; __Pyx_XDECREF(__pyx_t_10); __pyx_t_10 = 0; goto __pyx_L9_try_end; __pyx_L4_error:; __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0; __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0; __Pyx_XDECREF(__pyx_t_7); __pyx_t_7 = 0; /* … */ __pyx_L6_except_error:; __Pyx_XGIVEREF(__pyx_t_8); __Pyx_XGIVEREF(__pyx_t_9); __Pyx_XGIVEREF(__pyx_t_10); __Pyx_ExceptionReset(__pyx_t_8, __pyx_t_9, __pyx_t_10); goto __pyx_L1_error; __pyx_L9_try_end:; }
0759: # Note! We don't need to support numpy strides since Pandas doesn't.
0760: # Also note that this guarantees a 1D buffer.
+0761: get_buf_ret = PyObject_GetBuffer(nparr, &col.setup.pybuf, PyBUF_SIMPLE)
__pyx_t_11 = PyObject_GetBuffer(__pyx_v_nparr, (&__pyx_v_col->setup->pybuf), PyBUF_SIMPLE); if (unlikely(__pyx_t_11 == ((int)-1))) __PYX_ERR(1, 761, __pyx_L4_error) __pyx_v_get_buf_ret = __pyx_t_11;
+0762: except ValueError as ve:
__pyx_t_11 = __Pyx_PyErr_ExceptionMatches(__pyx_builtin_ValueError); if (__pyx_t_11) { __Pyx_AddTraceback("questdb.ingress._dataframe_series_as_pybuf", __pyx_clineno, __pyx_lineno, __pyx_filename); if (__Pyx_GetException(&__pyx_t_7, &__pyx_t_3, &__pyx_t_2) < 0) __PYX_ERR(1, 762, __pyx_L6_except_error) __Pyx_XGOTREF(__pyx_t_7); __Pyx_XGOTREF(__pyx_t_3); __Pyx_XGOTREF(__pyx_t_2); __Pyx_INCREF(__pyx_t_3); __pyx_v_ve = __pyx_t_3; /*try:*/ { /* … */ /*finally:*/ { __pyx_L15_error:; /*exception exit:*/{ __Pyx_PyThreadState_declare __Pyx_PyThreadState_assign __pyx_t_18 = 0; __pyx_t_19 = 0; __pyx_t_20 = 0; __pyx_t_21 = 0; __pyx_t_22 = 0; __pyx_t_23 = 0; __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; __Pyx_XDECREF(__pyx_t_12); __pyx_t_12 = 0; __Pyx_XDECREF(__pyx_t_13); __pyx_t_13 = 0; __Pyx_XDECREF(__pyx_t_14); __pyx_t_14 = 0; __Pyx_XDECREF(__pyx_t_15); __pyx_t_15 = 0; if (PY_MAJOR_VERSION >= 3) __Pyx_ExceptionSwap(&__pyx_t_21, &__pyx_t_22, &__pyx_t_23); if ((PY_MAJOR_VERSION < 3) || unlikely(__Pyx_GetException(&__pyx_t_18, &__pyx_t_19, &__pyx_t_20) < 0)) __Pyx_ErrFetch(&__pyx_t_18, &__pyx_t_19, &__pyx_t_20); __Pyx_XGOTREF(__pyx_t_18); __Pyx_XGOTREF(__pyx_t_19); __Pyx_XGOTREF(__pyx_t_20); __Pyx_XGOTREF(__pyx_t_21); __Pyx_XGOTREF(__pyx_t_22); __Pyx_XGOTREF(__pyx_t_23); __pyx_t_11 = __pyx_lineno; __pyx_t_16 = __pyx_clineno; __pyx_t_17 = __pyx_filename; { __Pyx_DECREF(__pyx_v_ve); __pyx_v_ve = 0; } if (PY_MAJOR_VERSION >= 3) { __Pyx_XGIVEREF(__pyx_t_21); __Pyx_XGIVEREF(__pyx_t_22); __Pyx_XGIVEREF(__pyx_t_23); __Pyx_ExceptionReset(__pyx_t_21, __pyx_t_22, __pyx_t_23); } __Pyx_XGIVEREF(__pyx_t_18); __Pyx_XGIVEREF(__pyx_t_19); __Pyx_XGIVEREF(__pyx_t_20); __Pyx_ErrRestore(__pyx_t_18, __pyx_t_19, __pyx_t_20); __pyx_t_18 = 0; __pyx_t_19 = 0; __pyx_t_20 = 0; __pyx_t_21 = 0; __pyx_t_22 = 0; __pyx_t_23 = 0; __pyx_lineno = __pyx_t_11; __pyx_clineno = __pyx_t_16; __pyx_filename = __pyx_t_17; goto __pyx_L6_except_error; } } }
+0763: raise IngressError(
__Pyx_GetModuleGlobalName(__pyx_t_12, __pyx_n_s_IngressError); if (unlikely(!__pyx_t_12)) __PYX_ERR(1, 763, __pyx_L15_error) __Pyx_GOTREF(__pyx_t_12);
+0764: IngressErrorCode.BadDataFrame,
__Pyx_GetModuleGlobalName(__pyx_t_13, __pyx_n_s_IngressErrorCode); if (unlikely(!__pyx_t_13)) __PYX_ERR(1, 764, __pyx_L15_error) __Pyx_GOTREF(__pyx_t_13); __pyx_t_14 = __Pyx_PyObject_GetAttrStr(__pyx_t_13, __pyx_n_s_BadDataFrame); if (unlikely(!__pyx_t_14)) __PYX_ERR(1, 764, __pyx_L15_error) __Pyx_GOTREF(__pyx_t_14); __Pyx_DECREF(__pyx_t_13); __pyx_t_13 = 0;
+0765: f'Bad column {pandas_col.name!r}: {ve}') from ve
__pyx_t_13 = PyTuple_New(4); if (unlikely(!__pyx_t_13)) __PYX_ERR(1, 765, __pyx_L15_error) __Pyx_GOTREF(__pyx_t_13); __pyx_t_5 = 0; __pyx_t_6 = 127; __Pyx_INCREF(__pyx_kp_u_Bad_column); __pyx_t_5 += 11; __Pyx_GIVEREF(__pyx_kp_u_Bad_column); PyTuple_SET_ITEM(__pyx_t_13, 0, __pyx_kp_u_Bad_column); __pyx_t_15 = __Pyx_PyObject_FormatSimpleAndDecref(PyObject_Repr(__pyx_v_pandas_col->name), __pyx_empty_unicode); if (unlikely(!__pyx_t_15)) __PYX_ERR(1, 765, __pyx_L15_error) __Pyx_GOTREF(__pyx_t_15); __pyx_t_6 = (__Pyx_PyUnicode_MAX_CHAR_VALUE(__pyx_t_15) > __pyx_t_6) ? __Pyx_PyUnicode_MAX_CHAR_VALUE(__pyx_t_15) : __pyx_t_6; __pyx_t_5 += __Pyx_PyUnicode_GET_LENGTH(__pyx_t_15); __Pyx_GIVEREF(__pyx_t_15); PyTuple_SET_ITEM(__pyx_t_13, 1, __pyx_t_15); __pyx_t_15 = 0; __Pyx_INCREF(__pyx_kp_u__21); __pyx_t_5 += 2; __Pyx_GIVEREF(__pyx_kp_u__21); PyTuple_SET_ITEM(__pyx_t_13, 2, __pyx_kp_u__21); __pyx_t_15 = __Pyx_PyObject_FormatSimple(__pyx_v_ve, __pyx_empty_unicode); if (unlikely(!__pyx_t_15)) __PYX_ERR(1, 765, __pyx_L15_error) __Pyx_GOTREF(__pyx_t_15); __pyx_t_6 = (__Pyx_PyUnicode_MAX_CHAR_VALUE(__pyx_t_15) > __pyx_t_6) ? __Pyx_PyUnicode_MAX_CHAR_VALUE(__pyx_t_15) : __pyx_t_6; __pyx_t_5 += __Pyx_PyUnicode_GET_LENGTH(__pyx_t_15); __Pyx_GIVEREF(__pyx_t_15); PyTuple_SET_ITEM(__pyx_t_13, 3, __pyx_t_15); __pyx_t_15 = 0; __pyx_t_15 = __Pyx_PyUnicode_Join(__pyx_t_13, 4, __pyx_t_5, __pyx_t_6); if (unlikely(!__pyx_t_15)) __PYX_ERR(1, 765, __pyx_L15_error) __Pyx_GOTREF(__pyx_t_15); __Pyx_DECREF(__pyx_t_13); __pyx_t_13 = 0; __pyx_t_13 = NULL; __pyx_t_11 = 0; #if CYTHON_UNPACK_METHODS if (unlikely(PyMethod_Check(__pyx_t_12))) { __pyx_t_13 = PyMethod_GET_SELF(__pyx_t_12); if (likely(__pyx_t_13)) { PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_12); __Pyx_INCREF(__pyx_t_13); __Pyx_INCREF(function); __Pyx_DECREF_SET(__pyx_t_12, function); __pyx_t_11 = 1; } } #endif { PyObject *__pyx_callargs[3] = {__pyx_t_13, __pyx_t_14, __pyx_t_15}; __pyx_t_1 = __Pyx_PyObject_FastCall(__pyx_t_12, __pyx_callargs+1-__pyx_t_11, 2+__pyx_t_11); __Pyx_XDECREF(__pyx_t_13); __pyx_t_13 = 0; __Pyx_DECREF(__pyx_t_14); __pyx_t_14 = 0; __Pyx_DECREF(__pyx_t_15); __pyx_t_15 = 0; if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 763, __pyx_L15_error) __Pyx_GOTREF(__pyx_t_1); __Pyx_DECREF(__pyx_t_12); __pyx_t_12 = 0; } __Pyx_Raise(__pyx_t_1, 0, 0, __pyx_v_ve); __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __PYX_ERR(1, 763, __pyx_L15_error) }
+0766: except BufferError as be:
__pyx_t_16 = __Pyx_PyErr_ExceptionMatches(__pyx_builtin_BufferError); if (__pyx_t_16) { __Pyx_AddTraceback("questdb.ingress._dataframe_series_as_pybuf", __pyx_clineno, __pyx_lineno, __pyx_filename); if (__Pyx_GetException(&__pyx_t_2, &__pyx_t_3, &__pyx_t_7) < 0) __PYX_ERR(1, 766, __pyx_L6_except_error) __Pyx_XGOTREF(__pyx_t_2); __Pyx_XGOTREF(__pyx_t_3); __Pyx_XGOTREF(__pyx_t_7); __Pyx_INCREF(__pyx_t_3); __pyx_v_be = __pyx_t_3; /*try:*/ { /* … */ /*finally:*/ { __pyx_L26_error:; /*exception exit:*/{ __Pyx_PyThreadState_declare __Pyx_PyThreadState_assign __pyx_t_23 = 0; __pyx_t_22 = 0; __pyx_t_21 = 0; __pyx_t_20 = 0; __pyx_t_19 = 0; __pyx_t_18 = 0; __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; __Pyx_XDECREF(__pyx_t_12); __pyx_t_12 = 0; __Pyx_XDECREF(__pyx_t_13); __pyx_t_13 = 0; __Pyx_XDECREF(__pyx_t_14); __pyx_t_14 = 0; __Pyx_XDECREF(__pyx_t_15); __pyx_t_15 = 0; __Pyx_XDECREF(__pyx_t_24); __pyx_t_24 = 0; __Pyx_XDECREF(__pyx_t_25); __pyx_t_25 = 0; if (PY_MAJOR_VERSION >= 3) __Pyx_ExceptionSwap(&__pyx_t_20, &__pyx_t_19, &__pyx_t_18); if ((PY_MAJOR_VERSION < 3) || unlikely(__Pyx_GetException(&__pyx_t_23, &__pyx_t_22, &__pyx_t_21) < 0)) __Pyx_ErrFetch(&__pyx_t_23, &__pyx_t_22, &__pyx_t_21); __Pyx_XGOTREF(__pyx_t_23); __Pyx_XGOTREF(__pyx_t_22); __Pyx_XGOTREF(__pyx_t_21); __Pyx_XGOTREF(__pyx_t_20); __Pyx_XGOTREF(__pyx_t_19); __Pyx_XGOTREF(__pyx_t_18); __pyx_t_16 = __pyx_lineno; __pyx_t_11 = __pyx_clineno; __pyx_t_26 = __pyx_filename; { __Pyx_DECREF(__pyx_v_be); __pyx_v_be = 0; } if (PY_MAJOR_VERSION >= 3) { __Pyx_XGIVEREF(__pyx_t_20); __Pyx_XGIVEREF(__pyx_t_19); __Pyx_XGIVEREF(__pyx_t_18); __Pyx_ExceptionReset(__pyx_t_20, __pyx_t_19, __pyx_t_18); } __Pyx_XGIVEREF(__pyx_t_23); __Pyx_XGIVEREF(__pyx_t_22); __Pyx_XGIVEREF(__pyx_t_21); __Pyx_ErrRestore(__pyx_t_23, __pyx_t_22, __pyx_t_21); __pyx_t_23 = 0; __pyx_t_22 = 0; __pyx_t_21 = 0; __pyx_t_20 = 0; __pyx_t_19 = 0; __pyx_t_18 = 0; __pyx_lineno = __pyx_t_16; __pyx_clineno = __pyx_t_11; __pyx_filename = __pyx_t_26; goto __pyx_L6_except_error; } } } goto __pyx_L6_except_error;
+0767: raise IngressError(
__Pyx_GetModuleGlobalName(__pyx_t_12, __pyx_n_s_IngressError); if (unlikely(!__pyx_t_12)) __PYX_ERR(1, 767, __pyx_L26_error) __Pyx_GOTREF(__pyx_t_12);
+0768: IngressErrorCode.BadDataFrame,
__Pyx_GetModuleGlobalName(__pyx_t_15, __pyx_n_s_IngressErrorCode); if (unlikely(!__pyx_t_15)) __PYX_ERR(1, 768, __pyx_L26_error) __Pyx_GOTREF(__pyx_t_15); __pyx_t_14 = __Pyx_PyObject_GetAttrStr(__pyx_t_15, __pyx_n_s_BadDataFrame); if (unlikely(!__pyx_t_14)) __PYX_ERR(1, 768, __pyx_L26_error) __Pyx_GOTREF(__pyx_t_14); __Pyx_DECREF(__pyx_t_15); __pyx_t_15 = 0;
+0769: f'Bad column {pandas_col.name!r}: Expected a buffer, got ' +
__pyx_t_15 = PyTuple_New(3); if (unlikely(!__pyx_t_15)) __PYX_ERR(1, 769, __pyx_L26_error) __Pyx_GOTREF(__pyx_t_15); __pyx_t_5 = 0; __pyx_t_6 = 127; __Pyx_INCREF(__pyx_kp_u_Bad_column); __pyx_t_5 += 11; __Pyx_GIVEREF(__pyx_kp_u_Bad_column); PyTuple_SET_ITEM(__pyx_t_15, 0, __pyx_kp_u_Bad_column); __pyx_t_13 = __Pyx_PyObject_FormatSimpleAndDecref(PyObject_Repr(__pyx_v_pandas_col->name), __pyx_empty_unicode); if (unlikely(!__pyx_t_13)) __PYX_ERR(1, 769, __pyx_L26_error) __Pyx_GOTREF(__pyx_t_13); __pyx_t_6 = (__Pyx_PyUnicode_MAX_CHAR_VALUE(__pyx_t_13) > __pyx_t_6) ? __Pyx_PyUnicode_MAX_CHAR_VALUE(__pyx_t_13) : __pyx_t_6; __pyx_t_5 += __Pyx_PyUnicode_GET_LENGTH(__pyx_t_13); __Pyx_GIVEREF(__pyx_t_13); PyTuple_SET_ITEM(__pyx_t_15, 1, __pyx_t_13); __pyx_t_13 = 0; __Pyx_INCREF(__pyx_kp_u_Expected_a_buffer_got); __pyx_t_5 += 25; __Pyx_GIVEREF(__pyx_kp_u_Expected_a_buffer_got); PyTuple_SET_ITEM(__pyx_t_15, 2, __pyx_kp_u_Expected_a_buffer_got); __pyx_t_13 = __Pyx_PyUnicode_Join(__pyx_t_15, 3, __pyx_t_5, __pyx_t_6); if (unlikely(!__pyx_t_13)) __PYX_ERR(1, 769, __pyx_L26_error) __Pyx_GOTREF(__pyx_t_13); __Pyx_DECREF(__pyx_t_15); __pyx_t_15 = 0; /* … */ __pyx_t_15 = __Pyx_PyUnicode_ConcatInPlace(__pyx_t_13, __pyx_t_25); if (unlikely(!__pyx_t_15)) __PYX_ERR(1, 769, __pyx_L26_error) __Pyx_GOTREF(__pyx_t_15); __Pyx_DECREF(__pyx_t_13); __pyx_t_13 = 0; __Pyx_DECREF(__pyx_t_25); __pyx_t_25 = 0; __pyx_t_25 = NULL; __pyx_t_16 = 0; #if CYTHON_UNPACK_METHODS if (unlikely(PyMethod_Check(__pyx_t_12))) { __pyx_t_25 = PyMethod_GET_SELF(__pyx_t_12); if (likely(__pyx_t_25)) { PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_12); __Pyx_INCREF(__pyx_t_25); __Pyx_INCREF(function); __Pyx_DECREF_SET(__pyx_t_12, function); __pyx_t_16 = 1; } } #endif { PyObject *__pyx_callargs[3] = {__pyx_t_25, __pyx_t_14, __pyx_t_15}; __pyx_t_1 = __Pyx_PyObject_FastCall(__pyx_t_12, __pyx_callargs+1-__pyx_t_16, 2+__pyx_t_16); __Pyx_XDECREF(__pyx_t_25); __pyx_t_25 = 0; __Pyx_DECREF(__pyx_t_14); __pyx_t_14 = 0; __Pyx_DECREF(__pyx_t_15); __pyx_t_15 = 0; if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 767, __pyx_L26_error) __Pyx_GOTREF(__pyx_t_1); __Pyx_DECREF(__pyx_t_12); __pyx_t_12 = 0; }
+0770: f'{pandas_col.series!r} ({_fqn(type(pandas_col.series))})') from be
__pyx_t_15 = PyTuple_New(4); if (unlikely(!__pyx_t_15)) __PYX_ERR(1, 770, __pyx_L26_error) __Pyx_GOTREF(__pyx_t_15); __pyx_t_5 = 0; __pyx_t_6 = 127; __pyx_t_24 = __Pyx_PyObject_FormatSimpleAndDecref(PyObject_Repr(__pyx_v_pandas_col->series), __pyx_empty_unicode); if (unlikely(!__pyx_t_24)) __PYX_ERR(1, 770, __pyx_L26_error) __Pyx_GOTREF(__pyx_t_24); __pyx_t_6 = (__Pyx_PyUnicode_MAX_CHAR_VALUE(__pyx_t_24) > __pyx_t_6) ? __Pyx_PyUnicode_MAX_CHAR_VALUE(__pyx_t_24) : __pyx_t_6; __pyx_t_5 += __Pyx_PyUnicode_GET_LENGTH(__pyx_t_24); __Pyx_GIVEREF(__pyx_t_24); PyTuple_SET_ITEM(__pyx_t_15, 0, __pyx_t_24); __pyx_t_24 = 0; __Pyx_INCREF(__pyx_kp_u__20); __pyx_t_5 += 2; __Pyx_GIVEREF(__pyx_kp_u__20); PyTuple_SET_ITEM(__pyx_t_15, 1, __pyx_kp_u__20); __pyx_t_24 = __pyx_f_7questdb_7ingress__fqn(((PyTypeObject*)((PyObject *)Py_TYPE(__pyx_v_pandas_col->series)))); if (unlikely(!__pyx_t_24)) __PYX_ERR(1, 770, __pyx_L26_error) __Pyx_GOTREF(__pyx_t_24); __pyx_t_25 = __Pyx_PyUnicode_Unicode(__pyx_t_24); if (unlikely(!__pyx_t_25)) __PYX_ERR(1, 770, __pyx_L26_error) __Pyx_GOTREF(__pyx_t_25); __Pyx_DECREF(__pyx_t_24); __pyx_t_24 = 0; __pyx_t_6 = (__Pyx_PyUnicode_MAX_CHAR_VALUE(__pyx_t_25) > __pyx_t_6) ? __Pyx_PyUnicode_MAX_CHAR_VALUE(__pyx_t_25) : __pyx_t_6; __pyx_t_5 += __Pyx_PyUnicode_GET_LENGTH(__pyx_t_25); __Pyx_GIVEREF(__pyx_t_25); PyTuple_SET_ITEM(__pyx_t_15, 2, __pyx_t_25); __pyx_t_25 = 0; __Pyx_INCREF(__pyx_kp_u__12); __pyx_t_5 += 1; __Pyx_GIVEREF(__pyx_kp_u__12); PyTuple_SET_ITEM(__pyx_t_15, 3, __pyx_kp_u__12); __pyx_t_25 = __Pyx_PyUnicode_Join(__pyx_t_15, 4, __pyx_t_5, __pyx_t_6); if (unlikely(!__pyx_t_25)) __PYX_ERR(1, 770, __pyx_L26_error) __Pyx_GOTREF(__pyx_t_25); __Pyx_DECREF(__pyx_t_15); __pyx_t_15 = 0; /* … */ __Pyx_Raise(__pyx_t_1, 0, 0, __pyx_v_be); __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __PYX_ERR(1, 767, __pyx_L26_error) }
+0771: _dataframe_alloc_chunks(1, col)
__pyx_t_27 = __pyx_f_7questdb_7ingress__dataframe_alloc_chunks(1, __pyx_v_col); if (unlikely(__pyx_t_27 == ((__pyx_t_7questdb_7ingress_void_int)-1))) __PYX_ERR(1, 771, __pyx_L1_error)
+0772: mapped = &col.setup.chunks.chunks[0]
__pyx_v_mapped = (&(__pyx_v_col->setup->chunks.chunks[0]));
0773:
0774: # Total number of elements.
+0775: mapped.length = (
__pyx_v_mapped->length = __Pyx_div_int64_t(((int64_t)__pyx_v_col->setup->pybuf.len), ((int64_t)__pyx_v_col->setup->pybuf.itemsize));
+0776: <int64_t>col.setup.pybuf.len // <int64_t>col.setup.pybuf.itemsize)
if (unlikely(((int64_t)__pyx_v_col->setup->pybuf.itemsize) == 0)) { PyErr_SetString(PyExc_ZeroDivisionError, "integer division or modulo by zero"); __PYX_ERR(1, 776, __pyx_L1_error) } else if (sizeof(int64_t) == sizeof(long) && (!(((int64_t)-1) > 0)) && unlikely(((int64_t)__pyx_v_col->setup->pybuf.itemsize) == (int64_t)-1) && unlikely(__Pyx_UNARY_NEG_WOULD_OVERFLOW(((int64_t)__pyx_v_col->setup->pybuf.len)))) { PyErr_SetString(PyExc_OverflowError, "value too large to perform division"); __PYX_ERR(1, 776, __pyx_L1_error) }
+0777: mapped.null_count = 0
__pyx_v_mapped->null_count = 0;
+0778: mapped.offset = 0
__pyx_v_mapped->offset = 0;
+0779: mapped.n_buffers = 2
__pyx_v_mapped->n_buffers = 2;
+0780: mapped.n_children = 0
__pyx_v_mapped->n_children = 0;
+0781: mapped.buffers = <const void**>calloc(2, sizeof(const void*))
__pyx_v_mapped->buffers = ((void const **)calloc(2, (sizeof(void const *))));
+0782: mapped.buffers[0] = NULL
(__pyx_v_mapped->buffers[0]) = NULL;
+0783: mapped.buffers[1] = <const void*>col.setup.pybuf.buf
(__pyx_v_mapped->buffers[1]) = ((void const *)__pyx_v_col->setup->pybuf.buf);
+0784: mapped.children = NULL
__pyx_v_mapped->children = NULL;
+0785: mapped.dictionary = NULL
__pyx_v_mapped->dictionary = NULL;
+0786: mapped.release = _dataframe_free_mapped_arrow # to cleanup allocated array.
__pyx_v_mapped->release = __pyx_f_7questdb_7ingress__dataframe_free_mapped_arrow;
0787:
0788:
+0789: cdef void_int _dataframe_series_as_arrow(
static __pyx_t_7questdb_7ingress_void_int __pyx_f_7questdb_7ingress__dataframe_series_as_arrow(struct __pyx_obj_7questdb_7ingress_PandasCol *__pyx_v_pandas_col, struct __pyx_t_7questdb_7ingress_col_t *__pyx_v_col) { PyObject *__pyx_v_array = 0; PyObject *__pyx_v_chunks = 0; size_t __pyx_v_n_chunks; size_t __pyx_v_chunk_index; __pyx_t_7questdb_7ingress_void_int __pyx_r; /* … */ /* function exit code */ __pyx_r = 0; goto __pyx_L0; __pyx_L1_error:; __Pyx_XDECREF(__pyx_t_1); __Pyx_XDECREF(__pyx_t_2); __Pyx_XDECREF(__pyx_t_3); __Pyx_XDECREF(__pyx_t_11); __Pyx_XDECREF(__pyx_t_12); __Pyx_AddTraceback("questdb.ingress._dataframe_series_as_arrow", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = -1; __pyx_L0:; __Pyx_XDECREF(__pyx_v_array); __Pyx_XDECREF(__pyx_v_chunks); __Pyx_RefNannyFinishContext(); return __pyx_r; }
0790: PandasCol pandas_col,
0791: col_t* col) except -1:
0792: cdef object array
0793: cdef list chunks
0794: cdef size_t n_chunks
0795: cdef size_t chunk_index
+0796: array = _PYARROW.Array.from_pandas(pandas_col.series)
__pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_v_7questdb_7ingress__PYARROW, __pyx_n_s_Array); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 796, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_t_2, __pyx_n_s_from_pandas); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 796, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; __pyx_t_2 = NULL; __pyx_t_4 = 0; #if CYTHON_UNPACK_METHODS if (likely(PyMethod_Check(__pyx_t_3))) { __pyx_t_2 = PyMethod_GET_SELF(__pyx_t_3); if (likely(__pyx_t_2)) { PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_3); __Pyx_INCREF(__pyx_t_2); __Pyx_INCREF(function); __Pyx_DECREF_SET(__pyx_t_3, function); __pyx_t_4 = 1; } } #endif { PyObject *__pyx_callargs[2] = {__pyx_t_2, __pyx_v_pandas_col->series}; __pyx_t_1 = __Pyx_PyObject_FastCall(__pyx_t_3, __pyx_callargs+1-__pyx_t_4, 1+__pyx_t_4); __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0; if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 796, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; } __pyx_v_array = __pyx_t_1; __pyx_t_1 = 0;
+0797: if isinstance(array, _PYARROW.ChunkedArray):
__pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_7questdb_7ingress__PYARROW, __pyx_n_s_ChunkedArray); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 797, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __pyx_t_5 = PyObject_IsInstance(__pyx_v_array, __pyx_t_1); if (unlikely(__pyx_t_5 == ((int)-1))) __PYX_ERR(1, 797, __pyx_L1_error) __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; if (__pyx_t_5) { /* … */ goto __pyx_L3; }
+0798: chunks = array.chunks
__pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_array, __pyx_n_s_chunks); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 798, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); if (!(likely(PyList_CheckExact(__pyx_t_1))||((__pyx_t_1) == Py_None) || __Pyx_RaiseUnexpectedTypeError("list", __pyx_t_1))) __PYX_ERR(1, 798, __pyx_L1_error) __pyx_v_chunks = ((PyObject*)__pyx_t_1); __pyx_t_1 = 0;
0799: else:
+0800: chunks = [array]
/*else*/ { __pyx_t_1 = PyList_New(1); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 800, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __Pyx_INCREF(__pyx_v_array); __Pyx_GIVEREF(__pyx_v_array); if (__Pyx_PyList_SET_ITEM(__pyx_t_1, 0, __pyx_v_array)) __PYX_ERR(1, 800, __pyx_L1_error); __pyx_v_chunks = ((PyObject*)__pyx_t_1); __pyx_t_1 = 0; } __pyx_L3:;
0801:
+0802: n_chunks = len(chunks)
if (unlikely(__pyx_v_chunks == Py_None)) { PyErr_SetString(PyExc_TypeError, "object of type 'NoneType' has no len()"); __PYX_ERR(1, 802, __pyx_L1_error) } __pyx_t_6 = __Pyx_PyList_GET_SIZE(__pyx_v_chunks); if (unlikely(__pyx_t_6 == ((Py_ssize_t)-1))) __PYX_ERR(1, 802, __pyx_L1_error) __pyx_v_n_chunks = __pyx_t_6;
+0803: _dataframe_alloc_chunks(n_chunks, col)
__pyx_t_7 = __pyx_f_7questdb_7ingress__dataframe_alloc_chunks(__pyx_v_n_chunks, __pyx_v_col); if (unlikely(__pyx_t_7 == ((__pyx_t_7questdb_7ingress_void_int)-1))) __PYX_ERR(1, 803, __pyx_L1_error)
0804:
+0805: for chunk_index in range(n_chunks):
__pyx_t_8 = __pyx_v_n_chunks; __pyx_t_9 = __pyx_t_8; for (__pyx_t_10 = 0; __pyx_t_10 < __pyx_t_9; __pyx_t_10+=1) { __pyx_v_chunk_index = __pyx_t_10;
+0806: array = chunks[chunk_index]
if (unlikely(__pyx_v_chunks == Py_None)) { PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable"); __PYX_ERR(1, 806, __pyx_L1_error) } __pyx_t_1 = __Pyx_GetItemInt_List(__pyx_v_chunks, __pyx_v_chunk_index, size_t, 0, __Pyx_PyInt_FromSize_t, 1, 0, 1); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 806, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __Pyx_DECREF_SET(__pyx_v_array, __pyx_t_1); __pyx_t_1 = 0;
+0807: if chunk_index == 0:
__pyx_t_5 = (__pyx_v_chunk_index == 0); if (__pyx_t_5) { /* … */ goto __pyx_L6; }
+0808: chunks[chunk_index]._export_to_c(
if (unlikely(__pyx_v_chunks == Py_None)) { PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable"); __PYX_ERR(1, 808, __pyx_L1_error) } __pyx_t_3 = __Pyx_GetItemInt_List(__pyx_v_chunks, __pyx_v_chunk_index, size_t, 0, __Pyx_PyInt_FromSize_t, 1, 0, 1); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 808, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_t_3, __pyx_n_s_export_to_c); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 808, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
+0809: <uintptr_t>&col.setup.chunks.chunks[chunk_index],
__pyx_t_3 = __Pyx_PyInt_FromSize_t(((uintptr_t)(&(__pyx_v_col->setup->chunks.chunks[__pyx_v_chunk_index])))); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 809, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3);
+0810: <uintptr_t>&col.setup.arrow_schema)
__pyx_t_11 = __Pyx_PyInt_FromSize_t(((uintptr_t)(&__pyx_v_col->setup->arrow_schema))); if (unlikely(!__pyx_t_11)) __PYX_ERR(1, 810, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_11); __pyx_t_12 = NULL; __pyx_t_4 = 0; #if CYTHON_UNPACK_METHODS if (likely(PyMethod_Check(__pyx_t_2))) { __pyx_t_12 = PyMethod_GET_SELF(__pyx_t_2); if (likely(__pyx_t_12)) { PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_2); __Pyx_INCREF(__pyx_t_12); __Pyx_INCREF(function); __Pyx_DECREF_SET(__pyx_t_2, function); __pyx_t_4 = 1; } } #endif { PyObject *__pyx_callargs[3] = {__pyx_t_12, __pyx_t_3, __pyx_t_11}; __pyx_t_1 = __Pyx_PyObject_FastCall(__pyx_t_2, __pyx_callargs+1-__pyx_t_4, 2+__pyx_t_4); __Pyx_XDECREF(__pyx_t_12); __pyx_t_12 = 0; __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0; if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 808, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; } __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
0811: else:
+0812: chunks[chunk_index]._export_to_c(
/*else*/ { if (unlikely(__pyx_v_chunks == Py_None)) { PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable"); __PYX_ERR(1, 812, __pyx_L1_error) } __pyx_t_2 = __Pyx_GetItemInt_List(__pyx_v_chunks, __pyx_v_chunk_index, size_t, 0, __Pyx_PyInt_FromSize_t, 1, 0, 1); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 812, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __pyx_t_11 = __Pyx_PyObject_GetAttrStr(__pyx_t_2, __pyx_n_s_export_to_c); if (unlikely(!__pyx_t_11)) __PYX_ERR(1, 812, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_11); __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
+0813: <uintptr_t>&col.setup.chunks.chunks[chunk_index])
__pyx_t_2 = __Pyx_PyInt_FromSize_t(((uintptr_t)(&(__pyx_v_col->setup->chunks.chunks[__pyx_v_chunk_index])))); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 813, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __pyx_t_3 = NULL; __pyx_t_4 = 0; #if CYTHON_UNPACK_METHODS if (likely(PyMethod_Check(__pyx_t_11))) { __pyx_t_3 = PyMethod_GET_SELF(__pyx_t_11); if (likely(__pyx_t_3)) { PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_11); __Pyx_INCREF(__pyx_t_3); __Pyx_INCREF(function); __Pyx_DECREF_SET(__pyx_t_11, function); __pyx_t_4 = 1; } } #endif { PyObject *__pyx_callargs[2] = {__pyx_t_3, __pyx_t_2}; __pyx_t_1 = __Pyx_PyObject_FastCall(__pyx_t_11, __pyx_callargs+1-__pyx_t_4, 1+__pyx_t_4); __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0; __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 812, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0; } __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; } __pyx_L6:; }
0814:
0815:
+0816: cdef const char* _ARROW_FMT_INT8 = "c"
__pyx_v_7questdb_7ingress__ARROW_FMT_INT8 = ((char const *)"c");
+0817: cdef const char* _ARROW_FMT_INT16 = "s"
__pyx_v_7questdb_7ingress__ARROW_FMT_INT16 = ((char const *)"s");
+0818: cdef const char* _ARROW_FMT_INT32 = "i"
__pyx_v_7questdb_7ingress__ARROW_FMT_INT32 = ((char const *)"i");
+0819: cdef const char* _ARROW_FMT_SML_STR = "u"
__pyx_v_7questdb_7ingress__ARROW_FMT_SML_STR = ((char const *)"u");
0820:
0821:
+0822: cdef void_int _dataframe_category_series_as_arrow(
static __pyx_t_7questdb_7ingress_void_int __pyx_f_7questdb_7ingress__dataframe_category_series_as_arrow(struct __pyx_obj_7questdb_7ingress_PandasCol *__pyx_v_pandas_col, struct __pyx_t_7questdb_7ingress_col_t *__pyx_v_col) { char const *__pyx_v_format; __pyx_t_7questdb_7ingress_void_int __pyx_r; /* … */ /* function exit code */ __pyx_r = 0; goto __pyx_L0; __pyx_L1_error:; __Pyx_XDECREF(__pyx_t_4); __Pyx_XDECREF(__pyx_t_5); __Pyx_XDECREF(__pyx_t_6); __Pyx_XDECREF(__pyx_t_7); __Pyx_XDECREF(__pyx_t_10); __Pyx_XDECREF(__pyx_t_11); __Pyx_XDECREF(__pyx_t_12); __Pyx_AddTraceback("questdb.ingress._dataframe_category_series_as_arrow", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = -1; __pyx_L0:; __Pyx_RefNannyFinishContext(); return __pyx_r; }
0823: PandasCol pandas_col, col_t* col) except -1:
0824: cdef const char* format
+0825: _dataframe_series_as_arrow(pandas_col, col)
__pyx_t_1 = __pyx_f_7questdb_7ingress__dataframe_series_as_arrow(__pyx_v_pandas_col, __pyx_v_col); if (unlikely(__pyx_t_1 == ((__pyx_t_7questdb_7ingress_void_int)-1))) __PYX_ERR(1, 825, __pyx_L1_error)
+0826: format = col.setup.arrow_schema.format
__pyx_t_2 = __pyx_v_col->setup->arrow_schema.format; __pyx_v_format = __pyx_t_2;
+0827: if strncmp(format, _ARROW_FMT_INT8, 1) == 0:
__pyx_t_3 = (strncmp(__pyx_v_format, __pyx_v_7questdb_7ingress__ARROW_FMT_INT8, 1) == 0); if (__pyx_t_3) { /* … */ goto __pyx_L3; }
+0828: col.setup.source = col_source_t.col_source_str_i8_cat
__pyx_v_col->setup->source = __pyx_e_7questdb_7ingress_col_source_str_i8_cat;
+0829: elif strncmp(format, _ARROW_FMT_INT16, 1) == 0:
__pyx_t_3 = (strncmp(__pyx_v_format, __pyx_v_7questdb_7ingress__ARROW_FMT_INT16, 1) == 0); if (__pyx_t_3) { /* … */ goto __pyx_L3; }
+0830: col.setup.source = col_source_t.col_source_str_i16_cat
__pyx_v_col->setup->source = __pyx_e_7questdb_7ingress_col_source_str_i16_cat;
+0831: elif strncmp(format, _ARROW_FMT_INT32, 1) == 0:
__pyx_t_3 = (strncmp(__pyx_v_format, __pyx_v_7questdb_7ingress__ARROW_FMT_INT32, 1) == 0); if (likely(__pyx_t_3)) { /* … */ goto __pyx_L3; }
+0832: col.setup.source = col_source_t.col_source_str_i32_cat
__pyx_v_col->setup->source = __pyx_e_7questdb_7ingress_col_source_str_i32_cat;
0833: else:
+0834: raise IngressError(
/*else*/ { __Pyx_GetModuleGlobalName(__pyx_t_5, __pyx_n_s_IngressError); if (unlikely(!__pyx_t_5)) __PYX_ERR(1, 834, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_5);
+0835: IngressErrorCode.BadDataFrame,
__Pyx_GetModuleGlobalName(__pyx_t_6, __pyx_n_s_IngressErrorCode); if (unlikely(!__pyx_t_6)) __PYX_ERR(1, 835, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_6); __pyx_t_7 = __Pyx_PyObject_GetAttrStr(__pyx_t_6, __pyx_n_s_BadDataFrame); if (unlikely(!__pyx_t_7)) __PYX_ERR(1, 835, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_7); __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
+0836: f'Bad column {pandas_col.name!r}: ' +
__pyx_t_6 = PyTuple_New(3); if (unlikely(!__pyx_t_6)) __PYX_ERR(1, 836, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_6); __pyx_t_8 = 0; __pyx_t_9 = 127; __Pyx_INCREF(__pyx_kp_u_Bad_column); __pyx_t_8 += 11; __Pyx_GIVEREF(__pyx_kp_u_Bad_column); PyTuple_SET_ITEM(__pyx_t_6, 0, __pyx_kp_u_Bad_column); __pyx_t_10 = __Pyx_PyObject_FormatSimpleAndDecref(PyObject_Repr(__pyx_v_pandas_col->name), __pyx_empty_unicode); if (unlikely(!__pyx_t_10)) __PYX_ERR(1, 836, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_10); __pyx_t_9 = (__Pyx_PyUnicode_MAX_CHAR_VALUE(__pyx_t_10) > __pyx_t_9) ? __Pyx_PyUnicode_MAX_CHAR_VALUE(__pyx_t_10) : __pyx_t_9; __pyx_t_8 += __Pyx_PyUnicode_GET_LENGTH(__pyx_t_10); __Pyx_GIVEREF(__pyx_t_10); PyTuple_SET_ITEM(__pyx_t_6, 1, __pyx_t_10); __pyx_t_10 = 0; __Pyx_INCREF(__pyx_kp_u__21); __pyx_t_8 += 2; __Pyx_GIVEREF(__pyx_kp_u__21); PyTuple_SET_ITEM(__pyx_t_6, 2, __pyx_kp_u__21); __pyx_t_10 = __Pyx_PyUnicode_Join(__pyx_t_6, 3, __pyx_t_8, __pyx_t_9); if (unlikely(!__pyx_t_10)) __PYX_ERR(1, 836, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_10); __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; __pyx_t_6 = __Pyx_PyUnicode_ConcatInPlace(__pyx_t_10, __pyx_kp_u_Unsupported_arrow_category_index); if (unlikely(!__pyx_t_6)) __PYX_ERR(1, 836, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_6); __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0;
+0837: 'Unsupported arrow category index type. ' +
__pyx_t_10 = __Pyx_PyUnicode_ConcatInPlace(__pyx_t_6, __pyx_t_11); if (unlikely(!__pyx_t_10)) __PYX_ERR(1, 837, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_10); __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0; __pyx_t_11 = NULL; __pyx_t_13 = 0; #if CYTHON_UNPACK_METHODS if (unlikely(PyMethod_Check(__pyx_t_5))) { __pyx_t_11 = PyMethod_GET_SELF(__pyx_t_5); if (likely(__pyx_t_11)) { PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_5); __Pyx_INCREF(__pyx_t_11); __Pyx_INCREF(function); __Pyx_DECREF_SET(__pyx_t_5, function); __pyx_t_13 = 1; } } #endif { PyObject *__pyx_callargs[3] = {__pyx_t_11, __pyx_t_7, __pyx_t_10}; __pyx_t_4 = __Pyx_PyObject_FastCall(__pyx_t_5, __pyx_callargs+1-__pyx_t_13, 2+__pyx_t_13); __Pyx_XDECREF(__pyx_t_11); __pyx_t_11 = 0; __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0; if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 834, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; } __Pyx_Raise(__pyx_t_4, 0, 0, 0); __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; __PYX_ERR(1, 834, __pyx_L1_error) } __pyx_L3:;
+0838: f'Got {(<bytes>format).decode("utf-8")!r}.')
__pyx_t_10 = PyTuple_New(3); if (unlikely(!__pyx_t_10)) __PYX_ERR(1, 838, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_10); __pyx_t_8 = 0; __pyx_t_9 = 127; __Pyx_INCREF(__pyx_kp_u_Got); __pyx_t_8 += 4; __Pyx_GIVEREF(__pyx_kp_u_Got); PyTuple_SET_ITEM(__pyx_t_10, 0, __pyx_kp_u_Got); __pyx_t_11 = __Pyx_PyBytes_FromString(__pyx_v_format); if (unlikely(!__pyx_t_11)) __PYX_ERR(1, 838, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_11); if (unlikely(__pyx_t_11 == Py_None)) { PyErr_Format(PyExc_AttributeError, "'NoneType' object has no attribute '%.30s'", "decode"); __PYX_ERR(1, 838, __pyx_L1_error) } __pyx_t_12 = __Pyx_decode_bytes(((PyObject*)__pyx_t_11), 0, PY_SSIZE_T_MAX, NULL, NULL, PyUnicode_DecodeUTF8); if (unlikely(!__pyx_t_12)) __PYX_ERR(1, 838, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_12); __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0; __pyx_t_11 = __Pyx_PyObject_FormatSimpleAndDecref(PyObject_Repr(__pyx_t_12), __pyx_empty_unicode); if (unlikely(!__pyx_t_11)) __PYX_ERR(1, 838, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_11); __Pyx_DECREF(__pyx_t_12); __pyx_t_12 = 0; __pyx_t_9 = (__Pyx_PyUnicode_MAX_CHAR_VALUE(__pyx_t_11) > __pyx_t_9) ? __Pyx_PyUnicode_MAX_CHAR_VALUE(__pyx_t_11) : __pyx_t_9; __pyx_t_8 += __Pyx_PyUnicode_GET_LENGTH(__pyx_t_11); __Pyx_GIVEREF(__pyx_t_11); PyTuple_SET_ITEM(__pyx_t_10, 1, __pyx_t_11); __pyx_t_11 = 0; __Pyx_INCREF(__pyx_kp_u__5); __pyx_t_8 += 1; __Pyx_GIVEREF(__pyx_kp_u__5); PyTuple_SET_ITEM(__pyx_t_10, 2, __pyx_kp_u__5); __pyx_t_11 = __Pyx_PyUnicode_Join(__pyx_t_10, 3, __pyx_t_8, __pyx_t_9); if (unlikely(!__pyx_t_11)) __PYX_ERR(1, 838, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_11); __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0;
0839:
+0840: format = col.setup.arrow_schema.dictionary.format
__pyx_t_2 = __pyx_v_col->setup->arrow_schema.dictionary->format; __pyx_v_format = __pyx_t_2;
+0841: if strncmp(format, _ARROW_FMT_SML_STR, 1) != 0:
__pyx_t_3 = (strncmp(__pyx_v_format, __pyx_v_7questdb_7ingress__ARROW_FMT_SML_STR, 1) != 0); if (unlikely(__pyx_t_3)) { /* … */ }
+0842: raise IngressError(
__Pyx_GetModuleGlobalName(__pyx_t_5, __pyx_n_s_IngressError); if (unlikely(!__pyx_t_5)) __PYX_ERR(1, 842, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_5);
+0843: IngressErrorCode.BadDataFrame,
__Pyx_GetModuleGlobalName(__pyx_t_10, __pyx_n_s_IngressErrorCode); if (unlikely(!__pyx_t_10)) __PYX_ERR(1, 843, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_10); __pyx_t_7 = __Pyx_PyObject_GetAttrStr(__pyx_t_10, __pyx_n_s_BadDataFrame); if (unlikely(!__pyx_t_7)) __PYX_ERR(1, 843, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_7); __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0;
+0844: f'Bad column {pandas_col.name!r}: ' +
__pyx_t_10 = PyTuple_New(3); if (unlikely(!__pyx_t_10)) __PYX_ERR(1, 844, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_10); __pyx_t_8 = 0; __pyx_t_9 = 127; __Pyx_INCREF(__pyx_kp_u_Bad_column); __pyx_t_8 += 11; __Pyx_GIVEREF(__pyx_kp_u_Bad_column); PyTuple_SET_ITEM(__pyx_t_10, 0, __pyx_kp_u_Bad_column); __pyx_t_11 = __Pyx_PyObject_FormatSimpleAndDecref(PyObject_Repr(__pyx_v_pandas_col->name), __pyx_empty_unicode); if (unlikely(!__pyx_t_11)) __PYX_ERR(1, 844, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_11); __pyx_t_9 = (__Pyx_PyUnicode_MAX_CHAR_VALUE(__pyx_t_11) > __pyx_t_9) ? __Pyx_PyUnicode_MAX_CHAR_VALUE(__pyx_t_11) : __pyx_t_9; __pyx_t_8 += __Pyx_PyUnicode_GET_LENGTH(__pyx_t_11); __Pyx_GIVEREF(__pyx_t_11); PyTuple_SET_ITEM(__pyx_t_10, 1, __pyx_t_11); __pyx_t_11 = 0; __Pyx_INCREF(__pyx_kp_u__21); __pyx_t_8 += 2; __Pyx_GIVEREF(__pyx_kp_u__21); PyTuple_SET_ITEM(__pyx_t_10, 2, __pyx_kp_u__21); __pyx_t_11 = __Pyx_PyUnicode_Join(__pyx_t_10, 3, __pyx_t_8, __pyx_t_9); if (unlikely(!__pyx_t_11)) __PYX_ERR(1, 844, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_11); __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0; __pyx_t_10 = __Pyx_PyUnicode_ConcatInPlace(__pyx_t_11, __pyx_kp_u_Expected_a_category_of_strings); if (unlikely(!__pyx_t_10)) __PYX_ERR(1, 844, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_10); __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0;
+0845: 'Expected a category of strings, ' +
__pyx_t_11 = __Pyx_PyUnicode_ConcatInPlace(__pyx_t_10, __pyx_t_12); if (unlikely(!__pyx_t_11)) __PYX_ERR(1, 845, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_11); __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0; __Pyx_DECREF(__pyx_t_12); __pyx_t_12 = 0; __pyx_t_12 = NULL; __pyx_t_13 = 0; #if CYTHON_UNPACK_METHODS if (unlikely(PyMethod_Check(__pyx_t_5))) { __pyx_t_12 = PyMethod_GET_SELF(__pyx_t_5); if (likely(__pyx_t_12)) { PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_5); __Pyx_INCREF(__pyx_t_12); __Pyx_INCREF(function); __Pyx_DECREF_SET(__pyx_t_5, function); __pyx_t_13 = 1; } } #endif { PyObject *__pyx_callargs[3] = {__pyx_t_12, __pyx_t_7, __pyx_t_11}; __pyx_t_4 = __Pyx_PyObject_FastCall(__pyx_t_5, __pyx_callargs+1-__pyx_t_13, 2+__pyx_t_13); __Pyx_XDECREF(__pyx_t_12); __pyx_t_12 = 0; __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0; if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 842, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; } __Pyx_Raise(__pyx_t_4, 0, 0, 0); __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; __PYX_ERR(1, 842, __pyx_L1_error)
+0846: f'got a category of {pandas_col.series.dtype.categories.dtype}.')
__pyx_t_11 = PyTuple_New(3); if (unlikely(!__pyx_t_11)) __PYX_ERR(1, 846, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_11); __pyx_t_8 = 0; __pyx_t_9 = 127; __Pyx_INCREF(__pyx_kp_u_got_a_category_of); __pyx_t_8 += 18; __Pyx_GIVEREF(__pyx_kp_u_got_a_category_of); PyTuple_SET_ITEM(__pyx_t_11, 0, __pyx_kp_u_got_a_category_of); __pyx_t_6 = __Pyx_PyObject_GetAttrStr(__pyx_v_pandas_col->series, __pyx_n_s_dtype); if (unlikely(!__pyx_t_6)) __PYX_ERR(1, 846, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_6); __pyx_t_12 = __Pyx_PyObject_GetAttrStr(__pyx_t_6, __pyx_n_s_categories); if (unlikely(!__pyx_t_12)) __PYX_ERR(1, 846, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_12); __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; __pyx_t_6 = __Pyx_PyObject_GetAttrStr(__pyx_t_12, __pyx_n_s_dtype); if (unlikely(!__pyx_t_6)) __PYX_ERR(1, 846, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_6); __Pyx_DECREF(__pyx_t_12); __pyx_t_12 = 0; __pyx_t_12 = __Pyx_PyObject_FormatSimple(__pyx_t_6, __pyx_empty_unicode); if (unlikely(!__pyx_t_12)) __PYX_ERR(1, 846, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_12); __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; __pyx_t_9 = (__Pyx_PyUnicode_MAX_CHAR_VALUE(__pyx_t_12) > __pyx_t_9) ? __Pyx_PyUnicode_MAX_CHAR_VALUE(__pyx_t_12) : __pyx_t_9; __pyx_t_8 += __Pyx_PyUnicode_GET_LENGTH(__pyx_t_12); __Pyx_GIVEREF(__pyx_t_12); PyTuple_SET_ITEM(__pyx_t_11, 1, __pyx_t_12); __pyx_t_12 = 0; __Pyx_INCREF(__pyx_kp_u__5); __pyx_t_8 += 1; __Pyx_GIVEREF(__pyx_kp_u__5); PyTuple_SET_ITEM(__pyx_t_11, 2, __pyx_kp_u__5); __pyx_t_12 = __Pyx_PyUnicode_Join(__pyx_t_11, 3, __pyx_t_8, __pyx_t_9); if (unlikely(!__pyx_t_12)) __PYX_ERR(1, 846, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_12); __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0;
0847:
0848:
+0849: cdef inline bint _dataframe_is_float_nan(PyObject* obj) noexcept:
static CYTHON_INLINE int __pyx_f_7questdb_7ingress__dataframe_is_float_nan(PyObject *__pyx_v_obj) { int __pyx_r; /* … */ /* function exit code */ __pyx_L0:; return __pyx_r; }
+0850: return PyFloat_CheckExact(obj) and isnan(PyFloat_AS_DOUBLE(obj))
__pyx_t_2 = PyFloat_CheckExact(__pyx_v_obj); if (__pyx_t_2) { } else { __pyx_t_1 = __pyx_t_2; goto __pyx_L3_bool_binop_done; } __pyx_t_2 = isnan(PyFloat_AS_DOUBLE(__pyx_v_obj)); __pyx_t_1 = __pyx_t_2; __pyx_L3_bool_binop_done:; __pyx_r = __pyx_t_1; goto __pyx_L0;
0851:
0852:
+0853: cdef inline bint _dataframe_is_null_pyobj(PyObject* obj) noexcept:
static CYTHON_INLINE int __pyx_f_7questdb_7ingress__dataframe_is_null_pyobj(PyObject *__pyx_v_obj) { int __pyx_r; /* … */ /* function exit code */ __pyx_L0:; return __pyx_r; }
0854: return (
+0855: (obj == Py_None) or
__pyx_t_2 = (__pyx_v_obj == Py_None); if (!__pyx_t_2) { } else { __pyx_t_1 = __pyx_t_2; goto __pyx_L3_bool_binop_done; }
+0856: (obj == <PyObject*>_PANDAS_NA) or
__pyx_t_2 = (__pyx_v_obj == ((PyObject *)__pyx_v_7questdb_7ingress__PANDAS_NA)); if (!__pyx_t_2) { } else { __pyx_t_1 = __pyx_t_2; goto __pyx_L3_bool_binop_done; }
+0857: _dataframe_is_float_nan(obj))
__pyx_t_2 = __pyx_f_7questdb_7ingress__dataframe_is_float_nan(__pyx_v_obj); __pyx_t_1 = __pyx_t_2; __pyx_L3_bool_binop_done:; __pyx_r = __pyx_t_1; goto __pyx_L0;
0858:
0859:
+0860: cdef void_int _dataframe_series_sniff_pyobj(
static __pyx_t_7questdb_7ingress_void_int __pyx_f_7questdb_7ingress__dataframe_series_sniff_pyobj(struct __pyx_obj_7questdb_7ingress_PandasCol *__pyx_v_pandas_col, struct __pyx_t_7questdb_7ingress_col_t *__pyx_v_col) { size_t __pyx_v_el_index; size_t __pyx_v_n_elements; PyObject **__pyx_v_obj_arr; PyObject *__pyx_v_obj; __pyx_t_7questdb_7ingress_void_int __pyx_r; /* … */ /* function exit code */ __pyx_r = 0; goto __pyx_L0; __pyx_L1_error:; __Pyx_XDECREF(__pyx_t_1); __Pyx_XDECREF(__pyx_t_8); __Pyx_XDECREF(__pyx_t_9); __Pyx_XDECREF(__pyx_t_10); __Pyx_XDECREF(__pyx_t_12); __Pyx_XDECREF(__pyx_t_14); __Pyx_AddTraceback("questdb.ingress._dataframe_series_sniff_pyobj", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = -1; __pyx_L0:; __Pyx_RefNannyFinishContext(); return __pyx_r; }
0861: PandasCol pandas_col, col_t* col) except -1:
0862: """
0863: Deduct the type of the object column.
0864: Object columns can contain pretty much anything, but they usually don't.
0865: We make an educated guess by finding the first non-null value in the column.
0866: """
0867: cdef size_t el_index
+0868: cdef size_t n_elements = len(pandas_col.series)
__pyx_t_1 = __pyx_v_pandas_col->series; __Pyx_INCREF(__pyx_t_1); __pyx_t_2 = PyObject_Length(__pyx_t_1); if (unlikely(__pyx_t_2 == ((Py_ssize_t)-1))) __PYX_ERR(1, 868, __pyx_L1_error) __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __pyx_v_n_elements = __pyx_t_2;
0869: cdef PyObject** obj_arr
0870: cdef PyObject* obj
+0871: _dataframe_series_as_pybuf(pandas_col, col)
__pyx_t_3 = __pyx_f_7questdb_7ingress__dataframe_series_as_pybuf(__pyx_v_pandas_col, __pyx_v_col, NULL); if (unlikely(__pyx_t_3 == ((__pyx_t_7questdb_7ingress_void_int)-1))) __PYX_ERR(1, 871, __pyx_L1_error)
+0872: obj_arr = <PyObject**>(col.setup.pybuf.buf)
__pyx_v_obj_arr = ((PyObject **)__pyx_v_col->setup->pybuf.buf);
+0873: for el_index in range(n_elements):
__pyx_t_4 = __pyx_v_n_elements; __pyx_t_5 = __pyx_t_4; for (__pyx_t_6 = 0; __pyx_t_6 < __pyx_t_5; __pyx_t_6+=1) { __pyx_v_el_index = __pyx_t_6;
+0874: obj = obj_arr[el_index]
__pyx_v_obj = (__pyx_v_obj_arr[__pyx_v_el_index]);
+0875: if not _dataframe_is_null_pyobj(obj):
__pyx_t_7 = (!__pyx_f_7questdb_7ingress__dataframe_is_null_pyobj(__pyx_v_obj)); if (__pyx_t_7) { /* … */ } }
+0876: if PyBool_Check(obj):
__pyx_t_7 = PyBool_Check(__pyx_v_obj);
if (__pyx_t_7) {
/* … */
goto __pyx_L6;
}
+0877: col.setup.source = col_source_t.col_source_bool_pyobj
__pyx_v_col->setup->source = __pyx_e_7questdb_7ingress_col_source_bool_pyobj;
+0878: elif PyLong_CheckExact(obj):
__pyx_t_7 = PyLong_CheckExact(__pyx_v_obj);
if (__pyx_t_7) {
/* … */
goto __pyx_L6;
}
+0879: col.setup.source = col_source_t.col_source_int_pyobj
__pyx_v_col->setup->source = __pyx_e_7questdb_7ingress_col_source_int_pyobj;
+0880: elif PyFloat_CheckExact(obj):
__pyx_t_7 = PyFloat_CheckExact(__pyx_v_obj);
if (__pyx_t_7) {
/* … */
goto __pyx_L6;
}
+0881: col.setup.source = col_source_t.col_source_float_pyobj
__pyx_v_col->setup->source = __pyx_e_7questdb_7ingress_col_source_float_pyobj;
+0882: elif PyUnicode_CheckExact(obj):
__pyx_t_7 = PyUnicode_CheckExact(__pyx_v_obj);
if (likely(__pyx_t_7)) {
/* … */
goto __pyx_L6;
}
+0883: col.setup.source = col_source_t.col_source_str_pyobj
__pyx_v_col->setup->source = __pyx_e_7questdb_7ingress_col_source_str_pyobj;
+0884: elif PyBytes_CheckExact(obj):
__pyx_t_7 = PyBytes_CheckExact(__pyx_v_obj);
if (unlikely(__pyx_t_7)) {
/* … */
}
+0885: raise IngressError(
__Pyx_GetModuleGlobalName(__pyx_t_8, __pyx_n_s_IngressError); if (unlikely(!__pyx_t_8)) __PYX_ERR(1, 885, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_8);
+0886: IngressErrorCode.BadDataFrame,
__Pyx_GetModuleGlobalName(__pyx_t_9, __pyx_n_s_IngressErrorCode); if (unlikely(!__pyx_t_9)) __PYX_ERR(1, 886, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_9); __pyx_t_10 = __Pyx_PyObject_GetAttrStr(__pyx_t_9, __pyx_n_s_BadDataFrame); if (unlikely(!__pyx_t_10)) __PYX_ERR(1, 886, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_10); __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;
+0887: f'Bad column {pandas_col.name!r}: ' +
__pyx_t_9 = PyTuple_New(3); if (unlikely(!__pyx_t_9)) __PYX_ERR(1, 887, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_9); __pyx_t_2 = 0; __pyx_t_11 = 127; __Pyx_INCREF(__pyx_kp_u_Bad_column); __pyx_t_2 += 11; __Pyx_GIVEREF(__pyx_kp_u_Bad_column); PyTuple_SET_ITEM(__pyx_t_9, 0, __pyx_kp_u_Bad_column); __pyx_t_12 = __Pyx_PyObject_FormatSimpleAndDecref(PyObject_Repr(__pyx_v_pandas_col->name), __pyx_empty_unicode); if (unlikely(!__pyx_t_12)) __PYX_ERR(1, 887, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_12); __pyx_t_11 = (__Pyx_PyUnicode_MAX_CHAR_VALUE(__pyx_t_12) > __pyx_t_11) ? __Pyx_PyUnicode_MAX_CHAR_VALUE(__pyx_t_12) : __pyx_t_11; __pyx_t_2 += __Pyx_PyUnicode_GET_LENGTH(__pyx_t_12); __Pyx_GIVEREF(__pyx_t_12); PyTuple_SET_ITEM(__pyx_t_9, 1, __pyx_t_12); __pyx_t_12 = 0; __Pyx_INCREF(__pyx_kp_u__21); __pyx_t_2 += 2; __Pyx_GIVEREF(__pyx_kp_u__21); PyTuple_SET_ITEM(__pyx_t_9, 2, __pyx_kp_u__21); __pyx_t_12 = __Pyx_PyUnicode_Join(__pyx_t_9, 3, __pyx_t_2, __pyx_t_11); if (unlikely(!__pyx_t_12)) __PYX_ERR(1, 887, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_12); __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0; __pyx_t_9 = __Pyx_PyUnicode_ConcatInPlace(__pyx_t_12, __pyx_kp_u_Unsupported_object_column_contai); if (unlikely(!__pyx_t_9)) __PYX_ERR(1, 887, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_9); __Pyx_DECREF(__pyx_t_12); __pyx_t_12 = 0;
+0888: 'Unsupported object column containing bytes.' +
__pyx_t_12 = __Pyx_PyUnicode_ConcatInPlace(__pyx_t_9, __pyx_kp_u_If_this_is_a_string_column_decod); if (unlikely(!__pyx_t_12)) __PYX_ERR(1, 888, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_12); __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;
+0889: 'If this is a string column, decode it first. ' +
__pyx_t_9 = __Pyx_PyUnicode_ConcatInPlace(__pyx_t_12, __pyx_kp_u_See_https_stackoverflow_com_ques); if (unlikely(!__pyx_t_9)) __PYX_ERR(1, 889, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_9); __Pyx_DECREF(__pyx_t_12); __pyx_t_12 = 0; __pyx_t_12 = NULL; __pyx_t_13 = 0; #if CYTHON_UNPACK_METHODS if (unlikely(PyMethod_Check(__pyx_t_8))) { __pyx_t_12 = PyMethod_GET_SELF(__pyx_t_8); if (likely(__pyx_t_12)) { PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_8); __Pyx_INCREF(__pyx_t_12); __Pyx_INCREF(function); __Pyx_DECREF_SET(__pyx_t_8, function); __pyx_t_13 = 1; } } #endif { PyObject *__pyx_callargs[3] = {__pyx_t_12, __pyx_t_10, __pyx_t_9}; __pyx_t_1 = __Pyx_PyObject_FastCall(__pyx_t_8, __pyx_callargs+1-__pyx_t_13, 2+__pyx_t_13); __Pyx_XDECREF(__pyx_t_12); __pyx_t_12 = 0; __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0; __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0; if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 885, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0; } __Pyx_Raise(__pyx_t_1, 0, 0, 0); __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __PYX_ERR(1, 885, __pyx_L1_error)
0890: 'See: https://stackoverflow.com/questions/40389764/')
0891: else:
+0892: raise IngressError(
/*else*/ { __Pyx_GetModuleGlobalName(__pyx_t_8, __pyx_n_s_IngressError); if (unlikely(!__pyx_t_8)) __PYX_ERR(1, 892, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_8);
+0893: IngressErrorCode.BadDataFrame,
__Pyx_GetModuleGlobalName(__pyx_t_9, __pyx_n_s_IngressErrorCode); if (unlikely(!__pyx_t_9)) __PYX_ERR(1, 893, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_9); __pyx_t_10 = __Pyx_PyObject_GetAttrStr(__pyx_t_9, __pyx_n_s_BadDataFrame); if (unlikely(!__pyx_t_10)) __PYX_ERR(1, 893, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_10); __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;
+0894: f'Bad column {pandas_col.name!r}: ' +
__pyx_t_9 = PyTuple_New(3); if (unlikely(!__pyx_t_9)) __PYX_ERR(1, 894, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_9); __pyx_t_2 = 0; __pyx_t_11 = 127; __Pyx_INCREF(__pyx_kp_u_Bad_column); __pyx_t_2 += 11; __Pyx_GIVEREF(__pyx_kp_u_Bad_column); PyTuple_SET_ITEM(__pyx_t_9, 0, __pyx_kp_u_Bad_column); __pyx_t_12 = __Pyx_PyObject_FormatSimpleAndDecref(PyObject_Repr(__pyx_v_pandas_col->name), __pyx_empty_unicode); if (unlikely(!__pyx_t_12)) __PYX_ERR(1, 894, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_12); __pyx_t_11 = (__Pyx_PyUnicode_MAX_CHAR_VALUE(__pyx_t_12) > __pyx_t_11) ? __Pyx_PyUnicode_MAX_CHAR_VALUE(__pyx_t_12) : __pyx_t_11; __pyx_t_2 += __Pyx_PyUnicode_GET_LENGTH(__pyx_t_12); __Pyx_GIVEREF(__pyx_t_12); PyTuple_SET_ITEM(__pyx_t_9, 1, __pyx_t_12); __pyx_t_12 = 0; __Pyx_INCREF(__pyx_kp_u__21); __pyx_t_2 += 2; __Pyx_GIVEREF(__pyx_kp_u__21); PyTuple_SET_ITEM(__pyx_t_9, 2, __pyx_kp_u__21); __pyx_t_12 = __Pyx_PyUnicode_Join(__pyx_t_9, 3, __pyx_t_2, __pyx_t_11); if (unlikely(!__pyx_t_12)) __PYX_ERR(1, 894, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_12); __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0; __pyx_t_9 = __Pyx_PyUnicode_ConcatInPlace(__pyx_t_12, __pyx_kp_u_Unsupported_object_column_contai_2); if (unlikely(!__pyx_t_9)) __PYX_ERR(1, 894, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_9); __Pyx_DECREF(__pyx_t_12); __pyx_t_12 = 0;
+0895: f'Unsupported object column containing an object of type ' +
__pyx_t_14 = __Pyx_PyUnicode_ConcatInPlaceSafe(__pyx_t_9, __pyx_t_12); if (unlikely(!__pyx_t_14)) __PYX_ERR(1, 895, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_14); __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0; __Pyx_DECREF(__pyx_t_12); __pyx_t_12 = 0;
+0896: _fqn(type(<object>obj)) + '.')
__pyx_t_12 = __pyx_f_7questdb_7ingress__fqn(((PyTypeObject*)((PyObject *)Py_TYPE(((PyObject *)__pyx_v_obj))))); if (unlikely(!__pyx_t_12)) __PYX_ERR(1, 896, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_12); /* … */ __pyx_t_12 = __Pyx_PyUnicode_ConcatInPlace(__pyx_t_14, __pyx_kp_u__5); if (unlikely(!__pyx_t_12)) __PYX_ERR(1, 896, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_12); __Pyx_DECREF(__pyx_t_14); __pyx_t_14 = 0; __pyx_t_14 = NULL; __pyx_t_13 = 0; #if CYTHON_UNPACK_METHODS if (unlikely(PyMethod_Check(__pyx_t_8))) { __pyx_t_14 = PyMethod_GET_SELF(__pyx_t_8); if (likely(__pyx_t_14)) { PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_8); __Pyx_INCREF(__pyx_t_14); __Pyx_INCREF(function); __Pyx_DECREF_SET(__pyx_t_8, function); __pyx_t_13 = 1; } } #endif { PyObject *__pyx_callargs[3] = {__pyx_t_14, __pyx_t_10, __pyx_t_12}; __pyx_t_1 = __Pyx_PyObject_FastCall(__pyx_t_8, __pyx_callargs+1-__pyx_t_13, 2+__pyx_t_13); __Pyx_XDECREF(__pyx_t_14); __pyx_t_14 = 0; __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0; __Pyx_DECREF(__pyx_t_12); __pyx_t_12 = 0; if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 892, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0; } __Pyx_Raise(__pyx_t_1, 0, 0, 0); __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __PYX_ERR(1, 892, __pyx_L1_error) } __pyx_L6:;
+0897: return 0
__pyx_r = 0; goto __pyx_L0;
0898:
0899: # We haven't returned yet, so we've hit an object column that
0900: # exclusively has null values. We will just skip this column.
+0901: col.setup.source = col_source_t.col_source_nulls
__pyx_v_col->setup->source = __pyx_e_7questdb_7ingress_col_source_nulls;
0902:
0903:
+0904: cdef void_int _dataframe_resolve_source_and_buffers(
static __pyx_t_7questdb_7ingress_void_int __pyx_f_7questdb_7ingress__dataframe_resolve_source_and_buffers(struct __pyx_obj_7questdb_7ingress_PandasCol *__pyx_v_pandas_col, struct __pyx_t_7questdb_7ingress_col_t *__pyx_v_col) { PyObject *__pyx_v_dtype = 0; __pyx_t_7questdb_7ingress_void_int __pyx_r; /* … */ /* function exit code */ __pyx_r = 0; goto __pyx_L0; __pyx_L1_error:; __Pyx_XDECREF(__pyx_t_1); __Pyx_XDECREF(__pyx_t_4); __Pyx_XDECREF(__pyx_t_5); __Pyx_XDECREF(__pyx_t_6); __Pyx_XDECREF(__pyx_t_9); __Pyx_XDECREF(__pyx_t_10); __Pyx_AddTraceback("questdb.ingress._dataframe_resolve_source_and_buffers", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = -1; __pyx_L0:; __Pyx_XDECREF(__pyx_v_dtype); __Pyx_RefNannyFinishContext(); return __pyx_r; }
0905: PandasCol pandas_col, col_t* col) except -1:
+0906: cdef object dtype = pandas_col.dtype
__pyx_t_1 = __pyx_v_pandas_col->dtype;
__Pyx_INCREF(__pyx_t_1);
__pyx_v_dtype = __pyx_t_1;
__pyx_t_1 = 0;
+0907: if isinstance(dtype, _NUMPY_BOOL):
__pyx_t_1 = __pyx_v_7questdb_7ingress__NUMPY_BOOL; __Pyx_INCREF(__pyx_t_1); __pyx_t_2 = PyObject_IsInstance(__pyx_v_dtype, __pyx_t_1); if (unlikely(__pyx_t_2 == ((int)-1))) __PYX_ERR(1, 907, __pyx_L1_error) __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; if (__pyx_t_2) { /* … */ goto __pyx_L3; }
+0908: col.setup.source = col_source_t.col_source_bool_numpy
__pyx_v_col->setup->source = __pyx_e_7questdb_7ingress_col_source_bool_numpy;
+0909: _dataframe_series_as_pybuf(pandas_col, col)
__pyx_t_3 = __pyx_f_7questdb_7ingress__dataframe_series_as_pybuf(__pyx_v_pandas_col, __pyx_v_col, NULL); if (unlikely(__pyx_t_3 == ((__pyx_t_7questdb_7ingress_void_int)-1))) __PYX_ERR(1, 909, __pyx_L1_error)
+0910: elif isinstance(dtype, _PANDAS.BooleanDtype):
__pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_7questdb_7ingress__PANDAS, __pyx_n_s_BooleanDtype); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 910, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __pyx_t_2 = PyObject_IsInstance(__pyx_v_dtype, __pyx_t_1); if (unlikely(__pyx_t_2 == ((int)-1))) __PYX_ERR(1, 910, __pyx_L1_error) __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; if (__pyx_t_2) { /* … */ goto __pyx_L3; }
+0911: col.setup.source = col_source_t.col_source_bool_arrow
__pyx_v_col->setup->source = __pyx_e_7questdb_7ingress_col_source_bool_arrow;
+0912: _dataframe_series_as_arrow(pandas_col, col)
__pyx_t_3 = __pyx_f_7questdb_7ingress__dataframe_series_as_arrow(__pyx_v_pandas_col, __pyx_v_col); if (unlikely(__pyx_t_3 == ((__pyx_t_7questdb_7ingress_void_int)-1))) __PYX_ERR(1, 912, __pyx_L1_error)
+0913: elif isinstance(dtype, _NUMPY_UINT8):
__pyx_t_1 = __pyx_v_7questdb_7ingress__NUMPY_UINT8; __Pyx_INCREF(__pyx_t_1); __pyx_t_2 = PyObject_IsInstance(__pyx_v_dtype, __pyx_t_1); if (unlikely(__pyx_t_2 == ((int)-1))) __PYX_ERR(1, 913, __pyx_L1_error) __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; if (__pyx_t_2) { /* … */ goto __pyx_L3; }
+0914: col.setup.source = col_source_t.col_source_u8_numpy
__pyx_v_col->setup->source = __pyx_e_7questdb_7ingress_col_source_u8_numpy;
+0915: _dataframe_series_as_pybuf(pandas_col, col)
__pyx_t_3 = __pyx_f_7questdb_7ingress__dataframe_series_as_pybuf(__pyx_v_pandas_col, __pyx_v_col, NULL); if (unlikely(__pyx_t_3 == ((__pyx_t_7questdb_7ingress_void_int)-1))) __PYX_ERR(1, 915, __pyx_L1_error)
+0916: elif isinstance(dtype, _NUMPY_INT8):
__pyx_t_1 = __pyx_v_7questdb_7ingress__NUMPY_INT8; __Pyx_INCREF(__pyx_t_1); __pyx_t_2 = PyObject_IsInstance(__pyx_v_dtype, __pyx_t_1); if (unlikely(__pyx_t_2 == ((int)-1))) __PYX_ERR(1, 916, __pyx_L1_error) __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; if (__pyx_t_2) { /* … */ goto __pyx_L3; }
+0917: col.setup.source = col_source_t.col_source_i8_numpy
__pyx_v_col->setup->source = __pyx_e_7questdb_7ingress_col_source_i8_numpy;
+0918: _dataframe_series_as_pybuf(pandas_col, col)
__pyx_t_3 = __pyx_f_7questdb_7ingress__dataframe_series_as_pybuf(__pyx_v_pandas_col, __pyx_v_col, NULL); if (unlikely(__pyx_t_3 == ((__pyx_t_7questdb_7ingress_void_int)-1))) __PYX_ERR(1, 918, __pyx_L1_error)
+0919: elif isinstance(dtype, _NUMPY_UINT16):
__pyx_t_1 = __pyx_v_7questdb_7ingress__NUMPY_UINT16; __Pyx_INCREF(__pyx_t_1); __pyx_t_2 = PyObject_IsInstance(__pyx_v_dtype, __pyx_t_1); if (unlikely(__pyx_t_2 == ((int)-1))) __PYX_ERR(1, 919, __pyx_L1_error) __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; if (__pyx_t_2) { /* … */ goto __pyx_L3; }
+0920: col.setup.source = col_source_t.col_source_u16_numpy
__pyx_v_col->setup->source = __pyx_e_7questdb_7ingress_col_source_u16_numpy;
+0921: _dataframe_series_as_pybuf(pandas_col, col)
__pyx_t_3 = __pyx_f_7questdb_7ingress__dataframe_series_as_pybuf(__pyx_v_pandas_col, __pyx_v_col, NULL); if (unlikely(__pyx_t_3 == ((__pyx_t_7questdb_7ingress_void_int)-1))) __PYX_ERR(1, 921, __pyx_L1_error)
+0922: elif isinstance(dtype, _NUMPY_INT16):
__pyx_t_1 = __pyx_v_7questdb_7ingress__NUMPY_INT16; __Pyx_INCREF(__pyx_t_1); __pyx_t_2 = PyObject_IsInstance(__pyx_v_dtype, __pyx_t_1); if (unlikely(__pyx_t_2 == ((int)-1))) __PYX_ERR(1, 922, __pyx_L1_error) __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; if (__pyx_t_2) { /* … */ goto __pyx_L3; }
+0923: col.setup.source = col_source_t.col_source_i16_numpy
__pyx_v_col->setup->source = __pyx_e_7questdb_7ingress_col_source_i16_numpy;
+0924: _dataframe_series_as_pybuf(pandas_col, col)
__pyx_t_3 = __pyx_f_7questdb_7ingress__dataframe_series_as_pybuf(__pyx_v_pandas_col, __pyx_v_col, NULL); if (unlikely(__pyx_t_3 == ((__pyx_t_7questdb_7ingress_void_int)-1))) __PYX_ERR(1, 924, __pyx_L1_error)
+0925: elif isinstance(dtype, _NUMPY_UINT32):
__pyx_t_1 = __pyx_v_7questdb_7ingress__NUMPY_UINT32; __Pyx_INCREF(__pyx_t_1); __pyx_t_2 = PyObject_IsInstance(__pyx_v_dtype, __pyx_t_1); if (unlikely(__pyx_t_2 == ((int)-1))) __PYX_ERR(1, 925, __pyx_L1_error) __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; if (__pyx_t_2) { /* … */ goto __pyx_L3; }
+0926: col.setup.source = col_source_t.col_source_u32_numpy
__pyx_v_col->setup->source = __pyx_e_7questdb_7ingress_col_source_u32_numpy;
+0927: _dataframe_series_as_pybuf(pandas_col, col)
__pyx_t_3 = __pyx_f_7questdb_7ingress__dataframe_series_as_pybuf(__pyx_v_pandas_col, __pyx_v_col, NULL); if (unlikely(__pyx_t_3 == ((__pyx_t_7questdb_7ingress_void_int)-1))) __PYX_ERR(1, 927, __pyx_L1_error)
+0928: elif isinstance(dtype, _NUMPY_INT32):
__pyx_t_1 = __pyx_v_7questdb_7ingress__NUMPY_INT32; __Pyx_INCREF(__pyx_t_1); __pyx_t_2 = PyObject_IsInstance(__pyx_v_dtype, __pyx_t_1); if (unlikely(__pyx_t_2 == ((int)-1))) __PYX_ERR(1, 928, __pyx_L1_error) __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; if (__pyx_t_2) { /* … */ goto __pyx_L3; }
+0929: col.setup.source = col_source_t.col_source_i32_numpy
__pyx_v_col->setup->source = __pyx_e_7questdb_7ingress_col_source_i32_numpy;
+0930: _dataframe_series_as_pybuf(pandas_col, col)
__pyx_t_3 = __pyx_f_7questdb_7ingress__dataframe_series_as_pybuf(__pyx_v_pandas_col, __pyx_v_col, NULL); if (unlikely(__pyx_t_3 == ((__pyx_t_7questdb_7ingress_void_int)-1))) __PYX_ERR(1, 930, __pyx_L1_error)
+0931: elif isinstance(dtype, _NUMPY_UINT64):
__pyx_t_1 = __pyx_v_7questdb_7ingress__NUMPY_UINT64; __Pyx_INCREF(__pyx_t_1); __pyx_t_2 = PyObject_IsInstance(__pyx_v_dtype, __pyx_t_1); if (unlikely(__pyx_t_2 == ((int)-1))) __PYX_ERR(1, 931, __pyx_L1_error) __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; if (__pyx_t_2) { /* … */ goto __pyx_L3; }
+0932: col.setup.source = col_source_t.col_source_u64_numpy
__pyx_v_col->setup->source = __pyx_e_7questdb_7ingress_col_source_u64_numpy;
+0933: _dataframe_series_as_pybuf(pandas_col, col)
__pyx_t_3 = __pyx_f_7questdb_7ingress__dataframe_series_as_pybuf(__pyx_v_pandas_col, __pyx_v_col, NULL); if (unlikely(__pyx_t_3 == ((__pyx_t_7questdb_7ingress_void_int)-1))) __PYX_ERR(1, 933, __pyx_L1_error)
+0934: elif isinstance(dtype, _NUMPY_INT64):
__pyx_t_1 = __pyx_v_7questdb_7ingress__NUMPY_INT64; __Pyx_INCREF(__pyx_t_1); __pyx_t_2 = PyObject_IsInstance(__pyx_v_dtype, __pyx_t_1); if (unlikely(__pyx_t_2 == ((int)-1))) __PYX_ERR(1, 934, __pyx_L1_error) __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; if (__pyx_t_2) { /* … */ goto __pyx_L3; }
+0935: col.setup.source = col_source_t.col_source_i64_numpy
__pyx_v_col->setup->source = __pyx_e_7questdb_7ingress_col_source_i64_numpy;
+0936: _dataframe_series_as_pybuf(pandas_col, col)
__pyx_t_3 = __pyx_f_7questdb_7ingress__dataframe_series_as_pybuf(__pyx_v_pandas_col, __pyx_v_col, NULL); if (unlikely(__pyx_t_3 == ((__pyx_t_7questdb_7ingress_void_int)-1))) __PYX_ERR(1, 936, __pyx_L1_error)
+0937: elif isinstance(dtype, _PANDAS.UInt8Dtype):
__pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_7questdb_7ingress__PANDAS, __pyx_n_s_UInt8Dtype); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 937, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __pyx_t_2 = PyObject_IsInstance(__pyx_v_dtype, __pyx_t_1); if (unlikely(__pyx_t_2 == ((int)-1))) __PYX_ERR(1, 937, __pyx_L1_error) __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; if (__pyx_t_2) { /* … */ goto __pyx_L3; }
+0938: col.setup.source = col_source_t.col_source_u8_arrow
__pyx_v_col->setup->source = __pyx_e_7questdb_7ingress_col_source_u8_arrow;
+0939: _dataframe_series_as_arrow(pandas_col, col)
__pyx_t_3 = __pyx_f_7questdb_7ingress__dataframe_series_as_arrow(__pyx_v_pandas_col, __pyx_v_col); if (unlikely(__pyx_t_3 == ((__pyx_t_7questdb_7ingress_void_int)-1))) __PYX_ERR(1, 939, __pyx_L1_error)
+0940: elif isinstance(dtype, _PANDAS.Int8Dtype):
__pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_7questdb_7ingress__PANDAS, __pyx_n_s_Int8Dtype); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 940, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __pyx_t_2 = PyObject_IsInstance(__pyx_v_dtype, __pyx_t_1); if (unlikely(__pyx_t_2 == ((int)-1))) __PYX_ERR(1, 940, __pyx_L1_error) __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; if (__pyx_t_2) { /* … */ goto __pyx_L3; }
+0941: col.setup.source = col_source_t.col_source_i8_arrow
__pyx_v_col->setup->source = __pyx_e_7questdb_7ingress_col_source_i8_arrow;
+0942: _dataframe_series_as_arrow(pandas_col, col)
__pyx_t_3 = __pyx_f_7questdb_7ingress__dataframe_series_as_arrow(__pyx_v_pandas_col, __pyx_v_col); if (unlikely(__pyx_t_3 == ((__pyx_t_7questdb_7ingress_void_int)-1))) __PYX_ERR(1, 942, __pyx_L1_error)
+0943: elif isinstance(dtype, _PANDAS.UInt16Dtype):
__pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_7questdb_7ingress__PANDAS, __pyx_n_s_UInt16Dtype); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 943, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __pyx_t_2 = PyObject_IsInstance(__pyx_v_dtype, __pyx_t_1); if (unlikely(__pyx_t_2 == ((int)-1))) __PYX_ERR(1, 943, __pyx_L1_error) __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; if (__pyx_t_2) { /* … */ goto __pyx_L3; }
+0944: col.setup.source = col_source_t.col_source_u16_arrow
__pyx_v_col->setup->source = __pyx_e_7questdb_7ingress_col_source_u16_arrow;
+0945: _dataframe_series_as_arrow(pandas_col, col)
__pyx_t_3 = __pyx_f_7questdb_7ingress__dataframe_series_as_arrow(__pyx_v_pandas_col, __pyx_v_col); if (unlikely(__pyx_t_3 == ((__pyx_t_7questdb_7ingress_void_int)-1))) __PYX_ERR(1, 945, __pyx_L1_error)
+0946: elif isinstance(dtype, _PANDAS.Int16Dtype):
__pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_7questdb_7ingress__PANDAS, __pyx_n_s_Int16Dtype); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 946, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __pyx_t_2 = PyObject_IsInstance(__pyx_v_dtype, __pyx_t_1); if (unlikely(__pyx_t_2 == ((int)-1))) __PYX_ERR(1, 946, __pyx_L1_error) __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; if (__pyx_t_2) { /* … */ goto __pyx_L3; }
+0947: col.setup.source = col_source_t.col_source_i16_arrow
__pyx_v_col->setup->source = __pyx_e_7questdb_7ingress_col_source_i16_arrow;
+0948: _dataframe_series_as_arrow(pandas_col, col)
__pyx_t_3 = __pyx_f_7questdb_7ingress__dataframe_series_as_arrow(__pyx_v_pandas_col, __pyx_v_col); if (unlikely(__pyx_t_3 == ((__pyx_t_7questdb_7ingress_void_int)-1))) __PYX_ERR(1, 948, __pyx_L1_error)
+0949: elif isinstance(dtype, _PANDAS.UInt32Dtype):
__pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_7questdb_7ingress__PANDAS, __pyx_n_s_UInt32Dtype); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 949, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __pyx_t_2 = PyObject_IsInstance(__pyx_v_dtype, __pyx_t_1); if (unlikely(__pyx_t_2 == ((int)-1))) __PYX_ERR(1, 949, __pyx_L1_error) __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; if (__pyx_t_2) { /* … */ goto __pyx_L3; }
+0950: col.setup.source = col_source_t.col_source_u32_arrow
__pyx_v_col->setup->source = __pyx_e_7questdb_7ingress_col_source_u32_arrow;
+0951: _dataframe_series_as_arrow(pandas_col, col)
__pyx_t_3 = __pyx_f_7questdb_7ingress__dataframe_series_as_arrow(__pyx_v_pandas_col, __pyx_v_col); if (unlikely(__pyx_t_3 == ((__pyx_t_7questdb_7ingress_void_int)-1))) __PYX_ERR(1, 951, __pyx_L1_error)
+0952: elif isinstance(dtype, _PANDAS.Int32Dtype):
__pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_7questdb_7ingress__PANDAS, __pyx_n_s_Int32Dtype); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 952, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __pyx_t_2 = PyObject_IsInstance(__pyx_v_dtype, __pyx_t_1); if (unlikely(__pyx_t_2 == ((int)-1))) __PYX_ERR(1, 952, __pyx_L1_error) __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; if (__pyx_t_2) { /* … */ goto __pyx_L3; }
+0953: col.setup.source = col_source_t.col_source_i32_arrow
__pyx_v_col->setup->source = __pyx_e_7questdb_7ingress_col_source_i32_arrow;
+0954: _dataframe_series_as_arrow(pandas_col, col)
__pyx_t_3 = __pyx_f_7questdb_7ingress__dataframe_series_as_arrow(__pyx_v_pandas_col, __pyx_v_col); if (unlikely(__pyx_t_3 == ((__pyx_t_7questdb_7ingress_void_int)-1))) __PYX_ERR(1, 954, __pyx_L1_error)
+0955: elif isinstance(dtype, _PANDAS.UInt64Dtype):
__pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_7questdb_7ingress__PANDAS, __pyx_n_s_UInt64Dtype); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 955, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __pyx_t_2 = PyObject_IsInstance(__pyx_v_dtype, __pyx_t_1); if (unlikely(__pyx_t_2 == ((int)-1))) __PYX_ERR(1, 955, __pyx_L1_error) __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; if (__pyx_t_2) { /* … */ goto __pyx_L3; }
+0956: col.setup.source = col_source_t.col_source_u64_arrow
__pyx_v_col->setup->source = __pyx_e_7questdb_7ingress_col_source_u64_arrow;
+0957: _dataframe_series_as_arrow(pandas_col, col)
__pyx_t_3 = __pyx_f_7questdb_7ingress__dataframe_series_as_arrow(__pyx_v_pandas_col, __pyx_v_col); if (unlikely(__pyx_t_3 == ((__pyx_t_7questdb_7ingress_void_int)-1))) __PYX_ERR(1, 957, __pyx_L1_error)
+0958: elif isinstance(dtype, _PANDAS.Int64Dtype):
__pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_7questdb_7ingress__PANDAS, __pyx_n_s_Int64Dtype); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 958, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __pyx_t_2 = PyObject_IsInstance(__pyx_v_dtype, __pyx_t_1); if (unlikely(__pyx_t_2 == ((int)-1))) __PYX_ERR(1, 958, __pyx_L1_error) __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; if (__pyx_t_2) { /* … */ goto __pyx_L3; }
+0959: col.setup.source = col_source_t.col_source_i64_arrow
__pyx_v_col->setup->source = __pyx_e_7questdb_7ingress_col_source_i64_arrow;
+0960: _dataframe_series_as_arrow(pandas_col, col)
__pyx_t_3 = __pyx_f_7questdb_7ingress__dataframe_series_as_arrow(__pyx_v_pandas_col, __pyx_v_col); if (unlikely(__pyx_t_3 == ((__pyx_t_7questdb_7ingress_void_int)-1))) __PYX_ERR(1, 960, __pyx_L1_error)
+0961: elif isinstance(dtype, _NUMPY_FLOAT32):
__pyx_t_1 = __pyx_v_7questdb_7ingress__NUMPY_FLOAT32; __Pyx_INCREF(__pyx_t_1); __pyx_t_2 = PyObject_IsInstance(__pyx_v_dtype, __pyx_t_1); if (unlikely(__pyx_t_2 == ((int)-1))) __PYX_ERR(1, 961, __pyx_L1_error) __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; if (__pyx_t_2) { /* … */ goto __pyx_L3; }
+0962: col.setup.source = col_source_t.col_source_f32_numpy
__pyx_v_col->setup->source = __pyx_e_7questdb_7ingress_col_source_f32_numpy;
+0963: _dataframe_series_as_pybuf(pandas_col, col)
__pyx_t_3 = __pyx_f_7questdb_7ingress__dataframe_series_as_pybuf(__pyx_v_pandas_col, __pyx_v_col, NULL); if (unlikely(__pyx_t_3 == ((__pyx_t_7questdb_7ingress_void_int)-1))) __PYX_ERR(1, 963, __pyx_L1_error)
+0964: elif isinstance(dtype, _NUMPY_FLOAT64):
__pyx_t_1 = __pyx_v_7questdb_7ingress__NUMPY_FLOAT64; __Pyx_INCREF(__pyx_t_1); __pyx_t_2 = PyObject_IsInstance(__pyx_v_dtype, __pyx_t_1); if (unlikely(__pyx_t_2 == ((int)-1))) __PYX_ERR(1, 964, __pyx_L1_error) __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; if (__pyx_t_2) { /* … */ goto __pyx_L3; }
+0965: col.setup.source = col_source_t.col_source_f64_numpy
__pyx_v_col->setup->source = __pyx_e_7questdb_7ingress_col_source_f64_numpy;
+0966: _dataframe_series_as_pybuf(pandas_col, col)
__pyx_t_3 = __pyx_f_7questdb_7ingress__dataframe_series_as_pybuf(__pyx_v_pandas_col, __pyx_v_col, NULL); if (unlikely(__pyx_t_3 == ((__pyx_t_7questdb_7ingress_void_int)-1))) __PYX_ERR(1, 966, __pyx_L1_error)
+0967: elif isinstance(dtype, _PANDAS.Float32Dtype):
__pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_7questdb_7ingress__PANDAS, __pyx_n_s_Float32Dtype); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 967, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __pyx_t_2 = PyObject_IsInstance(__pyx_v_dtype, __pyx_t_1); if (unlikely(__pyx_t_2 == ((int)-1))) __PYX_ERR(1, 967, __pyx_L1_error) __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; if (__pyx_t_2) { /* … */ goto __pyx_L3; }
+0968: col.setup.source = col_source_t.col_source_f32_arrow
__pyx_v_col->setup->source = __pyx_e_7questdb_7ingress_col_source_f32_arrow;
+0969: _dataframe_series_as_arrow(pandas_col, col)
__pyx_t_3 = __pyx_f_7questdb_7ingress__dataframe_series_as_arrow(__pyx_v_pandas_col, __pyx_v_col); if (unlikely(__pyx_t_3 == ((__pyx_t_7questdb_7ingress_void_int)-1))) __PYX_ERR(1, 969, __pyx_L1_error)
+0970: elif isinstance(dtype, _PANDAS.Float64Dtype):
__pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_7questdb_7ingress__PANDAS, __pyx_n_s_Float64Dtype); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 970, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __pyx_t_2 = PyObject_IsInstance(__pyx_v_dtype, __pyx_t_1); if (unlikely(__pyx_t_2 == ((int)-1))) __PYX_ERR(1, 970, __pyx_L1_error) __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; if (__pyx_t_2) { /* … */ goto __pyx_L3; }
+0971: col.setup.source = col_source_t.col_source_f64_arrow
__pyx_v_col->setup->source = __pyx_e_7questdb_7ingress_col_source_f64_arrow;
+0972: _dataframe_series_as_arrow(pandas_col, col)
__pyx_t_3 = __pyx_f_7questdb_7ingress__dataframe_series_as_arrow(__pyx_v_pandas_col, __pyx_v_col); if (unlikely(__pyx_t_3 == ((__pyx_t_7questdb_7ingress_void_int)-1))) __PYX_ERR(1, 972, __pyx_L1_error)
+0973: elif isinstance(dtype, _PANDAS.StringDtype):
__pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_7questdb_7ingress__PANDAS, __pyx_n_s_StringDtype); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 973, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __pyx_t_2 = PyObject_IsInstance(__pyx_v_dtype, __pyx_t_1); if (unlikely(__pyx_t_2 == ((int)-1))) __PYX_ERR(1, 973, __pyx_L1_error) __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; if (__pyx_t_2) { /* … */ goto __pyx_L3; }
+0974: if dtype.storage == 'pyarrow':
__pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_dtype, __pyx_n_s_storage); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 974, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __pyx_t_2 = (__Pyx_PyUnicode_Equals(__pyx_t_1, __pyx_n_u_pyarrow, Py_EQ)); if (unlikely((__pyx_t_2 < 0))) __PYX_ERR(1, 974, __pyx_L1_error) __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; if (__pyx_t_2) { /* … */ goto __pyx_L4; }
+0975: col.setup.source = col_source_t.col_source_str_arrow
__pyx_v_col->setup->source = __pyx_e_7questdb_7ingress_col_source_str_arrow;
+0976: _dataframe_series_as_arrow(pandas_col, col)
__pyx_t_3 = __pyx_f_7questdb_7ingress__dataframe_series_as_arrow(__pyx_v_pandas_col, __pyx_v_col); if (unlikely(__pyx_t_3 == ((__pyx_t_7questdb_7ingress_void_int)-1))) __PYX_ERR(1, 976, __pyx_L1_error)
+0977: elif dtype.storage == 'python':
__pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_dtype, __pyx_n_s_storage); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 977, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __pyx_t_2 = (__Pyx_PyUnicode_Equals(__pyx_t_1, __pyx_n_u_python, Py_EQ)); if (unlikely((__pyx_t_2 < 0))) __PYX_ERR(1, 977, __pyx_L1_error) __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; if (likely(__pyx_t_2)) { /* … */ goto __pyx_L4; }
+0978: col.setup.source = col_source_t.col_source_str_pyobj
__pyx_v_col->setup->source = __pyx_e_7questdb_7ingress_col_source_str_pyobj;
+0979: _dataframe_series_as_pybuf(pandas_col, col)
__pyx_t_3 = __pyx_f_7questdb_7ingress__dataframe_series_as_pybuf(__pyx_v_pandas_col, __pyx_v_col, NULL); if (unlikely(__pyx_t_3 == ((__pyx_t_7questdb_7ingress_void_int)-1))) __PYX_ERR(1, 979, __pyx_L1_error)
0980: else:
+0981: raise IngressError(
/*else*/ { __Pyx_GetModuleGlobalName(__pyx_t_4, __pyx_n_s_IngressError); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 981, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4);
+0982: IngressErrorCode.BadDataFrame,
__Pyx_GetModuleGlobalName(__pyx_t_5, __pyx_n_s_IngressErrorCode); if (unlikely(!__pyx_t_5)) __PYX_ERR(1, 982, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_5); __pyx_t_6 = __Pyx_PyObject_GetAttrStr(__pyx_t_5, __pyx_n_s_BadDataFrame); if (unlikely(!__pyx_t_6)) __PYX_ERR(1, 982, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_6); __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
+0983: f'Unknown string dtype storage: f{dtype.storage} ' +
__pyx_t_5 = PyTuple_New(3); if (unlikely(!__pyx_t_5)) __PYX_ERR(1, 983, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_5); __pyx_t_7 = 0; __pyx_t_8 = 127; __Pyx_INCREF(__pyx_kp_u_Unknown_string_dtype_storage_f); __pyx_t_7 += 31; __Pyx_GIVEREF(__pyx_kp_u_Unknown_string_dtype_storage_f); PyTuple_SET_ITEM(__pyx_t_5, 0, __pyx_kp_u_Unknown_string_dtype_storage_f); __pyx_t_9 = __Pyx_PyObject_GetAttrStr(__pyx_v_dtype, __pyx_n_s_storage); if (unlikely(!__pyx_t_9)) __PYX_ERR(1, 983, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_9); __pyx_t_10 = __Pyx_PyObject_FormatSimple(__pyx_t_9, __pyx_empty_unicode); if (unlikely(!__pyx_t_10)) __PYX_ERR(1, 983, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_10); __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0; __pyx_t_8 = (__Pyx_PyUnicode_MAX_CHAR_VALUE(__pyx_t_10) > __pyx_t_8) ? __Pyx_PyUnicode_MAX_CHAR_VALUE(__pyx_t_10) : __pyx_t_8; __pyx_t_7 += __Pyx_PyUnicode_GET_LENGTH(__pyx_t_10); __Pyx_GIVEREF(__pyx_t_10); PyTuple_SET_ITEM(__pyx_t_5, 1, __pyx_t_10); __pyx_t_10 = 0; __Pyx_INCREF(__pyx_kp_u__22); __pyx_t_7 += 1; __Pyx_GIVEREF(__pyx_kp_u__22); PyTuple_SET_ITEM(__pyx_t_5, 2, __pyx_kp_u__22); __pyx_t_10 = __Pyx_PyUnicode_Join(__pyx_t_5, 3, __pyx_t_7, __pyx_t_8); if (unlikely(!__pyx_t_10)) __PYX_ERR(1, 983, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_10); __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; /* … */ __pyx_t_5 = __Pyx_PyUnicode_ConcatInPlace(__pyx_t_10, __pyx_t_9); if (unlikely(!__pyx_t_5)) __PYX_ERR(1, 983, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_5); __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0; __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0; __pyx_t_9 = NULL; __pyx_t_11 = 0; #if CYTHON_UNPACK_METHODS if (unlikely(PyMethod_Check(__pyx_t_4))) { __pyx_t_9 = PyMethod_GET_SELF(__pyx_t_4); if (likely(__pyx_t_9)) { PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_4); __Pyx_INCREF(__pyx_t_9); __Pyx_INCREF(function); __Pyx_DECREF_SET(__pyx_t_4, function); __pyx_t_11 = 1; } } #endif { PyObject *__pyx_callargs[3] = {__pyx_t_9, __pyx_t_6, __pyx_t_5}; __pyx_t_1 = __Pyx_PyObject_FastCall(__pyx_t_4, __pyx_callargs+1-__pyx_t_11, 2+__pyx_t_11); __Pyx_XDECREF(__pyx_t_9); __pyx_t_9 = 0; __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 981, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; } __Pyx_Raise(__pyx_t_1, 0, 0, 0); __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __PYX_ERR(1, 981, __pyx_L1_error) } __pyx_L4:;
+0984: f'for column {pandas_col.name} of dtype {dtype}.')
__pyx_t_5 = PyTuple_New(5); if (unlikely(!__pyx_t_5)) __PYX_ERR(1, 984, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_5); __pyx_t_7 = 0; __pyx_t_8 = 127; __Pyx_INCREF(__pyx_kp_u_for_column); __pyx_t_7 += 11; __Pyx_GIVEREF(__pyx_kp_u_for_column); PyTuple_SET_ITEM(__pyx_t_5, 0, __pyx_kp_u_for_column); __pyx_t_9 = __Pyx_PyUnicode_Unicode(__pyx_v_pandas_col->name); if (unlikely(!__pyx_t_9)) __PYX_ERR(1, 984, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_9); __pyx_t_8 = (__Pyx_PyUnicode_MAX_CHAR_VALUE(__pyx_t_9) > __pyx_t_8) ? __Pyx_PyUnicode_MAX_CHAR_VALUE(__pyx_t_9) : __pyx_t_8; __pyx_t_7 += __Pyx_PyUnicode_GET_LENGTH(__pyx_t_9); __Pyx_GIVEREF(__pyx_t_9); PyTuple_SET_ITEM(__pyx_t_5, 1, __pyx_t_9); __pyx_t_9 = 0; __Pyx_INCREF(__pyx_kp_u_of_dtype); __pyx_t_7 += 10; __Pyx_GIVEREF(__pyx_kp_u_of_dtype); PyTuple_SET_ITEM(__pyx_t_5, 2, __pyx_kp_u_of_dtype); __pyx_t_9 = __Pyx_PyObject_FormatSimple(__pyx_v_dtype, __pyx_empty_unicode); if (unlikely(!__pyx_t_9)) __PYX_ERR(1, 984, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_9); __pyx_t_8 = (__Pyx_PyUnicode_MAX_CHAR_VALUE(__pyx_t_9) > __pyx_t_8) ? __Pyx_PyUnicode_MAX_CHAR_VALUE(__pyx_t_9) : __pyx_t_8; __pyx_t_7 += __Pyx_PyUnicode_GET_LENGTH(__pyx_t_9); __Pyx_GIVEREF(__pyx_t_9); PyTuple_SET_ITEM(__pyx_t_5, 3, __pyx_t_9); __pyx_t_9 = 0; __Pyx_INCREF(__pyx_kp_u__5); __pyx_t_7 += 1; __Pyx_GIVEREF(__pyx_kp_u__5); PyTuple_SET_ITEM(__pyx_t_5, 4, __pyx_kp_u__5); __pyx_t_9 = __Pyx_PyUnicode_Join(__pyx_t_5, 5, __pyx_t_7, __pyx_t_8); if (unlikely(!__pyx_t_9)) __PYX_ERR(1, 984, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_9); __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
+0985: elif isinstance(dtype, _PANDAS.CategoricalDtype):
__pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_7questdb_7ingress__PANDAS, __pyx_n_s_CategoricalDtype); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 985, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __pyx_t_2 = PyObject_IsInstance(__pyx_v_dtype, __pyx_t_1); if (unlikely(__pyx_t_2 == ((int)-1))) __PYX_ERR(1, 985, __pyx_L1_error) __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; if (__pyx_t_2) { /* … */ goto __pyx_L3; }
+0986: _dataframe_category_series_as_arrow(pandas_col, col)
__pyx_t_3 = __pyx_f_7questdb_7ingress__dataframe_category_series_as_arrow(__pyx_v_pandas_col, __pyx_v_col); if (unlikely(__pyx_t_3 == ((__pyx_t_7questdb_7ingress_void_int)-1))) __PYX_ERR(1, 986, __pyx_L1_error)
+0987: elif (isinstance(dtype, _NUMPY_DATETIME64_NS) and
__pyx_t_1 = __pyx_v_7questdb_7ingress__NUMPY_DATETIME64_NS; __Pyx_INCREF(__pyx_t_1); __pyx_t_12 = PyObject_IsInstance(__pyx_v_dtype, __pyx_t_1); if (unlikely(__pyx_t_12 == ((int)-1))) __PYX_ERR(1, 987, __pyx_L1_error) __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; if (__pyx_t_12) { } else { __pyx_t_2 = __pyx_t_12; goto __pyx_L5_bool_binop_done; } /* … */ if (__pyx_t_2) { /* … */ goto __pyx_L3; }
+0988: _dataframe_is_supported_datetime(dtype)):
__pyx_t_1 = __pyx_f_7questdb_7ingress__dataframe_is_supported_datetime(__pyx_v_dtype); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 988, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __pyx_t_12 = __Pyx_PyObject_IsTrue(__pyx_t_1); if (unlikely((__pyx_t_12 < 0))) __PYX_ERR(1, 988, __pyx_L1_error) __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __pyx_t_2 = __pyx_t_12; __pyx_L5_bool_binop_done:;
+0989: col.setup.source = col_source_t.col_source_dt64ns_numpy
__pyx_v_col->setup->source = __pyx_e_7questdb_7ingress_col_source_dt64ns_numpy;
+0990: _dataframe_series_as_pybuf(pandas_col, col)
__pyx_t_3 = __pyx_f_7questdb_7ingress__dataframe_series_as_pybuf(__pyx_v_pandas_col, __pyx_v_col, NULL); if (unlikely(__pyx_t_3 == ((__pyx_t_7questdb_7ingress_void_int)-1))) __PYX_ERR(1, 990, __pyx_L1_error)
+0991: elif (isinstance(dtype, _PANDAS.DatetimeTZDtype) and
__pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_7questdb_7ingress__PANDAS, __pyx_n_s_DatetimeTZDtype); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 991, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __pyx_t_12 = PyObject_IsInstance(__pyx_v_dtype, __pyx_t_1); if (unlikely(__pyx_t_12 == ((int)-1))) __PYX_ERR(1, 991, __pyx_L1_error) __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; if (__pyx_t_12) { } else { __pyx_t_2 = __pyx_t_12; goto __pyx_L7_bool_binop_done; } /* … */ if (__pyx_t_2) { /* … */ goto __pyx_L3; }
+0992: _dataframe_is_supported_datetime(dtype)):
__pyx_t_1 = __pyx_f_7questdb_7ingress__dataframe_is_supported_datetime(__pyx_v_dtype); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 992, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __pyx_t_12 = __Pyx_PyObject_IsTrue(__pyx_t_1); if (unlikely((__pyx_t_12 < 0))) __PYX_ERR(1, 992, __pyx_L1_error) __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __pyx_t_2 = __pyx_t_12; __pyx_L7_bool_binop_done:;
+0993: col.setup.source = col_source_t.col_source_dt64ns_tz_arrow
__pyx_v_col->setup->source = __pyx_e_7questdb_7ingress_col_source_dt64ns_tz_arrow;
+0994: _dataframe_series_as_arrow(pandas_col, col)
__pyx_t_3 = __pyx_f_7questdb_7ingress__dataframe_series_as_arrow(__pyx_v_pandas_col, __pyx_v_col); if (unlikely(__pyx_t_3 == ((__pyx_t_7questdb_7ingress_void_int)-1))) __PYX_ERR(1, 994, __pyx_L1_error)
+0995: elif isinstance(dtype, _NUMPY_OBJECT):
__pyx_t_1 = __pyx_v_7questdb_7ingress__NUMPY_OBJECT; __Pyx_INCREF(__pyx_t_1); __pyx_t_2 = PyObject_IsInstance(__pyx_v_dtype, __pyx_t_1); if (unlikely(__pyx_t_2 == ((int)-1))) __PYX_ERR(1, 995, __pyx_L1_error) __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; if (likely(__pyx_t_2)) { /* … */ goto __pyx_L3; }
+0996: _dataframe_series_sniff_pyobj(pandas_col, col)
__pyx_t_3 = __pyx_f_7questdb_7ingress__dataframe_series_sniff_pyobj(__pyx_v_pandas_col, __pyx_v_col); if (unlikely(__pyx_t_3 == ((__pyx_t_7questdb_7ingress_void_int)-1))) __PYX_ERR(1, 996, __pyx_L1_error)
0997: else:
+0998: raise IngressError(
/*else*/ { __Pyx_GetModuleGlobalName(__pyx_t_4, __pyx_n_s_IngressError); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 998, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4);
+0999: IngressErrorCode.BadDataFrame,
__Pyx_GetModuleGlobalName(__pyx_t_5, __pyx_n_s_IngressErrorCode); if (unlikely(!__pyx_t_5)) __PYX_ERR(1, 999, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_5); __pyx_t_6 = __Pyx_PyObject_GetAttrStr(__pyx_t_5, __pyx_n_s_BadDataFrame); if (unlikely(!__pyx_t_6)) __PYX_ERR(1, 999, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_6); __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
+1000: f'Unsupported dtype {dtype} for column {pandas_col.name!r}. ' +
__pyx_t_5 = PyTuple_New(5); if (unlikely(!__pyx_t_5)) __PYX_ERR(1, 1000, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_5); __pyx_t_7 = 0; __pyx_t_8 = 127; __Pyx_INCREF(__pyx_kp_u_Unsupported_dtype); __pyx_t_7 += 18; __Pyx_GIVEREF(__pyx_kp_u_Unsupported_dtype); PyTuple_SET_ITEM(__pyx_t_5, 0, __pyx_kp_u_Unsupported_dtype); __pyx_t_9 = __Pyx_PyObject_FormatSimple(__pyx_v_dtype, __pyx_empty_unicode); if (unlikely(!__pyx_t_9)) __PYX_ERR(1, 1000, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_9); __pyx_t_8 = (__Pyx_PyUnicode_MAX_CHAR_VALUE(__pyx_t_9) > __pyx_t_8) ? __Pyx_PyUnicode_MAX_CHAR_VALUE(__pyx_t_9) : __pyx_t_8; __pyx_t_7 += __Pyx_PyUnicode_GET_LENGTH(__pyx_t_9); __Pyx_GIVEREF(__pyx_t_9); PyTuple_SET_ITEM(__pyx_t_5, 1, __pyx_t_9); __pyx_t_9 = 0; __Pyx_INCREF(__pyx_kp_u_for_column_2); __pyx_t_7 += 12; __Pyx_GIVEREF(__pyx_kp_u_for_column_2); PyTuple_SET_ITEM(__pyx_t_5, 2, __pyx_kp_u_for_column_2); __pyx_t_9 = __Pyx_PyObject_FormatSimpleAndDecref(PyObject_Repr(__pyx_v_pandas_col->name), __pyx_empty_unicode); if (unlikely(!__pyx_t_9)) __PYX_ERR(1, 1000, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_9); __pyx_t_8 = (__Pyx_PyUnicode_MAX_CHAR_VALUE(__pyx_t_9) > __pyx_t_8) ? __Pyx_PyUnicode_MAX_CHAR_VALUE(__pyx_t_9) : __pyx_t_8; __pyx_t_7 += __Pyx_PyUnicode_GET_LENGTH(__pyx_t_9); __Pyx_GIVEREF(__pyx_t_9); PyTuple_SET_ITEM(__pyx_t_5, 3, __pyx_t_9); __pyx_t_9 = 0; __Pyx_INCREF(__pyx_kp_u__18); __pyx_t_7 += 2; __Pyx_GIVEREF(__pyx_kp_u__18); PyTuple_SET_ITEM(__pyx_t_5, 4, __pyx_kp_u__18); __pyx_t_9 = __Pyx_PyUnicode_Join(__pyx_t_5, 5, __pyx_t_7, __pyx_t_8); if (unlikely(!__pyx_t_9)) __PYX_ERR(1, 1000, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_9); __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; __pyx_t_5 = __Pyx_PyUnicode_ConcatInPlace(__pyx_t_9, __pyx_kp_u_Raise_an_issue_if_you_think_it_s); if (unlikely(!__pyx_t_5)) __PYX_ERR(1, 1000, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_5); __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;
+1001: 'Raise an issue if you think it should be supported: ' +
__pyx_t_9 = __Pyx_PyUnicode_ConcatInPlace(__pyx_t_5, __pyx_kp_u_https_github_com_questdb_py_ques); if (unlikely(!__pyx_t_9)) __PYX_ERR(1, 1001, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_9); __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; __pyx_t_5 = NULL; __pyx_t_11 = 0; #if CYTHON_UNPACK_METHODS if (unlikely(PyMethod_Check(__pyx_t_4))) { __pyx_t_5 = PyMethod_GET_SELF(__pyx_t_4); if (likely(__pyx_t_5)) { PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_4); __Pyx_INCREF(__pyx_t_5); __Pyx_INCREF(function); __Pyx_DECREF_SET(__pyx_t_4, function); __pyx_t_11 = 1; } } #endif { PyObject *__pyx_callargs[3] = {__pyx_t_5, __pyx_t_6, __pyx_t_9}; __pyx_t_1 = __Pyx_PyObject_FastCall(__pyx_t_4, __pyx_callargs+1-__pyx_t_11, 2+__pyx_t_11); __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0; __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0; if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 998, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; } __Pyx_Raise(__pyx_t_1, 0, 0, 0); __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __PYX_ERR(1, 998, __pyx_L1_error) } __pyx_L3:;
1002: 'https://github.com/questdb/py-questdb-client/issues.')
1003:
1004:
+1005: cdef void_int _dataframe_resolve_target(
static __pyx_t_7questdb_7ingress_void_int __pyx_f_7questdb_7ingress__dataframe_resolve_target(struct __pyx_obj_7questdb_7ingress_PandasCol *__pyx_v_pandas_col, struct __pyx_t_7questdb_7ingress_col_t *__pyx_v_col) { enum __pyx_t_7questdb_7ingress_col_target_t __pyx_v_target; PyObject *__pyx_v_target_sources = 0; __pyx_t_7questdb_7ingress_void_int __pyx_r; /* … */ /* function exit code */ __pyx_L1_error:; __Pyx_XDECREF(__pyx_t_1); __Pyx_XDECREF(__pyx_t_4); __Pyx_XDECREF(__pyx_t_6); __Pyx_XDECREF(__pyx_t_7); __Pyx_XDECREF(__pyx_t_9); __Pyx_XDECREF(__pyx_t_10); __Pyx_AddTraceback("questdb.ingress._dataframe_resolve_target", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = -1; __pyx_L0:; __Pyx_XDECREF(__pyx_v_target_sources); __Pyx_RefNannyFinishContext(); return __pyx_r; }
1006: PandasCol pandas_col, col_t* col) except -1:
1007: cdef col_target_t target
1008: cdef set target_sources
+1009: if col.setup.meta_target in _DIRECT_META_TARGETS:
__pyx_t_1 = __Pyx_PyInt_From_enum____pyx_t_7questdb_7ingress_meta_target_t(__pyx_v_col->setup->meta_target); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 1009, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); if (unlikely(__pyx_v_7questdb_7ingress__DIRECT_META_TARGETS == Py_None)) { PyErr_SetString(PyExc_TypeError, "'NoneType' object is not iterable"); __PYX_ERR(1, 1009, __pyx_L1_error) } __pyx_t_2 = (__Pyx_PySet_ContainsTF(__pyx_t_1, __pyx_v_7questdb_7ingress__DIRECT_META_TARGETS, Py_EQ)); if (unlikely((__pyx_t_2 < 0))) __PYX_ERR(1, 1009, __pyx_L1_error) __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; if (__pyx_t_2) { /* … */ }
+1010: col.setup.target = <col_target_t><int>col.setup.meta_target
__pyx_v_col->setup->target = ((enum __pyx_t_7questdb_7ingress_col_target_t)((int)__pyx_v_col->setup->meta_target));
+1011: return 0
__pyx_r = 0; goto __pyx_L0;
+1012: for target in _FIELD_TARGETS:
if (unlikely(__pyx_v_7questdb_7ingress__FIELD_TARGETS == Py_None)) { PyErr_SetString(PyExc_TypeError, "'NoneType' object is not iterable"); __PYX_ERR(1, 1012, __pyx_L1_error) } __pyx_t_1 = __pyx_v_7questdb_7ingress__FIELD_TARGETS; __Pyx_INCREF(__pyx_t_1); __pyx_t_3 = 0; for (;;) { { Py_ssize_t __pyx_temp = __Pyx_PyTuple_GET_SIZE(__pyx_t_1); #if !CYTHON_ASSUME_SAFE_MACROS if (unlikely((__pyx_temp < 0))) __PYX_ERR(1, 1012, __pyx_L1_error) #endif if (__pyx_t_3 >= __pyx_temp) break; } #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS __pyx_t_4 = PyTuple_GET_ITEM(__pyx_t_1, __pyx_t_3); __Pyx_INCREF(__pyx_t_4); __pyx_t_3++; if (unlikely((0 < 0))) __PYX_ERR(1, 1012, __pyx_L1_error) #else __pyx_t_4 = __Pyx_PySequence_ITEM(__pyx_t_1, __pyx_t_3); __pyx_t_3++; if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 1012, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); #endif __pyx_t_5 = ((enum __pyx_t_7questdb_7ingress_col_target_t)__Pyx_PyInt_As_enum____pyx_t_7questdb_7ingress_col_target_t(__pyx_t_4)); if (unlikely(PyErr_Occurred())) __PYX_ERR(1, 1012, __pyx_L1_error) __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; __pyx_v_target = __pyx_t_5; /* … */ } __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
+1013: target_sources = _TARGET_TO_SOURCES[target]
if (unlikely(__pyx_v_7questdb_7ingress__TARGET_TO_SOURCES == Py_None)) { PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable"); __PYX_ERR(1, 1013, __pyx_L1_error) } __pyx_t_4 = __Pyx_PyInt_From_enum____pyx_t_7questdb_7ingress_col_target_t(__pyx_v_target); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 1013, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); __pyx_t_6 = __Pyx_PyDict_GetItem(__pyx_v_7questdb_7ingress__TARGET_TO_SOURCES, __pyx_t_4); if (unlikely(!__pyx_t_6)) __PYX_ERR(1, 1013, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_6); __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; if (!(likely(PySet_CheckExact(__pyx_t_6))||((__pyx_t_6) == Py_None) || __Pyx_RaiseUnexpectedTypeError("set", __pyx_t_6))) __PYX_ERR(1, 1013, __pyx_L1_error) __Pyx_XDECREF_SET(__pyx_v_target_sources, ((PyObject*)__pyx_t_6)); __pyx_t_6 = 0;
+1014: if col.setup.source in target_sources:
__pyx_t_6 = __Pyx_PyInt_From_enum____pyx_t_7questdb_7ingress_col_source_t(__pyx_v_col->setup->source); if (unlikely(!__pyx_t_6)) __PYX_ERR(1, 1014, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_6); if (unlikely(__pyx_v_target_sources == Py_None)) { PyErr_SetString(PyExc_TypeError, "'NoneType' object is not iterable"); __PYX_ERR(1, 1014, __pyx_L1_error) } __pyx_t_2 = (__Pyx_PySet_ContainsTF(__pyx_t_6, __pyx_v_target_sources, Py_EQ)); if (unlikely((__pyx_t_2 < 0))) __PYX_ERR(1, 1014, __pyx_L1_error) __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; if (__pyx_t_2) { /* … */ }
+1015: col.setup.target = target
__pyx_v_col->setup->target = __pyx_v_target;
+1016: return 0
__pyx_r = 0;
__Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
goto __pyx_L0;
+1017: raise IngressError(
__Pyx_GetModuleGlobalName(__pyx_t_6, __pyx_n_s_IngressError); if (unlikely(!__pyx_t_6)) __PYX_ERR(1, 1017, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_6);
+1018: IngressErrorCode.BadDataFrame,
__Pyx_GetModuleGlobalName(__pyx_t_4, __pyx_n_s_IngressErrorCode); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 1018, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); __pyx_t_7 = __Pyx_PyObject_GetAttrStr(__pyx_t_4, __pyx_n_s_BadDataFrame); if (unlikely(!__pyx_t_7)) __PYX_ERR(1, 1018, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_7); __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
+1019: f'Could not map column source type (code {col.setup.source} for ' +
__pyx_t_4 = PyTuple_New(3); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 1019, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); __pyx_t_3 = 0; __pyx_t_8 = 127; __Pyx_INCREF(__pyx_kp_u_Could_not_map_column_source_type); __pyx_t_3 += 39; __Pyx_GIVEREF(__pyx_kp_u_Could_not_map_column_source_type); PyTuple_SET_ITEM(__pyx_t_4, 0, __pyx_kp_u_Could_not_map_column_source_type); __pyx_t_9 = __Pyx_PyUnicode_From_enum____pyx_t_7questdb_7ingress_col_source_t(__pyx_v_col->setup->source, 0, ' ', 'd'); if (unlikely(!__pyx_t_9)) __PYX_ERR(1, 1019, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_9); __pyx_t_8 = (__Pyx_PyUnicode_MAX_CHAR_VALUE(__pyx_t_9) > __pyx_t_8) ? __Pyx_PyUnicode_MAX_CHAR_VALUE(__pyx_t_9) : __pyx_t_8; __pyx_t_3 += __Pyx_PyUnicode_GET_LENGTH(__pyx_t_9); __Pyx_GIVEREF(__pyx_t_9); PyTuple_SET_ITEM(__pyx_t_4, 1, __pyx_t_9); __pyx_t_9 = 0; __Pyx_INCREF(__pyx_kp_u_for); __pyx_t_3 += 5; __Pyx_GIVEREF(__pyx_kp_u_for); PyTuple_SET_ITEM(__pyx_t_4, 2, __pyx_kp_u_for); __pyx_t_9 = __Pyx_PyUnicode_Join(__pyx_t_4, 3, __pyx_t_3, __pyx_t_8); if (unlikely(!__pyx_t_9)) __PYX_ERR(1, 1019, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_9); __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; /* … */ __pyx_t_4 = __Pyx_PyUnicode_ConcatInPlace(__pyx_t_9, __pyx_t_10); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 1019, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0; __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0;
+1020: f'column {pandas_col.name!r} ' +
__pyx_t_4 = PyTuple_New(3); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 1020, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); __pyx_t_3 = 0; __pyx_t_8 = 127; __Pyx_INCREF(__pyx_kp_u_column_2); __pyx_t_3 += 7; __Pyx_GIVEREF(__pyx_kp_u_column_2); PyTuple_SET_ITEM(__pyx_t_4, 0, __pyx_kp_u_column_2); __pyx_t_10 = __Pyx_PyObject_FormatSimpleAndDecref(PyObject_Repr(__pyx_v_pandas_col->name), __pyx_empty_unicode); if (unlikely(!__pyx_t_10)) __PYX_ERR(1, 1020, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_10); __pyx_t_8 = (__Pyx_PyUnicode_MAX_CHAR_VALUE(__pyx_t_10) > __pyx_t_8) ? __Pyx_PyUnicode_MAX_CHAR_VALUE(__pyx_t_10) : __pyx_t_8; __pyx_t_3 += __Pyx_PyUnicode_GET_LENGTH(__pyx_t_10); __Pyx_GIVEREF(__pyx_t_10); PyTuple_SET_ITEM(__pyx_t_4, 1, __pyx_t_10); __pyx_t_10 = 0; __Pyx_INCREF(__pyx_kp_u__22); __pyx_t_3 += 1; __Pyx_GIVEREF(__pyx_kp_u__22); PyTuple_SET_ITEM(__pyx_t_4, 2, __pyx_kp_u__22); __pyx_t_10 = __Pyx_PyUnicode_Join(__pyx_t_4, 3, __pyx_t_3, __pyx_t_8); if (unlikely(!__pyx_t_10)) __PYX_ERR(1, 1020, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_10); __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; /* … */ __pyx_t_10 = __Pyx_PyUnicode_ConcatInPlace(__pyx_t_4, __pyx_t_9); if (unlikely(!__pyx_t_10)) __PYX_ERR(1, 1020, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_10); __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0; __pyx_t_9 = NULL; __pyx_t_11 = 0; #if CYTHON_UNPACK_METHODS if (unlikely(PyMethod_Check(__pyx_t_6))) { __pyx_t_9 = PyMethod_GET_SELF(__pyx_t_6); if (likely(__pyx_t_9)) { PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_6); __Pyx_INCREF(__pyx_t_9); __Pyx_INCREF(function); __Pyx_DECREF_SET(__pyx_t_6, function); __pyx_t_11 = 1; } } #endif { PyObject *__pyx_callargs[3] = {__pyx_t_9, __pyx_t_7, __pyx_t_10}; __pyx_t_1 = __Pyx_PyObject_FastCall(__pyx_t_6, __pyx_callargs+1-__pyx_t_11, 2+__pyx_t_11); __Pyx_XDECREF(__pyx_t_9); __pyx_t_9 = 0; __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0; if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 1017, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; } __Pyx_Raise(__pyx_t_1, 0, 0, 0); __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __PYX_ERR(1, 1017, __pyx_L1_error)
+1021: f' ({pandas_col.dtype}) to any ILP type.')
__pyx_t_10 = PyTuple_New(3); if (unlikely(!__pyx_t_10)) __PYX_ERR(1, 1021, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_10); __pyx_t_3 = 0; __pyx_t_8 = 127; __Pyx_INCREF(__pyx_kp_u__20); __pyx_t_3 += 2; __Pyx_GIVEREF(__pyx_kp_u__20); PyTuple_SET_ITEM(__pyx_t_10, 0, __pyx_kp_u__20); __pyx_t_9 = __Pyx_PyObject_FormatSimple(__pyx_v_pandas_col->dtype, __pyx_empty_unicode); if (unlikely(!__pyx_t_9)) __PYX_ERR(1, 1021, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_9); __pyx_t_8 = (__Pyx_PyUnicode_MAX_CHAR_VALUE(__pyx_t_9) > __pyx_t_8) ? __Pyx_PyUnicode_MAX_CHAR_VALUE(__pyx_t_9) : __pyx_t_8; __pyx_t_3 += __Pyx_PyUnicode_GET_LENGTH(__pyx_t_9); __Pyx_GIVEREF(__pyx_t_9); PyTuple_SET_ITEM(__pyx_t_10, 1, __pyx_t_9); __pyx_t_9 = 0; __Pyx_INCREF(__pyx_kp_u_to_any_ILP_type); __pyx_t_3 += 18; __Pyx_GIVEREF(__pyx_kp_u_to_any_ILP_type); PyTuple_SET_ITEM(__pyx_t_10, 2, __pyx_kp_u_to_any_ILP_type); __pyx_t_9 = __Pyx_PyUnicode_Join(__pyx_t_10, 3, __pyx_t_3, __pyx_t_8); if (unlikely(!__pyx_t_9)) __PYX_ERR(1, 1021, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_9); __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0;
1022:
1023:
+1024: cdef void _dataframe_init_cursor(col_t* col) noexcept nogil:
static void __pyx_f_7questdb_7ingress__dataframe_init_cursor(struct __pyx_t_7questdb_7ingress_col_t *__pyx_v_col) { /* … */ /* function exit code */ }
+1025: col.cursor.chunk = col.setup.chunks.chunks
__pyx_t_1 = __pyx_v_col->setup->chunks.chunks; __pyx_v_col->cursor.chunk = __pyx_t_1;
+1026: col.cursor.chunk_index = 0
__pyx_v_col->cursor.chunk_index = 0;
+1027: col.cursor.offset = col.cursor.chunk.offset
__pyx_t_2 = __pyx_v_col->cursor.chunk->offset; __pyx_v_col->cursor.offset = __pyx_t_2;
1028:
1029:
+1030: cdef void_int _dataframe_resolve_cols(
static __pyx_t_7questdb_7ingress_void_int __pyx_f_7questdb_7ingress__dataframe_resolve_cols(CYTHON_UNUSED struct qdb_pystr_buf *__pyx_v_b, PyObject *__pyx_v_pandas_cols, struct __pyx_t_7questdb_7ingress_col_t_arr *__pyx_v_cols, int *__pyx_v_any_cols_need_gil_out) { size_t __pyx_v_index; size_t __pyx_v_len_dataframe_cols; struct __pyx_obj_7questdb_7ingress_PandasCol *__pyx_v_pandas_col = 0; struct __pyx_t_7questdb_7ingress_col_t *__pyx_v_col; __pyx_t_7questdb_7ingress_void_int __pyx_r; /* … */ /* function exit code */ __pyx_r = 0; goto __pyx_L0; __pyx_L1_error:; __Pyx_XDECREF(__pyx_t_5); __Pyx_AddTraceback("questdb.ingress._dataframe_resolve_cols", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = -1; __pyx_L0:; __Pyx_XDECREF((PyObject *)__pyx_v_pandas_col); __Pyx_RefNannyFinishContext(); return __pyx_r; }
1031: qdb_pystr_buf* b,
1032: list pandas_cols,
1033: col_t_arr* cols,
1034: bint* any_cols_need_gil_out) except -1:
1035: cdef size_t index
+1036: cdef size_t len_dataframe_cols = len(pandas_cols)
if (unlikely(__pyx_v_pandas_cols == Py_None)) { PyErr_SetString(PyExc_TypeError, "object of type 'NoneType' has no len()"); __PYX_ERR(1, 1036, __pyx_L1_error) } __pyx_t_1 = __Pyx_PyList_GET_SIZE(__pyx_v_pandas_cols); if (unlikely(__pyx_t_1 == ((Py_ssize_t)-1))) __PYX_ERR(1, 1036, __pyx_L1_error) __pyx_v_len_dataframe_cols = __pyx_t_1;
1037: cdef PandasCol pandas_col
1038: cdef col_t* col
+1039: any_cols_need_gil_out[0] = False
(__pyx_v_any_cols_need_gil_out[0]) = 0;
+1040: for index in range(len_dataframe_cols):
__pyx_t_2 = __pyx_v_len_dataframe_cols; __pyx_t_3 = __pyx_t_2; for (__pyx_t_4 = 0; __pyx_t_4 < __pyx_t_3; __pyx_t_4+=1) { __pyx_v_index = __pyx_t_4;
+1041: pandas_col = pandas_cols[index]
if (unlikely(__pyx_v_pandas_cols == Py_None)) { PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable"); __PYX_ERR(1, 1041, __pyx_L1_error) } __pyx_t_5 = __Pyx_GetItemInt_List(__pyx_v_pandas_cols, __pyx_v_index, size_t, 0, __Pyx_PyInt_FromSize_t, 1, 0, 1); if (unlikely(!__pyx_t_5)) __PYX_ERR(1, 1041, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_5); if (!(likely(((__pyx_t_5) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_5, __pyx_ptype_7questdb_7ingress_PandasCol))))) __PYX_ERR(1, 1041, __pyx_L1_error) __Pyx_XDECREF_SET(__pyx_v_pandas_col, ((struct __pyx_obj_7questdb_7ingress_PandasCol *)__pyx_t_5)); __pyx_t_5 = 0;
+1042: col = &cols.d[index]
__pyx_v_col = (&(__pyx_v_cols->d[__pyx_v_index]));
1043:
1044: # The target is resolved in stages:
1045: # * We first assign all column `.meta_target`s to be fields.
1046: # * Then, depending on argument parsing some/none of the columns
1047: # obtain a meta-target of "table", "symbol" or "at".
1048: # * Finally, based on the source, any remaining "meta_target_field"
1049: # columns are converted to the appropriate target.
1050: # See: _dataframe_resolve_col_targets_and_dc(..).
+1051: col.setup.meta_target = meta_target_t.meta_target_field
__pyx_v_col->setup->meta_target = __pyx_e_7questdb_7ingress_meta_target_field;
1052:
1053: # We will sort columns later. The index will be used to achieve a stable
1054: # sort among columns with the same `.meta_target`.
+1055: col.setup.orig_index = index
__pyx_v_col->setup->orig_index = __pyx_v_index;
1056:
+1057: _dataframe_resolve_source_and_buffers(pandas_col, col)
__pyx_t_6 = __pyx_f_7questdb_7ingress__dataframe_resolve_source_and_buffers(__pyx_v_pandas_col, __pyx_v_col); if (unlikely(__pyx_t_6 == ((__pyx_t_7questdb_7ingress_void_int)-1))) __PYX_ERR(1, 1057, __pyx_L1_error)
+1058: _dataframe_init_cursor(col)
__pyx_f_7questdb_7ingress__dataframe_init_cursor(__pyx_v_col);
+1059: if col_source_needs_gil(col.setup.source):
__pyx_t_7 = __pyx_f_7questdb_7ingress_col_source_needs_gil(__pyx_v_col->setup->source); if (__pyx_t_7) { /* … */ } }
+1060: any_cols_need_gil_out[0] = True
(__pyx_v_any_cols_need_gil_out[0]) = 1;
1061:
1062:
+1063: cdef void_int _dataframe_resolve_cols_target_name_and_dc(
static __pyx_t_7questdb_7ingress_void_int __pyx_f_7questdb_7ingress__dataframe_resolve_cols_target_name_and_dc(struct qdb_pystr_buf *__pyx_v_b, PyObject *__pyx_v_pandas_cols, struct __pyx_t_7questdb_7ingress_col_t_arr *__pyx_v_cols) { size_t __pyx_v_index; struct __pyx_t_7questdb_7ingress_col_t *__pyx_v_col; struct __pyx_obj_7questdb_7ingress_PandasCol *__pyx_v_pandas_col = 0; __pyx_t_7questdb_7ingress_void_int __pyx_r; /* … */ /* function exit code */ __pyx_r = 0; goto __pyx_L0; __pyx_L1_error:; __Pyx_XDECREF(__pyx_t_4); __Pyx_XDECREF(__pyx_t_6); __Pyx_XDECREF(__pyx_t_7); __Pyx_XDECREF(__pyx_t_11); __Pyx_AddTraceback("questdb.ingress._dataframe_resolve_cols_target_name_and_dc", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = -1; __pyx_L0:; __Pyx_XDECREF((PyObject *)__pyx_v_pandas_col); __Pyx_RefNannyFinishContext(); return __pyx_r; }
1064: qdb_pystr_buf* b,
1065: list pandas_cols,
1066: col_t_arr* cols) except -1:
1067: cdef size_t index
1068: cdef col_t* col
1069: cdef PandasCol pandas_col
+1070: for index in range(cols.size):
__pyx_t_1 = __pyx_v_cols->size; __pyx_t_2 = __pyx_t_1; for (__pyx_t_3 = 0; __pyx_t_3 < __pyx_t_2; __pyx_t_3+=1) { __pyx_v_index = __pyx_t_3;
+1071: col = &cols.d[index]
__pyx_v_col = (&(__pyx_v_cols->d[__pyx_v_index]));
+1072: pandas_col = pandas_cols[index]
if (unlikely(__pyx_v_pandas_cols == Py_None)) { PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable"); __PYX_ERR(1, 1072, __pyx_L1_error) } __pyx_t_4 = __Pyx_GetItemInt_List(__pyx_v_pandas_cols, __pyx_v_index, size_t, 0, __Pyx_PyInt_FromSize_t, 1, 0, 1); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 1072, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); if (!(likely(((__pyx_t_4) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_4, __pyx_ptype_7questdb_7ingress_PandasCol))))) __PYX_ERR(1, 1072, __pyx_L1_error) __Pyx_XDECREF_SET(__pyx_v_pandas_col, ((struct __pyx_obj_7questdb_7ingress_PandasCol *)__pyx_t_4)); __pyx_t_4 = 0;
+1073: _dataframe_resolve_target(pandas_col, col)
__pyx_t_5 = __pyx_f_7questdb_7ingress__dataframe_resolve_target(__pyx_v_pandas_col, __pyx_v_col); if (unlikely(__pyx_t_5 == ((__pyx_t_7questdb_7ingress_void_int)-1))) __PYX_ERR(1, 1073, __pyx_L1_error)
+1074: if col.setup.source not in _TARGET_TO_SOURCES[col.setup.target]:
__pyx_t_4 = __Pyx_PyInt_From_enum____pyx_t_7questdb_7ingress_col_source_t(__pyx_v_col->setup->source); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 1074, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); if (unlikely(__pyx_v_7questdb_7ingress__TARGET_TO_SOURCES == Py_None)) { PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable"); __PYX_ERR(1, 1074, __pyx_L1_error) } __pyx_t_6 = __Pyx_PyInt_From_enum____pyx_t_7questdb_7ingress_col_target_t(__pyx_v_col->setup->target); if (unlikely(!__pyx_t_6)) __PYX_ERR(1, 1074, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_6); __pyx_t_7 = __Pyx_PyDict_GetItem(__pyx_v_7questdb_7ingress__TARGET_TO_SOURCES, __pyx_t_6); if (unlikely(!__pyx_t_7)) __PYX_ERR(1, 1074, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_7); __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; __pyx_t_8 = (__Pyx_PySequence_ContainsTF(__pyx_t_4, __pyx_t_7, Py_NE)); if (unlikely((__pyx_t_8 < 0))) __PYX_ERR(1, 1074, __pyx_L1_error) __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; if (unlikely(__pyx_t_8)) { /* … */ }
+1075: raise ValueError(
__pyx_t_4 = __Pyx_PyObject_CallOneArg(__pyx_builtin_ValueError, __pyx_t_6); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 1075, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; __Pyx_Raise(__pyx_t_4, 0, 0, 0); __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; __PYX_ERR(1, 1075, __pyx_L1_error)
+1076: f'Bad value: Column {pandas_col.name!r} ' +
__pyx_t_7 = PyTuple_New(3); if (unlikely(!__pyx_t_7)) __PYX_ERR(1, 1076, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_7); __pyx_t_9 = 0; __pyx_t_10 = 127; __Pyx_INCREF(__pyx_kp_u_Bad_value_Column); __pyx_t_9 += 18; __Pyx_GIVEREF(__pyx_kp_u_Bad_value_Column); PyTuple_SET_ITEM(__pyx_t_7, 0, __pyx_kp_u_Bad_value_Column); __pyx_t_4 = __Pyx_PyObject_FormatSimpleAndDecref(PyObject_Repr(__pyx_v_pandas_col->name), __pyx_empty_unicode); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 1076, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); __pyx_t_10 = (__Pyx_PyUnicode_MAX_CHAR_VALUE(__pyx_t_4) > __pyx_t_10) ? __Pyx_PyUnicode_MAX_CHAR_VALUE(__pyx_t_4) : __pyx_t_10; __pyx_t_9 += __Pyx_PyUnicode_GET_LENGTH(__pyx_t_4); __Pyx_GIVEREF(__pyx_t_4); PyTuple_SET_ITEM(__pyx_t_7, 1, __pyx_t_4); __pyx_t_4 = 0; __Pyx_INCREF(__pyx_kp_u__22); __pyx_t_9 += 1; __Pyx_GIVEREF(__pyx_kp_u__22); PyTuple_SET_ITEM(__pyx_t_7, 2, __pyx_kp_u__22); __pyx_t_4 = __Pyx_PyUnicode_Join(__pyx_t_7, 3, __pyx_t_9, __pyx_t_10); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 1076, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; /* … */ __pyx_t_7 = __Pyx_PyUnicode_ConcatInPlace(__pyx_t_4, __pyx_t_6); if (unlikely(!__pyx_t_7)) __PYX_ERR(1, 1076, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_7); __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
+1077: f'({pandas_col.dtype}) is not ' +
__pyx_t_7 = PyTuple_New(3); if (unlikely(!__pyx_t_7)) __PYX_ERR(1, 1077, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_7); __pyx_t_9 = 0; __pyx_t_10 = 127; __Pyx_INCREF(__pyx_kp_u__16); __pyx_t_9 += 1; __Pyx_GIVEREF(__pyx_kp_u__16); PyTuple_SET_ITEM(__pyx_t_7, 0, __pyx_kp_u__16); __pyx_t_6 = __Pyx_PyObject_FormatSimple(__pyx_v_pandas_col->dtype, __pyx_empty_unicode); if (unlikely(!__pyx_t_6)) __PYX_ERR(1, 1077, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_6); __pyx_t_10 = (__Pyx_PyUnicode_MAX_CHAR_VALUE(__pyx_t_6) > __pyx_t_10) ? __Pyx_PyUnicode_MAX_CHAR_VALUE(__pyx_t_6) : __pyx_t_10; __pyx_t_9 += __Pyx_PyUnicode_GET_LENGTH(__pyx_t_6); __Pyx_GIVEREF(__pyx_t_6); PyTuple_SET_ITEM(__pyx_t_7, 1, __pyx_t_6); __pyx_t_6 = 0; __Pyx_INCREF(__pyx_kp_u_is_not); __pyx_t_9 += 9; __Pyx_GIVEREF(__pyx_kp_u_is_not); PyTuple_SET_ITEM(__pyx_t_7, 2, __pyx_kp_u_is_not); __pyx_t_6 = __Pyx_PyUnicode_Join(__pyx_t_7, 3, __pyx_t_9, __pyx_t_10); if (unlikely(!__pyx_t_6)) __PYX_ERR(1, 1077, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_6); __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; /* … */ __pyx_t_6 = __Pyx_PyUnicode_ConcatInPlace(__pyx_t_7, __pyx_t_4); if (unlikely(!__pyx_t_6)) __PYX_ERR(1, 1077, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_6); __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
+1078: f'supported as a {_TARGET_NAMES[col.setup.target]} column.')
__pyx_t_6 = PyTuple_New(3); if (unlikely(!__pyx_t_6)) __PYX_ERR(1, 1078, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_6); __pyx_t_9 = 0; __pyx_t_10 = 127; __Pyx_INCREF(__pyx_kp_u_supported_as_a); __pyx_t_9 += 15; __Pyx_GIVEREF(__pyx_kp_u_supported_as_a); PyTuple_SET_ITEM(__pyx_t_6, 0, __pyx_kp_u_supported_as_a); if (unlikely(__pyx_v_7questdb_7ingress__TARGET_NAMES == Py_None)) { PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable"); __PYX_ERR(1, 1078, __pyx_L1_error) } __pyx_t_4 = __Pyx_PyInt_From_enum____pyx_t_7questdb_7ingress_col_target_t(__pyx_v_col->setup->target); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 1078, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); __pyx_t_11 = __Pyx_PyDict_GetItem(__pyx_v_7questdb_7ingress__TARGET_NAMES, __pyx_t_4); if (unlikely(!__pyx_t_11)) __PYX_ERR(1, 1078, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_11); __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; __pyx_t_4 = __Pyx_PyObject_FormatSimple(__pyx_t_11, __pyx_empty_unicode); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 1078, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0; __pyx_t_10 = (__Pyx_PyUnicode_MAX_CHAR_VALUE(__pyx_t_4) > __pyx_t_10) ? __Pyx_PyUnicode_MAX_CHAR_VALUE(__pyx_t_4) : __pyx_t_10; __pyx_t_9 += __Pyx_PyUnicode_GET_LENGTH(__pyx_t_4); __Pyx_GIVEREF(__pyx_t_4); PyTuple_SET_ITEM(__pyx_t_6, 1, __pyx_t_4); __pyx_t_4 = 0; __Pyx_INCREF(__pyx_kp_u_column); __pyx_t_9 += 8; __Pyx_GIVEREF(__pyx_kp_u_column); PyTuple_SET_ITEM(__pyx_t_6, 2, __pyx_kp_u_column); __pyx_t_4 = __Pyx_PyUnicode_Join(__pyx_t_6, 3, __pyx_t_9, __pyx_t_10); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 1078, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
+1079: col.dispatch_code = <col_dispatch_code_t>(
__pyx_v_col->dispatch_code = ((enum __pyx_t_7questdb_7ingress_col_dispatch_code_t)(((int)__pyx_v_col->setup->source) + ((int)__pyx_v_col->setup->target)));
1080: <int>col.setup.source + <int>col.setup.target)
1081:
1082: # Since we don't need to send the column names for 'table' and
1083: # 'at' columns, we don't need to validate and encode them as
1084: # column names. This allows unsupported names for these columns.
+1085: if ((col.setup.meta_target != meta_target_t.meta_target_table) and
switch (__pyx_v_col->setup->meta_target) { case __pyx_e_7questdb_7ingress_meta_target_table: case __pyx_e_7questdb_7ingress_meta_target_at: /* … */ __pyx_t_8 = 0; /* … */ break; default: __pyx_t_8 = 1; break; } if (__pyx_t_8) { /* … */ } }
1086: (col.setup.meta_target != meta_target_t.meta_target_at)):
+1087: str_to_column_name_copy(b, pandas_col.name, &col.name)
__pyx_t_4 = __pyx_v_pandas_col->name; __Pyx_INCREF(__pyx_t_4); __pyx_t_5 = __pyx_f_7questdb_7ingress_str_to_column_name_copy(__pyx_v_b, ((PyObject*)__pyx_t_4), (&__pyx_v_col->name)); if (unlikely(__pyx_t_5 == ((__pyx_t_7questdb_7ingress_void_int)-1))) __PYX_ERR(1, 1087, __pyx_L1_error) __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
1088:
1089:
+1090: cdef int _dataframe_compare_cols(const void* lhs, const void* rhs) noexcept nogil:
static int __pyx_f_7questdb_7ingress__dataframe_compare_cols(void const *__pyx_v_lhs, void const *__pyx_v_rhs) { struct __pyx_t_7questdb_7ingress_col_t *__pyx_v_lhs_col; struct __pyx_t_7questdb_7ingress_col_t *__pyx_v_rhs_col; int __pyx_v_source_diff; int __pyx_r; /* … */ /* function exit code */ __pyx_L0:; return __pyx_r; }
+1091: cdef col_t* lhs_col = <col_t*>lhs
__pyx_v_lhs_col = ((struct __pyx_t_7questdb_7ingress_col_t *)__pyx_v_lhs);
+1092: cdef col_t* rhs_col = <col_t*>rhs
__pyx_v_rhs_col = ((struct __pyx_t_7questdb_7ingress_col_t *)__pyx_v_rhs);
+1093: cdef int source_diff = lhs_col.setup.meta_target - rhs_col.setup.meta_target
__pyx_v_source_diff = (__pyx_v_lhs_col->setup->meta_target - __pyx_v_rhs_col->setup->meta_target);
+1094: if source_diff != 0:
__pyx_t_1 = (__pyx_v_source_diff != 0); if (__pyx_t_1) { /* … */ }
+1095: return source_diff
__pyx_r = __pyx_v_source_diff; goto __pyx_L0;
+1096: return <int>lhs_col.setup.orig_index - <int>rhs_col.setup.orig_index
__pyx_r = (((int)__pyx_v_lhs_col->setup->orig_index) - ((int)__pyx_v_rhs_col->setup->orig_index)); goto __pyx_L0;
1097:
1098:
+1099: cdef void_int _dataframe_resolve_args(
static __pyx_t_7questdb_7ingress_void_int __pyx_f_7questdb_7ingress__dataframe_resolve_args(PyObject *__pyx_v_df, PyObject *__pyx_v_table_name, PyObject *__pyx_v_table_name_col, PyObject *__pyx_v_symbols, PyObject *__pyx_v_at, struct qdb_pystr_buf *__pyx_v_b, size_t __pyx_v_col_count, struct line_sender_table_name *__pyx_v_c_table_name_out, int64_t *__pyx_v_at_value_out, struct __pyx_t_7questdb_7ingress_col_t_arr *__pyx_v_cols, int *__pyx_v_any_cols_need_gil_out) { Py_ssize_t __pyx_v_name_col; Py_ssize_t __pyx_v_at_col; PyObject *__pyx_v_pandas_cols = 0; PyObject *__pyx_7genexpr__pyx_v_index = NULL; PyObject *__pyx_7genexpr__pyx_v_name = NULL; PyObject *__pyx_7genexpr__pyx_v_series = NULL; __pyx_t_7questdb_7ingress_void_int __pyx_r; /* … */ /* function exit code */ __pyx_r = 0; goto __pyx_L0; __pyx_L1_error:; __Pyx_XDECREF(__pyx_t_1); __Pyx_XDECREF(__pyx_t_2); __Pyx_XDECREF(__pyx_t_3); __Pyx_XDECREF(__pyx_t_7); __Pyx_XDECREF(__pyx_t_8); __Pyx_AddTraceback("questdb.ingress._dataframe_resolve_args", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = -1; __pyx_L0:; __Pyx_XDECREF(__pyx_v_pandas_cols); __Pyx_XDECREF(__pyx_7genexpr__pyx_v_index); __Pyx_XDECREF(__pyx_7genexpr__pyx_v_name); __Pyx_XDECREF(__pyx_7genexpr__pyx_v_series); __Pyx_RefNannyFinishContext(); return __pyx_r; }
1100: object df,
1101: object table_name,
1102: object table_name_col,
1103: object symbols,
1104: object at,
1105: qdb_pystr_buf* b,
1106: size_t col_count,
1107: line_sender_table_name* c_table_name_out,
1108: int64_t* at_value_out,
1109: col_t_arr* cols,
1110: bint* any_cols_need_gil_out) except -1:
1111: cdef ssize_t name_col
1112: cdef ssize_t at_col
1113:
+1114: cdef list pandas_cols = [
{ /* enter inner scope */ __pyx_t_1 = PyList_New(0); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 1114, __pyx_L5_error) __Pyx_GOTREF(__pyx_t_1); __Pyx_INCREF(__pyx_int_0); __pyx_t_2 = __pyx_int_0;
+1115: PandasCol(name, df.dtypes[index], series)
__pyx_t_8 = __Pyx_PyObject_GetAttrStr(__pyx_v_df, __pyx_n_s_dtypes); if (unlikely(!__pyx_t_8)) __PYX_ERR(1, 1115, __pyx_L5_error) __Pyx_GOTREF(__pyx_t_8); __pyx_t_7 = __Pyx_PyObject_GetItem(__pyx_t_8, __pyx_7genexpr__pyx_v_index); if (unlikely(!__pyx_t_7)) __PYX_ERR(1, 1115, __pyx_L5_error) __Pyx_GOTREF(__pyx_t_7); __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0; __pyx_t_8 = PyTuple_New(3); if (unlikely(!__pyx_t_8)) __PYX_ERR(1, 1115, __pyx_L5_error) __Pyx_GOTREF(__pyx_t_8); __Pyx_INCREF(__pyx_7genexpr__pyx_v_name); __Pyx_GIVEREF(__pyx_7genexpr__pyx_v_name); if (__Pyx_PyTuple_SET_ITEM(__pyx_t_8, 0, __pyx_7genexpr__pyx_v_name)) __PYX_ERR(1, 1115, __pyx_L5_error); __Pyx_GIVEREF(__pyx_t_7); if (__Pyx_PyTuple_SET_ITEM(__pyx_t_8, 1, __pyx_t_7)) __PYX_ERR(1, 1115, __pyx_L5_error); __Pyx_INCREF(__pyx_7genexpr__pyx_v_series); __Pyx_GIVEREF(__pyx_7genexpr__pyx_v_series); if (__Pyx_PyTuple_SET_ITEM(__pyx_t_8, 2, __pyx_7genexpr__pyx_v_series)) __PYX_ERR(1, 1115, __pyx_L5_error); __pyx_t_7 = 0; __pyx_t_7 = __Pyx_PyObject_Call(((PyObject *)__pyx_ptype_7questdb_7ingress_PandasCol), __pyx_t_8, NULL); if (unlikely(!__pyx_t_7)) __PYX_ERR(1, 1115, __pyx_L5_error) __Pyx_GOTREF(__pyx_t_7); __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0; if (unlikely(__Pyx_ListComp_Append(__pyx_t_1, (PyObject*)__pyx_t_7))) __PYX_ERR(1, 1114, __pyx_L5_error) __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; } __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; __Pyx_XDECREF(__pyx_7genexpr__pyx_v_index); __pyx_7genexpr__pyx_v_index = 0; __Pyx_XDECREF(__pyx_7genexpr__pyx_v_name); __pyx_7genexpr__pyx_v_name = 0; __Pyx_XDECREF(__pyx_7genexpr__pyx_v_series); __pyx_7genexpr__pyx_v_series = 0; goto __pyx_L8_exit_scope; __pyx_L5_error:; __Pyx_XDECREF(__pyx_7genexpr__pyx_v_index); __pyx_7genexpr__pyx_v_index = 0; __Pyx_XDECREF(__pyx_7genexpr__pyx_v_name); __pyx_7genexpr__pyx_v_name = 0; __Pyx_XDECREF(__pyx_7genexpr__pyx_v_series); __pyx_7genexpr__pyx_v_series = 0; goto __pyx_L1_error; __pyx_L8_exit_scope:; } /* exit inner scope */ __pyx_v_pandas_cols = ((PyObject*)__pyx_t_1); __pyx_t_1 = 0;
+1116: for index, (name, series) in enumerate(df.items())]
__pyx_t_4 = 0; if (unlikely(__pyx_v_df == Py_None)) { PyErr_Format(PyExc_AttributeError, "'NoneType' object has no attribute '%.30s'", "items"); __PYX_ERR(1, 1116, __pyx_L5_error) } __pyx_t_7 = __Pyx_dict_iterator(__pyx_v_df, 0, __pyx_n_s_items, (&__pyx_t_5), (&__pyx_t_6)); if (unlikely(!__pyx_t_7)) __PYX_ERR(1, 1116, __pyx_L5_error) __Pyx_GOTREF(__pyx_t_7); __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = __pyx_t_7; __pyx_t_7 = 0; while (1) { __pyx_t_9 = __Pyx_dict_iter_next(__pyx_t_3, __pyx_t_5, &__pyx_t_4, &__pyx_t_7, &__pyx_t_8, NULL, __pyx_t_6); if (unlikely(__pyx_t_9 == 0)) break; if (unlikely(__pyx_t_9 == -1)) __PYX_ERR(1, 1116, __pyx_L5_error) __Pyx_GOTREF(__pyx_t_7); __Pyx_GOTREF(__pyx_t_8); __Pyx_XDECREF_SET(__pyx_7genexpr__pyx_v_name, __pyx_t_7); __pyx_t_7 = 0; __Pyx_XDECREF_SET(__pyx_7genexpr__pyx_v_series, __pyx_t_8); __pyx_t_8 = 0; __Pyx_INCREF(__pyx_t_2); __Pyx_XDECREF_SET(__pyx_7genexpr__pyx_v_index, __pyx_t_2); __pyx_t_8 = __Pyx_PyInt_AddObjC(__pyx_t_2, __pyx_int_1, 1, 0, 0); if (unlikely(!__pyx_t_8)) __PYX_ERR(1, 1116, __pyx_L5_error) __Pyx_GOTREF(__pyx_t_8); __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = __pyx_t_8; __pyx_t_8 = 0;
+1117: _dataframe_resolve_cols(b, pandas_cols, cols, any_cols_need_gil_out)
__pyx_t_10 = __pyx_f_7questdb_7ingress__dataframe_resolve_cols(__pyx_v_b, __pyx_v_pandas_cols, __pyx_v_cols, __pyx_v_any_cols_need_gil_out); if (unlikely(__pyx_t_10 == ((__pyx_t_7questdb_7ingress_void_int)-1))) __PYX_ERR(1, 1117, __pyx_L1_error)
+1118: name_col = _dataframe_resolve_table_name(
__pyx_t_11 = __pyx_f_7questdb_7ingress__dataframe_resolve_table_name(__pyx_v_b, __pyx_v_df, __pyx_v_pandas_cols, __pyx_v_cols, __pyx_v_table_name, __pyx_v_table_name_col, __pyx_v_col_count, __pyx_v_c_table_name_out); if (unlikely(__pyx_t_11 == ((Py_ssize_t)-2L))) __PYX_ERR(1, 1118, __pyx_L1_error)
__pyx_v_name_col = __pyx_t_11;
1119: b,
1120: df,
1121: pandas_cols,
1122: cols,
1123: table_name,
1124: table_name_col,
1125: col_count,
1126: c_table_name_out)
+1127: at_col = _dataframe_resolve_at(df, cols, at, col_count, at_value_out)
__pyx_t_11 = __pyx_f_7questdb_7ingress__dataframe_resolve_at(__pyx_v_df, __pyx_v_cols, __pyx_v_at, __pyx_v_col_count, __pyx_v_at_value_out); if (unlikely(__pyx_t_11 == ((Py_ssize_t)-2L))) __PYX_ERR(1, 1127, __pyx_L1_error)
__pyx_v_at_col = __pyx_t_11;
+1128: _dataframe_resolve_symbols(df, pandas_cols, cols, name_col, at_col, symbols)
__pyx_t_10 = __pyx_f_7questdb_7ingress__dataframe_resolve_symbols(__pyx_v_df, __pyx_v_pandas_cols, __pyx_v_cols, __pyx_v_name_col, __pyx_v_at_col, __pyx_v_symbols); if (unlikely(__pyx_t_10 == ((__pyx_t_7questdb_7ingress_void_int)-1))) __PYX_ERR(1, 1128, __pyx_L1_error)
+1129: _dataframe_resolve_cols_target_name_and_dc(b, pandas_cols, cols)
__pyx_t_10 = __pyx_f_7questdb_7ingress__dataframe_resolve_cols_target_name_and_dc(__pyx_v_b, __pyx_v_pandas_cols, __pyx_v_cols); if (unlikely(__pyx_t_10 == ((__pyx_t_7questdb_7ingress_void_int)-1))) __PYX_ERR(1, 1129, __pyx_L1_error)
+1130: qsort(cols.d, col_count, sizeof(col_t), _dataframe_compare_cols)
qsort(__pyx_v_cols->d, __pyx_v_col_count, (sizeof(struct __pyx_t_7questdb_7ingress_col_t)), __pyx_f_7questdb_7ingress__dataframe_compare_cols);
1131:
1132:
+1133: cdef inline bint _dataframe_arrow_get_bool(col_cursor_t* cursor) noexcept nogil:
static CYTHON_INLINE int __pyx_f_7questdb_7ingress__dataframe_arrow_get_bool(struct __pyx_t_7questdb_7ingress_col_cursor_t *__pyx_v_cursor) { int __pyx_r; /* … */ /* function exit code */ __pyx_L0:; return __pyx_r; }
1134: return (
+1135: (<uint8_t*>cursor.chunk.buffers[1])[cursor.offset // 8] &
__pyx_r = ((((uint8_t *)(__pyx_v_cursor->chunk->buffers[1]))[(__pyx_v_cursor->offset / 8)]) & (1 << (__pyx_v_cursor->offset % 8))); goto __pyx_L0;
1136: (1 << (cursor.offset % 8)))
1137:
1138:
+1139: cdef inline bint _dataframe_arrow_is_valid(col_cursor_t* cursor) noexcept nogil:
static CYTHON_INLINE int __pyx_f_7questdb_7ingress__dataframe_arrow_is_valid(struct __pyx_t_7questdb_7ingress_col_cursor_t *__pyx_v_cursor) { int __pyx_r; /* … */ /* function exit code */ __pyx_L0:; return __pyx_r; }
1140: """Check if the value is set according to the validity bitmap."""
1141: return (
+1142: cursor.chunk.null_count == 0 or
__pyx_t_2 = (__pyx_v_cursor->chunk->null_count == 0); if (!__pyx_t_2) { } else { __pyx_t_1 = __pyx_t_2; goto __pyx_L3_bool_binop_done; }
1143: (
+1144: (<uint8_t*>cursor.chunk.buffers[0])[cursor.offset // 8] &
__pyx_t_2 = (((((uint8_t *)(__pyx_v_cursor->chunk->buffers[0]))[(__pyx_v_cursor->offset / 8)]) & (1 << (__pyx_v_cursor->offset % 8))) != 0); __pyx_t_1 = __pyx_t_2; __pyx_L3_bool_binop_done:; __pyx_r = __pyx_t_1; goto __pyx_L0;
1145: (1 << (cursor.offset % 8))))
1146:
1147:
+1148: cdef inline void _dataframe_arrow_get_cat_value(
static CYTHON_INLINE void __pyx_f_7questdb_7ingress__dataframe_arrow_get_cat_value(struct __pyx_t_7questdb_7ingress_col_cursor_t *__pyx_v_cursor, size_t __pyx_v_key, size_t *__pyx_v_len_out, char const **__pyx_v_buf_out) { int32_t *__pyx_v_value_index_access; int32_t __pyx_v_value_begin; uint8_t *__pyx_v_value_char_access; /* … */ /* function exit code */ }
1149: col_cursor_t* cursor,
1150: size_t key,
1151: size_t* len_out,
1152: const char** buf_out) noexcept nogil:
1153: cdef int32_t* value_index_access
1154: cdef int32_t value_begin
1155: cdef uint8_t* value_char_access
+1156: value_index_access = <int32_t*>cursor.chunk.dictionary.buffers[1]
__pyx_v_value_index_access = ((int32_t *)(__pyx_v_cursor->chunk->dictionary->buffers[1]));
+1157: value_begin = value_index_access[key]
__pyx_v_value_begin = (__pyx_v_value_index_access[__pyx_v_key]);
+1158: len_out[0] = value_index_access[key + 1] - value_begin
(__pyx_v_len_out[0]) = ((__pyx_v_value_index_access[(__pyx_v_key + 1)]) - __pyx_v_value_begin);
+1159: value_char_access = <uint8_t*>cursor.chunk.dictionary.buffers[2]
__pyx_v_value_char_access = ((uint8_t *)(__pyx_v_cursor->chunk->dictionary->buffers[2]));
+1160: buf_out[0] = <const char*>&value_char_access[value_begin]
(__pyx_v_buf_out[0]) = ((char const *)(&(__pyx_v_value_char_access[__pyx_v_value_begin])));
1161:
1162:
+1163: cdef inline bint _dataframe_arrow_get_cat_i8(
static CYTHON_INLINE int __pyx_f_7questdb_7ingress__dataframe_arrow_get_cat_i8(struct __pyx_t_7questdb_7ingress_col_cursor_t *__pyx_v_cursor, size_t *__pyx_v_len_out, char const **__pyx_v_buf_out) { int __pyx_v_valid; int8_t *__pyx_v_key_access; int8_t __pyx_v_key; int __pyx_r; /* … */ /* function exit code */ __pyx_L0:; return __pyx_r; }
1164: col_cursor_t* cursor, size_t* len_out, const char** buf_out) noexcept nogil:
+1165: cdef bint valid = _dataframe_arrow_is_valid(cursor)
__pyx_v_valid = __pyx_f_7questdb_7ingress__dataframe_arrow_is_valid(__pyx_v_cursor);
1166: cdef int8_t* key_access
1167: cdef int8_t key
+1168: if valid:
if (__pyx_v_valid) { /* … */ }
+1169: key_access = <int8_t*>cursor.chunk.buffers[1]
__pyx_v_key_access = ((int8_t *)(__pyx_v_cursor->chunk->buffers[1]));
+1170: key = key_access[cursor.offset]
__pyx_v_key = (__pyx_v_key_access[__pyx_v_cursor->offset]);
+1171: _dataframe_arrow_get_cat_value(cursor, <size_t>key, len_out, buf_out)
__pyx_f_7questdb_7ingress__dataframe_arrow_get_cat_value(__pyx_v_cursor, ((size_t)__pyx_v_key), __pyx_v_len_out, __pyx_v_buf_out);
+1172: return valid
__pyx_r = __pyx_v_valid; goto __pyx_L0;
1173:
1174:
+1175: cdef inline bint _dataframe_arrow_get_cat_i16(
static CYTHON_INLINE int __pyx_f_7questdb_7ingress__dataframe_arrow_get_cat_i16(struct __pyx_t_7questdb_7ingress_col_cursor_t *__pyx_v_cursor, size_t *__pyx_v_len_out, char const **__pyx_v_buf_out) { int __pyx_v_valid; int16_t *__pyx_v_key_access; int16_t __pyx_v_key; int __pyx_r; /* … */ /* function exit code */ __pyx_L0:; return __pyx_r; }
1176: col_cursor_t* cursor, size_t* len_out, const char** buf_out) noexcept nogil:
+1177: cdef bint valid = _dataframe_arrow_is_valid(cursor)
__pyx_v_valid = __pyx_f_7questdb_7ingress__dataframe_arrow_is_valid(__pyx_v_cursor);
1178: cdef int16_t* key_access
1179: cdef int16_t key
+1180: if valid:
if (__pyx_v_valid) { /* … */ }
+1181: key_access = <int16_t*>cursor.chunk.buffers[1]
__pyx_v_key_access = ((int16_t *)(__pyx_v_cursor->chunk->buffers[1]));
+1182: key = key_access[cursor.offset]
__pyx_v_key = (__pyx_v_key_access[__pyx_v_cursor->offset]);
+1183: _dataframe_arrow_get_cat_value(cursor, <size_t>key, len_out, buf_out)
__pyx_f_7questdb_7ingress__dataframe_arrow_get_cat_value(__pyx_v_cursor, ((size_t)__pyx_v_key), __pyx_v_len_out, __pyx_v_buf_out);
+1184: return valid
__pyx_r = __pyx_v_valid; goto __pyx_L0;
1185:
1186:
+1187: cdef inline bint _dataframe_arrow_get_cat_i32(
static CYTHON_INLINE int __pyx_f_7questdb_7ingress__dataframe_arrow_get_cat_i32(struct __pyx_t_7questdb_7ingress_col_cursor_t *__pyx_v_cursor, size_t *__pyx_v_len_out, char const **__pyx_v_buf_out) { int __pyx_v_valid; int32_t *__pyx_v_key_access; int32_t __pyx_v_key; int __pyx_r; /* … */ /* function exit code */ __pyx_L0:; return __pyx_r; }
1188: col_cursor_t* cursor, size_t* len_out, const char** buf_out) noexcept nogil:
+1189: cdef bint valid = _dataframe_arrow_is_valid(cursor)
__pyx_v_valid = __pyx_f_7questdb_7ingress__dataframe_arrow_is_valid(__pyx_v_cursor);
1190: cdef int32_t* key_access
1191: cdef int32_t key
+1192: if valid:
if (__pyx_v_valid) { /* … */ }
+1193: key_access = <int32_t*>cursor.chunk.buffers[1]
__pyx_v_key_access = ((int32_t *)(__pyx_v_cursor->chunk->buffers[1]));
+1194: key = key_access[cursor.offset]
__pyx_v_key = (__pyx_v_key_access[__pyx_v_cursor->offset]);
+1195: _dataframe_arrow_get_cat_value(cursor, <size_t>key, len_out, buf_out)
__pyx_f_7questdb_7ingress__dataframe_arrow_get_cat_value(__pyx_v_cursor, ((size_t)__pyx_v_key), __pyx_v_len_out, __pyx_v_buf_out);
+1196: return valid
__pyx_r = __pyx_v_valid; goto __pyx_L0;
1197:
1198:
+1199: cdef inline bint _dataframe_arrow_str(
static CYTHON_INLINE int __pyx_f_7questdb_7ingress__dataframe_arrow_str(struct __pyx_t_7questdb_7ingress_col_cursor_t *__pyx_v_cursor, size_t *__pyx_v_len_out, char const **__pyx_v_buf_out) { int32_t *__pyx_v_index_access; uint8_t *__pyx_v_char_access; int32_t __pyx_v_begin; int __pyx_v_valid; int __pyx_r; /* … */ /* function exit code */ __pyx_L0:; return __pyx_r; }
1200: col_cursor_t* cursor,
1201: size_t* len_out,
1202: const char** buf_out) noexcept nogil:
1203: cdef int32_t* index_access
1204: cdef uint8_t* char_access
1205: cdef int32_t begin
+1206: cdef bint valid = _dataframe_arrow_is_valid(cursor)
__pyx_v_valid = __pyx_f_7questdb_7ingress__dataframe_arrow_is_valid(__pyx_v_cursor);
+1207: if valid:
if (__pyx_v_valid) { /* … */ }
+1208: index_access = <int32_t*>cursor.chunk.buffers[1]
__pyx_v_index_access = ((int32_t *)(__pyx_v_cursor->chunk->buffers[1]));
+1209: char_access = <uint8_t*>cursor.chunk.buffers[2]
__pyx_v_char_access = ((uint8_t *)(__pyx_v_cursor->chunk->buffers[2]));
+1210: begin = index_access[cursor.offset]
__pyx_v_begin = (__pyx_v_index_access[__pyx_v_cursor->offset]);
+1211: len_out[0] = index_access[cursor.offset + 1] - begin
(__pyx_v_len_out[0]) = ((__pyx_v_index_access[(__pyx_v_cursor->offset + 1)]) - __pyx_v_begin);
+1212: buf_out[0] = <const char*>&char_access[begin]
(__pyx_v_buf_out[0]) = ((char const *)(&(__pyx_v_char_access[__pyx_v_begin])));
+1213: return valid
__pyx_r = __pyx_v_valid; goto __pyx_L0;
1214:
1215:
+1216: cdef inline void_int _dataframe_cell_str_pyobj_to_utf8(
static CYTHON_INLINE __pyx_t_7questdb_7ingress_void_int __pyx_f_7questdb_7ingress__dataframe_cell_str_pyobj_to_utf8(struct qdb_pystr_buf *__pyx_v_b, struct __pyx_t_7questdb_7ingress_col_cursor_t *__pyx_v_cursor, int *__pyx_v_valid_out, struct line_sender_utf8 *__pyx_v_utf8_out) { PyObject **__pyx_v_access; PyObject *__pyx_v_cell; __pyx_t_7questdb_7ingress_void_int __pyx_r; /* … */ /* function exit code */ __pyx_r = 0; goto __pyx_L0; __pyx_L1_error:; __Pyx_XDECREF(__pyx_t_3); __Pyx_XDECREF(__pyx_t_6); __Pyx_XDECREF(__pyx_t_7); __Pyx_AddTraceback("questdb.ingress._dataframe_cell_str_pyobj_to_utf8", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = -1; __pyx_L0:; __Pyx_RefNannyFinishContext(); return __pyx_r; }
1217: qdb_pystr_buf* b,
1218: col_cursor_t* cursor,
1219: bint* valid_out,
1220: line_sender_utf8* utf8_out) except -1:
+1221: cdef PyObject** access = <PyObject**>cursor.chunk.buffers[1]
__pyx_v_access = ((PyObject **)(__pyx_v_cursor->chunk->buffers[1]));
+1222: cdef PyObject* cell = access[cursor.offset]
__pyx_v_cell = (__pyx_v_access[__pyx_v_cursor->offset]);
+1223: if PyUnicode_CheckExact(cell):
__pyx_t_1 = PyUnicode_CheckExact(__pyx_v_cell);
if (__pyx_t_1) {
/* … */
goto __pyx_L3;
}
+1224: str_to_utf8(b, cell, utf8_out)
__pyx_t_2 = __pyx_f_7questdb_7ingress_str_to_utf8(__pyx_v_b, __pyx_v_cell, __pyx_v_utf8_out); if (unlikely(__pyx_t_2 == ((__pyx_t_7questdb_7ingress_void_int)-1))) __PYX_ERR(1, 1224, __pyx_L1_error)
+1225: valid_out[0] = True
(__pyx_v_valid_out[0]) = 1;
+1226: elif _dataframe_is_null_pyobj(cell):
__pyx_t_1 = __pyx_f_7questdb_7ingress__dataframe_is_null_pyobj(__pyx_v_cell); if (likely(__pyx_t_1)) { /* … */ goto __pyx_L3; }
+1227: valid_out[0] = False
(__pyx_v_valid_out[0]) = 0;
1228: else:
+1229: raise ValueError(
/*else*/ { /* … */ __pyx_t_7 = __Pyx_PyObject_CallOneArg(__pyx_builtin_ValueError, __pyx_t_3); if (unlikely(!__pyx_t_7)) __PYX_ERR(1, 1229, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_7); __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; __Pyx_Raise(__pyx_t_7, 0, 0, 0); __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; __PYX_ERR(1, 1229, __pyx_L1_error) } __pyx_L3:;
+1230: 'Expected a string, ' +
__pyx_t_3 = __Pyx_PyUnicode_Concat(__pyx_kp_u_Expected_a_string, __pyx_t_7); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 1230, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
+1231: f'got an object of type {_fqn(type(<object>cell))}.')
__pyx_t_3 = PyTuple_New(3); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 1231, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __pyx_t_4 = 0; __pyx_t_5 = 127; __Pyx_INCREF(__pyx_kp_u_got_an_object_of_type); __pyx_t_4 += 22; __Pyx_GIVEREF(__pyx_kp_u_got_an_object_of_type); PyTuple_SET_ITEM(__pyx_t_3, 0, __pyx_kp_u_got_an_object_of_type); __pyx_t_6 = __pyx_f_7questdb_7ingress__fqn(((PyTypeObject*)((PyObject *)Py_TYPE(((PyObject *)__pyx_v_cell))))); if (unlikely(!__pyx_t_6)) __PYX_ERR(1, 1231, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_6); __pyx_t_7 = __Pyx_PyUnicode_Unicode(__pyx_t_6); if (unlikely(!__pyx_t_7)) __PYX_ERR(1, 1231, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_7); __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; __pyx_t_5 = (__Pyx_PyUnicode_MAX_CHAR_VALUE(__pyx_t_7) > __pyx_t_5) ? __Pyx_PyUnicode_MAX_CHAR_VALUE(__pyx_t_7) : __pyx_t_5; __pyx_t_4 += __Pyx_PyUnicode_GET_LENGTH(__pyx_t_7); __Pyx_GIVEREF(__pyx_t_7); PyTuple_SET_ITEM(__pyx_t_3, 1, __pyx_t_7); __pyx_t_7 = 0; __Pyx_INCREF(__pyx_kp_u__5); __pyx_t_4 += 1; __Pyx_GIVEREF(__pyx_kp_u__5); PyTuple_SET_ITEM(__pyx_t_3, 2, __pyx_kp_u__5); __pyx_t_7 = __Pyx_PyUnicode_Join(__pyx_t_3, 3, __pyx_t_4, __pyx_t_5); if (unlikely(!__pyx_t_7)) __PYX_ERR(1, 1231, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_7); __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
1232:
1233:
+1234: cdef void_int _dataframe_serialize_cell_table__str_pyobj(
static __pyx_t_7questdb_7ingress_void_int __pyx_f_7questdb_7ingress__dataframe_serialize_cell_table__str_pyobj(struct line_sender_buffer *__pyx_v_ls_buf, struct qdb_pystr_buf *__pyx_v_b, struct __pyx_t_7questdb_7ingress_col_t *__pyx_v_col) { struct line_sender_error *__pyx_v_err; PyObject **__pyx_v_access; PyObject *__pyx_v_cell; struct line_sender_table_name __pyx_v_c_table_name; __pyx_t_7questdb_7ingress_void_int __pyx_r; /* … */ /* function exit code */ __pyx_r = 0; goto __pyx_L0; __pyx_L1_error:; __Pyx_XDECREF(__pyx_t_2); __Pyx_XDECREF(__pyx_t_5); __Pyx_XDECREF(__pyx_t_6); __Pyx_AddTraceback("questdb.ingress._dataframe_serialize_cell_table__str_pyobj", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = -1; __pyx_L0:; __Pyx_RefNannyFinishContext(); return __pyx_r; }
1235: line_sender_buffer* ls_buf,
1236: qdb_pystr_buf* b,
1237: col_t* col) except -1:
+1238: cdef line_sender_error* err = NULL
__pyx_v_err = NULL;
+1239: cdef PyObject** access = <PyObject**>col.cursor.chunk.buffers[1]
__pyx_v_access = ((PyObject **)(__pyx_v_col->cursor.chunk->buffers[1]));
+1240: cdef PyObject* cell = access[col.cursor.offset]
__pyx_v_cell = (__pyx_v_access[__pyx_v_col->cursor.offset]);
1241: cdef line_sender_table_name c_table_name
+1242: if not PyUnicode_CheckExact(cell):
__pyx_t_1 = (!PyUnicode_CheckExact(__pyx_v_cell));
if (__pyx_t_1) {
/* … */
}
+1243: if _dataframe_is_null_pyobj(cell):
__pyx_t_1 = __pyx_f_7questdb_7ingress__dataframe_is_null_pyobj(__pyx_v_cell); if (unlikely(__pyx_t_1)) { /* … */ }
+1244: raise ValueError('Expected a table name, got a null value')
__pyx_t_2 = __Pyx_PyObject_Call(__pyx_builtin_ValueError, __pyx_tuple__23, NULL); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 1244, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __Pyx_Raise(__pyx_t_2, 0, 0, 0); __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; __PYX_ERR(1, 1244, __pyx_L1_error) /* … */ __pyx_tuple__23 = PyTuple_Pack(1, __pyx_kp_u_Expected_a_table_name_got_a_null); if (unlikely(!__pyx_tuple__23)) __PYX_ERR(1, 1244, __pyx_L1_error) __Pyx_GOTREF(__pyx_tuple__23); __Pyx_GIVEREF(__pyx_tuple__23);
1245: else:
+1246: raise ValueError(
/*else*/ { /* … */ __pyx_t_6 = __Pyx_PyObject_CallOneArg(__pyx_builtin_ValueError, __pyx_t_2); if (unlikely(!__pyx_t_6)) __PYX_ERR(1, 1246, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_6); __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; __Pyx_Raise(__pyx_t_6, 0, 0, 0); __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; __PYX_ERR(1, 1246, __pyx_L1_error) }
+1247: 'Expected a table name (str object), ' +
__pyx_t_2 = __Pyx_PyUnicode_Concat(__pyx_kp_u_Expected_a_table_name_str_object, __pyx_t_6); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 1247, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
+1248: f'got an object of type {_fqn(type(<object>cell))}.')
__pyx_t_2 = PyTuple_New(3); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 1248, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __pyx_t_3 = 0; __pyx_t_4 = 127; __Pyx_INCREF(__pyx_kp_u_got_an_object_of_type); __pyx_t_3 += 22; __Pyx_GIVEREF(__pyx_kp_u_got_an_object_of_type); PyTuple_SET_ITEM(__pyx_t_2, 0, __pyx_kp_u_got_an_object_of_type); __pyx_t_5 = __pyx_f_7questdb_7ingress__fqn(((PyTypeObject*)((PyObject *)Py_TYPE(((PyObject *)__pyx_v_cell))))); if (unlikely(!__pyx_t_5)) __PYX_ERR(1, 1248, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_5); __pyx_t_6 = __Pyx_PyUnicode_Unicode(__pyx_t_5); if (unlikely(!__pyx_t_6)) __PYX_ERR(1, 1248, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_6); __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; __pyx_t_4 = (__Pyx_PyUnicode_MAX_CHAR_VALUE(__pyx_t_6) > __pyx_t_4) ? __Pyx_PyUnicode_MAX_CHAR_VALUE(__pyx_t_6) : __pyx_t_4; __pyx_t_3 += __Pyx_PyUnicode_GET_LENGTH(__pyx_t_6); __Pyx_GIVEREF(__pyx_t_6); PyTuple_SET_ITEM(__pyx_t_2, 1, __pyx_t_6); __pyx_t_6 = 0; __Pyx_INCREF(__pyx_kp_u__5); __pyx_t_3 += 1; __Pyx_GIVEREF(__pyx_kp_u__5); PyTuple_SET_ITEM(__pyx_t_2, 2, __pyx_kp_u__5); __pyx_t_6 = __Pyx_PyUnicode_Join(__pyx_t_2, 3, __pyx_t_3, __pyx_t_4); if (unlikely(!__pyx_t_6)) __PYX_ERR(1, 1248, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_6); __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
+1249: str_to_table_name(b, cell, &c_table_name)
__pyx_t_7 = __pyx_f_7questdb_7ingress_str_to_table_name(__pyx_v_b, __pyx_v_cell, (&__pyx_v_c_table_name)); if (unlikely(__pyx_t_7 == ((__pyx_t_7questdb_7ingress_void_int)-1))) __PYX_ERR(1, 1249, __pyx_L1_error)
+1250: if not line_sender_buffer_table(ls_buf, c_table_name, &err):
__pyx_t_1 = (!line_sender_buffer_table(__pyx_v_ls_buf, __pyx_v_c_table_name, (&__pyx_v_err))); if (unlikely(__pyx_t_1)) { /* … */ }
+1251: raise c_err_to_py(err)
__pyx_t_6 = __pyx_f_7questdb_7ingress_c_err_to_py(__pyx_v_err); if (unlikely(!__pyx_t_6)) __PYX_ERR(1, 1251, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_6); __Pyx_Raise(__pyx_t_6, 0, 0, 0); __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; __PYX_ERR(1, 1251, __pyx_L1_error)
1252:
1253:
+1254: cdef void_int _dataframe_serialize_cell_table__str_arrow(
static __pyx_t_7questdb_7ingress_void_int __pyx_f_7questdb_7ingress__dataframe_serialize_cell_table__str_arrow(struct line_sender_buffer *__pyx_v_ls_buf, CYTHON_UNUSED struct qdb_pystr_buf *__pyx_v_b, struct __pyx_t_7questdb_7ingress_col_t *__pyx_v_col, PyThreadState **__pyx_v_gs) { struct line_sender_error *__pyx_v_err; size_t __pyx_v_c_len; char const *__pyx_v_buf; struct line_sender_table_name __pyx_v_c_table_name; __pyx_t_7questdb_7ingress_void_int __pyx_r; /* … */ /* function exit code */ __pyx_r = 0; goto __pyx_L0; __pyx_L1_error:; __Pyx_XDECREF(__pyx_t_2); __Pyx_AddTraceback("questdb.ingress._dataframe_serialize_cell_table__str_arrow", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = -1; __pyx_L0:; __Pyx_RefNannyFinishContext(); return __pyx_r; }
1255: line_sender_buffer* ls_buf,
1256: qdb_pystr_buf* b,
1257: col_t* col,
1258: PyThreadState** gs) except -1:
+1259: cdef line_sender_error* err = NULL
__pyx_v_err = NULL;
1260: cdef size_t c_len
1261: cdef const char* buf
1262: cdef line_sender_table_name c_table_name
+1263: if _dataframe_arrow_str(&col.cursor, &c_len, &buf):
__pyx_t_1 = __pyx_f_7questdb_7ingress__dataframe_arrow_str((&__pyx_v_col->cursor), (&__pyx_v_c_len), (&__pyx_v_buf)); if (likely(__pyx_t_1)) { /* … */ goto __pyx_L3; }
+1264: if not line_sender_table_name_init(&c_table_name, c_len, buf, &err):
__pyx_t_1 = (!line_sender_table_name_init((&__pyx_v_c_table_name), __pyx_v_c_len, __pyx_v_buf, (&__pyx_v_err))); if (unlikely(__pyx_t_1)) { /* … */ }
+1265: _ensure_has_gil(gs)
__pyx_f_7questdb_7ingress__ensure_has_gil(__pyx_v_gs); if (unlikely(PyErr_Occurred())) __PYX_ERR(1, 1265, __pyx_L1_error)
+1266: raise c_err_to_py(err)
__pyx_t_2 = __pyx_f_7questdb_7ingress_c_err_to_py(__pyx_v_err); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 1266, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __Pyx_Raise(__pyx_t_2, 0, 0, 0); __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; __PYX_ERR(1, 1266, __pyx_L1_error)
+1267: if not line_sender_buffer_table(ls_buf, c_table_name, &err):
__pyx_t_1 = (!line_sender_buffer_table(__pyx_v_ls_buf, __pyx_v_c_table_name, (&__pyx_v_err))); if (unlikely(__pyx_t_1)) { /* … */ }
+1268: _ensure_has_gil(gs)
__pyx_f_7questdb_7ingress__ensure_has_gil(__pyx_v_gs); if (unlikely(PyErr_Occurred())) __PYX_ERR(1, 1268, __pyx_L1_error)
+1269: raise c_err_to_py(err)
__pyx_t_2 = __pyx_f_7questdb_7ingress_c_err_to_py(__pyx_v_err); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 1269, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __Pyx_Raise(__pyx_t_2, 0, 0, 0); __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; __PYX_ERR(1, 1269, __pyx_L1_error)
1270: else:
+1271: _ensure_has_gil(gs)
/*else*/ {
__pyx_f_7questdb_7ingress__ensure_has_gil(__pyx_v_gs); if (unlikely(PyErr_Occurred())) __PYX_ERR(1, 1271, __pyx_L1_error)
+1272: raise ValueError('Table name cannot be null')
__pyx_t_2 = __Pyx_PyObject_Call(__pyx_builtin_ValueError, __pyx_tuple__24, NULL); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 1272, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __Pyx_Raise(__pyx_t_2, 0, 0, 0); __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; __PYX_ERR(1, 1272, __pyx_L1_error) } __pyx_L3:; /* … */ __pyx_tuple__24 = PyTuple_Pack(1, __pyx_kp_u_Table_name_cannot_be_null); if (unlikely(!__pyx_tuple__24)) __PYX_ERR(1, 1272, __pyx_L1_error) __Pyx_GOTREF(__pyx_tuple__24); __Pyx_GIVEREF(__pyx_tuple__24);
1273:
1274:
+1275: cdef void_int _dataframe_serialize_cell_table__str_i8_cat(
static __pyx_t_7questdb_7ingress_void_int __pyx_f_7questdb_7ingress__dataframe_serialize_cell_table__str_i8_cat(struct line_sender_buffer *__pyx_v_ls_buf, CYTHON_UNUSED struct qdb_pystr_buf *__pyx_v_b, struct __pyx_t_7questdb_7ingress_col_t *__pyx_v_col, PyThreadState **__pyx_v_gs) { struct line_sender_error *__pyx_v_err; size_t __pyx_v_c_len; char const *__pyx_v_c_buf; struct line_sender_table_name __pyx_v_c_table_name; __pyx_t_7questdb_7ingress_void_int __pyx_r; /* … */ /* function exit code */ __pyx_r = 0; goto __pyx_L0; __pyx_L1_error:; __Pyx_XDECREF(__pyx_t_2); __Pyx_AddTraceback("questdb.ingress._dataframe_serialize_cell_table__str_i8_cat", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = -1; __pyx_L0:; __Pyx_RefNannyFinishContext(); return __pyx_r; }
1276: line_sender_buffer* ls_buf,
1277: qdb_pystr_buf* b,
1278: col_t* col,
1279: PyThreadState** gs) except -1:
+1280: cdef line_sender_error* err = NULL
__pyx_v_err = NULL;
1281: cdef size_t c_len
1282: cdef const char* c_buf
1283: cdef line_sender_table_name c_table_name
+1284: if _dataframe_arrow_get_cat_i8(&col.cursor, &c_len, &c_buf):
__pyx_t_1 = __pyx_f_7questdb_7ingress__dataframe_arrow_get_cat_i8((&__pyx_v_col->cursor), (&__pyx_v_c_len), (&__pyx_v_c_buf)); if (likely(__pyx_t_1)) { /* … */ goto __pyx_L3; }
+1285: if not line_sender_table_name_init(&c_table_name, c_len, c_buf, &err):
__pyx_t_1 = (!line_sender_table_name_init((&__pyx_v_c_table_name), __pyx_v_c_len, __pyx_v_c_buf, (&__pyx_v_err))); if (unlikely(__pyx_t_1)) { /* … */ }
+1286: _ensure_has_gil(gs)
__pyx_f_7questdb_7ingress__ensure_has_gil(__pyx_v_gs); if (unlikely(PyErr_Occurred())) __PYX_ERR(1, 1286, __pyx_L1_error)
+1287: raise c_err_to_py(err)
__pyx_t_2 = __pyx_f_7questdb_7ingress_c_err_to_py(__pyx_v_err); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 1287, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __Pyx_Raise(__pyx_t_2, 0, 0, 0); __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; __PYX_ERR(1, 1287, __pyx_L1_error)
+1288: if not line_sender_buffer_table(ls_buf, c_table_name, &err):
__pyx_t_1 = (!line_sender_buffer_table(__pyx_v_ls_buf, __pyx_v_c_table_name, (&__pyx_v_err))); if (unlikely(__pyx_t_1)) { /* … */ }
+1289: _ensure_has_gil(gs)
__pyx_f_7questdb_7ingress__ensure_has_gil(__pyx_v_gs); if (unlikely(PyErr_Occurred())) __PYX_ERR(1, 1289, __pyx_L1_error)
+1290: raise c_err_to_py(err)
__pyx_t_2 = __pyx_f_7questdb_7ingress_c_err_to_py(__pyx_v_err); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 1290, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __Pyx_Raise(__pyx_t_2, 0, 0, 0); __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; __PYX_ERR(1, 1290, __pyx_L1_error)
1291: else:
+1292: _ensure_has_gil(gs)
/*else*/ {
__pyx_f_7questdb_7ingress__ensure_has_gil(__pyx_v_gs); if (unlikely(PyErr_Occurred())) __PYX_ERR(1, 1292, __pyx_L1_error)
+1293: raise ValueError('Table name cannot be null')
__pyx_t_2 = __Pyx_PyObject_Call(__pyx_builtin_ValueError, __pyx_tuple__24, NULL); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 1293, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __Pyx_Raise(__pyx_t_2, 0, 0, 0); __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; __PYX_ERR(1, 1293, __pyx_L1_error) } __pyx_L3:;
1294:
1295:
+1296: cdef void_int _dataframe_serialize_cell_table__str_i16_cat(
static __pyx_t_7questdb_7ingress_void_int __pyx_f_7questdb_7ingress__dataframe_serialize_cell_table__str_i16_cat(struct line_sender_buffer *__pyx_v_ls_buf, CYTHON_UNUSED struct qdb_pystr_buf *__pyx_v_b, struct __pyx_t_7questdb_7ingress_col_t *__pyx_v_col, PyThreadState **__pyx_v_gs) { struct line_sender_error *__pyx_v_err; size_t __pyx_v_c_len; char const *__pyx_v_c_buf; struct line_sender_table_name __pyx_v_c_table_name; __pyx_t_7questdb_7ingress_void_int __pyx_r; /* … */ /* function exit code */ __pyx_r = 0; goto __pyx_L0; __pyx_L1_error:; __Pyx_XDECREF(__pyx_t_2); __Pyx_AddTraceback("questdb.ingress._dataframe_serialize_cell_table__str_i16_cat", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = -1; __pyx_L0:; __Pyx_RefNannyFinishContext(); return __pyx_r; }
1297: line_sender_buffer* ls_buf,
1298: qdb_pystr_buf* b,
1299: col_t* col,
1300: PyThreadState** gs) except -1:
+1301: cdef line_sender_error* err = NULL
__pyx_v_err = NULL;
1302: cdef size_t c_len
1303: cdef const char* c_buf
1304: cdef line_sender_table_name c_table_name
+1305: if _dataframe_arrow_get_cat_i16(&col.cursor, &c_len, &c_buf):
__pyx_t_1 = __pyx_f_7questdb_7ingress__dataframe_arrow_get_cat_i16((&__pyx_v_col->cursor), (&__pyx_v_c_len), (&__pyx_v_c_buf)); if (likely(__pyx_t_1)) { /* … */ goto __pyx_L3; }
+1306: if not line_sender_table_name_init(&c_table_name, c_len, c_buf, &err):
__pyx_t_1 = (!line_sender_table_name_init((&__pyx_v_c_table_name), __pyx_v_c_len, __pyx_v_c_buf, (&__pyx_v_err))); if (unlikely(__pyx_t_1)) { /* … */ }
+1307: _ensure_has_gil(gs)
__pyx_f_7questdb_7ingress__ensure_has_gil(__pyx_v_gs); if (unlikely(PyErr_Occurred())) __PYX_ERR(1, 1307, __pyx_L1_error)
+1308: raise c_err_to_py(err)
__pyx_t_2 = __pyx_f_7questdb_7ingress_c_err_to_py(__pyx_v_err); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 1308, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __Pyx_Raise(__pyx_t_2, 0, 0, 0); __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; __PYX_ERR(1, 1308, __pyx_L1_error)
+1309: if not line_sender_buffer_table(ls_buf, c_table_name, &err):
__pyx_t_1 = (!line_sender_buffer_table(__pyx_v_ls_buf, __pyx_v_c_table_name, (&__pyx_v_err))); if (unlikely(__pyx_t_1)) { /* … */ }
+1310: _ensure_has_gil(gs)
__pyx_f_7questdb_7ingress__ensure_has_gil(__pyx_v_gs); if (unlikely(PyErr_Occurred())) __PYX_ERR(1, 1310, __pyx_L1_error)
+1311: raise c_err_to_py(err)
__pyx_t_2 = __pyx_f_7questdb_7ingress_c_err_to_py(__pyx_v_err); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 1311, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __Pyx_Raise(__pyx_t_2, 0, 0, 0); __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; __PYX_ERR(1, 1311, __pyx_L1_error)
1312: else:
+1313: _ensure_has_gil(gs)
/*else*/ {
__pyx_f_7questdb_7ingress__ensure_has_gil(__pyx_v_gs); if (unlikely(PyErr_Occurred())) __PYX_ERR(1, 1313, __pyx_L1_error)
+1314: raise ValueError('Table name cannot be null')
__pyx_t_2 = __Pyx_PyObject_Call(__pyx_builtin_ValueError, __pyx_tuple__24, NULL); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 1314, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __Pyx_Raise(__pyx_t_2, 0, 0, 0); __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; __PYX_ERR(1, 1314, __pyx_L1_error) } __pyx_L3:;
1315:
1316:
+1317: cdef void_int _dataframe_serialize_cell_table__str_i32_cat(
static __pyx_t_7questdb_7ingress_void_int __pyx_f_7questdb_7ingress__dataframe_serialize_cell_table__str_i32_cat(struct line_sender_buffer *__pyx_v_ls_buf, CYTHON_UNUSED struct qdb_pystr_buf *__pyx_v_b, struct __pyx_t_7questdb_7ingress_col_t *__pyx_v_col, PyThreadState **__pyx_v_gs) { struct line_sender_error *__pyx_v_err; size_t __pyx_v_c_len; char const *__pyx_v_c_buf; struct line_sender_table_name __pyx_v_c_table_name; __pyx_t_7questdb_7ingress_void_int __pyx_r; /* … */ /* function exit code */ __pyx_r = 0; goto __pyx_L0; __pyx_L1_error:; __Pyx_XDECREF(__pyx_t_2); __Pyx_AddTraceback("questdb.ingress._dataframe_serialize_cell_table__str_i32_cat", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = -1; __pyx_L0:; __Pyx_RefNannyFinishContext(); return __pyx_r; }
1318: line_sender_buffer* ls_buf,
1319: qdb_pystr_buf* b,
1320: col_t* col,
1321: PyThreadState** gs) except -1:
+1322: cdef line_sender_error* err = NULL
__pyx_v_err = NULL;
1323: cdef size_t c_len
1324: cdef const char* c_buf
1325: cdef line_sender_table_name c_table_name
+1326: if _dataframe_arrow_get_cat_i32(&col.cursor, &c_len, &c_buf):
__pyx_t_1 = __pyx_f_7questdb_7ingress__dataframe_arrow_get_cat_i32((&__pyx_v_col->cursor), (&__pyx_v_c_len), (&__pyx_v_c_buf)); if (likely(__pyx_t_1)) { /* … */ goto __pyx_L3; }
+1327: if not line_sender_table_name_init(&c_table_name, c_len, c_buf, &err):
__pyx_t_1 = (!line_sender_table_name_init((&__pyx_v_c_table_name), __pyx_v_c_len, __pyx_v_c_buf, (&__pyx_v_err))); if (unlikely(__pyx_t_1)) { /* … */ }
+1328: _ensure_has_gil(gs)
__pyx_f_7questdb_7ingress__ensure_has_gil(__pyx_v_gs); if (unlikely(PyErr_Occurred())) __PYX_ERR(1, 1328, __pyx_L1_error)
+1329: raise c_err_to_py(err)
__pyx_t_2 = __pyx_f_7questdb_7ingress_c_err_to_py(__pyx_v_err); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 1329, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __Pyx_Raise(__pyx_t_2, 0, 0, 0); __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; __PYX_ERR(1, 1329, __pyx_L1_error)
+1330: if not line_sender_buffer_table(ls_buf, c_table_name, &err):
__pyx_t_1 = (!line_sender_buffer_table(__pyx_v_ls_buf, __pyx_v_c_table_name, (&__pyx_v_err))); if (unlikely(__pyx_t_1)) { /* … */ }
+1331: _ensure_has_gil(gs)
__pyx_f_7questdb_7ingress__ensure_has_gil(__pyx_v_gs); if (unlikely(PyErr_Occurred())) __PYX_ERR(1, 1331, __pyx_L1_error)
+1332: raise c_err_to_py(err)
__pyx_t_2 = __pyx_f_7questdb_7ingress_c_err_to_py(__pyx_v_err); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 1332, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __Pyx_Raise(__pyx_t_2, 0, 0, 0); __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; __PYX_ERR(1, 1332, __pyx_L1_error)
1333: else:
+1334: _ensure_has_gil(gs)
/*else*/ {
__pyx_f_7questdb_7ingress__ensure_has_gil(__pyx_v_gs); if (unlikely(PyErr_Occurred())) __PYX_ERR(1, 1334, __pyx_L1_error)
+1335: raise ValueError('Table name cannot be null')
__pyx_t_2 = __Pyx_PyObject_Call(__pyx_builtin_ValueError, __pyx_tuple__24, NULL); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 1335, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __Pyx_Raise(__pyx_t_2, 0, 0, 0); __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; __PYX_ERR(1, 1335, __pyx_L1_error) } __pyx_L3:;
1336:
1337:
+1338: cdef void_int _dataframe_serialize_cell_symbol__str_pyobj(
static __pyx_t_7questdb_7ingress_void_int __pyx_f_7questdb_7ingress__dataframe_serialize_cell_symbol__str_pyobj(struct line_sender_buffer *__pyx_v_ls_buf, struct qdb_pystr_buf *__pyx_v_b, struct __pyx_t_7questdb_7ingress_col_t *__pyx_v_col) { struct line_sender_error *__pyx_v_err; int __pyx_v_valid; struct line_sender_utf8 __pyx_v_utf8; __pyx_t_7questdb_7ingress_void_int __pyx_r; /* … */ /* function exit code */ __pyx_r = 0; goto __pyx_L0; __pyx_L1_error:; __Pyx_XDECREF(__pyx_t_4); __Pyx_AddTraceback("questdb.ingress._dataframe_serialize_cell_symbol__str_pyobj", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = -1; __pyx_L0:; __Pyx_RefNannyFinishContext(); return __pyx_r; }
1339: line_sender_buffer* ls_buf,
1340: qdb_pystr_buf* b,
1341: col_t* col) except -1:
+1342: cdef line_sender_error* err = NULL
__pyx_v_err = NULL;
+1343: cdef bint valid = False
__pyx_v_valid = 0;
1344: cdef line_sender_utf8 utf8
+1345: _dataframe_cell_str_pyobj_to_utf8(b, &col.cursor, &valid, &utf8)
__pyx_t_1 = __pyx_f_7questdb_7ingress__dataframe_cell_str_pyobj_to_utf8(__pyx_v_b, (&__pyx_v_col->cursor), (&__pyx_v_valid), (&__pyx_v_utf8)); if (unlikely(__pyx_t_1 == ((__pyx_t_7questdb_7ingress_void_int)-1))) __PYX_ERR(1, 1345, __pyx_L1_error)
+1346: if valid and not line_sender_buffer_symbol(ls_buf, col.name, utf8, &err):
if (__pyx_v_valid) { } else { __pyx_t_2 = __pyx_v_valid; goto __pyx_L4_bool_binop_done; } __pyx_t_3 = (!line_sender_buffer_symbol(__pyx_v_ls_buf, __pyx_v_col->name, __pyx_v_utf8, (&__pyx_v_err))); __pyx_t_2 = __pyx_t_3; __pyx_L4_bool_binop_done:; if (unlikely(__pyx_t_2)) { /* … */ }
+1347: raise c_err_to_py(err)
__pyx_t_4 = __pyx_f_7questdb_7ingress_c_err_to_py(__pyx_v_err); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 1347, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); __Pyx_Raise(__pyx_t_4, 0, 0, 0); __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; __PYX_ERR(1, 1347, __pyx_L1_error)
1348:
1349:
+1350: cdef void_int _dataframe_serialize_cell_symbol__str_arrow(
static __pyx_t_7questdb_7ingress_void_int __pyx_f_7questdb_7ingress__dataframe_serialize_cell_symbol__str_arrow(struct line_sender_buffer *__pyx_v_ls_buf, CYTHON_UNUSED struct qdb_pystr_buf *__pyx_v_b, struct __pyx_t_7questdb_7ingress_col_t *__pyx_v_col, PyThreadState **__pyx_v_gs) { struct line_sender_error *__pyx_v_err; struct line_sender_utf8 __pyx_v_utf8; __pyx_t_7questdb_7ingress_void_int __pyx_r; /* … */ /* function exit code */ __pyx_r = 0; goto __pyx_L0; __pyx_L1_error:; __Pyx_XDECREF(__pyx_t_2); __Pyx_AddTraceback("questdb.ingress._dataframe_serialize_cell_symbol__str_arrow", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = -1; __pyx_L0:; __Pyx_RefNannyFinishContext(); return __pyx_r; }
1351: line_sender_buffer* ls_buf,
1352: qdb_pystr_buf* b,
1353: col_t* col,
1354: PyThreadState** gs) except -1:
+1355: cdef line_sender_error* err = NULL
__pyx_v_err = NULL;
1356: cdef line_sender_utf8 utf8
+1357: if _dataframe_arrow_str(&col.cursor, &utf8.len, &utf8.buf):
__pyx_t_1 = __pyx_f_7questdb_7ingress__dataframe_arrow_str((&__pyx_v_col->cursor), (&__pyx_v_utf8.len), (&__pyx_v_utf8.buf)); if (__pyx_t_1) { /* … */ }
+1358: if not line_sender_buffer_symbol(ls_buf, col.name, utf8, &err):
__pyx_t_1 = (!line_sender_buffer_symbol(__pyx_v_ls_buf, __pyx_v_col->name, __pyx_v_utf8, (&__pyx_v_err))); if (unlikely(__pyx_t_1)) { /* … */ }
+1359: _ensure_has_gil(gs)
__pyx_f_7questdb_7ingress__ensure_has_gil(__pyx_v_gs); if (unlikely(PyErr_Occurred())) __PYX_ERR(1, 1359, __pyx_L1_error)
+1360: raise c_err_to_py(err)
__pyx_t_2 = __pyx_f_7questdb_7ingress_c_err_to_py(__pyx_v_err); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 1360, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __Pyx_Raise(__pyx_t_2, 0, 0, 0); __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; __PYX_ERR(1, 1360, __pyx_L1_error)
1361:
1362:
+1363: cdef void_int _dataframe_serialize_cell_symbol__str_i8_cat(
static __pyx_t_7questdb_7ingress_void_int __pyx_f_7questdb_7ingress__dataframe_serialize_cell_symbol__str_i8_cat(struct line_sender_buffer *__pyx_v_ls_buf, CYTHON_UNUSED struct qdb_pystr_buf *__pyx_v_b, struct __pyx_t_7questdb_7ingress_col_t *__pyx_v_col, PyThreadState **__pyx_v_gs) { struct line_sender_error *__pyx_v_err; struct line_sender_utf8 __pyx_v_utf8; __pyx_t_7questdb_7ingress_void_int __pyx_r; /* … */ /* function exit code */ __pyx_r = 0; goto __pyx_L0; __pyx_L1_error:; __Pyx_XDECREF(__pyx_t_2); __Pyx_AddTraceback("questdb.ingress._dataframe_serialize_cell_symbol__str_i8_cat", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = -1; __pyx_L0:; __Pyx_RefNannyFinishContext(); return __pyx_r; }
1364: line_sender_buffer* ls_buf,
1365: qdb_pystr_buf* b,
1366: col_t* col,
1367: PyThreadState** gs) except -1:
+1368: cdef line_sender_error* err = NULL
__pyx_v_err = NULL;
1369: cdef line_sender_utf8 utf8
+1370: if _dataframe_arrow_get_cat_i8(&col.cursor, &utf8.len, &utf8.buf):
__pyx_t_1 = __pyx_f_7questdb_7ingress__dataframe_arrow_get_cat_i8((&__pyx_v_col->cursor), (&__pyx_v_utf8.len), (&__pyx_v_utf8.buf)); if (__pyx_t_1) { /* … */ }
+1371: if not line_sender_buffer_symbol(ls_buf, col.name, utf8, &err):
__pyx_t_1 = (!line_sender_buffer_symbol(__pyx_v_ls_buf, __pyx_v_col->name, __pyx_v_utf8, (&__pyx_v_err))); if (unlikely(__pyx_t_1)) { /* … */ }
+1372: _ensure_has_gil(gs)
__pyx_f_7questdb_7ingress__ensure_has_gil(__pyx_v_gs); if (unlikely(PyErr_Occurred())) __PYX_ERR(1, 1372, __pyx_L1_error)
+1373: raise c_err_to_py(err)
__pyx_t_2 = __pyx_f_7questdb_7ingress_c_err_to_py(__pyx_v_err); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 1373, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __Pyx_Raise(__pyx_t_2, 0, 0, 0); __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; __PYX_ERR(1, 1373, __pyx_L1_error)
1374:
1375:
+1376: cdef void_int _dataframe_serialize_cell_symbol__str_i16_cat(
static __pyx_t_7questdb_7ingress_void_int __pyx_f_7questdb_7ingress__dataframe_serialize_cell_symbol__str_i16_cat(struct line_sender_buffer *__pyx_v_ls_buf, CYTHON_UNUSED struct qdb_pystr_buf *__pyx_v_b, struct __pyx_t_7questdb_7ingress_col_t *__pyx_v_col, PyThreadState **__pyx_v_gs) { struct line_sender_error *__pyx_v_err; struct line_sender_utf8 __pyx_v_utf8; __pyx_t_7questdb_7ingress_void_int __pyx_r; /* … */ /* function exit code */ __pyx_r = 0; goto __pyx_L0; __pyx_L1_error:; __Pyx_XDECREF(__pyx_t_2); __Pyx_AddTraceback("questdb.ingress._dataframe_serialize_cell_symbol__str_i16_cat", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = -1; __pyx_L0:; __Pyx_RefNannyFinishContext(); return __pyx_r; }
1377: line_sender_buffer* ls_buf,
1378: qdb_pystr_buf* b,
1379: col_t* col,
1380: PyThreadState** gs) except -1:
+1381: cdef line_sender_error* err = NULL
__pyx_v_err = NULL;
1382: cdef line_sender_utf8 utf8
+1383: if _dataframe_arrow_get_cat_i16(&col.cursor, &utf8.len, &utf8.buf):
__pyx_t_1 = __pyx_f_7questdb_7ingress__dataframe_arrow_get_cat_i16((&__pyx_v_col->cursor), (&__pyx_v_utf8.len), (&__pyx_v_utf8.buf)); if (__pyx_t_1) { /* … */ }
+1384: if not line_sender_buffer_symbol(ls_buf, col.name, utf8, &err):
__pyx_t_1 = (!line_sender_buffer_symbol(__pyx_v_ls_buf, __pyx_v_col->name, __pyx_v_utf8, (&__pyx_v_err))); if (unlikely(__pyx_t_1)) { /* … */ }
+1385: _ensure_has_gil(gs)
__pyx_f_7questdb_7ingress__ensure_has_gil(__pyx_v_gs); if (unlikely(PyErr_Occurred())) __PYX_ERR(1, 1385, __pyx_L1_error)
+1386: raise c_err_to_py(err)
__pyx_t_2 = __pyx_f_7questdb_7ingress_c_err_to_py(__pyx_v_err); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 1386, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __Pyx_Raise(__pyx_t_2, 0, 0, 0); __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; __PYX_ERR(1, 1386, __pyx_L1_error)
1387:
1388:
+1389: cdef void_int _dataframe_serialize_cell_symbol__str_i32_cat(
static __pyx_t_7questdb_7ingress_void_int __pyx_f_7questdb_7ingress__dataframe_serialize_cell_symbol__str_i32_cat(struct line_sender_buffer *__pyx_v_ls_buf, CYTHON_UNUSED struct qdb_pystr_buf *__pyx_v_b, struct __pyx_t_7questdb_7ingress_col_t *__pyx_v_col, PyThreadState **__pyx_v_gs) { struct line_sender_error *__pyx_v_err; struct line_sender_utf8 __pyx_v_utf8; __pyx_t_7questdb_7ingress_void_int __pyx_r; /* … */ /* function exit code */ __pyx_r = 0; goto __pyx_L0; __pyx_L1_error:; __Pyx_XDECREF(__pyx_t_2); __Pyx_AddTraceback("questdb.ingress._dataframe_serialize_cell_symbol__str_i32_cat", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = -1; __pyx_L0:; __Pyx_RefNannyFinishContext(); return __pyx_r; }
1390: line_sender_buffer* ls_buf,
1391: qdb_pystr_buf* b,
1392: col_t* col,
1393: PyThreadState** gs) except -1:
+1394: cdef line_sender_error* err = NULL
__pyx_v_err = NULL;
1395: cdef line_sender_utf8 utf8
+1396: if _dataframe_arrow_get_cat_i32(&col.cursor, &utf8.len, &utf8.buf):
__pyx_t_1 = __pyx_f_7questdb_7ingress__dataframe_arrow_get_cat_i32((&__pyx_v_col->cursor), (&__pyx_v_utf8.len), (&__pyx_v_utf8.buf)); if (__pyx_t_1) { /* … */ }
+1397: if not line_sender_buffer_symbol(ls_buf, col.name, utf8, &err):
__pyx_t_1 = (!line_sender_buffer_symbol(__pyx_v_ls_buf, __pyx_v_col->name, __pyx_v_utf8, (&__pyx_v_err))); if (unlikely(__pyx_t_1)) { /* … */ }
+1398: _ensure_has_gil(gs)
__pyx_f_7questdb_7ingress__ensure_has_gil(__pyx_v_gs); if (unlikely(PyErr_Occurred())) __PYX_ERR(1, 1398, __pyx_L1_error)
+1399: raise c_err_to_py(err)
__pyx_t_2 = __pyx_f_7questdb_7ingress_c_err_to_py(__pyx_v_err); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 1399, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __Pyx_Raise(__pyx_t_2, 0, 0, 0); __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; __PYX_ERR(1, 1399, __pyx_L1_error)
1400:
1401:
+1402: cdef void_int _dataframe_serialize_cell_column_bool__bool_pyobj(
static __pyx_t_7questdb_7ingress_void_int __pyx_f_7questdb_7ingress__dataframe_serialize_cell_column_bool__bool_pyobj(struct line_sender_buffer *__pyx_v_ls_buf, CYTHON_UNUSED struct qdb_pystr_buf *__pyx_v_b, struct __pyx_t_7questdb_7ingress_col_t *__pyx_v_col) { struct line_sender_error *__pyx_v_err; PyObject **__pyx_v_access; PyObject *__pyx_v_cell; __pyx_t_7questdb_7ingress_void_int __pyx_r; /* … */ /* function exit code */ __pyx_r = 0; goto __pyx_L0; __pyx_L1_error:; __Pyx_XDECREF(__pyx_t_2); __Pyx_XDECREF(__pyx_t_3); __Pyx_AddTraceback("questdb.ingress._dataframe_serialize_cell_column_bool__bool_pyobj", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = -1; __pyx_L0:; __Pyx_RefNannyFinishContext(); return __pyx_r; }
1403: line_sender_buffer* ls_buf,
1404: qdb_pystr_buf* b,
1405: col_t* col) except -1:
+1406: cdef line_sender_error* err = NULL
__pyx_v_err = NULL;
+1407: cdef PyObject** access = <PyObject**>col.cursor.chunk.buffers[1]
__pyx_v_access = ((PyObject **)(__pyx_v_col->cursor.chunk->buffers[1]));
+1408: cdef PyObject* cell = access[col.cursor.offset]
__pyx_v_cell = (__pyx_v_access[__pyx_v_col->cursor.offset]);
+1409: if PyBool_Check(cell):
__pyx_t_1 = PyBool_Check(__pyx_v_cell);
if (likely(__pyx_t_1)) {
/* … */
goto __pyx_L3;
}
+1410: if not line_sender_buffer_column_bool(
__pyx_t_1 = (!line_sender_buffer_column_bool(__pyx_v_ls_buf, __pyx_v_col->name, (__pyx_v_cell == Py_True), (&__pyx_v_err))); if (unlikely(__pyx_t_1)) { /* … */ }
1411: ls_buf, col.name, cell == Py_True, &err):
+1412: raise c_err_to_py(err)
__pyx_t_2 = __pyx_f_7questdb_7ingress_c_err_to_py(__pyx_v_err); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 1412, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __Pyx_Raise(__pyx_t_2, 0, 0, 0); __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; __PYX_ERR(1, 1412, __pyx_L1_error)
+1413: elif _dataframe_is_null_pyobj(cell):
__pyx_t_1 = __pyx_f_7questdb_7ingress__dataframe_is_null_pyobj(__pyx_v_cell); if (unlikely(__pyx_t_1)) { /* … */ }
+1414: raise ValueError('Cannot insert null values into a boolean column.')
__pyx_t_2 = __Pyx_PyObject_Call(__pyx_builtin_ValueError, __pyx_tuple__25, NULL); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 1414, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __Pyx_Raise(__pyx_t_2, 0, 0, 0); __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; __PYX_ERR(1, 1414, __pyx_L1_error) /* … */ __pyx_tuple__25 = PyTuple_Pack(1, __pyx_kp_u_Cannot_insert_null_values_into_a); if (unlikely(!__pyx_tuple__25)) __PYX_ERR(1, 1414, __pyx_L1_error) __Pyx_GOTREF(__pyx_tuple__25); __Pyx_GIVEREF(__pyx_tuple__25);
1415: else:
+1416: raise ValueError(
/*else*/ { /* … */ __pyx_t_3 = __Pyx_PyObject_CallOneArg(__pyx_builtin_ValueError, __pyx_t_2); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 1416, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; __Pyx_Raise(__pyx_t_3, 0, 0, 0); __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; __PYX_ERR(1, 1416, __pyx_L1_error) } __pyx_L3:;
+1417: 'Expected an object of type bool, got a ' +
__pyx_t_3 = __Pyx_PyUnicode_ConcatSafe(__pyx_kp_u_Expected_an_object_of_type_bool, __pyx_t_2); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 1417, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
+1418: _fqn(type(<object>cell)) + '.')
__pyx_t_2 = __pyx_f_7questdb_7ingress__fqn(((PyTypeObject*)((PyObject *)Py_TYPE(((PyObject *)__pyx_v_cell))))); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 1418, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); /* … */ __pyx_t_2 = __Pyx_PyUnicode_ConcatInPlace(__pyx_t_3, __pyx_kp_u__5); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 1418, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
1419:
1420:
+1421: cdef void_int _dataframe_serialize_cell_column_bool__bool_numpy(
static __pyx_t_7questdb_7ingress_void_int __pyx_f_7questdb_7ingress__dataframe_serialize_cell_column_bool__bool_numpy(struct line_sender_buffer *__pyx_v_ls_buf, CYTHON_UNUSED struct qdb_pystr_buf *__pyx_v_b, struct __pyx_t_7questdb_7ingress_col_t *__pyx_v_col, PyThreadState **__pyx_v_gs) { struct line_sender_error *__pyx_v_err; uint8_t *__pyx_v_access; uint8_t __pyx_v_cell; __pyx_t_7questdb_7ingress_void_int __pyx_r; /* … */ /* function exit code */ __pyx_r = 0; goto __pyx_L0; __pyx_L1_error:; __Pyx_XDECREF(__pyx_t_2); __Pyx_AddTraceback("questdb.ingress._dataframe_serialize_cell_column_bool__bool_numpy", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = -1; __pyx_L0:; __Pyx_RefNannyFinishContext(); return __pyx_r; }
1422: line_sender_buffer* ls_buf,
1423: qdb_pystr_buf* b,
1424: col_t* col,
1425: PyThreadState** gs) except -1:
+1426: cdef line_sender_error* err = NULL
__pyx_v_err = NULL;
+1427: cdef uint8_t* access = <uint8_t*>col.cursor.chunk.buffers[1]
__pyx_v_access = ((uint8_t *)(__pyx_v_col->cursor.chunk->buffers[1]));
+1428: cdef uint8_t cell = access[col.cursor.offset]
__pyx_v_cell = (__pyx_v_access[__pyx_v_col->cursor.offset]);
+1429: if not line_sender_buffer_column_bool(ls_buf, col.name, not not cell, &err):
__pyx_t_1 = (!line_sender_buffer_column_bool(__pyx_v_ls_buf, __pyx_v_col->name, (!(!(__pyx_v_cell != 0))), (&__pyx_v_err))); if (unlikely(__pyx_t_1)) { /* … */ }
+1430: _ensure_has_gil(gs)
__pyx_f_7questdb_7ingress__ensure_has_gil(__pyx_v_gs); if (unlikely(PyErr_Occurred())) __PYX_ERR(1, 1430, __pyx_L1_error)
+1431: raise c_err_to_py(err)
__pyx_t_2 = __pyx_f_7questdb_7ingress_c_err_to_py(__pyx_v_err); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 1431, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __Pyx_Raise(__pyx_t_2, 0, 0, 0); __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; __PYX_ERR(1, 1431, __pyx_L1_error)
1432:
1433:
+1434: cdef void_int _dataframe_serialize_cell_column_bool__bool_arrow(
static __pyx_t_7questdb_7ingress_void_int __pyx_f_7questdb_7ingress__dataframe_serialize_cell_column_bool__bool_arrow(struct line_sender_buffer *__pyx_v_ls_buf, CYTHON_UNUSED struct qdb_pystr_buf *__pyx_v_b, struct __pyx_t_7questdb_7ingress_col_t *__pyx_v_col, PyThreadState **__pyx_v_gs) { struct line_sender_error *__pyx_v_err; int __pyx_v_valid; int __pyx_v_value; __pyx_t_7questdb_7ingress_void_int __pyx_r; /* … */ /* function exit code */ __pyx_r = 0; goto __pyx_L0; __pyx_L1_error:; __Pyx_XDECREF(__pyx_t_2); __Pyx_AddTraceback("questdb.ingress._dataframe_serialize_cell_column_bool__bool_arrow", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = -1; __pyx_L0:; __Pyx_RefNannyFinishContext(); return __pyx_r; }
1435: line_sender_buffer* ls_buf,
1436: qdb_pystr_buf* b,
1437: col_t* col,
1438: PyThreadState** gs) except -1:
+1439: cdef line_sender_error* err = NULL
__pyx_v_err = NULL;
+1440: cdef bint valid = _dataframe_arrow_is_valid(&col.cursor)
__pyx_v_valid = __pyx_f_7questdb_7ingress__dataframe_arrow_is_valid((&__pyx_v_col->cursor));
1441: cdef bint value
+1442: if valid:
if (likely(__pyx_v_valid)) { /* … */ goto __pyx_L3; }
+1443: value = _dataframe_arrow_get_bool(&col.cursor)
__pyx_v_value = __pyx_f_7questdb_7ingress__dataframe_arrow_get_bool((&__pyx_v_col->cursor));
+1444: if not line_sender_buffer_column_bool(ls_buf, col.name, value, &err):
__pyx_t_1 = (!line_sender_buffer_column_bool(__pyx_v_ls_buf, __pyx_v_col->name, __pyx_v_value, (&__pyx_v_err))); if (unlikely(__pyx_t_1)) { /* … */ }
+1445: _ensure_has_gil(gs)
__pyx_f_7questdb_7ingress__ensure_has_gil(__pyx_v_gs); if (unlikely(PyErr_Occurred())) __PYX_ERR(1, 1445, __pyx_L1_error)
+1446: raise c_err_to_py(err)
__pyx_t_2 = __pyx_f_7questdb_7ingress_c_err_to_py(__pyx_v_err); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 1446, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __Pyx_Raise(__pyx_t_2, 0, 0, 0); __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; __PYX_ERR(1, 1446, __pyx_L1_error)
1447: else:
+1448: _ensure_has_gil(gs)
/*else*/ {
__pyx_f_7questdb_7ingress__ensure_has_gil(__pyx_v_gs); if (unlikely(PyErr_Occurred())) __PYX_ERR(1, 1448, __pyx_L1_error)
+1449: raise ValueError('Cannot insert null values into a boolean column.')
__pyx_t_2 = __Pyx_PyObject_Call(__pyx_builtin_ValueError, __pyx_tuple__25, NULL); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 1449, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __Pyx_Raise(__pyx_t_2, 0, 0, 0); __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; __PYX_ERR(1, 1449, __pyx_L1_error) } __pyx_L3:;
1450:
1451:
+1452: cdef void_int _dataframe_serialize_cell_column_i64__int_pyobj(
static __pyx_t_7questdb_7ingress_void_int __pyx_f_7questdb_7ingress__dataframe_serialize_cell_column_i64__int_pyobj(struct line_sender_buffer *__pyx_v_ls_buf, CYTHON_UNUSED struct qdb_pystr_buf *__pyx_v_b, struct __pyx_t_7questdb_7ingress_col_t *__pyx_v_col) { struct line_sender_error *__pyx_v_err; PyObject **__pyx_v_access; PyObject *__pyx_v_cell; int64_t __pyx_v_value; __pyx_t_7questdb_7ingress_void_int __pyx_r; /* … */ /* function exit code */ __pyx_r = 0; goto __pyx_L0; __pyx_L1_error:; __Pyx_XDECREF(__pyx_t_3); __Pyx_XDECREF(__pyx_t_4); __Pyx_AddTraceback("questdb.ingress._dataframe_serialize_cell_column_i64__int_pyobj", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = -1; __pyx_L0:; __Pyx_RefNannyFinishContext(); return __pyx_r; }
1453: line_sender_buffer* ls_buf,
1454: qdb_pystr_buf* b,
1455: col_t* col) except -1:
+1456: cdef line_sender_error* err = NULL
__pyx_v_err = NULL;
+1457: cdef PyObject** access = <PyObject**>col.cursor.chunk.buffers[1]
__pyx_v_access = ((PyObject **)(__pyx_v_col->cursor.chunk->buffers[1]));
+1458: cdef PyObject* cell = access[col.cursor.offset]
__pyx_v_cell = (__pyx_v_access[__pyx_v_col->cursor.offset]);
1459: cdef int64_t value
+1460: if PyLong_CheckExact(cell):
__pyx_t_1 = PyLong_CheckExact(__pyx_v_cell);
if (__pyx_t_1) {
/* … */
goto __pyx_L3;
}
+1461: value = PyLong_AsLongLong(cell)
__pyx_t_2 = PyLong_AsLongLong(__pyx_v_cell); if (unlikely(__pyx_t_2 == ((PY_LONG_LONG)-1LL) && PyErr_Occurred())) __PYX_ERR(1, 1461, __pyx_L1_error) __pyx_v_value = __pyx_t_2;
+1462: if not line_sender_buffer_column_i64(ls_buf, col.name, value, &err):
__pyx_t_1 = (!line_sender_buffer_column_i64(__pyx_v_ls_buf, __pyx_v_col->name, __pyx_v_value, (&__pyx_v_err))); if (unlikely(__pyx_t_1)) { /* … */ }
+1463: raise c_err_to_py(err)
__pyx_t_3 = __pyx_f_7questdb_7ingress_c_err_to_py(__pyx_v_err); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 1463, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __Pyx_Raise(__pyx_t_3, 0, 0, 0); __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; __PYX_ERR(1, 1463, __pyx_L1_error)
+1464: elif _dataframe_is_null_pyobj(cell):
__pyx_t_1 = __pyx_f_7questdb_7ingress__dataframe_is_null_pyobj(__pyx_v_cell); if (likely(__pyx_t_1)) { goto __pyx_L3; }
1465: pass
1466: else:
+1467: raise ValueError(
/*else*/ { /* … */ __pyx_t_4 = __Pyx_PyObject_CallOneArg(__pyx_builtin_ValueError, __pyx_t_3); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 1467, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; __Pyx_Raise(__pyx_t_4, 0, 0, 0); __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; __PYX_ERR(1, 1467, __pyx_L1_error) } __pyx_L3:;
+1468: 'Expected an object of type int, got an object of type ' +
__pyx_t_4 = __Pyx_PyUnicode_ConcatSafe(__pyx_kp_u_Expected_an_object_of_type_int_g, __pyx_t_3); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 1468, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
+1469: _fqn(type(<object>cell)) + '.')
__pyx_t_3 = __pyx_f_7questdb_7ingress__fqn(((PyTypeObject*)((PyObject *)Py_TYPE(((PyObject *)__pyx_v_cell))))); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 1469, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); /* … */ __pyx_t_3 = __Pyx_PyUnicode_ConcatInPlace(__pyx_t_4, __pyx_kp_u__5); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 1469, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
1470:
1471:
+1472: cdef void_int _dataframe_serialize_cell_column_i64__u8_numpy(
static __pyx_t_7questdb_7ingress_void_int __pyx_f_7questdb_7ingress__dataframe_serialize_cell_column_i64__u8_numpy(struct line_sender_buffer *__pyx_v_ls_buf, CYTHON_UNUSED struct qdb_pystr_buf *__pyx_v_b, struct __pyx_t_7questdb_7ingress_col_t *__pyx_v_col, PyThreadState **__pyx_v_gs) { struct line_sender_error *__pyx_v_err; uint8_t *__pyx_v_access; uint8_t __pyx_v_cell; __pyx_t_7questdb_7ingress_void_int __pyx_r; /* … */ /* function exit code */ __pyx_r = 0; goto __pyx_L0; __pyx_L1_error:; __Pyx_XDECREF(__pyx_t_2); __Pyx_AddTraceback("questdb.ingress._dataframe_serialize_cell_column_i64__u8_numpy", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = -1; __pyx_L0:; __Pyx_RefNannyFinishContext(); return __pyx_r; }
1473: line_sender_buffer* ls_buf,
1474: qdb_pystr_buf* b,
1475: col_t* col,
1476: PyThreadState** gs) except -1:
+1477: cdef line_sender_error* err = NULL
__pyx_v_err = NULL;
+1478: cdef uint8_t* access = <uint8_t*>col.cursor.chunk.buffers[1]
__pyx_v_access = ((uint8_t *)(__pyx_v_col->cursor.chunk->buffers[1]));
+1479: cdef uint8_t cell = access[col.cursor.offset]
__pyx_v_cell = (__pyx_v_access[__pyx_v_col->cursor.offset]);
+1480: if not line_sender_buffer_column_i64(ls_buf, col.name, <int64_t>cell, &err):
__pyx_t_1 = (!line_sender_buffer_column_i64(__pyx_v_ls_buf, __pyx_v_col->name, ((int64_t)__pyx_v_cell), (&__pyx_v_err))); if (unlikely(__pyx_t_1)) { /* … */ }
+1481: _ensure_has_gil(gs)
__pyx_f_7questdb_7ingress__ensure_has_gil(__pyx_v_gs); if (unlikely(PyErr_Occurred())) __PYX_ERR(1, 1481, __pyx_L1_error)
+1482: raise c_err_to_py(err)
__pyx_t_2 = __pyx_f_7questdb_7ingress_c_err_to_py(__pyx_v_err); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 1482, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __Pyx_Raise(__pyx_t_2, 0, 0, 0); __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; __PYX_ERR(1, 1482, __pyx_L1_error)
1483:
1484:
+1485: cdef void_int _dataframe_serialize_cell_column_i64__i8_numpy(
static __pyx_t_7questdb_7ingress_void_int __pyx_f_7questdb_7ingress__dataframe_serialize_cell_column_i64__i8_numpy(struct line_sender_buffer *__pyx_v_ls_buf, CYTHON_UNUSED struct qdb_pystr_buf *__pyx_v_b, struct __pyx_t_7questdb_7ingress_col_t *__pyx_v_col, PyThreadState **__pyx_v_gs) { struct line_sender_error *__pyx_v_err; int8_t *__pyx_v_access; int8_t __pyx_v_cell; __pyx_t_7questdb_7ingress_void_int __pyx_r; /* … */ /* function exit code */ __pyx_r = 0; goto __pyx_L0; __pyx_L1_error:; __Pyx_XDECREF(__pyx_t_2); __Pyx_AddTraceback("questdb.ingress._dataframe_serialize_cell_column_i64__i8_numpy", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = -1; __pyx_L0:; __Pyx_RefNannyFinishContext(); return __pyx_r; }
1486: line_sender_buffer* ls_buf,
1487: qdb_pystr_buf* b,
1488: col_t* col,
1489: PyThreadState** gs) except -1:
+1490: cdef line_sender_error* err = NULL
__pyx_v_err = NULL;
+1491: cdef int8_t* access = <int8_t*>col.cursor.chunk.buffers[1]
__pyx_v_access = ((int8_t *)(__pyx_v_col->cursor.chunk->buffers[1]));
+1492: cdef int8_t cell = access[col.cursor.offset]
__pyx_v_cell = (__pyx_v_access[__pyx_v_col->cursor.offset]);
+1493: if not line_sender_buffer_column_i64(ls_buf, col.name, <int64_t>cell, &err):
__pyx_t_1 = (!line_sender_buffer_column_i64(__pyx_v_ls_buf, __pyx_v_col->name, ((int64_t)__pyx_v_cell), (&__pyx_v_err))); if (unlikely(__pyx_t_1)) { /* … */ }
+1494: _ensure_has_gil(gs)
__pyx_f_7questdb_7ingress__ensure_has_gil(__pyx_v_gs); if (unlikely(PyErr_Occurred())) __PYX_ERR(1, 1494, __pyx_L1_error)
+1495: raise c_err_to_py(err)
__pyx_t_2 = __pyx_f_7questdb_7ingress_c_err_to_py(__pyx_v_err); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 1495, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __Pyx_Raise(__pyx_t_2, 0, 0, 0); __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; __PYX_ERR(1, 1495, __pyx_L1_error)
1496:
1497:
+1498: cdef void_int _dataframe_serialize_cell_column_i64__u16_numpy(
static __pyx_t_7questdb_7ingress_void_int __pyx_f_7questdb_7ingress__dataframe_serialize_cell_column_i64__u16_numpy(struct line_sender_buffer *__pyx_v_ls_buf, CYTHON_UNUSED struct qdb_pystr_buf *__pyx_v_b, struct __pyx_t_7questdb_7ingress_col_t *__pyx_v_col, PyThreadState **__pyx_v_gs) { struct line_sender_error *__pyx_v_err; uint16_t *__pyx_v_access; uint16_t __pyx_v_cell; __pyx_t_7questdb_7ingress_void_int __pyx_r; /* … */ /* function exit code */ __pyx_r = 0; goto __pyx_L0; __pyx_L1_error:; __Pyx_XDECREF(__pyx_t_2); __Pyx_AddTraceback("questdb.ingress._dataframe_serialize_cell_column_i64__u16_numpy", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = -1; __pyx_L0:; __Pyx_RefNannyFinishContext(); return __pyx_r; }
1499: line_sender_buffer* ls_buf,
1500: qdb_pystr_buf* b,
1501: col_t* col,
1502: PyThreadState** gs) except -1:
+1503: cdef line_sender_error* err = NULL
__pyx_v_err = NULL;
+1504: cdef uint16_t* access = <uint16_t*>col.cursor.chunk.buffers[1]
__pyx_v_access = ((uint16_t *)(__pyx_v_col->cursor.chunk->buffers[1]));
+1505: cdef uint16_t cell = access[col.cursor.offset]
__pyx_v_cell = (__pyx_v_access[__pyx_v_col->cursor.offset]);
+1506: if not line_sender_buffer_column_i64(ls_buf, col.name, <int64_t>cell, &err):
__pyx_t_1 = (!line_sender_buffer_column_i64(__pyx_v_ls_buf, __pyx_v_col->name, ((int64_t)__pyx_v_cell), (&__pyx_v_err))); if (unlikely(__pyx_t_1)) { /* … */ }
+1507: _ensure_has_gil(gs)
__pyx_f_7questdb_7ingress__ensure_has_gil(__pyx_v_gs); if (unlikely(PyErr_Occurred())) __PYX_ERR(1, 1507, __pyx_L1_error)
+1508: raise c_err_to_py(err)
__pyx_t_2 = __pyx_f_7questdb_7ingress_c_err_to_py(__pyx_v_err); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 1508, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __Pyx_Raise(__pyx_t_2, 0, 0, 0); __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; __PYX_ERR(1, 1508, __pyx_L1_error)
1509:
1510:
+1511: cdef void_int _dataframe_serialize_cell_column_i64__i16_numpy(
static __pyx_t_7questdb_7ingress_void_int __pyx_f_7questdb_7ingress__dataframe_serialize_cell_column_i64__i16_numpy(struct line_sender_buffer *__pyx_v_ls_buf, CYTHON_UNUSED struct qdb_pystr_buf *__pyx_v_b, struct __pyx_t_7questdb_7ingress_col_t *__pyx_v_col, PyThreadState **__pyx_v_gs) { struct line_sender_error *__pyx_v_err; int16_t *__pyx_v_access; int16_t __pyx_v_cell; __pyx_t_7questdb_7ingress_void_int __pyx_r; /* … */ /* function exit code */ __pyx_r = 0; goto __pyx_L0; __pyx_L1_error:; __Pyx_XDECREF(__pyx_t_2); __Pyx_AddTraceback("questdb.ingress._dataframe_serialize_cell_column_i64__i16_numpy", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = -1; __pyx_L0:; __Pyx_RefNannyFinishContext(); return __pyx_r; }
1512: line_sender_buffer* ls_buf,
1513: qdb_pystr_buf* b,
1514: col_t* col,
1515: PyThreadState** gs) except -1:
+1516: cdef line_sender_error* err = NULL
__pyx_v_err = NULL;
+1517: cdef int16_t* access = <int16_t*>col.cursor.chunk.buffers[1]
__pyx_v_access = ((int16_t *)(__pyx_v_col->cursor.chunk->buffers[1]));
+1518: cdef int16_t cell = access[col.cursor.offset]
__pyx_v_cell = (__pyx_v_access[__pyx_v_col->cursor.offset]);
+1519: if not line_sender_buffer_column_i64(ls_buf, col.name, <int64_t>cell, &err):
__pyx_t_1 = (!line_sender_buffer_column_i64(__pyx_v_ls_buf, __pyx_v_col->name, ((int64_t)__pyx_v_cell), (&__pyx_v_err))); if (unlikely(__pyx_t_1)) { /* … */ }
+1520: _ensure_has_gil(gs)
__pyx_f_7questdb_7ingress__ensure_has_gil(__pyx_v_gs); if (unlikely(PyErr_Occurred())) __PYX_ERR(1, 1520, __pyx_L1_error)
+1521: raise c_err_to_py(err)
__pyx_t_2 = __pyx_f_7questdb_7ingress_c_err_to_py(__pyx_v_err); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 1521, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __Pyx_Raise(__pyx_t_2, 0, 0, 0); __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; __PYX_ERR(1, 1521, __pyx_L1_error)
1522:
1523:
+1524: cdef void_int _dataframe_serialize_cell_column_i64__u32_numpy(
static __pyx_t_7questdb_7ingress_void_int __pyx_f_7questdb_7ingress__dataframe_serialize_cell_column_i64__u32_numpy(struct line_sender_buffer *__pyx_v_ls_buf, CYTHON_UNUSED struct qdb_pystr_buf *__pyx_v_b, struct __pyx_t_7questdb_7ingress_col_t *__pyx_v_col, PyThreadState **__pyx_v_gs) { struct line_sender_error *__pyx_v_err; uint32_t *__pyx_v_access; uint32_t __pyx_v_cell; __pyx_t_7questdb_7ingress_void_int __pyx_r; /* … */ /* function exit code */ __pyx_r = 0; goto __pyx_L0; __pyx_L1_error:; __Pyx_XDECREF(__pyx_t_2); __Pyx_AddTraceback("questdb.ingress._dataframe_serialize_cell_column_i64__u32_numpy", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = -1; __pyx_L0:; __Pyx_RefNannyFinishContext(); return __pyx_r; }
1525: line_sender_buffer* ls_buf,
1526: qdb_pystr_buf* b,
1527: col_t* col,
1528: PyThreadState** gs) except -1:
+1529: cdef line_sender_error* err = NULL
__pyx_v_err = NULL;
+1530: cdef uint32_t* access = <uint32_t*>col.cursor.chunk.buffers[1]
__pyx_v_access = ((uint32_t *)(__pyx_v_col->cursor.chunk->buffers[1]));
+1531: cdef uint32_t cell = access[col.cursor.offset]
__pyx_v_cell = (__pyx_v_access[__pyx_v_col->cursor.offset]);
+1532: if not line_sender_buffer_column_i64(ls_buf, col.name, <int64_t>cell, &err):
__pyx_t_1 = (!line_sender_buffer_column_i64(__pyx_v_ls_buf, __pyx_v_col->name, ((int64_t)__pyx_v_cell), (&__pyx_v_err))); if (unlikely(__pyx_t_1)) { /* … */ }
+1533: _ensure_has_gil(gs)
__pyx_f_7questdb_7ingress__ensure_has_gil(__pyx_v_gs); if (unlikely(PyErr_Occurred())) __PYX_ERR(1, 1533, __pyx_L1_error)
+1534: raise c_err_to_py(err)
__pyx_t_2 = __pyx_f_7questdb_7ingress_c_err_to_py(__pyx_v_err); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 1534, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __Pyx_Raise(__pyx_t_2, 0, 0, 0); __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; __PYX_ERR(1, 1534, __pyx_L1_error)
1535:
1536:
+1537: cdef void_int _dataframe_serialize_cell_column_i64__i32_numpy(
static __pyx_t_7questdb_7ingress_void_int __pyx_f_7questdb_7ingress__dataframe_serialize_cell_column_i64__i32_numpy(struct line_sender_buffer *__pyx_v_ls_buf, CYTHON_UNUSED struct qdb_pystr_buf *__pyx_v_b, struct __pyx_t_7questdb_7ingress_col_t *__pyx_v_col, PyThreadState **__pyx_v_gs) { struct line_sender_error *__pyx_v_err; int32_t *__pyx_v_access; int32_t __pyx_v_cell; __pyx_t_7questdb_7ingress_void_int __pyx_r; /* … */ /* function exit code */ __pyx_r = 0; goto __pyx_L0; __pyx_L1_error:; __Pyx_XDECREF(__pyx_t_2); __Pyx_AddTraceback("questdb.ingress._dataframe_serialize_cell_column_i64__i32_numpy", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = -1; __pyx_L0:; __Pyx_RefNannyFinishContext(); return __pyx_r; }
1538: line_sender_buffer* ls_buf,
1539: qdb_pystr_buf* b,
1540: col_t* col,
1541: PyThreadState** gs) except -1:
+1542: cdef line_sender_error* err = NULL
__pyx_v_err = NULL;
+1543: cdef int32_t* access = <int32_t*>col.cursor.chunk.buffers[1]
__pyx_v_access = ((int32_t *)(__pyx_v_col->cursor.chunk->buffers[1]));
+1544: cdef int32_t cell = access[col.cursor.offset]
__pyx_v_cell = (__pyx_v_access[__pyx_v_col->cursor.offset]);
+1545: if not line_sender_buffer_column_i64(ls_buf, col.name, <int64_t>cell, &err):
__pyx_t_1 = (!line_sender_buffer_column_i64(__pyx_v_ls_buf, __pyx_v_col->name, ((int64_t)__pyx_v_cell), (&__pyx_v_err))); if (unlikely(__pyx_t_1)) { /* … */ }
+1546: _ensure_has_gil(gs)
__pyx_f_7questdb_7ingress__ensure_has_gil(__pyx_v_gs); if (unlikely(PyErr_Occurred())) __PYX_ERR(1, 1546, __pyx_L1_error)
+1547: raise c_err_to_py(err)
__pyx_t_2 = __pyx_f_7questdb_7ingress_c_err_to_py(__pyx_v_err); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 1547, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __Pyx_Raise(__pyx_t_2, 0, 0, 0); __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; __PYX_ERR(1, 1547, __pyx_L1_error)
1548:
1549:
+1550: cdef void_int _dataframe_serialize_cell_column_i64__u64_numpy(
static __pyx_t_7questdb_7ingress_void_int __pyx_f_7questdb_7ingress__dataframe_serialize_cell_column_i64__u64_numpy(struct line_sender_buffer *__pyx_v_ls_buf, CYTHON_UNUSED struct qdb_pystr_buf *__pyx_v_b, struct __pyx_t_7questdb_7ingress_col_t *__pyx_v_col, PyThreadState **__pyx_v_gs) { struct line_sender_error *__pyx_v_err; uint64_t *__pyx_v_access; uint64_t __pyx_v_cell; __pyx_t_7questdb_7ingress_void_int __pyx_r; /* … */ /* function exit code */ __pyx_r = 0; goto __pyx_L0; __pyx_L1_error:; __Pyx_XDECREF(__pyx_t_2); __Pyx_AddTraceback("questdb.ingress._dataframe_serialize_cell_column_i64__u64_numpy", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = -1; __pyx_L0:; __Pyx_RefNannyFinishContext(); return __pyx_r; }
1551: line_sender_buffer* ls_buf,
1552: qdb_pystr_buf* b,
1553: col_t* col,
1554: PyThreadState** gs) except -1:
+1555: cdef line_sender_error* err = NULL
__pyx_v_err = NULL;
+1556: cdef uint64_t* access = <uint64_t*>col.cursor.chunk.buffers[1]
__pyx_v_access = ((uint64_t *)(__pyx_v_col->cursor.chunk->buffers[1]));
+1557: cdef uint64_t cell = access[col.cursor.offset]
__pyx_v_cell = (__pyx_v_access[__pyx_v_col->cursor.offset]);
+1558: if cell > <uint64_t>INT64_MAX:
__pyx_t_1 = (__pyx_v_cell > ((uint64_t)INT64_MAX)); if (unlikely(__pyx_t_1)) { /* … */ }
+1559: _ensure_has_gil(gs)
__pyx_f_7questdb_7ingress__ensure_has_gil(__pyx_v_gs); if (unlikely(PyErr_Occurred())) __PYX_ERR(1, 1559, __pyx_L1_error)
+1560: raise OverflowError('uint64 value too large for int64 column type.')
__pyx_t_2 = __Pyx_PyObject_Call(__pyx_builtin_OverflowError, __pyx_tuple__26, NULL); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 1560, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __Pyx_Raise(__pyx_t_2, 0, 0, 0); __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; __PYX_ERR(1, 1560, __pyx_L1_error) /* … */ __pyx_tuple__26 = PyTuple_Pack(1, __pyx_kp_u_uint64_value_too_large_for_int64); if (unlikely(!__pyx_tuple__26)) __PYX_ERR(1, 1560, __pyx_L1_error) __Pyx_GOTREF(__pyx_tuple__26); __Pyx_GIVEREF(__pyx_tuple__26);
+1561: if not line_sender_buffer_column_i64(ls_buf, col.name, <int64_t>cell, &err):
__pyx_t_1 = (!line_sender_buffer_column_i64(__pyx_v_ls_buf, __pyx_v_col->name, ((int64_t)__pyx_v_cell), (&__pyx_v_err))); if (unlikely(__pyx_t_1)) { /* … */ }
+1562: _ensure_has_gil(gs)
__pyx_f_7questdb_7ingress__ensure_has_gil(__pyx_v_gs); if (unlikely(PyErr_Occurred())) __PYX_ERR(1, 1562, __pyx_L1_error)
+1563: raise c_err_to_py(err)
__pyx_t_2 = __pyx_f_7questdb_7ingress_c_err_to_py(__pyx_v_err); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 1563, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __Pyx_Raise(__pyx_t_2, 0, 0, 0); __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; __PYX_ERR(1, 1563, __pyx_L1_error)
1564:
1565:
+1566: cdef void_int _dataframe_serialize_cell_column_i64__i64_numpy(
static __pyx_t_7questdb_7ingress_void_int __pyx_f_7questdb_7ingress__dataframe_serialize_cell_column_i64__i64_numpy(struct line_sender_buffer *__pyx_v_ls_buf, CYTHON_UNUSED struct qdb_pystr_buf *__pyx_v_b, struct __pyx_t_7questdb_7ingress_col_t *__pyx_v_col, PyThreadState **__pyx_v_gs) { struct line_sender_error *__pyx_v_err; int64_t *__pyx_v_access; int64_t __pyx_v_cell; __pyx_t_7questdb_7ingress_void_int __pyx_r; /* … */ /* function exit code */ __pyx_r = 0; goto __pyx_L0; __pyx_L1_error:; __Pyx_XDECREF(__pyx_t_2); __Pyx_AddTraceback("questdb.ingress._dataframe_serialize_cell_column_i64__i64_numpy", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = -1; __pyx_L0:; __Pyx_RefNannyFinishContext(); return __pyx_r; }
1567: line_sender_buffer* ls_buf,
1568: qdb_pystr_buf* b,
1569: col_t* col,
1570: PyThreadState** gs) except -1:
+1571: cdef line_sender_error* err = NULL
__pyx_v_err = NULL;
+1572: cdef int64_t* access = <int64_t*>col.cursor.chunk.buffers[1]
__pyx_v_access = ((int64_t *)(__pyx_v_col->cursor.chunk->buffers[1]));
+1573: cdef int64_t cell = access[col.cursor.offset]
__pyx_v_cell = (__pyx_v_access[__pyx_v_col->cursor.offset]);
+1574: if not line_sender_buffer_column_i64(ls_buf, col.name, cell, &err):
__pyx_t_1 = (!line_sender_buffer_column_i64(__pyx_v_ls_buf, __pyx_v_col->name, __pyx_v_cell, (&__pyx_v_err))); if (unlikely(__pyx_t_1)) { /* … */ }
+1575: _ensure_has_gil(gs)
__pyx_f_7questdb_7ingress__ensure_has_gil(__pyx_v_gs); if (unlikely(PyErr_Occurred())) __PYX_ERR(1, 1575, __pyx_L1_error)
+1576: raise c_err_to_py(err)
__pyx_t_2 = __pyx_f_7questdb_7ingress_c_err_to_py(__pyx_v_err); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 1576, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __Pyx_Raise(__pyx_t_2, 0, 0, 0); __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; __PYX_ERR(1, 1576, __pyx_L1_error)
1577:
1578:
+1579: cdef void_int _dataframe_serialize_cell_column_i64__u8_arrow(
static __pyx_t_7questdb_7ingress_void_int __pyx_f_7questdb_7ingress__dataframe_serialize_cell_column_i64__u8_arrow(struct line_sender_buffer *__pyx_v_ls_buf, CYTHON_UNUSED struct qdb_pystr_buf *__pyx_v_b, struct __pyx_t_7questdb_7ingress_col_t *__pyx_v_col, PyThreadState **__pyx_v_gs) { struct line_sender_error *__pyx_v_err; int __pyx_v_valid; uint8_t *__pyx_v_access; __pyx_t_7questdb_7ingress_void_int __pyx_r; /* … */ /* function exit code */ __pyx_r = 0; goto __pyx_L0; __pyx_L1_error:; __Pyx_XDECREF(__pyx_t_2); __Pyx_AddTraceback("questdb.ingress._dataframe_serialize_cell_column_i64__u8_arrow", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = -1; __pyx_L0:; __Pyx_RefNannyFinishContext(); return __pyx_r; }
1580: line_sender_buffer* ls_buf,
1581: qdb_pystr_buf* b,
1582: col_t* col,
1583: PyThreadState** gs) except -1:
+1584: cdef line_sender_error* err = NULL
__pyx_v_err = NULL;
+1585: cdef bint valid = _dataframe_arrow_is_valid(&col.cursor)
__pyx_v_valid = __pyx_f_7questdb_7ingress__dataframe_arrow_is_valid((&__pyx_v_col->cursor));
1586: cdef uint8_t* access
+1587: if valid:
if (__pyx_v_valid) { /* … */ }
+1588: access = <uint8_t*>col.cursor.chunk.buffers[1]
__pyx_v_access = ((uint8_t *)(__pyx_v_col->cursor.chunk->buffers[1]));
+1589: if not line_sender_buffer_column_i64(
__pyx_t_1 = (!line_sender_buffer_column_i64(__pyx_v_ls_buf, __pyx_v_col->name, ((int64_t)(__pyx_v_access[__pyx_v_col->cursor.offset])), (&__pyx_v_err))); if (unlikely(__pyx_t_1)) { /* … */ }
1590: ls_buf,
1591: col.name,
1592: <int64_t>access[col.cursor.offset],
1593: &err):
+1594: _ensure_has_gil(gs)
__pyx_f_7questdb_7ingress__ensure_has_gil(__pyx_v_gs); if (unlikely(PyErr_Occurred())) __PYX_ERR(1, 1594, __pyx_L1_error)
+1595: raise c_err_to_py(err)
__pyx_t_2 = __pyx_f_7questdb_7ingress_c_err_to_py(__pyx_v_err); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 1595, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __Pyx_Raise(__pyx_t_2, 0, 0, 0); __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; __PYX_ERR(1, 1595, __pyx_L1_error)
1596:
1597:
+1598: cdef void_int _dataframe_serialize_cell_column_i64__i8_arrow(
static __pyx_t_7questdb_7ingress_void_int __pyx_f_7questdb_7ingress__dataframe_serialize_cell_column_i64__i8_arrow(struct line_sender_buffer *__pyx_v_ls_buf, CYTHON_UNUSED struct qdb_pystr_buf *__pyx_v_b, struct __pyx_t_7questdb_7ingress_col_t *__pyx_v_col, PyThreadState **__pyx_v_gs) { struct line_sender_error *__pyx_v_err; int __pyx_v_valid; int8_t *__pyx_v_access; __pyx_t_7questdb_7ingress_void_int __pyx_r; /* … */ /* function exit code */ __pyx_r = 0; goto __pyx_L0; __pyx_L1_error:; __Pyx_XDECREF(__pyx_t_2); __Pyx_AddTraceback("questdb.ingress._dataframe_serialize_cell_column_i64__i8_arrow", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = -1; __pyx_L0:; __Pyx_RefNannyFinishContext(); return __pyx_r; }
1599: line_sender_buffer* ls_buf,
1600: qdb_pystr_buf* b,
1601: col_t* col,
1602: PyThreadState** gs) except -1:
+1603: cdef line_sender_error* err = NULL
__pyx_v_err = NULL;
+1604: cdef bint valid = _dataframe_arrow_is_valid(&col.cursor)
__pyx_v_valid = __pyx_f_7questdb_7ingress__dataframe_arrow_is_valid((&__pyx_v_col->cursor));
1605: cdef int8_t* access
+1606: if valid:
if (__pyx_v_valid) { /* … */ }
+1607: access = <int8_t*>col.cursor.chunk.buffers[1]
__pyx_v_access = ((int8_t *)(__pyx_v_col->cursor.chunk->buffers[1]));
+1608: if not line_sender_buffer_column_i64(
__pyx_t_1 = (!line_sender_buffer_column_i64(__pyx_v_ls_buf, __pyx_v_col->name, ((int64_t)(__pyx_v_access[__pyx_v_col->cursor.offset])), (&__pyx_v_err))); if (unlikely(__pyx_t_1)) { /* … */ }
1609: ls_buf,
1610: col.name,
1611: <int64_t>access[col.cursor.offset],
1612: &err):
+1613: _ensure_has_gil(gs)
__pyx_f_7questdb_7ingress__ensure_has_gil(__pyx_v_gs); if (unlikely(PyErr_Occurred())) __PYX_ERR(1, 1613, __pyx_L1_error)
+1614: raise c_err_to_py(err)
__pyx_t_2 = __pyx_f_7questdb_7ingress_c_err_to_py(__pyx_v_err); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 1614, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __Pyx_Raise(__pyx_t_2, 0, 0, 0); __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; __PYX_ERR(1, 1614, __pyx_L1_error)
1615:
1616:
+1617: cdef void_int _dataframe_serialize_cell_column_i64__u16_arrow(
static __pyx_t_7questdb_7ingress_void_int __pyx_f_7questdb_7ingress__dataframe_serialize_cell_column_i64__u16_arrow(struct line_sender_buffer *__pyx_v_ls_buf, CYTHON_UNUSED struct qdb_pystr_buf *__pyx_v_b, struct __pyx_t_7questdb_7ingress_col_t *__pyx_v_col, PyThreadState **__pyx_v_gs) { struct line_sender_error *__pyx_v_err; int __pyx_v_valid; uint16_t *__pyx_v_access; __pyx_t_7questdb_7ingress_void_int __pyx_r; /* … */ /* function exit code */ __pyx_r = 0; goto __pyx_L0; __pyx_L1_error:; __Pyx_XDECREF(__pyx_t_2); __Pyx_AddTraceback("questdb.ingress._dataframe_serialize_cell_column_i64__u16_arrow", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = -1; __pyx_L0:; __Pyx_RefNannyFinishContext(); return __pyx_r; }
1618: line_sender_buffer* ls_buf,
1619: qdb_pystr_buf* b,
1620: col_t* col,
1621: PyThreadState** gs) except -1:
+1622: cdef line_sender_error* err = NULL
__pyx_v_err = NULL;
+1623: cdef bint valid = _dataframe_arrow_is_valid(&col.cursor)
__pyx_v_valid = __pyx_f_7questdb_7ingress__dataframe_arrow_is_valid((&__pyx_v_col->cursor));
1624: cdef uint16_t* access
+1625: if valid:
if (__pyx_v_valid) { /* … */ }
+1626: access = <uint16_t*>col.cursor.chunk.buffers[1]
__pyx_v_access = ((uint16_t *)(__pyx_v_col->cursor.chunk->buffers[1]));
+1627: if not line_sender_buffer_column_i64(
__pyx_t_1 = (!line_sender_buffer_column_i64(__pyx_v_ls_buf, __pyx_v_col->name, ((int64_t)(__pyx_v_access[__pyx_v_col->cursor.offset])), (&__pyx_v_err))); if (unlikely(__pyx_t_1)) { /* … */ }
1628: ls_buf,
1629: col.name,
1630: <int64_t>access[col.cursor.offset],
1631: &err):
+1632: _ensure_has_gil(gs)
__pyx_f_7questdb_7ingress__ensure_has_gil(__pyx_v_gs); if (unlikely(PyErr_Occurred())) __PYX_ERR(1, 1632, __pyx_L1_error)
+1633: raise c_err_to_py(err)
__pyx_t_2 = __pyx_f_7questdb_7ingress_c_err_to_py(__pyx_v_err); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 1633, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __Pyx_Raise(__pyx_t_2, 0, 0, 0); __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; __PYX_ERR(1, 1633, __pyx_L1_error)
1634:
1635:
+1636: cdef void_int _dataframe_serialize_cell_column_i64__i16_arrow(
static __pyx_t_7questdb_7ingress_void_int __pyx_f_7questdb_7ingress__dataframe_serialize_cell_column_i64__i16_arrow(struct line_sender_buffer *__pyx_v_ls_buf, CYTHON_UNUSED struct qdb_pystr_buf *__pyx_v_b, struct __pyx_t_7questdb_7ingress_col_t *__pyx_v_col, PyThreadState **__pyx_v_gs) { struct line_sender_error *__pyx_v_err; int __pyx_v_valid; int16_t *__pyx_v_access; __pyx_t_7questdb_7ingress_void_int __pyx_r; /* … */ /* function exit code */ __pyx_r = 0; goto __pyx_L0; __pyx_L1_error:; __Pyx_XDECREF(__pyx_t_2); __Pyx_AddTraceback("questdb.ingress._dataframe_serialize_cell_column_i64__i16_arrow", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = -1; __pyx_L0:; __Pyx_RefNannyFinishContext(); return __pyx_r; }
1637: line_sender_buffer* ls_buf,
1638: qdb_pystr_buf* b,
1639: col_t* col,
1640: PyThreadState** gs) except -1:
+1641: cdef line_sender_error* err = NULL
__pyx_v_err = NULL;
+1642: cdef bint valid = _dataframe_arrow_is_valid(&col.cursor)
__pyx_v_valid = __pyx_f_7questdb_7ingress__dataframe_arrow_is_valid((&__pyx_v_col->cursor));
1643: cdef int16_t* access
+1644: if valid:
if (__pyx_v_valid) { /* … */ }
+1645: access = <int16_t*>col.cursor.chunk.buffers[1]
__pyx_v_access = ((int16_t *)(__pyx_v_col->cursor.chunk->buffers[1]));
+1646: if not line_sender_buffer_column_i64(
__pyx_t_1 = (!line_sender_buffer_column_i64(__pyx_v_ls_buf, __pyx_v_col->name, ((int64_t)(__pyx_v_access[__pyx_v_col->cursor.offset])), (&__pyx_v_err))); if (unlikely(__pyx_t_1)) { /* … */ }
1647: ls_buf,
1648: col.name,
1649: <int64_t>access[col.cursor.offset],
1650: &err):
+1651: _ensure_has_gil(gs)
__pyx_f_7questdb_7ingress__ensure_has_gil(__pyx_v_gs); if (unlikely(PyErr_Occurred())) __PYX_ERR(1, 1651, __pyx_L1_error)
+1652: raise c_err_to_py(err)
__pyx_t_2 = __pyx_f_7questdb_7ingress_c_err_to_py(__pyx_v_err); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 1652, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __Pyx_Raise(__pyx_t_2, 0, 0, 0); __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; __PYX_ERR(1, 1652, __pyx_L1_error)
1653:
1654:
+1655: cdef void_int _dataframe_serialize_cell_column_i64__u32_arrow(
static __pyx_t_7questdb_7ingress_void_int __pyx_f_7questdb_7ingress__dataframe_serialize_cell_column_i64__u32_arrow(struct line_sender_buffer *__pyx_v_ls_buf, CYTHON_UNUSED struct qdb_pystr_buf *__pyx_v_b, struct __pyx_t_7questdb_7ingress_col_t *__pyx_v_col, PyThreadState **__pyx_v_gs) { struct line_sender_error *__pyx_v_err; int __pyx_v_valid; uint32_t *__pyx_v_access; __pyx_t_7questdb_7ingress_void_int __pyx_r; /* … */ /* function exit code */ __pyx_r = 0; goto __pyx_L0; __pyx_L1_error:; __Pyx_XDECREF(__pyx_t_2); __Pyx_AddTraceback("questdb.ingress._dataframe_serialize_cell_column_i64__u32_arrow", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = -1; __pyx_L0:; __Pyx_RefNannyFinishContext(); return __pyx_r; }
1656: line_sender_buffer* ls_buf,
1657: qdb_pystr_buf* b,
1658: col_t* col,
1659: PyThreadState** gs) except -1:
+1660: cdef line_sender_error* err = NULL
__pyx_v_err = NULL;
+1661: cdef bint valid = _dataframe_arrow_is_valid(&col.cursor)
__pyx_v_valid = __pyx_f_7questdb_7ingress__dataframe_arrow_is_valid((&__pyx_v_col->cursor));
1662: cdef uint32_t* access
+1663: if valid:
if (__pyx_v_valid) { /* … */ }
+1664: access = <uint32_t*>col.cursor.chunk.buffers[1]
__pyx_v_access = ((uint32_t *)(__pyx_v_col->cursor.chunk->buffers[1]));
+1665: if not line_sender_buffer_column_i64(
__pyx_t_1 = (!line_sender_buffer_column_i64(__pyx_v_ls_buf, __pyx_v_col->name, ((int64_t)(__pyx_v_access[__pyx_v_col->cursor.offset])), (&__pyx_v_err))); if (unlikely(__pyx_t_1)) { /* … */ }
1666: ls_buf,
1667: col.name,
1668: <int64_t>access[col.cursor.offset],
1669: &err):
+1670: _ensure_has_gil(gs)
__pyx_f_7questdb_7ingress__ensure_has_gil(__pyx_v_gs); if (unlikely(PyErr_Occurred())) __PYX_ERR(1, 1670, __pyx_L1_error)
+1671: raise c_err_to_py(err)
__pyx_t_2 = __pyx_f_7questdb_7ingress_c_err_to_py(__pyx_v_err); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 1671, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __Pyx_Raise(__pyx_t_2, 0, 0, 0); __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; __PYX_ERR(1, 1671, __pyx_L1_error)
1672:
1673:
+1674: cdef void_int _dataframe_serialize_cell_column_i64__i32_arrow(
static __pyx_t_7questdb_7ingress_void_int __pyx_f_7questdb_7ingress__dataframe_serialize_cell_column_i64__i32_arrow(struct line_sender_buffer *__pyx_v_ls_buf, CYTHON_UNUSED struct qdb_pystr_buf *__pyx_v_b, struct __pyx_t_7questdb_7ingress_col_t *__pyx_v_col, PyThreadState **__pyx_v_gs) { struct line_sender_error *__pyx_v_err; int __pyx_v_valid; int32_t *__pyx_v_access; __pyx_t_7questdb_7ingress_void_int __pyx_r; /* … */ /* function exit code */ __pyx_r = 0; goto __pyx_L0; __pyx_L1_error:; __Pyx_XDECREF(__pyx_t_2); __Pyx_AddTraceback("questdb.ingress._dataframe_serialize_cell_column_i64__i32_arrow", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = -1; __pyx_L0:; __Pyx_RefNannyFinishContext(); return __pyx_r; }
1675: line_sender_buffer* ls_buf,
1676: qdb_pystr_buf* b,
1677: col_t* col,
1678: PyThreadState** gs) except -1:
+1679: cdef line_sender_error* err = NULL
__pyx_v_err = NULL;
+1680: cdef bint valid = _dataframe_arrow_is_valid(&col.cursor)
__pyx_v_valid = __pyx_f_7questdb_7ingress__dataframe_arrow_is_valid((&__pyx_v_col->cursor));
1681: cdef int32_t* access
+1682: if valid:
if (__pyx_v_valid) { /* … */ }
+1683: access = <int32_t*>col.cursor.chunk.buffers[1]
__pyx_v_access = ((int32_t *)(__pyx_v_col->cursor.chunk->buffers[1]));
+1684: if not line_sender_buffer_column_i64(
__pyx_t_1 = (!line_sender_buffer_column_i64(__pyx_v_ls_buf, __pyx_v_col->name, ((int64_t)(__pyx_v_access[__pyx_v_col->cursor.offset])), (&__pyx_v_err))); if (unlikely(__pyx_t_1)) { /* … */ }
1685: ls_buf,
1686: col.name,
1687: <int64_t>access[col.cursor.offset],
1688: &err):
+1689: _ensure_has_gil(gs)
__pyx_f_7questdb_7ingress__ensure_has_gil(__pyx_v_gs); if (unlikely(PyErr_Occurred())) __PYX_ERR(1, 1689, __pyx_L1_error)
+1690: raise c_err_to_py(err)
__pyx_t_2 = __pyx_f_7questdb_7ingress_c_err_to_py(__pyx_v_err); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 1690, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __Pyx_Raise(__pyx_t_2, 0, 0, 0); __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; __PYX_ERR(1, 1690, __pyx_L1_error)
1691:
1692:
+1693: cdef void_int _dataframe_serialize_cell_column_i64__u64_arrow(
static __pyx_t_7questdb_7ingress_void_int __pyx_f_7questdb_7ingress__dataframe_serialize_cell_column_i64__u64_arrow(struct line_sender_buffer *__pyx_v_ls_buf, CYTHON_UNUSED struct qdb_pystr_buf *__pyx_v_b, struct __pyx_t_7questdb_7ingress_col_t *__pyx_v_col, PyThreadState **__pyx_v_gs) { struct line_sender_error *__pyx_v_err; int __pyx_v_valid; uint64_t *__pyx_v_access; uint64_t __pyx_v_cell; __pyx_t_7questdb_7ingress_void_int __pyx_r; /* … */ /* function exit code */ __pyx_r = 0; goto __pyx_L0; __pyx_L1_error:; __Pyx_XDECREF(__pyx_t_2); __Pyx_AddTraceback("questdb.ingress._dataframe_serialize_cell_column_i64__u64_arrow", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = -1; __pyx_L0:; __Pyx_RefNannyFinishContext(); return __pyx_r; }
1694: line_sender_buffer* ls_buf,
1695: qdb_pystr_buf* b,
1696: col_t* col,
1697: PyThreadState** gs) except -1:
+1698: cdef line_sender_error* err = NULL
__pyx_v_err = NULL;
+1699: cdef bint valid = _dataframe_arrow_is_valid(&col.cursor)
__pyx_v_valid = __pyx_f_7questdb_7ingress__dataframe_arrow_is_valid((&__pyx_v_col->cursor));
1700: cdef uint64_t* access
1701: cdef uint64_t cell
+1702: if valid:
if (__pyx_v_valid) { /* … */ }
+1703: access = <uint64_t*>col.cursor.chunk.buffers[1]
__pyx_v_access = ((uint64_t *)(__pyx_v_col->cursor.chunk->buffers[1]));
+1704: cell = access[col.cursor.offset]
__pyx_v_cell = (__pyx_v_access[__pyx_v_col->cursor.offset]);
+1705: if cell > <uint64_t>INT64_MAX:
__pyx_t_1 = (__pyx_v_cell > ((uint64_t)INT64_MAX)); if (unlikely(__pyx_t_1)) { /* … */ }
+1706: _ensure_has_gil(gs)
__pyx_f_7questdb_7ingress__ensure_has_gil(__pyx_v_gs); if (unlikely(PyErr_Occurred())) __PYX_ERR(1, 1706, __pyx_L1_error)
+1707: raise OverflowError('uint64 value too large for int64 column type.')
__pyx_t_2 = __Pyx_PyObject_Call(__pyx_builtin_OverflowError, __pyx_tuple__26, NULL); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 1707, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __Pyx_Raise(__pyx_t_2, 0, 0, 0); __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; __PYX_ERR(1, 1707, __pyx_L1_error)
+1708: if not line_sender_buffer_column_i64(
__pyx_t_1 = (!line_sender_buffer_column_i64(__pyx_v_ls_buf, __pyx_v_col->name, ((int64_t)__pyx_v_cell), (&__pyx_v_err))); if (unlikely(__pyx_t_1)) { /* … */ }
1709: ls_buf,
1710: col.name,
1711: <int64_t>cell,
1712: &err):
+1713: _ensure_has_gil(gs)
__pyx_f_7questdb_7ingress__ensure_has_gil(__pyx_v_gs); if (unlikely(PyErr_Occurred())) __PYX_ERR(1, 1713, __pyx_L1_error)
+1714: raise c_err_to_py(err)
__pyx_t_2 = __pyx_f_7questdb_7ingress_c_err_to_py(__pyx_v_err); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 1714, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __Pyx_Raise(__pyx_t_2, 0, 0, 0); __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; __PYX_ERR(1, 1714, __pyx_L1_error)
1715:
1716:
+1717: cdef void_int _dataframe_serialize_cell_column_i64__i64_arrow(
static __pyx_t_7questdb_7ingress_void_int __pyx_f_7questdb_7ingress__dataframe_serialize_cell_column_i64__i64_arrow(struct line_sender_buffer *__pyx_v_ls_buf, CYTHON_UNUSED struct qdb_pystr_buf *__pyx_v_b, struct __pyx_t_7questdb_7ingress_col_t *__pyx_v_col, PyThreadState **__pyx_v_gs) { struct line_sender_error *__pyx_v_err; int __pyx_v_valid; int64_t *__pyx_v_access; __pyx_t_7questdb_7ingress_void_int __pyx_r; /* … */ /* function exit code */ __pyx_r = 0; goto __pyx_L0; __pyx_L1_error:; __Pyx_XDECREF(__pyx_t_2); __Pyx_AddTraceback("questdb.ingress._dataframe_serialize_cell_column_i64__i64_arrow", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = -1; __pyx_L0:; __Pyx_RefNannyFinishContext(); return __pyx_r; }
1718: line_sender_buffer* ls_buf,
1719: qdb_pystr_buf* b,
1720: col_t* col,
1721: PyThreadState** gs) except -1:
+1722: cdef line_sender_error* err = NULL
__pyx_v_err = NULL;
+1723: cdef bint valid = _dataframe_arrow_is_valid(&col.cursor)
__pyx_v_valid = __pyx_f_7questdb_7ingress__dataframe_arrow_is_valid((&__pyx_v_col->cursor));
1724: cdef int64_t* access
+1725: if valid:
if (__pyx_v_valid) { /* … */ }
+1726: access = <int64_t*>col.cursor.chunk.buffers[1]
__pyx_v_access = ((int64_t *)(__pyx_v_col->cursor.chunk->buffers[1]));
+1727: if not line_sender_buffer_column_i64(
__pyx_t_1 = (!line_sender_buffer_column_i64(__pyx_v_ls_buf, __pyx_v_col->name, (__pyx_v_access[__pyx_v_col->cursor.offset]), (&__pyx_v_err))); if (unlikely(__pyx_t_1)) { /* … */ }
1728: ls_buf,
1729: col.name,
1730: access[col.cursor.offset],
1731: &err):
+1732: _ensure_has_gil(gs)
__pyx_f_7questdb_7ingress__ensure_has_gil(__pyx_v_gs); if (unlikely(PyErr_Occurred())) __PYX_ERR(1, 1732, __pyx_L1_error)
+1733: raise c_err_to_py(err)
__pyx_t_2 = __pyx_f_7questdb_7ingress_c_err_to_py(__pyx_v_err); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 1733, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __Pyx_Raise(__pyx_t_2, 0, 0, 0); __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; __PYX_ERR(1, 1733, __pyx_L1_error)
1734:
1735:
+1736: cdef void_int _dataframe_serialize_cell_column_f64__float_pyobj(
static __pyx_t_7questdb_7ingress_void_int __pyx_f_7questdb_7ingress__dataframe_serialize_cell_column_f64__float_pyobj(struct line_sender_buffer *__pyx_v_ls_buf, CYTHON_UNUSED struct qdb_pystr_buf *__pyx_v_b, struct __pyx_t_7questdb_7ingress_col_t *__pyx_v_col) { struct line_sender_error *__pyx_v_err; PyObject **__pyx_v_access; PyObject *__pyx_v_cell; double __pyx_v_value; __pyx_t_7questdb_7ingress_void_int __pyx_r; /* … */ /* function exit code */ __pyx_r = 0; goto __pyx_L0; __pyx_L1_error:; __Pyx_XDECREF(__pyx_t_2); __Pyx_XDECREF(__pyx_t_3); __Pyx_AddTraceback("questdb.ingress._dataframe_serialize_cell_column_f64__float_pyobj", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = -1; __pyx_L0:; __Pyx_RefNannyFinishContext(); return __pyx_r; }
1737: line_sender_buffer* ls_buf,
1738: qdb_pystr_buf* b,
1739: col_t* col) except -1:
+1740: cdef line_sender_error* err = NULL
__pyx_v_err = NULL;
+1741: cdef PyObject** access = <PyObject**>col.cursor.chunk.buffers[1]
__pyx_v_access = ((PyObject **)(__pyx_v_col->cursor.chunk->buffers[1]));
+1742: cdef PyObject* cell = access[col.cursor.offset]
__pyx_v_cell = (__pyx_v_access[__pyx_v_col->cursor.offset]);
1743: cdef double value
+1744: if PyFloat_CheckExact(cell):
__pyx_t_1 = PyFloat_CheckExact(__pyx_v_cell);
if (__pyx_t_1) {
/* … */
goto __pyx_L3;
}
+1745: value = PyFloat_AS_DOUBLE(cell)
__pyx_v_value = PyFloat_AS_DOUBLE(__pyx_v_cell);
+1746: if not line_sender_buffer_column_f64(ls_buf, col.name, value, &err):
__pyx_t_1 = (!line_sender_buffer_column_f64(__pyx_v_ls_buf, __pyx_v_col->name, __pyx_v_value, (&__pyx_v_err))); if (unlikely(__pyx_t_1)) { /* … */ }
+1747: raise c_err_to_py(err)
__pyx_t_2 = __pyx_f_7questdb_7ingress_c_err_to_py(__pyx_v_err); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 1747, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __Pyx_Raise(__pyx_t_2, 0, 0, 0); __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; __PYX_ERR(1, 1747, __pyx_L1_error)
+1748: elif _dataframe_is_null_pyobj(cell):
__pyx_t_1 = __pyx_f_7questdb_7ingress__dataframe_is_null_pyobj(__pyx_v_cell); if (likely(__pyx_t_1)) { goto __pyx_L3; }
1749: pass
1750: else:
+1751: raise ValueError(
/*else*/ { /* … */ __pyx_t_3 = __Pyx_PyObject_CallOneArg(__pyx_builtin_ValueError, __pyx_t_2); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 1751, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; __Pyx_Raise(__pyx_t_3, 0, 0, 0); __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; __PYX_ERR(1, 1751, __pyx_L1_error) } __pyx_L3:;
+1752: 'Expected an object of type float, got an object of type ' +
__pyx_t_3 = __Pyx_PyUnicode_ConcatSafe(__pyx_kp_u_Expected_an_object_of_type_float, __pyx_t_2); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 1752, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
+1753: _fqn(type(<object>cell)) + '.')
__pyx_t_2 = __pyx_f_7questdb_7ingress__fqn(((PyTypeObject*)((PyObject *)Py_TYPE(((PyObject *)__pyx_v_cell))))); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 1753, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); /* … */ __pyx_t_2 = __Pyx_PyUnicode_ConcatInPlace(__pyx_t_3, __pyx_kp_u__5); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 1753, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
1754:
1755:
+1756: cdef void_int _dataframe_serialize_cell_column_f64__f32_numpy(
static __pyx_t_7questdb_7ingress_void_int __pyx_f_7questdb_7ingress__dataframe_serialize_cell_column_f64__f32_numpy(struct line_sender_buffer *__pyx_v_ls_buf, CYTHON_UNUSED struct qdb_pystr_buf *__pyx_v_b, struct __pyx_t_7questdb_7ingress_col_t *__pyx_v_col, PyThreadState **__pyx_v_gs) { struct line_sender_error *__pyx_v_err; float *__pyx_v_access; float __pyx_v_cell; __pyx_t_7questdb_7ingress_void_int __pyx_r; /* … */ /* function exit code */ __pyx_r = 0; goto __pyx_L0; __pyx_L1_error:; __Pyx_XDECREF(__pyx_t_2); __Pyx_AddTraceback("questdb.ingress._dataframe_serialize_cell_column_f64__f32_numpy", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = -1; __pyx_L0:; __Pyx_RefNannyFinishContext(); return __pyx_r; }
1757: line_sender_buffer* ls_buf,
1758: qdb_pystr_buf* b,
1759: col_t* col,
1760: PyThreadState** gs) except -1:
+1761: cdef line_sender_error* err = NULL
__pyx_v_err = NULL;
1762: # Note: This is the C `float` type, not the Python `float` type.
+1763: cdef float* access = <float*>col.cursor.chunk.buffers[1]
__pyx_v_access = ((float *)(__pyx_v_col->cursor.chunk->buffers[1]));
+1764: cdef float cell = access[col.cursor.offset]
__pyx_v_cell = (__pyx_v_access[__pyx_v_col->cursor.offset]);
+1765: if not line_sender_buffer_column_f64(ls_buf, col.name, <double>cell, &err):
__pyx_t_1 = (!line_sender_buffer_column_f64(__pyx_v_ls_buf, __pyx_v_col->name, ((double)__pyx_v_cell), (&__pyx_v_err))); if (unlikely(__pyx_t_1)) { /* … */ }
+1766: _ensure_has_gil(gs)
__pyx_f_7questdb_7ingress__ensure_has_gil(__pyx_v_gs); if (unlikely(PyErr_Occurred())) __PYX_ERR(1, 1766, __pyx_L1_error)
+1767: raise c_err_to_py(err)
__pyx_t_2 = __pyx_f_7questdb_7ingress_c_err_to_py(__pyx_v_err); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 1767, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __Pyx_Raise(__pyx_t_2, 0, 0, 0); __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; __PYX_ERR(1, 1767, __pyx_L1_error)
1768:
1769:
+1770: cdef void_int _dataframe_serialize_cell_column_f64__f64_numpy(
static __pyx_t_7questdb_7ingress_void_int __pyx_f_7questdb_7ingress__dataframe_serialize_cell_column_f64__f64_numpy(struct line_sender_buffer *__pyx_v_ls_buf, CYTHON_UNUSED struct qdb_pystr_buf *__pyx_v_b, struct __pyx_t_7questdb_7ingress_col_t *__pyx_v_col, PyThreadState **__pyx_v_gs) { struct line_sender_error *__pyx_v_err; double *__pyx_v_access; double __pyx_v_cell; __pyx_t_7questdb_7ingress_void_int __pyx_r; /* … */ /* function exit code */ __pyx_r = 0; goto __pyx_L0; __pyx_L1_error:; __Pyx_XDECREF(__pyx_t_2); __Pyx_AddTraceback("questdb.ingress._dataframe_serialize_cell_column_f64__f64_numpy", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = -1; __pyx_L0:; __Pyx_RefNannyFinishContext(); return __pyx_r; }
1771: line_sender_buffer* ls_buf,
1772: qdb_pystr_buf* b,
1773: col_t* col,
1774: PyThreadState** gs) except -1:
+1775: cdef line_sender_error* err = NULL
__pyx_v_err = NULL;
+1776: cdef double* access = <double*>col.cursor.chunk.buffers[1]
__pyx_v_access = ((double *)(__pyx_v_col->cursor.chunk->buffers[1]));
+1777: cdef double cell = access[col.cursor.offset]
__pyx_v_cell = (__pyx_v_access[__pyx_v_col->cursor.offset]);
+1778: if not line_sender_buffer_column_f64(ls_buf, col.name, cell, &err):
__pyx_t_1 = (!line_sender_buffer_column_f64(__pyx_v_ls_buf, __pyx_v_col->name, __pyx_v_cell, (&__pyx_v_err))); if (unlikely(__pyx_t_1)) { /* … */ }
+1779: _ensure_has_gil(gs)
__pyx_f_7questdb_7ingress__ensure_has_gil(__pyx_v_gs); if (unlikely(PyErr_Occurred())) __PYX_ERR(1, 1779, __pyx_L1_error)
+1780: raise c_err_to_py(err)
__pyx_t_2 = __pyx_f_7questdb_7ingress_c_err_to_py(__pyx_v_err); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 1780, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __Pyx_Raise(__pyx_t_2, 0, 0, 0); __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; __PYX_ERR(1, 1780, __pyx_L1_error)
1781:
1782:
+1783: cdef void_int _dataframe_serialize_cell_column_f64__f32_arrow(
static __pyx_t_7questdb_7ingress_void_int __pyx_f_7questdb_7ingress__dataframe_serialize_cell_column_f64__f32_arrow(struct line_sender_buffer *__pyx_v_ls_buf, CYTHON_UNUSED struct qdb_pystr_buf *__pyx_v_b, struct __pyx_t_7questdb_7ingress_col_t *__pyx_v_col, PyThreadState **__pyx_v_gs) { struct line_sender_error *__pyx_v_err; int __pyx_v_valid; float *__pyx_v_access; __pyx_t_7questdb_7ingress_void_int __pyx_r; /* … */ /* function exit code */ __pyx_r = 0; goto __pyx_L0; __pyx_L1_error:; __Pyx_XDECREF(__pyx_t_2); __Pyx_AddTraceback("questdb.ingress._dataframe_serialize_cell_column_f64__f32_arrow", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = -1; __pyx_L0:; __Pyx_RefNannyFinishContext(); return __pyx_r; }
1784: line_sender_buffer* ls_buf,
1785: qdb_pystr_buf* b,
1786: col_t* col,
1787: PyThreadState** gs) except -1:
+1788: cdef line_sender_error* err = NULL
__pyx_v_err = NULL;
+1789: cdef bint valid = _dataframe_arrow_is_valid(&col.cursor)
__pyx_v_valid = __pyx_f_7questdb_7ingress__dataframe_arrow_is_valid((&__pyx_v_col->cursor));
1790: cdef float* access
+1791: if valid:
if (__pyx_v_valid) { /* … */ }
+1792: access = <float*>col.cursor.chunk.buffers[1]
__pyx_v_access = ((float *)(__pyx_v_col->cursor.chunk->buffers[1]));
+1793: if not line_sender_buffer_column_f64(
__pyx_t_1 = (!line_sender_buffer_column_f64(__pyx_v_ls_buf, __pyx_v_col->name, ((double)(__pyx_v_access[__pyx_v_col->cursor.offset])), (&__pyx_v_err))); if (unlikely(__pyx_t_1)) { /* … */ }
1794: ls_buf,
1795: col.name,
1796: <double>access[col.cursor.offset],
1797: &err):
+1798: _ensure_has_gil(gs)
__pyx_f_7questdb_7ingress__ensure_has_gil(__pyx_v_gs); if (unlikely(PyErr_Occurred())) __PYX_ERR(1, 1798, __pyx_L1_error)
+1799: raise c_err_to_py(err)
__pyx_t_2 = __pyx_f_7questdb_7ingress_c_err_to_py(__pyx_v_err); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 1799, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __Pyx_Raise(__pyx_t_2, 0, 0, 0); __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; __PYX_ERR(1, 1799, __pyx_L1_error)
1800:
1801:
+1802: cdef void_int _dataframe_serialize_cell_column_f64__f64_arrow(
static __pyx_t_7questdb_7ingress_void_int __pyx_f_7questdb_7ingress__dataframe_serialize_cell_column_f64__f64_arrow(struct line_sender_buffer *__pyx_v_ls_buf, CYTHON_UNUSED struct qdb_pystr_buf *__pyx_v_b, struct __pyx_t_7questdb_7ingress_col_t *__pyx_v_col, PyThreadState **__pyx_v_gs) { struct line_sender_error *__pyx_v_err; int __pyx_v_valid; double *__pyx_v_access; __pyx_t_7questdb_7ingress_void_int __pyx_r; /* … */ /* function exit code */ __pyx_r = 0; goto __pyx_L0; __pyx_L1_error:; __Pyx_XDECREF(__pyx_t_2); __Pyx_AddTraceback("questdb.ingress._dataframe_serialize_cell_column_f64__f64_arrow", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = -1; __pyx_L0:; __Pyx_RefNannyFinishContext(); return __pyx_r; }
1803: line_sender_buffer* ls_buf,
1804: qdb_pystr_buf* b,
1805: col_t* col,
1806: PyThreadState** gs) except -1:
+1807: cdef line_sender_error* err = NULL
__pyx_v_err = NULL;
+1808: cdef bint valid = _dataframe_arrow_is_valid(&col.cursor)
__pyx_v_valid = __pyx_f_7questdb_7ingress__dataframe_arrow_is_valid((&__pyx_v_col->cursor));
1809: cdef double* access
+1810: if valid:
if (__pyx_v_valid) { /* … */ }
+1811: access = <double*>col.cursor.chunk.buffers[1]
__pyx_v_access = ((double *)(__pyx_v_col->cursor.chunk->buffers[1]));
+1812: if not line_sender_buffer_column_f64(
__pyx_t_1 = (!line_sender_buffer_column_f64(__pyx_v_ls_buf, __pyx_v_col->name, (__pyx_v_access[__pyx_v_col->cursor.offset]), (&__pyx_v_err))); if (unlikely(__pyx_t_1)) { /* … */ }
1813: ls_buf,
1814: col.name,
1815: access[col.cursor.offset],
1816: &err):
+1817: _ensure_has_gil(gs)
__pyx_f_7questdb_7ingress__ensure_has_gil(__pyx_v_gs); if (unlikely(PyErr_Occurred())) __PYX_ERR(1, 1817, __pyx_L1_error)
+1818: raise c_err_to_py(err)
__pyx_t_2 = __pyx_f_7questdb_7ingress_c_err_to_py(__pyx_v_err); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 1818, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __Pyx_Raise(__pyx_t_2, 0, 0, 0); __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; __PYX_ERR(1, 1818, __pyx_L1_error)
1819:
1820:
+1821: cdef void_int _dataframe_serialize_cell_column_str__str_pyobj(
static __pyx_t_7questdb_7ingress_void_int __pyx_f_7questdb_7ingress__dataframe_serialize_cell_column_str__str_pyobj(struct line_sender_buffer *__pyx_v_ls_buf, struct qdb_pystr_buf *__pyx_v_b, struct __pyx_t_7questdb_7ingress_col_t *__pyx_v_col) { struct line_sender_error *__pyx_v_err; int __pyx_v_valid; struct line_sender_utf8 __pyx_v_utf8; __pyx_t_7questdb_7ingress_void_int __pyx_r; /* … */ /* function exit code */ __pyx_r = 0; goto __pyx_L0; __pyx_L1_error:; __Pyx_XDECREF(__pyx_t_4); __Pyx_AddTraceback("questdb.ingress._dataframe_serialize_cell_column_str__str_pyobj", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = -1; __pyx_L0:; __Pyx_RefNannyFinishContext(); return __pyx_r; }
1822: line_sender_buffer* ls_buf,
1823: qdb_pystr_buf* b,
1824: col_t* col) except -1:
+1825: cdef line_sender_error* err = NULL
__pyx_v_err = NULL;
+1826: cdef bint valid = False
__pyx_v_valid = 0;
1827: cdef line_sender_utf8 utf8
+1828: _dataframe_cell_str_pyobj_to_utf8(b, &col.cursor, &valid, &utf8)
__pyx_t_1 = __pyx_f_7questdb_7ingress__dataframe_cell_str_pyobj_to_utf8(__pyx_v_b, (&__pyx_v_col->cursor), (&__pyx_v_valid), (&__pyx_v_utf8)); if (unlikely(__pyx_t_1 == ((__pyx_t_7questdb_7ingress_void_int)-1))) __PYX_ERR(1, 1828, __pyx_L1_error)
+1829: if valid and not line_sender_buffer_column_str(
if (__pyx_v_valid) { } else { __pyx_t_2 = __pyx_v_valid; goto __pyx_L4_bool_binop_done; } /* … */ __pyx_t_3 = (!line_sender_buffer_column_str(__pyx_v_ls_buf, __pyx_v_col->name, __pyx_v_utf8, (&__pyx_v_err))); __pyx_t_2 = __pyx_t_3; __pyx_L4_bool_binop_done:; /* … */ if (unlikely(__pyx_t_2)) { /* … */ }
1830: ls_buf, col.name, utf8, &err):
+1831: raise c_err_to_py(err)
__pyx_t_4 = __pyx_f_7questdb_7ingress_c_err_to_py(__pyx_v_err); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 1831, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); __Pyx_Raise(__pyx_t_4, 0, 0, 0); __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; __PYX_ERR(1, 1831, __pyx_L1_error)
1832:
1833:
+1834: cdef void_int _dataframe_serialize_cell_column_str__str_arrow(
static __pyx_t_7questdb_7ingress_void_int __pyx_f_7questdb_7ingress__dataframe_serialize_cell_column_str__str_arrow(struct line_sender_buffer *__pyx_v_ls_buf, CYTHON_UNUSED struct qdb_pystr_buf *__pyx_v_b, struct __pyx_t_7questdb_7ingress_col_t *__pyx_v_col, PyThreadState **__pyx_v_gs) { struct line_sender_error *__pyx_v_err; struct line_sender_utf8 __pyx_v_utf8; __pyx_t_7questdb_7ingress_void_int __pyx_r; /* … */ /* function exit code */ __pyx_r = 0; goto __pyx_L0; __pyx_L1_error:; __Pyx_XDECREF(__pyx_t_2); __Pyx_AddTraceback("questdb.ingress._dataframe_serialize_cell_column_str__str_arrow", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = -1; __pyx_L0:; __Pyx_RefNannyFinishContext(); return __pyx_r; }
1835: line_sender_buffer* ls_buf,
1836: qdb_pystr_buf* b,
1837: col_t* col,
1838: PyThreadState** gs) except -1:
+1839: cdef line_sender_error* err = NULL
__pyx_v_err = NULL;
1840: cdef line_sender_utf8 utf8
+1841: if _dataframe_arrow_str(&col.cursor, &utf8.len, &utf8.buf):
__pyx_t_1 = __pyx_f_7questdb_7ingress__dataframe_arrow_str((&__pyx_v_col->cursor), (&__pyx_v_utf8.len), (&__pyx_v_utf8.buf)); if (__pyx_t_1) { /* … */ }
+1842: if not line_sender_buffer_column_str(ls_buf, col.name, utf8, &err):
__pyx_t_1 = (!line_sender_buffer_column_str(__pyx_v_ls_buf, __pyx_v_col->name, __pyx_v_utf8, (&__pyx_v_err))); if (unlikely(__pyx_t_1)) { /* … */ }
+1843: _ensure_has_gil(gs)
__pyx_f_7questdb_7ingress__ensure_has_gil(__pyx_v_gs); if (unlikely(PyErr_Occurred())) __PYX_ERR(1, 1843, __pyx_L1_error)
+1844: raise c_err_to_py(err)
__pyx_t_2 = __pyx_f_7questdb_7ingress_c_err_to_py(__pyx_v_err); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 1844, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __Pyx_Raise(__pyx_t_2, 0, 0, 0); __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; __PYX_ERR(1, 1844, __pyx_L1_error)
1845:
1846:
+1847: cdef void_int _dataframe_serialize_cell_column_str__str_i8_cat(
static __pyx_t_7questdb_7ingress_void_int __pyx_f_7questdb_7ingress__dataframe_serialize_cell_column_str__str_i8_cat(struct line_sender_buffer *__pyx_v_ls_buf, CYTHON_UNUSED struct qdb_pystr_buf *__pyx_v_b, struct __pyx_t_7questdb_7ingress_col_t *__pyx_v_col, PyThreadState **__pyx_v_gs) { struct line_sender_error *__pyx_v_err; struct line_sender_utf8 __pyx_v_utf8; __pyx_t_7questdb_7ingress_void_int __pyx_r; /* … */ /* function exit code */ __pyx_r = 0; goto __pyx_L0; __pyx_L1_error:; __Pyx_XDECREF(__pyx_t_2); __Pyx_AddTraceback("questdb.ingress._dataframe_serialize_cell_column_str__str_i8_cat", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = -1; __pyx_L0:; __Pyx_RefNannyFinishContext(); return __pyx_r; }
1848: line_sender_buffer* ls_buf,
1849: qdb_pystr_buf* b,
1850: col_t* col,
1851: PyThreadState** gs) except -1:
+1852: cdef line_sender_error* err = NULL
__pyx_v_err = NULL;
1853: cdef line_sender_utf8 utf8
+1854: if _dataframe_arrow_get_cat_i8(&col.cursor, &utf8.len, &utf8.buf):
__pyx_t_1 = __pyx_f_7questdb_7ingress__dataframe_arrow_get_cat_i8((&__pyx_v_col->cursor), (&__pyx_v_utf8.len), (&__pyx_v_utf8.buf)); if (__pyx_t_1) { /* … */ }
+1855: if not line_sender_buffer_column_str(ls_buf, col.name, utf8, &err):
__pyx_t_1 = (!line_sender_buffer_column_str(__pyx_v_ls_buf, __pyx_v_col->name, __pyx_v_utf8, (&__pyx_v_err))); if (unlikely(__pyx_t_1)) { /* … */ }
+1856: _ensure_has_gil(gs)
__pyx_f_7questdb_7ingress__ensure_has_gil(__pyx_v_gs); if (unlikely(PyErr_Occurred())) __PYX_ERR(1, 1856, __pyx_L1_error)
+1857: raise c_err_to_py(err)
__pyx_t_2 = __pyx_f_7questdb_7ingress_c_err_to_py(__pyx_v_err); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 1857, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __Pyx_Raise(__pyx_t_2, 0, 0, 0); __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; __PYX_ERR(1, 1857, __pyx_L1_error)
1858:
1859:
+1860: cdef void_int _dataframe_serialize_cell_column_str__str_i16_cat(
static __pyx_t_7questdb_7ingress_void_int __pyx_f_7questdb_7ingress__dataframe_serialize_cell_column_str__str_i16_cat(struct line_sender_buffer *__pyx_v_ls_buf, CYTHON_UNUSED struct qdb_pystr_buf *__pyx_v_b, struct __pyx_t_7questdb_7ingress_col_t *__pyx_v_col, PyThreadState **__pyx_v_gs) { struct line_sender_error *__pyx_v_err; struct line_sender_utf8 __pyx_v_utf8; __pyx_t_7questdb_7ingress_void_int __pyx_r; /* … */ /* function exit code */ __pyx_r = 0; goto __pyx_L0; __pyx_L1_error:; __Pyx_XDECREF(__pyx_t_2); __Pyx_AddTraceback("questdb.ingress._dataframe_serialize_cell_column_str__str_i16_cat", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = -1; __pyx_L0:; __Pyx_RefNannyFinishContext(); return __pyx_r; }
1861: line_sender_buffer* ls_buf,
1862: qdb_pystr_buf* b,
1863: col_t* col,
1864: PyThreadState** gs) except -1:
+1865: cdef line_sender_error* err = NULL
__pyx_v_err = NULL;
1866: cdef line_sender_utf8 utf8
+1867: if _dataframe_arrow_get_cat_i16(&col.cursor, &utf8.len, &utf8.buf):
__pyx_t_1 = __pyx_f_7questdb_7ingress__dataframe_arrow_get_cat_i16((&__pyx_v_col->cursor), (&__pyx_v_utf8.len), (&__pyx_v_utf8.buf)); if (__pyx_t_1) { /* … */ }
+1868: if not line_sender_buffer_column_str(ls_buf, col.name, utf8, &err):
__pyx_t_1 = (!line_sender_buffer_column_str(__pyx_v_ls_buf, __pyx_v_col->name, __pyx_v_utf8, (&__pyx_v_err))); if (unlikely(__pyx_t_1)) { /* … */ }
+1869: _ensure_has_gil(gs)
__pyx_f_7questdb_7ingress__ensure_has_gil(__pyx_v_gs); if (unlikely(PyErr_Occurred())) __PYX_ERR(1, 1869, __pyx_L1_error)
+1870: raise c_err_to_py(err)
__pyx_t_2 = __pyx_f_7questdb_7ingress_c_err_to_py(__pyx_v_err); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 1870, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __Pyx_Raise(__pyx_t_2, 0, 0, 0); __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; __PYX_ERR(1, 1870, __pyx_L1_error)
1871:
1872:
+1873: cdef void_int _dataframe_serialize_cell_column_str__str_i32_cat(
static __pyx_t_7questdb_7ingress_void_int __pyx_f_7questdb_7ingress__dataframe_serialize_cell_column_str__str_i32_cat(struct line_sender_buffer *__pyx_v_ls_buf, CYTHON_UNUSED struct qdb_pystr_buf *__pyx_v_b, struct __pyx_t_7questdb_7ingress_col_t *__pyx_v_col, PyThreadState **__pyx_v_gs) { struct line_sender_error *__pyx_v_err; struct line_sender_utf8 __pyx_v_utf8; __pyx_t_7questdb_7ingress_void_int __pyx_r; /* … */ /* function exit code */ __pyx_r = 0; goto __pyx_L0; __pyx_L1_error:; __Pyx_XDECREF(__pyx_t_2); __Pyx_AddTraceback("questdb.ingress._dataframe_serialize_cell_column_str__str_i32_cat", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = -1; __pyx_L0:; __Pyx_RefNannyFinishContext(); return __pyx_r; }
1874: line_sender_buffer* ls_buf,
1875: qdb_pystr_buf* b,
1876: col_t* col,
1877: PyThreadState** gs) except -1:
+1878: cdef line_sender_error* err = NULL
__pyx_v_err = NULL;
1879: cdef line_sender_utf8 utf8
+1880: if _dataframe_arrow_get_cat_i32(&col.cursor, &utf8.len, &utf8.buf):
__pyx_t_1 = __pyx_f_7questdb_7ingress__dataframe_arrow_get_cat_i32((&__pyx_v_col->cursor), (&__pyx_v_utf8.len), (&__pyx_v_utf8.buf)); if (__pyx_t_1) { /* … */ }
+1881: if not line_sender_buffer_column_str(ls_buf, col.name, utf8, &err):
__pyx_t_1 = (!line_sender_buffer_column_str(__pyx_v_ls_buf, __pyx_v_col->name, __pyx_v_utf8, (&__pyx_v_err))); if (unlikely(__pyx_t_1)) { /* … */ }
+1882: _ensure_has_gil(gs)
__pyx_f_7questdb_7ingress__ensure_has_gil(__pyx_v_gs); if (unlikely(PyErr_Occurred())) __PYX_ERR(1, 1882, __pyx_L1_error)
+1883: raise c_err_to_py(err)
__pyx_t_2 = __pyx_f_7questdb_7ingress_c_err_to_py(__pyx_v_err); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 1883, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __Pyx_Raise(__pyx_t_2, 0, 0, 0); __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; __PYX_ERR(1, 1883, __pyx_L1_error)
1884:
1885:
+1886: cdef void_int _dataframe_serialize_cell_column_ts__dt64ns_numpy(
static __pyx_t_7questdb_7ingress_void_int __pyx_f_7questdb_7ingress__dataframe_serialize_cell_column_ts__dt64ns_numpy(struct line_sender_buffer *__pyx_v_ls_buf, CYTHON_UNUSED struct qdb_pystr_buf *__pyx_v_b, struct __pyx_t_7questdb_7ingress_col_t *__pyx_v_col, PyThreadState **__pyx_v_gs) { struct line_sender_error *__pyx_v_err; int64_t *__pyx_v_access; int64_t __pyx_v_cell; __pyx_t_7questdb_7ingress_void_int __pyx_r; /* … */ /* function exit code */ __pyx_r = 0; goto __pyx_L0; __pyx_L1_error:; __Pyx_XDECREF(__pyx_t_2); __Pyx_AddTraceback("questdb.ingress._dataframe_serialize_cell_column_ts__dt64ns_numpy", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = -1; __pyx_L0:; __Pyx_RefNannyFinishContext(); return __pyx_r; }
1887: line_sender_buffer* ls_buf,
1888: qdb_pystr_buf* b,
1889: col_t* col,
1890: PyThreadState** gs) except -1:
+1891: cdef line_sender_error* err = NULL
__pyx_v_err = NULL;
+1892: cdef int64_t* access = <int64_t*>col.cursor.chunk.buffers[1]
__pyx_v_access = ((int64_t *)(__pyx_v_col->cursor.chunk->buffers[1]));
+1893: cdef int64_t cell = access[col.cursor.offset]
__pyx_v_cell = (__pyx_v_access[__pyx_v_col->cursor.offset]);
+1894: if cell != _NAT:
__pyx_t_1 = (__pyx_v_cell != __pyx_v_7questdb_7ingress__NAT); if (__pyx_t_1) { /* … */ }
+1895: if not line_sender_buffer_column_ts_nanos(ls_buf, col.name, cell, &err):
__pyx_t_1 = (!line_sender_buffer_column_ts_nanos(__pyx_v_ls_buf, __pyx_v_col->name, __pyx_v_cell, (&__pyx_v_err))); if (unlikely(__pyx_t_1)) { /* … */ }
+1896: _ensure_has_gil(gs)
__pyx_f_7questdb_7ingress__ensure_has_gil(__pyx_v_gs); if (unlikely(PyErr_Occurred())) __PYX_ERR(1, 1896, __pyx_L1_error)
+1897: raise c_err_to_py(err)
__pyx_t_2 = __pyx_f_7questdb_7ingress_c_err_to_py(__pyx_v_err); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 1897, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __Pyx_Raise(__pyx_t_2, 0, 0, 0); __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; __PYX_ERR(1, 1897, __pyx_L1_error)
1898:
1899:
+1900: cdef void_int _dataframe_serialize_cell_column_ts__dt64ns_tz_arrow(
static __pyx_t_7questdb_7ingress_void_int __pyx_f_7questdb_7ingress__dataframe_serialize_cell_column_ts__dt64ns_tz_arrow(struct line_sender_buffer *__pyx_v_ls_buf, CYTHON_UNUSED struct qdb_pystr_buf *__pyx_v_b, struct __pyx_t_7questdb_7ingress_col_t *__pyx_v_col, PyThreadState **__pyx_v_gs) { struct line_sender_error *__pyx_v_err; int __pyx_v_valid; int64_t __pyx_v_cell; int64_t *__pyx_v_access; __pyx_t_7questdb_7ingress_void_int __pyx_r; /* … */ /* function exit code */ __pyx_r = 0; goto __pyx_L0; __pyx_L1_error:; __Pyx_XDECREF(__pyx_t_2); __Pyx_AddTraceback("questdb.ingress._dataframe_serialize_cell_column_ts__dt64ns_tz_arrow", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = -1; __pyx_L0:; __Pyx_RefNannyFinishContext(); return __pyx_r; }
1901: line_sender_buffer* ls_buf,
1902: qdb_pystr_buf* b,
1903: col_t* col,
1904: PyThreadState** gs) except -1:
+1905: cdef line_sender_error* err = NULL
__pyx_v_err = NULL;
+1906: cdef bint valid = _dataframe_arrow_is_valid(&col.cursor)
__pyx_v_valid = __pyx_f_7questdb_7ingress__dataframe_arrow_is_valid((&__pyx_v_col->cursor));
1907: cdef int64_t cell
1908: cdef int64_t* access
+1909: if valid:
if (__pyx_v_valid) { /* … */ }
+1910: access = <int64_t*>col.cursor.chunk.buffers[1]
__pyx_v_access = ((int64_t *)(__pyx_v_col->cursor.chunk->buffers[1]));
+1911: cell = access[col.cursor.offset]
__pyx_v_cell = (__pyx_v_access[__pyx_v_col->cursor.offset]);
+1912: if not line_sender_buffer_column_ts_nanos(ls_buf, col.name, cell, &err):
__pyx_t_1 = (!line_sender_buffer_column_ts_nanos(__pyx_v_ls_buf, __pyx_v_col->name, __pyx_v_cell, (&__pyx_v_err))); if (unlikely(__pyx_t_1)) { /* … */ }
+1913: _ensure_has_gil(gs)
__pyx_f_7questdb_7ingress__ensure_has_gil(__pyx_v_gs); if (unlikely(PyErr_Occurred())) __PYX_ERR(1, 1913, __pyx_L1_error)
+1914: raise c_err_to_py(err)
__pyx_t_2 = __pyx_f_7questdb_7ingress_c_err_to_py(__pyx_v_err); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 1914, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __Pyx_Raise(__pyx_t_2, 0, 0, 0); __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; __PYX_ERR(1, 1914, __pyx_L1_error)
1915:
1916:
+1917: cdef void_int _dataframe_serialize_cell_at_dt64ns_numpy(
static __pyx_t_7questdb_7ingress_void_int __pyx_f_7questdb_7ingress__dataframe_serialize_cell_at_dt64ns_numpy(struct line_sender_buffer *__pyx_v_ls_buf, CYTHON_UNUSED struct qdb_pystr_buf *__pyx_v_b, struct __pyx_t_7questdb_7ingress_col_t *__pyx_v_col, PyThreadState **__pyx_v_gs) { struct line_sender_error *__pyx_v_err; int64_t *__pyx_v_access; int64_t __pyx_v_cell; __pyx_t_7questdb_7ingress_void_int __pyx_r; /* … */ /* function exit code */ __pyx_r = 0; goto __pyx_L0; __pyx_L1_error:; __Pyx_XDECREF(__pyx_t_2); __Pyx_AddTraceback("questdb.ingress._dataframe_serialize_cell_at_dt64ns_numpy", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = -1; __pyx_L0:; __Pyx_RefNannyFinishContext(); return __pyx_r; }
1918: line_sender_buffer* ls_buf,
1919: qdb_pystr_buf* b,
1920: col_t* col,
1921: PyThreadState** gs) except -1:
+1922: cdef line_sender_error* err = NULL
__pyx_v_err = NULL;
+1923: cdef int64_t* access = <int64_t*>col.cursor.chunk.buffers[1]
__pyx_v_access = ((int64_t *)(__pyx_v_col->cursor.chunk->buffers[1]));
+1924: cdef int64_t cell = access[col.cursor.offset]
__pyx_v_cell = (__pyx_v_access[__pyx_v_col->cursor.offset]);
+1925: if cell == _NAT:
__pyx_t_1 = (__pyx_v_cell == __pyx_v_7questdb_7ingress__NAT); if (__pyx_t_1) { /* … */ goto __pyx_L3; }
+1926: if not line_sender_buffer_at_now(ls_buf, &err):
__pyx_t_1 = (!line_sender_buffer_at_now(__pyx_v_ls_buf, (&__pyx_v_err))); if (unlikely(__pyx_t_1)) { /* … */ }
+1927: _ensure_has_gil(gs)
__pyx_f_7questdb_7ingress__ensure_has_gil(__pyx_v_gs); if (unlikely(PyErr_Occurred())) __PYX_ERR(1, 1927, __pyx_L1_error)
+1928: raise c_err_to_py(err)
__pyx_t_2 = __pyx_f_7questdb_7ingress_c_err_to_py(__pyx_v_err); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 1928, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __Pyx_Raise(__pyx_t_2, 0, 0, 0); __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; __PYX_ERR(1, 1928, __pyx_L1_error)
1929: else:
1930: # Note: ls_buf will validate against negative numbers.
+1931: if not line_sender_buffer_at_nanos(ls_buf, cell, &err):
/*else*/ { __pyx_t_1 = (!line_sender_buffer_at_nanos(__pyx_v_ls_buf, __pyx_v_cell, (&__pyx_v_err))); if (unlikely(__pyx_t_1)) { /* … */ } } __pyx_L3:;
+1932: _ensure_has_gil(gs)
__pyx_f_7questdb_7ingress__ensure_has_gil(__pyx_v_gs); if (unlikely(PyErr_Occurred())) __PYX_ERR(1, 1932, __pyx_L1_error)
+1933: raise c_err_to_py(err)
__pyx_t_2 = __pyx_f_7questdb_7ingress_c_err_to_py(__pyx_v_err); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 1933, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __Pyx_Raise(__pyx_t_2, 0, 0, 0); __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; __PYX_ERR(1, 1933, __pyx_L1_error)
1934:
1935:
+1936: cdef void_int _dataframe_serialize_cell_at_dt64ns_tz_arrow(
static __pyx_t_7questdb_7ingress_void_int __pyx_f_7questdb_7ingress__dataframe_serialize_cell_at_dt64ns_tz_arrow(struct line_sender_buffer *__pyx_v_ls_buf, CYTHON_UNUSED struct qdb_pystr_buf *__pyx_v_b, struct __pyx_t_7questdb_7ingress_col_t *__pyx_v_col, PyThreadState **__pyx_v_gs) { struct line_sender_error *__pyx_v_err; int __pyx_v_valid; int64_t *__pyx_v_access; int64_t __pyx_v_cell; __pyx_t_7questdb_7ingress_void_int __pyx_r; /* … */ /* function exit code */ __pyx_r = 0; goto __pyx_L0; __pyx_L1_error:; __Pyx_XDECREF(__pyx_t_2); __Pyx_AddTraceback("questdb.ingress._dataframe_serialize_cell_at_dt64ns_tz_arrow", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = -1; __pyx_L0:; __Pyx_RefNannyFinishContext(); return __pyx_r; }
1937: line_sender_buffer* ls_buf,
1938: qdb_pystr_buf* b,
1939: col_t* col,
1940: PyThreadState** gs) except -1:
+1941: cdef line_sender_error* err = NULL
__pyx_v_err = NULL;
+1942: cdef bint valid = _dataframe_arrow_is_valid(&col.cursor)
__pyx_v_valid = __pyx_f_7questdb_7ingress__dataframe_arrow_is_valid((&__pyx_v_col->cursor));
1943: cdef int64_t* access
1944: cdef int64_t cell
+1945: if valid:
if (__pyx_v_valid) { /* … */ goto __pyx_L3; }
+1946: access = <int64_t*>col.cursor.chunk.buffers[1]
__pyx_v_access = ((int64_t *)(__pyx_v_col->cursor.chunk->buffers[1]));
+1947: cell = access[col.cursor.offset]
__pyx_v_cell = (__pyx_v_access[__pyx_v_col->cursor.offset]);
1948: # Note: ls_buf will validate against negative numbers.
+1949: if not line_sender_buffer_at_nanos(ls_buf, cell, &err):
__pyx_t_1 = (!line_sender_buffer_at_nanos(__pyx_v_ls_buf, __pyx_v_cell, (&__pyx_v_err))); if (unlikely(__pyx_t_1)) { /* … */ }
+1950: _ensure_has_gil(gs)
__pyx_f_7questdb_7ingress__ensure_has_gil(__pyx_v_gs); if (unlikely(PyErr_Occurred())) __PYX_ERR(1, 1950, __pyx_L1_error)
+1951: raise c_err_to_py(err)
__pyx_t_2 = __pyx_f_7questdb_7ingress_c_err_to_py(__pyx_v_err); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 1951, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __Pyx_Raise(__pyx_t_2, 0, 0, 0); __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; __PYX_ERR(1, 1951, __pyx_L1_error)
1952: else:
+1953: if not line_sender_buffer_at_now(ls_buf, &err):
/*else*/ { __pyx_t_1 = (!line_sender_buffer_at_now(__pyx_v_ls_buf, (&__pyx_v_err))); if (unlikely(__pyx_t_1)) { /* … */ } } __pyx_L3:;
+1954: _ensure_has_gil(gs)
__pyx_f_7questdb_7ingress__ensure_has_gil(__pyx_v_gs); if (unlikely(PyErr_Occurred())) __PYX_ERR(1, 1954, __pyx_L1_error)
+1955: raise c_err_to_py(err)
__pyx_t_2 = __pyx_f_7questdb_7ingress_c_err_to_py(__pyx_v_err); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 1955, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __Pyx_Raise(__pyx_t_2, 0, 0, 0); __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; __PYX_ERR(1, 1955, __pyx_L1_error)
1956:
1957:
+1958: cdef void_int _dataframe_serialize_cell(
static __pyx_t_7questdb_7ingress_void_int __pyx_f_7questdb_7ingress__dataframe_serialize_cell(struct line_sender_buffer *__pyx_v_ls_buf, struct qdb_pystr_buf *__pyx_v_b, struct __pyx_t_7questdb_7ingress_col_t *__pyx_v_col, PyThreadState **__pyx_v_gs) { enum __pyx_t_7questdb_7ingress_col_dispatch_code_t __pyx_v_dc; __pyx_t_7questdb_7ingress_void_int __pyx_r; /* … */ /* function exit code */ __pyx_r = 0; goto __pyx_L0; __pyx_L1_error:; __Pyx_XDECREF(__pyx_t_3); __Pyx_XDECREF(__pyx_t_4); __Pyx_AddTraceback("questdb.ingress._dataframe_serialize_cell", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = -1; __pyx_L0:; __Pyx_RefNannyFinishContext(); return __pyx_r; }
1959: line_sender_buffer* ls_buf,
1960: qdb_pystr_buf* b,
1961: col_t* col,
1962: PyThreadState** gs) except -1:
+1963: cdef col_dispatch_code_t dc = col.dispatch_code
__pyx_t_1 = __pyx_v_col->dispatch_code; __pyx_v_dc = __pyx_t_1;
1964: # Note!: Code below will generate a `switch` statement.
1965: # Ensure this happens! Don't break the `dc == ...` pattern.
+1966: if dc == col_dispatch_code_t.col_dispatch_code_skip_nulls:
switch (__pyx_v_dc) { case __pyx_e_7questdb_7ingress_col_dispatch_code_skip_nulls: break; case __pyx_e_7questdb_7ingress_col_dispatch_code_table__str_pyobj:
1967: pass # We skip a null column. Nothing to do.
+1968: elif dc == col_dispatch_code_t.col_dispatch_code_table__str_pyobj:
break; case __pyx_e_7questdb_7ingress_col_dispatch_code_table__str_arrow:
+1969: _dataframe_serialize_cell_table__str_pyobj(ls_buf, b, col)
__pyx_t_2 = __pyx_f_7questdb_7ingress__dataframe_serialize_cell_table__str_pyobj(__pyx_v_ls_buf, __pyx_v_b, __pyx_v_col); if (unlikely(__pyx_t_2 == ((__pyx_t_7questdb_7ingress_void_int)-1))) __PYX_ERR(1, 1969, __pyx_L1_error)
+1970: elif dc == col_dispatch_code_t.col_dispatch_code_table__str_arrow:
break; case __pyx_e_7questdb_7ingress_col_dispatch_code_table__str_i8_cat:
+1971: _dataframe_serialize_cell_table__str_arrow(ls_buf, b, col, gs)
__pyx_t_2 = __pyx_f_7questdb_7ingress__dataframe_serialize_cell_table__str_arrow(__pyx_v_ls_buf, __pyx_v_b, __pyx_v_col, __pyx_v_gs); if (unlikely(__pyx_t_2 == ((__pyx_t_7questdb_7ingress_void_int)-1))) __PYX_ERR(1, 1971, __pyx_L1_error)
+1972: elif dc == col_dispatch_code_t.col_dispatch_code_table__str_i8_cat:
break; case __pyx_e_7questdb_7ingress_col_dispatch_code_table__str_i16_cat:
+1973: _dataframe_serialize_cell_table__str_i8_cat(ls_buf, b, col, gs)
__pyx_t_2 = __pyx_f_7questdb_7ingress__dataframe_serialize_cell_table__str_i8_cat(__pyx_v_ls_buf, __pyx_v_b, __pyx_v_col, __pyx_v_gs); if (unlikely(__pyx_t_2 == ((__pyx_t_7questdb_7ingress_void_int)-1))) __PYX_ERR(1, 1973, __pyx_L1_error)
+1974: elif dc == col_dispatch_code_t.col_dispatch_code_table__str_i16_cat:
break; case __pyx_e_7questdb_7ingress_col_dispatch_code_table__str_i32_cat:
+1975: _dataframe_serialize_cell_table__str_i16_cat(ls_buf, b, col, gs)
__pyx_t_2 = __pyx_f_7questdb_7ingress__dataframe_serialize_cell_table__str_i16_cat(__pyx_v_ls_buf, __pyx_v_b, __pyx_v_col, __pyx_v_gs); if (unlikely(__pyx_t_2 == ((__pyx_t_7questdb_7ingress_void_int)-1))) __PYX_ERR(1, 1975, __pyx_L1_error)
+1976: elif dc == col_dispatch_code_t.col_dispatch_code_table__str_i32_cat:
break; case __pyx_e_7questdb_7ingress_col_dispatch_code_symbol__str_pyobj:
+1977: _dataframe_serialize_cell_table__str_i32_cat(ls_buf, b, col, gs)
__pyx_t_2 = __pyx_f_7questdb_7ingress__dataframe_serialize_cell_table__str_i32_cat(__pyx_v_ls_buf, __pyx_v_b, __pyx_v_col, __pyx_v_gs); if (unlikely(__pyx_t_2 == ((__pyx_t_7questdb_7ingress_void_int)-1))) __PYX_ERR(1, 1977, __pyx_L1_error)
+1978: elif dc == col_dispatch_code_t.col_dispatch_code_symbol__str_pyobj:
break; case __pyx_e_7questdb_7ingress_col_dispatch_code_symbol__str_arrow:
+1979: _dataframe_serialize_cell_symbol__str_pyobj(ls_buf, b, col)
__pyx_t_2 = __pyx_f_7questdb_7ingress__dataframe_serialize_cell_symbol__str_pyobj(__pyx_v_ls_buf, __pyx_v_b, __pyx_v_col); if (unlikely(__pyx_t_2 == ((__pyx_t_7questdb_7ingress_void_int)-1))) __PYX_ERR(1, 1979, __pyx_L1_error)
+1980: elif dc == col_dispatch_code_t.col_dispatch_code_symbol__str_arrow:
break; case __pyx_e_7questdb_7ingress_col_dispatch_code_symbol__str_i8_cat:
+1981: _dataframe_serialize_cell_symbol__str_arrow(ls_buf, b, col, gs)
__pyx_t_2 = __pyx_f_7questdb_7ingress__dataframe_serialize_cell_symbol__str_arrow(__pyx_v_ls_buf, __pyx_v_b, __pyx_v_col, __pyx_v_gs); if (unlikely(__pyx_t_2 == ((__pyx_t_7questdb_7ingress_void_int)-1))) __PYX_ERR(1, 1981, __pyx_L1_error)
+1982: elif dc == col_dispatch_code_t.col_dispatch_code_symbol__str_i8_cat:
break; case __pyx_e_7questdb_7ingress_col_dispatch_code_symbol__str_i16_cat:
+1983: _dataframe_serialize_cell_symbol__str_i8_cat(ls_buf, b, col, gs)
__pyx_t_2 = __pyx_f_7questdb_7ingress__dataframe_serialize_cell_symbol__str_i8_cat(__pyx_v_ls_buf, __pyx_v_b, __pyx_v_col, __pyx_v_gs); if (unlikely(__pyx_t_2 == ((__pyx_t_7questdb_7ingress_void_int)-1))) __PYX_ERR(1, 1983, __pyx_L1_error)
+1984: elif dc == col_dispatch_code_t.col_dispatch_code_symbol__str_i16_cat:
break; case __pyx_e_7questdb_7ingress_col_dispatch_code_symbol__str_i32_cat:
+1985: _dataframe_serialize_cell_symbol__str_i16_cat(ls_buf, b, col, gs)
__pyx_t_2 = __pyx_f_7questdb_7ingress__dataframe_serialize_cell_symbol__str_i16_cat(__pyx_v_ls_buf, __pyx_v_b, __pyx_v_col, __pyx_v_gs); if (unlikely(__pyx_t_2 == ((__pyx_t_7questdb_7ingress_void_int)-1))) __PYX_ERR(1, 1985, __pyx_L1_error)
+1986: elif dc == col_dispatch_code_t.col_dispatch_code_symbol__str_i32_cat:
break; case __pyx_e_7questdb_7ingress_col_dispatch_code_column_bool__bool_pyobj:
+1987: _dataframe_serialize_cell_symbol__str_i32_cat(ls_buf, b, col, gs)
__pyx_t_2 = __pyx_f_7questdb_7ingress__dataframe_serialize_cell_symbol__str_i32_cat(__pyx_v_ls_buf, __pyx_v_b, __pyx_v_col, __pyx_v_gs); if (unlikely(__pyx_t_2 == ((__pyx_t_7questdb_7ingress_void_int)-1))) __PYX_ERR(1, 1987, __pyx_L1_error)
+1988: elif dc == col_dispatch_code_t.col_dispatch_code_column_bool__bool_pyobj:
break; case __pyx_e_7questdb_7ingress_col_dispatch_code_column_bool__bool_numpy:
+1989: _dataframe_serialize_cell_column_bool__bool_pyobj(ls_buf, b, col)
__pyx_t_2 = __pyx_f_7questdb_7ingress__dataframe_serialize_cell_column_bool__bool_pyobj(__pyx_v_ls_buf, __pyx_v_b, __pyx_v_col); if (unlikely(__pyx_t_2 == ((__pyx_t_7questdb_7ingress_void_int)-1))) __PYX_ERR(1, 1989, __pyx_L1_error)
+1990: elif dc == col_dispatch_code_t.col_dispatch_code_column_bool__bool_numpy:
break; case __pyx_e_7questdb_7ingress_col_dispatch_code_column_bool__bool_arrow:
+1991: _dataframe_serialize_cell_column_bool__bool_numpy(ls_buf, b, col, gs)
__pyx_t_2 = __pyx_f_7questdb_7ingress__dataframe_serialize_cell_column_bool__bool_numpy(__pyx_v_ls_buf, __pyx_v_b, __pyx_v_col, __pyx_v_gs); if (unlikely(__pyx_t_2 == ((__pyx_t_7questdb_7ingress_void_int)-1))) __PYX_ERR(1, 1991, __pyx_L1_error)
+1992: elif dc == col_dispatch_code_t.col_dispatch_code_column_bool__bool_arrow:
break; case __pyx_e_7questdb_7ingress_col_dispatch_code_column_i64__int_pyobj:
+1993: _dataframe_serialize_cell_column_bool__bool_arrow(ls_buf, b, col, gs)
__pyx_t_2 = __pyx_f_7questdb_7ingress__dataframe_serialize_cell_column_bool__bool_arrow(__pyx_v_ls_buf, __pyx_v_b, __pyx_v_col, __pyx_v_gs); if (unlikely(__pyx_t_2 == ((__pyx_t_7questdb_7ingress_void_int)-1))) __PYX_ERR(1, 1993, __pyx_L1_error)
+1994: elif dc == col_dispatch_code_t.col_dispatch_code_column_i64__int_pyobj:
break; case __pyx_e_7questdb_7ingress_col_dispatch_code_column_i64__u8_numpy:
+1995: _dataframe_serialize_cell_column_i64__int_pyobj(ls_buf, b, col)
__pyx_t_2 = __pyx_f_7questdb_7ingress__dataframe_serialize_cell_column_i64__int_pyobj(__pyx_v_ls_buf, __pyx_v_b, __pyx_v_col); if (unlikely(__pyx_t_2 == ((__pyx_t_7questdb_7ingress_void_int)-1))) __PYX_ERR(1, 1995, __pyx_L1_error)
+1996: elif dc == col_dispatch_code_t.col_dispatch_code_column_i64__u8_numpy:
break; case __pyx_e_7questdb_7ingress_col_dispatch_code_column_i64__i8_numpy:
+1997: _dataframe_serialize_cell_column_i64__u8_numpy(ls_buf, b, col, gs)
__pyx_t_2 = __pyx_f_7questdb_7ingress__dataframe_serialize_cell_column_i64__u8_numpy(__pyx_v_ls_buf, __pyx_v_b, __pyx_v_col, __pyx_v_gs); if (unlikely(__pyx_t_2 == ((__pyx_t_7questdb_7ingress_void_int)-1))) __PYX_ERR(1, 1997, __pyx_L1_error)
+1998: elif dc == col_dispatch_code_t.col_dispatch_code_column_i64__i8_numpy:
break; case __pyx_e_7questdb_7ingress_col_dispatch_code_column_i64__u16_numpy:
+1999: _dataframe_serialize_cell_column_i64__i8_numpy(ls_buf, b, col, gs)
__pyx_t_2 = __pyx_f_7questdb_7ingress__dataframe_serialize_cell_column_i64__i8_numpy(__pyx_v_ls_buf, __pyx_v_b, __pyx_v_col, __pyx_v_gs); if (unlikely(__pyx_t_2 == ((__pyx_t_7questdb_7ingress_void_int)-1))) __PYX_ERR(1, 1999, __pyx_L1_error)
+2000: elif dc == col_dispatch_code_t.col_dispatch_code_column_i64__u16_numpy:
break; case __pyx_e_7questdb_7ingress_col_dispatch_code_column_i64__i16_numpy:
+2001: _dataframe_serialize_cell_column_i64__u16_numpy(ls_buf, b, col, gs)
__pyx_t_2 = __pyx_f_7questdb_7ingress__dataframe_serialize_cell_column_i64__u16_numpy(__pyx_v_ls_buf, __pyx_v_b, __pyx_v_col, __pyx_v_gs); if (unlikely(__pyx_t_2 == ((__pyx_t_7questdb_7ingress_void_int)-1))) __PYX_ERR(1, 2001, __pyx_L1_error)
+2002: elif dc == col_dispatch_code_t.col_dispatch_code_column_i64__i16_numpy:
break; case __pyx_e_7questdb_7ingress_col_dispatch_code_column_i64__u32_numpy:
+2003: _dataframe_serialize_cell_column_i64__i16_numpy(ls_buf, b, col, gs)
__pyx_t_2 = __pyx_f_7questdb_7ingress__dataframe_serialize_cell_column_i64__i16_numpy(__pyx_v_ls_buf, __pyx_v_b, __pyx_v_col, __pyx_v_gs); if (unlikely(__pyx_t_2 == ((__pyx_t_7questdb_7ingress_void_int)-1))) __PYX_ERR(1, 2003, __pyx_L1_error)
+2004: elif dc == col_dispatch_code_t.col_dispatch_code_column_i64__u32_numpy:
break; case __pyx_e_7questdb_7ingress_col_dispatch_code_column_i64__i32_numpy:
+2005: _dataframe_serialize_cell_column_i64__u32_numpy(ls_buf, b, col, gs)
__pyx_t_2 = __pyx_f_7questdb_7ingress__dataframe_serialize_cell_column_i64__u32_numpy(__pyx_v_ls_buf, __pyx_v_b, __pyx_v_col, __pyx_v_gs); if (unlikely(__pyx_t_2 == ((__pyx_t_7questdb_7ingress_void_int)-1))) __PYX_ERR(1, 2005, __pyx_L1_error)
+2006: elif dc == col_dispatch_code_t.col_dispatch_code_column_i64__i32_numpy:
break; case __pyx_e_7questdb_7ingress_col_dispatch_code_column_i64__u64_numpy:
+2007: _dataframe_serialize_cell_column_i64__i32_numpy(ls_buf, b, col, gs)
__pyx_t_2 = __pyx_f_7questdb_7ingress__dataframe_serialize_cell_column_i64__i32_numpy(__pyx_v_ls_buf, __pyx_v_b, __pyx_v_col, __pyx_v_gs); if (unlikely(__pyx_t_2 == ((__pyx_t_7questdb_7ingress_void_int)-1))) __PYX_ERR(1, 2007, __pyx_L1_error)
+2008: elif dc == col_dispatch_code_t.col_dispatch_code_column_i64__u64_numpy:
break; case __pyx_e_7questdb_7ingress_col_dispatch_code_column_i64__i64_numpy:
+2009: _dataframe_serialize_cell_column_i64__u64_numpy(ls_buf, b, col, gs)
__pyx_t_2 = __pyx_f_7questdb_7ingress__dataframe_serialize_cell_column_i64__u64_numpy(__pyx_v_ls_buf, __pyx_v_b, __pyx_v_col, __pyx_v_gs); if (unlikely(__pyx_t_2 == ((__pyx_t_7questdb_7ingress_void_int)-1))) __PYX_ERR(1, 2009, __pyx_L1_error)
+2010: elif dc == col_dispatch_code_t.col_dispatch_code_column_i64__i64_numpy:
break; case __pyx_e_7questdb_7ingress_col_dispatch_code_column_i64__u8_arrow:
+2011: _dataframe_serialize_cell_column_i64__i64_numpy(ls_buf, b, col, gs)
__pyx_t_2 = __pyx_f_7questdb_7ingress__dataframe_serialize_cell_column_i64__i64_numpy(__pyx_v_ls_buf, __pyx_v_b, __pyx_v_col, __pyx_v_gs); if (unlikely(__pyx_t_2 == ((__pyx_t_7questdb_7ingress_void_int)-1))) __PYX_ERR(1, 2011, __pyx_L1_error)
+2012: elif dc == col_dispatch_code_t.col_dispatch_code_column_i64__u8_arrow:
break; case __pyx_e_7questdb_7ingress_col_dispatch_code_column_i64__i8_arrow:
+2013: _dataframe_serialize_cell_column_i64__u8_arrow(ls_buf, b, col, gs)
__pyx_t_2 = __pyx_f_7questdb_7ingress__dataframe_serialize_cell_column_i64__u8_arrow(__pyx_v_ls_buf, __pyx_v_b, __pyx_v_col, __pyx_v_gs); if (unlikely(__pyx_t_2 == ((__pyx_t_7questdb_7ingress_void_int)-1))) __PYX_ERR(1, 2013, __pyx_L1_error)
+2014: elif dc == col_dispatch_code_t.col_dispatch_code_column_i64__i8_arrow:
break; case __pyx_e_7questdb_7ingress_col_dispatch_code_column_i64__u16_arrow:
+2015: _dataframe_serialize_cell_column_i64__i8_arrow(ls_buf, b, col, gs)
__pyx_t_2 = __pyx_f_7questdb_7ingress__dataframe_serialize_cell_column_i64__i8_arrow(__pyx_v_ls_buf, __pyx_v_b, __pyx_v_col, __pyx_v_gs); if (unlikely(__pyx_t_2 == ((__pyx_t_7questdb_7ingress_void_int)-1))) __PYX_ERR(1, 2015, __pyx_L1_error)
+2016: elif dc == col_dispatch_code_t.col_dispatch_code_column_i64__u16_arrow:
break; case __pyx_e_7questdb_7ingress_col_dispatch_code_column_i64__i16_arrow:
+2017: _dataframe_serialize_cell_column_i64__u16_arrow(ls_buf, b, col, gs)
__pyx_t_2 = __pyx_f_7questdb_7ingress__dataframe_serialize_cell_column_i64__u16_arrow(__pyx_v_ls_buf, __pyx_v_b, __pyx_v_col, __pyx_v_gs); if (unlikely(__pyx_t_2 == ((__pyx_t_7questdb_7ingress_void_int)-1))) __PYX_ERR(1, 2017, __pyx_L1_error)
+2018: elif dc == col_dispatch_code_t.col_dispatch_code_column_i64__i16_arrow:
break; case __pyx_e_7questdb_7ingress_col_dispatch_code_column_i64__u32_arrow:
+2019: _dataframe_serialize_cell_column_i64__i16_arrow(ls_buf, b, col, gs)
__pyx_t_2 = __pyx_f_7questdb_7ingress__dataframe_serialize_cell_column_i64__i16_arrow(__pyx_v_ls_buf, __pyx_v_b, __pyx_v_col, __pyx_v_gs); if (unlikely(__pyx_t_2 == ((__pyx_t_7questdb_7ingress_void_int)-1))) __PYX_ERR(1, 2019, __pyx_L1_error)
+2020: elif dc == col_dispatch_code_t.col_dispatch_code_column_i64__u32_arrow:
break; case __pyx_e_7questdb_7ingress_col_dispatch_code_column_i64__i32_arrow:
+2021: _dataframe_serialize_cell_column_i64__u32_arrow(ls_buf, b, col, gs)
__pyx_t_2 = __pyx_f_7questdb_7ingress__dataframe_serialize_cell_column_i64__u32_arrow(__pyx_v_ls_buf, __pyx_v_b, __pyx_v_col, __pyx_v_gs); if (unlikely(__pyx_t_2 == ((__pyx_t_7questdb_7ingress_void_int)-1))) __PYX_ERR(1, 2021, __pyx_L1_error)
+2022: elif dc == col_dispatch_code_t.col_dispatch_code_column_i64__i32_arrow:
break; case __pyx_e_7questdb_7ingress_col_dispatch_code_column_i64__u64_arrow:
+2023: _dataframe_serialize_cell_column_i64__i32_arrow(ls_buf, b, col, gs)
__pyx_t_2 = __pyx_f_7questdb_7ingress__dataframe_serialize_cell_column_i64__i32_arrow(__pyx_v_ls_buf, __pyx_v_b, __pyx_v_col, __pyx_v_gs); if (unlikely(__pyx_t_2 == ((__pyx_t_7questdb_7ingress_void_int)-1))) __PYX_ERR(1, 2023, __pyx_L1_error)
+2024: elif dc == col_dispatch_code_t.col_dispatch_code_column_i64__u64_arrow:
break; case __pyx_e_7questdb_7ingress_col_dispatch_code_column_i64__i64_arrow:
+2025: _dataframe_serialize_cell_column_i64__u64_arrow(ls_buf, b, col, gs)
__pyx_t_2 = __pyx_f_7questdb_7ingress__dataframe_serialize_cell_column_i64__u64_arrow(__pyx_v_ls_buf, __pyx_v_b, __pyx_v_col, __pyx_v_gs); if (unlikely(__pyx_t_2 == ((__pyx_t_7questdb_7ingress_void_int)-1))) __PYX_ERR(1, 2025, __pyx_L1_error)
+2026: elif dc == col_dispatch_code_t.col_dispatch_code_column_i64__i64_arrow:
break; case __pyx_e_7questdb_7ingress_col_dispatch_code_column_f64__float_pyobj:
+2027: _dataframe_serialize_cell_column_i64__i64_arrow(ls_buf, b, col, gs)
__pyx_t_2 = __pyx_f_7questdb_7ingress__dataframe_serialize_cell_column_i64__i64_arrow(__pyx_v_ls_buf, __pyx_v_b, __pyx_v_col, __pyx_v_gs); if (unlikely(__pyx_t_2 == ((__pyx_t_7questdb_7ingress_void_int)-1))) __PYX_ERR(1, 2027, __pyx_L1_error)
+2028: elif dc == col_dispatch_code_t.col_dispatch_code_column_f64__float_pyobj:
break; case __pyx_e_7questdb_7ingress_col_dispatch_code_column_f64__f32_numpy:
+2029: _dataframe_serialize_cell_column_f64__float_pyobj(ls_buf, b, col)
__pyx_t_2 = __pyx_f_7questdb_7ingress__dataframe_serialize_cell_column_f64__float_pyobj(__pyx_v_ls_buf, __pyx_v_b, __pyx_v_col); if (unlikely(__pyx_t_2 == ((__pyx_t_7questdb_7ingress_void_int)-1))) __PYX_ERR(1, 2029, __pyx_L1_error)
+2030: elif dc == col_dispatch_code_t.col_dispatch_code_column_f64__f32_numpy:
break; case __pyx_e_7questdb_7ingress_col_dispatch_code_column_f64__f64_numpy:
+2031: _dataframe_serialize_cell_column_f64__f32_numpy(ls_buf, b, col, gs)
__pyx_t_2 = __pyx_f_7questdb_7ingress__dataframe_serialize_cell_column_f64__f32_numpy(__pyx_v_ls_buf, __pyx_v_b, __pyx_v_col, __pyx_v_gs); if (unlikely(__pyx_t_2 == ((__pyx_t_7questdb_7ingress_void_int)-1))) __PYX_ERR(1, 2031, __pyx_L1_error)
+2032: elif dc == col_dispatch_code_t.col_dispatch_code_column_f64__f64_numpy:
break; case __pyx_e_7questdb_7ingress_col_dispatch_code_column_f64__f32_arrow:
+2033: _dataframe_serialize_cell_column_f64__f64_numpy(ls_buf, b, col, gs)
__pyx_t_2 = __pyx_f_7questdb_7ingress__dataframe_serialize_cell_column_f64__f64_numpy(__pyx_v_ls_buf, __pyx_v_b, __pyx_v_col, __pyx_v_gs); if (unlikely(__pyx_t_2 == ((__pyx_t_7questdb_7ingress_void_int)-1))) __PYX_ERR(1, 2033, __pyx_L1_error)
+2034: elif dc == col_dispatch_code_t.col_dispatch_code_column_f64__f32_arrow:
break; case __pyx_e_7questdb_7ingress_col_dispatch_code_column_f64__f64_arrow:
+2035: _dataframe_serialize_cell_column_f64__f32_arrow(ls_buf, b, col, gs)
__pyx_t_2 = __pyx_f_7questdb_7ingress__dataframe_serialize_cell_column_f64__f32_arrow(__pyx_v_ls_buf, __pyx_v_b, __pyx_v_col, __pyx_v_gs); if (unlikely(__pyx_t_2 == ((__pyx_t_7questdb_7ingress_void_int)-1))) __PYX_ERR(1, 2035, __pyx_L1_error)
+2036: elif dc == col_dispatch_code_t.col_dispatch_code_column_f64__f64_arrow:
break; case __pyx_e_7questdb_7ingress_col_dispatch_code_column_str__str_pyobj:
+2037: _dataframe_serialize_cell_column_f64__f64_arrow(ls_buf, b, col, gs)
__pyx_t_2 = __pyx_f_7questdb_7ingress__dataframe_serialize_cell_column_f64__f64_arrow(__pyx_v_ls_buf, __pyx_v_b, __pyx_v_col, __pyx_v_gs); if (unlikely(__pyx_t_2 == ((__pyx_t_7questdb_7ingress_void_int)-1))) __PYX_ERR(1, 2037, __pyx_L1_error)
+2038: elif dc == col_dispatch_code_t.col_dispatch_code_column_str__str_pyobj:
break; case __pyx_e_7questdb_7ingress_col_dispatch_code_column_str__str_arrow:
+2039: _dataframe_serialize_cell_column_str__str_pyobj(ls_buf, b, col)
__pyx_t_2 = __pyx_f_7questdb_7ingress__dataframe_serialize_cell_column_str__str_pyobj(__pyx_v_ls_buf, __pyx_v_b, __pyx_v_col); if (unlikely(__pyx_t_2 == ((__pyx_t_7questdb_7ingress_void_int)-1))) __PYX_ERR(1, 2039, __pyx_L1_error)
+2040: elif dc == col_dispatch_code_t.col_dispatch_code_column_str__str_arrow:
break; case __pyx_e_7questdb_7ingress_col_dispatch_code_column_str__str_i8_cat:
+2041: _dataframe_serialize_cell_column_str__str_arrow(ls_buf, b, col, gs)
__pyx_t_2 = __pyx_f_7questdb_7ingress__dataframe_serialize_cell_column_str__str_arrow(__pyx_v_ls_buf, __pyx_v_b, __pyx_v_col, __pyx_v_gs); if (unlikely(__pyx_t_2 == ((__pyx_t_7questdb_7ingress_void_int)-1))) __PYX_ERR(1, 2041, __pyx_L1_error)
+2042: elif dc == col_dispatch_code_t.col_dispatch_code_column_str__str_i8_cat:
break; case __pyx_e_7questdb_7ingress_col_dispatch_code_column_str__str_i16_cat:
+2043: _dataframe_serialize_cell_column_str__str_i8_cat(ls_buf, b, col, gs)
__pyx_t_2 = __pyx_f_7questdb_7ingress__dataframe_serialize_cell_column_str__str_i8_cat(__pyx_v_ls_buf, __pyx_v_b, __pyx_v_col, __pyx_v_gs); if (unlikely(__pyx_t_2 == ((__pyx_t_7questdb_7ingress_void_int)-1))) __PYX_ERR(1, 2043, __pyx_L1_error)
+2044: elif dc == col_dispatch_code_t.col_dispatch_code_column_str__str_i16_cat:
break; case __pyx_e_7questdb_7ingress_col_dispatch_code_column_str__str_i32_cat:
+2045: _dataframe_serialize_cell_column_str__str_i16_cat(ls_buf, b, col, gs)
__pyx_t_2 = __pyx_f_7questdb_7ingress__dataframe_serialize_cell_column_str__str_i16_cat(__pyx_v_ls_buf, __pyx_v_b, __pyx_v_col, __pyx_v_gs); if (unlikely(__pyx_t_2 == ((__pyx_t_7questdb_7ingress_void_int)-1))) __PYX_ERR(1, 2045, __pyx_L1_error)
+2046: elif dc == col_dispatch_code_t.col_dispatch_code_column_str__str_i32_cat:
break; case __pyx_e_7questdb_7ingress_col_dispatch_code_column_ts__dt64ns_numpy:
+2047: _dataframe_serialize_cell_column_str__str_i32_cat(ls_buf, b, col, gs)
__pyx_t_2 = __pyx_f_7questdb_7ingress__dataframe_serialize_cell_column_str__str_i32_cat(__pyx_v_ls_buf, __pyx_v_b, __pyx_v_col, __pyx_v_gs); if (unlikely(__pyx_t_2 == ((__pyx_t_7questdb_7ingress_void_int)-1))) __PYX_ERR(1, 2047, __pyx_L1_error)
+2048: elif dc == col_dispatch_code_t.col_dispatch_code_column_ts__dt64ns_numpy:
break; case __pyx_e_7questdb_7ingress_col_dispatch_code_column_ts__dt64ns_tz_arrow:
+2049: _dataframe_serialize_cell_column_ts__dt64ns_numpy(ls_buf, b, col, gs)
__pyx_t_2 = __pyx_f_7questdb_7ingress__dataframe_serialize_cell_column_ts__dt64ns_numpy(__pyx_v_ls_buf, __pyx_v_b, __pyx_v_col, __pyx_v_gs); if (unlikely(__pyx_t_2 == ((__pyx_t_7questdb_7ingress_void_int)-1))) __PYX_ERR(1, 2049, __pyx_L1_error)
+2050: elif dc == col_dispatch_code_t.col_dispatch_code_column_ts__dt64ns_tz_arrow:
break; case __pyx_e_7questdb_7ingress_col_dispatch_code_at__dt64ns_numpy:
+2051: _dataframe_serialize_cell_column_ts__dt64ns_tz_arrow(ls_buf, b, col, gs)
__pyx_t_2 = __pyx_f_7questdb_7ingress__dataframe_serialize_cell_column_ts__dt64ns_tz_arrow(__pyx_v_ls_buf, __pyx_v_b, __pyx_v_col, __pyx_v_gs); if (unlikely(__pyx_t_2 == ((__pyx_t_7questdb_7ingress_void_int)-1))) __PYX_ERR(1, 2051, __pyx_L1_error)
+2052: elif dc == col_dispatch_code_t.col_dispatch_code_at__dt64ns_numpy:
break; case __pyx_e_7questdb_7ingress_col_dispatch_code_at__dt64ns_tz_arrow:
+2053: _dataframe_serialize_cell_at_dt64ns_numpy(ls_buf, b, col, gs)
__pyx_t_2 = __pyx_f_7questdb_7ingress__dataframe_serialize_cell_at_dt64ns_numpy(__pyx_v_ls_buf, __pyx_v_b, __pyx_v_col, __pyx_v_gs); if (unlikely(__pyx_t_2 == ((__pyx_t_7questdb_7ingress_void_int)-1))) __PYX_ERR(1, 2053, __pyx_L1_error)
+2054: elif dc == col_dispatch_code_t.col_dispatch_code_at__dt64ns_tz_arrow:
break; default:
+2055: _dataframe_serialize_cell_at_dt64ns_tz_arrow(ls_buf, b, col, gs)
__pyx_t_2 = __pyx_f_7questdb_7ingress__dataframe_serialize_cell_at_dt64ns_tz_arrow(__pyx_v_ls_buf, __pyx_v_b, __pyx_v_col, __pyx_v_gs); if (unlikely(__pyx_t_2 == ((__pyx_t_7questdb_7ingress_void_int)-1))) __PYX_ERR(1, 2055, __pyx_L1_error)
2056: else:
+2057: _ensure_has_gil(gs)
__pyx_f_7questdb_7ingress__ensure_has_gil(__pyx_v_gs); if (unlikely(PyErr_Occurred())) __PYX_ERR(1, 2057, __pyx_L1_error)
+2058: raise RuntimeError(f"Unknown column dispatch code: {dc}")
__pyx_t_3 = __Pyx_PyUnicode_From_enum____pyx_t_7questdb_7ingress_col_dispatch_code_t(__pyx_v_dc, 0, ' ', 'd'); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 2058, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __pyx_t_4 = __Pyx_PyUnicode_Concat(__pyx_kp_u_Unknown_column_dispatch_code, __pyx_t_3); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 2058, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; __pyx_t_3 = __Pyx_PyObject_CallOneArg(__pyx_builtin_RuntimeError, __pyx_t_4); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 2058, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; __Pyx_Raise(__pyx_t_3, 0, 0, 0); __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; __PYX_ERR(1, 2058, __pyx_L1_error) break; }
2059: # See earlier note about switch statement generation.
2060: # Don't add complex conditions above!
2061:
2062:
+2063: cdef void _dataframe_col_advance(col_t* col) noexcept nogil:
static void __pyx_f_7questdb_7ingress__dataframe_col_advance(struct __pyx_t_7questdb_7ingress_col_t *__pyx_v_col) { struct __pyx_t_7questdb_7ingress_col_cursor_t *__pyx_v_cursor; size_t __pyx_v_new_chunk; /* … */ /* function exit code */ }
2064: # Branchless version of:
2065: # cdef bint new_chunk = cursor.offset == <size_t>cursor.chunk.length
2066: # if new_chunk == 0:
2067: # cursor.chunk_index += 1
2068: # cursor.chunk += 1 # pointer advance
2069: #
2070: # if new_chunk:
2071: # cursor.offset = cursor.chunk.offset
2072: # else:
2073: # cursor.offset += 1
2074: #
2075: # (Checked with Godbolt, GCC -O3 code was rather "jumpy")
+2076: cdef col_cursor_t* cursor = &col.cursor
__pyx_v_cursor = (&__pyx_v_col->cursor);
2077: cdef size_t new_chunk # disguised bint. Either 0 or 1.
+2078: cursor.offset += 1
__pyx_v_cursor->offset = (__pyx_v_cursor->offset + 1);
+2079: new_chunk = cursor.offset == <size_t>cursor.chunk.length
__pyx_v_new_chunk = (__pyx_v_cursor->offset == ((size_t)__pyx_v_cursor->chunk->length));
+2080: cursor.chunk_index += new_chunk
__pyx_v_cursor->chunk_index = (__pyx_v_cursor->chunk_index + __pyx_v_new_chunk);
+2081: cursor.chunk += new_chunk
__pyx_v_cursor->chunk = (__pyx_v_cursor->chunk + __pyx_v_new_chunk);
2082: # Note: We get away with this because we've allocated one extra blank chunk.
2083: # This ensures that accessing `cursor.chunk.offset` doesn't segfault.
+2084: cursor.offset = (
__pyx_v_cursor->offset = ((__pyx_v_new_chunk * __pyx_v_cursor->chunk->offset) + ((!(__pyx_v_new_chunk != 0)) * __pyx_v_cursor->offset));
2085: (new_chunk * cursor.chunk.offset) +
2086: ((not new_chunk) * cursor.offset))
2087:
2088:
+2089: cdef void_int _dataframe_handle_auto_flush(
static __pyx_t_7questdb_7ingress_void_int __pyx_f_7questdb_7ingress__dataframe_handle_auto_flush(struct __pyx_t_7questdb_7ingress_auto_flush_t __pyx_v_af, struct line_sender_buffer *__pyx_v_ls_buf, PyThreadState **__pyx_v_gs) { struct line_sender_error *__pyx_v_flush_err; struct line_sender_error *__pyx_v_marker_err; int __pyx_v_flush_ok; int __pyx_v_marker_ok; int __pyx_v_had_gil; __pyx_t_7questdb_7ingress_void_int __pyx_r; /* … */ /* function exit code */ __pyx_r = 0; goto __pyx_L0; __pyx_L1_error:; __Pyx_XDECREF(__pyx_t_3); __Pyx_XDECREF(__pyx_t_4); __Pyx_AddTraceback("questdb.ingress._dataframe_handle_auto_flush", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = -1; __pyx_L0:; __Pyx_RefNannyFinishContext(); return __pyx_r; }
2090: auto_flush_t af,
2091: line_sender_buffer* ls_buf,
2092: PyThreadState** gs) except -1:
2093: cdef line_sender_error* flush_err
2094: cdef line_sender_error* marker_err
2095: cdef bint flush_ok
2096: cdef bint marker_ok
+2097: if (af.sender == NULL) or (line_sender_buffer_size(ls_buf) < af.watermark):
__pyx_t_2 = (__pyx_v_af.sender == NULL); if (!__pyx_t_2) { } else { __pyx_t_1 = __pyx_t_2; goto __pyx_L4_bool_binop_done; } __pyx_t_2 = (line_sender_buffer_size(__pyx_v_ls_buf) < __pyx_v_af.watermark); __pyx_t_1 = __pyx_t_2; __pyx_L4_bool_binop_done:; if (__pyx_t_1) { /* … */ }
+2098: return 0
__pyx_r = 0; goto __pyx_L0;
2099:
2100: # Always temporarily release GIL during a flush.
+2101: had_gil = _ensure_doesnt_have_gil(gs)
__pyx_t_1 = __pyx_f_7questdb_7ingress__ensure_doesnt_have_gil(__pyx_v_gs); if (unlikely(__pyx_t_1 == ((int)-1) && PyErr_Occurred())) __PYX_ERR(1, 2101, __pyx_L1_error) __pyx_v_had_gil = __pyx_t_1;
+2102: flush_ok = line_sender_flush(af.sender, ls_buf, &flush_err)
__pyx_v_flush_ok = line_sender_flush(__pyx_v_af.sender, __pyx_v_ls_buf, (&__pyx_v_flush_err));
+2103: if not flush_ok:
__pyx_t_1 = (!__pyx_v_flush_ok); if (__pyx_t_1) { /* … */ }
2104: # To avoid flush reattempt on Sender.__exit__.
+2105: line_sender_buffer_clear(ls_buf)
line_sender_buffer_clear(__pyx_v_ls_buf);
2106:
2107: # Flushing will have cleared the marker: We need to set it again
2108: # We need this also on error due to our error handling logic which will
2109: # try to rewind the buffer on error and fail if the marker is unset.
+2110: marker_ok = line_sender_buffer_set_marker(ls_buf, &marker_err)
__pyx_v_marker_ok = line_sender_buffer_set_marker(__pyx_v_ls_buf, (&__pyx_v_marker_err));
2111:
+2112: if had_gil or (not flush_ok) or (not marker_ok):
if (!__pyx_v_had_gil) { } else { __pyx_t_1 = __pyx_v_had_gil; goto __pyx_L8_bool_binop_done; } __pyx_t_2 = (!__pyx_v_flush_ok); if (!__pyx_t_2) { } else { __pyx_t_1 = __pyx_t_2; goto __pyx_L8_bool_binop_done; } __pyx_t_2 = (!__pyx_v_marker_ok); __pyx_t_1 = __pyx_t_2; __pyx_L8_bool_binop_done:; if (__pyx_t_1) { /* … */ }
+2113: _ensure_has_gil(gs)
__pyx_f_7questdb_7ingress__ensure_has_gil(__pyx_v_gs); if (unlikely(PyErr_Occurred())) __PYX_ERR(1, 2113, __pyx_L1_error)
2114:
+2115: if not flush_ok:
__pyx_t_1 = (!__pyx_v_flush_ok); if (unlikely(__pyx_t_1)) { /* … */ }
+2116: raise c_err_to_py_fmt(flush_err, _FLUSH_FMT)
__Pyx_GetModuleGlobalName(__pyx_t_3, __pyx_n_s_FLUSH_FMT); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 2116, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); if (!(likely(PyUnicode_CheckExact(__pyx_t_3))||((__pyx_t_3) == Py_None) || __Pyx_RaiseUnexpectedTypeError("unicode", __pyx_t_3))) __PYX_ERR(1, 2116, __pyx_L1_error) __pyx_t_4 = __pyx_f_7questdb_7ingress_c_err_to_py_fmt(__pyx_v_flush_err, ((PyObject*)__pyx_t_3)); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 2116, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; __Pyx_Raise(__pyx_t_4, 0, 0, 0); __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; __PYX_ERR(1, 2116, __pyx_L1_error)
2117:
2118: # The flush error takes precedence over the marker error.
+2119: if not marker_ok:
__pyx_t_1 = (!__pyx_v_marker_ok); if (unlikely(__pyx_t_1)) { /* … */ }
+2120: raise c_err_to_py(marker_err)
__pyx_t_4 = __pyx_f_7questdb_7ingress_c_err_to_py(__pyx_v_marker_err); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 2120, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); __Pyx_Raise(__pyx_t_4, 0, 0, 0); __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; __PYX_ERR(1, 2120, __pyx_L1_error)
2121:
2122:
2123: # Every how many cells to release and re-acquire the Python GIL.
2124: #
2125: # We've done some perf testing with some mixed column dtypes.
2126: # On a modern CPU we're doing over 8 million pandas cells per second.
2127: # By default, `sys.getswitchinterval()` is 0.005 seconds.
2128: # To accomodate this, we'd need to release the GIL every 40,000 cells.
2129: # This will be divided by the column count to get the row gil blip interval.
+2130: cdef size_t _CELL_GIL_BLIP_INTERVAL = 40000
__pyx_v_7questdb_7ingress__CELL_GIL_BLIP_INTERVAL = 0x9C40;
2131:
2132:
+2133: cdef void_int _dataframe(
static __pyx_t_7questdb_7ingress_void_int __pyx_f_7questdb_7ingress__dataframe(struct __pyx_t_7questdb_7ingress_auto_flush_t __pyx_v_af, struct line_sender_buffer *__pyx_v_ls_buf, struct qdb_pystr_buf *__pyx_v_b, PyObject *__pyx_v_df, PyObject *__pyx_v_table_name, PyObject *__pyx_v_table_name_col, PyObject *__pyx_v_symbols, PyObject *__pyx_v_at) { size_t __pyx_v_col_count; struct line_sender_table_name __pyx_v_c_table_name; int64_t __pyx_v_at_value; struct __pyx_t_7questdb_7ingress_col_t_arr __pyx_v_cols; int __pyx_v_any_cols_need_gil; struct qdb_pystr_pos __pyx_v_str_buf_marker; size_t __pyx_v_row_count; struct line_sender_error *__pyx_v_err; size_t __pyx_v_row_index; size_t __pyx_v_col_index; struct __pyx_t_7questdb_7ingress_col_t *__pyx_v_col; size_t __pyx_v_row_gil_blip_interval; PyThreadState *__pyx_v_gs; int __pyx_v_was_serializing_cell; PyObject *__pyx_v_e = NULL; __pyx_t_7questdb_7ingress_void_int __pyx_r; /* … */ /* function exit code */ __pyx_r = 0; goto __pyx_L0; __pyx_L1_error:; __Pyx_XDECREF(__pyx_t_1); __Pyx_XDECREF(__pyx_t_19); __Pyx_XDECREF(__pyx_t_20); __Pyx_XDECREF(__pyx_t_21); __Pyx_XDECREF(__pyx_t_22); __Pyx_XDECREF(__pyx_t_23); __Pyx_XDECREF(__pyx_t_24); __Pyx_XDECREF(__pyx_t_26); __Pyx_XDECREF(__pyx_t_27); __Pyx_XDECREF(__pyx_t_28); __Pyx_XDECREF(__pyx_t_29); __Pyx_AddTraceback("questdb.ingress._dataframe", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = -1; __pyx_L0:; __Pyx_XDECREF(__pyx_v_e); __Pyx_RefNannyFinishContext(); return __pyx_r; }
2134: auto_flush_t af,
2135: line_sender_buffer* ls_buf,
2136: qdb_pystr_buf* b,
2137: object df,
2138: object table_name,
2139: object table_name_col,
2140: object symbols,
2141: object at) except -1:
2142: cdef size_t col_count
2143: cdef line_sender_table_name c_table_name
+2144: cdef int64_t at_value = _AT_IS_SET_BY_COLUMN
__pyx_v_at_value = __pyx_v_7questdb_7ingress__AT_IS_SET_BY_COLUMN;
+2145: cdef col_t_arr cols = col_t_arr_blank()
__pyx_v_cols = __pyx_f_7questdb_7ingress_col_t_arr_blank();
+2146: cdef bint any_cols_need_gil = False
__pyx_v_any_cols_need_gil = 0;
2147: cdef qdb_pystr_pos str_buf_marker
2148: cdef size_t row_count
+2149: cdef line_sender_error* err = NULL
__pyx_v_err = NULL;
2150: cdef size_t row_index
2151: cdef size_t col_index
2152: cdef col_t* col
2153: cdef size_t row_gil_blip_interval
+2154: cdef PyThreadState* gs = NULL # GIL state. NULL means we have the GIL.
__pyx_v_gs = NULL;
2155: cdef bint had_gil
+2156: cdef bint was_serializing_cell = False
__pyx_v_was_serializing_cell = 0;
2157:
+2158: _dataframe_may_import_deps()
__pyx_t_1 = __pyx_f_7questdb_7ingress__dataframe_may_import_deps(); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 2158, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
+2159: _dataframe_check_is_dataframe(df)
__pyx_t_1 = __pyx_f_7questdb_7ingress__dataframe_check_is_dataframe(__pyx_v_df); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 2159, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
+2160: row_count = len(df)
__pyx_t_2 = PyObject_Length(__pyx_v_df); if (unlikely(__pyx_t_2 == ((Py_ssize_t)-1))) __PYX_ERR(1, 2160, __pyx_L1_error) __pyx_v_row_count = __pyx_t_2;
+2161: col_count = len(df.columns)
__pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_df, __pyx_n_s_columns); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 2161, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __pyx_t_2 = PyObject_Length(__pyx_t_1); if (unlikely(__pyx_t_2 == ((Py_ssize_t)-1))) __PYX_ERR(1, 2161, __pyx_L1_error) __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __pyx_v_col_count = __pyx_t_2;
+2162: if (col_count == 0) or (row_count == 0):
__pyx_t_4 = (__pyx_v_col_count == 0); if (!__pyx_t_4) { } else { __pyx_t_3 = __pyx_t_4; goto __pyx_L4_bool_binop_done; } __pyx_t_4 = (__pyx_v_row_count == 0); __pyx_t_3 = __pyx_t_4; __pyx_L4_bool_binop_done:; if (__pyx_t_3) { /* … */ }
+2163: return 0 # Nothing to do.
__pyx_r = 0; goto __pyx_L0;
2164:
+2165: try:
/*try:*/ { { /*try:*/ { /* … */ } __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0; __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0; __Pyx_XDECREF(__pyx_t_7); __pyx_t_7 = 0; goto __pyx_L14_try_end; __pyx_L9_error:; __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; __Pyx_XDECREF(__pyx_t_19); __pyx_t_19 = 0; __Pyx_XDECREF(__pyx_t_20); __pyx_t_20 = 0; __Pyx_XDECREF(__pyx_t_21); __pyx_t_21 = 0; __Pyx_XDECREF(__pyx_t_22); __pyx_t_22 = 0; __Pyx_XDECREF(__pyx_t_23); __pyx_t_23 = 0; __Pyx_XDECREF(__pyx_t_24); __pyx_t_24 = 0; __Pyx_XDECREF(__pyx_t_26); __pyx_t_26 = 0; __Pyx_XDECREF(__pyx_t_27); __pyx_t_27 = 0; __Pyx_XDECREF(__pyx_t_28); __pyx_t_28 = 0; __Pyx_XDECREF(__pyx_t_29); __pyx_t_29 = 0; /* … */ __pyx_L11_except_error:; __Pyx_XGIVEREF(__pyx_t_5); __Pyx_XGIVEREF(__pyx_t_6); __Pyx_XGIVEREF(__pyx_t_7); __Pyx_ExceptionReset(__pyx_t_5, __pyx_t_6, __pyx_t_7); goto __pyx_L7_error; __pyx_L14_try_end:; } }
+2166: qdb_pystr_buf_clear(b)
qdb_pystr_buf_clear(__pyx_v_b);
+2167: cols = col_t_arr_new(col_count)
__pyx_v_cols = __pyx_f_7questdb_7ingress_col_t_arr_new(__pyx_v_col_count);
+2168: _dataframe_resolve_args(
__pyx_t_8 = __pyx_f_7questdb_7ingress__dataframe_resolve_args(__pyx_v_df, __pyx_v_table_name, __pyx_v_table_name_col, __pyx_v_symbols, __pyx_v_at, __pyx_v_b, __pyx_v_col_count, (&__pyx_v_c_table_name), (&__pyx_v_at_value), (&__pyx_v_cols), (&__pyx_v_any_cols_need_gil)); if (unlikely(__pyx_t_8 == ((__pyx_t_7questdb_7ingress_void_int)-1))) __PYX_ERR(1, 2168, __pyx_L9_error)
2169: df,
2170: table_name,
2171: table_name_col,
2172: symbols,
2173: at,
2174: b,
2175: col_count,
2176: &c_table_name,
2177: &at_value,
2178: &cols,
2179: &any_cols_need_gil)
2180:
2181: # We've used the str buffer up to a point for the headers.
2182: # Instead of clearing it (which would clear the headers' memory)
2183: # we will truncate (rewind) back to this position.
+2184: str_buf_marker = qdb_pystr_buf_tell(b)
__pyx_v_str_buf_marker = qdb_pystr_buf_tell(__pyx_v_b);
+2185: line_sender_buffer_clear_marker(ls_buf)
line_sender_buffer_clear_marker(__pyx_v_ls_buf);
2186:
2187: # On error, undo all added lines.
+2188: if not line_sender_buffer_set_marker(ls_buf, &err):
__pyx_t_3 = (!line_sender_buffer_set_marker(__pyx_v_ls_buf, (&__pyx_v_err))); if (unlikely(__pyx_t_3)) { /* … */ }
+2189: raise c_err_to_py(err)
__pyx_t_1 = __pyx_f_7questdb_7ingress_c_err_to_py(__pyx_v_err); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 2189, __pyx_L9_error) __Pyx_GOTREF(__pyx_t_1); __Pyx_Raise(__pyx_t_1, 0, 0, 0); __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __PYX_ERR(1, 2189, __pyx_L9_error)
2190:
+2191: row_gil_blip_interval = _CELL_GIL_BLIP_INTERVAL // col_count
if (unlikely(__pyx_v_col_count == 0)) { PyErr_SetString(PyExc_ZeroDivisionError, "integer division or modulo by zero"); __PYX_ERR(1, 2191, __pyx_L9_error) } __pyx_v_row_gil_blip_interval = (__pyx_v_7questdb_7ingress__CELL_GIL_BLIP_INTERVAL / __pyx_v_col_count);
+2192: if row_gil_blip_interval < 400: # ceiling reached at 100 columns
__pyx_t_3 = (__pyx_v_row_gil_blip_interval < 0x190); if (__pyx_t_3) { /* … */ }
+2193: row_gil_blip_interval = 400
__pyx_v_row_gil_blip_interval = 0x190;
+2194: try:
{ /*try:*/ { /* … */ } __Pyx_XDECREF(__pyx_t_9); __pyx_t_9 = 0; __Pyx_XDECREF(__pyx_t_10); __pyx_t_10 = 0; __Pyx_XDECREF(__pyx_t_11); __pyx_t_11 = 0; goto __pyx_L22_try_end; __pyx_L17_error:; __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; /* … */ __pyx_L19_except_error:; __Pyx_XGIVEREF(__pyx_t_9); __Pyx_XGIVEREF(__pyx_t_10); __Pyx_XGIVEREF(__pyx_t_11); __Pyx_ExceptionReset(__pyx_t_9, __pyx_t_10, __pyx_t_11); goto __pyx_L9_error; __pyx_L22_try_end:; }
2195: # Don't move this logic up! We need the GIL to execute a `try`.
2196: # Also we can't have any other `try` blocks between here and the
2197: # `finally` block.
+2198: if not any_cols_need_gil:
__pyx_t_3 = (!__pyx_v_any_cols_need_gil); if (__pyx_t_3) { /* … */ }
+2199: _ensure_doesnt_have_gil(&gs)
__pyx_t_3 = __pyx_f_7questdb_7ingress__ensure_doesnt_have_gil((&__pyx_v_gs)); if (unlikely(__pyx_t_3 == ((int)-1) && PyErr_Occurred())) __PYX_ERR(1, 2199, __pyx_L17_error)
2200:
+2201: for row_index in range(row_count):
__pyx_t_12 = __pyx_v_row_count; __pyx_t_13 = __pyx_t_12; for (__pyx_t_14 = 0; __pyx_t_14 < __pyx_t_13; __pyx_t_14+=1) { __pyx_v_row_index = __pyx_t_14;
+2202: if (gs == NULL) and (row_index % row_gil_blip_interval == 0):
__pyx_t_4 = (__pyx_v_gs == NULL); if (__pyx_t_4) { } else { __pyx_t_3 = __pyx_t_4; goto __pyx_L27_bool_binop_done; } if (unlikely(__pyx_v_row_gil_blip_interval == 0)) { PyErr_SetString(PyExc_ZeroDivisionError, "integer division or modulo by zero"); __PYX_ERR(1, 2202, __pyx_L17_error) } __pyx_t_4 = ((__pyx_v_row_index % __pyx_v_row_gil_blip_interval) == 0); __pyx_t_3 = __pyx_t_4; __pyx_L27_bool_binop_done:; if (__pyx_t_3) { /* … */ }
2203: # Release and re-acquire the GIL every so often.
2204: # This is to allow other python threads to run.
2205: # If we hold the GIL for too long, we can starve other
2206: # threads, for example timing out network activity.
+2207: _ensure_doesnt_have_gil(&gs)
__pyx_t_3 = __pyx_f_7questdb_7ingress__ensure_doesnt_have_gil((&__pyx_v_gs)); if (unlikely(__pyx_t_3 == ((int)-1) && PyErr_Occurred())) __PYX_ERR(1, 2207, __pyx_L17_error)
+2208: _ensure_has_gil(&gs)
__pyx_f_7questdb_7ingress__ensure_has_gil((&__pyx_v_gs)); if (unlikely(PyErr_Occurred())) __PYX_ERR(1, 2208, __pyx_L17_error)
2209:
+2210: qdb_pystr_buf_truncate(b, str_buf_marker)
qdb_pystr_buf_truncate(__pyx_v_b, __pyx_v_str_buf_marker);
2211:
2212: # Table-name from `table_name` arg in Python.
+2213: if c_table_name.buf != NULL:
__pyx_t_3 = (__pyx_v_c_table_name.buf != NULL); if (__pyx_t_3) { /* … */ }
+2214: if not line_sender_buffer_table(ls_buf, c_table_name, &err):
__pyx_t_3 = (!line_sender_buffer_table(__pyx_v_ls_buf, __pyx_v_c_table_name, (&__pyx_v_err))); if (unlikely(__pyx_t_3)) { /* … */ }
+2215: _ensure_has_gil(&gs)
__pyx_f_7questdb_7ingress__ensure_has_gil((&__pyx_v_gs)); if (unlikely(PyErr_Occurred())) __PYX_ERR(1, 2215, __pyx_L17_error)
+2216: raise c_err_to_py(err)
__pyx_t_1 = __pyx_f_7questdb_7ingress_c_err_to_py(__pyx_v_err); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 2216, __pyx_L17_error) __Pyx_GOTREF(__pyx_t_1); __Pyx_Raise(__pyx_t_1, 0, 0, 0); __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __PYX_ERR(1, 2216, __pyx_L17_error)
2217:
2218: # Serialize columns cells.
2219: # Note: Columns are sorted: table name, symbols, fields, at.
+2220: was_serializing_cell = True
__pyx_v_was_serializing_cell = 1;
+2221: for col_index in range(col_count):
__pyx_t_15 = __pyx_v_col_count; __pyx_t_16 = __pyx_t_15; for (__pyx_t_17 = 0; __pyx_t_17 < __pyx_t_16; __pyx_t_17+=1) { __pyx_v_col_index = __pyx_t_17;
+2222: col = &cols.d[col_index]
__pyx_v_col = (&(__pyx_v_cols.d[__pyx_v_col_index]));
+2223: _dataframe_serialize_cell(ls_buf, b, col, &gs) # may raise
__pyx_t_8 = __pyx_f_7questdb_7ingress__dataframe_serialize_cell(__pyx_v_ls_buf, __pyx_v_b, __pyx_v_col, (&__pyx_v_gs)); if (unlikely(__pyx_t_8 == ((__pyx_t_7questdb_7ingress_void_int)-1))) __PYX_ERR(1, 2223, __pyx_L17_error)
+2224: _dataframe_col_advance(col)
__pyx_f_7questdb_7ingress__dataframe_col_advance(__pyx_v_col); }
+2225: was_serializing_cell = False
__pyx_v_was_serializing_cell = 0;
2226:
2227: # Fixed "at" value (not from a column).
+2228: if at_value == _AT_IS_SERVER_NOW:
__pyx_t_3 = (__pyx_v_at_value == __pyx_v_7questdb_7ingress__AT_IS_SERVER_NOW); if (__pyx_t_3) { /* … */ goto __pyx_L33; }
+2229: if not line_sender_buffer_at_now(ls_buf, &err):
__pyx_t_3 = (!line_sender_buffer_at_now(__pyx_v_ls_buf, (&__pyx_v_err))); if (unlikely(__pyx_t_3)) { /* … */ }
+2230: _ensure_has_gil(&gs)
__pyx_f_7questdb_7ingress__ensure_has_gil((&__pyx_v_gs)); if (unlikely(PyErr_Occurred())) __PYX_ERR(1, 2230, __pyx_L17_error)
+2231: raise c_err_to_py(err)
__pyx_t_1 = __pyx_f_7questdb_7ingress_c_err_to_py(__pyx_v_err); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 2231, __pyx_L17_error) __Pyx_GOTREF(__pyx_t_1); __Pyx_Raise(__pyx_t_1, 0, 0, 0); __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __PYX_ERR(1, 2231, __pyx_L17_error)
+2232: elif at_value >= 0:
__pyx_t_3 = (__pyx_v_at_value >= 0); if (__pyx_t_3) { /* … */ } __pyx_L33:;
+2233: if not line_sender_buffer_at_nanos(ls_buf, at_value, &err):
__pyx_t_3 = (!line_sender_buffer_at_nanos(__pyx_v_ls_buf, __pyx_v_at_value, (&__pyx_v_err))); if (unlikely(__pyx_t_3)) { /* … */ }
+2234: _ensure_has_gil(&gs)
__pyx_f_7questdb_7ingress__ensure_has_gil((&__pyx_v_gs)); if (unlikely(PyErr_Occurred())) __PYX_ERR(1, 2234, __pyx_L17_error)
+2235: raise c_err_to_py(err)
__pyx_t_1 = __pyx_f_7questdb_7ingress_c_err_to_py(__pyx_v_err); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 2235, __pyx_L17_error) __Pyx_GOTREF(__pyx_t_1); __Pyx_Raise(__pyx_t_1, 0, 0, 0); __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __PYX_ERR(1, 2235, __pyx_L17_error)
2236:
+2237: _dataframe_handle_auto_flush(af, ls_buf, &gs)
__pyx_t_8 = __pyx_f_7questdb_7ingress__dataframe_handle_auto_flush(__pyx_v_af, __pyx_v_ls_buf, (&__pyx_v_gs)); if (unlikely(__pyx_t_8 == ((__pyx_t_7questdb_7ingress_void_int)-1))) __PYX_ERR(1, 2237, __pyx_L17_error)
}
+2238: except Exception as e:
__pyx_t_18 = __Pyx_PyErr_ExceptionMatches(((PyObject *)(&((PyTypeObject*)PyExc_Exception)[0]))); if (__pyx_t_18) { __Pyx_AddTraceback("questdb.ingress._dataframe", __pyx_clineno, __pyx_lineno, __pyx_filename); if (__Pyx_GetException(&__pyx_t_1, &__pyx_t_19, &__pyx_t_20) < 0) __PYX_ERR(1, 2238, __pyx_L19_except_error) __Pyx_XGOTREF(__pyx_t_1); __Pyx_XGOTREF(__pyx_t_19); __Pyx_XGOTREF(__pyx_t_20); __Pyx_INCREF(__pyx_t_19); __pyx_v_e = __pyx_t_19; /*try:*/ { /* … */ /*finally:*/ { __pyx_L41_error:; /*exception exit:*/{ __Pyx_PyThreadState_declare __Pyx_PyThreadState_assign __pyx_t_32 = 0; __pyx_t_33 = 0; __pyx_t_34 = 0; __pyx_t_35 = 0; __pyx_t_36 = 0; __pyx_t_37 = 0; __Pyx_XDECREF(__pyx_t_21); __pyx_t_21 = 0; __Pyx_XDECREF(__pyx_t_22); __pyx_t_22 = 0; __Pyx_XDECREF(__pyx_t_23); __pyx_t_23 = 0; __Pyx_XDECREF(__pyx_t_24); __pyx_t_24 = 0; __Pyx_XDECREF(__pyx_t_26); __pyx_t_26 = 0; __Pyx_XDECREF(__pyx_t_27); __pyx_t_27 = 0; __Pyx_XDECREF(__pyx_t_28); __pyx_t_28 = 0; __Pyx_XDECREF(__pyx_t_29); __pyx_t_29 = 0; if (PY_MAJOR_VERSION >= 3) __Pyx_ExceptionSwap(&__pyx_t_35, &__pyx_t_36, &__pyx_t_37); if ((PY_MAJOR_VERSION < 3) || unlikely(__Pyx_GetException(&__pyx_t_32, &__pyx_t_33, &__pyx_t_34) < 0)) __Pyx_ErrFetch(&__pyx_t_32, &__pyx_t_33, &__pyx_t_34); __Pyx_XGOTREF(__pyx_t_32); __Pyx_XGOTREF(__pyx_t_33); __Pyx_XGOTREF(__pyx_t_34); __Pyx_XGOTREF(__pyx_t_35); __Pyx_XGOTREF(__pyx_t_36); __Pyx_XGOTREF(__pyx_t_37); __pyx_t_18 = __pyx_lineno; __pyx_t_30 = __pyx_clineno; __pyx_t_31 = __pyx_filename; { __Pyx_DECREF(__pyx_v_e); __pyx_v_e = 0; } if (PY_MAJOR_VERSION >= 3) { __Pyx_XGIVEREF(__pyx_t_35); __Pyx_XGIVEREF(__pyx_t_36); __Pyx_XGIVEREF(__pyx_t_37); __Pyx_ExceptionReset(__pyx_t_35, __pyx_t_36, __pyx_t_37); } __Pyx_XGIVEREF(__pyx_t_32); __Pyx_XGIVEREF(__pyx_t_33); __Pyx_XGIVEREF(__pyx_t_34); __Pyx_ErrRestore(__pyx_t_32, __pyx_t_33, __pyx_t_34); __pyx_t_32 = 0; __pyx_t_33 = 0; __pyx_t_34 = 0; __pyx_t_35 = 0; __pyx_t_36 = 0; __pyx_t_37 = 0; __pyx_lineno = __pyx_t_18; __pyx_clineno = __pyx_t_30; __pyx_filename = __pyx_t_31; goto __pyx_L19_except_error; } } } goto __pyx_L19_except_error;
2239: # It would be an internal bug for this to raise.
+2240: if not line_sender_buffer_rewind_to_marker(ls_buf, &err):
__pyx_t_3 = (!line_sender_buffer_rewind_to_marker(__pyx_v_ls_buf, (&__pyx_v_err))); if (unlikely(__pyx_t_3)) { /* … */ }
+2241: raise c_err_to_py(err)
__pyx_t_21 = __pyx_f_7questdb_7ingress_c_err_to_py(__pyx_v_err); if (unlikely(!__pyx_t_21)) __PYX_ERR(1, 2241, __pyx_L41_error) __Pyx_GOTREF(__pyx_t_21); __Pyx_Raise(__pyx_t_21, 0, 0, 0); __Pyx_DECREF(__pyx_t_21); __pyx_t_21 = 0; __PYX_ERR(1, 2241, __pyx_L41_error)
2242:
+2243: if (isinstance(e, IngressError) and
__Pyx_GetModuleGlobalName(__pyx_t_21, __pyx_n_s_IngressError); if (unlikely(!__pyx_t_21)) __PYX_ERR(1, 2243, __pyx_L41_error) __Pyx_GOTREF(__pyx_t_21); __pyx_t_4 = PyObject_IsInstance(__pyx_v_e, __pyx_t_21); if (unlikely(__pyx_t_4 == ((int)-1))) __PYX_ERR(1, 2243, __pyx_L41_error) __Pyx_DECREF(__pyx_t_21); __pyx_t_21 = 0; if (__pyx_t_4) { } else { __pyx_t_3 = __pyx_t_4; goto __pyx_L45_bool_binop_done; } /* … */ if (unlikely(__pyx_t_3)) { /* … */ }
+2244: (e.code == IngressErrorCode.InvalidApiCall)):
__pyx_t_21 = __Pyx_PyObject_GetAttrStr(__pyx_v_e, __pyx_n_s_code); if (unlikely(!__pyx_t_21)) __PYX_ERR(1, 2244, __pyx_L41_error) __Pyx_GOTREF(__pyx_t_21); __Pyx_GetModuleGlobalName(__pyx_t_22, __pyx_n_s_IngressErrorCode); if (unlikely(!__pyx_t_22)) __PYX_ERR(1, 2244, __pyx_L41_error) __Pyx_GOTREF(__pyx_t_22); __pyx_t_23 = __Pyx_PyObject_GetAttrStr(__pyx_t_22, __pyx_n_s_InvalidApiCall); if (unlikely(!__pyx_t_23)) __PYX_ERR(1, 2244, __pyx_L41_error) __Pyx_GOTREF(__pyx_t_23); __Pyx_DECREF(__pyx_t_22); __pyx_t_22 = 0; __pyx_t_22 = PyObject_RichCompare(__pyx_t_21, __pyx_t_23, Py_EQ); __Pyx_XGOTREF(__pyx_t_22); if (unlikely(!__pyx_t_22)) __PYX_ERR(1, 2244, __pyx_L41_error) __Pyx_DECREF(__pyx_t_21); __pyx_t_21 = 0; __Pyx_DECREF(__pyx_t_23); __pyx_t_23 = 0; __pyx_t_4 = __Pyx_PyObject_IsTrue(__pyx_t_22); if (unlikely((__pyx_t_4 < 0))) __PYX_ERR(1, 2244, __pyx_L41_error) __Pyx_DECREF(__pyx_t_22); __pyx_t_22 = 0; __pyx_t_3 = __pyx_t_4; __pyx_L45_bool_binop_done:;
2245: # TODO: This should be allowed by the database.
2246: # It currently isn't so we have to raise an error.
+2247: raise IngressError(
__Pyx_GetModuleGlobalName(__pyx_t_23, __pyx_n_s_IngressError); if (unlikely(!__pyx_t_23)) __PYX_ERR(1, 2247, __pyx_L41_error) __Pyx_GOTREF(__pyx_t_23);
+2248: IngressErrorCode.BadDataFrame,
__Pyx_GetModuleGlobalName(__pyx_t_21, __pyx_n_s_IngressErrorCode); if (unlikely(!__pyx_t_21)) __PYX_ERR(1, 2248, __pyx_L41_error) __Pyx_GOTREF(__pyx_t_21); __pyx_t_24 = __Pyx_PyObject_GetAttrStr(__pyx_t_21, __pyx_n_s_BadDataFrame); if (unlikely(!__pyx_t_24)) __PYX_ERR(1, 2248, __pyx_L41_error) __Pyx_GOTREF(__pyx_t_24); __Pyx_DECREF(__pyx_t_21); __pyx_t_21 = 0;
+2249: f'Bad dataframe row at index {row_index}: ' +
__pyx_t_21 = PyTuple_New(3); if (unlikely(!__pyx_t_21)) __PYX_ERR(1, 2249, __pyx_L41_error) __Pyx_GOTREF(__pyx_t_21); __pyx_t_2 = 0; __pyx_t_25 = 127; __Pyx_INCREF(__pyx_kp_u_Bad_dataframe_row_at_index); __pyx_t_2 += 27; __Pyx_GIVEREF(__pyx_kp_u_Bad_dataframe_row_at_index); PyTuple_SET_ITEM(__pyx_t_21, 0, __pyx_kp_u_Bad_dataframe_row_at_index); __pyx_t_26 = __Pyx_PyUnicode_From_size_t(__pyx_v_row_index, 0, ' ', 'd'); if (unlikely(!__pyx_t_26)) __PYX_ERR(1, 2249, __pyx_L41_error) __Pyx_GOTREF(__pyx_t_26); __pyx_t_2 += __Pyx_PyUnicode_GET_LENGTH(__pyx_t_26); __Pyx_GIVEREF(__pyx_t_26); PyTuple_SET_ITEM(__pyx_t_21, 1, __pyx_t_26); __pyx_t_26 = 0; __Pyx_INCREF(__pyx_kp_u__21); __pyx_t_2 += 2; __Pyx_GIVEREF(__pyx_kp_u__21); PyTuple_SET_ITEM(__pyx_t_21, 2, __pyx_kp_u__21); __pyx_t_26 = __Pyx_PyUnicode_Join(__pyx_t_21, 3, __pyx_t_2, __pyx_t_25); if (unlikely(!__pyx_t_26)) __PYX_ERR(1, 2249, __pyx_L41_error) __Pyx_GOTREF(__pyx_t_26); __Pyx_DECREF(__pyx_t_21); __pyx_t_21 = 0; __pyx_t_21 = __Pyx_PyUnicode_ConcatInPlace(__pyx_t_26, __pyx_kp_u_All_values_are_nulls); if (unlikely(!__pyx_t_21)) __PYX_ERR(1, 2249, __pyx_L41_error) __Pyx_GOTREF(__pyx_t_21); __Pyx_DECREF(__pyx_t_26); __pyx_t_26 = 0;
+2250: 'All values are nulls. '+
__pyx_t_26 = __Pyx_PyUnicode_ConcatInPlace(__pyx_t_21, __pyx_kp_u_Ensure_at_least_one_column_is_no); if (unlikely(!__pyx_t_26)) __PYX_ERR(1, 2250, __pyx_L41_error) __Pyx_GOTREF(__pyx_t_26); __Pyx_DECREF(__pyx_t_21); __pyx_t_21 = 0; __pyx_t_21 = NULL; __pyx_t_18 = 0; #if CYTHON_UNPACK_METHODS if (unlikely(PyMethod_Check(__pyx_t_23))) { __pyx_t_21 = PyMethod_GET_SELF(__pyx_t_23); if (likely(__pyx_t_21)) { PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_23); __Pyx_INCREF(__pyx_t_21); __Pyx_INCREF(function); __Pyx_DECREF_SET(__pyx_t_23, function); __pyx_t_18 = 1; } } #endif { PyObject *__pyx_callargs[3] = {__pyx_t_21, __pyx_t_24, __pyx_t_26}; __pyx_t_22 = __Pyx_PyObject_FastCall(__pyx_t_23, __pyx_callargs+1-__pyx_t_18, 2+__pyx_t_18); __Pyx_XDECREF(__pyx_t_21); __pyx_t_21 = 0; __Pyx_DECREF(__pyx_t_24); __pyx_t_24 = 0; __Pyx_DECREF(__pyx_t_26); __pyx_t_26 = 0; if (unlikely(!__pyx_t_22)) __PYX_ERR(1, 2247, __pyx_L41_error) __Pyx_GOTREF(__pyx_t_22); __Pyx_DECREF(__pyx_t_23); __pyx_t_23 = 0; }
+2251: 'Ensure at least one column is not null.') from e
__Pyx_Raise(__pyx_t_22, 0, 0, __pyx_v_e); __Pyx_DECREF(__pyx_t_22); __pyx_t_22 = 0; __PYX_ERR(1, 2247, __pyx_L41_error)
+2252: elif was_serializing_cell:
if (unlikely(__pyx_v_was_serializing_cell)) { /* … */ }
+2253: raise IngressError(
__Pyx_GetModuleGlobalName(__pyx_t_23, __pyx_n_s_IngressError); if (unlikely(!__pyx_t_23)) __PYX_ERR(1, 2253, __pyx_L41_error) __Pyx_GOTREF(__pyx_t_23);
+2254: IngressErrorCode.BadDataFrame,
__Pyx_GetModuleGlobalName(__pyx_t_26, __pyx_n_s_IngressErrorCode); if (unlikely(!__pyx_t_26)) __PYX_ERR(1, 2254, __pyx_L41_error) __Pyx_GOTREF(__pyx_t_26); __pyx_t_24 = __Pyx_PyObject_GetAttrStr(__pyx_t_26, __pyx_n_s_BadDataFrame); if (unlikely(!__pyx_t_24)) __PYX_ERR(1, 2254, __pyx_L41_error) __Pyx_GOTREF(__pyx_t_24); __Pyx_DECREF(__pyx_t_26); __pyx_t_26 = 0;
+2255: 'Failed to serialize value of column ' +
__pyx_t_21 = PyNumber_Add(__pyx_kp_u_Failed_to_serialize_value_of_col, __pyx_t_26); if (unlikely(!__pyx_t_21)) __PYX_ERR(1, 2255, __pyx_L41_error) __Pyx_GOTREF(__pyx_t_21); __Pyx_DECREF(__pyx_t_26); __pyx_t_26 = 0;
+2256: repr(df.columns[col.setup.orig_index]) +
__pyx_t_26 = __Pyx_PyObject_GetAttrStr(__pyx_v_df, __pyx_n_s_columns); if (unlikely(!__pyx_t_26)) __PYX_ERR(1, 2256, __pyx_L41_error) __Pyx_GOTREF(__pyx_t_26); __pyx_t_21 = __Pyx_GetItemInt(__pyx_t_26, __pyx_v_col->setup->orig_index, size_t, 0, __Pyx_PyInt_FromSize_t, 0, 0, 1); if (unlikely(!__pyx_t_21)) __PYX_ERR(1, 2256, __pyx_L41_error) __Pyx_GOTREF(__pyx_t_21); __Pyx_DECREF(__pyx_t_26); __pyx_t_26 = 0; __pyx_t_26 = PyObject_Repr(__pyx_t_21); if (unlikely(!__pyx_t_26)) __PYX_ERR(1, 2256, __pyx_L41_error) __Pyx_GOTREF(__pyx_t_26); __Pyx_DECREF(__pyx_t_21); __pyx_t_21 = 0; /* … */ __pyx_t_26 = PyNumber_Add(__pyx_t_21, __pyx_t_27); if (unlikely(!__pyx_t_26)) __PYX_ERR(1, 2256, __pyx_L41_error) __Pyx_GOTREF(__pyx_t_26); __Pyx_DECREF(__pyx_t_21); __pyx_t_21 = 0; __Pyx_DECREF(__pyx_t_27); __pyx_t_27 = 0;
+2257: f' at row index {row_index} (' +
__pyx_t_26 = PyTuple_New(3); if (unlikely(!__pyx_t_26)) __PYX_ERR(1, 2257, __pyx_L41_error) __Pyx_GOTREF(__pyx_t_26); __pyx_t_2 = 0; __pyx_t_25 = 127; __Pyx_INCREF(__pyx_kp_u_at_row_index); __pyx_t_2 += 14; __Pyx_GIVEREF(__pyx_kp_u_at_row_index); PyTuple_SET_ITEM(__pyx_t_26, 0, __pyx_kp_u_at_row_index); __pyx_t_27 = __Pyx_PyUnicode_From_size_t(__pyx_v_row_index, 0, ' ', 'd'); if (unlikely(!__pyx_t_27)) __PYX_ERR(1, 2257, __pyx_L41_error) __Pyx_GOTREF(__pyx_t_27); __pyx_t_2 += __Pyx_PyUnicode_GET_LENGTH(__pyx_t_27); __Pyx_GIVEREF(__pyx_t_27); PyTuple_SET_ITEM(__pyx_t_26, 1, __pyx_t_27); __pyx_t_27 = 0; __Pyx_INCREF(__pyx_kp_u__20); __pyx_t_2 += 2; __Pyx_GIVEREF(__pyx_kp_u__20); PyTuple_SET_ITEM(__pyx_t_26, 2, __pyx_kp_u__20); __pyx_t_27 = __Pyx_PyUnicode_Join(__pyx_t_26, 3, __pyx_t_2, __pyx_t_25); if (unlikely(!__pyx_t_27)) __PYX_ERR(1, 2257, __pyx_L41_error) __Pyx_GOTREF(__pyx_t_27); __Pyx_DECREF(__pyx_t_26); __pyx_t_26 = 0; /* … */ __pyx_t_28 = PyNumber_Add(__pyx_t_26, __pyx_t_29); if (unlikely(!__pyx_t_28)) __PYX_ERR(1, 2257, __pyx_L41_error) __Pyx_GOTREF(__pyx_t_28); __Pyx_DECREF(__pyx_t_26); __pyx_t_26 = 0; __Pyx_DECREF(__pyx_t_29); __pyx_t_29 = 0;
+2258: repr(df.iloc[row_index, col.setup.orig_index]) +
__pyx_t_27 = __Pyx_PyObject_GetAttrStr(__pyx_v_df, __pyx_n_s_iloc); if (unlikely(!__pyx_t_27)) __PYX_ERR(1, 2258, __pyx_L41_error) __Pyx_GOTREF(__pyx_t_27); __pyx_t_21 = __Pyx_PyInt_FromSize_t(__pyx_v_row_index); if (unlikely(!__pyx_t_21)) __PYX_ERR(1, 2258, __pyx_L41_error) __Pyx_GOTREF(__pyx_t_21); __pyx_t_28 = __Pyx_PyInt_FromSize_t(__pyx_v_col->setup->orig_index); if (unlikely(!__pyx_t_28)) __PYX_ERR(1, 2258, __pyx_L41_error) __Pyx_GOTREF(__pyx_t_28); __pyx_t_29 = PyTuple_New(2); if (unlikely(!__pyx_t_29)) __PYX_ERR(1, 2258, __pyx_L41_error) __Pyx_GOTREF(__pyx_t_29); __Pyx_GIVEREF(__pyx_t_21); if (__Pyx_PyTuple_SET_ITEM(__pyx_t_29, 0, __pyx_t_21)) __PYX_ERR(1, 2258, __pyx_L41_error); __Pyx_GIVEREF(__pyx_t_28); if (__Pyx_PyTuple_SET_ITEM(__pyx_t_29, 1, __pyx_t_28)) __PYX_ERR(1, 2258, __pyx_L41_error); __pyx_t_21 = 0; __pyx_t_28 = 0; __pyx_t_28 = __Pyx_PyObject_GetItem(__pyx_t_27, __pyx_t_29); if (unlikely(!__pyx_t_28)) __PYX_ERR(1, 2258, __pyx_L41_error) __Pyx_GOTREF(__pyx_t_28); __Pyx_DECREF(__pyx_t_27); __pyx_t_27 = 0; __Pyx_DECREF(__pyx_t_29); __pyx_t_29 = 0; __pyx_t_29 = PyObject_Repr(__pyx_t_28); if (unlikely(!__pyx_t_29)) __PYX_ERR(1, 2258, __pyx_L41_error) __Pyx_GOTREF(__pyx_t_29); __Pyx_DECREF(__pyx_t_28); __pyx_t_28 = 0; /* … */ __pyx_t_29 = PyNumber_Add(__pyx_t_28, __pyx_t_26); if (unlikely(!__pyx_t_29)) __PYX_ERR(1, 2258, __pyx_L41_error) __Pyx_GOTREF(__pyx_t_29); __Pyx_DECREF(__pyx_t_28); __pyx_t_28 = 0; __Pyx_DECREF(__pyx_t_26); __pyx_t_26 = 0; __pyx_t_26 = NULL; __pyx_t_18 = 0; #if CYTHON_UNPACK_METHODS if (unlikely(PyMethod_Check(__pyx_t_23))) { __pyx_t_26 = PyMethod_GET_SELF(__pyx_t_23); if (likely(__pyx_t_26)) { PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_23); __Pyx_INCREF(__pyx_t_26); __Pyx_INCREF(function); __Pyx_DECREF_SET(__pyx_t_23, function); __pyx_t_18 = 1; } } #endif { PyObject *__pyx_callargs[3] = {__pyx_t_26, __pyx_t_24, __pyx_t_29}; __pyx_t_22 = __Pyx_PyObject_FastCall(__pyx_t_23, __pyx_callargs+1-__pyx_t_18, 2+__pyx_t_18); __Pyx_XDECREF(__pyx_t_26); __pyx_t_26 = 0; __Pyx_DECREF(__pyx_t_24); __pyx_t_24 = 0; __Pyx_DECREF(__pyx_t_29); __pyx_t_29 = 0; if (unlikely(!__pyx_t_22)) __PYX_ERR(1, 2253, __pyx_L41_error) __Pyx_GOTREF(__pyx_t_22); __Pyx_DECREF(__pyx_t_23); __pyx_t_23 = 0; }
+2259: f'): {e} [dc={<int>col.dispatch_code}]') from e
__pyx_t_29 = PyTuple_New(5); if (unlikely(!__pyx_t_29)) __PYX_ERR(1, 2259, __pyx_L41_error) __Pyx_GOTREF(__pyx_t_29); __pyx_t_2 = 0; __pyx_t_25 = 127; __Pyx_INCREF(__pyx_kp_u__27); __pyx_t_2 += 3; __Pyx_GIVEREF(__pyx_kp_u__27); PyTuple_SET_ITEM(__pyx_t_29, 0, __pyx_kp_u__27); __pyx_t_26 = __Pyx_PyObject_FormatSimple(__pyx_v_e, __pyx_empty_unicode); if (unlikely(!__pyx_t_26)) __PYX_ERR(1, 2259, __pyx_L41_error) __Pyx_GOTREF(__pyx_t_26); __pyx_t_25 = (__Pyx_PyUnicode_MAX_CHAR_VALUE(__pyx_t_26) > __pyx_t_25) ? __Pyx_PyUnicode_MAX_CHAR_VALUE(__pyx_t_26) : __pyx_t_25; __pyx_t_2 += __Pyx_PyUnicode_GET_LENGTH(__pyx_t_26); __Pyx_GIVEREF(__pyx_t_26); PyTuple_SET_ITEM(__pyx_t_29, 1, __pyx_t_26); __pyx_t_26 = 0; __Pyx_INCREF(__pyx_kp_u_dc); __pyx_t_2 += 6; __Pyx_GIVEREF(__pyx_kp_u_dc); PyTuple_SET_ITEM(__pyx_t_29, 2, __pyx_kp_u_dc); __pyx_t_26 = __Pyx_PyUnicode_From_int(((int)__pyx_v_col->dispatch_code), 0, ' ', 'd'); if (unlikely(!__pyx_t_26)) __PYX_ERR(1, 2259, __pyx_L41_error) __Pyx_GOTREF(__pyx_t_26); __pyx_t_2 += __Pyx_PyUnicode_GET_LENGTH(__pyx_t_26); __Pyx_GIVEREF(__pyx_t_26); PyTuple_SET_ITEM(__pyx_t_29, 3, __pyx_t_26); __pyx_t_26 = 0; __Pyx_INCREF(__pyx_kp_u__28); __pyx_t_2 += 1; __Pyx_GIVEREF(__pyx_kp_u__28); PyTuple_SET_ITEM(__pyx_t_29, 4, __pyx_kp_u__28); __pyx_t_26 = __Pyx_PyUnicode_Join(__pyx_t_29, 5, __pyx_t_2, __pyx_t_25); if (unlikely(!__pyx_t_26)) __PYX_ERR(1, 2259, __pyx_L41_error) __Pyx_GOTREF(__pyx_t_26); __Pyx_DECREF(__pyx_t_29); __pyx_t_29 = 0; /* … */ __Pyx_Raise(__pyx_t_22, 0, 0, __pyx_v_e); __Pyx_DECREF(__pyx_t_22); __pyx_t_22 = 0; __PYX_ERR(1, 2253, __pyx_L41_error)
2260: else:
+2261: raise
/*else*/ { __Pyx_GIVEREF(__pyx_t_1); __Pyx_GIVEREF(__pyx_t_19); __Pyx_XGIVEREF(__pyx_t_20); __Pyx_ErrRestoreWithState(__pyx_t_1, __pyx_t_19, __pyx_t_20); __pyx_t_1 = 0; __pyx_t_19 = 0; __pyx_t_20 = 0; __PYX_ERR(1, 2261, __pyx_L41_error) } }
+2262: except Exception as e:
__pyx_t_30 = __Pyx_PyErr_ExceptionMatches(((PyObject *)(&((PyTypeObject*)PyExc_Exception)[0]))); if (__pyx_t_30) { __Pyx_AddTraceback("questdb.ingress._dataframe", __pyx_clineno, __pyx_lineno, __pyx_filename); if (__Pyx_GetException(&__pyx_t_20, &__pyx_t_19, &__pyx_t_1) < 0) __PYX_ERR(1, 2262, __pyx_L11_except_error) __Pyx_XGOTREF(__pyx_t_20); __Pyx_XGOTREF(__pyx_t_19); __Pyx_XGOTREF(__pyx_t_1); __Pyx_INCREF(__pyx_t_19); __Pyx_XDECREF_SET(__pyx_v_e, __pyx_t_19); /*try:*/ { /* … */ /*finally:*/ { __pyx_L56_error:; /*exception exit:*/{ __Pyx_PyThreadState_declare __Pyx_PyThreadState_assign __pyx_t_11 = 0; __pyx_t_10 = 0; __pyx_t_9 = 0; __pyx_t_37 = 0; __pyx_t_36 = 0; __pyx_t_35 = 0; __Pyx_XDECREF(__pyx_t_21); __pyx_t_21 = 0; __Pyx_XDECREF(__pyx_t_22); __pyx_t_22 = 0; __Pyx_XDECREF(__pyx_t_23); __pyx_t_23 = 0; __Pyx_XDECREF(__pyx_t_24); __pyx_t_24 = 0; __Pyx_XDECREF(__pyx_t_26); __pyx_t_26 = 0; __Pyx_XDECREF(__pyx_t_27); __pyx_t_27 = 0; __Pyx_XDECREF(__pyx_t_28); __pyx_t_28 = 0; __Pyx_XDECREF(__pyx_t_29); __pyx_t_29 = 0; if (PY_MAJOR_VERSION >= 3) __Pyx_ExceptionSwap(&__pyx_t_37, &__pyx_t_36, &__pyx_t_35); if ((PY_MAJOR_VERSION < 3) || unlikely(__Pyx_GetException(&__pyx_t_11, &__pyx_t_10, &__pyx_t_9) < 0)) __Pyx_ErrFetch(&__pyx_t_11, &__pyx_t_10, &__pyx_t_9); __Pyx_XGOTREF(__pyx_t_11); __Pyx_XGOTREF(__pyx_t_10); __Pyx_XGOTREF(__pyx_t_9); __Pyx_XGOTREF(__pyx_t_37); __Pyx_XGOTREF(__pyx_t_36); __Pyx_XGOTREF(__pyx_t_35); __pyx_t_30 = __pyx_lineno; __pyx_t_18 = __pyx_clineno; __pyx_t_38 = __pyx_filename; { __Pyx_DECREF(__pyx_v_e); __pyx_v_e = 0; } if (PY_MAJOR_VERSION >= 3) { __Pyx_XGIVEREF(__pyx_t_37); __Pyx_XGIVEREF(__pyx_t_36); __Pyx_XGIVEREF(__pyx_t_35); __Pyx_ExceptionReset(__pyx_t_37, __pyx_t_36, __pyx_t_35); } __Pyx_XGIVEREF(__pyx_t_11); __Pyx_XGIVEREF(__pyx_t_10); __Pyx_XGIVEREF(__pyx_t_9); __Pyx_ErrRestore(__pyx_t_11, __pyx_t_10, __pyx_t_9); __pyx_t_11 = 0; __pyx_t_10 = 0; __pyx_t_9 = 0; __pyx_t_37 = 0; __pyx_t_36 = 0; __pyx_t_35 = 0; __pyx_lineno = __pyx_t_30; __pyx_clineno = __pyx_t_18; __pyx_filename = __pyx_t_38; goto __pyx_L11_except_error; } } } goto __pyx_L11_except_error;
+2263: if not isinstance(e, IngressError):
__Pyx_GetModuleGlobalName(__pyx_t_22, __pyx_n_s_IngressError); if (unlikely(!__pyx_t_22)) __PYX_ERR(1, 2263, __pyx_L56_error) __Pyx_GOTREF(__pyx_t_22); __pyx_t_3 = PyObject_IsInstance(__pyx_v_e, __pyx_t_22); if (unlikely(__pyx_t_3 == ((int)-1))) __PYX_ERR(1, 2263, __pyx_L56_error) __Pyx_DECREF(__pyx_t_22); __pyx_t_22 = 0; __pyx_t_4 = (!__pyx_t_3); if (unlikely(__pyx_t_4)) { /* … */ }
+2264: raise IngressError(
__Pyx_GetModuleGlobalName(__pyx_t_23, __pyx_n_s_IngressError); if (unlikely(!__pyx_t_23)) __PYX_ERR(1, 2264, __pyx_L56_error) __Pyx_GOTREF(__pyx_t_23);
+2265: IngressErrorCode.InvalidApiCall,
__Pyx_GetModuleGlobalName(__pyx_t_29, __pyx_n_s_IngressErrorCode); if (unlikely(!__pyx_t_29)) __PYX_ERR(1, 2265, __pyx_L56_error) __Pyx_GOTREF(__pyx_t_29); __pyx_t_24 = __Pyx_PyObject_GetAttrStr(__pyx_t_29, __pyx_n_s_InvalidApiCall); if (unlikely(!__pyx_t_24)) __PYX_ERR(1, 2265, __pyx_L56_error) __Pyx_GOTREF(__pyx_t_24); __Pyx_DECREF(__pyx_t_29); __pyx_t_29 = 0;
+2266: str(e)) from e
__pyx_t_29 = __Pyx_PyObject_Str(__pyx_v_e); if (unlikely(!__pyx_t_29)) __PYX_ERR(1, 2266, __pyx_L56_error) __Pyx_GOTREF(__pyx_t_29); __pyx_t_26 = NULL; __pyx_t_30 = 0; #if CYTHON_UNPACK_METHODS if (unlikely(PyMethod_Check(__pyx_t_23))) { __pyx_t_26 = PyMethod_GET_SELF(__pyx_t_23); if (likely(__pyx_t_26)) { PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_23); __Pyx_INCREF(__pyx_t_26); __Pyx_INCREF(function); __Pyx_DECREF_SET(__pyx_t_23, function); __pyx_t_30 = 1; } } #endif { PyObject *__pyx_callargs[3] = {__pyx_t_26, __pyx_t_24, __pyx_t_29}; __pyx_t_22 = __Pyx_PyObject_FastCall(__pyx_t_23, __pyx_callargs+1-__pyx_t_30, 2+__pyx_t_30); __Pyx_XDECREF(__pyx_t_26); __pyx_t_26 = 0; __Pyx_DECREF(__pyx_t_24); __pyx_t_24 = 0; __Pyx_DECREF(__pyx_t_29); __pyx_t_29 = 0; if (unlikely(!__pyx_t_22)) __PYX_ERR(1, 2264, __pyx_L56_error) __Pyx_GOTREF(__pyx_t_22); __Pyx_DECREF(__pyx_t_23); __pyx_t_23 = 0; } __Pyx_Raise(__pyx_t_22, 0, 0, __pyx_v_e); __Pyx_DECREF(__pyx_t_22); __pyx_t_22 = 0; __PYX_ERR(1, 2264, __pyx_L56_error)
2267: else:
+2268: raise
/*else*/ { __Pyx_GIVEREF(__pyx_t_20); __Pyx_GIVEREF(__pyx_t_19); __Pyx_XGIVEREF(__pyx_t_1); __Pyx_ErrRestoreWithState(__pyx_t_20, __pyx_t_19, __pyx_t_1); __pyx_t_20 = 0; __pyx_t_19 = 0; __pyx_t_1 = 0; __PYX_ERR(1, 2268, __pyx_L56_error) } }
2269: finally:
+2270: _ensure_has_gil(&gs) # Note: We need the GIL for cleanup.
/*finally:*/ { /*normal exit:*/{ __pyx_f_7questdb_7ingress__ensure_has_gil((&__pyx_v_gs)); if (unlikely(PyErr_Occurred())) __PYX_ERR(1, 2270, __pyx_L1_error) /* … */ __pyx_f_7questdb_7ingress__ensure_has_gil((&__pyx_v_gs)); if (unlikely(PyErr_Occurred())) __PYX_ERR(1, 2270, __pyx_L64_error)
+2271: line_sender_buffer_clear_marker(ls_buf)
line_sender_buffer_clear_marker(__pyx_v_ls_buf); /* … */ line_sender_buffer_clear_marker(__pyx_v_ls_buf);
+2272: col_t_arr_release(&cols)
__pyx_f_7questdb_7ingress_col_t_arr_release((&__pyx_v_cols)); /* … */ __pyx_f_7questdb_7ingress_col_t_arr_release((&__pyx_v_cols));
+2273: qdb_pystr_buf_clear(b)
qdb_pystr_buf_clear(__pyx_v_b); goto __pyx_L8; } __pyx_L7_error:; /*exception exit:*/{ __Pyx_PyThreadState_declare __Pyx_PyThreadState_assign __pyx_t_7 = 0; __pyx_t_6 = 0; __pyx_t_5 = 0; __pyx_t_35 = 0; __pyx_t_36 = 0; __pyx_t_37 = 0; __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; __Pyx_XDECREF(__pyx_t_19); __pyx_t_19 = 0; __Pyx_XDECREF(__pyx_t_20); __pyx_t_20 = 0; __Pyx_XDECREF(__pyx_t_21); __pyx_t_21 = 0; __Pyx_XDECREF(__pyx_t_22); __pyx_t_22 = 0; __Pyx_XDECREF(__pyx_t_23); __pyx_t_23 = 0; __Pyx_XDECREF(__pyx_t_24); __pyx_t_24 = 0; __Pyx_XDECREF(__pyx_t_26); __pyx_t_26 = 0; __Pyx_XDECREF(__pyx_t_27); __pyx_t_27 = 0; __Pyx_XDECREF(__pyx_t_28); __pyx_t_28 = 0; __Pyx_XDECREF(__pyx_t_29); __pyx_t_29 = 0; if (PY_MAJOR_VERSION >= 3) __Pyx_ExceptionSwap(&__pyx_t_35, &__pyx_t_36, &__pyx_t_37); if ((PY_MAJOR_VERSION < 3) || unlikely(__Pyx_GetException(&__pyx_t_7, &__pyx_t_6, &__pyx_t_5) < 0)) __Pyx_ErrFetch(&__pyx_t_7, &__pyx_t_6, &__pyx_t_5); __Pyx_XGOTREF(__pyx_t_7); __Pyx_XGOTREF(__pyx_t_6); __Pyx_XGOTREF(__pyx_t_5); __Pyx_XGOTREF(__pyx_t_35); __Pyx_XGOTREF(__pyx_t_36); __Pyx_XGOTREF(__pyx_t_37); __pyx_t_18 = __pyx_lineno; __pyx_t_30 = __pyx_clineno; __pyx_t_39 = __pyx_filename; { /* … */ qdb_pystr_buf_clear(__pyx_v_b); } if (PY_MAJOR_VERSION >= 3) { __Pyx_XGIVEREF(__pyx_t_35); __Pyx_XGIVEREF(__pyx_t_36); __Pyx_XGIVEREF(__pyx_t_37); __Pyx_ExceptionReset(__pyx_t_35, __pyx_t_36, __pyx_t_37); } __Pyx_XGIVEREF(__pyx_t_7); __Pyx_XGIVEREF(__pyx_t_6); __Pyx_XGIVEREF(__pyx_t_5); __Pyx_ErrRestore(__pyx_t_7, __pyx_t_6, __pyx_t_5); __pyx_t_7 = 0; __pyx_t_6 = 0; __pyx_t_5 = 0; __pyx_t_35 = 0; __pyx_t_36 = 0; __pyx_t_37 = 0; __pyx_lineno = __pyx_t_18; __pyx_clineno = __pyx_t_30; __pyx_filename = __pyx_t_39; goto __pyx_L1_error; __pyx_L64_error:; if (PY_MAJOR_VERSION >= 3) { __Pyx_XGIVEREF(__pyx_t_35); __Pyx_XGIVEREF(__pyx_t_36); __Pyx_XGIVEREF(__pyx_t_37); __Pyx_ExceptionReset(__pyx_t_35, __pyx_t_36, __pyx_t_37); } __Pyx_XDECREF(__pyx_t_7); __pyx_t_7 = 0; __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0; __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0; __pyx_t_35 = 0; __pyx_t_36 = 0; __pyx_t_37 = 0; goto __pyx_L1_error; } __pyx_L8:; }