public class GeoPkgFilterToSQL extends PreparedFilterToSQL
FilterToSQL.FieldEncoderdescriptors, dimensions, literalTypes, literalValues, SRIDscapabilities, currentDimension, currentGeometry, currentSRID, databaseSchema, encodingFunction, featureType, fieldEncoder, filterFactory, inEncodingEnabled, inline, IO_ERROR, LOGGER, out, primaryKey, sqlNameEscape| Constructor and Description |
|---|
GeoPkgFilterToSQL(GeoPkgDialect dialect) |
GeoPkgFilterToSQL(Writer out) |
| Modifier and Type | Method and Description |
|---|---|
void |
encode(Filter filter)
Override done to ensure we don't complain if there is a BBOX filter, even if we claim not to
support it
|
String |
escapeName(String name)
cf. visit(Literal expression,...)
|
Object |
visit(Literal expression,
Object context)
Export the contents of a Literal Expresion
|
protected Object |
visitBinarySpatialOperator(BinarySpatialOperator filter,
PropertyName property,
Literal geometry,
boolean swapped,
Object extraData)
Handles the common case of a PropertyName,Literal geometry binary spatial operator.
|
convertEnvelopeToPolygon, getDescriptors, getDimensions, getLiteralTypes, getLiteralValues, getSRIDs, isPrepareEnabled, setPrepareEnabled, visitcast, createFilterCapabilities, encode, encodeBinaryComparisonOperator, encodeToString, encodeToString, evaluateLiteral, getCapabilities, getDatabaseSchema, getDistanceInMeters, getDistanceInNativeUnits, getExpressionType, getFeatureType, getFunctionName, getFunctionReturnType, getParameter, getPrimaryKey, getReferenceGeometryCentroid, getSqlNameEscape, isBinaryExpression, isInEncodingEnabled, setCapabilities, setDatabaseSchema, setFeatureType, setFieldEncoder, setInEncodingEnabled, setInline, setPrimaryKey, setSqlNameEscape, setWriter, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visitBinaryComparisonOperator, visitBinarySpatialOperator, visitBinarySpatialOperator, visitBinaryTemporalOperator, visitBinaryTemporalOperator, visitBinaryTemporalOperator, visitInFunction, visitLiteralGeometry, visitLiteralTimePeriod, visitNullFilter, writeBinaryExpression, writeBinaryExpressionMember, writeLiteralpublic GeoPkgFilterToSQL(GeoPkgDialect dialect)
dialect - public GeoPkgFilterToSQL(Writer out)
out - public String escapeName(String name)
The encoding of the column name ("time") and the literals must be the same!
There is different handling for Date (DATE) and Timestamp (DATETIME).
For Timestamp (DATETIME), we use the datetime(XYZ, 'utc'):
datetime("Time",'utc') BETWEEN datetime(?,'utc') AND datetime(?,'utc')
For Date (DATE), we do no conversion in the sql lite:
datetime("Date") BETWEEN datetime(?) AND datetime(?)
For non-time columns, this just relegates to the superclass
For GeoPKG, the time column is actually stored as a STRING.
escapeName in class FilterToSQLpublic void encode(Filter filter) throws FilterToSQLException
encode in class FilterToSQLfilter - the Filter to be encoded.FilterToSQLException - If filter type not supported, or if there were io problems.public Object visit(Literal expression, Object context) throws RuntimeException
FilterToSQLvisit in interface ExpressionVisitorvisit in class PreparedFilterToSQLexpression - the Literal to exportRuntimeException - for io exception with writerprotected Object visitBinarySpatialOperator(BinarySpatialOperator filter, PropertyName property, Literal geometry, boolean swapped, Object extraData)
FilterToSQLvisitBinarySpatialOperator in class FilterToSQLCopyright © 1996–2021 Geotools. All rights reserved.