{"record":{"id":"1921db839a910884","repo":"nautechsystems/nautilus_trader","slug":"column-column-name-not-found-or-has-no-int64-s","errorCode":null,"errorMessage":"Column '{column_name}' not found or has no Int64 statistics in any row group.","messagePattern":"Column '(.+?)' not found or has no Int64 statistics in any row group\\.","errorType":"validation","errorClass":"anyhow::Error","httpStatus":null,"severity":"error","filePath":"crates/persistence/src/parquet.rs","lineNumber":472,"sourceCode":"                        \"Warning: Statistics not available for column '{column_name}' in row group {i}.\"\n                    );\n                }\n            }\n        }\n    }\n\n    // Return the min/max pair if both are available\n    if let (Some(min), Some(max)) = (overall_min_value, overall_max_value) {\n        Ok((\n            u64::try_from(min).map_err(|_| {\n                anyhow::anyhow!(\"Negative minimum value {min} for column '{column_name}'\")\n            })?,\n            u64::try_from(max).map_err(|_| {\n                anyhow::anyhow!(\"Negative maximum value {max} for column '{column_name}'\")\n            })?,\n        ))\n    } else {\n        anyhow::bail!(\n            \"Column '{column_name}' not found or has no Int64 statistics in any row group.\"\n        )\n    }\n}\n\n/// Creates an object store from a URI string with optional storage options.\n///\n/// Supports multiple cloud storage providers:\n/// - AWS S3: `s3://bucket/path`\n/// - Google Cloud Storage: `gs://bucket/path` or `gcs://bucket/path`\n/// - Azure Blob Storage: `az://account/container/path` or `abfs://container@account.dfs.core.windows.net/path`\n/// - HTTP/WebDAV: `http://` or `https://`\n/// - Local files: `file://path` or plain paths\n///\n/// # Parameters\n///\n/// - `path`: The URI string for the storage location.\n/// - `storage_options`: Optional `HashMap` containing storage-specific configuration options:","sourceCodeStart":454,"sourceCodeEnd":490,"githubUrl":"https://github.com/nautechsystems/nautilus_trader/blob/18893faf8b356be3320add8de2f861b0b647cf06/crates/persistence/src/parquet.rs#L454-L490","documentation":"After scanning all row groups, if no Int64 min/max statistics were found for the requested column at all, min_max_from_parquet_metadata_object_store bails with this message. It means the (column, statistics) pair was never observed, so file bounds cannot be derived.","triggerScenarios":"Calling reset_file_names / min_max_from_parquet_metadata with a column name absent from the schema or that only ever carries non-Int64 statistics across every row group.","commonSituations":"Typo in the timestamp column name; catalogs written with a different schema (renamed column); files whose timestamp column is stored as a non-int64 type in every row group.","solutions":["Check the file schema (e.g. via parquet-tools or arrow schema) and pass the exact timestamp column name.","Rewrite the file with an int64 timestamp column and enabled statistics.","Verify the file belongs to the expected data type whose schema contains the requested column.","Fall back to reading the data to compute bounds manually, then reset names outside this helper."],"exampleFix":"// before\ncatalog.reset_file_names(&dir, \"ts_init\")?;\n// after — use the actual column name in the schema\ncatalog.reset_file_names(&dir, \"ts_init_ns\")?;","handlingStrategy":"validation","validationCode":"let schema = reader.metadata()?.file_metadata().schema();\nif schema.column_with_name(timestamp_column).is_none() {\n    eprintln!(\"column '{timestamp_column}' not in schema; check the exact name\");\n}","typeGuard":null,"tryCatchPattern":"match min_max_from_parquet_metadata(meta, timestamp_column) {\n    Err(e) if e.to_string().contains(\"not found or has no Int64 statistics\") => {\n        // inspect the file schema and retry with the correct column\n    }\n    other => other?,\n}","preventionTips":["Confirm the column name against the file schema before resetting names.","Keep catalog schemas stable across versions; migrate column renames explicitly.","Only reset names on files produced by the nautilus writer with expected schemas."],"tags":["rust","parquet","statistics","column-not-found"],"backgroundTag":"resource-not-found","analyzedSha":"18893faf8b356be3320add8de2f861b0b647cf06","analyzedAt":"2026-09-08T20:49:34.690Z","contentChangedAt":"2026-09-08T20:49:34.690Z","schemaVersion":2},"datasetVersion":"2026-09-14T00:17:10.932Z"}