http://qs321.pair.com?node_id=165749


in reply to cvs daemon in perl

Haven't looked it over thouroghly yet, but the database code raised my eyebrow a bit. I wonder why you chose to build full sql statements with inline params and their associated quoting problems, rather than use DBI's parameters, which take are of those problems rather nicely?

Part of the point of DBI is to stay independent of the underlying database. It would certainly be a plus if your server would run with, say PostgreSQL, or DB2, as well.

In the 'make it pretty' department, I've taking to using q// to make the sql more readable, i.e.

$statement_handle = $database_handle->prepare (q/ select col1, col2, col from table1 where col6 = ? /);

... or something along those lines.

Keep on playing and learning! Gotta have some fun in life :)

Replies are listed 'Best First'.
Re: Re: cvs daemon in perl
by tallfred (Acolyte) on May 13, 2002 at 18:58 UTC
    The SQL routines were lifted from Bugzilla and used out of laziness. Thanks. I will give your DBI suggestion a try.

    I figured if DCVS can work with the simple MySQL database, porting to the others would be pretty easy. My biggest MySQL lesson was that version 3.23 doesn't support mutli-table updates (i.e. a "where" clauses that mentions a second table). Eventually, I crafted a work around which used a temporary table.