db-derby-commits mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From mi...@apache.org
Subject svn commit: r189485 - in /incubator/derby/code/trunk/java/engine/org/apache/derby/impl/store/access/btree/index: B2I.java B2IController.java B2ICostController.java B2IForwardScan.java B2IMaxScan.java B2INoLocking.java B2IRowLocking2.java B2IRowLocking3.java D_B2IController.java
Date Wed, 08 Jun 2005 01:24:36 GMT
Author: mikem
Date: Tue Jun  7 18:24:35 2005
New Revision: 189485

URL: http://svn.apache.org/viewcvs?rev=189485&view=rev
Log:
more improvements to index directory javadoc.


Modified:
    incubator/derby/code/trunk/java/engine/org/apache/derby/impl/store/access/btree/index/B2I.java
    incubator/derby/code/trunk/java/engine/org/apache/derby/impl/store/access/btree/index/B2IController.java
    incubator/derby/code/trunk/java/engine/org/apache/derby/impl/store/access/btree/index/B2ICostController.java
    incubator/derby/code/trunk/java/engine/org/apache/derby/impl/store/access/btree/index/B2IForwardScan.java
    incubator/derby/code/trunk/java/engine/org/apache/derby/impl/store/access/btree/index/B2IMaxScan.java
    incubator/derby/code/trunk/java/engine/org/apache/derby/impl/store/access/btree/index/B2INoLocking.java
    incubator/derby/code/trunk/java/engine/org/apache/derby/impl/store/access/btree/index/B2IRowLocking2.java
    incubator/derby/code/trunk/java/engine/org/apache/derby/impl/store/access/btree/index/B2IRowLocking3.java
    incubator/derby/code/trunk/java/engine/org/apache/derby/impl/store/access/btree/index/D_B2IController.java

Modified: incubator/derby/code/trunk/java/engine/org/apache/derby/impl/store/access/btree/index/B2I.java
URL: http://svn.apache.org/viewcvs/incubator/derby/code/trunk/java/engine/org/apache/derby/impl/store/access/btree/index/B2I.java?rev=189485&r1=189484&r2=189485&view=diff
==============================================================================
--- incubator/derby/code/trunk/java/engine/org/apache/derby/impl/store/access/btree/index/B2I.java
(original)
+++ incubator/derby/code/trunk/java/engine/org/apache/derby/impl/store/access/btree/index/B2I.java
Tue Jun  7 18:24:35 2005
@@ -1052,6 +1052,3 @@
         localReadExternal(in);
     }
 }
-
-
-

Modified: incubator/derby/code/trunk/java/engine/org/apache/derby/impl/store/access/btree/index/B2IController.java
URL: http://svn.apache.org/viewcvs/incubator/derby/code/trunk/java/engine/org/apache/derby/impl/store/access/btree/index/B2IController.java?rev=189485&r1=189484&r2=189485&view=diff
==============================================================================
--- incubator/derby/code/trunk/java/engine/org/apache/derby/impl/store/access/btree/index/B2IController.java
(original)
+++ incubator/derby/code/trunk/java/engine/org/apache/derby/impl/store/access/btree/index/B2IController.java
Tue Jun  7 18:24:35 2005
@@ -47,11 +47,14 @@
 import org.apache.derby.iapi.services.io.FormatableBitSet;
 
 /**
+ * Controller used to insert rows into a secondary index.
+ *
  * Implements the ConglomerateController interface for the B-Tree index
- * access method.  The primary use of this interface is to insert rows
- * into the tree.
- * <p>
- * A B2I controller object corresponds to an open B-Tree secondary index.
+ * access method.  
+ *
+ * Note most work of this class is inherited from the generic btree 
+ * implementation.  This class initializes the top level object and deals with
+ * locking information specific to a secondary index implementation of a btree.
  */
 public class B2IController extends BTreeController
 {

Modified: incubator/derby/code/trunk/java/engine/org/apache/derby/impl/store/access/btree/index/B2ICostController.java
URL: http://svn.apache.org/viewcvs/incubator/derby/code/trunk/java/engine/org/apache/derby/impl/store/access/btree/index/B2ICostController.java?rev=189485&r1=189484&r2=189485&view=diff
==============================================================================
--- incubator/derby/code/trunk/java/engine/org/apache/derby/impl/store/access/btree/index/B2ICostController.java
(original)
+++ incubator/derby/code/trunk/java/engine/org/apache/derby/impl/store/access/btree/index/B2ICostController.java
Tue Jun  7 18:24:35 2005
@@ -37,15 +37,21 @@
 
 
 /**
+ * Controller used to provide cost estimates to optimizer about secondary index
+ * data access.
+ *
  * Implements the StoreCostController interface for the B-Tree index
  * implementation.  The primary use of this interface is to provide costs
  * used by the query optimizer to use when choosing query plans. Provides
  * costs of things like fetch one row, how many rows in conglomerate, how
  * many rows between these 2 keys.
+ *
+ * Note most work of this class is inherited from the generic btree 
+ * implementation.  This class initializes the top level object and deals with 
+ * locking information specific to a secondary index implementation of a btree.
  */
 public class B2ICostController extends BTreeCostController
 {
-
 	/*
 	** Fields of B2IController.
 	*/

Modified: incubator/derby/code/trunk/java/engine/org/apache/derby/impl/store/access/btree/index/B2IForwardScan.java
URL: http://svn.apache.org/viewcvs/incubator/derby/code/trunk/java/engine/org/apache/derby/impl/store/access/btree/index/B2IForwardScan.java?rev=189485&r1=189484&r2=189485&view=diff
==============================================================================
--- incubator/derby/code/trunk/java/engine/org/apache/derby/impl/store/access/btree/index/B2IForwardScan.java
(original)
+++ incubator/derby/code/trunk/java/engine/org/apache/derby/impl/store/access/btree/index/B2IForwardScan.java
Tue Jun  7 18:24:35 2005
@@ -51,8 +51,20 @@
 
 /**
 
-  A B2I controller object is the concrete class which corresponds to an open
-  b-tree secondary index.
+The btree secondary index implementation of ScanManager which provides reading 
+and deleting of entries in the btree secondary index.  
+
+This supports setting up and
+iterating through a set of rows while providing a start key, stop key,
+and a set of AND and OR qualifiers to skip unwanted rows.  Currently
+derby only supports forward scans (but individual columns can have
+descending order).  This interface is also used to delete rows from
+the conglomerate.  Note that update is not supported, it must be
+implemented as a delete, followed by an insert.
+
+Note most work of this class is inherited from the generic btree implementation.
+This class initializes the top level object and deals with locking information
+specific to a secondary index implementation of a btree.
 
 **/
 

Modified: incubator/derby/code/trunk/java/engine/org/apache/derby/impl/store/access/btree/index/B2IMaxScan.java
URL: http://svn.apache.org/viewcvs/incubator/derby/code/trunk/java/engine/org/apache/derby/impl/store/access/btree/index/B2IMaxScan.java?rev=189485&r1=189484&r2=189485&view=diff
==============================================================================
--- incubator/derby/code/trunk/java/engine/org/apache/derby/impl/store/access/btree/index/B2IMaxScan.java
(original)
+++ incubator/derby/code/trunk/java/engine/org/apache/derby/impl/store/access/btree/index/B2IMaxScan.java
Tue Jun  7 18:24:35 2005
@@ -48,9 +48,14 @@
 import org.apache.derby.impl.store.access.conglomerate.ConglomerateUtil;
 
 /**
+Scan used to find maximum value in the secondary index.
 
-  A B2I controller object is the concrete class which corresponds to an open
-  b-tree secondary index.
+This class implements an optimized interface to find the maximum row,
+for a set of rows between an input start and stop key.
+
+Note most work of this class is inherited from the generic btree implementation.
+This class initializes the top level object and deals with locking information
+specific to a secondary index implementation of a btree.
 
 **/
 

Modified: incubator/derby/code/trunk/java/engine/org/apache/derby/impl/store/access/btree/index/B2INoLocking.java
URL: http://svn.apache.org/viewcvs/incubator/derby/code/trunk/java/engine/org/apache/derby/impl/store/access/btree/index/B2INoLocking.java?rev=189485&r1=189484&r2=189485&view=diff
==============================================================================
--- incubator/derby/code/trunk/java/engine/org/apache/derby/impl/store/access/btree/index/B2INoLocking.java
(original)
+++ incubator/derby/code/trunk/java/engine/org/apache/derby/impl/store/access/btree/index/B2INoLocking.java
Tue Jun  7 18:24:35 2005
@@ -44,7 +44,19 @@
 import org.apache.derby.impl.store.access.btree.BTreeRowPosition;
 import org.apache.derby.impl.store.access.btree.WaitError;
 
+
 /**
+
+Secondary index locking policy that does no locking.
+<p>
+This is used when the caller knows that logical locks are already obtained 
+so need not be requested again.  For instance when inserting a row into
+an index, a X row lock has already been obtained when the row was inserted
+into the base table, so there is no need to get another lock in the 
+secondary index.
+<p>
+This class overrides all interfaces of BTreeLockingPolicy making them
+no-ops.
 
 **/
 

Modified: incubator/derby/code/trunk/java/engine/org/apache/derby/impl/store/access/btree/index/B2IRowLocking2.java
URL: http://svn.apache.org/viewcvs/incubator/derby/code/trunk/java/engine/org/apache/derby/impl/store/access/btree/index/B2IRowLocking2.java?rev=189485&r1=189484&r2=189485&view=diff
==============================================================================
--- incubator/derby/code/trunk/java/engine/org/apache/derby/impl/store/access/btree/index/B2IRowLocking2.java
(original)
+++ incubator/derby/code/trunk/java/engine/org/apache/derby/impl/store/access/btree/index/B2IRowLocking2.java
Tue Jun  7 18:24:35 2005
@@ -47,6 +47,13 @@
 
 /**
 
+The btree locking policy which implements read committed isolation level.
+
+It inherits all functionality from B2IRowLockingRR (repeatable read) except 
+that it releases read locks after obtaining them.  It provides a single
+implementation of unlockScanRecordAfterRead() which releases a read lock
+after it has been locked and processed.
+
 **/
 
 class B2IRowLocking2 extends B2IRowLockingRR implements BTreeLockingPolicy

Modified: incubator/derby/code/trunk/java/engine/org/apache/derby/impl/store/access/btree/index/B2IRowLocking3.java
URL: http://svn.apache.org/viewcvs/incubator/derby/code/trunk/java/engine/org/apache/derby/impl/store/access/btree/index/B2IRowLocking3.java?rev=189485&r1=189484&r2=189485&view=diff
==============================================================================
--- incubator/derby/code/trunk/java/engine/org/apache/derby/impl/store/access/btree/index/B2IRowLocking3.java
(original)
+++ incubator/derby/code/trunk/java/engine/org/apache/derby/impl/store/access/btree/index/B2IRowLocking3.java
Tue Jun  7 18:24:35 2005
@@ -51,8 +51,12 @@
 
 /**
 
-**/
+Implements the jdbc serializable isolation level using row locks.
+<p>
+Holds read and write locks until end of transaction.
+Obtains previous key locks to protect from phantom reads.
 
+**/
 class B2IRowLocking3 implements BTreeLockingPolicy
 {
 

Modified: incubator/derby/code/trunk/java/engine/org/apache/derby/impl/store/access/btree/index/D_B2IController.java
URL: http://svn.apache.org/viewcvs/incubator/derby/code/trunk/java/engine/org/apache/derby/impl/store/access/btree/index/D_B2IController.java?rev=189485&r1=189484&r2=189485&view=diff
==============================================================================
--- incubator/derby/code/trunk/java/engine/org/apache/derby/impl/store/access/btree/index/D_B2IController.java
(original)
+++ incubator/derby/code/trunk/java/engine/org/apache/derby/impl/store/access/btree/index/D_B2IController.java
Tue Jun  7 18:24:35 2005
@@ -22,6 +22,19 @@
 
 import org.apache.derby.impl.store.access.btree.D_BTreeController;
 
+/**
+
+Debugging class used to print debug information about a B2I.  
+
+Code here can be used in SANE development builds but the class is not necessary
+for a release so does not add footprint to a customer release.
+See the DiagnosticableGeneric interface for more information.
+
+Note that all the real work currently is inherited from 
+it's parent, but this class needs to exist as the diagnostic interface
+requires a class names D_XXX to provide information about XXX.
+
+**/
 
 public class D_B2IController extends D_BTreeController
 {



Mime
View raw message