← Back to team overview

maria-developers team mailing list archive

Weekly Report



This week
   - Finished writing common testing foundation that allows other services to be tested easily.   
For example:
--let $test_library = lzma
--source test_library.inc

--let $test_library = lzo
--source test_library.inc

Finished the first draft of the Snappy service.   
Snappy has a C++ api that is used by RocksDB, so we have two options:
      - Use the mangled C++ function names directly, and load them normally with dlopen.
      - Re-implement the C++ function from Snappy’s C exports.
The mangled function names may vary across platforms, so we are going with the second option for now.

Implemented global status variables for the services.   
This lays the foundation for integration with the storage engines.

Finished a first draft of the auto logic for the --use-compression= switch.

Next week
Need to review my refactoring and decide on next steps.   
Details of refactor:
      - Removed the service struct.
      - Removed the struct from sql/sql_plugin_services.ic.
      - Define an anonymous struct in sql/compression/<library>.cc.
      - Initialize the struct with dummy function pointers.
      - If the library is successfully loaded, replace them with pointers to the real functions.
      - Define wrapper functions that forward the call to the function pointers in the struct.

Continue replicating the implementation for other libraries.

Decide what to do when dynamic libraries have the versions suffixed to the .so file.   
For example, liblzma.so.5.2.4 is included with Ubuntu 20, but liblzma.so is not.   
The liblzma.so -> liblzma.so.5.2.4 symlink is only added after installing the liblzma-dev package.

Sync up with Robert to discuss further actions.