Package org.eigenbase.sarg

Provides a class library for representing arguments to index searches, also known as sargs.


Interface Summary
SargExpr SargExpr represents an expression defining a possibly non-contiguous search subset of a scalar domain of a given datatype.

Class Summary
SargBinding SargBinding represents the binding of a SargExpr to a particular RexInputRef.
SargEndpoint SargEndpoint represents an endpoint of a (SargInterval).
SargFactory SargFactory creates new instances of various sarg-related objects.
SargInterval SargInterval represents a single contiguous search interval over a scalar domain of a given datatype (including null values).
SargIntervalBase SargIntervalBase is a common base for SargInterval and SargIntervalExpr.
SargIntervalExpr SargIntervalExpr represents an expression which can be resolved to a fixed SargInterval.
SargIntervalSequence SargIntervalSequence represents the union of a set of disjoint SargInterval instances.
SargMutableEndpoint SargMutableEndpoint exposes methods for modifying a SargEndpoint.
SargRexAnalyzer SargRexAnalyzer attempts to translate a rex predicate into a SargBinding.
SargSetExpr SargSetExpr represents the application of a set operator to zero or more child sarg expressions.
SargSetExpr.IntervalComparator Comparator used in evaluateUnionOp.

Enum Summary
SargBoundType SargBoundType defines the possible endpoint boundaries (upper or lower).
SargSetOperator SargSetOperator defines the supported set operators which can be used to combine instances of SargExpr.
SargStrictness Defines the boundary strictness of an endpoint: either open (either strictly less than or greater than) or closed (exactly equal).

Package org.eigenbase.sarg Description

Provides a class library for representing arguments to index searches, also known as sargs. Unit tests for this package are in SargTest.


Revision $Id: //open/dev/farrago/src/org/eigenbase/sarg/package.html#6 $
Copyright Copyright (C) 2005-2009 The Eigenbase Project
Copyright (C) 2005-2009 SQLstream, Inc.
Copyright (C) 2005-2009 LucidEra, Inc.
Author John V. Sichi