Lines Matching refs:db

65 static void get_filename_pathname (REGTEST_DB * db, const char *filepath) ;
68 static int get_ekey_from_filename (REGTEST_DB * db, const char *filepath) ;
69 static int get_filename_pathname_by_ekey (REGTEST_DB * db, int ekey) ;
70 static int check_file_by_ekey (REGTEST_DB * db, int ekey) ;
72 static int count_callback (REGTEST_DB * db, int argc, char **argv, char **colname) ;
73 static int ekey_max_callback (REGTEST_DB * db, int argc, char **argv, char **colname) ;
88 { REGTEST_DB * db ;
91 if ((db = malloc (sizeof (REGTEST_DB))) == NULL)
96 if ((err = sqlite3_open (db_name, &(db->sql))) != 0)
97 { printf ("Can't open database: %s\n", sqlite3_errmsg (db->sql)) ;
98 sqlite3_close (db->sql) ;
99 free (db) ;
103 return (REG_DB *) db ;
108 { REGTEST_DB * db ;
113 db = (REGTEST_DB *) db_open (db_name) ;
126 err = sqlite3_exec (db->sql, cmd, callback, 0, &errmsg) ;
130 sqlite3_close (db->sql) ;
131 free (db) ;
138 { REGTEST_DB * db ;
140 db = (REGTEST_DB *) db_handle ;
142 sqlite3_close (db->sql) ;
143 free (db) ;
153 { REGTEST_DB * db ;
157 db = (REGTEST_DB *) db_handle ;
161 snprintf (db->cmdbuf, sizeof (db->cmdbuf), "select fname from sndfile where fname='%s'", filename) ;
163 db->count = 0 ;
164 err = sqlite3_exec (db->sql, db->cmdbuf, (sqlite3_callback) count_callback, db, &errmsg) ;
165 if (err == 0 && db->count == 1)
173 { REGTEST_DB * db ;
179 db = (REGTEST_DB *) db_handle ;
181 get_filename_pathname (db, filepath) ;
184 { printf (" %s : already in database\n", db->filename) ;
189 sndfile = sf_open (db->pathname, SFM_READ, &info) ;
190 sf_command (sndfile, SFC_GET_LOG_INFO, db->logbuf, sizeof (db->logbuf)) ;
195 { printf (" %s : could not open : %s, filepath: '%s'\n", db->filename, sf_strerror (NULL), filepath) ;
196 puts (db->logbuf) ;
200 single_quote_replace (db->logbuf) ;
202 snprintf (db->cmdbuf, sizeof (db->cmdbuf), "insert into sndfile "
205 db->filename, db->pathname, info.samplerate, (long) info.frames, info.channels, info.format, checksum, db->logbuf) ;
207 if (strlen (db->cmdbuf) >= sizeof (db->cmdbuf) - 1)
208 { printf ("strlen (db->cmdbuf) too long.\n") ;
212 err = sqlite3_exec (db->sql, db->cmdbuf, callback, 0, &errmsg) ;
215 puts (db->cmdbuf) ;
223 { REGTEST_DB * db ;
231 db = (REGTEST_DB *) db_handle ;
233 ekey = get_ekey_from_filename (db, filepath) ;
235 return check_file_by_ekey (db, ekey) ;
243 { REGTEST_DB * db ;
247 db = (REGTEST_DB *) db_handle ;
249 db->ekey_max = 0 ;
251 snprintf (db->cmdbuf, sizeof (db->cmdbuf), "select ekey from sndfile") ;
253 err = sqlite3_exec (db->sql, db->cmdbuf, (sqlite3_callback) ekey_max_callback, db, &errmsg) ;
256 puts (db->cmdbuf) ;
259 for (ekey = 1 ; ekey <= db->ekey_max ; ekey++)
260 if (get_filename_pathname_by_ekey (db, ekey) != 0)
261 check_file_by_ekey (db, ekey) ;
285 get_ekey_from_filename (REGTEST_DB * db, const char *filepath)
289 get_filename_pathname (db, filepath) ;
291 snprintf (db->cmdbuf, sizeof (db->cmdbuf), "select ekey from sndfile where fname='%s'", db->filename) ;
293 err = sqlite3_get_table (db->sql, db->cmdbuf, &result, &rows, &cols, &errmsg) ;
296 puts (db->cmdbuf) ;
312 get_filename_pathname_by_ekey (REGTEST_DB * db, int ekey)
316 snprintf (db->cmdbuf, sizeof (db->cmdbuf), "select fname,fpath from sndfile where ekey='%d'", ekey) ;
318 err = sqlite3_get_table (db->sql, db->cmdbuf, &result, &rows, &cols, &errmsg) ;
321 puts (db->cmdbuf) ;
330 snprintf (db->filename, sizeof (db->filename), "%s", result [2]) ;
331 snprintf (db->pathname, sizeof (db->pathname), "%s", result [3]) ;
339 check_file_by_ekey (REGTEST_DB * db, int ekey)
345 printf (" %s : ", db->filename) ;
349 sndfile = sf_open (db->pathname, SFM_READ, &info) ;
350 sf_command (sndfile, SFC_GET_LOG_INFO, db->logbuf, sizeof (db->logbuf)) ;
355 { printf ("\n\nError : Could not open '%s' : %s\n", db->pathname, sf_strerror (NULL)) ;
356 puts (db->logbuf) ;
360 single_quote_replace (db->logbuf) ;
362 snprintf (db->cmdbuf, sizeof (db->cmdbuf), "select fname,srate,frames,channels,format,"
365 err = sqlite3_get_table (db->sql, db->cmdbuf, &result, &rows, &cols, &errmsg) ;
368 puts (db->cmdbuf) ;
373 { if (strcmp (result [k + cols], db->filename) == 0)
375 printf ("\n\nError : fname doesn't match : %s != %s\n", result [k + cols], db->filename) ;
413 printf ("\nHere is the old logubuffer :\n\n%s\n\nand the new :\n\n%s\n\n", result [2 * cols - 1], db->logbuf) ;
428 get_filename_pathname (REGTEST_DB * db, const char *filepath)
436 { memset (db->pathname, 0, sizeof (db->pathname)) ;
437 if (getcwd (db->pathname, sizeof (db->pathname)) == NULL)
442 slen = strlen (db->pathname) ;
444 snprintf (db->pathname + slen, sizeof (db->pathname) - slen, "/%s", filepath) ;
447 snprintf (db->pathname, sizeof (db->pathname), "%s", filepath) ;
449 snprintf (db->filename, sizeof (db->filename), "%s", basename) ;
451 basename = db_basename (db->pathname) ;
452 if (basename == db->pathname)
465 count_callback (REGTEST_DB * db, int argc, char **argv, char **colname)
466 { db->count ++ ;
475 ekey_max_callback (REGTEST_DB * db, int argc, char **argv, char **unused)
482 if (ekey > db->ekey_max)
483 db->ekey_max = ekey ;