RPC returning table alias now works for pg 11/12 (#2737)
The new LATERAL query used for calling the function, introduced on https://github.com/PostgREST/postgrest/pull/2677, failed on functions that returned a domain like `CREATE DOMAIN projects_domain AS projects`. Work around that by changing the query conditionally, by obtaining a bool that represents the composite alias on the SchemaCache and only do this on pg 11 and 12.
This commit is contained in:
@@ -56,6 +56,7 @@ import PostgREST.SchemaCache.Identifiers (FieldName,
|
||||
Schema)
|
||||
import PostgREST.SchemaCache.Proc (ProcDescription (..),
|
||||
ProcParam (..), ProcsMap,
|
||||
procReturnsCompositeAlias,
|
||||
procReturnsScalar,
|
||||
procReturnsSetOfScalar)
|
||||
import PostgREST.SchemaCache.Relationship (Cardinality (..),
|
||||
@@ -550,6 +551,7 @@ callPlan proc ApiRequest{iPreferences=Preferences{..}} paramKeys args readReq =
|
||||
, funCArgs = Just args
|
||||
, funCScalar = procReturnsScalar proc
|
||||
, funCSetOfScalar = procReturnsSetOfScalar proc
|
||||
, funCRetCompositeAlias = procReturnsCompositeAlias proc
|
||||
, funCReturning = inferColsEmbedNeeds readReq []
|
||||
}
|
||||
where
|
||||
|
||||
Reference in New Issue
Block a user