01: package org.apache.ojb.broker.accesslayer;
02:
03: /* Copyright 2002-2005 The Apache Software Foundation
04: *
05: * Licensed under the Apache License, Version 2.0 (the "License");
06: * you may not use this file except in compliance with the License.
07: * You may obtain a copy of the License at
08: *
09: * http://www.apache.org/licenses/LICENSE-2.0
10: *
11: * Unless required by applicable law or agreed to in writing, software
12: * distributed under the License is distributed on an "AS IS" BASIS,
13: * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
14: * See the License for the specific language governing permissions and
15: * limitations under the License.
16: */
17:
18: /**
19: * Constants used to denote the type of SQL syntax of JOINs
20: *
21: * @author <a href="mailto:on@ibis.odessa.ua">Oleg Nitz</a>
22: * @version $Id: JoinSyntaxTypes.java,v 1.4.2.1 2005/12/21 22:22:58 tomdz Exp $
23: */
24: public interface JoinSyntaxTypes {
25: /**
26: * SQL-92 syntax for joins: <br>
27: * SELECT ... FROM A INNER JOIN B ON A.PK=B.FK <br>
28: * SELECT ... FROM A LEFT OUTER JOIN B ON A.PK=B.FK <br>
29: * Nested joins:<br>
30: * SELECT ... FROM A INNER JOIN (B INNER JOIN C ON B.PK=C.FK) ON A.PK=B.FK <br>
31: * SELECT ... FROM A LEFT OUTER JOIN (B LEFT OUTER JOIN C ON B.PK=C.FK) ON A.PK=B.FK <br>
32: */
33: public final byte SQL92_JOIN_SYNTAX = 0;
34:
35: /**
36: * SQL-92 without parenthesis syntax for joins: <br>
37: * SELECT ... FROM A INNER JOIN B ON A.PK=B.FK <br>
38: * SELECT ... FROM A LEFT OUTER JOIN B ON A.PK=B.FK <br>
39: * Nested joins:<br>
40: * SELECT ... FROM A INNER JOIN ON A.PK=B.FK INNER JOIN C ON B.PK=C.FK <br>
41: * SELECT ... FROM A LEFT OUTER JOIN ON A.PK=B.FK LEFT OUTER JOIN C ON B.PK=C.FK<br>
42: */
43: public final byte SQL92_NOPAREN_JOIN_SYNTAX = 1;
44:
45: /**
46: * Oracle syntax for joins: <br>
47: * SELECT ... FROM A, B WHERE A.PK=B.FK <br>
48: * SELECT ... FROM A, B WHERE A.PK=B.FK(+) <br>
49: */
50: public final byte ORACLE_JOIN_SYNTAX = 2;
51:
52: /**
53: * Sybase ASE syntax for joins: <br>
54: * SELECT ... FROM A, B WHERE A.PK=B.FK <br>
55: * SELECT ... FROM A, B WHERE A.PK*=B.FK <br>
56: */
57: public final byte SYBASE_JOIN_SYNTAX = 3;
58: }
|