-
- Downloads
Implement comparison of generic records (composite types), and invent a
pseudo-type record[] to represent arrays of possibly-anonymous composite types. Since composite datums carry their own type identification, no extra knowledge is needed at the array level. The main reason for doing this right now is that it is necessary to support the general case of detection of cycles in recursive queries: if you need to compare more than one column to detect a cycle, you need to compare a ROW() to an array built from ROW()s, at least if you want to do it as the spec suggests. Add some documentation and regression tests concerning the cycle detection issue.
Showing
- doc/src/sgml/func.sgml 15 additions, 1 deletiondoc/src/sgml/func.sgml
- doc/src/sgml/queries.sgml 80 additions, 3 deletionsdoc/src/sgml/queries.sgml
- src/backend/commands/indexcmds.c 3 additions, 2 deletionssrc/backend/commands/indexcmds.c
- src/backend/parser/parse_coerce.c 61 additions, 3 deletionssrc/backend/parser/parse_coerce.c
- src/backend/utils/adt/rowtypes.c 496 additions, 2 deletionssrc/backend/utils/adt/rowtypes.c
- src/include/catalog/catversion.h 2 additions, 2 deletionssrc/include/catalog/catversion.h
- src/include/catalog/pg_amop.h 11 additions, 1 deletionsrc/include/catalog/pg_amop.h
- src/include/catalog/pg_amproc.h 2 additions, 1 deletionsrc/include/catalog/pg_amproc.h
- src/include/catalog/pg_opclass.h 2 additions, 1 deletionsrc/include/catalog/pg_opclass.h
- src/include/catalog/pg_operator.h 9 additions, 1 deletionsrc/include/catalog/pg_operator.h
- src/include/catalog/pg_opfamily.h 2 additions, 1 deletionsrc/include/catalog/pg_opfamily.h
- src/include/catalog/pg_proc.h 17 additions, 1 deletionsrc/include/catalog/pg_proc.h
- src/include/catalog/pg_type.h 4 additions, 2 deletionssrc/include/catalog/pg_type.h
- src/include/utils/builtins.h 8 additions, 1 deletionsrc/include/utils/builtins.h
- src/test/regress/expected/rowtypes.out 20 additions, 0 deletionssrc/test/regress/expected/rowtypes.out
- src/test/regress/expected/with.out 48 additions, 0 deletionssrc/test/regress/expected/with.out
- src/test/regress/sql/rowtypes.sql 7 additions, 0 deletionssrc/test/regress/sql/rowtypes.sql
- src/test/regress/sql/with.sql 22 additions, 0 deletionssrc/test/regress/sql/with.sql
Loading
Please register or sign in to comment