Updated on 2023-12-22 GMT+08:00

GAUSS-00191 -- GAUSS-00200

GAUSS-00191: "recursive query '%s' column %d has collation '%s' in non-recursive term but collation '%s' overall"

SQLSTATE: 42P21

Description: The character set of the column in the recursive query is inconsistent with that of the column in the non-recursive query.

Solution: Convert the output character set of the non-recursive query to that of the recursive query.

Example:

1
2
3
4
5
6
7
8
9
postgres=# WITH RECURSIVE foo(x) AS
postgres-#    (SELECT x FROM (VALUES('a' COLLATE "C"),('b')) t(x)
postgres(#    UNION ALL
postgres(#    SELECT (x || 'c') COLLATE "POSIX" FROM foo WHERE length(x) < 10)
postgres-# SELECT * FROM foo;
ERROR:  recursive query "foo" column 1 has collation "C" in non-recursive term but collation "POSIX" overall
LINE 2:    (SELECT x FROM (VALUES('a' COLLATE "C"),('b')) t(x)
                   ^
HINT:  Use the COLLATE clause to set the collation of the non-recursive term.

GAUSS-00192: "WITH query '%s' has %d columns available but %d columns specified"

SQLSTATE: 42P10

Description: The number of parameters specified in the recursive query is inconsistent with the number of parameters required for the actual query.

Solution: Ensure that the number of parameters specified in the recursive query is consistent with the number of parameters required for the actual query.

GAUSS-00193: "mutual recursion between WITH items is not implemented"

SQLSTATE: 0A000

Description: Recursion between queries is not implemented.

Solution: Use a supported function.

GAUSS-00194: "recursive query '%s' must not contain data-modifying statements"

SQLSTATE: 42P19

Description: The recursive query contains non-query statements.

Solution: Ensure that the recursive query contains only query statements.

GAUSS-00195: "recursive query '%s' does not have the form non-recursive-term UNION [ALL] recursive-term"

SQLSTATE: 42P19

Description: No union is used between queries of a recursive query statement.

Solution: Use union between queries of a recursive query statement.

GAUSS-00196: "missing recursive reference"

SQLSTATE: XX000

Description: Internal system error.

Solution: Contact technical support.

GAUSS-00197: "ORDER BY in a recursive query is not implemented"

SQLSTATE: 0A000

Description: order by is used in the recursive query.

Solution: Do not use order by in the recursive query.

GAUSS-00198: "OFFSET in a recursive query is not implemented"

SQLSTATE: 0A000

Description: The syntax is not supported.

Solution: Modify the SQL statement.

GAUSS-00199: "LIMIT in a recursive query is not implemented"

SQLSTATE: 0A000

Description: limit is used in the recursive query.

Solution: Do not use limit in the recursive query.

GAUSS-00200: "FOR UPDATE/SHARE in a recursive query is not implemented"

SQLSTATE: 0A000

Description: FOR UPDATE/SHARE is used in the recursive query.

Solution: Do not use FOR UPDATE/SHARE in the recursive query.