# config

name: project-description
value:
  Variations of persistent arrays, aka dictionaries.
  Multiple APIs with different sets of features.
  Multiple backends implementing the APIs (usually in-memory & sqlite).
  JSON serialization.

  The simplest class fits with Tcllib's tie package and API.


# reportfmt

title: All Tickets
cols:
  #ffffff Key:
  #f2dcdc Active
  #e8e8e8 Review
  #cfe8bd Fixed
  #bde5d6 Tested
  #cacae5 Deferred
  #c8c8c8 Closed

sqlcode:
  SELECT
    CASE WHEN status IN ('Open','Verified') THEN '#f2dcdc'
         WHEN status='Review' THEN '#e8e8e8'
         WHEN status='Fixed' THEN '#cfe8bd'
         WHEN status='Tested' THEN '#bde5d6'
         WHEN status='Deferred' THEN '#cacae5'
         ELSE '#c8c8c8' END AS 'bgcolor',
    substr(tkt_uuid,1,10) AS '#',
    datetime(tkt_mtime) AS 'mtime',
    type,
    status,
    subsystem,
    title
  FROM ticket


# event

type: ci
user: aku
ecomment:
  mtime files renamed. API mini docs added, and tweaked for more pattern search. Updates testsuites.

comment:
  mtime files renamed. API mini docs added, and twweaked for more pattern search. Updates testsuites.


type: ci
user: andreask
comment:
  Dropped the _open method in multi, fixed multi-memory to handle missing document properly. Extended testsuite for the common multi pieces. Fixed bugs.


type: ci
user: aku
comment: multi, global method 'names' -> documents, new method 'keys' global key queries across documents
ecomment:
  multi, global method 'names' changed, operate at document level, new method 'keys' takes over for global key queries across documents.


type: ci
user: andreask
comment:
  Continued testsuite restructuring. Reduced code duplication in support/ and parts/, through more templating over the class under test.


type: ci
user: andreask
comment:
  Some cleanup of documentation. Code changes are just reordering into nice groups. No functional changes.


type: ci
user: andreask
comment:
  Added notes about a possible durable array file format, inspired by fossil. Note: Do not forget json and yaml as possibilities either.


type: ci
user: andreask
comment:
  Extended base class with export method, i.e. serialization capability. Format support is dynamic via "package require".


type: ci
user: aku
comment:
  mtime arrays: API tweaks. Implementations re-ordered and tweaked. New json serialization. Testsuite updates.


type: ci
user: andreask
comment:
  Reworked the schema setup/check of the sqlite backends. Made available through class methods for external use outside of instance construction. Updated the testsuite to handle the now class-specific lists of class and instance methods.


type: ci
user: andreask
comment:
  Moved the method list constants to a single place, and split into logical pieces (core, sqlite, time). Updated the setup code to assemble the expected lists from such pieces.


type: ci
user: andreask
comment:
  Moved (de)serialization setup for multi out of the main multi testsuite. Will need different setup for upcoming multitime, forcing the split.


type: ci
user: andreask
comment: Implemented the multitime feature merger of the multi and mtime classes. Plus tests.
ecomment:
  Implemented the multitime feature merger of the multi and mtime classes (Base class and in-memory backend). Plus tests.


type: ci
user: andreask
comment:
  Rewrote base and mtime memory backends from arrays to dictionaries. Match all other memory backends.


