- VanillaDB initialization flag is declared volatile. (#96)
- New work stealing pool for better hand-over latency. (#96)
- Index blocks and record blocks no longer block each other. (#96)
- File header pages acquire reentrant latches instead of exclusive locks. (#96)
- Append no longer performs I/O. (#96)
- Update
TransactionProfiler
. (#72#76) - Add author. (#74)
- Optimize buffer & index. (#78)
- Reduce the call of synchronized block in BufferMgr.unpin. (#79)
- Upgrade maven plugins. (#59)
- Remove deprecated usage of Junit. (#59)
- Add a test case for concurrent buffer swapping. (#60)
- Update some comments. (#60)
- Improve the buffer replacement strategy. (#55)
- Add a reference bit to every buffer so that the clock replacement strategy provides more stable performance.
- Remove the cached string from
BlockId
. (#55)- Since
toString
ofBlockId
is rarely called, pre-computing the string not only does not help but also wastes resources.
- Since
- Refactor duplicated code in
LockTable
. (#50)
- Correct the author name in the
pom.xml
. (#48) - Resolve #49: bad verification while using aggregation fields after an order by clause. (#54)
- Improve
IndexUpdatePlannerTest
. (#55)- The name of the indices in the test case might be accidently treated as removable temp files.
- Remove an unstable test case. (#55)
API changes for stored procedures and bug fixes for B-Tree and recovery. (#44)
- Ensure that
SpResultSet
saves commit status - Add missing generic parameters for stored procedures
- Fix the
toString
ofSpResultRecord
- Update the visibility of the methods of
StoredProcedureParamHelper
- Refactor the design and APIs of stored procedures
- Add a method to manually abort in a stored procedure
- Add
BTreeIndexRecoveryTest
for the recovery of B-Tree - Add
BTreeIndexConcurrentTest
for the concurrency of B-Tree - Implement
toString
forBTreePage
- Fix the bug of searching an entry in
BTreeDir
- Fix the bug of inserting an entry in
BTreeDir
- Add a size check in
BTreePage
- Fix a bug that causes overflow while rolling back in BTree
All the following changes were merged in #40.
- Simplified the result sets of stored procedures
- Removed unnecessary beforeFirst calls in constructors of Scans
- Made the waiting time in the test cases shorter
- Added more messages for starting up the system
- Reduced memory footprint in Buffers
- Added a new API to TransactionMgr
- Added an error check to IndexMgr
- Corrected the implementation of ConcurrencyMgr
- Fixed the bug of read phantom that created by improper index locking. (#37)
- Fixed the bug causing rolling back a transaction twice (#32)
- Fixed the error in JavaDoc (#33)
- Fixed a few bugs after restarting a system from a crash (#34)
- Added DropTable, DropView and DropIndex (#15, #21)
- Added Selinger-like planner for query optimization (#23)
- Added the support of indexing on multiple fields of a table (#27)
- Implemented
Comparable
forRecordId
andBlockId
(#18)
- Fixed
NullPointerException
caused byGROUP BY
query (#16) - Fixed duplicate-postfix problem of B-tree indexes during logging (#20)
- Fixed the bug that uses too many threads caused by test cases (#26)
- Added
CONTRIBUTING.md
for the newcomers to know how to contribute (#22) - Removed
develop
branch and updated the corresponding configuration in.travis.yml
(#22)
- Removed the old interface for initializing VanillaDb (#9)
- Maked VanillaDb accept a StoredProcedureFactory as a parameter during initialization (#9, #10)
- Added a debug tool,
org.vanilladb.core.util.Timer
, in order to record the running time in given components for a thread (#9)
- Maked
SQLIntepretor
case insensitive toSELECT
andEXPLAIN
(#8)
- Updated Maven configurations
- Deployed the project to Maven Central Repository
- Added Travis CI support for testing
- Fixed some bugs of ARIES-like recovery
- Replaced the basic recovery algorithm with ARIES-like recovery algorithm
- Added test cases for each component
- Refactored the whole project
- Removed most unused code
- Unified the naming of methods
- Basic function works.