- int len = 0;
- int err = MEDIA_CONTENT_ERROR_NONE;
- char query[MAX_QUERY_SIZE] = {0, };
- memset(query, '\0', sizeof(query));
-
- media_content_retvm_if(_content_get_db_handle() == NULL, MEDIA_CONTENT_ERROR_DB_FAILED, "database is not connected");
- media_content_retvm_if(!STRING_VALID(select_query1), MEDIA_CONTENT_ERROR_INVALID_PARAMETER, "invalid select_query1");
- media_content_retvm_if(!STRING_VALID(select_query2), MEDIA_CONTENT_ERROR_INVALID_PARAMETER, "invalid select_query2");
-
- if (!STRING_VALID(condition_query1))
- condition_query1 = (char *)" ";
-
- if (!STRING_VALID(option_query1))
- option_query1 = (char *)" ";
-
- if (!STRING_VALID(condition_query2))
- condition_query2 = (char *)" ";
-
- if (!STRING_VALID(option_query2))
- option_query2 = (char *)" ";
-
- len = snprintf(query, sizeof(query), "SELECT * FROM (%s %s %s) as table1 UNION ALL SELECT * FROM (%s %s %s) as table2",
- select_query1, condition_query1, option_query1, select_query2, condition_query2, option_query2);
- if (len > 0 && len < sizeof(query)) {
- query[len] = '\0';
- } else if (len >= sizeof(query)) {
- query[MAX_QUERY_SIZE -1] = '\0';
- } else {
- media_content_error("snprintf failed");
- return MEDIA_CONTENT_ERROR_INVALID_PARAMETER;
- }
-
- media_content_sec_debug("Query : [%s]", query);
-
- err = sqlite3_prepare_v2(_content_get_db_handle(), query, strlen(query), stmt, NULL);
- if (err != SQLITE_OK) {
- media_content_error("DB_FAILED(0x%08x) fail to sqlite3_prepare(), %s", MEDIA_CONTENT_ERROR_DB_FAILED, sqlite3_errmsg(_content_get_db_handle()));
-
- if (err == SQLITE_BUSY) {
- media_content_error(" BUSY ERROR");
- return MEDIA_CONTENT_ERROR_DB_BUSY;
- } else if (err == SQLITE_PERM) {
- media_content_error("PERMISSION EROR");
- return MEDIA_CONTENT_ERROR_PERMISSION_DENIED;
- } else {
- media_content_error("OTHER ERROR");
- return MEDIA_CONTENT_ERROR_DB_FAILED;
- }
- }
-
- return MEDIA_CONTENT_ERROR_NONE;
-}
-#endif
-
-int _content_error_capi(int content_error)
-{
- if (content_error != MEDIA_CONTENT_ERROR_NONE)
- media_content_error("MS Error[%d]", content_error);
-
- /*Error None*/
- if (content_error == MS_MEDIA_ERR_NONE)