KickJava   Java API By Example, From Geeks To Geeks.

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


1 package com.teamkonzept.webman.mainint.db.queries;
2
3 import java.sql.*;
4
5 import com.teamkonzept.db.*;
6
7 /**
8  *
9  * TKDBSiteDocGetHeretable
10  * This query has to be implemented
11  * database-specifically in a subpackage (oracle,sybase,postgresql, ...)
12  * @author $Author: markus $
13  * @version $Revision: 1.17 $
14  */

15 public class TKDBSiteDocGetHeretable extends TKPrepQuery{
16
17     public final static boolean ISPREPARED = true;
18     public final static String JavaDoc[] PARAMORDER = {"SITE_NODE_ID","SITE_NODE_ID" };
19     public final static Object JavaDoc[][] PARAMTYPES = null;
20     public final static boolean[] SETRELEVANTS = { true };
21
22     public boolean execute()
23     {
24         throw new RuntimeException JavaDoc("datenbank-spezifische Query im jeweiligen Sub-Package fehlt!");
25     }
26
27     public void initQuery(Connection con) {
28         super.initQuery(
29             con,
30             ISPREPARED,
31             PARAMORDER,
32             PARAMTYPES,
33             SETRELEVANTS,
34             null);
35     }
36 }
37
38 /* CREATE TABLE #PATH ( SITE_NODE_ID int, LEFT_NR int, RIGHT_NR int,SITE_NODE_DOC_IDX int null,PRESENTATION_ID int null,DOCUMENT_NAME varchar(254) null,DOCUMENT_SHORTNAME varchar(80) null,INHERITABLE int null,DOCUMENT_TYPE int null,EXTERNAL_URL varchar(254) null,INHERIT_BEGIN_LEVEL int null,INHERIT_END_LEVEL int null)
39
40          INSERT INTO #PATH 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 FROM SITE_TREE S_T, SITE_DOCUMENT S_D WHERE S_T.SITE_NODE_ID *= S_D.SITE_NODE_ID AND LEFT_NR < (SELECT LEFT_NR FROM SITE_TREE WHERE SITE_NODE_ID = 2 ) AND RIGHT_NR > (SELECT RIGHT_NR FROM SITE_TREE WHERE SITE_NODE_ID = 2 )
41
42           SELECT OUTER.*, P.PRESENTATION_NAME FROM #PATH OUTER, PRESENTATION P WHERE NOT EXISTS (SELECT 1 FROM #PATH INNER WHERE INNER.DOCUMENT_SHORTNAME = OUTER.DOCUMENT_SHORTNAME AND INNER.LEFT_NR > OUTER.LEFT_NR ) AND INHERIT_BEGIN_LEVEL <= ( SELECT COUNT(SITE_NODE_ID) FROM #PATH COUNTER WHERE COUNTER.LEFT_NR > OUTER.LEFT_NR ) AND ( INHERIT_END_LEVEL = -1 OR INHERIT_END_LEVEL >=(SELECT COUNT(SITE_NODE_ID) FROM #PATH COUNTER WHERE COUNTER.LEFT_NR > OUTER.LEFT_NR) ) AND OUTER.PRESENTATION_ID *= P.PRESENTATION_ID
43 */

44
Popular Tags