ojsde/pkp-lib — comment on commit 99495001e126e69ef8e2b2712ef1f0745e0c1fae
File:  line 0
By asmecher:

XMLSchema tinkers with the tables in various ways when a descriptor is synced against the database so you'll need to check that the indexes are preserved when all is said and done. For example:
- If the index is created (e.g. on install), then the descriptor is later applied to the unmodified table (e.g. on upgrade), is the index then dropped by XMLSchema?
- If the index is created (e.g. on install), then the descriptor is later applied to the now-obsolete table (e.g. on upgrade) and XMLSchema uses a "rename, create new, select into from old" pattern, will the index remain with the old index name (risking a name collision when it is re-created)? Will it need manual re-creation on the new table?

MySQL and PostgreSQL handle indexes quite differently, and in particular PostgreSQL seems prone to name collisions as it auto-generates entity names based on table names and leaves those names unchanged when e.g. tables are renamed.