db-derby-commits mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From d..@apache.org
Subject svn commit: r357820 - in /db/derby/code/trunk/java/engine/org/apache/derby/impl/store/access/conglomerate: GenericConglomerateController.java GenericController.java GenericCostController.java GenericScanController.java
Date Mon, 19 Dec 2005 22:35:48 GMT
Author: djd
Date: Mon Dec 19 14:35:45 2005
New Revision: 357820

URL: http://svn.apache.org/viewcvs?rev=357820&view=rev
Log:
Remove some unimplemented methods in GenericController.java and its sub-classes
that are not required, either because they are already defined in an interface
or can be converted to abstract methods.

Modified:
    db/derby/code/trunk/java/engine/org/apache/derby/impl/store/access/conglomerate/GenericConglomerateController.java
    db/derby/code/trunk/java/engine/org/apache/derby/impl/store/access/conglomerate/GenericController.java
    db/derby/code/trunk/java/engine/org/apache/derby/impl/store/access/conglomerate/GenericCostController.java
    db/derby/code/trunk/java/engine/org/apache/derby/impl/store/access/conglomerate/GenericScanController.java

Modified: db/derby/code/trunk/java/engine/org/apache/derby/impl/store/access/conglomerate/GenericConglomerateController.java
URL: http://svn.apache.org/viewcvs/db/derby/code/trunk/java/engine/org/apache/derby/impl/store/access/conglomerate/GenericConglomerateController.java?rev=357820&r1=357819&r2=357820&view=diff
==============================================================================
--- db/derby/code/trunk/java/engine/org/apache/derby/impl/store/access/conglomerate/GenericConglomerateController.java
(original)
+++ db/derby/code/trunk/java/engine/org/apache/derby/impl/store/access/conglomerate/GenericConglomerateController.java
Mon Dec 19 14:35:45 2005
@@ -482,58 +482,4 @@
 
         return(ret_val);
     }
-
-    /**************************************************************************
-     * Public Methods implementing ConglomerateController - not implemented:
-     **************************************************************************
-     */
-
-    public int insert(DataValueDescriptor[] row)
-		throws StandardException
-	{
-        throw(StandardException.newException(
-                SQLState.HEAP_UNIMPLEMENTED_FEATURE));
-	}
-
-	public void insertAndFetchLocation(
-    DataValueDescriptor[]   row, 
-    RowLocation             templateRowLocation)
-		throws StandardException
-	{
-        throw(StandardException.newException(
-                SQLState.HEAP_UNIMPLEMENTED_FEATURE));
-	}
-
-    public boolean lockRow(
-    RowLocation     loc,
-    int             lock_operation,
-    boolean         wait,
-    int             lock_duration)
-        throws StandardException
-    {
-        throw(StandardException.newException(
-                SQLState.HEAP_UNIMPLEMENTED_FEATURE));
-    }
-
-    public boolean lockRow(
-    long            page_num,
-    int             record_id,
-    int             lock_operation,
-    boolean         wait,
-    int             lock_duration)
-        throws StandardException
-    {
-        throw(StandardException.newException(
-                SQLState.HEAP_UNIMPLEMENTED_FEATURE));
-    }
-
-    public void unlockRowAfterRead(
-    RowLocation     loc,
-    boolean         forUpdate,
-    boolean         row_qualifies)
-        throws StandardException
-    {
-        throw(StandardException.newException(
-                SQLState.HEAP_UNIMPLEMENTED_FEATURE));
-    }
 }

Modified: db/derby/code/trunk/java/engine/org/apache/derby/impl/store/access/conglomerate/GenericController.java
URL: http://svn.apache.org/viewcvs/db/derby/code/trunk/java/engine/org/apache/derby/impl/store/access/conglomerate/GenericController.java?rev=357820&r1=357819&r2=357820&view=diff
==============================================================================
--- db/derby/code/trunk/java/engine/org/apache/derby/impl/store/access/conglomerate/GenericController.java
(original)
+++ db/derby/code/trunk/java/engine/org/apache/derby/impl/store/access/conglomerate/GenericController.java
Mon Dec 19 14:35:45 2005
@@ -51,7 +51,7 @@
 /**
 **/
 
-public abstract class GenericController 
+abstract class GenericController 
 {
     /**************************************************************************
      * Fields of the class

Modified: db/derby/code/trunk/java/engine/org/apache/derby/impl/store/access/conglomerate/GenericCostController.java
URL: http://svn.apache.org/viewcvs/db/derby/code/trunk/java/engine/org/apache/derby/impl/store/access/conglomerate/GenericCostController.java?rev=357820&r1=357819&r2=357820&view=diff
==============================================================================
--- db/derby/code/trunk/java/engine/org/apache/derby/impl/store/access/conglomerate/GenericCostController.java
(original)
+++ db/derby/code/trunk/java/engine/org/apache/derby/impl/store/access/conglomerate/GenericCostController.java
Mon Dec 19 14:35:45 2005
@@ -41,7 +41,7 @@
 
 **/
 
-public class GenericCostController 
+public abstract class GenericCostController 
     extends GenericController implements StoreCostController
 {
 
@@ -76,58 +76,6 @@
      **************************************************************************
      */
 
-    /**
-     * Return the cost of calling ConglomerateController.fetch().
-     * <p>
-     * Return the estimated cost of calling ConglomerateController.fetch()
-     * on the current conglomerate.  This gives the cost of finding a record
-     * in the conglomerate given the exact RowLocation of the record in
-     * question. 
-     * <p>
-     * The validColumns describes what kind of row is being fetched, 
-     * ie. it may be cheaper to fetch a partial row than a complete row.
-     * <p>
-     *
-     *
-	 * @param validColumns    A description of which columns to return from
-     *                        row on the page into "templateRow."  templateRow,
-     *                        and validColumns work together to
-     *                        describe the row to be returned by the fetch - 
-     *                        see RowUtil for description of how these three 
-     *                        parameters work together to describe a fetched 
-     *                        "row".
-     *
-     * @param access_type     Describe the type of access the query will be
-     *                        performing to the ConglomerateController.  
-     *
-     *                        STORECOST_CLUSTERED - The location of one fetch
-     *                            is likely clustered "close" to the next 
-     *                            fetch.  For instance if the query plan were
-     *                            to sort the RowLocations of a heap and then
-     *                            use those RowLocations sequentially to 
-     *                            probe into the heap, then this flag should
-     *                            be specified.  If this flag is not set then
-     *                            access to the table is assumed to be
-     *                            random - ie. the type of access one gets 
-     *                            if you scan an index and probe each row
-     *                            in turn into the base table is "random".
-     *
-     *
-	 * @return The cost of the fetch.
-     *
-	 * @exception  StandardException  Standard exception policy.
-     *
-	 * @see RowUtil
-     **/
-    public double getFetchFromRowLocationCost(
-    FormatableBitSet      validColumns,
-    int         access_type)
-		throws StandardException
-    {
-        // Not implemented in default conglomerate, needs to be overridden.
-        throw StandardException.newException(
-                SQLState.HEAP_UNIMPLEMENTED_FEATURE);
-    }
 
     /**
      * Return the cost of exact key lookup.
@@ -185,159 +133,5 @@
                 SQLState.HEAP_UNIMPLEMENTED_FEATURE);
     }
 
-    /**
-     * Calculate the cost of a scan.
-     * <p>
-     * Cause this object to calculate the cost of performing the described
-     * scan.  The interface is setup such that first a call is made to
-     * calcualteScanCost(), and then subsequent calls to accessor routines
-     * are made to get various pieces of information about the cost of
-     * the scan.
-     * <p>
-     * For the purposes of costing this routine is going to assume that 
-     * a page will remain in cache between the time one next()/fetchNext()
-     * call and a subsequent next()/fetchNext() call is made within a scan.
-     * <p>
-     * The result of costing the scan is placed in the "cost_result".  
-     * The cost of the scan is stored by calling 
-     * cost_result.setEstimatedCost(cost).
-     * The estimated row count is stored by calling 
-     * cost_result.setEstimatedRowCount(row_count).
-     * <p>
-     * The estimated cost of the scan assumes the caller will 
-     * execute a fetchNext() loop for every row that qualifies between
-     * start and stop position.  Note that this cost is different than
-     * execution a next(),fetch() loop; or if the scan is going to be
-     * terminated by client prior to reaching the stop condition.
-     * <p>
-     * The estimated number of rows returned from the scan 
-     * assumes the caller will execute a fetchNext() loop for every 
-     * row that qualifies between start and stop position.
-     * <p>
-     *
-     *
-     * @param scan_type       The type of scan that will be executed.  There
-     *                        are currently 2 types:
-     *                        STORECOST_SCAN_NORMAL - scans will be executed
-     *                        using the standard next/fetch, where each fetch
-     *                        can retrieve 1 or many rows (if fetchNextGroup()
-     *                        interface is used).
-     *
-     *                        STORECOST_SCAN_SET - The entire result set will
-     *                        be retrieved using the the fetchSet() interface.
-     *
-     * @param row_count       Estimated total row count of the table.  The 
-     *                        current system tracks row counts in heaps better
-     *                        than btree's (btree's have "rows" which are not
-     *                        user rows - branch rows, control rows), so 
-     *                        if available the client should
-     *                        pass in the base table's row count into this
-     *                        routine to be used as the index's row count.
-     *                        If the caller has no idea, pass in -1.
-     *
-     * @param group_size      The number of rows to be returned by a single
-     *                        fetch call for STORECOST_SCAN_NORMAL scans.
-     *
-	 * @param forUpdate       Should be true if the caller intends to update 
-     *                        through the scan.
-     * 
-	 * @param scanColumnList  A description of which columns to return from 
-     *                        every fetch in the scan.  template, 
-     *                        and scanColumnList work together
-     *                        to describe the row to be returned by the scan - 
-     *                        see RowUtil for description of how these three 
-     *                        parameters work together to describe a "row".
-     * 
-     * @param template        A prototypical row which the scan may use to
-	 *                        maintain its position in the conglomerate.  Not 
-     *                        all access method scan types will require this, 
-     *                        if they don't it's ok to pass in null.
-     *                        In order to scan a conglomerate one must 
-     *                        allocate 2 separate "row" templates.  The "row" 
-     *                        template passed into openScan is for the private
-     *                        use of the scan itself, and no access to it
-     *                        should be made by the caller while the scan is 
-     *                        still open.  Because of this the scanner must 
-     *                        allocate another "row" template to hold the 
-     *                        values returned from fetch().  Note that this 
-     *                        template must be for the full row, whether a 
-     *                        partial row scan is being executed or not.
-     *
-	 * @param startKeyValue   An indexable row which holds a (partial) key 
-     *                        value which, in combination with the 
-     *                        startSearchOperator, defines the starting 
-     *                        position of the scan.  If null, the starting
-     *                        position of the scan is the first row of the 
-     *                        conglomerate.  The startKeyValue must only
-     *                        reference columns included in the scanColumnList.
-     *
-	 * @param startSearchOperator 
-     *                        an operator which defines how the startKeyValue
-     *                        is to be searched for.  If startSearchOperation 
-     *                        is ScanController.GE, the scan starts on the 
-     *                        first row which is greater than or equal to the 
-	 *                        startKeyValue.  If startSearchOperation is 
-     *                        ScanController.GT, the scan starts on the first
-     *                        row whose key is greater than startKeyValue.  The
-     *                        startSearchOperation parameter is ignored if the
-     *                        startKeyValue parameter is null.
-     *
-	 * @param stopKeyValue    An indexable row which holds a (partial) key 
-     *                        value which, in combination with the 
-     *                        stopSearchOperator, defines the ending position
-     *                        of the scan.  If null, the ending position of the
-     *                        scan is the last row of the conglomerate.  The
-     *                        stopKeyValue must only reference columns included
-     *                        in the scanColumnList.
-     *
-	 * @param stopSearchOperator
-     *                        an operator which defines how the stopKeyValue
-     *                        is used to determine the scan stopping position. 
-     *                        If stopSearchOperation is ScanController.GE, the
-     *                        scan stops just before the first row which is
-     *                        greater than or equal to the stopKeyValue.  If 
-     *                        stopSearchOperation is ScanController.GT, the 
-     *                        scan stops just before the first row whose key 
-     *                        is greater than startKeyValue.  The
-     *                        stopSearchOperation parameter is ignored if the
-     *                        stopKeyValue parameter is null.
-     *
-     *                        
-     * @param access_type     Describe the type of access the query will be
-     *                        performing to the ScanController.  
-     *
-     *                        STORECOST_CLUSTERED - The location of one scan
-     *                            is likely clustered "close" to the previous 
-     *                            scan.  For instance if the query plan were
-     *                            to used repeated "reopenScan()'s" to probe
-     *                            for the next key in an index, then this flag
-     *                            should be be specified.  If this flag is not 
-     *                            set then each scan will be costed independant
-     *                            of any other predicted scan access.
-     *
-     *
-	 * @exception  StandardException  Standard exception policy.
-     *
-	 * @see RowUtil
-     **/
-	public void getScanCost(
-        int                     scan_type,
-        long                    row_count,
-        int                     group_size,
-		boolean                 forUpdate,
-		FormatableBitSet        scanColumnList,
-		DataValueDescriptor[]   template,
-		DataValueDescriptor[]   startKeyValue,
-		int                     startSearchOperator,
-		DataValueDescriptor[]   stopKeyValue,
-		int                     stopSearchOperator,
-        boolean                 reopen_scan,
-        int                     access_type,
-        StoreCostResult         cost_result)
-			throws StandardException
-    {
-        // Not implemented in default conglomerate, needs to be overridden.
-        throw StandardException.newException(
-                SQLState.HEAP_UNIMPLEMENTED_FEATURE);
-    }
+
 }

Modified: db/derby/code/trunk/java/engine/org/apache/derby/impl/store/access/conglomerate/GenericScanController.java
URL: http://svn.apache.org/viewcvs/db/derby/code/trunk/java/engine/org/apache/derby/impl/store/access/conglomerate/GenericScanController.java?rev=357820&r1=357819&r2=357820&view=diff
==============================================================================
--- db/derby/code/trunk/java/engine/org/apache/derby/impl/store/access/conglomerate/GenericScanController.java
(original)
+++ db/derby/code/trunk/java/engine/org/apache/derby/impl/store/access/conglomerate/GenericScanController.java
Mon Dec 19 14:35:45 2005
@@ -877,15 +877,12 @@
         scan_position.current_rh = startRecordHandle;
     }
 
-    protected void setRowLocationArray(
+    protected abstract void setRowLocationArray(
     RowLocation[]   rowloc_array,
     int             index,
     RowPosition     pos)
         throws StandardException
-    {
-        throw(StandardException.newException(
-                SQLState.HEAP_UNIMPLEMENTED_FEATURE));
-    }
+        ;
 
     /**************************************************************************
      * abstract protected Methods of This class:



Mime
View raw message