On Thu, Jan 28, 2010 at 2:04 PM, Tibor Simko <[email protected]> wrote:
> On Thu, 28 Jan 2010, Victor Engmark wrote:
>>> No need for that.  We know what they are (idxWORD33F, etc) so we can
>>> code their deletion.
>>
>> How do you mean? If we delete all tables where the name is like some
>> format, users can create tables that match the format, and we're back
>> to deleting their tables.
>
> We can distinguish Invenio tables and non-Invenio tables more exactly;
> there is no need to resort to a string pattern.  E.g. if users create
> some local Invenio indexes, like that book price example, then BibIndex
> naturally knows about it.  The index list is available in idxINDEX, so
> one can do things like:
>
>  for every id in (SELECT id FROM idxINDEX):
>     DROP TABLE idxWORD<id>F
>     DROP TABLE idxWORD<id>R
>     DROP TABLE idxPHRASE<id>F
>     DROP TABLE idxPHRASE<id>R
>
> See also main Makefile.am, target `update-v0.92.1-tables', and look for
> the lambda expression there on how we altered all idxPHRASE* table
> definitions upon upgrade, respecting any local indexes.
>
> So even if some site creates a new local table named idxWORD99F, that is
> not used for BibIndex purposes but for some other goals (huh), then it
> won't be deleted.

OK, I'll just drop the schema until this is implemented for all
modules and integrated into inveniocfg.

-- 
Victor Engmark

Reply via email to