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

Changes for version 0.04 - 2001-02-25

  • [Pg] factor a function out of node_dependencies_delete() such that there will exist a function called node_aggregates_delete(id) that deletes aggregates but not child nodes;
  • removed DB/CML2.pm, because it's going to go with the dep-handling module (whatever I decide to call it).
  • in the methods that insert aggregate attributes, I have it skip blank lines -- it used to insert them.
  • in the methods that insert aggregate attributes, it is now able to prevent duplicates from being inserted. Currently, postgres itself prevents an insertion, but in doing so, it totally invalidates the current transaction. This change pre-empts that behaviour.
  • s/insertBuild_vars/insertBuildVars/g;
  • finished implementing getNodePath() w/ a path_cache even.
  • getComponentList() should be OK, too
  • changed t/00_pg.t to clean up more rigorously
  • removed getHierarchy
  • s/arch/board/g; Specifying the board is more specific, and it flows better with the direction Stuart is taking with building. This affected DB/Pg.pm, sql/pg_schema.sql, and t/00_pg.t -- "make test" survived.
  • hashrefFromECD() no longer has a distro_id, because we're going to be using the node_distro table. distro_id was also removed from the node table.
  • selectNode() had its references to distro_id removed "make test TEST_VERBOSE=1" looked ok.
  • added relateNode() to make insertions into the node_distro table.
  • I need to make insertions into node_distro in: -addDistro -cloneDistro # of course -insertNode
  • I need to join node_distro in -getNodePath -selectNode -getComponentList
  • SERIOUS ISSUE: If I allow nodes to be shared between distros, then I will need to introduce a node_distro table similar to the node_parent table that defines a mapping between node and distro. Although a node may be shared between many distros, it doesn't necessarily have to be shared. This also means getting rid of the distro_id column in the node table. cloneDistro() is impossible to implement until this is done. ...but I did it.
  • fixed scripts in bin/ to use 'board' instead of 'arch'.
  • fixed typo in select statement for getComponentList.
  • [Pg] "conflicts" attribute added to node table. I hope it's not one of those stealth multi-line attributes.
  • changed getNodePath() to prepend '/' on all paths.
  • implemented unrelateNode()
  • massive documentation updates for Embedix::DB
  • changed the *_size attributes into int arrays. I'm able to evaluate the mathematical expressions before inserting, too.
  • [Pg] added "if" column to node table
  • made t/01_pg.t fail gracefully.

Documentation

ebx
manage Embedix distributions
clone the nodes of a distribution
benchmarks insertion of ECD data into database
The API that Embedix::DB::* backends should implement

Modules

persistence for ECDs
FileSystem back-end for Embedix::DB
PostgreSQL back-end for Embedix::DB
MySQL back-end for Embedix::DB