Availability of a tool for database contents reporting

Do you have a question? Post it now! No Registration Necessary.  Now with pictures!

I would really appreciate your input on availability of a module with
the following features:
* Printing formatted results of SQL select in a format, which is
pastable to MS Word document
* Comparing results of the same SQL select done before and after some
action, which modyfied the database
* Comparing results of SQL select with predefined expectations.

The main audience of this tool would be testers, who have to document
test results, including contents of some tables.

I have done some research in CPAN and in Source Forge and have the
following observations:
1. There are some mature reporting tools, however, they seem to lack
comparing features. They also prefer tabular format of reports, which is
a problem. You may ask "Why? Isn't a table the best way to present
results of SQL select?". The answer is "Yes, but when the table is wide
and you have to paste it into a document, which is supposed to be
printed, then you may have a problem". Unfortunatelly, in production
environments people tend to use word processors with A4 paper size and
rows in tables tend to be long.

The way of formating, which seem to be a kind of good compromise is to
paste a select's results as set of paragraphs (one row - one paragraph),
with values in each paragraph separated by tabs (CSV). The most
important fields are highlighted, so they are easy to spot (and this is
the thing which is missing in raw CSV). That said, I would like to have
such a formating available.

Of course, you can also transpose a table and print it vertically, but
it is also hard to read for long rows and makes documents excessively long.

2. There in no comparison of select's results. There are comparators of
whole tables, but no comparators of limited set of data (results of
select with specific "where" clause"). I am not sure if diff will do
exactly what I want here. What I want is:

-Show, which rows are missing, which are addded (here diff seem to be
-If the row is modified, show exactly, which column was modified (can
diff handle that reliably, considering that some fields may be empty?)

-Print select's results with highlighted differences.

3. I did not find a comparator with expectations. Note that when you
specify expectations about rows in database, you should not be forced to
specify every single field of say, 50 columns row.

4. It should be a module, or if it's a complete application, it should
have API, which feature scripting.

Is such a tool available? Has anyone heared/worked on something similar?
I did make a prototype for my own. If anyone is interested in
participating, let me know. I am available at pkaluski@piotrkaluski.com

Piotr Kaluski

"It is the commitment of the individuals to excellence,
their mastery of the tools of their crafts, and their
ability to work together that makes the product, not rules."
("Testing Computer Software" by Cem Kaner, Jack Falk, Hung Quoc Nguyen)

Site Timeline