support intersect filters on raster columns (close #2613) (#2704)

* initial raster support

* _st_intersects_geom -> _st_intersects_geom_nband

* add tests

* update docs

* improve docs

As requested by @marionschleifer

* new type for raster values

Suggested by @lexi-lambda

* replace `SEUnsafe "NULL"` with SENull
This commit is contained in:
Rakesh Emmadi
2019-08-29 18:37:05 +05:30
committed by Shahidh K Muhammed
parent 7f818b8b19
commit f7c99689da
24 changed files with 533 additions and 23 deletions

View File

@@ -192,13 +192,15 @@ prepareWithPlan = \case
_ -> getNextArgNum
addPrepArg argNum $ toBinaryValue colVal
return $ toPrepParam argNum (pstType colVal)
R.UVSessVar ty sessVar -> do
let sessVarVal =
S.SEOpApp (S.SQLOp "->>")
[S.SEPrep 1, S.SELit $ T.toLower sessVar]
return $ flip S.SETyAnn (S.mkTypeAnn ty) $ case ty of
PGTypeScalar colTy -> withGeoVal colTy sessVarVal
PGTypeScalar colTy -> withConstructorFn colTy sessVarVal
PGTypeArray _ -> sessVarVal
R.UVSQL sqlExp -> return sqlExp
queryRootName :: Text