On Sat, Nov 1, 2025 at 6:28 PM Tom Lane <[email protected]> wrote: > If people are dead set against double-quoting, I think the only way > forward is to not include operator names in the generated index names. > I do not think that's a better way personally, but I seem to be > outvoted. Here's a v2 that does it like that.
Is this better or worse than deparsing the whole expression to a string and then smushing sequences of quote-requiring characters down to a single underscore, as I suggested before? I'm not saying what you've done is worse, but it does have the disadvantage that you can only cover a few node types, whereas that approach would cover every node type more or less automatically. Maybe there are implementation difficulties, but I wouldn't think so... or maybe you've got a scenario in mind where it would produce silly results. Nonwithstanding the above, I looked at the regression test cases and I think all the changes are improvements. But, for example: -ERROR: cannot alter type "test_type1" because column "test_tbl1_idx.row" uses it +ERROR: cannot alter type "test_type1" because column "test_tbl1_idx.x_y" uses it This would come out complaining about test_tbl1_idx_row_x_y_test_type1 with the above proposal. I like the inclusion of row. The inclusion of test_type1 I like less well, but I'd accept it in the name of uniformity. However, I don't feel strongly about it -- if you like what you've done here, I'd say go for it. -- Robert Haas EDB: http://www.enterprisedb.com
