I've finally gotten around to tracking down a problem I ran across a while
back but never, er, tracked down.

What happens is that if I export a config from a repo with a customised
ticket schema, then when the config is imported into another repo, the
schema does not take effect. (But any ticket report formats which use that
schema do take effect, which leads to errors.)

Looking at the code, when the schema is updated from the web UI, what seems
to happen is:

(a) the ticket-table variable is changed to the new value
(b) ticket_build() is called to actually change the db schema and do any
processing necessary to update the tickets.

However, when the config is imported, only the variables are updated;
ticket_build() is not (or, at least, does not *appear* to be) called.

I have tried the naive thing of adding a call to ticket_build() just after
the call to configure_receive_all(), but that just errors out with
SQLITE_SCHEMA errors --- which is weird, because the sqlite docs say firmly
that this shouldn't happen if you use sqlite_prepare_v2(), which fossil
does.

So what's the appropriate thing to do here? This is all getting into
infrastructure and policy stuff that's hard to figure out from looking at
the code.

-- 
┌─── dg@cowlark.com ───── http://www.cowlark.com ─────
│ "USER'S MANUAL VERSION 1.0: The information presented in this
│ publication has been carefully for reliability." --- anonymous
│ computer hardware manual
_______________________________________________
fossil-users mailing list
fossil-users@lists.fossil-scm.org
http://lists.fossil-scm.org:8080/cgi-bin/mailman/listinfo/fossil-users

Reply via email to