From 9387e70b66a03cb6d8927615903e42190bb25351 Mon Sep 17 00:00:00 2001 From: Vitor Baptista Date: Thu, 14 Mar 2019 16:47:39 +0000 Subject: [PATCH] Fixes #1239, support resource embedding on materialized views --- CHANGELOG.md | 1 + src/PostgREST/DbStructure.hs | 2 +- test/Feature/QuerySpec.hs | 3 +++ 3 files changed, 5 insertions(+), 1 deletion(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 4e845468c..8cfe33de0 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -8,6 +8,7 @@ This project adheres to [Semantic Versioning](http://semver.org/). ### Added - #690, Add `?columns` query parameter for faster bulk inserts, also ignores unspecified json keys in a payload - @steve-chavez +- #1239, Add support for resource embedding on materialized views - @vitorbaptista ### Fixed diff --git a/src/PostgREST/DbStructure.hs b/src/PostgREST/DbStructure.hs index af1870582..bbe8043f8 100644 --- a/src/PostgREST/DbStructure.hs +++ b/src/PostgREST/DbStructure.hs @@ -722,7 +722,7 @@ allSynonyms cols pgVer = from pg_class c join pg_namespace n on n.oid = c.relnamespace join pg_rewrite r on r.ev_class = c.oid - where (c.relkind = 'v'::char) and n.nspname = $1 + where (c.relkind in ('v', 'm')) and n.nspname = $1 ), removed_subselects as( select diff --git a/test/Feature/QuerySpec.hs b/test/Feature/QuerySpec.hs index 186373ac6..3b65ff0c4 100644 --- a/test/Feature/QuerySpec.hs +++ b/test/Feature/QuerySpec.hs @@ -333,6 +333,9 @@ spec = do it "can detect fk relations through views to tables in the public schema" $ get "/consumers_view?select=*,orders_view(*)" `shouldRespondWith` 200 + it "can detect fk relations through materialized views to tables in the public schema" $ + get "/materialized_projects?select=*,users(*)" `shouldRespondWith` 200 + it "can request parent without specifying primary key" $ get "/articleStars?select=createdAt,article(owner),user(name)&limit=1" `shouldRespondWith` [json|[{"createdAt":"2015-12-08T04:22:57.472738","article":{"owner": "postgrest_test_authenticator"},"user":{"name": "Angela Martin"}}]|]