Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/joomla/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Postgresql 如何定义在另一个模式中定义了参数类型的hasura gql变体?_Postgresql_Graphql_Hasura - Fatal编程技术网

Postgresql 如何定义在另一个模式中定义了参数类型的hasura gql变体?

Postgresql 如何定义在另一个模式中定义了参数类型的hasura gql变体?,postgresql,graphql,hasura,Postgresql,Graphql,Hasura,这是我的GQL。。。(注意变量$rrule) rrule是另一个架构中的自定义列类型:\u rrule 它可以是定义如下的隐式强制转换: CREATE CAST(文本为_rrule.rrule) 带函数_rrule.rrule(文本) 含蓄的; 我如何定义我的突变以引用该类型?现在,当我运行此变异时,我得到以下错误: variable rrule of type String! is used in position expecting rrule 因此Hasura似乎知道底层的列类型,但不

这是我的GQL。。。(注意变量
$rrule

rrule是另一个架构中的自定义列类型:
\u rrule
它可以是定义如下的隐式强制转换:

CREATE CAST(文本为_rrule.rrule)
带函数_rrule.rrule(文本)
含蓄的;
我如何定义我的突变以引用该类型?现在,当我运行此变异时,我得到以下错误:

variable rrule of type String! is used in position expecting rrule

因此Hasura似乎知道底层的列类型,但不能使用其隐式转换?

错误与底层数据源无关。使用
$rrule
变量的参数接受名为
rrule
的GraphQL类型。变量只能在其类型匹配时传递给参数。因此,
$rrule
的类型必须与参数
rrule
的类型相同——也就是说,它的类型也应该是
rrule

mutation CREATE(
  $rrule: rrule!
  ...
) {
...
}

谢谢你的回答。您是对的,这使我更接近实际错误,这是我的直觉,即它不能使用另一个模式(
\rrule.rrule
)中定义的
rrule
)。最后,我创建了一个虚拟列来保存文本,然后使用after insert/update触发器将文本转换为另一列中的正确类型
mutation CREATE(
  $rrule: rrule!
  ...
) {
...
}