projection

package
v0.0.0-...-18b2cfc Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Mar 7, 2025 License: Apache-2.0 Imports: 14 Imported by: 0

Documentation

Overview

Package projection implements the utilities for the projection query.

A projection query between sets (columnsA,filterA) and (columnsB,filterB) asserts whether the columnsA filtered by filterA is the same as columnsB filtered by filterB, preserving the order.

Example:

FilterA = (1,0,0,1,1), ColumnA := (aO,a1,a2,a3,a4)

FiletrB := (0,0,1,0,0,0,0,0,1,1), ColumnB :=(b0,b1,b2,b3,b4,b5,b6,b7,b8,b9)

Thus we have,

ColumnA filtered by FilterA = (a0,a3,a4)

ColumnB filtered by FilterB = (b2,b8,b9)

The projection query checks if a0 = b2, a3 = b8, a4 = b9

Note that the query imposes that:

  • the number of 1 in the filters are equal
  • the order of filtered elements is preserved

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

func InsertProjection

func InsertProjection(
	comp *wizard.CompiledIOP,
	queryName ifaces.QueryID,
	columnsA, columnsB []ifaces.Column,
	filterA, filterB ifaces.Column,
)

InsertProjection applies a projection query between sets (columnsA, filterA) and (columnsB,filterB).

Note: The filters are supposed to be binary. These binary constraints are not handled here and should have been imposed before calling the function.

Types

This section is empty.

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL