On Mon, Jan 2, 2012 at 10:53 AM, Eric Evans <eev...@acunu.com> wrote: > In SQL, PRIMARY KEY is a modifier to a column spec, and here PRIMARY > KEY(user_id, posted_at, posted_by) reads like a PRIMARY modifier > applied to a KEY() function. It's also a little strange the way it > appears in the grouping of column specs, when it's actually defining a > grouping or relationship of them (maybe this is what you meant about > using TRANSPOSED WITH <options> to emphasize the non-standard).
Fear not, I can set your mind at ease. :) Personally I think the syntax works reasonably well in its own right, but my main reason for the proposed syntax is that it is actually standard SQL for composite primary keys at least as far back as SQL 92, as a subcategory of table constraints. The SQL standard is not freely linkable, but see http://www.postgresql.org/docs/9.1/static/sql-createtable.html for a real-world example. -- Jonathan Ellis Project Chair, Apache Cassandra co-founder of DataStax, the source for professional Cassandra support http://www.datastax.com