Limitations
Coral has the following constraints:
- Native builds.
drop_columnrejects underchelis build; run code that needs it withchelis evalorchelis test. Nativedescribeexamples cover float and integer columns. Multi-aggregation examples cover string and integer group keys; join examples cover string keys with partial and complete matches. CSV and JSON reader examples cover two- and three-row frames with string and float columns. These examples do not establish native support for every combination of column types and shapes. - Concatenation. Pass frames with the same column names, types, and
row count.
concatmatches columns by name using the first frame's columns: an extra column in a later frame is omitted without an error, while a missing column or a different type fails. See Concatenation. - File output. The CSV and JSON writers ignore an integer column's
missing-value mask, so a masked zero writes as
0and a read does not restore the mask. The CSV writer does not quote column names. The JSON writer escapes column names and string cells, and writesNaN,inf, and-infasnull. A JSON value such as1e39reads as anf32infinity, so it writes back asnull. The I/O chapter gives supported inputs. - Large files. Reading or writing large, wide frames can take substantial time.
- Column types. GroupBy cannot return bool group keys. Bool non-key
columns cannot pass through joins; inner and left joins also reject
bool keys.
pivotandmelttake float value columns and string id/index columns, sostackneeds every column to be float. String and bool columns have no missing marker. - Missing values. Float NaNs are not skipped by GroupBy aggregations or by the rolling functions; masked integers are skipped by GroupBy. Missing keys group together and match each other in joins. See Missing values.
- Unchecked inputs. Coral does not check that
Coral.AsOfright-hand keys are sorted, that anewmalphalies in(0, 1], or that awith_columncolumn has the frame's row count. A wrong input gives a wrong result, not an error. The file writers are the exception:write_csv_frameandwrite_json_framerefuse a frame whose columns have different lengths instead of writing a file truncated to the shortest one. - Output conventions.
outer_joinreturns its key as a string column, whatever the input key type.from_columnsandemptyuse dictionary entry order for columns; usefrom_pairsfor explicit order. In a multi-aggregation, each value column can appear only once, and anAggCountspec needs a numeric value column. String sorting uses Coral's own character ranking; see Filtering.