001 package org.apache.ojb.broker.accesslayer;
002
003 /* Copyright 2002-2005 The Apache Software Foundation
004 *
005 * Licensed under the Apache License, Version 2.0 (the "License");
006 * you may not use this file except in compliance with the License.
007 * You may obtain a copy of the License at
008 *
009 * http://www.apache.org/licenses/LICENSE-2.0
010 *
011 * Unless required by applicable law or agreed to in writing, software
012 * distributed under the License is distributed on an "AS IS" BASIS,
013 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
014 * See the License for the specific language governing permissions and
015 * limitations under the License.
016 */
017
018
019 /**
020 * Constants used to denote the type of SQL syntax of JOINs
021 *
022 * @author <a href="mailto:on@ibis.odessa.ua">Oleg Nitz</a>
023 * @version $Id: JoinSyntaxTypes.java,v 1.1 2007-08-24 22:17:30 ewestfal Exp $
024 */
025 public interface JoinSyntaxTypes
026 {
027 /**
028 * SQL-92 syntax for joins: <br>
029 * SELECT ... FROM A INNER JOIN B ON A.PK=B.FK <br>
030 * SELECT ... FROM A LEFT OUTER JOIN B ON A.PK=B.FK <br>
031 * Nested joins:<br>
032 * SELECT ... FROM A INNER JOIN (B INNER JOIN C ON B.PK=C.FK) ON A.PK=B.FK <br>
033 * SELECT ... FROM A LEFT OUTER JOIN (B LEFT OUTER JOIN C ON B.PK=C.FK) ON A.PK=B.FK <br>
034 */
035 public final byte SQL92_JOIN_SYNTAX = 0;
036
037 /**
038 * SQL-92 without parenthesis syntax for joins: <br>
039 * SELECT ... FROM A INNER JOIN B ON A.PK=B.FK <br>
040 * SELECT ... FROM A LEFT OUTER JOIN B ON A.PK=B.FK <br>
041 * Nested joins:<br>
042 * SELECT ... FROM A INNER JOIN ON A.PK=B.FK INNER JOIN C ON B.PK=C.FK <br>
043 * SELECT ... FROM A LEFT OUTER JOIN ON A.PK=B.FK LEFT OUTER JOIN C ON B.PK=C.FK<br>
044 */
045 public final byte SQL92_NOPAREN_JOIN_SYNTAX = 1;
046
047 /**
048 * Oracle syntax for joins: <br>
049 * SELECT ... FROM A, B WHERE A.PK=B.FK <br>
050 * SELECT ... FROM A, B WHERE A.PK=B.FK(+) <br>
051 */
052 public final byte ORACLE_JOIN_SYNTAX = 2;
053
054 /**
055 * Sybase ASE syntax for joins: <br>
056 * SELECT ... FROM A, B WHERE A.PK=B.FK <br>
057 * SELECT ... FROM A, B WHERE A.PK*=B.FK <br>
058 */
059 public final byte SYBASE_JOIN_SYNTAX = 3;
060 }
061