PACIFICA DATABASE MODULE PROGRESS NOTES Item 31 Idea Bug Fix Checkpoint 2 ACTIVE ITEMS: [Item 28 (2021-12-17)] Begin coding ROLLBACK - Delete all new tables * [Item 10 (2021-12-15)] 2021-12-19 * Code CLOSE TABLE * Delete backup files * Close primary files * Close all associated indices * Remoove name from database spec * Lower-level routine written * Write API routine - Test [Item 11 (2021-12-15)] Code DROP TABLE - Close table - Delete all associated files [Item 12 (2021-12-15)] Code OPEN TABLE - Create backup files - Open all files - Go Top - Add name to database spec [Item 13 (2021-12-15)] Code COPY TABLE - Close table - Copy table and index files - Add table name to target database spec - Reopen table (Item 15 (2021-12-15)] Code MODIFY TABLE Table can only be modified if not dirty [Item 16 (2021-12-15)] Code ADD NEW COLUMN [Item 31 (2021-12-17)] Add support for columns to COMMIT and ROLLBACK [Item 17 (2021-15-15)] Code RENAME COLUMN [Item 18 (2021-12-15)] Code REMOVE COLUMN [Item 19 (2021-12-15)] Code INSERT COLUMN BEFORE [Item 20 (2021-12-15)] Code INSERT COLUMN AFTER [Item 21 (2021-12-15)] Code FETCH COLUMN STATS [Item 14 (2021-12-15)] Code FETCH TABLE STATS - Link to code in pdbOps [Item 22 (2021-12-15)] Code Review. Test throughly [Checkpoint 2 (2021-12-15)] The module should now be able to create and manipulate empty tables COMPLETED ITEMS: * [Item 27 (2021-12-17)] 2021-12-19 Begin Coding COMMIT * Make all new tables permanent * Add names to database spec * Add test case * Tested good 2021-12-19 * [Item 9 (2021-12-15)] 2021-12-17 Code CREATE TABLE * Create backup only * Add test case Tested good 2021-12-19 * [Item 30 (2021-12-17)] 2021-12-17 Add support for backup tables to FetchStats * [Item 29 (2021-12-17)] 2021-12-17 Create new unit: pdbTables - For table-related operations * [Checkpoint 1 (2021-12-14)] 2021-12-17 At this point, the system can create, open, close and drop a database, and return statsitics about it Version: 0.05 * [Item 8 (2021-12-15)] 2021-12-17 * Code Review * Added conversion of db.spec file to new name, to pdbOps.CopyDatabase() * Moved subsidiary table-opens to Ops from pdbUtils.ReadTable(); Test thoroughly: * Create Database * Open Database * Close Database * Copy Database * Drop Database * Set Path * Fetch Statistics * {Item 23 (2021-12-16)] 2021-12-17 * Create a routine that converts date+time to text, including seconds * Use it in when CreationDate or LastModified assigned * Also create a routine that converts Text-DT including seconds * Use it when CreationDate or LastModified decoded * [Item 26 (2021-12-16)] 2021-12-16 Add AutoIncrement field to column specs Add support in statistics * [Item 25 (2021-12-16)] 2021-12-16 * Add rollback code where variables are changed * [Item 24 (2021-12-16)] 2021-12-16 * Add an item to the database specification: * Also add to the statistics specification: * Creation_Version - assigned the value of SOFTWARE_VERSION * Retrofit the Database-creation routine to make the assignment * Retrofit the Database-open routine to check that the value is not greater than SOFTWARE_VERSION * Retrofit the Fetch-Statistics routine to include the new value * Also retrofit the read- and write- database-spec routines * [Item 6 (2021-12-14)] 2021-12-15 * Code FETCH DATABASE STATS * Code FETCH TABLE STATS * Code FETCH INDEX STATS * [Item 9 (2021-12-15)] 2021-12-15 Code SET PATH - Set the database path, when no database is loaded * [Item 5 (2021-12-14)] 2021-12-15 Code COPY DATABASE - Simply copy folder and all contents * [Item 4 (2021-12-14)] 2021-12-15 Code DROP DATABASE - Close database if it is the target - Delete all database files, and folder * [Item 7 (2021-12-14)] 2021-12-15 Code OPEN DATABASE - Open the database specification - Open all associated tables - Open all associated indices * [Item 3 (2021-12-14)] 2021-12-14 Code CLOSE DATABASE - Close all flies - Dispose all data structures * [Item 2 (2021-12-13)] 2021-12-14 Code CREATE DATABASE - Complete implementation * [Item 1 (2021-12-13)] 2021-12-14 Begin coding data structures Establish basic module architecture