HBASE-22038 fix buiding failures

Signed-off-by: Guanghao Zhang <zghao@apache.org>
39 files changed
tree: f439fdd133bc837b6b0cc2ba0ca75435836d925e
  1. bin/
  2. cmake/
  3. docker-files/
  4. include/
  5. src/
  6. .buckconfig
  7. .dockerignore
  8. .gitignore
  9. BUILDING.md
  10. CMakeLists.txt
  11. hbase.doxygen
  12. README.md
README.md

hbase-native-client

Native client for HBase

This is a C/C++ library that implements a HBase client.

Design Philosphy

Synchronous and Async versions will both be built on the same foundation. The core foundation will be C++. External users wanting a C library will have to choose either async or sync. These libraries will be thin veneers ontop of the C++.

We should try and follow pthreads example as much as possible:

  • Consistent naming.
  • Opaque pointers as types so that binary compat is easy.
  • Simple setup when the defaults are good.
  • Attr structs when lots of paramters could be needed.

Naming

All public C files will start with hbase_*.{h, cc}. This is to keep naming conflicts to a minimum. Anything without the hbase_ prefix is assumed to be implementation private.

All C apis and typedefs will be prefixed with hb_.

All typedefs end with _t.

Docker

The build environment is docker. This should keep a consistent build environment for everyone. Buck the build system works best with mmap'd files. On OSX this means that vmwarefusion works the best. However it should work with just the defaults.