/* ** mysql_dispatch.h */ #define mp3_strmov(A,B) (memccpy(A,B,0,INT_MAX)-1) #define MP3_MAX_VARCHAR 255 #define MYSQL_MP3_GET "SELECT name,filename,signature,artist,album,comment,track,year,genre FROM %s WHERE signature = '%s'" #define MYSQL_MP3_INSERT "INSERT IGNORE INTO %s (name,filename,signature,artist,album,comment,track,year,genre) VALUES ('%s','%s','%s','%s','%s','%s','%s','%s','%s')" #define MYSQL_MP3_GETS "SELECT name,filename,signature,artist,album,comment,track,year,genre FROM %s" #define MYSQL_MP3_GET_LIST "SELECT name,filename,signature,artist,album,comment,track,year,genre FROM %s WHERE signature IN (%s)" #define MYSQL_MP3_GETS_TOKEN "SELECT name,filename,signature,artist,album,comment,track,year,genre FROM %s,%s WHERE token REGEXP \"%s\" AND signature = for_signature" #define MYSQL_MP3_GETS_RANDOM "SELECT name,filename,signature,artist,album,comment,track,year,genre FROM %s ORDER BY RAND()" #define MYSQL_MP3_GET_LIST_RANDOM "SELECT name,filename,signature,artist,album,comment,track,year,genre FROM %s WHERE signature IN (%s) ORDER BY RAND()" #define MYSQL_MP3_GETS_TOKEN_RANDOM "SELECT name,filename,signature,artist,album,comment,track,year,genre FROM %s,%s WHERE token REGEXP \"%s\" AND signature = for_signature ORDER BY RAND()" #define MYSQL_MP3_GETS_COUNT "SELECT count(signature) FROM %s" #define MYSQL_MP3_GET_LIST_COUNT "SELECT name,filename,signature,artist,album,comment,track,year,genre FROM %s WHERE signature IN (%s)" #define MYSQL_MP3_GETS_TOKEN_COUNT "SELECT count(signature) FROM %s,%s WHERE token REGEXP \"%s\" AND signature = for_signature" #define MYSQL_MP3_FETCH_PATTERN "SELECT signature FROM %s WHERE name REGEXP \"%s\"" #define MYSQL_MP3_FETCH "SELECT signature FROM %s" #define TABLE_LIST "name,filename,signature,artist,album,comment,track,year,genre" typedef struct { MYSQL *dbh; /* Database Handler */ MYSQL_RES *sth; /* Statement Handler */ MYSQL_ROW row; /* We use this row for connections */ const char *hostname; /* Hostname for dealing with a db */ const char *user; /* Username for dealing with a db */ const char *password; /* Password for dealing with a db */ const char *database; /* Database name for dealing with a db */ const char *table; /* Table name for dealing with a db */ const char *table_token; /* Table name for dealing with a db */ const char *each_sql; /* Table name for dealing with a db */ mp3_data bank; /* We use this to return data. this basically save us memory for long term connections */ } mysql_context;