Well Nothing at all today

Well its almost programming day here in the Moose-Pen

In my last post I at least got the first test to pass. Tough it really wasn't a test of much as Driver::DBI is basically empty. I did have some time today to have a snoop about and read trhough the DBD::DBM POD and see what is what.

I discovered that by default DBD::DBM uses something called DBI::SQL::Nano which is really just a sub sub set of SQL


   DROP TABLE [IF EXISTS] <table_name>
   | CREATE TABLE <table_name> <col_def_list>
   | INSERT INTO <table_name> [<insert_col_list>] VALUES <val_list>
   | DELETE FROM <table_name> [<where_clause>]
   | UPDATE <table_name> SET <set_clause> <where_clause>
   | SELECT <select_col_list> FROM <table_name> [<where_clause>]
                                                [<order_clause>]

Well I will be able to test some of my Driver::DBI but some parts such as SQL JOINS and GROUP BY and I think variable binding can l not be tested with DBD::DBM. As well reading down a bit I see that there is only two fields allowed in a DBM table not very useful if I want to run complex SQLs.

So the use of this for testing any but the small sub-set above is not possible. Now all is not lost. As I mentioned in my last post one thing I want the Driver::DBI to do is follow though the DBI cycle, namely prepare, bind, execute, and retrieve results. Now I guess bind is out for now but using DBD::DBM will be fine for a simple CRUD test as I envisioned.

So here is the rub, to test any of the advanced features of Driver::DBI I will need some way to get the SQL back out of the system without doing any DBI function, I just want the raw query back. So I guess I will have to add a little more functionality into Database::Accessor so I will be able to test advanced SQL features.

Sorry for the post-ette for tonight, here is a cute pic for your time.

cat-moose.jpg

Leave a comment

About byterock

user-pic Long time Perl guy, a few CPAN mods allot of work on DBD::Oracle and a few YAPC presentations