Introducing 6 new functions to ColumnStoreDriver:
- std::vector listTableLocks();
- bool isTableLocked(const std::string & db, const std::string & table, TableLockInfo& rtn);
- bool isTableLocked(const std::string & db, const std::string & table);
- void clearTableLock(uint64_t lockId);
- void clearTableLock(const std::string & db, const std::string & table);
- void clearTableLock(TableLockInfo tbi);
Introducing a new datatype mcsapi::TableLockInfo to store table lock information.
mcsapi's introduced functions and data types ported to pymcsapi and javamcsapi
Introducing C++, Java, and Python tests for listTableLocks(), isTableLocked(), and clearTableLock()
Added new functions to documentation plus general documentation updates for javamcsapi and pymcsapi
Known limitations:
- mcsapi's isTableLocked() function is affected by
MCOL-1218 and only detects locks of tables that were existent when the ColumnStoreDriver was initialized
- javamcsapi and pymcsapi don't yet have methods to access the dbroot array returned by TableLockInfo's getDbrootList()
- javamcsapi and pymcsapi don't yet have methods to access the the creation time returned by TableLockInfo's getCreationTime()
- pymcsapi's isTableLocked() function only returns bool but not also the additional TableLockInfo object mcsapi returns
Limitations addressed in MCOL-1961
For QA
- run regression test suite on CentOS 7, Windows 10, and one Debian/Ubuntu
- verify that the documentation is correct
4 functions shall be implemented to view and clear table locks in ColumnStoreDriver