Spent more time today working on the TPC-C translation. We've run into a few minor
snags, but nothing that has stopped us from working. One slightly major point is that
we decided to work separately so that we got more things completed. I would assume
that if we were going to work separately, then we started at the right time. We worked
together to get most of the common stuff done (SUPPORT.pm
, etc.) and now
that we are done with that and working on the more detailed modules, we decided that
it may be faster if we worked separately on modules in order to eliminate confusion.
Today we managed to complete load.pl
. Haven't tested it against a database
yet, but our debug output looks good.We're going to finally start working on getting the
other modules working. I think we need to start with the transaction "manager" which appears
to be main.pc
and driver.c
. These two shouldn't be too hard to
do and with luck, we should have them coded by the beginning of next week. Towards the
end of the day, I decided that it would be a good idea to actually test the operation of
load.pl
. When I tested it, I found that it was not working. Haven't yet figured
out why, but I think that I've tracked it down to the $dbh
database handle.
I've set-up, but not tested, passing the database handle to all of the functions that need
it or call functions that need it.
It took us most of the day, but we finally got all of load.pl
working and
properly populating the database. Turns out that there were a few problems left to solve.
The largest problem was the fact that we mis-spelled the postgres user-name in the connect
statement. This caused the generation of mis-leading error statements. Beyond that, getting
the variable to be passed between all of the sub-routines was rather trivial. The next
thing was to get the database to populate correctly. The first way that we were populating
the database was just letting perl translate the variables as it saw fit. This resulted
in the values having spaces between all of the characters for the arrays. We solved this
with a little manipulation with join
to combine the arrays into scalars. We
also ran into the problem of not putting each value in single quotes on the SQL statement.
This caused some problems with not all of the value being seen (more specifically, it was
only picking up the first character and choking on the second).
We fnished all of the modules necessary to perform the neword
transaction.
We then started to test the functionality of the driver function and the transactions that
it starts. We ran into the weirdest error during debugging that caused us to have to stop
for the day. The error that we got was "[variable name] not introduced...
".
Can't seemto figure out what the problem is.
Today I managed to finish off PAYMENT.pm
. This module just contains the
payment transaction. I have yet to debug it, but with luck that won't take much time. We
also finally figured out the problem that we were having with DRIVER.pm
. Turns
out to have just have been a missing paren for a for
loop. Shows how perl can
give some of the most cryptic errors due to the simplest problems. After that, there were
only a few syntacticall errors in NEWORD.pm
that produced errors, so fixing
them wasn't too hard.