Re: [hibernate-team] PostgreSQLDialect
От | Simon Riggs |
---|---|
Тема | Re: [hibernate-team] PostgreSQLDialect |
Дата | |
Msg-id | 1194807235.2644.47.camel@ebony.site обсуждение исходный текст |
Ответ на | Re: [hibernate-team] PostgreSQLDialect ("Tom Dunstan" <pgsql@tomd.cc>) |
Ответы |
Re: [hibernate-team] PostgreSQLDialect
|
Список | pgsql-hackers |
On Sun, 2007-11-11 at 17:11 +0000, Tom Dunstan wrote: > The way to fix both that and the differing available functions would > probably be to have a subclass of the dialect for each server version. > MySQL seems to have about 5 :) I think a static dialect for each server version is the way to go. On Sun, 2007-11-11 at 17:11 +0000, Tom Dunstan wrote: > > - You map "text" to CLOB. Not exactly sure what CLOB refers to but text > > column are not generally used for large objects. I mean, you can store > > up to a GB in them, but most such columns are not going to be large. > > Actually, it's clob being mapped to text. I don't see a huge problem > with that, really, it'll often be mapped to a String at the java end > anyway. Agreed. --- Here's my thoughts on compatibility: The getForUpdateString(String aliases) is incorrect because Postgres doesn't lock columns. The default, which ignores the columns specified, is correct for Postgres. Most PostgreSQL Dialects should add these: ------------------------------------------ public boolean supportsPooledSequences() { return true;} public String[] getCreateSequenceStrings(String sequenceName, int initialValue, int incrementSize) throws MappingException { return "create sequence " + sequenceName + " INCREMENT BY "+ toString(incrementSize) + " START WITH " + toString(initialValue);} public boolean supportsLimitOffset() { return true;} public boolean supportsUnique() { return true;} public boolean supportsVariableLimit() { return true;} PostgreSQL82Dialect and beyond should add these ----------------------------------------------- public boolean supportsIfExistsBeforeTableName() { return true;} /* FOR UPDATE NOWAIT */ public String getForUpdateNowaitString() {return getForUpdateString() + " NOWAIT"; } public boolean supportsRowValueConstructorSyntax() {return true; } PostgreSQL83Dialect adds ----------------------------------------------- Nothing new AFAICS? -- Simon Riggs 2ndQuadrant http://www.2ndQuadrant.com
В списке pgsql-hackers по дате отправления: