Replaced VARCHAR with TEXT in databases.
authorGrzegorz Rynkowski <g.rynkowski@samsung.com>
Fri, 1 Mar 2013 16:12:58 +0000 (17:12 +0100)
committerGerrit Code Review <gerrit2@kim11>
Thu, 7 Mar 2013 06:22:03 +0000 (15:22 +0900)
[Issue#] LINUXWRT-71

[Problem] CREATE TABLE statement could be misleading - string fields are
falsely limited.

[Cause] SQLite ignore numeric arguments in parentheses of data types
(ex. VARCHAR(256), VARCHAR(8) is TEXT).

[Solution] If length of string fields are not specified, replace VARCHAR(x) to TEXT.

[Verification] Build wrt-commons, other rpms depending on
wrt-common, run tests and compare results before and after this patch.

Change-Id: I1abbea070fef250b456ac45b299cba3f2691464b

modules/widget_dao/dao/widget_dao.cpp
modules/widget_dao/orm/wrt_db

index 51c4627..8f65336 100644 (file)
 #include <orm_generator_wrt.h>
 #include <dpl/wrt-dao-ro/WrtDatabase.h>
 
-namespace {
-    unsigned int seed = time(NULL);
-}
-
 namespace WrtDB {
 //TODO in current solution in each getter there exists a check
 //"IsWidgetInstalled". Maybe it should be verified, if it could be done
@@ -249,6 +245,7 @@ DbWidgetHandle WidgetDAO::registerWidget(
     struct timeval tv;
     gettimeofday(&tv, NULL);
     DbWidgetHandle widgetHandle;
+    unsigned int seed = time(NULL);
     do {
         widgetHandle = rand_r(&seed);
     } while (isWidgetInstalled(widgetHandle));
index 4f5f136..a10f230 100755 (executable)
@@ -20,15 +20,15 @@ SQL(
 
 CREATE_TABLE(WidgetInfo)
     COLUMN_NOT_NULL(app_id,         INTEGER,         PRIMARY KEY AUTOINCREMENT)
-    COLUMN(widget_type,               INT,  DEFAULT 1)
-    COLUMN(widget_id,               VARCHAR(256),  DEFAULT '')
-    COLUMN(widget_version,          VARCHAR(256),  DEFAULT '')
+    COLUMN(widget_type,             INT,           DEFAULT 1)
+    COLUMN(widget_id,               TEXT,          DEFAULT '')
+    COLUMN(widget_version,          TEXT,          DEFAULT '')
     COLUMN(widget_width,            INT,           DEFAULT 0)
     COLUMN(widget_height,           INT,           DEFAULT 0)
-    COLUMN(author_name,             VARCHAR(256),  DEFAULT '')
-    COLUMN(author_email,            VARCHAR(256),  DEFAULT '')
-    COLUMN(author_href,             VARCHAR(256),  DEFAULT '')
-    COLUMN(base_folder,             VARCHAR(256),  DEFAULT '')
+    COLUMN(author_name,             TEXT,          DEFAULT '')
+    COLUMN(author_email,            TEXT,          DEFAULT '')
+    COLUMN(author_href,             TEXT,          DEFAULT '')
+    COLUMN(base_folder,             TEXT,          DEFAULT '')
     COLUMN(webkit_plugins_required, TINYINT,       DEFAULT 0)
     COLUMN(security_domain,         INT,           DEFAULT 0)
     COLUMN(csp_policy,              TEXT,          DEFAULT '')
@@ -36,12 +36,12 @@ CREATE_TABLE(WidgetInfo)
     COLUMN(recognized,              INT,           DEFAULT 0)
     COLUMN(wac_signed,              INT,           DEFAULT 0)
     COLUMN(distributor_signed,      INT,           DEFAULT 0)
-    COLUMN(min_version,             VARCHAR(16),   DEFAULT '1.0')
+    COLUMN(min_version,             TEXT,          DEFAULT '1.0')
     COLUMN_NOT_NULL(back_supported, TINYINT,       DEFAULT 0)
     COLUMN(access_network,          TINYINT,       DEFAULT 0)
-    COLUMN(defaultlocale,           VARCHAR(256),  DEFAULT 0)
-    COLUMN_NOT_NULL(tizen_pkgid,    VARCHAR(256),  DEFAULT '')
-    COLUMN_NOT_NULL(tizen_appid,    VARCHAR(256),  DEFAULT 0 UNIQUE)
+    COLUMN(defaultlocale,           TEXT,          DEFAULT 0)
+    COLUMN_NOT_NULL(tizen_pkgid,    TEXT,          DEFAULT '')
+    COLUMN_NOT_NULL(tizen_appid,    TEXT,          DEFAULT 0 UNIQUE)
     COLUMN(pkg_type,                INT,  DEFAULT 0)
 CREATE_TABLE_END()
 
@@ -87,24 +87,24 @@ CREATE_TABLE(WidgetExtendedInfo)
     COLUMN(last_update_time,    BIGINT,         DEFAULT 0)
     COLUMN(install_time,        BIGINT,         DEFAULT 0)
     COLUMN(option_state,        INT,            DEFAULT 0)
-    COLUMN(share_href,          VARCHAR(256),   DEFAULT '')
+    COLUMN(share_href,          TEXT,           DEFAULT '')
     COLUMN(signature_type,      INT,            DEFAULT 0)
     COLUMN(updated,             INT,            DEFAULT 0)
     COLUMN(update_policy,       INT,            DEFAULT 0)
     COLUMN_NOT_NULL(test_widget, INT, CHECK(test_widget between 0 and 1) DEFAULT 0)
-    COLUMN(splash_img_src,      VARCHAR(256),   DEFAULT '')
-    COLUMN(background_page,      VARCHAR(256),   DEFAULT '')
-    COLUMN(installed_path,      VARCHAR(512),   DEFAULT '')
+    COLUMN(splash_img_src,      TEXT,           DEFAULT '')
+    COLUMN(background_page,     TEXT,           DEFAULT '')
+    COLUMN(installed_path,      TEXT,           DEFAULT '')
     TABLE_CONSTRAINTS(
         FOREIGN KEY(app_id) REFERENCES WidgetInfo (app_id) ON DELETE CASCADE
     )
 CREATE_TABLE_END()
 
 CREATE_TABLE(WidgetPreference)
-    COLUMN_NOT_NULL(tizen_appid,    VARCHAR(256),  DEFAULT 0)
-    COLUMN_NOT_NULL(key_name,   VARCHAR(256),)
-    COLUMN(key_value,           VARCHAR(8000),  DEFAULT '')
-    COLUMN(readonly,            INT,            DEFAULT 0)
+    COLUMN_NOT_NULL(tizen_appid,    TEXT,           DEFAULT 0)
+    COLUMN_NOT_NULL(key_name,       TEXT,)
+    COLUMN(key_value,               TEXT,           DEFAULT '')
+    COLUMN(readonly,                INT,            DEFAULT 0)
 
     TABLE_CONSTRAINTS(
         PRIMARY KEY(tizen_appid, key_name),
@@ -115,7 +115,7 @@ CREATE_TABLE_END()
 CREATE_TABLE(WidgetFeature)
     COLUMN_NOT_NULL(widget_feature_id,  INTEGER,        primary key autoincrement)
     COLUMN_NOT_NULL(app_id,             INT,)
-    COLUMN_NOT_NULL(name,               VARCHAR(256),)
+    COLUMN_NOT_NULL(name,               TEXT,)
     COLUMN_NOT_NULL(required,           INT,)
     COLUMN_NOT_NULL(rejected,           INT,)
     TABLE_CONSTRAINTS(
@@ -135,7 +135,7 @@ CREATE_TABLE_END()
 CREATE_TABLE(WidgetPrivilege)
     COLUMN_NOT_NULL(widget_privilege_id, INTEGER,        primary key autoincrement)
     COLUMN_NOT_NULL(app_id,              INT,)
-    COLUMN_NOT_NULL(name,                VARCHAR(256),)
+    COLUMN_NOT_NULL(name,                TEXT,)
     TABLE_CONSTRAINTS(
         FOREIGN KEY (app_id) REFERENCES WidgetInfo (app_id) ON DELETE CASCADE
     )
@@ -144,7 +144,7 @@ CREATE_TABLE_END()
 CREATE_TABLE(WidgetIcon)
     COLUMN_NOT_NULL(icon_id,        INTEGER,   primary key autoincrement)
     COLUMN_NOT_NULL(app_id,         INT,)
-    COLUMN_NOT_NULL(icon_src,       VARCHAR(256),)
+    COLUMN_NOT_NULL(icon_src,       TEXT,)
     COLUMN(icon_width,              INT,            DEFAULT 0)
     COLUMN(icon_height,             INT,            DEFAULT 0)
     TABLE_CONSTRAINTS(
@@ -165,7 +165,7 @@ CREATE_TABLE_END()
 CREATE_TABLE(WidgetStartFile)
     COLUMN_NOT_NULL(start_file_id,  INTEGER,   primary key autoincrement)
     COLUMN_NOT_NULL(app_id,         INT,)
-    COLUMN_NOT_NULL(src,            VARCHAR(256),)
+    COLUMN_NOT_NULL(src,            TEXT,)
     TABLE_CONSTRAINTS(
         FOREIGN KEY(app_id) REFERENCES WidgetInfo (app_id) ON DELETE CASCADE
     )
@@ -194,7 +194,7 @@ CREATE_TABLE_END()
 
 CREATE_TABLE(WidgetAccessHost)
     COLUMN_NOT_NULL(app_id,     INT,)
-    COLUMN_NOT_NULL(host,       VARCHAR(256),)
+    COLUMN_NOT_NULL(host,       TEXT,)
 
     TABLE_CONSTRAINTS(
         PRIMARY KEY(app_id, host)
@@ -206,8 +206,8 @@ CREATE_TABLE(WidgetCertificateFingerprint)
     COLUMN_NOT_NULL(owner,      INT,)
     COLUMN_NOT_NULL(chainid,    INT,)
     COLUMN_NOT_NULL(type,       INT,)
-    COLUMN(md5_fingerprint,     VARCHAR(64),)
-    COLUMN(sha1_fingerprint,    VARCHAR(64),)
+    COLUMN(md5_fingerprint,     TEXT,)
+    COLUMN(sha1_fingerprint,    TEXT,)
     COLUMN(common_name,         VARCHAR(64),)
 
     TABLE_CONSTRAINTS(
@@ -218,7 +218,7 @@ CREATE_TABLE_END()
 
 CREATE_TABLE(WidgetWARPInfo)
     COLUMN_NOT_NULL(app_id,     INT,)
-    COLUMN_NOT_NULL(iri,        VARCHAR(65536),)
+    COLUMN_NOT_NULL(iri,        TEXT,)
     COLUMN(subdomain_access,    INT,        CHECK(subdomain_access between 0 and 1))
 
     TABLE_CONSTRAINTS(
@@ -359,8 +359,8 @@ SQL(
 
 /*TODO: It will be removed when user agent is fixed. User agent MUST be configurable in development...*/
 CREATE_TABLE(UserAgents)
-    COLUMN_NOT_NULL(key_name,   VARCHAR(256),)
-    COLUMN(key_value,           VARCHAR(8000),  DEFAULT '')
+    COLUMN_NOT_NULL(key_name,   TEXT,)
+    COLUMN(key_value,           TEXT,  DEFAULT '')
 
     TABLE_CONSTRAINTS(PRIMARY KEY(key_name))
 CREATE_TABLE_END()