Expand description
The DataFusion and sqlparser messages the engine and the CLI recognize by their text, because no typed error says the same (#265).
Each is matched as a substring or a prefix, as its doc says. The tests below trigger each message in DataFusion or sqlparser directly, not through Ursa’s wrappers, and check the text is still there: when an upgrade changes the wording, they fail and name the string to update.
Constants§
- CSV_
FILE_ CONTEXT - The start of the context DataFusion puts on an error inferring a CSV
file’s schema, followed by the file’s object store location, which
has lost its leading
/(Users/me/x.csv):super::user_messageputs it back (#327, N14). - OPTIMIZER_
RULE_ FAILED - The start of the context DataFusion’s optimizer puts on a rule’s error
(
Optimizer rule '…' failed). Which rule failed is DataFusion’s business:super::user_messagedrops it and keeps the cause. - TIMESTAMP_
NS - The nanosecond timestamp type, as arrow names it in a cast error.
- TIMESTAMP_
OVERFLOW - In arrow’s cast error for a date or timestamp outside the range of a
nanosecond timestamp (
Cannot cast Date32 value -100000000 to Timestamp(ns): converted value exceeds the representable i64 range), whichdate_truncand other timestamp functions meet on an out-of-range date. Matched together withTIMESTAMP_NS. - TOKENIZER_
EOF - In sqlparser’s tokenizer error for a quoted identifier or a block
comment still open at the end of the input (
… before EOF.,Unexpected EOF while in a multi-line comment). The shell reads the next line instead (ursa-cli’sinput.rs). - TOKENIZER_
UNTERMINATED - The start of sqlparser’s tokenizer error for a string literal (or a
dollar-quoted or encoded one) still open at the end of the input. The
shell reads the next line instead of reporting it (
ursa-cli’sinput.rs).