1 5 package com.teamkonzept.webman.mainint.db.queries.postgresql; 6 7 import java.sql.*; 8 9 import com.teamkonzept.db.*; 10 11 16 17 public class TKDBSiteDocGetHeretable extends TKPrepQuery 18 { 19 20 public final static boolean ISPREPARED = true; 21 22 public final static String [] 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 [][] PARAMTYPES = null; 26 27 public final static boolean[] SETRELEVANTS = { true }; 28 29 public final static String 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 = ? ) " 39 + " AND " 40 + " RIGHT_NR > (SELECT RIGHT_NR FROM SITE_TREE WHERE SITE_NODE_ID = ? ) " 41 + " ) AS O " 42 + " LEFT JOIN PRESENTATION P USING ( PRESENTATION_ID ) " 43 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 = ? ) " 53 + " AND " 54 + " RIGHT_NR >= (SELECT RIGHT_NR FROM SITE_TREE WHERE 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 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 = ? ) " 71 + " AND " 72 + " RIGHT_NR >= (SELECT RIGHT_NR FROM SITE_TREE WHERE 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 = ? ) " 86 + " AND " 87 + " RIGHT_NR >= (SELECT RIGHT_NR FROM SITE_TREE WHERE 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 |