| package com.google.gwtorm.schema.sql; |
| |
| import com.google.gwtorm.client.OrmDuplicateKeyException; |
| import com.google.gwtorm.client.OrmException; |
| |
| import java.sql.SQLException; |
| |
| /** Dialect for <a href="http://www.h2database.com/">H2</a> */ |
| public class DialectH2 extends SqlDialect { |
| @Override |
| public OrmException convertError(final String op, final String entity, |
| final SQLException err) { |
| switch (getSQLStateInt(err)) { |
| case 23001: // UNIQUE CONSTRAINT VIOLATION |
| return new OrmDuplicateKeyException(entity, err); |
| |
| case 23000: // CHECK CONSTRAINT VIOLATION |
| default: |
| return super.convertError(op, entity, err); |
| } |
| } |
| |
| @Override |
| public String getNextSequenceValueSql(final String seqname) { |
| return "SELECT NEXT VALUE FOR " + seqname; |
| } |
| } |