{"record":{"id":"714583c2d2ad3d64","repo":"dbt-labs/dbt-core","slug":"replaystatement-execute-partitions","errorCode":null,"errorMessage":"ReplayStatement::execute_partitions","messagePattern":"ReplayStatement::execute_partitions","errorType":"panic","errorClass":null,"httpStatus":null,"severity":"error","filePath":"crates/adbc-record-replay/src/replay.rs","lineNumber":336,"sourceCode":"                        msg,\n                        AdbcStatus::Internal,\n                    ));\n                }\n\n                self.recorded_options = entry.options;\n\n                Ok(None)\n            }\n            StorageType::FileArrowIpc | StorageType::FileParquet => Ok(None),\n        }\n    }\n\n    fn execute_schema(&mut self) -> AdbcResult<Schema> {\n        todo!(\"ReplayStatement::execute_schema\")\n    }\n\n    fn execute_partitions(&mut self) -> AdbcResult<adbc_core::PartitionedResult> {\n        todo!(\"ReplayStatement::execute_partitions\")\n    }\n\n    fn get_parameter_schema(&self) -> AdbcResult<Schema> {\n        todo!(\"ReplayStatement::get_parameter_schema\")\n    }\n\n    fn prepare(&mut self) -> AdbcResult<()> {\n        todo!(\"ReplayStatement::prepare\")\n    }\n\n    fn set_sql_query(&mut self, sql: &str) -> AdbcResult<()> {\n        self.sql = Some(sql.to_string());\n        Ok(())\n    }\n\n    fn set_substrait_plan(&mut self, _plan: &[u8]) -> AdbcResult<()> {\n        unimplemented!(\"ReplayStatement::set_substrait_plan\")\n    }","sourceCodeStart":318,"sourceCodeEnd":354,"githubUrl":"https://github.com/dbt-labs/dbt-core/blob/0267ce9170576975b76b64ce856b2e5848e96617/crates/adbc-record-replay/src/replay.rs#L318-L354","documentation":"ReplayStatement::execute_partitions is unimplemented in the adbc-record-replay crate. The todo!() placeholder panics when a caller requests partitioned result execution. Partitioned results (multi-partition distributed result sets) are not modeled by the replay format yet.","triggerScenarios":"Calling Statement::execute_partitions on a record-replay driver statement.","commonSituations":"ADBC clients that use the partitioned-result API for distributed engines; generic code paths that try execute_partitions before falling back to execute; replaying workloads originally run against partitioned backends.","solutions":["Use execute() (single RecordBatchReader) instead of execute_partitions during replay","Implement execute_partitions by replaying the recorded partition descriptors","Return a proper Status::NotImplemented error instead of panicking","Record with a driver/configuration that does not produce partitioned results"],"exampleFix":"// before\nfn execute_partitions(&mut self) -> AdbcResult<adbc_core::PartitionedResult> {\n    todo!(\"ReplayStatement::execute_partitions\")\n}\n// after\nfn execute_partitions(&mut self) -> AdbcResult<adbc_core::PartitionedResult> {\n    Err(adbc_core::error::Error::with_message(\n        Status::NotImplemented,\n        \"execute_partitions is not supported by the replay driver\".into(),\n    ))\n}","handlingStrategy":"fallback","validationCode":"fn replay_supports_partitions(stmt: &ReplayStatement) -> bool {\n    false // execute_partitions is not implemented in the replay driver\n}","typeGuard":null,"tryCatchPattern":"let reader = if replay_supports_partitions(&stmt) {\n    // combine partitions\n    unreachable-checked path\n} else {\n    stmt.execute()? // fallback to unpartitioned execute\n};","preventionTips":["Use execute() instead of execute_partitions during replay","Record with non-partitioned backends","Contribute partition replay support before using partitioned APIs"],"tags":["adbc","unimplemented","replay","placeholder"],"backgroundTag":"method-not-implemented","analyzedSha":"0267ce9170576975b76b64ce856b2e5848e96617","analyzedAt":"2026-09-07T21:53:39.732Z","contentChangedAt":"2026-09-07T21:53:39.732Z","schemaVersion":2},"datasetVersion":"2026-09-14T16:17:12.679Z"}