KickJava   Java API By Example, From Geeks To Geeks.

Java > Open Source Codes > net > sf > hajdbc > dialect > DerbyDialect


1 /*
2  * HA-JDBC: High-Availability JDBC
3  * Copyright (c) 2004-2006 Paul Ferraro
4  *
5  * This library is free software; you can redistribute it and/or modify it
6  * under the terms of the GNU Lesser General Public License as published by the
7  * Free Software Foundation; either version 2.1 of the License, or (at your
8  * option) any later version.
9  *
10  * This library is distributed in the hope that it will be useful, but WITHOUT
11  * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
12  * FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License
13  * for more details.
14  *
15  * You should have received a copy of the GNU Lesser General Public License
16  * along with this library; if not, write to the Free Software Foundation,
17  * Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
18  *
19  * Contact: ferraro@users.sourceforge.net
20  */

21 package net.sf.hajdbc.dialect;
22
23 import java.sql.DatabaseMetaData JavaDoc;
24 import java.sql.SQLException JavaDoc;
25 import java.text.MessageFormat JavaDoc;
26
27 /**
28  * Dialect for Apache Derby (open-source).
29  * <p><a HREF="http://db.apache.org/derby">http://db.apache.org/derby</a></p>
30  *
31  * @author Paul Ferraro
32  * @since 1.1
33  */

34 public class DerbyDialect extends DefaultDialect
35 {
36     /**
37      * @see net.sf.hajdbc.dialect.DefaultDialect#getSimpleSQL()
38      */

39     @Override JavaDoc
40     public String JavaDoc getSimpleSQL()
41     {
42         return "VALUES 1";
43     }
44
45     /**
46      * Deferrability clause is not supported.
47      * @see net.sf.hajdbc.dialect.DefaultDialect#createForeignKeyPattern()
48      */

49     @Override JavaDoc
50     protected String JavaDoc createForeignKeyPattern()
51     {
52         return "ALTER TABLE {1} ADD CONSTRAINT {0} FOREIGN KEY ({2}) REFERENCES {3} ({4}) ON DELETE {5,choice,0#CASCADE|1#RESTRICT|2#SET NULL|3#NO ACTION|4#SET DEFAULT} ON UPDATE {6,choice,0#CASCADE|1#RESTRICT|2#SET NULL|3#NO ACTION|4#SET DEFAULT}";
53     }
54
55     /**
56      * @see net.sf.hajdbc.dialect.DefaultDialect#getLockTableSQL(java.sql.DatabaseMetaData, java.lang.String, java.lang.String)
57      */

58     @Override JavaDoc
59     public String JavaDoc getLockTableSQL(DatabaseMetaData JavaDoc metaData, String JavaDoc schema, String JavaDoc table) throws SQLException JavaDoc
60     {
61         return MessageFormat.format("LOCK TABLE {0} IN SHARE MODE", this.qualifyTable(metaData, schema, table));
62     }
63 }
64
Popular Tags