Source code tree organization

4 posts / 0 new
Last post
bdempsey
bdempsey's picture
Offline
Last seen: 6 days 4 hours 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
sakib's picture
Offline
Last seen: 3 years 10 months ago
Joined: Feb 28 2010
Junior Boarder

Posts: 2

M Sakib
Re:Source code tree organization

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

Thank you in advance for your help.

Thanks,
Sakib

davidhill
davidhill's picture
Offline
Last seen: 9 hours 5 min ago
Joined: Oct 27 2009
Administrator

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

David

esspweb192
esspweb192's picture
Offline
Last seen: 3 years 2 days 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.

Thanks