SimpleRepository's synchronization if we're going to be mixing Depot and
SimpleRepository so we'll either do that or we'll take a look at how JDBC's
native connection pooling handles this.
git-svn-id: https://samskivert.googlecode.com/svn/trunk@2135 6335cc39-0255-0410-8fd6-9bcaacd3b74c
enhancements to non-Depot JDBC utilities (and dialect agnosticizing
TransitionRepository though we could accomplish that by Depot-izing it as
well).
git-svn-id: https://samskivert.googlecode.com/svn/trunk@2134 6335cc39-0255-0410-8fd6-9bcaacd3b74c
- refactoring query construction;
- modified collection lookup to first look up the matching primary keys, then
check the cache for hits then look up the remainder from the database;
- other small renamery and cleanup.
git-svn-id: https://samskivert.googlecode.com/svn/trunk@2129 6335cc39-0255-0410-8fd6-9bcaacd3b74c
place. We'll continue to do that and clear out _result during invoke() which is
a wee bit clearer anyway.
git-svn-id: https://samskivert.googlecode.com/svn/trunk@2105 6335cc39-0255-0410-8fd6-9bcaacd3b74c
the future we'll be extra clever and update just those fields in the cached
record if we have one.
git-svn-id: https://samskivert.googlecode.com/svn/trunk@2104 6335cc39-0255-0410-8fd6-9bcaacd3b74c
A nice alternate to ComplainingListener. ComplainingListener has the
wee downside of needing to compose your error text prior to making
a request, even though the common case is to throw away the error string.
This class has the downside of requiring a new anonymous class to be
generated by the compiler every time you use it.
git-svn-id: https://samskivert.googlecode.com/svn/trunk@2103 6335cc39-0255-0410-8fd6-9bcaacd3b74c
we can enumerate non-public members on some classes, whereas on other classes
we can't even call getDeclaredFields(). Things work for now and at some point
I'm going to change Presents to eliminate the need for (field) reflection
completely.
git-svn-id: https://samskivert.googlecode.com/svn/trunk@2101 6335cc39-0255-0410-8fd6-9bcaacd3b74c
don't freak out if a field is added, then renamed or retyped all in the same
migration. Now the column will be added with its proper name by the default
migrations and then the Rename migration will not freak out and the Retype
migration will NOOP.
git-svn-id: https://samskivert.googlecode.com/svn/trunk@2098 6335cc39-0255-0410-8fd6-9bcaacd3b74c
- don't try to generate getKey() for abstract classes;
- get all of our class's fields, not just the ones declared in this class; do
so using ClassUtil.getFields() rather than Class.getFields() because the
latter returns the fields in a random order which is annoying whereas
ClassUtil.getFields() returns them in an intuitive order (declaration order
of the super-most class, then declaration order of the first derived class
and so on);
- use Field.getAnnotations() rather than Field.getDeclaredAnnotations() just
for consistency, even though you can't "override" a field and inherit
annotations from your parent class (but if someday we have annotated
PersistentRecord methods we'll want to use getAnnotations() not
getDeclaredAnnotations() so we should provide appropriate copy and paste
fodder).
git-svn-id: https://samskivert.googlecode.com/svn/trunk@2089 6335cc39-0255-0410-8fd6-9bcaacd3b74c