Docjar: A Java Source and Docuemnt Enginecom.*    java.*    javax.*    org.*    all    new    plug-in

Quick Search    Search Deep

org.apache.derby.impl.db.* (3)org.apache.derby.impl.drda.* (30)org.apache.derby.impl.io.* (14)
org.apache.derby.impl.jdbc.* (39)org.apache.derby.impl.load.* (12)org.apache.derby.impl.services.* (65)
org.apache.derby.impl.sql.* (431)org.apache.derby.impl.store.* (189)org.apache.derby.impl.tools.* (52)

Package Samples:

org.apache.derby.impl.drda
org.apache.derby.impl.db
org.apache.derby.impl.io
org.apache.derby.impl.jdbc.authentication
org.apache.derby.impl.jdbc
org.apache.derby.impl.load
org.apache.derby.impl.services.bytecode
org.apache.derby.impl.services.cache
org.apache.derby.impl.services.daemon
org.apache.derby.impl.services.jce
org.apache.derby.impl.services.locks
org.apache.derby.impl.services.monitor
org.apache.derby.impl.services.reflect
org.apache.derby.impl.services.stream
org.apache.derby.impl.services.uuid
org.apache.derby.impl.sql.catalog
org.apache.derby.impl.sql.compile
org.apache.derby.impl.sql.conn
org.apache.derby.impl.sql.depend
org.apache.derby.impl.sql.execute.rts

Classes:

TempTableInfo: The temp tables will have following data structure TableDescriptor Declared in savepoint level Dropped in savepoint level Modified in savepoint level The actual logic LanguageConnectionContext will keep the "current savepoint level". At any point in time, this is the total number of savepoints defined for a transaction. At the start of any new transaction, the "current savepoint level" will be set to 0. Everytime a new user defined savepoint is set, store returns the total number of savepoints for the connection at that point. For eg, in a new transaction, "current savepoint level' will be 0. When ...
ReclaimSpaceHelper: This class helps a BaseDataFactory reclaims unused space. Space needs to be reclaimed in the following cases: Row with long columns or overflow row pieces is deleted Insertion of a row that has long columns or overflows to other row pieces is rolled back Row is updated and the head row or some row pieces shrunk Row is updated and some long columns are orphaned because they are updated Row is updated and some long columns are created but the update rolled back Row is updated and some new row pieces are created but the update rolled back We can implement a lot of optimization if we know that btree ...
CoalesceFunctionNode: This node represents coalesce/value function which returns the first argument that is not null. The arguments are evaluated in the order in which they are specified, and the result of the function is the first argument that is not null. The result can be null only if all the arguments can be null. The selected argument is converted, if necessary, to the attributes of the result. SQL Reference Guide for DB2 has section titled "Rules for result data types" at the following url http://publib.boulder.ibm.com/infocenter/db2help/index.jsp?topic=/com.ibm.db2.udb.doc/admin/r0008480.htm I have constructed ...
BCJava: Debugging problems with generated classes When the code has been generated incorrectly, all sorts of odd things can go wrong. This is one recommended approach to finding the problem. First, turn on ByteCodeGenInstr and DumpClassFile. Look for missing files (right now they are consecutively numbered by the activation class builder; later on they won't be, but BytCodeGenInstr dumps messages about the classes it has). Look at the log to make sure that all "GEN starting class/method" messages are paired with a "GEN ending class/method" message. If a file is missing or the pairing is missing, then something ...
StoredFieldHeader: A class to provide static methods to manipulate fields in the field header. A class StoredPage uses to read/write field status and field data length. No attributes exist in this class, this class provides a set of static methods for writing field status and field data length, and for reading field status and field data length. Stored Field Header Format The field header is broken into two sections. Only the Status byte is required to be there. Field header format: +--------+-------------------+ | status | | +--------+-------------------+ Overflow page and overflow id are stored as field data. If ...
DDMReader: The DDMReader is used to read DRDA protocol. DRDA Protocol is divided into three layers corresponding to the DDM three-tier architecture. For each layer, their is a DSS (Data Stream Structure) defined. Layer A Communications management services Layer B Agent services Layer C Data management services At layer A are request, reply and data correlation, structure chaining, continuation or termination of chains when errors are detected, interleaving and multi-leaving request, reply, and data DSSs for multitasking environments. For TCP/IP, the format of the DDM envelope is 2 bytes Length of the data ...
TransactionResourceImpl: An instance of a TransactionResourceImpl is a bundle of things that connects a connection to the database - it is the transaction "context" in a generic sense. It is also the object of synchronization used by the connection object to make sure only one thread is accessing the underlying transaction and context. TransactionResourceImpl not only serves as a transaction "context", it also takes care of: context management: the pushing and popping of the context manager in and out of the global context service transaction demarcation: all calls to commit/abort/prepare/close a transaction must route ...
AllocPage: An allocation page of the file container. This class extends a normal Stored page, with the exception that a hunk of space may be 'borrowed' by the file container to store the file header. The borrowed space is not visible to the alloc page even though it is present in the page data array. It is accessed directly by the FileContainer. Any change made to the borrowed space is not managed or seen by the allocation page. Page Format An allocation page extends a stored page, the on disk format is different from a stored page in that N bytes are 'borrowed' by the container and the page header of an ...
Clock: A cache manager that uses a Hashtable and a ArrayList. The ArrayList holds CachedItem objects, each with a holder object. The Hashtable is keyed by the identity of the holder object (Cacheable.getIdentity()) and the data portion is a pointer to the CachedItem. CachedItems that have holder objects with no identity do not have entries in the hashtable. CachedItems can in various state. isValid - the entry has a valid identity inCreate - the entry is being created or being faulted in from persistent store inClean - the entry is being written out to persistent store isKept - the entry is currently ...
BasicDaemon: A BasicDaemon is a background worker thread which does asynchronous I/O and general clean up. It should not be used as a general worker thread for parallel execution. One cannot count on the order of request or count on when the daemon will wake up, even with serviceNow requests. Request are not persistent and not recoverable, they are all lost when the system crashes or is shutdown. System shutdown, even orderly ones, do not wait for daemons to finish its work or empty its queue. Furthermore, any Serviceable subscriptions, including onDemandOnly, must tolerate spurrious services. The BasicDaemon ...
SortResultSet: Takes a source result set, sends it to the sorter, and returns the results. If distinct is true, removes all but one copy of duplicate rows using DistinctAggregator, which really doesn't aggregate anything at all -- the sorter assumes that the presence of an aggregator means that it should return a single row for each set with identical ordering columns. If aggregate is true, then it feeds any number of aggregates to the sorter. Each aggregate is an instance of GenericAggregator which knows which Aggregator to call to perform the aggregation. Brief background on the sorter and aggregates: the sorter ...
GenericScanController: Generic class implementing shared ScanController methods. Logically a scancontroller is used to scan a set of rows that meet some specified qualification. Rows that meet the qualification may be operated upon by the scan to fetch, delete, or replace. The ScanController also supports the notion or "repositioning" the scan, which simply resets the beginning of the scan to a new place, and allows the user to continue from there. This class attempts to abstract out some of the parts of the scan such that maybe multiple access methods can share code, even if they perform parts of the scan wildly differently. ...
LogAccessFile: Wraps a RandomAccessFile file to provide buffering on log writes. Only supports the write calls required for the log! MT - unsafe. Caller of this class must provide synchronization. The one exception is with the log file access, LogAccessFile will touch the log only inside synchronized block protected by the semaphore, which is defined by the creator of this object. Write to the log buffers are allowed when there are free buffers even when dirty buffers are being written(flushed) to the disk by a different thread. Only one flush writes to log file at a time, other wait for it to finish. Except ...
BTreeLockingPolicy: The generic.BTree directory wants to know as little about locking as possible, in order to make the code usuable by multiple implementations. But the generic code will make calls to abstract lock calls implemented by concrete btree implementations. Concrete implementations like B2I understand locking, and needs informatation specific to the implementation to make the lock calls. This class is created and owned by the concrete application, but is passed into and returned from the generic code when lock calls are made. Concrete implementations which do not need lock calls can just pass a null pointer ...
StaticMethodCallNode: A StaticMethodCallNode represents a static method call from a Class (as opposed to from an Object). For a procedure the call requires that the arguments be ? parameters. The parameter is *logically* passed into the method call a number of different ways. For a application call like CALL MYPROC(?) the logically Java method call is (in psuedo Java/SQL code) (examples with CHAR(10) parameter) Fixed length IN parameters - com.acme.MyProcedureMethod(?) Variable length IN parameters - com.acme.MyProcedureMethod(CAST (? AS CHAR(10)) Fixed length INOUT parameter - String[] holder = new String[] {?}; com.acme.MyProcedureMethod(holder); ...
LogToFile: This is an implementation of the log using a non-circular file system file. No support for incremental log backup or media recovery. Only crash recovery is supported. The 'log' is a stream of log records. The 'log' is implemented as a series of numbered log files. These numbered log files are logically continuous so a transaction can have log records that span multiple log files. A single log record cannot span more then one log file. The log file number is monotonically increasing. The log belongs to a log factory of a RawStore. In the current implementation, each RawStore only has one log factory, ...
TransactionTable: The transaction table is used by the transaction factory to keep track of all transactions that are in the system. The transction table serves the following purposes: checkpoint - when a checkpoint log record is written out, it writes out also all transactions that have updated the database. RESOLVE: this is actually not used right now - rather, the transaction table is reconstructed during the redo phase by traversing from the undo LWM. It is a goal to use this transaction table (and traversing from the redoLWM) instead of rebuilding it to speed up recovery. Quiesce State - when a system enters ...
EmbedDatabaseMetaData: This class provides information about the database as a whole. Many of the methods here return lists of information in ResultSets. You can use the normal ResultSet methods such as getString and getInt to retrieve the data from these ResultSets. If a given form of metadata is not available, these methods should throw a SQLException. Some of these methods take arguments that are String patterns. These arguments all have names such as fooPattern. Within a pattern String, "%" means match any substring of 0 or more characters, and "_" means match any one character. Only metadata entries matching the ...
LikeEscapeOperatorNode: This node represents a like comparison operator (no escape) If the like pattern is a constant or a parameter then if possible the like is modified to include a >= and = prefix padded with '' to length n -- e.g. Cloudscape = 255 >= prefix backed up one characer = '' padded with '' to length n 256 >= NULL <= '?' Note that the Unicode value is '?' is defined as not a character value and can be used by a program for any purpose. We use it to set an upper bound on a character range with a less than predicate. We only need a single '?' appended because the string 'Cloudscape??' is not a valid String ...
CachedItem: A generic class to represent the cache related infomation of a cached object (Cacheable). The relationship between isValid and settingIdentity can be explain by the following life cycle of a cached item. Stage 1 2 3 ---------------------- isValid F T T settingIdentity X T F In Stage 1, the CachedItem is created but it is invalid and has an entry that is just a holder object with no identity. In Stage 2, the identity has been set and the item is being created or being faulted into the cache. In Stage 3, the item found in the CachedItem entry Remove is set if this item is being removed out of existance, ...
SubqueryNode: A SubqueryNode represents a subquery. Subqueries return values to their outer queries. An quantified subquery is one that appears under a quantified operator (like IN or EXISTS) - quantified subqueries can return more than one value per invocation. An expression subquery is one that is not directly under a quantified operator - expression subqueries are allowed to return at most one value per invocation (returning no value is considered to be equivalent to returning NULL). There are a large number of subquery types. Because of the large number of types, and the large amount of shared code, we have ...
EmbedBlob: Implements java.sql.Blob (see the JDBC 2.0 spec). A blob sits on top of a BINARY, VARBINARY or LONG VARBINARY column. If its data is small (less than 1 page) it is a byte array taken from the SQLBit class. If it is large (more than 1 page) it is a long column in the database. The long column is accessed as a stream, and is implemented in store as an OverflowInputStream. The Resetable interface allows sending messages to that stream to initialize itself (reopen its container and lock the corresponding row) and to reset itself to the beginning. NOTE: In the case that the data is large, it is represented ...
EmbedClob: Implements java.sql.Clob (see the JDBC 2.0 spec). A clob sits on top of a CHAR, VARCHAR or LONG VARCHAR column. If its data is small (less than 1 page) it is a byte array taken from the SQLChar class. If it is large (more than 1 page) it is a long column in the database. The long column is accessed as a stream, and is implemented in store as an OverflowInputStream. The Resetable interface allows sending messages to that stream to initialize itself (reopen its container and lock the corresponding row) and to reset itself to the beginning. NOTE: In the case that the data is large, it is represented ...
FromBaseTable: A FromBaseTable represents a table in the FROM list of a DML statement, as distinguished from a FromSubquery, which represents a subquery in the FROM list. A FromBaseTable may actually represent a view. During parsing, we can't distinguish views from base tables. During binding, when we find FromBaseTables that represent views, we replace them with FromSubqueries. By the time we get to code generation, all FromSubqueries have been eliminated, and all FromBaseTables will represent only true base tables. Positioned Update : Currently, all columns of an updatable cursor are selected to deal with a ...
ContainerOperation: Log operation to create, drop or remove a container. Both the doMe or the undoMe of a create actually caused the container header to be modified and flushed before the log record is flushed. This is necessary for 2 reasons, one is that of ensuring enough disk space, and the other is because unlike any other operation, the log record create container is in the log stream before the container is in the container cache. What this mean is that if a checkpoint started after the container operation but before the container is kept or is dirtied in the container cache, then checkpoint will not know to ...

Home | Contact Us | Privacy Policy | Terms of Service