Commit Graph

938 Commits

Author SHA1 Message Date
Michael Bayne 14962cf1a3 Plugin updates &c.
Reinstated 1.8 javadoc stuff, because build3 can handle that now.
2015-10-11 16:43:32 -07:00
Ray J. Greenwell 38dee9bf09 Doc correction. 2015-07-07 16:26:27 -07:00
Pär Winzell 4fc541608c Preparing for 1.8-SNAPSHOT development. 2015-06-13 12:45:49 -05:00
Pär Winzell a4c8d9cdae Preparing for depot-1.7.1 release. 2015-06-13 12:36:40 -05:00
Ray J. Greenwell 436fc3f005 I have always wanted this constructor. I'm adding it.
RFC: I'm continuing to enforce that you must pass at least
one SQLExpression, but if we didn't care this could be a bit
more straightforward in the form:

    public Where (SQLExpression<?>... andConditions)

It could then use that array directly for the Ops.and(), but also
people would be able to make a "where true" by just constructing
a Where with no args and I'm not sure mdb is down with that.
2015-05-15 15:14:02 -07:00
Mark Johnson 3adbc2b807 Implement adding unique constraint to column in PostgreSQL.
Removing the unique constraint still unimplemented.
2015-05-07 17:20:41 -07:00
Ray J. Greenwell 009ad985a0 Fix postgres for migrating a generated id int column to long. 2015-05-07 13:19:11 -07:00
Michael Bayne 4e6d824d10 Limit our catchall exceptioning. 2015-04-02 08:01:31 -07:00
Michael Bayne 69c0763e85 Oh null, how I don't love you so. 2015-04-02 07:57:30 -07:00
Ray J. Greenwell c003842d93 -Xdoclint:all is freakout out our build server on Java 7.
As usual I'm about 5 levels removed from what I should be doing,
so I have no love left for fixing this with any subtlety.
2015-03-31 14:05:31 -07:00
Ray J. Greenwell 6b311b7a34 Properly ignore the last argument if there are an odd number.
When we saw the problem, I thought "there's no way!" because
the Logger is hardened and battle-tested.

But no. Since depot no longer depends on samskivert, it has
reimplemented Logger and throws away a lot of the goodness that
has evolved over the years. Goodness like:
- warning if there are an odd number of args and the last one
  isn't a Throwable.
- catching problems toString()ing any of the objects in the message.

Let's go ride a fixie.
2015-03-31 13:28:06 -07:00
Michael Bayne 4db33fa088 No longer support Postgres pre-8.3 FTS.
We certainly don't want that to be the default. Boy that was fun to track down.
2015-03-25 12:20:50 -07:00
Michael Bayne ba97162751 Wire up Travis build. 2015-03-14 10:16:14 -07:00
Michael Bayne 835da43a0b [maven-release-plugin] prepare for next development iteration 2015-03-12 08:56:18 -07:00
Michael Bayne af069b8e50 [maven-release-plugin] prepare release depot-1.7 2015-03-12 08:56:15 -07:00
Michael Bayne fe56039c4e Reference (forthcoming) 1.7 release. 2015-03-12 08:54:42 -07:00
Michael Bayne 2eacad24e9 Javadoc fixes, use samskivert 1.9 for testing. 2015-03-12 08:54:42 -07:00
Ray J. Greenwell eb6724ed8b Missed a spot.
Things worked without this because the DepotMarshaller ends up
checking for the existence of the table using its own code...
(TODO?)

Also JDBCUtil checks the DatabaseMetaData too but the liaison
isn't passed to that, would require some refactoring...

Actually it seems there are mountains of dead code in JDBCUtil and
they could all be removed...
2015-02-23 14:30:53 -08:00
Michael Bayne b03ffa72b7 Merge pull request #1 from threerings/postgres-schema-fixup
Fix being unable to create a table called "domains" on postgres.
2015-02-20 21:09:08 -08:00
Ray J. Greenwell e9dd7b1277 Fix problems with depot being unable to create a table called domains on postgres. 2015-02-19 15:01:44 -08:00
Michael Bayne 837daa2116 Eliminate another dubious use of Tuple2.
If only Java didn't make it so damned hard to create a simple named class with
two or more values in it. Naming is generally a good thing, especially when the
alternative is Tuple2<SQLExpression<?>,SQLExpression<?>>.
2015-02-10 13:01:09 -08:00
Michael Bayne 40e6ccc833 Tuple2<blah blah> -> IndexDesc.
If you have persistent classes with complex (or ordered) indices, you need to
return IndexDesc now instead of Tuple2<blah blah>.
2015-02-10 13:01:09 -08:00
Michael Bayne 66952dc472 Eliminated samskivert dependency.
It was a constant source of annoyance that part of the Depot implementation
lived in samskivert.jdbc. Now it all lives in Depot and samskivert can go back
to being a long obsolete library of utility methods.

Depot clients will have to make three renaming changes:

1. ConnectionProvider &c are now in com.samskivert.depot.

2. ByteEnum is now in com.samskivert.util.

3. Methods that returned index information used to return samskivert Tuple if
you wanted an expression and an order. Now they must return Depot Tuple2. This
should fail at app startup if you miss a spot, so this should not result in any
ticking timebombs.

NB: the next commit is probably going to change Tuple2 into a proper named
class because using a Tuple2 for this situation turns out to suck.

NB2: I moved DropTableMigration out of impl and put the impl details into
DepotMetaData. I should have done that separately, but it was already in
progress when I undertook to revamp.
2015-02-10 13:00:22 -08:00
Ray J. Greenwell 5c978c3777 Added a handy DropTableMigration.
Documented some caveats.
2015-02-09 18:24:12 -08:00
Ray J. Greenwell 037675ce9e A handy DropTableMigration. 2015-02-09 18:20:56 -08:00
Ray J. Greenwell ab98f85023 Array type is irrelevant.
...as far as I can tell.
Rip out the code that tried to set up the right array type.
2015-02-02 13:42:06 -08:00
Ray J. Greenwell 8981467b29 Fix copy/paste error... that was itself copy/pasted.
Strings were always being shoved into a Comparable array.
Does the array type matter? Apparently not. We should just
rip out these tests and always store in a Comparable[].
2015-02-02 13:33:27 -08:00
Ray J. Greenwell db71c3de69 Include everything. 2014-12-16 19:42:55 -08:00
Ray J. Greenwell c9930244dd Revamp OrderBy.random() for postgres compatibility. 2014-12-16 19:41:14 -08:00
Jamie Doornbos a4356d6c56 Profile to deploy to a local directory.
This is to support three rings internal build system (and avoid ant legacy).
2014-11-14 15:16:00 -08:00
Jamie Doornbos 39e81a2444 Move eclipse hacks. 2014-11-14 15:12:38 -08:00
Mark Johnson 1a6dad39c2 Preparing for 1.7-SNAPSHOT development. 2014-10-14 14:21:16 -07:00
Mark Johnson 1bd4b6dab0 Preparing for depot-1.6.6 release. 2014-10-14 14:18:30 -07:00
Michael Bayne 190c38f8a8 Remove MAX_KEYS limit, added test.
We've had JDBC array support in Postgres for 5 years now, so I think we're
probably safe to assume it's working everywhere. Ha ha, I'm such an optimist.
2014-10-02 14:30:11 -07:00
Michael Bayne 62c17819f4 Omit Transaction.start() in favor of ctx.startTx(). 2014-10-01 14:51:37 -07:00
Michael Bayne 07934f0187 A bare-bones transaction test.
Seems to be working...
2014-10-01 14:48:47 -07:00
Michael Bayne 9cead5e7e5 Oops, let's put those statements int the right order. 2014-10-01 14:33:08 -07:00
Michael Bayne 872b2d9ef3 Some robustness bits.
It's not clear what the right thing to do is if the database connection fails
during the middle of a transaction. In general, one can't talk to the database
after that, so I'm assuming the transaction is aborted (or eventually aborted)
and rolled back, and everything has to be retried.

I'm not currently tracking state inside a Transaction, which means that I don't
freak out if you call commit() then call rollback(), I just ignore the latter
call, and it's also possible to do something stupid like:

  Transaction tx = Transaction.start(ctx);
  try {
    _somRepo.doOp(..);
  } catch (DatabaseException de) {
    // no problem!, keep on keepin' on
  }
  _someRepo.doAnotherOp(...);
  tx.commit();

If the first repo op fails due to a database connection failure, the
transaction will get a new database connection for the second op and do the
last half of the op in a new connection.

I guess I'll have to do some state tracking, because stupid as the above code
is, I'm sure some circumstance will arise where it seems like a reasonable
thing to do, and hilarity will ensue. Blah.
2014-10-01 14:27:55 -07:00
Michael Bayne d676847c24 Initial pass at transaction support.
Now to test it!
2014-10-01 14:16:48 -07:00
Michael Bayne 63f69eb843 Tweaky tweak. 2014-10-01 11:25:16 -07:00
Michael Bayne 9874be4034 Added special update() provided by Ray.
This allows one to update a record iff some additional criteria are met.
2014-10-01 11:19:21 -07:00
Michael Bayne f663ac9bd4 Bump version in docs. 2014-06-26 11:57:47 -07:00
Michael Bayne 0047c94dc4 [maven-release-plugin] prepare for next development iteration 2014-06-26 11:55:38 -07:00
Michael Bayne 3f8400447c [maven-release-plugin] prepare release depot-1.6.5 2014-06-26 11:55:35 -07:00
Michael Bayne 1d826d903f Beans/frank.
I should probably add a test for this. Ha!
2014-06-26 11:50:45 -07:00
Michael Bayne 0583572f34 More docs link fixes. 2014-06-25 16:19:20 -07:00
Michael Bayne 201a720982 Docs link fixes. 2014-06-25 16:18:20 -07:00
Michael Bayne 38dee2e948 Need the .md suffixes. 2014-06-25 16:16:33 -07:00
Michael Bayne 634651fa5a Moved wiki docs into main project.
Why have them separate? Github allows reading docs right in the main tree.
2014-06-25 16:15:18 -07:00
Michael Bayne 3db7b4445b Fixed wiki links. Added API docs link 2014-06-25 16:12:37 -07:00