sql updates

This commit is contained in:
hummypkg 2011-09-16 00:22:06 +00:00 committed by HummyPkg
parent 372759652d
commit 68d977c2ba
1 changed files with 19 additions and 11 deletions

30
main.c
View File

@ -126,11 +126,12 @@ sql_escape_len(unsigned int len, char *txt)
void
sqldumpstart()
{
printf("create table if not exists epg\n");
printf("create table if not exists epg_load\n");
printf("(\n");
printf("service_id bigint unsigned not null default 0,\n");
printf("event_id bigint unsigned not null default 0,\n");
printf("start bigint unsigned not null,\n");
printf("end bigint unsigned not null,\n");
printf("duration bigint unsigned not null,\n");
printf("name varchar(255),\n");
printf("text varchar(255),\n");
@ -141,18 +142,24 @@ sqldumpstart()
printf("series_crid varchar(255),\n");
printf("rec_crid varchar(255),\n");
printf("primary key (service_id, event_id),\n");
printf("index name (name),\n");
printf("index time (start,end),\n");
printf("index start (start),\n");
printf("index text (text)\n");
printf(") engine=innodb;\n");
printf("truncate epg;\n");
printf("set autocommit = 0;\n");
printf("index event_crid (event_crid),\n");
printf("index series_crid (series_crid),\n");
printf("fulltext (name),\n");
printf("fulltext (name, text)\n");
printf(") engine=mysql;\n");
printf("truncate epg_load;\n");
printf("lock tables epg_load write;\n");
}
void
sqldumpend()
{
printf("commit;\n");
printf("unlock tables;\n");
printf("analyze table epg_load;\n");
printf("drop table if exists epg;\n");
printf("alter table epg_load rename as epg;\n");
}
void
@ -160,16 +167,17 @@ sqldump(struct epg *epg __attribute__((unused)),
struct section *s, struct data *d, struct descriptor **ds,
void *var __attribute__((unused)))
{
time_t tm;
time_t tm, dur;
tm = mjd(d->start_date, d->start_hour, d->start_min, d->start_sec);
dur = d->dur_hour * 3600 + d->dur_min * 60 + d->dur_sec;
printf("replace into epg set \n");
printf("replace into epg_load set \n");
printf(" service_id = %d,\n", s->service_id);
printf(" event_id = %d,\n", d->event_id);
printf(" start = %ld,\n", tm);
printf(" duration = %d",
d->dur_hour * 3600 + d->dur_min * 60 + d->dur_sec);
printf(" end = %ld,\n", tm + dur);
printf(" duration = %ld", dur);
if (ds[PARSER_SHORT_EVENT])
{
struct descriptor *d = ds[PARSER_SHORT_EVENT];