Author: sergiykarpenko
Date: 2010-03-16 10:59:01 -0400 (Tue, 16 Mar 2010)
New Revision: 2076
Modified:
jcr/trunk/exo.jcr.component.core/src/main/java/org/exoplatform/services/jcr/impl/storage/jdbc/optimisation/db/MultiDbJDBCConnection.java
jcr/trunk/exo.jcr.component.core/src/main/java/org/exoplatform/services/jcr/impl/storage/jdbc/optimisation/db/SingleDbJDBCConnection.java
Log:
EXOJCR-592: FIND_NODES_BY_PARENTID_CQ - fields in where clause sorted according to exist
indexes
Modified:
jcr/trunk/exo.jcr.component.core/src/main/java/org/exoplatform/services/jcr/impl/storage/jdbc/optimisation/db/MultiDbJDBCConnection.java
===================================================================
---
jcr/trunk/exo.jcr.component.core/src/main/java/org/exoplatform/services/jcr/impl/storage/jdbc/optimisation/db/MultiDbJDBCConnection.java 2010-03-16
14:57:52 UTC (rev 2075)
+++
jcr/trunk/exo.jcr.component.core/src/main/java/org/exoplatform/services/jcr/impl/storage/jdbc/optimisation/db/MultiDbJDBCConnection.java 2010-03-16
14:59:01 UTC (rev 2076)
@@ -198,16 +198,18 @@
FIND_VALUES_VSTORAGE_DESC_BY_PROPERTYID = "select distinct STORAGE_DESC from
JCR_MVALUE where PROPERTY_ID=?";
- FIND_VALUE_BY_PROPERTYID_OREDERNUMB = "select DATA, STORAGE_DESC from
JCR_MVALUE where PROPERTY_ID=? and ORDER_NUM=?";
+ FIND_VALUE_BY_PROPERTYID_OREDERNUMB =
+ "select DATA, STORAGE_DESC from JCR_MVALUE where PROPERTY_ID=? and
ORDER_NUM=?";
FIND_NODES_BY_PARENTID = "select * from JCR_MITEM" + " where
I_CLASS=1 and PARENT_ID=?" + " order by N_ORDER_NUM";
FIND_NODES_BY_PARENTID_CQ =
"select I.*, P.NAME AS PROP_NAME, V.ORDER_NUM, V.DATA"
+ " from JCR_MITEM I, JCR_MITEM P, JCR_MVALUE V"
- + " where I.PARENT_ID=? and I.I_CLASS=1 and (P.PARENT_ID=I.ID and
P.I_CLASS=2 and (
P.NAME='[http://www.jcp.org/jcr/1.0]primaryType' or
P.NAME='[http://www.jcp.org/jcr/1.0]mixinTypes' or
P.NAME='[http://www.exoplatform.com/jcr/exo/1.0]owner' or
P.NAME='[http://www.exoplatform.com/jcr/exo/1.0]permissions') and
V.PROPERTY_ID=P.ID)"
- + " order by I.N_ORDER_NUM, I.ID";
-
+ + " where I.I_CLASS=1 and I.PARENT_ID=? and"
+ + " P.I_CLASS=2 and P.PARENT_ID=I.ID and
(
P.NAME='[http://www.jcp.org/jcr/1.0]primaryType' or
P.NAME='[http://www.jcp.org/jcr/1.0]mixinTypes' or
P.NAME='[http://www.exoplatform.com/jcr/exo/1.0]owner' or
P.NAME='[http://www.exoplatform.com/jcr/exo/1.0]permissions')"
+ + " and V.PROPERTY_ID=P.ID order by I.N_ORDER_NUM, I.ID";
+
FIND_NODE_MAIN_PROPERTIES_BY_PARENTID_CQ =
"select I.NAME, V.DATA, V.ORDER_NUM"
+ " from JCR_MITEM I, JCR_MVALUE V"
Modified:
jcr/trunk/exo.jcr.component.core/src/main/java/org/exoplatform/services/jcr/impl/storage/jdbc/optimisation/db/SingleDbJDBCConnection.java
===================================================================
---
jcr/trunk/exo.jcr.component.core/src/main/java/org/exoplatform/services/jcr/impl/storage/jdbc/optimisation/db/SingleDbJDBCConnection.java 2010-03-16
14:57:52 UTC (rev 2075)
+++
jcr/trunk/exo.jcr.component.core/src/main/java/org/exoplatform/services/jcr/impl/storage/jdbc/optimisation/db/SingleDbJDBCConnection.java 2010-03-16
14:59:01 UTC (rev 2076)
@@ -205,7 +205,8 @@
FIND_VALUES_VSTORAGE_DESC_BY_PROPERTYID = "select distinct STORAGE_DESC from
JCR_SVALUE where PROPERTY_ID=?";
- FIND_VALUE_BY_PROPERTYID_OREDERNUMB = "select DATA, STORAGE_DESC from
JCR_SVALUE where PROPERTY_ID=? and ORDER_NUM=?";
+ FIND_VALUE_BY_PROPERTYID_OREDERNUMB =
+ "select DATA, STORAGE_DESC from JCR_SVALUE where PROPERTY_ID=? and
ORDER_NUM=?";
FIND_NODES_BY_PARENTID =
"select * from JCR_SITEM" + " where I_CLASS=1 and
CONTAINER_NAME=? and PARENT_ID=?" + " order by N_ORDER_NUM";
@@ -213,8 +214,9 @@
FIND_NODES_BY_PARENTID_CQ =
"select I.*, P.NAME AS PROP_NAME, V.ORDER_NUM, V.DATA"
+ " from JCR_SITEM I, JCR_SITEM P, JCR_SVALUE V"
- + " where I.CONTAINER_NAME=? and I.PARENT_ID=? and I.I_CLASS=1 and
(P.CONTAINER_NAME=? and P.PARENT_ID=I.ID and P.I_CLASS=2 and
(
P.NAME='[http://www.jcp.org/jcr/1.0]primaryType' or
P.NAME='[http://www.jcp.org/jcr/1.0]mixinTypes' or
P.NAME='[http://www.exoplatform.com/jcr/exo/1.0]owner' or
P.NAME='[http://www.exoplatform.com/jcr/exo/1.0]permissions') and
V.PROPERTY_ID=P.ID)"
- + " order by I.N_ORDER_NUM, I.ID";
+ + " where I.I_CLASS=1 and I.CONTAINER_NAME=? and I.PARENT_ID=?
and"
+ + " P.I_CLASS=2 and P.CONTAINER_NAME=? and P.PARENT_ID=I.ID and
(
P.NAME='[http://www.jcp.org/jcr/1.0]primaryType' or
P.NAME='[http://www.jcp.org/jcr/1.0]mixinTypes' or
P.NAME='[http://www.exoplatform.com/jcr/exo/1.0]owner' or
P.NAME='[http://www.exoplatform.com/jcr/exo/1.0]permissions')"
+ + " and V.PROPERTY_ID=P.ID order by I.N_ORDER_NUM, I.ID";
FIND_NODE_MAIN_PROPERTIES_BY_PARENTID_CQ =
"select I.NAME, V.DATA, V.ORDER_NUM"
@@ -230,7 +232,7 @@
FIND_PROPERTIES_BY_PARENTID_CQ =
"select I.ID, I.PARENT_ID, I.NAME, I.VERSION, I.I_CLASS, I.I_INDEX,
I.N_ORDER_NUM, I.P_TYPE, I.P_MULTIVALUED, V.ORDER_NUM,"
+ " V.DATA, V.STORAGE_DESC from JCR_SITEM I LEFT OUTER JOIN JCR_SVALUE V
ON (V.PROPERTY_ID=I.ID)"
- + " where I.I_CLASS=2 and CONTAINER_NAME=? and I.PARENT_ID=? order by
I.NAME";
+ + " where I.I_CLASS=2 and I.CONTAINER_NAME=? and I.PARENT_ID=? order by
I.NAME";
INSERT_NODE =
"insert into JCR_SITEM(ID, PARENT_ID, NAME, CONTAINER_NAME, VERSION,
I_CLASS, I_INDEX, N_ORDER_NUM) VALUES(?,?,?,?,?,"