Alzabo

 view release on metacpan or  search on metacpan

Changes  view on Meta::CPAN

  of the work needed to freeze & thaw the row objects.  Benchmarks are
  needed.

- Add support for fulltext indexes (MySQL).

- Don't show fulltext or column prefix options when creating indexes
  for databases that don't support these features.

- Use cardinality & dependency language for relations.

- Add some style to the schema creator (via stylesheets).  It looks a
  little better now.

---------------------------------------------------------------------------

0.44 May 4, 2001

BUG FIXES:

- Bug fix in Alzabo::Runtime::Table->set_prefetch.  Reported by Bob
  Gustafson.

lib/Alzabo/Intro.pod  view on Meta::CPAN

data for an individual row.

Unless you are retrieving a row via a unique identifier (usually its
primary key), you will be given a L<cursor|Alzabo::Runtime::RowCursor>
object.  This is quite similar to how C<DBI> uses statement handles
and is done for similar reasons.

First of all, let's do something simple. Let's assume I have a
person_id value and I want to find all the movies that they were in
and print the title, year of release, and the job they did in the
movie.  Here's what it looks like:

  my $schema = Alzabo::Runtime::Schema->load_from_file( name => 'movies' );

  my $person_t = $schema->table('Person');
  my $credit_t = $schema->table('Credit');
  my $movie_t  = $schema->table('Movie');
  my $job_t    = $schema->table('Job');

  # returns a row representing this person.
  my $person = $person_t->row_by_pk( pk => 42 );

lib/Alzabo/Runtime/Schema.pm  view on Meta::CPAN


  join => [ $table_A, $table_B, $table_C ]

Alzabo would expect that table A has a relationship to table B, which
in turn has a relationship to table C.  If you simply provide a simple
array reference, you cannot include any outer joins, and every element
of the array reference must be a table object.

If you need to specify a more complicated set of relationships, this
can be done with a slightly more complicated data structure, which
looks like this:

  join => [ [ $table_A, $table_B ],
            [ $table_A, $table_C ],
            [ $table_C, $table_D ],
            [ $table_C, $table_E ] ]

This is fairly self explanatory.  Alzabo will expect to find a
relationship between each pair of tables.  This allows for the
construction of arbitrarily complex join clauses.



( run in 0.444 second using v1.01-cache-2.11-cpan-64827b87656 )