← Back to team overview

maria-developers team mailing list archive

Weekly Report

 

Hi,

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.


Thanks,
Kartik
​