Files
depot/src
Michael Bayne f6a2ad1000 Exciting new additions:
1. ColumnExp is now parameterized on the type of the column it represents. This
enables item number two.

2. The beginnings of a very primitive implementation of individual field
selection, which looks like:

  List<Tuple2<Integer,String>> results = from(FooRecord.class).where(
    FooRecord.ID.in(someIds)).select(FooRecord.ID, FooRecord.NAME);

I don't advise using this new functionality just yet, because it's very
primitive and will probably break if you try to do anything fancy. Plus it
doesn't interact with the cache at all yet.

However, I wanted to get the typed ColumnExp bits in there so that I can
migrate all the existing projects over and get that painful business out of the
way. Note for the jumpy: migration in this case means eliminating a bunch of
unchecked type usage warnings, rather than behavioral changes. The existing
Depot functionality continues to work exactly as is. The types are not used
except for in the new individual field selection code.

One bit of code that will break is calls to updatePartial() which used to take
a Map<ColumnExp, ?> and now take a Map<ColumnExp<?>, ?>. Since those were
already in generics land, they won't just fail with an unchecked type warning,
the compiler will reject the old call (the calls are binary compatible, so
unrecompiled code will still work fine). Fortunately the Map-taking
updatePartial is not called that much outside of MSOY, which I have already
migrated to fully parameterized ColumnExp land.
2010-12-08 08:23:27 +00:00
..
2010-12-08 08:23:27 +00:00