pgsql: Simplify index_[constraint_]create API

Previous Topic Next Topic
classic Classic list List threaded Threaded
1 message Options
Reply | Threaded
Open this post in threaded view

pgsql: Simplify index_[constraint_]create API

Álvaro Herrera
Simplify index_[constraint_]create API

Instead of passing large swaths of boolean arguments, define some flags
that can be used in a bitmask.  This makes it easier not only to figure
out what each call site is doing, but also to add some new flags.

The flags are split in two -- one set for index_create directly and
another for constraints.  index_create() itself receives both, and then
passes down the latter to index_constraint_create(), which can also be
called standalone.

Reviewed-by: Simon Riggs



Modified Files
src/backend/catalog/index.c      | 105 ++++++++++++++++++++-------------------
src/backend/catalog/toasting.c   |   3 +-
src/backend/commands/indexcmds.c |  33 +++++++++---
src/backend/commands/tablecmds.c |  13 +++--
src/include/catalog/index.h      |  29 ++++++-----
5 files changed, 104 insertions(+), 79 deletions(-)

Previous Thread Next Thread