Source code tree organization

4 posts / 0 new
Last post
bdempsey's picture
Last seen: 1 month 3 weeks ago
Joined: Oct 27 2009
Platinum Boarder

Posts: 194

Robert Dempsey
Source code tree organization

If you're trying to find specific parts of InfiniDB in the source tree, this guide may help.

[code]build - tools to help build InfiniDB
dbcon - most of the code for InfiniBD:
ddlpackage - classes to parse DDL
ddlpackageproc - classes to perform DDL
dmlpackage - classes to parse DML
dmlpackageproc - classes to perform DML
doc - some historical documents
execplan - classes to describe an execution plan from a SQL point of view
ingres - WIP code to interface w/ Ingres
joblist - classes that transform a SQL tree into IDB job instructions
mysql - the MySQL Storage Engine API layer, also the patches to MySQL server
plsql - WIP code to interface w/ Oracle
sm - an abstraction layer for interfacing with ExeMgr
ddlproc - main service loop for DDL
dmlib - an abstraction layer to generate physical file names from OIDs
dmlproc - main service loop for DML
exemgr - main service loop for queries
mysql - mostly header files copied from MySQL
net-snmp - SNMP library
oam - OAM service library
oamapps - some OAM apps
primitives - most of the code to build PrimProc, the main block processor
snmpd - snmp utils
tools - tools to debug IDB
utils - utility classes
versioning - classes to help with MVCC
writeengine - classes that write data to disk[/code]

sakib's picture
Last seen: 3 years 12 months ago
Joined: Feb 28 2010
Junior Boarder

Posts: 2

M Sakib
Re:Source code tree organization

Can you please help me to find source code that actually Read/Write disk space?

Thank you in advance for your help.


davidhill's picture
Last seen: 1 month 3 weeks ago
Joined: Oct 27 2009

Posts: 595

david hill
Re:Source code tree organization

Thanks for downloading InfiniDB and checking it out.

There is a number of places within the code where disk read are performed based on there needs, but here is the primary areas where the writing of the database system files take place:

The WriteEngine code interfaces with the db files on behalf of DML/DDL and the bulk load program cpimport.

The primary functions employed by cpimport to write to the db files are:

O ColumnBuffer::writeToFile() in writeengine/bulk/we_colbuf.cpp
O DbFileOp::writeDBFileDict() in writeengine/shared/we_dbfileop.cpp

The primary functions employed by DML to insert rows to the db files are:

O DbFileOp::writeDBFileFbo() in writeengine/shared/we_dbfileop.cpp
O DbFileOp::writeDBFile() in writeengine/shared/we_dbfileop.cpp


esspweb192's picture
Last seen: 3 years 1 month ago
Joined: Jul 28 2011
Junior Boarder

Posts: 1

esspweb192 esspweb192
Re: Source code tree organization

Your post really help to understand the source code.