summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorMinje Ahn <minje.ahn@samsung.com>2017-07-10 04:25:57 (GMT)
committerMinje Ahn <minje.ahn@samsung.com>2017-07-10 04:25:57 (GMT)
commit4cf66c08dc9082f757e56a37e465e51730a763f5 (patch)
tree002c776152450bbd656dc5b75485a900f1ca7375 /src
parent37e9042aa25253fe91f67d0ed2e7cb7cfda25b88 (diff)
downloadlibmedia-thumbnail-4cf66c08dc9082f757e56a37e465e51730a763f5.zip
libmedia-thumbnail-4cf66c08dc9082f757e56a37e465e51730a763f5.tar.gz
libmedia-thumbnail-4cf66c08dc9082f757e56a37e465e51730a763f5.tar.bz2
Remove db connection/disconnection APIrefs/changes/35/137835/1
Merge into SELECT api Change-Id: I25e0bd4b56b95a1856ea7142d7a0457685b3b2f8 Signed-off-by: Minje Ahn <minje.ahn@samsung.com>
Diffstat (limited to 'src')
-rwxr-xr-xsrc/include/util/media-thumb-db.h5
-rwxr-xr-xsrc/util/media-thumb-db.c56
2 files changed, 20 insertions, 41 deletions
diff --git a/src/include/util/media-thumb-db.h b/src/include/util/media-thumb-db.h
index a6eedf9..f5020c0 100755
--- a/src/include/util/media-thumb-db.h
+++ b/src/include/util/media-thumb-db.h
@@ -33,10 +33,7 @@
#define UPDATE_THUMB_BY_PATH "UPDATE media SET thumbnail_path = '%q' WHERE path='%q';"
#define UPDATE_THUMB_WH_BY_PATH "UPDATE media SET thumbnail_path = '%q', width=%d,height=%d WHERE path='%q';"
-sqlite3 *_media_thumb_db_get_handle();
-int _media_thumb_db_connect(uid_t uid);
-int _media_thumb_db_disconnect();
-int _media_thumb_get_thumb_from_db_with_size(const char *origin_path, char *thumb_path, int max_length, int *width, int *height);
+int _media_thumb_get_thumb_from_db_with_size(const char *origin_path, char *thumb_path, int max_length, int *width, int *height, uid_t uid);
int _media_thumb_update_db(const char *origin_path, char *thumb_path, int width, int height, uid_t uid);
#endif /*_MEDIA_THUMB_DB_H_*/
diff --git a/src/util/media-thumb-db.c b/src/util/media-thumb-db.c
index eab4ef1..ba24ed8 100755
--- a/src/util/media-thumb-db.c
+++ b/src/util/media-thumb-db.c
@@ -27,56 +27,35 @@
#include <string.h>
#include <unistd.h>
-static __thread MediaDBHandle *db_handle;
-
-sqlite3 *_media_thumb_db_get_handle()
-{
- return db_handle;
-}
-
-int _media_thumb_db_connect(uid_t uid)
-{
- int err = MS_MEDIA_ERR_NONE;
-
- err = media_db_connect(&db_handle, uid, FALSE);
- if (err != MS_MEDIA_ERR_NONE) {
- thumb_err("media_db_connect failed: %d", err);
- db_handle = NULL;
- return err;
- }
-
- return MS_MEDIA_ERR_NONE;
-}
-
-int _media_thumb_db_disconnect()
-{
- int err = MS_MEDIA_ERR_NONE;
-
- err = media_db_disconnect(db_handle);
- if (err != MS_MEDIA_ERR_NONE) {
- thumb_err("media_db_disconnect failed: %d", err);
- }
-
- db_handle = NULL;
- return err;
-}
-
-int _media_thumb_get_thumb_from_db_with_size(const char *origin_path, char *thumb_path, int max_length, int *width, int *height)
+int _media_thumb_get_thumb_from_db_with_size(const char *origin_path, char *thumb_path, int max_length, int *width, int *height, uid_t uid)
{
int err = MS_MEDIA_ERR_NONE;
char *query_string = NULL;
sqlite3_stmt *stmt = NULL;
+ MediaDBHandle *db_handle = NULL;
- thumb_retvm_if(db_handle == NULL, MS_MEDIA_ERR_INVALID_PARAMETER, "DB handle is NULL");
thumb_retvm_if(!STRING_VALID(origin_path), MS_MEDIA_ERR_INVALID_PARAMETER, "Invalid origin_path");
query_string = sqlite3_mprintf(SELECT_THUMB_BY_PATH, origin_path);
thumb_retvm_if(!STRING_VALID(query_string), MS_MEDIA_ERR_OUT_OF_MEMORY, "Memory allocation is failed");
thumb_dbg_slog("Query: %s", query_string);
+ err = media_db_connect(&db_handle, uid, FALSE);
+ if (err != MS_MEDIA_ERR_NONE) {
+ thumb_err("media_db_connect failed: %d", err);
+ db_handle = NULL;
+ SQLITE3_SAFE_FREE(query_string);
+ return err;
+ }
+
err = sqlite3_prepare_v2(db_handle, query_string, strlen(query_string), &stmt, NULL);
SQLITE3_SAFE_FREE(query_string);
- thumb_retvm_if(SQLITE_OK != err, MS_MEDIA_ERR_DB_INTERNAL, "prepare error [%s]", sqlite3_errmsg(db_handle));
+ if (SQLITE_OK != err) {
+ thumb_err("prepare error [%s]", sqlite3_errmsg(db_handle));
+ media_db_disconnect(db_handle);
+
+ return MS_MEDIA_ERR_DB_INTERNAL;
+ }
if (sqlite3_step(stmt) == SQLITE_ROW) {
strncpy(thumb_path, (const char *)sqlite3_column_text(stmt, 0), max_length);
@@ -85,10 +64,13 @@ int _media_thumb_get_thumb_from_db_with_size(const char *origin_path, char *thum
} else {
thumb_err("end of row [%s]", sqlite3_errmsg(db_handle));
SQLITE3_FINALIZE(stmt);
+ media_db_disconnect(db_handle);
+
return MS_MEDIA_ERR_DB_INTERNAL;
}
SQLITE3_FINALIZE(stmt);
+ media_db_disconnect(db_handle);
thumb_retvm_if(!g_file_test(thumb_path, G_FILE_TEST_EXISTS), MS_MEDIA_ERR_INTERNAL, "thumb path doesn't exist in file system");