Skip to content

Commit 18ed683

Browse files
authored
feat(native): register the analysis stages behind the preview engine (#1024)
* feat(native): register the analysis stages behind the preview engine * feat(native): add the dynamic pivot, expression-source and SQL test seams Route the per-model dynamic pivot proof through the model-analysis dispatch: ModelSqlAnalysis gains an optional dynamic column contract proof that replaces the Python proof when the native analysis supplies one, and the native analysis request now carries the dynamic families. Infer expression-source shapes through a MODEL_ANALYSIS stub and assemble compiled SQL test facts through a SQL_TEST_GLUE stub, each gated once per compile, so the M4d and M4h lanes no longer need to edit project.py. Drop the vacuous native type normalization test.
1 parent 3932676 commit 18ed683

59 files changed

Lines changed: 1007 additions & 105 deletions

File tree

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.
Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,3 @@
1+
//! The native model analysis session: catalog, dataflow scheduling, projection and shape publication.
2+
3+
pub mod project;
Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
//! Compiled project assembly: resources, dependencies, destinations and their diagnostics.
Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
//! Model column contracts and promotion conflicts.

‎crates/sqlbuild-analysis/src/lib.rs‎

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2,10 +2,15 @@
22

33
#![forbid(unsafe_code)]
44

5+
pub mod assembly;
56
pub mod column_references;
67
pub mod compiler;
78
mod constants;
9+
pub mod contracts;
10+
pub mod lineage;
811
pub mod query_analysis;
12+
pub mod semantic_checks;
913
pub mod semantic_usage;
1014
pub mod semantic_validation;
1115
pub mod sql_tokens;
16+
pub mod type_system;
Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
//! Fast column lineage facts for compiled models.
Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
//! Semantic completion: type recovery, metadata checks, diagnostic recovery and explanations.
Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
//! Type normalization and type equality shared by every analysis stage.
Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
pub(crate) mod registration;
Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,7 @@
1+
//! Register the native model analysis session functions.
2+
3+
use pyo3::prelude::{Bound, PyModule, PyResult};
4+
5+
pub(crate) fn register(_module: &Bound<'_, PyModule>) -> PyResult<()> {
6+
Ok(())
7+
}
Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
pub(crate) mod registration;

0 commit comments

Comments
 (0)