Changed in v0.002:
Konstantin Stepanov (62):
use parent instead of use base, removed spare uses
Makefile: installdirs vendor
fixed some uninitialized variables errors
some fixes in file cache module
fixed incorrect Interface::build behavior on empty binds options
PgSQL: create role implemented
PgSQL: incorrect role save fixed: wrong (inverse) boolean values handling
File cache module: exists fix
PgSQL::Views: get method returns undef if view doesn't exist
PgSQL::Table::Struct: list method returns undef if table doesn't exist
PgSQL::Table::Struct: store method: fixed order of modification applies to field definition
placed all Makefile with tests into t/ subdir for beginning
tests: index & table create & remove (WIP)
added buildtests target utilizing Test::Inline module
inline tests for basic FusqlFS initialization, cache interface & file cache added
Makefile: buildtests target added
added basic inline tests for PgSQL module initialization
removed spare tests
bail out if pgsql is unaccessable: no duplicate info
no connect tests in base FusqlFS module
inline role tests implemented
Build.PL: generate tests into t, check count set to 2 to try best determining number of tests to run
gitignore update: no build specific dirs & files, no autogenerated tests
database cleanup dummy test
Makefile: autogeneration specific targets
inline tests for PgSQL tables module
Build.PL: don't create t/auto
removed deprecated test Makefile
mysql backend package renamed to match common package names conventions
added inline test plan for PgSQL::Table::Struct package
inline tests for PgSQL::Tables::Data (WIP)
avoid loading non scalar values via Interface::load() method: considered already parsed
added testcover target into Makefile
FusqlFS::Interface renamed to FusqlFS::Artifact
Makefile: added lint target to test syntax
added inline tests for PgSQL::Table::Indices
implemented better inline tests framework
turned off print errors & warns if --debug option is unset
disabled carps in cache module for now
added inline tests for PgSQL::Views module
Test framework: set_up() method can force all tests skipped by returning false value
added inline tests into PgSQL::Table::Struct module
Artifact basic interface methods inline testing
Covered edge case with empty strategy in Cache module
renamed $testclass to $_tobj
use is/isnt instead of ok defined
Makefile lint target tests tests as well
basic inline tests for PgSQL::Table::Constraints module added (WIP)
gitignore update: exclude cover report db
added inline tests for PgSQL::Queries + implemented rename for queries
added inline tests for PgSQL::Sequences module
added inline tests for Cache::Limited module
Makefile: lint target renamed to testlint, run it before normal tests
Build.PL: depend on B::Lint for building
fixed Cache::Limited: FETCH returns undef if entry doesn't exist
added stubs for PgSQL::Constraint mutation methods (WIP)
moved common code for lazy artifact creation (on store call, not create) into FusqlFS::Artifact::Table::Lazy module
PgSQL::Table::Constraints mutators production
Makefile: test & testcover targets support T variable to run given test only
Artifact::Table::Lazy create method returns true
PgSQL::Table::Constraints: implemented mutation methods
Version 0.002
Changed in v0.0021:
Konstantin Stepanov (20):
Build.PL: replace {_tpkg} with currently testing package in tests body
Artifact::Table::Lazy: simple deep clone of template in create() method
PgSQL::Table::Constraints: fixed constructor inheritance
PgSQL::Table::Constraints: better tests for create() method
Build.PL: custom test files formatter
tests for Cache::Base
don't call disconnect on object without disconnect
speed up tests by disconnecting main fusqlfs object on tear down
PgSQL::Table::Data: return data as single file if no primary key is found
remember current dir to correct mount point position in case of demonization (which resets cwd to root)
Makefile: mount, umount & remount targets for tests
PgSQL::Functions implementation (WIP)
fusqlfs: Getopt configured to not ignore options
fusqlfs: one of database or mountpoint parameters can be given via options
added basic inline tests for PgSQL::Functions
fixed incorrect (deprecated) class names
show all functions with the same name but with different in/out params, sorted by arguments, result
version update
MANIFEST.SKIP: exclude log files
PgSQL::Functions: don't duplicate functions with the same names
Changed in v0.003:
Konstantin Stepanov (25):
PgSQL::Table::Constraints: included struct file in creation template
gitignore update: distribution files
PgSQL::Functions: create/store implemention (WIP)
Makefile: added changelog target, updated phony targets list
Makefile: major cleanup before dist preparation
Makefile: README.pod is autoupdated from fusqlfs
PgSQL::Functions: put arguments into names
debug option reimplemented
Artifact: expose dbh via accessor
PgSQL::Role::Owner: support function owners
PgSQL::Functions: better Pg 8.3 support, new dir struct
PgSQL::Functions: function owner
PgSQL::Functions: more info about functions
PgSQL::Functions: drop implemented
PgSQL::Functions: create supports inplace args
PgSQL::Functions: create implemented
PgSQL::Functions: rename & store
docs update: fixed special chars, TODO update
docs update: links in README
docs update: better debug options description
docs update: fixed terms
PgSQL::Functions: more robust checks in store
FusqlFS: truncate operates on input cache now
docs for FusqlFS & FusqlFS::Abstract (WIP)
Version 0.003
Changed in v0.004:
Konstantin Stepanov (28):
FusqlFS: new module interface
Standardized file names
Makefile: mount target options
Removed tabs
Implemented --fnsep
PgSQL::Table::Data: fixed crash on data select error
Makefile: cpan compatible test target
Makefile: cpan target
PgSQL: some code rewrote shorter
Makefile: mount target unmounts first
Makefile: tags target (ctags)
Makefile: better changelog generation
FusqlFS::Languages: basic implementation
Build.PL: use Test:Deep for tests
PgSQL::Languages: other methods implemented
Revert "FusqlFS: truncate operates on input cache now"
PgSQL::Table::Triggers: basic implementation
PgSQL::Functions: symlink with languages
PgSQL::Functions: no "arguments" element in struct
Tests: removed list_ok() in preference to cmp_set()
PgSQL::Table::Triggers: fixed directory structure
PgSQL::Table::Triggers: added documentation stub
Build.PL: don't crush if Test::Inline is not installed
PgSQL::Table::Triggers: other methods implemented
PgSQL::Table::Triggers: basic tests
Tests environment: fine control of DBI debug ouput
Tests environment: create plperl language & dummy trigger function
Version 0.004
Changed in v0.005:
Konstantin Stepanov (65):
Artifact: added simple validation framework
PgSQL::Table::Triggers: fixed template
gitignore update: ignore debian subdir
Artifact: simplified build() call
Tests: create dummy trigger function correctly
MANIFEST.SKIP update
gitignore update: ignore MYMETA.yml
Makefile: remove MYMETA.yml on realclean
FusqlFS: symlink() passes full target path to backend
PgSQL: symlinked paths are absolute
Backend: use absolute symlinks
More cache cleanups
Version 0.0041
Removed depth from PgSQL::Role::Owner
FusqlFS::Artifact: documentation
PgSQL::Table::Indices: removed spare branching
Artifact::Table::Lazy: documentation
Artifact::Table::Lazy: implemented store()
Entry: documentation
Entry: simplification
Removed trailing spaces
Backend::Base: documentation
Cache: documentation
Cache strategies documentation updated
PgSQL::Tables: documentation
PgSQL: first level packages documentation
PgSQL::Role::Owner: moved the package into separate file
Artifact: hprintf function
FusqlFS: updated synopsis according new interface
FusqlFS: fixed bug in cache deep cleanup
FusqlFS: better cache cleanup
PgSQL::Role::Owner: documentation
PgSQL::Role::Permissions: moved into separate file
PgSQL::Role::Permissions: basic implementation
Artifact: adiff function
PgSQL::Roles: rewrote store() in a more secure way
PgSQL::Tables: plugged in permissions module
PgSQL::Role::Permissions: turned permissions from inside out
PgSQL::Role::Permissions: documentation
renamed PgSQL::Role::Permissions to PgSQL::Role::Acl
PgSQL::Sequences: typo in doc fixed
PgSQL::Sequences: plugged in Acl module
PgSQL::Tables: docs updated
PgSQL::Role::Acl: usage perm char fixed
PgSQL::Functions: plugged in acl module
PgSQL::Role::Acl: execute perm char fixed
PgSQL::Role::Acl: function names handling
PgSQL::Role::Acl: special default role '%' handling
PgSQL::Role::Acl: use "my @list = reverse @_;" idiom
PgSQL::Role::Acl: rename implemented
PgSQL::Role::Acl: better SQL standard compliance
PgSQL::Role::Acl: special 'public' role handling
PgSQL::Role::Acl: updated acl map data
PgSQL::Role::Owned: documentation
PgSQL::Role::Base: abstract complexity
PgSQL::Role::Owned: implementation
PgSQL::Roles: plugged in PgSQL::Role::Owned module
PgSQL::Role:*: correct handling of functions
Separated initialization method from constructor
PgSQL::Role::Base: renamed parameter `kindc' to `filter'
PgSQL::Role::Base: documentation update & code cleanup
PgSQL::Role*: fixed incorrect validate() rules
Artifact: validate(): optional keys keep undefs on validation fail
FusqlFS: fixed incorrect cache cleanup
Version 0.005
Changed in v0.007:
Konstantin Stepanov (66):
FusqlFS::Entry: typo in docs fixed
Avoid v-string as not so portable thing
PgSQL::Table::Data: dot-files don't exist
MySQL::Tables: basic methods implemented
MySQL::Table:Struct: view table struct
MySQL::Table:Struct: create/rename/drop fields
MySQL::Table:Struct: change column (WIP)
Artifact::validate() now works around native "undef" values correctly
Artifact::validate() is exceptions based now
MySQL: stub backend modules added
Backend::MySQL: basic tables module implementation
Artifact: added one_col() method
Backend::MySQL: handle charset parameter
MySQL::Table::Indices: basic implementation
MySQL::Table::Indices: use MySQL 5's extended show statement
Artifact: $max_chunks argument added to asplit()
MySQL::Table::Indices: mutation implemented
dynamic load of chosen backend
named MySQL::Table::Struct tests
MySQL::Data module
reconnect on HUP signal
Backend: new connection control methods documented
Artifact: abstracted pairs() method to build a set of field pairs for UPDATE/WHERE clauses
Make use of new pairs() method + some fixes and make use of placeholders in MySQL background
Table-driven configuration for formatters
Factored out Backend::*::Table::Data module common parts into Artifact::Table::Data module
Clear directory cache on file unlink
Backend::MySQL: users package (WIP)
Backend::MySQL: rename user method
Backend::Base: use require instead of use to load loaders/dumpers in runtime
MySQL::Users: fixed query templates
Merge branch 'mysql'
autounmount on QUIT/INT/TERM signal with fusermount if found
MySQL::Users: privileges control implemented
FusqlFS: new --namemap option to map tables to field names for tables w/o primary keys
MANIFEST.SKIP update
Fix documentation links
README update
MySQL::Table::Triggers module implemented
fusqlfs: Getopt::ArgvFile support
README update: ArgvFile usage
README: author email update
Backend::Base: fix minor error (undefined hash key)
Tests update to work with new PostgreSQL and Perl
FusqlFS::Version package to store common version
MySQL::Table::Struct: create.sql
SQLite: tables and indices
FusqlFS: mkdir/rmdir clear cache deeper
FusqlFS::Backend: add sqlite engine into list
MySQL::Table::Triggers: some cleanup and fixes
Build: add SQLite driver into requirements
Build: Pg driver is recommended only now
MySQL::Table::Triggers: fix trigger creation
MySQL::Procedures implemented
PgSQL::Functions: code cleanup
MySQL::Functions implemented
MySQL validators fix
MySQL::Functions, MySQL::Procedures: fixes
MySQL::Variables implemented
Backend: 'native' format support
MySQL::Functions & MySQL::Procedures: fix error on empty parameters
Entry: simplify design, table driven subclass resolution
MySQL::Variables: support native format
SQLite: fixes
Entry: fix undefined value error
Version 0.007
Changed in v0.008:
Konstantin Stepanov (9):
SQLite::Table::Indices: remove excess '1;' from module footer
PKGBUILD for ArchLinux
FusqlFS::Formatter abstraction for loader/dumper initialization
FusqlFS::Formatter subclasses
Default output format is native, YAML::Tiny is recommended only
README files update to mention new formatters system and new formatters
version 0.008
Tests update
Templates made format agnostic
Changed in v0.009:
Konstantin Stepanov (32):
PKGBUILD: MD5 hash update
Build: update author email
SQLite::Table::Data implemented
SQLite::Struct implemented
Artifact::autopackages() method to automate subpackages initialization
SQLite::Tables: mutation implemented (TODO: table creation)
PgSQL::Tables: fix incorrect autopackages() call context
Artifact::autopackages always returns hashref
Code format: remove unnecessary `()` from constant subroutines
Formatter::Html and Formatter::Htmltable bugfix: incorrect subroutine recursive call
Formatters tests closes #15
SQLite::Tables: tests and documentation (WIP)
Backend::Base: sane error message on connection failure
Backend::Base: more verbose error message on connection errors
fusqlfs: parse namemap after basic options sanity checks
FusqlFS: synposis code fixes
Add another debug level to show full stacks
Formatter: smart fallback from any to YAML and then to native
Add --config option
Add --mkdir option
Add --rmdir option
Move all mkdir/rmdir logic into FusqlFS module, handle signals immediately
Remove dir on --rmdir after directory correctly unmounted
README update
Rename --config option to -r (i.e. 'read')
Add debug level to show SQL statements
MySQL::Struct: fix setting default to NULL
MySQL::Struct: don't put default statement into common column definition
MySQL: fix charset default setting
Formatter: fix built-in formatter loading
Tests: use native formatter
Version 0.009