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

Reply via email to