...
Code Organization
To be written.
Anchor
In the Trafodion core repository:
- 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
Source Code Guidance
Tabs
Source files should contain no tabs. Since there are some existing tabs remaining, make sure to set your editor to interpret tabs to show as 8 spaces, otherwise you will not indent your new code correctly. Some tools like Microsoft Developer Studio and Eclipse have default setting other than 8, please change those.
Anchor | ||||
---|---|---|---|---|
|
C++ Guidelines
These are the C++ coding guidelines that are part of the acceptance criteria for code submitted to the Trafodion. Trafodion reviewers use these guidelines when reviewing changes.
...