Well I'm glad to say nxMyDB is near completion. I've finished implementing all the basic features required to make it a functional database module. The database table format has stabilized as well, the only changes for the next release is the addition of two stored procedures - no changes to the tables themselves.
I have implemented a few new things for the next release:
- A new logging system to keep track of errors (no need for DebugView).
- Spin-lock based locking, which greatly reduces the "user locking failed" messages.
- Support for atomic group rename operations.
The change log for the next alpha release (v0.3.0), so far:
Code:
nxMyDB v0.3.0 (not released):
NEW: Added configuration option "Log_Level" to control the log verbosity.
NEW: Group rename operations are now implemented.
NEW: Logging system to log errors, warnings, and information to a dedicated log file.
NEW: Spin-lock based locking implemented using stored procedures, reduces failed locks.
CHG: Renamed configuration option "SyncFirst" to "Sync_First".
CHG: Renamed configuration option "SyncInterval" to "Sync_Interval".
CHG: Requires MySQL Server v5.0.19, or newer.
FIX: User rename operations failed during sync, since the new name was not present in the changes table.
The code statistics (as usual
):
Code:
E:\ioFTPD\modules>wc -l include\* source\*
43 include\alloc.h
31 include\array.h
135 include\backends.h
163 include\base.h
40 include\condvar.h
95 include\database.h
110 include\logging.h
39 include\namelist.h
142 include\pool.h
138 include\proctable.h
585 include\queue.h
315 source\alloc.c
189 source\array.c
160 source\condvar.c
1041 source\database.c
45 source\dllentry.c
154 source\event.c
528 source\group.c
919 source\groupdb.c
612 source\groupdbsync.c
292 source\groupfile.c
107 source\log.c
115 source\logdebug.c
299 source\logfile.c
356 source\namelist.c
694 source\pool.c
104 source\proctable.c
531 source\user.c
1983 source\userdb.c
757 source\userdbsync.c
293 source\userfile.c
11015 total
If no bugs come up in my testing, expect a release this weekend.