public class GeoPkgFilterToSQL extends PreparedFilterToSQL
FilterToSQL.FieldEncoder
descriptors, dimensions, literalTypes, literalValues, SRIDs
capabilities, currentDimension, currentGeometry, currentSRID, databaseSchema, encodingFunction, escapeBackslash, 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, visit
cast, createFilterCapabilities, encode, encodeBinaryComparisonOperator, encodeToString, encodeToString, escapeLiteral, evaluateLiteral, getCapabilities, getDatabaseSchema, getDistanceInMeters, getDistanceInNativeUnits, getExpressionType, getFeatureType, getFunctionName, getFunctionReturnType, getParameter, getPrimaryKey, getReferenceGeometryCentroid, getSqlNameEscape, isBinaryExpression, isEscapeBackslash, isInEncodingEnabled, setCapabilities, setDatabaseSchema, setEscapeBackslash, 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, writeLiteral
public 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 FilterToSQL
public void encode(Filter filter) throws FilterToSQLException
encode
in class FilterToSQL
filter
- 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
FilterToSQL
visit
in interface ExpressionVisitor
visit
in class PreparedFilterToSQL
expression
- the Literal to exportRuntimeException
- for io exception with writerprotected Object visitBinarySpatialOperator(BinarySpatialOperator filter, PropertyName property, Literal geometry, boolean swapped, Object extraData)
FilterToSQL
visitBinarySpatialOperator
in class FilterToSQL
Copyright © 1996–2023 Geotools. All rights reserved.