From 40d4fb0d759714c80d0120494f2f82e929a60ec5 Mon Sep 17 00:00:00 2001 From: Ruslan Talpa Date: Wed, 2 Sep 2015 12:41:02 +0300 Subject: [PATCH] Support for extracting fields from json columns --- src/PostgREST/PgQuery.hs | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/src/PostgREST/PgQuery.hs b/src/PostgREST/PgQuery.hs index bf3e57d5f..a6d61be42 100644 --- a/src/PostgREST/PgQuery.hs +++ b/src/PostgREST/PgQuery.hs @@ -141,7 +141,11 @@ selectT table params = cols = filter ((>0) . T.length) $ map T.strip $ T.split (==',') $ cs columnsParam selectTerm :: QualifiedIdentifier -> T.Text -> PStmt -selectTerm table col = B.Stmt (pgFmtJsonbPath table (cs col)) empty True +selectTerm table col = B.Stmt (pgFmtJsonbPath table (cs col) <> asT jsonbPath) empty True + where + jsonbPath = parseJsonbPath $ cs col + asT (Just (DoubleArrow _ (KeyIdentifier key))) = " AS " <> pgFmtIdent key + asT _ = "" returningStarT :: StatementT returningStarT s = s { B.stmtTemplate = B.stmtTemplate s <> " RETURNING *" }