Skip to content
nalinigans edited this page Mar 2, 2021 · 4 revisions

Organization

The code is organized into the following directories:

  • core
    The files for the core TileDB storage manager.
  • examples
    The tutorial examples. See [TileDB examples][tiledb-examples] to get a good idea on using TileDB.
  • test
    C++ unit tests for TileDB using catch2
  • doc
    Contains the Doxygen configuration files.

If you wish to dive into the implementation details of TileDB, we recommend the following steps:

  • Step 1 - Learn the TileDB internal mechanics
    Visit the TileDB mechanics and read the TileDB Mechanics 101 tutorial.
  • Step 2 - Run all the TileDB examples
    Visit the [TileDB examples][tiledb-examples], read the TileDB C API tutorial, and run all the examples locally. Also try to study the code of the examples.
  • Step 3 - Learn the C API code
    Read through files core/include/c_api/constants.h, core/include/c_api/c_api.h and core/src/c_api/c_api.cc. If support for additional compression algorithms is needed, also read through core/include/codec/codec.h and core/src/codec/coded.cc.
  • Step 4 - Dive deeper into the rest of the classes
    For each C API function, follow the code and read through the rest of the files in core/include and core/src

Documentation

All the header files in core/include are fairly documented with Doxygen. Simply run:

make doc

in your build directory and open doxygen/html/index.html in your browser. You can navigate from there to all the TileDB header files.

Testing

Running make tests should run a subset of examples - see examples/run_examples.sh and all the C++ unit tests using Catch2

make tests

Clone this wiki locally