索引创建中的 case 语句

case statement in index creation

创建 UNIQUE INDEX 时如何使用 CASE 语句?

我的声明是这样的

CREATE UNIQUE INDEX my_unique_creation 
    ON junk ((CASE 
                WHEN nlevel(path) > 1 THEN (subpath(path, 0, -1), name) 
                ELSE (path, name) END)) 
WHERE my_col IS NULL;

这在以下行失败:

pq: column "" has pseudo-type record

CASE 应该只是 return 一个列,而不是一个元组 ("record")。

CREATE UNIQUE INDEX my_unique_creation 
    ON junk ((CASE 
                WHEN nlevel(path) > 1 THEN subpath(path, 0, -1) 
                ELSE path 
              END), name) 
WHERE my_col IS NULL;