List:Commits« Previous MessageNext Message »
From:jon Date:April 27 2007 12:35am
Subject:svn commit - mysqldoc@docsrva: r6235 - trunk/ndbapi
View as plain text  
Author: jstephens
Date: 2007-04-27 02:35:14 +0200 (Fri, 27 Apr 2007)
New Revision: 6235

Log:

Added skeleton Kernel Blocks section to NDB Internals chapter file.



Modified:
   trunk/ndbapi/ndb-internals.xml


Modified: trunk/ndbapi/ndb-internals.xml
===================================================================
--- trunk/ndbapi/ndb-internals.xml	2007-04-26 22:41:43 UTC (rev 6234)
+++ trunk/ndbapi/ndb-internals.xml	2007-04-27 00:35:14 UTC (rev 6235)
Changed blocks: 1, Lines Added: 667, Lines Deleted: 1; 23807 bytes

@@ -1552,7 +1552,673 @@
 
   </section>
 
-</section>
+  </section>
+  
+  <section id="ndb-internals-kernel-blocks">
+    <title><literal>NDB</literal> Kernel Blocks</title>
+    
+    <para>
+      This section lists and describes the major kernel blocks found in
+      the <literal>NDB</literal> source code, under the directory
+      <filename>storage/ndb/src/kernel/blocks/</filename>.
+    </para>
+    
+    <remark role="note">
+      [js] Using an itemizedlist for now, may want to promote list items
+      to (sub)sections as more information is added?
+    </remark>
+    
+    <remark role="note">
+      [js] I've omitted makefiles and SCCS subdirectories from the
+      kernel block file listings. 
+    </remark>
+    
+    <remark role="todo">
+      [js] Possibly remove .txt files from listings and incorporate
+      their content directly into this doc?
+    </remark>
+    
+    <remark role="todo">
+      Alphabatise file listings within each block; add descriptions of
+      the code in each one and what it does.
+    </remark>
+    
+    <itemizedlist>
+      <listitem>
+        <formalpara>
+          <title><literal>BACKUP</literal></title>
+          <para>
+            This block is responsible for handling online backups. It
+            it is found in
+            <filename>storage/ndb/src/kernel/blocks/backup/</filename>,
+            and contains the following files:
+            
+            <itemizedlist>
+              <listitem>
+                <para><filename>Backup.cpp</filename></para>
+                </listitem><listitem>
+                <para><filename>BackupFormat.hpp</filename></para>
+                  </listitem><listitem>
+                <para><filename>Backup.hpp</filename></para>
+                    </listitem><listitem>
+                      <para><filename>BackupInit.cpp</filename></para>
+                    </listitem><listitem>
+                      <para><filename>Backup.txt</filename></para>
+                    </listitem><listitem>
+                      <para><filename>FsBuffer.hpp</filename></para>
+                    </listitem><listitem>
+                <para><filename>read.cpp</filename></para>
+                
+              </listitem>
+            </itemizedlist>
+            
+          </para>
+        </formalpara>
+        
+      </listitem>
+      <listitem>
+        <formalpara>
+          <title><literal>CMVMI</literal></title>
+          <para>
+            This block is responsible for configuration management
+            between the kernel blocks and the <literal>NDB</literal>
+            virtual machine. It is found in <filename>storage/ndb/src/kernel/blocks/cmvmi</filename>, and
+            contains these files:
+            <itemizedlist>
+              <listitem>
+                <para><filename>Cmvmi.cpp</filename></para>
+              </listitem>
+              <listitem>
+                <para><filename>Cmvmi.hpp</filename></para>
+              </listitem>
+            </itemizedlist>
+            
+          </para>
+        </formalpara>
+        
+      </listitem>
+      <listitem>
+        <formalpara>
+          <title><literal>DBACC</literal></title>
+          <para>
+            This is the access control and lock management module, found
+            in <filename>storage/ndb/src/kernel/blocks/dbacc</filename>.
+            It contains the following files:
+            <itemizedlist>
+              <listitem>
+                <para><filename>Dbacc.hpp</filename></para>
+                </listitem><listitem>
+                  <para><filename>DbaccInit.cpp</filename></para>
+                </listitem><listitem>
+                <para><filename>DbaccMain.cpp</filename></para>
+              </listitem>
+            </itemizedlist>
+            
+          </para>
+        </formalpara>
+        
+      </listitem>
+      <listitem>
+        <formalpara>
+          <title><literal>DBDICT</literal></title>
+          <para>
+            This block, found in
+            <filename>storage/ndb/src/kernel/blocks/dbdict</filename>,
+            manages metadata such as table and index definitions. This
+            block contains these files:
+            <itemizedlist>
+              <listitem>
+                <para><filename>CreateIndex.txt</filename></para>
+              </listitem><listitem>
+                <para><filename>Dbdict.cpp</filename></para>
+              </listitem><listitem>
+                <para><filename>DictLock.txt</filename></para>
+              </listitem><listitem>
+                <para><filename>printSchemaFile.cpp</filename></para>
+              </listitem><listitem>
+                <para><filename>Slave_AddTable.sfl</filename></para>
+              </listitem><listitem>
+                <para><filename>CreateTable.new.txt</filename></para>
+              </listitem><listitem>
+                <para><filename>Dbdict.hpp</filename></para>
+              </listitem><listitem>
+                <para><filename>DropTable.txt</filename></para>
+              </listitem><listitem>
+                <para><filename>CreateTable.txt</filename></para>
+              </listitem><listitem>
+                <para><filename>Dbdict.txt</filename></para>
+              </listitem><listitem>
+                <para><filename>Event.txt</filename></para>
+              </listitem><listitem>
+                <para><filename>Master_AddTable.sfl</filename></para>
+              </listitem><listitem>
+                <para><filename>SchemaFile.hpp</filename></para>
+              </listitem>
+            </itemizedlist>
+            
+          </para>
+        </formalpara>
+        
+      </listitem>
+      <listitem>
+        <formalpara>
+          <title><literal>DBLIH</literal></title>
+          <para>
+            This block provides data distribution management services.
+            It is responsible for maintaining data fragments and
+            replicas, handling of local and global checkpoints, and
+            manages system restarts. It contains the following files,
+            all found in the directory
+            <filename>storage/ndb/src/kernel/blocks/dbdih</filename>: 
+            <itemizedlist>
+              <listitem>
+                <para><filename>Dbdih.hpp</filename></para>
+              </listitem>
+              <listitem>
+                <para><filename>DbdihMain.cpp</filename></para>
+              </listitem>
+              <listitem>
+                <para><filename>printSysfile/printSysfile.cpp</filename></para>
+              </listitem>
+              <listitem>
+                <para><filename>DbdihInit.cpp</filename></para>
+              </listitem>
+              <listitem>
+                <para><filename>LCP.txt</filename></para>
+              </listitem>
+              <listitem>
+                <para><filename>printSysfile.cpp</filename></para>
+              </listitem>
+              <listitem>
+                <para><filename>Sysfile.hpp</filename></para>
+              </listitem>
+            </itemizedlist>
+            
+          </para>
+        </formalpara>
+        
+      </listitem>
+      <listitem>
+        <formalpara>
+          <title><literal>DBLQH</literal></title>
+          <para>
+            This is the local query handler block, which manages data
+            and transactions local to the cluster's data nodes. It
+            ismade up of the following files, found in
+            <filename>storage/ndb/src/kernel/blocks/dblqh</filename>:
+            
+            <itemizedlist>
+              <listitem>
+                <para><filename>Dblqh.hpp</filename></para>
+              </listitem>
+              <listitem>
+                <para><filename>DblqhInit.cpp</filename></para>
+              </listitem>
+              <listitem>
+                <para><filename>DblqhMain.cpp</filename></para>
+              </listitem>
+              <listitem>
+                <para><filename>redoLogReader/records.cpp</filename></para>
+              </listitem>
+              <listitem>
+                <para><filename>redoLogReader/records.hpp</filename></para>
+              </listitem>
+              <listitem>
+                <para><filename>redoLogReader/redoLogFileReader.cpp</filename></para>
+              </listitem>
+            </itemizedlist>
+            
+          </para>
+        </formalpara>
+        
+      </listitem>
+      <listitem>
+        <formalpara>
+          <title><literal>DBTC</literal></title>
+          <para>
+            This is the transaction coordinator block, which handles
+            distributed transactions and other data operations on a
+            global level. In the source code, it is located in the
+            directory
+            <filename>storage/ndb/src/kernel/blocks/dbtc</filename>, which contains these files:
+            <itemizedlist>
+              <listitem>
+                <para><filename>Dbtc.hpp</filename></para>
+              </listitem>
+              <listitem>
+                <para><filename>DbtcInit.cpp</filename></para>
+              </listitem>
+              <listitem>
+                <para><filename>DbtcMain.cpp</filename></para>
+              </listitem>
+            </itemizedlist>
+            
+          </para>
+        </formalpara>
+        
+      </listitem>
+      <listitem>
+        <formalpara>
+          <title><literal>DBTUP</literal></title>
+          <para>
+            This is the tuple manager, which manages the physical
+            storage of cluster data. It consists of the the following
+            files found in the directory
+            <filename>storage/ndb/src/kernel/blocks/dbtup</filename>: 
+            <itemizedlist>
+              <listitem>
+                <para><filename>AttributeOffset.hpp</filename></para>
+              </listitem>
+              <listitem><para><filename>DbtupDiskAlloc.cpp</filename></para>
+              </listitem>
+              <listitem><para><filename>DbtupIndex.cpp</filename></para>
+              </listitem>
+              <listitem><para><filename>DbtupScan.cpp</filename></para>
+              </listitem>
+              <listitem><para><filename>tuppage.cpp</filename></para>
+              </listitem>
+              <listitem><para><filename>DbtupAbort.cpp</filename></para>
+              </listitem>
+              <listitem><para><filename>DbtupExecQuery.cpp</filename></para>
+              </listitem>
+              <listitem><para><filename>DbtupMeta.cpp</filename></para>
+              </listitem>
+              <listitem><para><filename>DbtupStoredProcDef.cpp</filename></para>
+              </listitem>
+              <listitem><para><filename>tuppage.hpp</filename></para>
+              </listitem>
+              <listitem><para><filename>DbtupBuffer.cpp</filename></para>
+              </listitem>
+              <listitem><para><filename>DbtupFixAlloc.cpp</filename></para>
+              </listitem>
+              <listitem><para><filename>DbtupPageMap.cpp</filename></para>
+              </listitem>
+              <listitem><para><filename>DbtupTabDesMan.cpp</filename></para>
+              </listitem>
+              <listitem><para><filename>Notes.txt</filename></para>
+              </listitem>
+              <listitem><para><filename>Undo_buffer.cpp</filename></para>
+              </listitem>
+              <listitem><para><filename>DbtupCommit.cpp</filename></para>
+              </listitem>
+              <listitem><para><filename>DbtupGen.cpp</filename></para>
+              </listitem>
+              <listitem><para><filename>DbtupPagMan.cpp</filename></para>
+              </listitem>
+              <listitem><para><filename>DbtupTrigger.cpp</filename></para>
+              </listitem>
+              <listitem><para><filename>Undo_buffer.hpp</filename></para>
+              </listitem>
+              <listitem><para><filename>DbtupDebug.cpp</filename></para>
+              </listitem>
+              <listitem><para><filename>Dbtup.hpp</filename></para>
+              </listitem>
+              <listitem><para><filename>DbtupRoutines.cpp</filename></para>
+              </listitem>
+              <listitem><para><filename>DbtupVarAlloc.cpp</filename></para>
+              </listitem>
+              <listitem><para><filename>test_varpage.cpp</filename></para>
+              </listitem>
+            </itemizedlist>
+            
+          </para>
+        </formalpara>
+        
+      </listitem>
+      <listitem>
+        <formalpara>
+          <title><literal>DBTUX</literal></title>
+          <para>
+            This kernel block handles the local management of ordered
+            indexes. It consists of the the following files found in the
+            <filename>storage/ndb/src/kernel/blocks/dbtux</filename>
+            directory: 
+            <itemizedlist>
+              <listitem>
+                <para><filename>DbtuxCmp.cpp</filename></para>
+              </listitem>
+              <listitem>
+                <para><filename>DbtuxGen.cpp</filename></para>
+              </listitem>
+              <listitem>
+                <para><filename>DbtuxMaint.cpp</filename></para>
+              </listitem>
+              <listitem>
+                <para><filename>DbtuxNode.cpp</filename></para>
+              </listitem>
+              <listitem>
+                <para><filename>DbtuxSearch.cpp</filename></para>
+              </listitem>
+              <listitem>
+                <para><filename>DbtuxTree.cpp</filename></para>
+              </listitem>
+              <listitem>
+                <para><filename>Times.txt</filename></para>
+              </listitem>
+              <listitem>
+                <para><filename>DbtuxDebug.cpp</filename></para>
+              </listitem>
+              <listitem>
+                <para><filename>Dbtux.hpp</filename></para>
+              </listitem>
+              <listitem>
+                <para><filename>DbtuxMeta.cpp</filename></para>
+              </listitem>
+              <listitem>
+                <para><filename>DbtuxScan.cpp</filename></para>
+              </listitem>
+              <listitem>
+                <para><filename>DbtuxStat.cpp</filename></para>
+              </listitem>
+              <listitem>
+                <para><filename>tuxstatus.html</filename></para>
+              </listitem>
+            </itemizedlist>
+            
+          </para>
+        </formalpara>
+        
+      </listitem>
+      <listitem>
+        <formalpara>
+          <title><literal>DBUTIL</literal></title>
+          <para>
+            This block provides internal interfaces to transaction and
+            data operations. It is found in
+            <filename>storage/ndb/src/kernel/blocks/dbutil</filename>,
+            and includes these files:
+            <itemizedlist>
+              <listitem>
+                <para><filename>DbUtil.cpp</filename></para>
+              </listitem>
+              <listitem>
+                <para><filename>DbUtil.hpp</filename></para>
+              </listitem>
+              <listitem>
+                <para><filename>DbUtil.txt</filename></para>
+              </listitem>
+            </itemizedlist>
+            
+          </para>
+        </formalpara>
+        
+      </listitem>
+      <listitem>
+        <formalpara>
+          <title><literal>NDBCNTR</literal></title>
+          <para>
+            This is a cluster management block that handles block
+            initialisation and configuration. It is located in
+            <filename>storage/ndb/src/kernel/blocks/ndbcntr</filename>,
+            and contains these files: 
+            <itemizedlist>
+              <listitem>
+                <para><filename>Ndbcntr.hpp</filename></para>
+              </listitem>
+              <listitem>
+                <para><filename>NdbcntrInit.cpp</filename></para>
+              </listitem>
+              <listitem>
+                <para><filename>NdbcntrMain.cpp</filename></para>
+              </listitem>
+              <listitem>
+                <para><filename>NdbcntrSysTable.cpp</filename></para>
+              </listitem>
+            </itemizedlist>
+            
+          </para>
+        </formalpara>
+        
+      </listitem>
+      <listitem>
+        <formalpara>
+          <title><literal>NDBFS</literal></title>
+          <para>
+            This block provides the <literal>NDB</literal> filesystem
+            abstraction layer, and is located in the directory
+            <filename>storage/ndb/src/kernel/blocks/ndbfs</filename>,
+            which contains the following files:
+            <itemizedlist>
+              <listitem>
+                <para><filename>AsyncFile.cpp</filename></para>
+              </listitem>
+              <listitem>
+                <para><filename>CircularIndex.cpp</filename></para>
+              </listitem>
+              <listitem>
+                <para><filename>Filename.hpp</filename></para>
+              </listitem>
+              <listitem>
+                <para><filename>MemoryChannelTest/MemoryChannelTest.cpp</filename></para>
+              </listitem>
+              <listitem>
+                <para><filename>OpenFiles.hpp</filename></para>
+              </listitem>
+              <listitem>
+                <para><filename>VoidFs.cpp</filename></para>
+              </listitem>
+              <listitem>
+                <para><filename>AsyncFile.hpp</filename></para>
+              </listitem>
+              <listitem>
+                <para><filename>CircularIndex.hpp</filename></para>
+              </listitem>
+              <listitem>
+                <para><filename>MemoryChannel.cpp</filename></para>
+              </listitem>
+              <listitem>
+                <para><filename>Ndbfs.cpp</filename></para>
+              </listitem>
+              <listitem>
+                <para><filename>Pool.hpp</filename></para>
+              </listitem>
+              <listitem>
+                <para><filename>AsyncFileTest/AsyncFileTest.cpp</filename></para>
+              </listitem>
+              <listitem>
+                <para><filename>Filename.cpp</filename></para>
+              </listitem>
+              <listitem>
+                <para><filename>MemoryChannel.hpp</filename></para>
+              </listitem>
+              <listitem>
+                <para><filename>Ndbfs.hpp</filename></para>
+              </listitem>
+            </itemizedlist>
+            
+          </para>
+        </formalpara>
+        
+      </listitem>
+      <listitem>
+        <formalpara>
+          <title><literal>QMGR</literal></title>
+          <para>
+            This is the logical cluster management block, and handles
+            node membership in the cluster. It contains the following
+            files, found in
+            <filename>storage/ndb/src/kernel/blocks/qmgr</filename>; 
+            <itemizedlist>
+              <listitem>
+                <para><filename>Qmgr.hpp</filename></para>
+              </listitem>
+              <listitem>
+                <para><filename>QmgrInit.cpp</filename></para>
+              </listitem>
+              <listitem>
+                <para><filename>QmgrMain.cpp</filename></para>
+              </listitem>
+              <listitem>
+                <para><filename>timer.hpp</filename></para>
+              </listitem>
+            </itemizedlist>
+            
+          </para>
+        </formalpara>
+        
+      </listitem>
+      <listitem>
+        <formalpara>
+          <title><literal>SUMA</literal></title>
+          <para>
+            The cluster subscription manager, which handles event
+            logging and reporting functions. It consists of the
+            following files, found in the directory
+            <filename>storage/ndb/src/kernel/blocks/suma/</filename>:
+            <itemizedlist>
+              <listitem>
+                <para><filename>Suma.cpp</filename></para>
+              </listitem>
+              <listitem>
+                <para><filename>Suma.hpp</filename></para>
+              </listitem>
+              <listitem>
+                <para><filename>SumaInit.cpp</filename></para>
+              </listitem>
+              <listitem>
+                <para><filename>Suma.txt</filename></para>
+              </listitem>
+            </itemizedlist>
+            
+          </para>
+        </formalpara>
+        
+      </listitem>
+      <listitem>
+        <formalpara>
+          <title><literal>TRIX</literal></title>
+          <para>
+            This kernel block is responsible for the building of unique
+            indexes. It is found in the directory
+            <filename>storage/ndb/src/kernel/blocks/trix</filename>, and
+            includes these files:
+            <itemizedlist>
+              <listitem>
+                <para><filename>Trix.cpp</filename></para>
+              </listitem>
+              <listitem>
+                <para><filename>Trix.hpp</filename></para>
+              </listitem>
+            </itemizedlist>
+            
+          </para>
+        </formalpara>
+        
+      </listitem>
+    </itemizedlist>
+    
+    <para>
+      In addition, the following files are found in the
+      <filename>storage/ndb/src/kernel/blocks</filename> directory:
+      
+      <itemizedlist>
+        <listitem>
+          <para>
+            <filename>diskpage.cpp</filename>
+          </para>
+        </listitem>
+              <listitem>
+                <para>
+                  <filename>pgman.cpp</filename>
+                </para>
+              </listitem>
+        <listitem>
+          <para>
+            <filename>restore.cpp</filename>
+          </para>
+        </listitem>
+        <listitem>
+          <para>
+            <filename>SystemRestart.new.txt</filename>
+          </para>
+        </listitem>
+        <listitem>
+          <para>
+            <filename>diskpage.hpp</filename>
+          </para>
+        </listitem>
+        <listitem>
+          <para>
+            <filename>pgman.hpp</filename>
+          </para>
+        </listitem>
+        <listitem>
+          <para>
+            <filename>restore.hpp</filename>
+          </para>
+        </listitem>
+        <listitem>
+          <para>
+            <filename>SystemRestart.txt</filename>
+          </para>
+        </listitem>
+        <listitem>
+          <para>
+            <filename>ERROR_codes.txt</filename>
+          </para>
+        </listitem>
+        <listitem>
+          <para>
+            <filename>NodeRestart.new.txt</filename>
+          </para>
+        </listitem>
+        <listitem>
+          <para>
+            <filename>print_file.cpp</filename>
+          </para>
+        </listitem>
+        <listitem>
+          <para>
+            <filename>lgman.cpp</filename>
+          </para>
+        </listitem>
+        <listitem>
+          <para>
+            <filename>mutexes.hpp</filename>
+          </para>
+        </listitem>
+        <listitem>
+          <para>
+            <filename>NodeRestart.txt</filename>
+          </para>
+        </listitem>
+        <listitem>
+          <para>
+            <filename>Start.txt</filename>
+          </para>
+        </listitem>
+        <listitem>
+          <para>
+            <filename>tsman.cpp</filename>
+          </para>
+        </listitem>
+        <listitem>
+          <para>
+            <filename>lgman.hpp</filename>
+          </para>
+        </listitem>
+        <listitem>
+          <para>
+            <filename>OptNR.txt</filename>
+          </para>
+        </listitem>
+        <listitem>
+          <para>
+            <filename>record_types.hpp</filename>
+          </para>
+        </listitem>
+        <listitem>
+          <para>
+            <filename>tsman.hpp</filename>
+          </para>
+        </listitem>
+      </itemizedlist>
+      
+    </para>
+    
+  </section>
+  
+  
   <section id="ndb-internals-glossary">
     
     <title><literal>NDB</literal> Internals Glossary</title>


Thread
svn commit - mysqldoc@docsrva: r6235 - trunk/ndbapijon27 Apr