Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

Excerpt

Explains code organization, provides coding guidelines, and other information relevant to Trafodion code development.

...

Table of Contents
outlinetrue

...

Anchor
modify-code-code-organization
modify-code-code-organization

Code Organization

To be written.

 

...

core Directory

  • conn: connectivity subsystem
    • conn/jdbc: JDBC Type 4 client-side driver
    • conn/jdbc_type2: JDBC Type 2 client-side driver
    • conn/nci: trafci, a client-side command line interface to Trafodion
    • conn/odbc: ODBC
    • conn/odbc/src/odbc/*: (most other directories) ODBC server-side components
    • conn/odbc/src/odbc/odbcclient: ODBC Windows client-side driver
    • conn/unixodbc: ODBC Linux client-side driver
  • sqf: transaction subsystem and associated layers
    • sqf/src/seabed: messaging layer
    • sqf/src/seatrans: transaction subsystem
    • sqf/src/seatrans/hbase-trx: the HBase-trx portion of the transaction subsystem, with Trafodion modifications
    • sqf/src/seatrans/tm: the Trafodion layer on top of HBase-trx, including the TM
  • sql: SQL engine, including Compiler and Executor
    • sql/arkcmp: Compiler main process loop
    • sql/bin: contains main functions for various SQL engine processes, also message text file
    • sql/cli: CLI layer of the Executor
    • sql/comexe: classes used by both Compiler and Executor; includes tdb classes, some IPC classes
    • sql/common: more classes used by both Compiler and Executor; includes classes defining SQL data types and objects used for diagnostics
    • sql/executor: data flow portions of the Executor, including relational operators
    • sql/exp: scalar expression evaluator layer of the Executor
    • sql/export: more common modules used by Executor and Compiler (for example, ComDiagsArea)
    • sql/generator: Pre-code Generator and Generator passes of the Compiler
    • sql/optimizer: Binder, Normalizer and Optimizer passes of the Compiler
    • sql/parser: Parser pass of the Compiler
    • sql/regress: Regression test suite
    • sql/sort: sort module used by Executor
    • sql/sqlci: SQL conversational interface (a server-side command line interface to the SQL engine)
    • sql/sqlcomp: contains Compiler logic that drives compilation; calls the individual passes
    • sql/SqlCompilerDebugger: GUI debugger useful for Compiler development
    • sql/ustat: UPDATE STATISTICS utility module

...