KickJava   Java API By Example, From Geeks To Geeks.

Java > Open Source Codes > com > teamkonzept > webman > mainint > db > queries > postgresql > TKDBSiteDocGetHeretable


1 /*
2  * $Header: /cvsroot/webman-cms/source/webman/com/teamkonzept/webman/mainint/db/queries/postgresql/Attic/TKDBSiteDocGetHeretable.java,v 1.3 2001/11/09 14:02:07 markus Exp $
3  *
4  */

5 package com.teamkonzept.webman.mainint.db.queries.postgresql;
6
7 import java.sql.*;
8
9 import com.teamkonzept.db.*;
10
11 /*
12  * This SQL Statement
13  * @author
14  * @version
15  */

16
17 public class TKDBSiteDocGetHeretable extends TKPrepQuery
18 {
19
20     public final static boolean ISPREPARED = true;
21
22     public final static String JavaDoc[] PARAMORDER =
23     { SITE_NODE_ID, SITE_NODE_ID, SITE_NODE_ID, SITE_NODE_ID, SITE_NODE_ID, SITE_NODE_ID, SITE_NODE_ID, SITE_NODE_ID };
24
25     public final static Object JavaDoc[][] PARAMTYPES = null;
26
27     public final static boolean[] SETRELEVANTS = { true };
28
29     public final static String JavaDoc SQLSTRING =
30
31
32            " SELECT O.*, P.PRESENTATION_NAME FROM "
33          + " ( "
34          + " SELECT S_T.SITE_NODE_ID, S_T.LEFT_NR, S_T.RIGHT_NR, S_D.SITE_NODE_DOC_IDX, S_D.PRESENTATION_ID, S_D.DOCUMENT_NAME, S_D.DOCUMENT_SHORTNAME, S_D.INHERITABLE, S_D.DOCUMENT_TYPE, S_D.EXTERNAL_URL, S_D.INHERIT_BEGIN_LEVEL, S_D.INHERIT_END_LEVEL "
35          + " FROM SITE_TREE S_T, SITE_DOCUMENT S_D "
36          + " WHERE S_T.SITE_NODE_ID = S_D.SITE_NODE_ID "
37          + " AND "
38          + " LEFT_NR < (SELECT LEFT_NR FROM SITE_TREE WHERE SITE_NODE_ID = ? ) " /* SITE_NODE_ID */
39          + " AND "
40          + " RIGHT_NR > (SELECT RIGHT_NR FROM SITE_TREE WHERE SITE_NODE_ID = ? ) " /* SITE_NODE_ID */
41          + " ) AS O "
42          + " LEFT JOIN PRESENTATION P USING ( PRESENTATION_ID ) "
43         /* Exclude overwritten documents */
44          + " WHERE NOT EXISTS "
45          + " ( "
46          + " SELECT 1 "
47          + " FROM "
48          + " (SELECT * "
49          + " FROM SITE_TREE S_T, SITE_DOCUMENT S_D "
50          + " WHERE S_T.SITE_NODE_ID = S_D.SITE_NODE_ID "
51          + " AND "
52          + " LEFT_NR <= (SELECT LEFT_NR FROM SITE_TREE WHERE SITE_NODE_ID = ? ) " /* SITE_NODE_ID */
53          + " AND "
54          + " RIGHT_NR >= (SELECT RIGHT_NR FROM SITE_TREE WHERE SITE_NODE_ID = ? ) " /* SITE_NODE_ID */
55          + " ) AS I "
56          + " WHERE I.DOCUMENT_SHORTNAME = O.DOCUMENT_SHORTNAME "
57          + " AND "
58          + " I.LEFT_NR > O.LEFT_NR "
59          + " ) "
60         /* Check distance */
61          + " AND INHERIT_BEGIN_LEVEL <= "
62          + " ( "
63          + " SELECT COUNT(DISTINCT SITE_NODE_ID) "
64          + " FROM SITE_TREE "
65          + " WHERE "
66          + " LEFT_NR > O.LEFT_NR "
67          + " AND "
68          + " RIGHT_NR < O.RIGHT_NR "
69          + " AND "
70          + " LEFT_NR <= (SELECT LEFT_NR FROM SITE_TREE WHERE SITE_NODE_ID = ? ) " /* SITE_NODE_ID */
71          + " AND "
72          + " RIGHT_NR >= (SELECT RIGHT_NR FROM SITE_TREE WHERE SITE_NODE_ID = ? ) " /* SITE_NODE_ID */
73          + " ) "
74          + " AND ( "
75          + " INHERIT_END_LEVEL = -1 "
76          + " OR "
77          + " INHERIT_END_LEVEL >= "
78          + " ( "
79          + " SELECT COUNT(DISTINCT SITE_NODE_ID) "
80          + " FROM "
81          + " ( "
82          + " SELECT S_T.SITE_NODE_ID, S_T.LEFT_NR, S_T.RIGHT_NR, S_D.SITE_NODE_DOC_IDX, S_D.PRESENTATION_ID, S_D.DOCUMENT_NAME, S_D.DOCUMENT_SHORTNAME, S_D.INHERITABLE, S_D.DOCUMENT_TYPE, S_D.EXTERNAL_URL, S_D.INHERIT_BEGIN_LEVEL, S_D.INHERIT_END_LEVEL "
83          + " FROM SITE_TREE S_T LEFT JOIN SITE_DOCUMENT S_D USING ( SITE_NODE_ID ) "
84          + " WHERE "
85          + " LEFT_NR <= (SELECT LEFT_NR FROM SITE_TREE WHERE SITE_NODE_ID = ? ) " /* SITE_NODE_ID */
86          + " AND "
87          + " RIGHT_NR >= (SELECT RIGHT_NR FROM SITE_TREE WHERE SITE_NODE_ID = ? ) " /* SITE_NODE_ID */
88          + " ) AS COUNTER "
89          + " WHERE COUNTER.LEFT_NR > O.LEFT_NR "
90          + " ) "
91          + " ) "
92          ;
93
94
95     public void initQuery(Connection con)
96     {
97     super.initQuery(con,
98             ISPREPARED,
99             PARAMORDER, PARAMTYPES, SETRELEVANTS, SQLSTRING);
100     }
101 }
102
Popular Tags