Java Doc for OpenBTree.java in  » Database-DBMS » db-derby-10.2 » org » apache » derby » impl » store » access » btree » Java Source Code / Java DocumentationJava Source Code and Java Documentation

Java Source Code / Java Documentation
1. 6.0 JDK Core
2. 6.0 JDK Modules
3. 6.0 JDK Modules com.sun
4. 6.0 JDK Modules com.sun.java
5. 6.0 JDK Modules sun
6. 6.0 JDK Platform
7. Ajax
8. Apache Harmony Java SE
9. Aspect oriented
10. Authentication Authorization
11. Blogger System
12. Build
13. Byte Code
14. Cache
15. Chart
16. Chat
17. Code Analyzer
18. Collaboration
19. Content Management System
20. Database Client
21. Database DBMS
22. Database JDBC Connection Pool
23. Database ORM
24. Development
25. EJB Server geronimo
26. EJB Server GlassFish
27. EJB Server JBoss 4.2.1
28. EJB Server resin 3.1.5
29. ERP CRM Financial
30. ESB
31. Forum
32. GIS
33. Graphic Library
34. Groupware
35. HTML Parser
36. IDE
37. IDE Eclipse
38. IDE Netbeans
39. Installer
40. Internationalization Localization
41. Inversion of Control
42. Issue Tracking
43. J2EE
44. JBoss
45. JMS
46. JMX
47. Library
48. Mail Clients
49. Net
50. Parser
51. PDF
52. Portal
53. Profiler
54. Project Management
55. Report
56. RSS RDF
57. Rule Engine
58. Science
59. Scripting
60. Search Engine
61. Security
62. Sevlet Container
63. Source Control
64. Swing Library
65. Template Engine
66. Test Coverage
67. Testing
68. UML
69. Web Crawler
70. Web Framework
71. Web Mail
72. Web Server
73. Web Services
74. Web Services apache cxf 2.0.1
75. Web Services AXIS2
76. Wiki Engine
77. Workflow Engines
78. XML
79. XML UI
Java
Java Tutorial
Java Open Source
Jar File Download
Java Articles
Java Products
Java by API
Photoshop Tutorials
Maya Tutorials
Flash Tutorials
3ds-Max Tutorials
Illustrator Tutorials
GIMP Tutorials
C# / C Sharp
C# / CSharp Tutorial
C# / CSharp Open Source
ASP.Net
ASP.NET Tutorial
JavaScript DHTML
JavaScript Tutorial
JavaScript Reference
HTML / CSS
HTML CSS Reference
C / ANSI-C
C Tutorial
C++
C++ Tutorial
Ruby
PHP
Python
Python Tutorial
Python Open Source
SQL Server / T-SQL
SQL Server / T-SQL Tutorial
Oracle PL / SQL
Oracle PL/SQL Tutorial
PostgreSQL
SQL / MySQL
MySQL Tutorial
VB.Net
VB.Net Tutorial
Flash / Flex / ActionScript
VBA / Excel / Access / Word
XML
XML Tutorial
Microsoft Office PowerPoint 2007 Tutorial
Microsoft Office Excel 2007 Tutorial
Microsoft Office Word 2007 Tutorial
Java Source Code / Java Documentation » Database DBMS » db derby 10.2 » org.apache.derby.impl.store.access.btree 
Source Cross Reference  Class Diagram Java Document (Java Doc) 


java.lang.Object
   org.apache.derby.impl.store.access.btree.OpenBTree

All known Subclasses:   org.apache.derby.impl.store.access.btree.BTreeCostController,  org.apache.derby.impl.store.access.btree.BTreeScan,  org.apache.derby.impl.store.access.btree.BTreeController,
OpenBTree
public class OpenBTree (Code)
An open b-tree contains fields and methods common to scans and controllers.

Concurrency Notes<\B>

An instance of an open b-tree is owned by a single context. The b-tree code assumes that the context ensures that only one thread at a time is using the open b-tree. The open b-tree itself does not enforce or check this.



Field Summary
protected  LogicalUndobtree_undo
    
protected  ContainerHandlecontainer
     The (open) container which contains the b-tree.
protected  longerr_containerid
     The conglomerate containerid for error reporting.
protected  intinit_lock_level
    
protected  TransactionManagerinit_open_user_scans
     In the case of splits, notify all scans in this transaction to save their current position by key, because the split may move the row they are positioned on.
protected  OpenConglomerateScratchSpaceruntime_mem
     scratch space used for stuff like templates, export rows, ...


Method Summary
public  voidcheckConsistency()
     Check consistency of a btree.

Read in root and check consistency of entire tree.

public  voidclose()
     Close the open conglomerate.
public  voiddebugConglomerate()
     Dump information about tree into the log.
public  boolean[]getColumnSortOrderInfo()
    
final public  BTreegetConglomerate()
    
final public  ContainerHandlegetContainer()
    
public  ContainerHandlegetContainerHandle()
     Return the container handle.
public  longgetEstimatedRowCount()
     Get the total estimated number of rows in the container.

The number is a rough estimate and may be grossly off.

public  intgetHeight()
     get height of the tree.

Read in root and return the height (number of levels) of the tree. The level of a tree is 0 in the leaf and increases by 1 for each level of the tree as you go up the tree.

final public  booleangetHold()
    
final public  intgetLockLevel()
    
final public  BTreeLockingPolicygetLockingPolicy()
    
final public  intgetOpenMode()
    
final public  TransactiongetRawTran()
    
final public  OpenConglomerateScratchSpacegetRuntimeMem()
    
public  SpaceInfogetSpaceInfo()
    
final public  TransactionManagergetXactMgr()
    
public  voidinit(TransactionManager open_user_scans, TransactionManager xact_manager, ContainerHandle input_container, Transaction rawtran, boolean hold, int open_mode, int lock_level, BTreeLockingPolicy btree_locking_policy, BTree conglomerate, LogicalUndo undo, DynamicCompiledOpenConglomInfo dynamic_info)
     Initialize the open conglomerate.

If container is null, open the container, otherwise use the container passed in.

final public  booleanisClosed()
    
 voidisIndexableRowConsistent(DataValueDescriptor[] row)
     Check if all the columns are Indexable and Storable.
public  booleanisTableLocked()
    
public  RecordHandlemakeRecordHandle(long page_number, int rec_id)
    
public  ContainerHandlereopen()
     Open the container after it has been closed previously.

Open the container, obtaining necessary locks.

public  voidsetEstimatedRowCount(long count)
     Set the total estimated number of rows in the container.

Often, after a scan, the client of RawStore has a much better estimate of the number of rows in the container than what store has.

final public  voidsetLockingPolicy(BTreeLockingPolicy policy)
    
public static  booleantest_errors(OpenBTree open_btree, String debug_string, boolean release_scan_lock, BTreeLockingPolicy btree_locking_policy, LeafControlRow leaf, boolean input_latch_released)
     Testing infrastructure to cause unusual paths through the code.

Through the use of debug flags allow test code to cause otherwise hard to cause paths through the code.


Field Detail
btree_undo
protected LogicalUndo btree_undo(Code)



container
protected ContainerHandle container(Code)
The (open) container which contains the b-tree.



err_containerid
protected long err_containerid(Code)
The conglomerate containerid for error reporting.



init_lock_level
protected int init_lock_level(Code)
Table or page locking?



init_open_user_scans
protected TransactionManager init_open_user_scans(Code)
In the case of splits, notify all scans in this transaction to save their current position by key, because the split may move the row they are positioned on. This is done by calling open_user_scans.saveScanPositions(). Note that not all OpenBTree's will have a non-null open_user_scans. For instance logical undo of btree operations will get a OpenBTree with a null open_user_scans, this is all right because this operation should never need to call saveScanPositions() (ie. it will never do a split).



runtime_mem
protected OpenConglomerateScratchSpace runtime_mem(Code)
scratch space used for stuff like templates, export rows, ...





Method Detail
checkConsistency
public void checkConsistency() throws StandardException(Code)
Check consistency of a btree.

Read in root and check consistency of entire tree. Currently raises sanity check errors.

RESOLVE (mikem) if this is to be supported in non-sanity servers what should it do?
exception:
  StandardException - Standard exception policy.




close
public void close() throws StandardException(Code)
Close the open conglomerate.



debugConglomerate
public void debugConglomerate() throws StandardException(Code)
Dump information about tree into the log.

Traverse the tree dumping info about tree into the log.
exception:
  StandardException - Standard exception policy.




getColumnSortOrderInfo
public boolean[] getColumnSortOrderInfo() throws StandardException(Code)



getConglomerate
final public BTree getConglomerate()(Code)



getContainer
final public ContainerHandle getContainer()(Code)



getContainerHandle
public ContainerHandle getContainerHandle()(Code)
Return the container handle.

The open container handle of the btree.




getEstimatedRowCount
public long getEstimatedRowCount() throws StandardException(Code)
Get the total estimated number of rows in the container.

The number is a rough estimate and may be grossly off. In general the server will cache the row count and then occasionally write the count unlogged to a backing store. If the system happens to shutdown before the store gets a chance to update the row count it may wander from reality.

This call is currently only supported on Heap conglomerates, it will throw an exception if called on btree conglomerates. The total estimated number of rows in the conglomerate.
exception:
  StandardException - Standard exception policy.




getHeight
public int getHeight() throws StandardException(Code)
get height of the tree.

Read in root and return the height (number of levels) of the tree. The level of a tree is 0 in the leaf and increases by 1 for each level of the tree as you go up the tree.
exception:
  StandardException - Standard exception policy.




getHold
final public boolean getHold()(Code)



getLockLevel
final public int getLockLevel()(Code)



getLockingPolicy
final public BTreeLockingPolicy getLockingPolicy()(Code)



getOpenMode
final public int getOpenMode()(Code)



getRawTran
final public Transaction getRawTran()(Code)



getRuntimeMem
final public OpenConglomerateScratchSpace getRuntimeMem()(Code)



getSpaceInfo
public SpaceInfo getSpaceInfo() throws StandardException(Code)



getXactMgr
final public TransactionManager getXactMgr()(Code)
Public Accessors of This class:



init
public void init(TransactionManager open_user_scans, TransactionManager xact_manager, ContainerHandle input_container, Transaction rawtran, boolean hold, int open_mode, int lock_level, BTreeLockingPolicy btree_locking_policy, BTree conglomerate, LogicalUndo undo, DynamicCompiledOpenConglomInfo dynamic_info) throws StandardException(Code)
Initialize the open conglomerate.

If container is null, open the container, otherwise use the container passed in. The container is always opened with no locking, it is up to the caller to make the appropriate container locking call.


Parameters:
  open_user_scans - The user transaction which opened this btree.
Parameters:
  xact_manager - The current transaction, usually the same as"open_user_scans", but in the case of split itis the internal xact nested below the user xact.
Parameters:
  input_container - The open container holding the index, if it isalready open, else null which will mean thisroutine will open it.
Parameters:
  rawtran - The current raw store transaction.
Parameters:
  open_mode - The opening mode for the ContainerHandle.
Parameters:
  conglomerate - Readonly description of the conglomerate.
Parameters:
  undo - Logical undo object to associate with all updatesdone on this open btree.
exception:
  StandardException - Standard exception policy.




isClosed
final public boolean isClosed()(Code)



isIndexableRowConsistent
void isIndexableRowConsistent(DataValueDescriptor[] row) throws StandardException(Code)
Check if all the columns are Indexable and Storable. Eventually this routine could check whether all the types were right also.
exception:
  StandardException - Standard Exception Policy.



isTableLocked
public boolean isTableLocked()(Code)
is the open btree table locked?



makeRecordHandle
public RecordHandle makeRecordHandle(long page_number, int rec_id) throws StandardException(Code)



reopen
public ContainerHandle reopen() throws StandardException(Code)
Open the container after it has been closed previously.

Open the container, obtaining necessary locks. Most work is actually done by RawStore.openContainer(). Will only reopen() if the container is not already open.
exception:
  StandardException - Standard exception policy.




setEstimatedRowCount
public void setEstimatedRowCount(long count) throws StandardException(Code)
Set the total estimated number of rows in the container.

Often, after a scan, the client of RawStore has a much better estimate of the number of rows in the container than what store has. For instance if we implement some sort of update statistics command, or just after a create index a complete scan will have been done of the table. In this case this interface allows the client to set the estimated row count for the container, and store will use that number for all future references.

This call is currently only supported on Heap conglomerates, it will throw an exception if called on btree conglomerates.
Parameters:
  count - the estimated number of rows in the container.
exception:
  StandardException - Standard exception policy.




setLockingPolicy
final public void setLockingPolicy(BTreeLockingPolicy policy)(Code)



test_errors
public static boolean test_errors(OpenBTree open_btree, String debug_string, boolean release_scan_lock, BTreeLockingPolicy btree_locking_policy, LeafControlRow leaf, boolean input_latch_released) throws StandardException(Code)
Testing infrastructure to cause unusual paths through the code.

Through the use of debug flags allow test code to cause otherwise hard to cause paths through the code.

whether the latch has been released by this routine.
exception:
  StandardException - Standard exception policy.




Methods inherited from java.lang.Object
native protected Object clone() throws CloneNotSupportedException(Code)(Java Doc)
public boolean equals(Object obj)(Code)(Java Doc)
protected void finalize() throws Throwable(Code)(Java Doc)
final native public Class getClass()(Code)(Java Doc)
native public int hashCode()(Code)(Java Doc)
final native public void notify()(Code)(Java Doc)
final native public void notifyAll()(Code)(Java Doc)
public String toString()(Code)(Java Doc)
final native public void wait(long timeout) throws InterruptedException(Code)(Java Doc)
final public void wait(long timeout, int nanos) throws InterruptedException(Code)(Java Doc)
final public void wait() throws InterruptedException(Code)(Java Doc)

w__w_w_.__j___a__v___a2_s__.__c__o___m | Contact Us
Copyright 2009 - 12 Demo Source and Support. All rights reserved.
All other trademarks are property of their respective owners.