rdbms-1.99

Ulf Wiger (AL/EAB) <>
Mon Feb 27 00:25:05 CET 2006


I will keep adding nines until it's good enough to
be called 2.0.  (:

I've been fighting to understand why a certain
test case fails, but since I promised to release
something by the end of this week (15 minutes to
go), I thought I'd build a snapshot and upload it
somewhere:

http://ulf.wiger.net/rdbms-1.99.tgz

I've started writing some new docs in
rdbms-1.99/doc/rdbms.html (a tiddlywiki),
but some things are still best described in 
the old doc (rdbms.pdf).

You can also look at rdbms-1.99/test/src/rdbms_basic_SUITE.erl
in order to see what works, and how it works.

The test suite currently exercises:
- creating normal tables, with no rdbms metadata
- specifying types
- the recently changed 'undefined' and {enum,...}
  types
- creating parameterized indexes
- creating a table and then adding a parameterized
  index (this is the one that started failing on me
  just 10 minutes ago. I swear it was working before
  that...)
- Restarting mnesia and verifying that the indexes
  are reloaded (this test is incorrectly written;
  it succeeds, but mainly because it doesn't test
  the tricky part)
- specifying referential integrity constraints:
  cascading deletes, and 'no_action' (cannot delete
  a parent while children exist)

Note: you must compile the modules in the 
mnesia_patches subdirectory, and since mnesia.hrl
has been modified, you have to recompile all other
mnesia modules as well. It sucks, I know.

There are some debug printouts that need to be
eliminated.

I have no test cases yet testing fragmented tables.
The transparency stuff worked just fine a couple
of weeks ago, and I don't recall changing anything
that would have broken it. Fragmented (parameterized)
indexes probably need some debugging. I've done 
quite a bit of merging and rearranging.

The rdbms_import_server stuff is broken. The 
problem lies in rdbms_types, which hasn't been
changed to reflect the new type system.

Quite a few unfinished modules exist. Some 
cute code from Hans Nilsson, implementing the 
Porter Stemming Algorithm for efficient word
searches, has not yet been fully integrated
into rdbms. The idea is to offer a library
function for word stem indexes.

Ok, now it's actually past midnight, at least 
in my time zone. I realized I had forgotten to
insert EPL statements in many of the modules. /:

My plan is to test some more, document some 
more, and then check it into jungerl.

/Ulf W



More information about the erlang-questions mailing list