Trait proof_of_sql::sql::proof::ProofPlan

source ·
pub trait ProofPlan<C: Commitment>:
    Debug
    + Send
    + Sync
    + ProverEvaluate<C::Scalar> {
    // Required methods
    fn count(
        &self,
        builder: &mut CountBuilder<'_>,
        accessor: &dyn MetadataAccessor,
    ) -> Result<(), ProofError>;
    fn get_length(&self, accessor: &dyn MetadataAccessor) -> usize;
    fn get_offset(&self, accessor: &dyn MetadataAccessor) -> usize;
    fn verifier_evaluate(
        &self,
        builder: &mut VerificationBuilder<'_, C>,
        accessor: &dyn CommitmentAccessor<C>,
        result: Option<&OwnedTable<C::Scalar>>,
    ) -> Result<(), ProofError>;
    fn get_column_result_fields(&self) -> Vec<ColumnField>;
    fn get_column_references(&self) -> IndexSet<ColumnRef>;

    // Provided method
    fn is_empty(&self, accessor: &dyn MetadataAccessor) -> bool { ... }
}
Expand description

Provable nodes in the provable AST.

Required Methods§

source

fn count( &self, builder: &mut CountBuilder<'_>, accessor: &dyn MetadataAccessor, ) -> Result<(), ProofError>

Count terms used within the Query’s proof

source

fn get_length(&self, accessor: &dyn MetadataAccessor) -> usize

The length of the input table

source

fn get_offset(&self, accessor: &dyn MetadataAccessor) -> usize

The offset of the query, that is, how many rows to skip before starting to read the input table

source

fn verifier_evaluate( &self, builder: &mut VerificationBuilder<'_, C>, accessor: &dyn CommitmentAccessor<C>, result: Option<&OwnedTable<C::Scalar>>, ) -> Result<(), ProofError>

Form components needed to verify and proof store into VerificationBuilder

source

fn get_column_result_fields(&self) -> Vec<ColumnField>

Return all the result column fields

source

fn get_column_references(&self) -> IndexSet<ColumnRef>

Return all the columns referenced in the Query

Provided Methods§

source

fn is_empty(&self, accessor: &dyn MetadataAccessor) -> bool

Check if the input table is empty

Implementors§