>You can check the more details in the attached patch. Any feedback is welcome.
I have tiny comments about your patch: 1. name of file is uniquekey.c? + * pathkeys.c + * Utilities for maintaining uniquekey. 2. Variable "PathKey *pathkey" at function: add_uniquekey_for_uniqueindex, can have scope reduced. + indexpr_item = list_head(unique_index->indexprs); + for (c = 0; c < unique_index->nkeycolumns; c++) + { + PathKey *pathkey; 3. Variable int c = 0, has a redundant initialization at function: add_uniquekey_for_uniqueindex. 4. Has one word with misspelled? "/* We can't *guarantee* an FuncExpr will not return NULLs */" 4. Variable int i = -1, has a redudant initialization at function: uniquekey_contains_in 5. __attribute__ ((unused)) at function: build_composited_uniquekey, is incompatible with msvc. 6. Postgres uses a newline after variables declarations. regards, Ranier Vilela