return ret;
}
+static int
+_db_table_updater_images_2(sqlite3 *db, const char *table, unsigned int current_version, int is_last_run)
+{
+ int ret;
+ char *err;
+
+ ret = sqlite3_exec(
+ db, "BEGIN TRANSACTION;"
+ "ALTER TABLE images ADD COLUMN container TEXT DEFAULT NULL;"
+ "COMMIT;",
+ NULL, NULL, &err);
+ if (ret != SQLITE_OK) {
+ fprintf(stderr, "ERROR: could add columns to images table: %s\n", err);
+ sqlite3_free(err);
+ }
+
+ return ret;
+}
+
static lms_db_table_updater_t _db_table_updater_images[] = {
_db_table_updater_images_0,
- _db_table_updater_images_1
+ _db_table_updater_images_1,
+ _db_table_updater_images_2
};
ldi->insert = lms_db_compile_stmt(ldi->db,
"INSERT OR REPLACE INTO images ("
"id, title, artist, date, width, height, orientation, "
- "gps_lat, gps_long, gps_alt, dlna_profile, dlna_mime) VALUES ("
- "?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?)");
+ "gps_lat, gps_long, gps_alt, dlna_profile, dlna_mime, container) "
+ "VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?)");
if (!ldi->insert)
return -2;
if (ret != 0)
goto done;
+ ret = lms_db_bind_text(stmt, 13, info->container.str, info->container.len);
+ if (ret != 0)
+ goto done;
+
r = sqlite3_step(stmt);
if (r != SQLITE_DONE) {
fprintf(stderr, "ERROR: could not insert image info: %s\n",
return 0;
}
+static int
+_db_table_updater_videos_3(sqlite3 *db, const char *table,
+ unsigned int current_version, int is_last_run)
+{
+ char *errmsg = NULL;
+ int r;
+
+ r = sqlite3_exec(
+ db, "BEGIN TRANSACTION;"
+ "ALTER TABLE videos ADD COLUMN packet_size INTEGER;"
+ "COMMIT;",
+ NULL, NULL, &errmsg);
+ if (r != SQLITE_OK) {
+ fprintf(stderr, "ERROR: could add columns to videos table: %s\n",
+ errmsg);
+ sqlite3_free(errmsg);
+ return -1;
+ }
+
+ return 0;
+}
+
static lms_db_table_updater_t _db_table_updater_videos[] = {
_db_table_updater_videos_0,
_db_table_updater_videos_1,
_db_table_updater_videos_2,
+ _db_table_updater_videos_3,
};
ldv->insert = lms_db_compile_stmt(ldv->db,
"INSERT OR REPLACE INTO videos (id, title, artist, length, "
- "container, dlna_profile, dlna_mime) "
- "VALUES (?, ?, ?, ?, ?, ?, ?)");
+ "container, dlna_profile, dlna_mime, packet_size) "
+ "VALUES (?, ?, ?, ?, ?, ?, ?, ?)");
if (!ldv->insert)
return -2;
if (ret != 0)
goto done;
+ ret = lms_db_bind_int64(stmt, 8, info->packet_size);
+ if (ret != 0)
+ goto done;
+
r = sqlite3_step(stmt);
if (r != SQLITE_DONE) {
fprintf(stderr, "ERROR: could not insert video info: %s\n",