I created a patch which does the following:
1.) fixes TIMESTAMP ts quoting for some INSERTs
2.) Created an InnoDB SQL file (xmltv_innodb.sql) which
allows using foreign keys for easy cascading deletes
and referential integrity. Remove FULLTEXT index on
description field as InnoDB does not yet support this.
Sigh...
3.) Changed filmed_completion from TIMESTAMP to DATE
column - updated INSERTs - when this was a TIMESTAMP it
was never being populated with the actual program date.
4.) Added a flag so the first channel <display-name>
tag is used in the channel INSERT - according to the
XMLTV DTD, the first one is the most common channel
name. Otherwise the display name would show up as
"Satellite" for many channels.
5.) Hard coded my MySQL driver connection string in
src/com/cblackburn/db/Database.java - I was never able
to get this to run from the command line as intended,
might have been user error. I am able to pass in the
username/password though just fine...
6.) Added an auto-increment primary key to the
programme table, the previous primary key of channel,
start_time, stop_time was changed to a UNIQUE key -
this way an html application can easily pass a link to
the programme (e.g. <a href="details.php?id=34324">)
7.) Seperated the null pointer exception check with
channel display name and icon so if one's null they
both don't get set to null.
8.) On program startup I delete all records in the
database so each time it runs there's only the records
that were pulled from XMLTV.
9.) Changed SQL file to have all channel id fields have
the same lenght of VARCHAR(50) - some were set to
VARCHAR(12) which truncates some of the channel ids
from XMLTV.
10.) Some changes to the ant build / properties files
to make it build using ant.
My XMLTV2DB patch - josh@trutwins.homeip.net