Versions Compared

Key

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

...

Code Organization

To be written.

Anchormodify-code-cplusplus-guidelinesmodify-code-cplusplus-guidelines 

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
modify-code-cplusplus-guidelines
modify-code-cplusplus-guidelines

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.

...