1 package com.teamkonzept.webman.mainint.db.queries.sybase; 2 3 import java.sql.*; 4 5 import com.teamkonzept.db.*; 6 7 18 public class TKDBSiteDocGetHeretable 19 extends TKPrepQuery 20 { 21 23 26 public final static boolean IS_PREPARED = true; 27 28 31 public final static String [] PARAMETER_ORDER = {"SITE_NODE_ID", "SITE_NODE_ID", "SITE_NODE_ID", "SITE_NODE_ID"}; 32 33 36 public final static Object [][] PARAMETER_TYPES = null; 37 38 41 public final static boolean[] SET_RELEVANTS = {true}; 42 43 46 public final static String SQL_STRING = 47 " CREATE TABLE #PATH ( SITE_NODE_ID int, " 48 + " LEFT_NR int, " 49 + " RIGHT_NR int, " 50 + " SITE_NODE_DOC_IDX int null, " 51 + " PRESENTATION_ID int null, " 52 + " DOCUMENT_NAME varchar(254) null, " 53 + " DOCUMENT_SHORTNAME varchar(80) null, " 54 + " INHERITABLE int null, " 55 + " DOCUMENT_TYPE int null, " 56 + " EXTERNAL_URL varchar(254) null, " 57 + " INHERIT_BEGIN_LEVEL int null, " 58 + " INHERIT_END_LEVEL int null) " 59 60 + " INSERT INTO #PATH " 61 + " 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 " 62 + " FROM SITE_TREE S_T, SITE_DOCUMENT S_D " 63 + " WHERE S_T.SITE_NODE_ID *= S_D.SITE_NODE_ID " 64 + " AND " 65 + " LEFT_NR <= (SELECT LEFT_NR FROM SITE_TREE WHERE SITE_NODE_ID = ? ) " 66 + " AND " 67 + " RIGHT_NR >= (SELECT RIGHT_NR FROM SITE_TREE WHERE SITE_NODE_ID = ? ) " 68 69 + " SELECT OUTER.*, P.PRESENTATION_NAME FROM #PATH OUTER, PRESENTATION P " 70 71 + " WHERE NOT EXISTS " 72 + " ( " 73 + " SELECT 1 " 74 + " FROM #PATH INNER " 75 + " WHERE INNER.DOCUMENT_SHORTNAME = OUTER.DOCUMENT_SHORTNAME " 76 + " AND " 77 + " INNER.LEFT_NR > OUTER.LEFT_NR " 78 + " ) " 79 80 + " AND INHERIT_BEGIN_LEVEL <= " 81 + " ( " 82 + " SELECT COUNT(DISTINCT SITE_NODE_ID) " 83 + " FROM #PATH COUNTER " 84 + " WHERE COUNTER.LEFT_NR > OUTER.LEFT_NR " 85 + " ) " 86 + " AND ( " 87 + " INHERIT_END_LEVEL = -1 " 88 + " OR " 89 + " INHERIT_END_LEVEL >= " 90 + " ( " 91 + " SELECT COUNT(DISTINCT SITE_NODE_ID) " 92 + " FROM #PATH COUNTER " 93 + " WHERE COUNTER.LEFT_NR > OUTER.LEFT_NR " 94 + " ) " 95 96 + " ) " 97 + " AND OUTER.PRESENTATION_ID *= P.PRESENTATION_ID " 98 + " AND " 99 + " LEFT_NR < (SELECT LEFT_NR FROM SITE_TREE WHERE SITE_NODE_ID = ? ) " 100 + " AND " 101 + " RIGHT_NR > (SELECT RIGHT_NR FROM SITE_TREE WHERE SITE_NODE_ID = ? ) " 102 103 + " DROP TABLE #PATH " 104 ; 105 106 107 public void initQuery (Connection connection) 108 { 109 super.initQuery(connection, 110 IS_PREPARED, 111 PARAMETER_ORDER, 112 PARAMETER_TYPES, 113 SET_RELEVANTS, 114 SQL_STRING); 115 } 116 117 } 118 119 125 | Popular Tags |