Commit Graph

671 Commits

Author SHA1 Message Date
samskivert 0b560d885b Nixed Google Collections usage, fixed bug in uColSet checking.
git-svn-id: https://samskivert.googlecode.com/svn/trunk@2503 6335cc39-0255-0410-8fd6-9bcaacd3b74c
2008-12-10 01:12:28 +00:00
par.winzell 796d870beb HSQL support:
- HSQL largely follows SQL92, thus to preserve case we have to enclose identifiers such as column and table names in quotes.
 - HSQL has a method for auto-generating primary key values, but its syntax is different from MySQL and PostgreSQL -- just when we got to celebrate that those two giants had agreed on a convenient alias.
 - HSQL can't handle uniqueness as a column-level constraint. It can certainly handle unique columns, it just seems to feel that's a table level constraint and thus to be specified as a prologue during table creation. Thus we override createTableIfMissing to strip uniqueness from column definitions and append those instead to the table-level unique constraints. We might want to switch to this approach for all the databases.
 - We override expandDefinition() to magically translate a default value of IDENTITY into a HSQL-specific column mark-up that triggers the primary key value auto-generation. This is for Depot's benefit, and I would not be surprised if this method was soon moved to that project.


git-svn-id: https://samskivert.googlecode.com/svn/trunk@2501 6335cc39-0255-0410-8fd6-9bcaacd3b74c
2008-12-09 23:15:58 +00:00
par.winzell 4b82d4dee1 I am increasingly dissatisfied with ColumnDefinition's existence. As a step towards its phasing out, make it a mutable datadump for Depot's nefarious benefit.
git-svn-id: https://samskivert.googlecode.com/svn/trunk@2500 6335cc39-0255-0410-8fd6-9bcaacd3b74c
2008-12-09 23:08:57 +00:00
par.winzell c06098c71d Null should give us unrestricted searches on all databases.
git-svn-id: https://samskivert.googlecode.com/svn/trunk@2498 6335cc39-0255-0410-8fd6-9bcaacd3b74c
2008-12-09 23:05:53 +00:00
samskivert 7e2eddbe80 Let's check that these actually run.
git-svn-id: https://samskivert.googlecode.com/svn/trunk@2497 6335cc39-0255-0410-8fd6-9bcaacd3b74c
2008-12-08 23:19:04 +00:00
samskivert 0d05720af9 Added Runnables.NOOP.
git-svn-id: https://samskivert.googlecode.com/svn/trunk@2496 6335cc39-0255-0410-8fd6-9bcaacd3b74c
2008-12-08 20:18:13 +00:00
samskivert 8146d78a39 Poor man's method references. Might create Callables.asCallable() as well just
for kicks.


git-svn-id: https://samskivert.googlecode.com/svn/trunk@2495 6335cc39-0255-0410-8fd6-9bcaacd3b74c
2008-12-08 19:51:20 +00:00
samskivert 79f1528e7b Nixed unused imports.
git-svn-id: https://samskivert.googlecode.com/svn/trunk@2494 6335cc39-0255-0410-8fd6-9bcaacd3b74c
2008-12-08 19:50:13 +00:00
samskivert 662e389d11 Let's use the real exception here.
git-svn-id: https://samskivert.googlecode.com/svn/trunk@2493 6335cc39-0255-0410-8fd6-9bcaacd3b74c
2008-11-25 20:25:28 +00:00
samskivert d08f130606 Nixed unused import.
git-svn-id: https://samskivert.googlecode.com/svn/trunk@2492 6335cc39-0255-0410-8fd6-9bcaacd3b74c
2008-11-25 20:12:52 +00:00
samskivert 8a298764e1 The beginnings of support for HSQLDB (a JDBC driver that can be used as a
purely in-memory database which is very handy for unit testing). It's not done
yet and doesn't work, but some day I hope to finish integrating it.


git-svn-id: https://samskivert.googlecode.com/svn/trunk@2491 6335cc39-0255-0410-8fd6-9bcaacd3b74c
2008-11-25 20:12:40 +00:00
samskivert 19dee7226e Don't require a non-blank password.
git-svn-id: https://samskivert.googlecode.com/svn/trunk@2490 6335cc39-0255-0410-8fd6-9bcaacd3b74c
2008-11-25 20:03:45 +00:00
samskivert a8b7908a64 Beans/frank.
git-svn-id: https://samskivert.googlecode.com/svn/trunk@2489 6335cc39-0255-0410-8fd6-9bcaacd3b74c
2008-11-19 23:33:15 +00:00
samskivert 9ca07c08df Fixed some StringBuilder wonkiness.
git-svn-id: https://samskivert.googlecode.com/svn/trunk@2488 6335cc39-0255-0410-8fd6-9bcaacd3b74c
2008-11-19 23:32:59 +00:00
samskivert d7321d2c20 Widening and actually implement Cloneable.
git-svn-id: https://samskivert.googlecode.com/svn/trunk@2487 6335cc39-0255-0410-8fd6-9bcaacd3b74c
2008-11-18 22:14:42 +00:00
samskivert 893e5ca9dd Let's pass the triggering exception in there as well.
git-svn-id: https://samskivert.googlecode.com/svn/trunk@2486 6335cc39-0255-0410-8fd6-9bcaacd3b74c
2008-11-18 22:13:13 +00:00
samskivert 52dc3731c3 Implement clone().
git-svn-id: https://samskivert.googlecode.com/svn/trunk@2485 6335cc39-0255-0410-8fd6-9bcaacd3b74c
2008-11-18 21:58:02 +00:00
samskivert 74c1a9c776 The truth comes out, my Tuple related machinations were inspired by the need
for Triple and I couldn't very well "properly" implement Triple without first
fixing Tuple.


git-svn-id: https://samskivert.googlecode.com/svn/trunk@2484 6335cc39-0255-0410-8fd6-9bcaacd3b74c
2008-11-18 21:18:15 +00:00
samskivert 9f69792fc5 I'm overcome with a feeling of propriety and am thus making Tuple immutable and
changing create() to newTuple() to perpetuate "best practices".


git-svn-id: https://samskivert.googlecode.com/svn/trunk@2483 6335cc39-0255-0410-8fd6-9bcaacd3b74c
2008-11-18 21:12:08 +00:00
samskivert 30d558785a Widening and also NPE immediately if someone tries to add a null observer.
git-svn-id: https://samskivert.googlecode.com/svn/trunk@2482 6335cc39-0255-0410-8fd6-9bcaacd3b74c
2008-11-18 20:45:31 +00:00
samskivert 7f76e4f876 Depot now lives in its own project.
git-svn-id: https://samskivert.googlecode.com/svn/trunk@2480 6335cc39-0255-0410-8fd6-9bcaacd3b74c
2008-11-16 07:49:17 +00:00
samskivert 206433c80b Unified Query and Modifier under Operation which cleans up some niggles in
PersistenceContext.


git-svn-id: https://samskivert.googlecode.com/svn/trunk@2479 6335cc39-0255-0410-8fd6-9bcaacd3b74c
2008-11-13 23:35:12 +00:00
samskivert b9005b1aa8 Pedantry.
git-svn-id: https://samskivert.googlecode.com/svn/trunk@2478 6335cc39-0255-0410-8fd6-9bcaacd3b74c
2008-11-13 21:16:47 +00:00
samskivert ac64f8df4a A connection provider that obtains connections from a DataSource, which
supports pooling.


git-svn-id: https://samskivert.googlecode.com/svn/trunk@2477 6335cc39-0255-0410-8fd6-9bcaacd3b74c
2008-11-13 21:16:24 +00:00
samskivert 184aa88660 If a looping thread does terminate due to a runtime exception, log it on the
way out rather than letting it propagate up to the JVM where it'll get written
to stderr which isn't always useful.


git-svn-id: https://samskivert.googlecode.com/svn/trunk@2475 6335cc39-0255-0410-8fd6-9bcaacd3b74c
2008-11-11 00:34:38 +00:00
samskivert 24f1fb611a Added isRunning() to RunQueue, made BasicRunQueue work both in separate-thread
mode and in just-call-run()-yourself mode.


git-svn-id: https://samskivert.googlecode.com/svn/trunk@2473 6335cc39-0255-0410-8fd6-9bcaacd3b74c
2008-11-08 00:05:57 +00:00
samskivert f2ff2491f5 Added Queue.newQueue().
git-svn-id: https://samskivert.googlecode.com/svn/trunk@2472 6335cc39-0255-0410-8fd6-9bcaacd3b74c
2008-11-07 01:16:22 +00:00
par.winzell 405fa50a48 Don't fill the array with zeroes when we reinitialize the Throttle with the same number of operations as we already had, as that allows a potentially dangerous burst of operations.
git-svn-id: https://samskivert.googlecode.com/svn/trunk@2471 6335cc39-0255-0410-8fd6-9bcaacd3b74c
2008-11-05 17:16:59 +00:00
par.winzell 0415bf7502 That was broken code-in-progress and not meant to be commnitted.
git-svn-id: https://samskivert.googlecode.com/svn/trunk@2470 6335cc39-0255-0410-8fd6-9bcaacd3b74c
2008-11-05 00:19:59 +00:00
par.winzell 2045c0d563 When we reinitialize the Throttle with a smaller number of allowed operations within a time period, we should preserve the oldest rather than the newest ones, or we'll most likely be in immediate and unfair violation of the limit.
git-svn-id: https://samskivert.googlecode.com/svn/trunk@2469 6335cc39-0255-0410-8fd6-9bcaacd3b74c
2008-11-05 00:18:21 +00:00
par.winzell 26ca5335c6 Change these hard-coded defaults. Should also be made configurable.
git-svn-id: https://samskivert.googlecode.com/svn/trunk@2468 6335cc39-0255-0410-8fd6-9bcaacd3b74c
2008-11-04 19:20:33 +00:00
samskivert dbbf679cc7 Nixed unused import, commented out others that go with commented out code.
git-svn-id: https://samskivert.googlecode.com/svn/trunk@2467 6335cc39-0255-0410-8fd6-9bcaacd3b74c
2008-11-01 05:39:27 +00:00
samskivert afbf6c1ea9 Make the 1.5 compiler happy.
git-svn-id: https://samskivert.googlecode.com/svn/trunk@2466 6335cc39-0255-0410-8fd6-9bcaacd3b74c
2008-10-31 00:42:53 +00:00
samskivert 5a71283b5e When we can switch entirely to 1.6 we can use Postgres's value = any(?::int[])
form to pass as many damned keys we want in a giant array. At that time we can
nix all the >32,768 key fiddly business.


git-svn-id: https://samskivert.googlecode.com/svn/trunk@2465 6335cc39-0255-0410-8fd6-9bcaacd3b74c
2008-10-31 00:17:36 +00:00
samskivert 182f6cae60 Dave points out that we can extend FailureListener here and save ourselves a
noopy method.


git-svn-id: https://samskivert.googlecode.com/svn/trunk@2464 6335cc39-0255-0410-8fd6-9bcaacd3b74c
2008-10-29 06:41:49 +00:00
samskivert 930c2c6354 Fixed javadoc.
git-svn-id: https://samskivert.googlecode.com/svn/trunk@2463 6335cc39-0255-0410-8fd6-9bcaacd3b74c
2008-10-29 00:33:47 +00:00
samskivert 67d0140701 (Heavily modified) patch from Dave to allow varargs key/value logging bits to
be supplied to ComplainingListener.


git-svn-id: https://samskivert.googlecode.com/svn/trunk@2462 6335cc39-0255-0410-8fd6-9bcaacd3b74c
2008-10-25 00:52:40 +00:00
samskivert f0d55037d1 Let's not use trim() here and avoid creating an intermediate object.
git-svn-id: https://samskivert.googlecode.com/svn/trunk@2461 6335cc39-0255-0410-8fd6-9bcaacd3b74c
2008-10-24 06:26:56 +00:00
samskivert ddf70fc45f Oops, avoid introducing a bug when nulls == zeros == values.length. We want to
return null in that case.


git-svn-id: https://samskivert.googlecode.com/svn/trunk@2460 6335cc39-0255-0410-8fd6-9bcaacd3b74c
2008-10-24 05:18:50 +00:00
samskivert 84d34803de Compromise on our 0 == null stance for primary key columns. See the code
comments for further details.


git-svn-id: https://samskivert.googlecode.com/svn/trunk@2459 6335cc39-0255-0410-8fd6-9bcaacd3b74c
2008-10-24 05:13:28 +00:00
samskivert eac4608b7a A new StringUtil method (a rare occurance!): trim() which safely handles null.
git-svn-id: https://samskivert.googlecode.com/svn/trunk@2458 6335cc39-0255-0410-8fd6-9bcaacd3b74c
2008-10-23 20:57:56 +00:00
samskivert 327b9581b9 Make sure we use the up to date metadata when doing our stale column check.
git-svn-id: https://samskivert.googlecode.com/svn/trunk@2457 6335cc39-0255-0410-8fd6-9bcaacd3b74c
2008-10-22 01:09:22 +00:00
samskivert 8ac0e012ce New convenience functions from Dave. What are the chances?
git-svn-id: https://samskivert.googlecode.com/svn/trunk@2456 6335cc39-0255-0410-8fd6-9bcaacd3b74c
2008-10-22 00:55:40 +00:00
samskivert 39c9f7a499 Patch from Charlie to allow a Random object to be passed into many of the
pick methods.


git-svn-id: https://samskivert.googlecode.com/svn/trunk@2455 6335cc39-0255-0410-8fd6-9bcaacd3b74c
2008-10-20 16:07:29 +00:00
samskivert 6d7bfd6d7b Incorporated Jamie's Throttle reinitialization code. Added support for updating
the period as well.


git-svn-id: https://samskivert.googlecode.com/svn/trunk@2454 6335cc39-0255-0410-8fd6-9bcaacd3b74c
2008-10-08 19:35:12 +00:00
samskivert ecf0dd6213 More javadoc cleanup.
git-svn-id: https://samskivert.googlecode.com/svn/trunk@2453 6335cc39-0255-0410-8fd6-9bcaacd3b74c
2008-09-30 00:23:57 +00:00
samskivert 9d66acc2bd Javadoc fixes.
git-svn-id: https://samskivert.googlecode.com/svn/trunk@2452 6335cc39-0255-0410-8fd6-9bcaacd3b74c
2008-09-30 00:12:08 +00:00
samskivert 2e93d12396 Allow the default auto-commit settings for a connection to be configured along
with the other JDBC properties.


git-svn-id: https://samskivert.googlecode.com/svn/trunk@2451 6335cc39-0255-0410-8fd6-9bcaacd3b74c
2008-09-26 00:04:16 +00:00
samskivert 6a2b870cf9 Only disable auto-commit if we appear to need to.
git-svn-id: https://samskivert.googlecode.com/svn/trunk@2450 6335cc39-0255-0410-8fd6-9bcaacd3b74c
2008-09-25 23:58:46 +00:00
samskivert 480ae9edbe Added support for data migrations, which are run after all schema migrations
have been run and are also coordinated between disparate processes by an
in-database lock system.


git-svn-id: https://samskivert.googlecode.com/svn/trunk@2449 6335cc39-0255-0410-8fd6-9bcaacd3b74c
2008-09-25 23:40:01 +00:00