mod labels;
mod payload;
mod runtime;
#[cfg(all(feature = "sql", feature = "perf-attribution"))]
pub use crate::db::session::sql::projection::runtime::SqlProjectionTextExecutorAttribution;
#[cfg(all(feature = "sql", feature = "perf-attribution"))]
pub(in crate::db) use crate::db::session::sql::projection::runtime::attribute_sql_projection_text_rows_for_canister;
#[cfg(all(feature = "sql", feature = "structural-read-metrics"))]
pub use crate::db::session::sql::projection::runtime::{
SqlProjectionMaterializationMetrics, with_sql_projection_materialization_metrics,
};
pub(in crate::db::session::sql) use crate::db::session::sql::projection::{
labels::{
annotate_sql_projection_labels_on_execution_descriptor, projection_labels_from_fields,
projection_labels_from_projection_spec, sql_projection_rows_from_kernel_rows,
},
payload::{SqlProjectionPayload, grouped_sql_statement_result},
runtime::execute_sql_projection_rows_for_canister,
};