You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Fix tsfile-cli clean-build race and harden CLI validation (#836)
Build: tsfile_cli_obj compiled against the staged include tree without
depending on the copy_* targets that populate it, so a clean parallel
build could fail with "'common/db_common.h' file not found"
(deterministic via `make tsfile_cli_obj` in a fresh build dir). Add the
missing add_dependencies edge.
CLI hardening:
- reject --offset on non-row commands and --model on write; name each
read-only flag rejected by write instead of a lumped message
- error when -d/-t does not match the file's data model in
head/cat/sample/schema instead of silently ignoring the filter
- include the storage error code in open/create failure messages
- detect numeric flag overflow (ERANGE) in -n/--offset/--start/--end/--seed
- cap the sample reservoir pre-allocation so a huge -n cannot abort via
std::length_error; add a last-resort exception handler in main
- emit null for non-finite FLOAT/DOUBLE cells in JSON output (bare
nan/inf is not valid JSON)
- docs: -m also applies to stats/count, count covers all tables, note
that the table format buffers rows in memory
Prefer no-scan verbs (`ls/schema/meta/stats/count`) — cheap and never hit the page-decode caveat.
54
54
55
-
Table model + row verbs (`head/cat/sample/count`): without `-t`, only the **first** table is queried. Pass `-t <table>` to target a specific one.
55
+
Table model + row verbs (`head/cat/sample`): without `-t`, only the **first** table is queried. Pass `-t <table>` to target a specific one (`count` covers all tables).
0 commit comments