While looking at Peter's INSERT ... ON CONFLICT patch, I started to feel
that ExecInsertIndexTuples() and friends would deserve a file of their
own, and not be buried in the middle of execUtils.c. I propose that we
split execUtils.c into two, moving ExecOpenIndices(), ExecCloseIndices()
ExecInsertIndexTuples() and related functions into a new file called
executor/execIndexing.c.
Moving functions makes backpatching harder, so it's not something to be
done lightly, but I think it would be worth it in this case. There have
been few changes to those functions in years, so I doubt they'll need
much backpatching in the near future either.
For comparison, this is what the file sizes of executor/exec*.c will
look like after the split:
-rw-r--r-- 1 heikki heikki 14710 Apr 22 09:07 execAmi.c
-rw-r--r-- 1 heikki heikki 9711 Apr 22 09:07 execCurrent.c
-rw-r--r-- 1 heikki heikki 16659 Apr 22 09:07 execGrouping.c
-rw-r--r-- 1 heikki heikki 16023 Apr 23 21:57 execIndexing.c
-rw-r--r-- 1 heikki heikki 8276 Apr 22 09:07 execJunk.c
-rw-r--r-- 1 heikki heikki 80102 Apr 22 09:07 execMain.c
-rw-r--r-- 1 heikki heikki 18694 Apr 22 09:07 execProcnode.c
-rw-r--r-- 1 heikki heikki 160700 Apr 22 09:07 execQual.c
-rw-r--r-- 1 heikki heikki 9957 Apr 22 09:07 execScan.c
-rw-r--r-- 1 heikki heikki 37796 Apr 22 09:07 execTuples.c
-rw-r--r-- 1 heikki heikki 28004 Apr 23 21:50 execUtils.c
Any objections? I'm planning to do this as a separate commit, before the
INSERT ... ON CONFLICT patch goes in.
- Heikki