-
- Downloads
Here is my much-promised patch to let people add UNIQUE constraints after
table creation time. Big deal you say - but this patch is the basis of the next thing which is adding PRIMARY KEYs after table creation time. (Which is currently impossible without twiddling catalogs) Rundown ------- * I have made the makeObjectName function of analyze.c non-static, and exported it in analyze.h * I have included analyze.h and defrem.h into command.c, to support makingObjectNames and creating indices * I removed the 'case CONSTR_PRIMARY' clause so that it properly fails and says you can't add primary keys, rather than just doing nothing and reporting nothing!!! * I have modified the docs. Algorithm --------- * If name specified is null, search for a new valid constraint name. I'm not sure if I should "lock" my generated name somehow tho - should I open the relation before doing this step? * Open relation in access exclusive mode * Check that the constraint does not already exist * Define the new index * Warn if they're doubling up on an existing index Christopher Kings-Lynne
Showing
- doc/src/sgml/ref/alter_table.sgml 11 additions, 4 deletionsdoc/src/sgml/ref/alter_table.sgml
- src/backend/commands/command.c 156 additions, 5 deletionssrc/backend/commands/command.c
- src/backend/parser/analyze.c 2 additions, 2 deletionssrc/backend/parser/analyze.c
- src/include/parser/analyze.h 4 additions, 1 deletionsrc/include/parser/analyze.h
Loading
Please register or sign in to comment