Commit Graph

547 Commits

Author SHA1 Message Date
zell 2a9afb6bc5 Turn off field overrides when evaluating a join condition. This is all getting hairy -- sometimes you want FooRecord.BAR_C to point to the field 'under' the override, sometimes you want the actual overide expression. Hrm. Michael feels we probably shouldn't do any field expansion magic past the FROM clause. I am hoping we can preserve some of it in some intuitive way. This is a stop gap measure.
git-svn-id: https://samskivert.googlecode.com/svn/trunk@2199 6335cc39-0255-0410-8fd6-9bcaacd3b74c
2007-08-21 19:06:55 +00:00
zell aec84a3432 git-svn-id: https://samskivert.googlecode.com/svn/trunk@2198 6335cc39-0255-0410-8fd6-9bcaacd3b74c 2007-08-21 15:07:07 +00:00
zell b3886e92fe Generalize the automatic key value generation code so that it works on any column, and on any number of columns within a record.
git-svn-id: https://samskivert.googlecode.com/svn/trunk@2197 6335cc39-0255-0410-8fd6-9bcaacd3b74c
2007-08-21 15:02:12 +00:00
zell 795e6d9536 Let's explain that a bit more hands-on
git-svn-id: https://samskivert.googlecode.com/svn/trunk@2196 6335cc39-0255-0410-8fd6-9bcaacd3b74c
2007-08-20 18:54:40 +00:00
zell 3e9da62572 Fully respect the complexities of persistent records whenever we expand field references in a query. For example, a WHERE clause that operates on a field that's been overridden will correctly use the override. This is much more complicated than what we had before (which was fundamentally broken in its own way) so this patch could introduce strange behaviour. Please be on the lookout for SQL errors in your logs and/or data fields showing unexpected values.
git-svn-id: https://samskivert.googlecode.com/svn/trunk@2195 6335cc39-0255-0410-8fd6-9bcaacd3b74c
2007-08-20 18:35:43 +00:00
zell 1e9c4df219 Roll back 2192 with comment.
git-svn-id: https://samskivert.googlecode.com/svn/trunk@2194 6335cc39-0255-0410-8fd6-9bcaacd3b74c
2007-08-17 22:24:37 +00:00
zell 51daf9237a git-svn-id: https://samskivert.googlecode.com/svn/trunk@2193 6335cc39-0255-0410-8fd6-9bcaacd3b74c 2007-08-16 20:26:12 +00:00
zell a41f50cba5 Another place where it's safest to be explicit about whence the column comes.
git-svn-id: https://samskivert.googlecode.com/svn/trunk@2192 6335cc39-0255-0410-8fd6-9bcaacd3b74c
2007-08-16 20:24:15 +00:00
zell 0ac1b1cf46 We have to carefully convert the user's query input to the boolean lexeme language TO_TSQUERY() expects. We may ultimately have to do more complicated things here, too.
git-svn-id: https://samskivert.googlecode.com/svn/trunk@2191 6335cc39-0255-0410-8fd6-9bcaacd3b74c
2007-08-16 16:54:52 +00:00
mdb bfc74d92ea Column migration in Postgres is more complicated. There may be other things
than nullability that will fuck us in the future, but this'll do for now.


git-svn-id: https://samskivert.googlecode.com/svn/trunk@2190 6335cc39-0255-0410-8fd6-9bcaacd3b74c
2007-08-15 23:35:20 +00:00
zell 2ef61dbe17 Add the primary key on columns, not fields.
git-svn-id: https://samskivert.googlecode.com/svn/trunk@2189 6335cc39-0255-0410-8fd6-9bcaacd3b74c
2007-08-15 22:18:54 +00:00
mdb 2a96e97d2c Let's not force validation on every Tom, Dick and Harry. This is a little
verbose, so maybe I'll change my mind again later and do something yet again
different.


git-svn-id: https://samskivert.googlecode.com/svn/trunk@2188 6335cc39-0255-0410-8fd6-9bcaacd3b74c
2007-08-15 19:47:16 +00:00
mdb 242781749a More sanity checking.
git-svn-id: https://samskivert.googlecode.com/svn/trunk@2187 6335cc39-0255-0410-8fd6-9bcaacd3b74c
2007-08-15 19:03:47 +00:00
mdb c904aa1917 git-svn-id: https://samskivert.googlecode.com/svn/trunk@2186 6335cc39-0255-0410-8fd6-9bcaacd3b74c 2007-08-15 19:00:50 +00:00
mdb 07cdffa7cd Added some sanity checks to notice and catch programmer errors as early as
possible.


git-svn-id: https://samskivert.googlecode.com/svn/trunk@2185 6335cc39-0255-0410-8fd6-9bcaacd3b74c
2007-08-15 18:44:35 +00:00
mdb 3c8b020d6c If a persistent record is abstract, do not generate ColumnExp() constants for
it; if it extends another record, generate ColumnExp() constants for persistent
fields inherited from its parents.


git-svn-id: https://samskivert.googlecode.com/svn/trunk@2184 6335cc39-0255-0410-8fd6-9bcaacd3b74c
2007-08-15 02:39:42 +00:00
mdb 5b5ffd38ea Make sure the record in question is not computed.
git-svn-id: https://samskivert.googlecode.com/svn/trunk@2183 6335cc39-0255-0410-8fd6-9bcaacd3b74c
2007-08-15 01:16:02 +00:00
mdb 83acd3d195 The logging output already contains the enclosing method name. So instead of
repeating the method name:

2007/08/14 16:07:52:157 INFO PersistenceContext.cacheStore: cacheStore: entry [key=...

we'll just say what we're doing:

2007/08/14 16:07:52:157 INFO PersistenceContext.cacheStore: storing [key=...


git-svn-id: https://samskivert.googlecode.com/svn/trunk@2182 6335cc39-0255-0410-8fd6-9bcaacd3b74c
2007-08-14 23:18:22 +00:00
mdb 252b417c9a Brevify our toString() output so that cache debug logging is readable.
git-svn-id: https://samskivert.googlecode.com/svn/trunk@2181 6335cc39-0255-0410-8fd6-9bcaacd3b74c
2007-08-14 23:15:08 +00:00
mdb 364dbdaec0 Return the string value of our cached value as our own.
git-svn-id: https://samskivert.googlecode.com/svn/trunk@2180 6335cc39-0255-0410-8fd6-9bcaacd3b74c
2007-08-14 23:12:53 +00:00
mdb ff56b6afa5 Add a mechanism for warning about records that are lazily initialized after an
attempt has been made to resolve all registered records.


git-svn-id: https://samskivert.googlecode.com/svn/trunk@2179 6335cc39-0255-0410-8fd6-9bcaacd3b74c
2007-08-14 21:35:38 +00:00
mdb 5383d20418 Use IllegalArgumentException since those are basically illegal arguments. Also
use @exception because it's a nice way to let humans and tools know what's
going on.


git-svn-id: https://samskivert.googlecode.com/svn/trunk@2178 6335cc39-0255-0410-8fd6-9bcaacd3b74c
2007-08-14 18:47:21 +00:00
mdb 23178d285a "List to Array to List to Set" becomes "to Set".
git-svn-id: https://samskivert.googlecode.com/svn/trunk@2177 6335cc39-0255-0410-8fd6-9bcaacd3b74c
2007-08-14 18:37:40 +00:00
zell 20e8de4702 Tighten up a few places where we return null to callers who really never want to see nulls -- throw exceptions instead.
git-svn-id: https://samskivert.googlecode.com/svn/trunk@2176 6335cc39-0255-0410-8fd6-9bcaacd3b74c
2007-08-14 17:40:00 +00:00
zell d5b0b3ddcb Add dialect-agnostic auto-migration of full text indexes.
git-svn-id: https://samskivert.googlecode.com/svn/trunk@2175 6335cc39-0255-0410-8fd6-9bcaacd3b74c
2007-08-14 17:00:26 +00:00
zell b2ea629149 Log the creation of a full text search index on the MySQL side.
git-svn-id: https://samskivert.googlecode.com/svn/trunk@2174 6335cc39-0255-0410-8fd6-9bcaacd3b74c
2007-08-14 16:09:23 +00:00
zell c0a5cb690d Better comments explaining the hairiest bits of auto-migration.
git-svn-id: https://samskivert.googlecode.com/svn/trunk@2173 6335cc39-0255-0410-8fd6-9bcaacd3b74c
2007-08-14 15:41:36 +00:00
mdb 86ed2e59b1 Tidied up SQL execution in liaisons; fixed MySQL column renaming.
git-svn-id: https://samskivert.googlecode.com/svn/trunk@2172 6335cc39-0255-0410-8fd6-9bcaacd3b74c
2007-08-14 01:11:09 +00:00
zell 510955aa81 Remember the test.
git-svn-id: https://samskivert.googlecode.com/svn/trunk@2171 6335cc39-0255-0410-8fd6-9bcaacd3b74c
2007-08-13 23:02:40 +00:00
zell 87d1cb6a6e Rename @Index(columns) to @Index(fields) and do the proper translation to column name during table creation / migration.
git-svn-id: https://samskivert.googlecode.com/svn/trunk@2170 6335cc39-0255-0410-8fd6-9bcaacd3b74c
2007-08-13 22:57:09 +00:00
mdb bc41237e00 Classes go after methods.
git-svn-id: https://samskivert.googlecode.com/svn/trunk@2169 6335cc39-0255-0410-8fd6-9bcaacd3b74c
2007-08-13 21:59:25 +00:00
mdb ccc0dfdda6 Catch marshaller initialiation failure and report it more informatively.
git-svn-id: https://samskivert.googlecode.com/svn/trunk@2168 6335cc39-0255-0410-8fd6-9bcaacd3b74c
2007-08-13 21:47:56 +00:00
mdb ac3ab74a4b More Zell changes:
- Re-read the table metadata after we run pre-default migrations, since those
are pretty much guaranteed to change the table.
- Changed EntityMigration.Rename to a pre-default rather than a post-default
migration.
- Made all the static EntityMigration subclasses use the generic liaison rather
than JDBCUtil.


git-svn-id: https://samskivert.googlecode.com/svn/trunk@2167 6335cc39-0255-0410-8fd6-9bcaacd3b74c
2007-08-13 19:42:46 +00:00
mdb 1f7d58d290 Patch from Zell to quell warnings about mismatched schemas for database-
specific auxiliary columns (specifically Postgres's FTS column).


git-svn-id: https://samskivert.googlecode.com/svn/trunk@2166 6335cc39-0255-0410-8fd6-9bcaacd3b74c
2007-08-13 19:37:09 +00:00
mdb 2e2a6f09f7 Added getCacheAdapter().
git-svn-id: https://samskivert.googlecode.com/svn/trunk@2165 6335cc39-0255-0410-8fd6-9bcaacd3b74c
2007-08-11 00:48:59 +00:00
mdb d58e6a3457 Patch from Zell to properly walk the inheritance tree and aggregate all
index-related annotations.


git-svn-id: https://samskivert.googlecode.com/svn/trunk@2164 6335cc39-0255-0410-8fd6-9bcaacd3b74c
2007-08-08 23:58:43 +00:00
mdb f945ae78b5 Nixed unused bits.
git-svn-id: https://samskivert.googlecode.com/svn/trunk@2163 6335cc39-0255-0410-8fd6-9bcaacd3b74c
2007-08-08 23:49:15 +00:00
mdb 90f8aa05cd From Zell: select text and binary column types based on the @Column(length)
annotation.


git-svn-id: https://samskivert.googlecode.com/svn/trunk@2162 6335cc39-0255-0410-8fd6-9bcaacd3b74c
2007-08-08 23:47:50 +00:00
mdb f1177bcff6 Widening.
git-svn-id: https://samskivert.googlecode.com/svn/trunk@2161 6335cc39-0255-0410-8fd6-9bcaacd3b74c
2007-08-08 18:51:11 +00:00
mdb ec68201645 Small fix from Zell.
git-svn-id: https://samskivert.googlecode.com/svn/trunk@2160 6335cc39-0255-0410-8fd6-9bcaacd3b74c
2007-08-07 18:05:49 +00:00
mdb df61cc8cf3 Reinstate automatic schema migration, per Zell.
git-svn-id: https://samskivert.googlecode.com/svn/trunk@2159 6335cc39-0255-0410-8fd6-9bcaacd3b74c
2007-08-06 21:52:52 +00:00
mdb d372c3c369 Oops, my un-PreparedStatement-ifying was booched.
git-svn-id: https://samskivert.googlecode.com/svn/trunk@2158 6335cc39-0255-0410-8fd6-9bcaacd3b74c
2007-08-04 01:30:42 +00:00
mdb 3bc26bab22 Allow the site identifier to be constructed with a custom default.
git-svn-id: https://samskivert.googlecode.com/svn/trunk@2157 6335cc39-0255-0410-8fd6-9bcaacd3b74c
2007-08-01 01:21:17 +00:00
mdb 1f2450d8ba Full text index support from Zell, also a fix for deletion.
git-svn-id: https://samskivert.googlecode.com/svn/trunk@2156 6335cc39-0255-0410-8fd6-9bcaacd3b74c
2007-07-31 21:36:02 +00:00
mdb a60eab7504 Always use an explicit query if we aren't using a cache.
git-svn-id: https://samskivert.googlecode.com/svn/trunk@2155 6335cc39-0255-0410-8fd6-9bcaacd3b74c
2007-07-31 02:09:32 +00:00
mdb c08d4c6535 Fixy fixy.
git-svn-id: https://samskivert.googlecode.com/svn/trunk@2153 6335cc39-0255-0410-8fd6-9bcaacd3b74c
2007-07-30 22:18:54 +00:00
mdb 991216b078 Scratch that, we already checked.
git-svn-id: https://samskivert.googlecode.com/svn/trunk@2152 6335cc39-0255-0410-8fd6-9bcaacd3b74c
2007-07-30 22:10:27 +00:00
mdb 8e9a269bc2 More non-nulling.
git-svn-id: https://samskivert.googlecode.com/svn/trunk@2151 6335cc39-0255-0410-8fd6-9bcaacd3b74c
2007-07-30 22:10:09 +00:00
mdb 8ba36474c1 Nor a null one.
git-svn-id: https://samskivert.googlecode.com/svn/trunk@2150 6335cc39-0255-0410-8fd6-9bcaacd3b74c
2007-07-30 22:08:44 +00:00
mdb fc29a71f3f Don't try to restore auto-commit on a closed connection.
git-svn-id: https://samskivert.googlecode.com/svn/trunk@2149 6335cc39-0255-0410-8fd6-9bcaacd3b74c
2007-07-30 22:08:20 +00:00