On Jan 19, 2011, at 8:32 AM, Derek Atkins wrote: > John, > > John Ralls <jra...@code.gnucash.org> writes: > >> * Add a macro GNC_RESAVE_VERSION which holds an svn revision number. >> * When fully saving a database put this number in versions with >> table_name Gnucash-Resave. >> * On database load, compare the current GNC_RESAVE_VERSION with the >> Gnucash revision and Gnucash-Resave revision saved when the database >> was created. >> * If the current GNC_RESAVE_VERSION > the saved Gnucash >> version, then emit ERR_SQL_DB_TOO_OLD. >> * If GNC_RESAVE_VERSION < the saved Gnucash-Resave, emit ERR_SQL_DB_TOO_NEW. > > Why tie this to an SVN revision instead of just a monotonically > increasing "schema version" number? > > Developers need to remember to change this value whenever they change > the schema, so I don't see why the actual number makes a difference? > > If we do change to git then we wont have the svn revision # to work > from...
By using a revision number, the GNC_RESAVE_VERSION can be adjusted retrospectively if a change is made in one of the upper levels (e.g. a scrub function) and the developer doesn't recognize that it affects the sql backend differently from the xml backend (which always does a complete resave). Yes, if we move away from svn then we'll have to use release version numbers instead. Regards, John Ralls _______________________________________________ gnucash-devel mailing list gnucash-devel@gnucash.org https://lists.gnucash.org/mailman/listinfo/gnucash-devel