The Perl Toolchain Summit needs more sponsors. If your company depends on Perl, please support this very important event.

NAME

DiaColloDB::Upgrade::v0_10_x2t - DiaColloDB utilities: auto-magic upgrade: v0.10.x: x-tuples (+date) to t-tuples (-date)

SYNOPSIS

 ##========================================================================
 ## PRELIMINARIES
 
 use DiaColloDB::Upgrade::v0_10_x2t;
 
 ##========================================================================
 ## API
 
 $version = $CLASS_OR_OBJECT->toversion();
 $bool    = $up->upgrade();
 
 ##========================================================================
 ## Backup & Revert
 
 $bool  = $up->backup();
 @files = $up->revert_created();
 @files = $up->revert_updated();
 

DESCRIPTION

DiaColloDB::Upgrade::v0_10_x2t provides a DiaColloDB::Upgrade-compliant package for upgrading a DiaColloDB database directory in-place.

Upgrade actions performed:

  • converts date-inclusive "x-tuple" enum xenum to date-free attributes-only term-tuple ("t-tuple") enum tenum.

  • maps attribute multimap target IDs from "x-tuples" to "t-tuples".

  • updates db header pack-template keys ("pack_x*" -> "pack_t*")

  • updates native relation DBs xf, cof.

API

toversion
 $version = $CLASS_OR_OBJECT->toversion();

Returns default target version; here "0.10.000".

upgrade
 $bool = $up->upgrade();

Performs upgrade in-place on the local DiaColloDB index in $up->{dbdir}, returns true on success.

Backups & Rollback

backup
 $bool = $up->backup();

Backup any files we expect to change during upgrade() to $up->backupdir().

revert_created
 @files = $up->revert_created();

Returns list of files created by this upgrade, for use with default DiaColloDB::Upgrade::Base::revert().

revert_updated
 @files = $up->revert_updated();

Returns list of files updated by this upgrade, for use with default DiaColloDB::Upgrade::Base::revert().

AUTHOR

Bryan Jurish <moocow@cpan.org>

COPYRIGHT AND LICENSE

Copyright (C) 2016-2020 by Bryan Jurish

This package is free software; you can redistribute it and/or modify it under the same terms as Perl itself, either Perl version 5.14.2 or, at your option, any later version of Perl 5 you may have available.

SEE ALSO

dcdb-upgrade.perl(1), DiaColloDB::Upgrade::Base(3pm), DiaColloDB::Upgrade(3pm), DiaColloDB(3pm), perl(1), ...