5 messages in com.googlegroups.sqlalchemy[sqlalchemy] Re: Modifying metadata, ...
FromSent OnAttachments
Paul Johnston27 Jul 2007 13:17 
Michael Bayer27 Jul 2007 13:35 
sdob...@sistechnology.com27 Jul 2007 14:09 
Ants Aasma28 Jul 2007 07:36 
sdob...@sistechnology.com29 Jul 2007 04:21 
Subject:[sqlalchemy] Re: Modifying metadata, autogenerating table definitions, etc.
From:sdob...@sistechnology.com (sdob@sistechnology.com)
Date:07/29/2007 04:21:33 AM
List:com.googlegroups.sqlalchemy

i have moved the metadata autoload&diff into own place under dbcook/misc/metadata/:

http://dbcook.svn.sourceforge.net/viewvc/dbcook/trunk/dbcook/misc/

svn co https://dbcook.svn.sourceforge.net/svnroot/dbcook/trunk/dbcook/misc/

IMO, wiki's are ok for readymade/works-for-me things and explanations, but any live/maintanable code should stay in a repository.

i'm planning to use that misc/ directory as repository for all sorts of recipes about dbcook/SA usage for various application field things. For now only the metadata/ is there - and once embedded into SA, it may disappear; from other things below, the bitemporal/ stuff is 100% ready but have to separate it - Ants, we could exchange some ideas about it later; multilang/ and nested_user_trans/ are invented but not written/ready, cache_results/ is sort of invented but far from ready (and may need triggers / in-SQL-funcs which aren't supported by SA yet). The rest is just eventualities.

here the dbcook/misc/metadata/readme.txt:

------------------------------------------- metadata/: (SA-only) metadata autoload and diff

bitemporal/: (SA ~only) addon for objects that have 2-time-history + state(enabled/disabled) needs following properties per object: obj_id = ObjId() #incremented by special ObjectCounter time_valid = Date() time_trans = Date() disabled = Bool( default_value= False)

multilang/: (dbcook/SA) addon for transparent multi-language textual properties, allowing for history

nested_user_transactions/: (dbcook/SA) addon to support nested user transactions aspect (NOT nested DB transactions). needs following properties per object: transact = TransactID( default_value= 0)

cache_results/: (dbcook/SA) addon for automaticaly-updated database-denormalisation caches of intermediate results, each one depending on particular pattern of usage. Wishful usage syntax (ALL else automatic): class Cache4averagePerson( Base): fieldname = cache_aggregator( klas.field, AggrFilterCriteria) #e.g. #age = cache_agregators.Average( Person.age, FilterCriteria1) #salary = cache_agregators.Sum( Person.salary, FilterCriteria2)

may be invented or may not:

Numerator - something that gives numbers/ids to objects in whatever special way. Think of invoices, incoming/outgoing/reference documents, inventories etc.

multivalue - a value that is represented/representable in many currencies/ways/measurements. Think of money, items that can be measured either as volume or as weight (e.g. gas), etc.

=========================================================

ciao svil