contentstorage/castorage/data/castoragedb_create.sql
changeset 94 dbb8300717f7
parent 93 82b66994846c
child 98 d2f833ab7940
equal deleted inserted replaced
93:82b66994846c 94:dbb8300717f7
    43 SELECT "CREATE TABLE CA_ICON" AS " ";
    43 SELECT "CREATE TABLE CA_ICON" AS " ";
    44 SELECT "------------------------------------" AS " ";
    44 SELECT "------------------------------------" AS " ";
    45 CREATE TABLE CA_ICON( ICON_ID INTEGER PRIMARY KEY ,
    45 CREATE TABLE CA_ICON( ICON_ID INTEGER PRIMARY KEY ,
    46                                   IC_FILENAME TEXT,
    46                                   IC_FILENAME TEXT,
    47                                   IC_SKIN_ID TEXT,
    47                                   IC_SKIN_ID TEXT,
    48                                   IC_APP_ID TEXT,                                  
    48                                   IC_APP_ID TEXT,
    49                                   UNIQUE( IC_FILENAME, IC_SKIN_ID, IC_APP_ID ) );
    49                                   UNIQUE( IC_FILENAME, IC_SKIN_ID, IC_APP_ID ) );
    50 
    50 
    51 SELECT "CREATE TABLE CA_LAUNCH" AS " ";
    51 SELECT "CREATE TABLE CA_LAUNCH" AS " ";
    52 SELECT "------------------------------------" AS " ";
    52 SELECT "------------------------------------" AS " ";
    53 CREATE TABLE CA_LAUNCH( LAUNCH_ID INTEGER PRIMARY KEY ,
    53 CREATE TABLE CA_LAUNCH( LAUNCH_ID INTEGER PRIMARY KEY ,
    69 SELECT "------------------------------------" AS " ";
    69 SELECT "------------------------------------" AS " ";
    70 CREATE TABLE CA_LOCALIZATION_TEXT( LOC_TEXT_ID INTEGER PRIMARY KEY ,
    70 CREATE TABLE CA_LOCALIZATION_TEXT( LOC_TEXT_ID INTEGER PRIMARY KEY ,
    71                                   LT_TABLE_NAME TEXT ,
    71                                   LT_TABLE_NAME TEXT ,
    72                                   LT_ATTRIBUTE_NAME TEXT ,
    72                                   LT_ATTRIBUTE_NAME TEXT ,
    73                                   LT_STRING_ID TEXT ,
    73                                   LT_STRING_ID TEXT ,
       
    74                                   LT_QMFILENAME TEXT,
    74                                   LT_ROW_ID INTEGER );
    75                                   LT_ROW_ID INTEGER );
    75                                   
    76                                   
    76 SELECT "CREATE TABLE CA_DB_PROPERTIES" AS " ";
    77 SELECT "CREATE TABLE CA_DB_PROPERTIES" AS " ";
    77 SELECT "------------------------------------" AS " ";
    78 SELECT "------------------------------------" AS " ";
    78 CREATE TABLE CA_DB_PROPERTIES( DB_PROPERTIES_ID INTEGER PRIMARY KEY ,
    79 CREATE TABLE CA_DB_PROPERTIES( DB_PROPERTIES_ID INTEGER PRIMARY KEY ,
    79                                   DB_PROPERTY TEXT UNIQUE,
    80                                   DB_PROPERTY TEXT UNIQUE,
    80                                   DB_VALUE TEXT );       
    81                                   DB_VALUE TEXT );       
    81                                    
    82                                    
    82 
    83 
       
    84 SELECT "INSERT INITIAL DATA TO CA_DB_PROPERTIES" AS " ";
       
    85 
       
    86 SELECT "------------------------------------" AS " ";
       
    87 INSERT INTO CA_DB_PROPERTIES ( DB_PROPERTY, DB_VALUE ) 
       
    88 VALUES ( 'Version', '00001' );
       
    89 INSERT INTO CA_DB_PROPERTIES ( DB_PROPERTY, DB_VALUE ) 
       
    90 VALUES ( 'Language', '' );
       
    91 INSERT INTO CA_DB_PROPERTIES ( DB_PROPERTY, DB_VALUE ) 
       
    92 VALUES ( 'QMfile', 'contentstorage_' );
    83 
    93 
    84 -- CREATE VIEW COLLECTION
    94 -- CREATE VIEW COLLECTION
    85 SELECT "------------------------------------" AS " ";
    95 SELECT "------------------------------------" AS " ";
    86 SELECT "CREATE VIEW COLLECTION" AS " ";
    96 SELECT "CREATE VIEW COLLECTION" AS " ";
    87 DROP VIEW IF EXISTS COLLECTION;
    97 DROP VIEW IF EXISTS COLLECTION;
    88 CREATE VIEW COLLECTION 
    98 CREATE VIEW COLLECTION 
    89   AS SELECT 
    99   AS SELECT 
    90     "" AS "COLLECTION_NAME",
   100     "" AS "COLLECTION_NAME",
    91     "" AS "COL_LOCNAME",
   101     "" AS "COL_LOCNAME",
    92     "" AS "COL_APP_GROUP_NAME", 
   102     "" AS "COL_APP_GROUP_NAME", 
    93     "" AS "ICON",
   103     "" AS "ICON_FILENAME",
       
   104     "" AS "ICON_SKIN_ID",
    94     "" AS "FLAGS";
   105     "" AS "FLAGS";
    95     
   106     
    96 SELECT "  CREATE TRIGGER collection_insert" AS " ";
   107 SELECT "  CREATE TRIGGER collection_insert" AS " ";
    97 CREATE TRIGGER collection_insert INSTEAD OF INSERT ON COLLECTION 
   108 CREATE TRIGGER collection_insert INSTEAD OF INSERT ON COLLECTION 
    98 BEGIN  
   109 BEGIN  
    99   -- INSERT ICON
   110   -- INSERT ICON
   100   INSERT INTO CA_ICON (IC_FILENAME) 
   111   INSERT INTO CA_ICON (IC_FILENAME, IC_SKIN_ID) 
   101   VALUES ( new.ICON);
   112   VALUES ( new.ICON_FILENAME, new.ICON_SKIN_ID);
   102   -- DELETE IF ICON IS NULL OR IF IT IS DUPLICATE
   113   -- DELETE IF ICON IS NULL OR IF IT IS DUPLICATE
   103   DELETE FROM CA_ICON WHERE ICON_ID = last_insert_rowid() AND 
   114   DELETE FROM CA_ICON WHERE ICON_ID = last_insert_rowid() AND 
   104       (IC_FILENAME IS NULL OR (SELECT ICON_ID FROM CA_ICON WHERE IC_FILENAME = new.ICON AND ICON_ID <> last_insert_rowid()) IS NOT NULL);   
   115       ( (IC_FILENAME IS NULL AND IC_SKIN_ID IS NULL) OR 
       
   116         (SELECT ICON_ID FROM CA_ICON WHERE IC_FILENAME = new.ICON_FILENAME AND ICON_ID <> last_insert_rowid()) IS NOT NULL OR 
       
   117         (SELECT ICON_ID FROM CA_ICON WHERE IC_SKIN_ID = new.ICON_SKIN_ID AND ICON_ID <> last_insert_rowid()) IS NOT NULL);
   105   -- INSERT ENTRY
   118   -- INSERT ENTRY
   106     INSERT INTO CA_ENTRY (EN_TEXT, EN_ROLE, EN_TYPE_NAME, EN_FLAGS, EN_ICON_ID ) 
   119     INSERT INTO CA_ENTRY (EN_TEXT, EN_ROLE, EN_TYPE_NAME, EN_FLAGS, EN_ICON_ID ) 
   107     VALUES ( new.COLLECTION_NAME , 2, "collection",  new.FLAGS, (SELECT ICON_ID FROM CA_ICON WHERE IC_FILENAME = new.ICON ));
   120     VALUES ( new.COLLECTION_NAME , 2, "collection",  new.FLAGS, (SELECT ICON_ID FROM CA_ICON WHERE IC_FILENAME = new.ICON_FILENAME OR IC_SKIN_ID = new.ICON_SKIN_ID ));
   108     -- LOCALIZATION 
   121     -- LOCALIZATION 
   109     INSERT INTO CA_LOCALIZATION_TEXT ( LT_TABLE_NAME, LT_ATTRIBUTE_NAME, LT_STRING_ID, LT_ROW_ID ) 
   122     INSERT INTO CA_LOCALIZATION_TEXT ( LT_TABLE_NAME, LT_ATTRIBUTE_NAME, LT_STRING_ID, LT_QMFILENAME, LT_ROW_ID ) 
   110     VALUES ( 'CA_ENTRY', 'EN_TEXT', new.COL_LOCNAME, ( SELECT last_insert_rowid() ) );
   123     VALUES ( 'CA_ENTRY', 'EN_TEXT', new.COL_LOCNAME, ( SELECT DB_VALUE FROM CA_DB_PROPERTIES WHERE DB_PROPERTY = "QMfile" ), ( SELECT last_insert_rowid() ) );
   111     DELETE FROM CA_LOCALIZATION_TEXT WHERE LT_STRING_ID IS NULL AND LOC_TEXT_ID = last_insert_rowid() ;
   124     DELETE FROM CA_LOCALIZATION_TEXT WHERE LT_STRING_ID IS NULL AND LOC_TEXT_ID = last_insert_rowid() ;
   112     -- RELATION TO MAIN COLLECTION (ADD TO GROUP: )
   125     -- RELATION TO MAIN COLLECTION (ADD TO GROUP: )
   113   INSERT INTO CA_GROUP_ENTRY (GE_GROUP_ID, GE_ENTRY_ID, GE_POSITION) 
   126   INSERT INTO CA_GROUP_ENTRY (GE_GROUP_ID, GE_ENTRY_ID, GE_POSITION) 
   114   VALUES ( (SELECT ENTRY_ID FROM CA_ENTRY WHERE EN_TYPE_NAME = "menucollections") , 
   127   VALUES ( (SELECT ENTRY_ID FROM CA_ENTRY WHERE EN_TYPE_NAME = "menucollections") , 
   115           (SELECT ENTRY_ID FROM CA_ENTRY WHERE EN_TEXT = new.COLLECTION_NAME), 
   128           (SELECT ENTRY_ID FROM CA_ENTRY WHERE EN_TEXT = new.COLLECTION_NAME), 
   125 DROP VIEW IF EXISTS ITEM_TO_COLLECTION;
   138 DROP VIEW IF EXISTS ITEM_TO_COLLECTION;
   126 CREATE VIEW ITEM_TO_COLLECTION 
   139 CREATE VIEW ITEM_TO_COLLECTION 
   127   AS SELECT 
   140   AS SELECT 
   128     "" AS "ITEM_TYPE",
   141     "" AS "ITEM_TYPE",
   129     "" AS "ITEM_NAME",
   142     "" AS "ITEM_NAME",
   130     "" AS "ICON",
   143     "" AS "ICON_FILENAME",
       
   144     "" AS "ICON_SKIN_ID",
   131     "" AS "ITEM_DEST",    
   145     "" AS "ITEM_DEST",    
   132     "" AS "COLLECTION_NAME";
   146     "" AS "COLLECTION_NAME";
   133 
   147 
   134 SELECT "  CREATE TRIGGER item_to_collection_insert_app" AS " ";
   148 SELECT "  CREATE TRIGGER item_to_collection_insert_app" AS " ";
   135 CREATE TRIGGER item_to_collection_insert_app INSTEAD OF INSERT ON ITEM_TO_COLLECTION WHEN new.ITEM_TYPE="application"
   149 CREATE TRIGGER item_to_collection_insert_app INSTEAD OF INSERT ON ITEM_TO_COLLECTION WHEN new.ITEM_TYPE="application"
   138   INSERT OR IGNORE INTO CA_ENTRY (EN_TEXT, EN_ROLE, EN_TYPE_NAME, EN_UID ) 
   152   INSERT OR IGNORE INTO CA_ENTRY (EN_TEXT, EN_ROLE, EN_TYPE_NAME, EN_UID ) 
   139   VALUES ( new.ITEM_NAME, 1, "application", new.ITEM_DEST   );
   153   VALUES ( new.ITEM_NAME, 1, "application", new.ITEM_DEST   );
   140   -- RELATION TO MAIN COLLECTION (ADD TO GROUP: )
   154   -- RELATION TO MAIN COLLECTION (ADD TO GROUP: )
   141   INSERT INTO CA_GROUP_ENTRY (GE_GROUP_ID, GE_ENTRY_ID, GE_POSITION) 
   155   INSERT INTO CA_GROUP_ENTRY (GE_GROUP_ID, GE_ENTRY_ID, GE_POSITION) 
   142   VALUES ( (SELECT ENTRY_ID FROM CA_ENTRY WHERE EN_TEXT = new.COLLECTION_NAME) , 
   156   VALUES ( (SELECT ENTRY_ID FROM CA_ENTRY WHERE EN_TEXT = new.COLLECTION_NAME) , 
   143           (SELECT ENTRY_ID FROM CA_ENTRY WHERE EN_TEXT = new.ITEM_NAME), 
   157           (SELECT ENTRY_ID FROM CA_ENTRY WHERE EN_UID = new.ITEM_DEST), 
   144           (SELECT IFNULL(MAX(GE_POSITION)+1, 1) FROM CA_GROUP_ENTRY WHERE GE_GROUP_ID = (SELECT ENTRY_ID FROM CA_ENTRY WHERE EN_TEXT = new.COLLECTION_NAME)) );
   158           (SELECT IFNULL(MAX(GE_POSITION)+1, 1) FROM CA_GROUP_ENTRY WHERE GE_GROUP_ID = (SELECT ENTRY_ID FROM CA_ENTRY WHERE EN_TEXT = new.COLLECTION_NAME)) );
   145 END;
   159 END;
   146 
   160 
   147 SELECT "  CREATE TRIGGER item_to_collection_insert_url" AS " ";
   161 SELECT "  CREATE TRIGGER item_to_collection_insert_url" AS " ";
   148 CREATE TRIGGER item_to_collection_insert_url INSTEAD OF INSERT ON ITEM_TO_COLLECTION WHEN new.ITEM_TYPE="url"
   162 CREATE TRIGGER item_to_collection_insert_url INSTEAD OF INSERT ON ITEM_TO_COLLECTION WHEN new.ITEM_TYPE="url"
   149 BEGIN
   163 BEGIN
   150   -- INSERT ICON
   164   -- INSERT ICON
   151   INSERT OR IGNORE INTO CA_ICON (IC_FILENAME) 
   165   INSERT OR IGNORE INTO CA_ICON (IC_FILENAME, IC_SKIN_ID) 
   152   VALUES ( new.ICON);
   166   VALUES ( new.ICON_FILENAME, new.ICON_SKIN_ID);
   153   DELETE FROM CA_ICON WHERE ICON_ID = last_insert_rowid() AND 
   167   DELETE FROM CA_ICON WHERE ICON_ID = last_insert_rowid() AND 
   154       (IC_FILENAME IS NULL OR (SELECT ICON_ID FROM CA_ICON WHERE IC_FILENAME = new.ICON AND ICON_ID <> last_insert_rowid()) IS NOT NULL);  
   168       ( (IC_FILENAME IS NULL AND IC_SKIN_ID IS NULL) OR 
       
   169         (SELECT ICON_ID FROM CA_ICON WHERE IC_FILENAME = new.ICON_FILENAME AND ICON_ID <> last_insert_rowid()) IS NOT NULL OR 
       
   170         (SELECT ICON_ID FROM CA_ICON WHERE IC_SKIN_ID = new.ICON_SKIN_ID AND ICON_ID <> last_insert_rowid()) IS NOT NULL);  
   155   -- INSERT ENTRY
   171   -- INSERT ENTRY
   156   INSERT OR IGNORE INTO CA_ENTRY (EN_TEXT, EN_ROLE, EN_TYPE_NAME, EN_ICON_ID ) 
   172   INSERT OR IGNORE INTO CA_ENTRY (EN_TEXT, EN_ROLE, EN_TYPE_NAME, EN_ICON_ID ) 
   157   VALUES ( new.ITEM_NAME, 1, "url", (SELECT ICON_ID FROM CA_ICON WHERE IC_FILENAME = new.ICON ));
   173   VALUES ( new.ITEM_NAME, 1, "url", (SELECT ICON_ID FROM CA_ICON WHERE IC_FILENAME = new.ICON_FILENAME OR IC_SKIN_ID = new.ICON_SKIN_ID ));
   158   INSERT OR IGNORE INTO CA_ATTRIBUTE (AT_ENTRY_ID, AT_NAME, AT_VALUE )  
   174   INSERT OR IGNORE INTO CA_ATTRIBUTE (AT_ENTRY_ID, AT_NAME, AT_VALUE )  
   159   VALUES ( ( SELECT last_insert_rowid() ) ,"url",new.ITEM_DEST);
   175   VALUES ( ( SELECT last_insert_rowid() ) ,"url",new.ITEM_DEST);
   160   -- RELATION TO MAIN COLLECTION (ADD TO GROUP: )
   176   -- RELATION TO MAIN COLLECTION (ADD TO GROUP: )
   161   INSERT INTO CA_GROUP_ENTRY (GE_GROUP_ID, GE_ENTRY_ID, GE_POSITION) 
   177   INSERT INTO CA_GROUP_ENTRY (GE_GROUP_ID, GE_ENTRY_ID, GE_POSITION) 
   162   VALUES ( (SELECT ENTRY_ID FROM CA_ENTRY WHERE EN_TEXT = new.COLLECTION_NAME) , 
   178   VALUES ( (SELECT ENTRY_ID FROM CA_ENTRY WHERE EN_TEXT = new.COLLECTION_NAME) , 
   163           (SELECT ENTRY_ID FROM CA_ENTRY WHERE EN_TEXT = new.ITEM_NAME), 
   179           (SELECT ENTRY_ID FROM CA_ENTRY WHERE (EN_TEXT = new.ITEM_NAME AND EN_TYPE_NAME = new.ITEM_TYPE )),
   164           (SELECT IFNULL(MAX(GE_POSITION)+1, 1) FROM CA_GROUP_ENTRY WHERE GE_GROUP_ID = (SELECT ENTRY_ID FROM CA_ENTRY WHERE EN_TEXT = new.COLLECTION_NAME)) );
   180           (SELECT IFNULL(MAX(GE_POSITION)+1, 1) FROM CA_GROUP_ENTRY WHERE GE_GROUP_ID = (SELECT ENTRY_ID FROM CA_ENTRY WHERE EN_TEXT = new.COLLECTION_NAME)) );
   165 END;
   181 END;
   166 
   182 
   167 
   183 
   168 -- CREATE VIEW WIDGET   _TO_COLLECTION
   184 -- CREATE VIEW WIDGET   _TO_COLLECTION
   171 DROP VIEW IF EXISTS WIDGET_TO_COLLECTION;
   187 DROP VIEW IF EXISTS WIDGET_TO_COLLECTION;
   172 CREATE VIEW WIDGET_TO_COLLECTION 
   188 CREATE VIEW WIDGET_TO_COLLECTION 
   173   AS SELECT 
   189   AS SELECT 
   174     "" AS "ITEM_TYPE",
   190     "" AS "ITEM_TYPE",
   175     "" AS "ITEM_NAME",
   191     "" AS "ITEM_NAME",
   176     "" AS "ICON",
   192     "" AS "ICON_FILENAME",
       
   193     "" AS "ICON_SKIN_ID",
   177     "" AS "PACKAGE_UID",
   194     "" AS "PACKAGE_UID",
   178     "" AS "LIBRARY",
   195     "" AS "LIBRARY",
   179     "" AS "LONG_NAME",
   196     "" AS "LONG_NAME",
   180     "" AS "URI",
   197     "" AS "URI",
   181     "" AS "COLLECTION_NAME";
   198     "" AS "COLLECTION_NAME";
   182 
   199 
   183 SELECT "  CREATE TRIGGER insert_widget_to_collection" AS " ";
   200 SELECT "  CREATE TRIGGER insert_widget_to_collection" AS " ";
   184 CREATE TRIGGER item_to_collection_insert_widget INSTEAD OF INSERT ON WIDGET_TO_COLLECTION WHEN new.ITEM_TYPE="widget"
   201 CREATE TRIGGER item_to_collection_insert_widget INSTEAD OF INSERT ON WIDGET_TO_COLLECTION WHEN new.ITEM_TYPE="widget"
   185 BEGIN
   202 BEGIN
   186   -- INSERT ICON
   203   -- INSERT ICON
   187   INSERT OR IGNORE INTO CA_ICON (IC_FILENAME) 
   204   INSERT OR IGNORE INTO CA_ICON (IC_FILENAME, IC_SKIN_ID) 
   188   VALUES ( new.ICON);
   205   VALUES ( new.ICON_FILENAME, new.ICON_SKIN_ID);
   189   DELETE FROM CA_ICON WHERE ICON_ID = last_insert_rowid() AND 
   206   DELETE FROM CA_ICON WHERE ICON_ID = last_insert_rowid() AND 
   190       (IC_FILENAME IS NULL OR (SELECT ICON_ID FROM CA_ICON WHERE IC_FILENAME = new.ICON AND ICON_ID <> last_insert_rowid()) IS NOT NULL);  
   207       ( (IC_FILENAME IS NULL AND IC_SKIN_ID IS NULL) OR 
       
   208         (SELECT ICON_ID FROM CA_ICON WHERE IC_FILENAME = new.ICON_FILENAME AND ICON_ID <> last_insert_rowid()) IS NOT NULL OR 
       
   209         (SELECT ICON_ID FROM CA_ICON WHERE IC_SKIN_ID = new.ICON_SKIN_ID AND ICON_ID <> last_insert_rowid()) IS NOT NULL);
   191   -- INSERT ENTRY
   210   -- INSERT ENTRY
   192   INSERT OR IGNORE INTO CA_ENTRY (EN_TEXT, EN_ROLE, EN_TYPE_NAME, EN_ICON_ID ) 
   211   INSERT OR IGNORE INTO CA_ENTRY (EN_TEXT, EN_ROLE, EN_TYPE_NAME, EN_ICON_ID ) 
   193   VALUES ( new.ITEM_NAME, 1, "widget", (SELECT ICON_ID FROM CA_ICON WHERE IC_FILENAME = new.ICON ));
   212   VALUES ( new.ITEM_NAME, 1, "widget", (SELECT ICON_ID FROM CA_ICON WHERE IC_FILENAME = new.ICON_FILENAME OR IC_SKIN_ID = new.ICON_SKIN_ID ));
   194   -- INSERT ATTRIBUTES
   213   -- INSERT ATTRIBUTES
   195   INSERT OR IGNORE INTO CA_ATTRIBUTE (AT_ENTRY_ID, AT_NAME, AT_VALUE )  
   214   INSERT OR IGNORE INTO CA_ATTRIBUTE (AT_ENTRY_ID, AT_NAME, AT_VALUE )  
   196   VALUES ( ( SELECT ENTRY_ID FROM CA_ENTRY WHERE EN_TEXT = new.ITEM_NAME ) ,"packageuid",new.PACKAGE_UID);
   215   VALUES ( ( SELECT ENTRY_ID FROM CA_ENTRY WHERE EN_TEXT = new.ITEM_NAME ) ,"packageuid",new.PACKAGE_UID);
   197   INSERT OR IGNORE INTO CA_ATTRIBUTE (AT_ENTRY_ID, AT_NAME, AT_VALUE )  
   216   INSERT OR IGNORE INTO CA_ATTRIBUTE (AT_ENTRY_ID, AT_NAME, AT_VALUE )  
   198   VALUES ( ( SELECT ENTRY_ID FROM CA_ENTRY WHERE EN_TEXT = new.ITEM_NAME ) ,"widget:library",new.LIBRARY);
   217   VALUES ( ( SELECT ENTRY_ID FROM CA_ENTRY WHERE EN_TEXT = new.ITEM_NAME ) ,"widget:library",new.LIBRARY);
   201   INSERT OR IGNORE INTO CA_ATTRIBUTE (AT_ENTRY_ID, AT_NAME, AT_VALUE )  
   220   INSERT OR IGNORE INTO CA_ATTRIBUTE (AT_ENTRY_ID, AT_NAME, AT_VALUE )  
   202   VALUES ( ( SELECT ENTRY_ID FROM CA_ENTRY WHERE EN_TEXT = new.ITEM_NAME ) ,"widget:uri",new.URI);
   221   VALUES ( ( SELECT ENTRY_ID FROM CA_ENTRY WHERE EN_TEXT = new.ITEM_NAME ) ,"widget:uri",new.URI);
   203   -- RELATION TO MAIN COLLECTION (ADD TO GROUP: )
   222   -- RELATION TO MAIN COLLECTION (ADD TO GROUP: )
   204   INSERT INTO CA_GROUP_ENTRY (GE_GROUP_ID, GE_ENTRY_ID, GE_POSITION) 
   223   INSERT INTO CA_GROUP_ENTRY (GE_GROUP_ID, GE_ENTRY_ID, GE_POSITION) 
   205   VALUES ( (SELECT ENTRY_ID FROM CA_ENTRY WHERE EN_TEXT = new.COLLECTION_NAME) , 
   224   VALUES ( (SELECT ENTRY_ID FROM CA_ENTRY WHERE EN_TEXT = new.COLLECTION_NAME) , 
   206           (SELECT ENTRY_ID FROM CA_ENTRY WHERE EN_TEXT = new.ITEM_NAME), 
   225           (SELECT ENTRY_ID FROM CA_ENTRY WHERE (EN_TEXT = new.ITEM_NAME AND EN_TYPE_NAME = new.ITEM_TYPE)), 
   207           (SELECT IFNULL(MAX(GE_POSITION)+1, 1) FROM CA_GROUP_ENTRY WHERE GE_GROUP_ID = (SELECT ENTRY_ID FROM CA_ENTRY WHERE EN_TEXT = new.COLLECTION_NAME)) );
   226           (SELECT IFNULL(MAX(GE_POSITION)+1, 1) FROM CA_GROUP_ENTRY WHERE GE_GROUP_ID = (SELECT ENTRY_ID FROM CA_ENTRY WHERE EN_TEXT = new.COLLECTION_NAME)) );
   208 END;
   227 END;
   209 
   228 
   210 SELECT "INSERT INITIAL DATA TO CA_DB_PROPERTIES" AS " ";
   229 
   211 
       
   212 SELECT "------------------------------------" AS " ";
       
   213 INSERT INTO CA_DB_PROPERTIES ( DB_PROPERTY, DB_VALUE ) 
       
   214 VALUES ( 'Version', '00001' );
       
   215 INSERT INTO CA_DB_PROPERTIES ( DB_PROPERTY, DB_VALUE ) 
       
   216 VALUES ( 'Language', '' );
       
   217 INSERT INTO CA_DB_PROPERTIES ( DB_PROPERTY, DB_VALUE ) 
       
   218 VALUES ( 'QMfile', 'contentstorage_' );
       
   219 
   230 
   220 -- insert neccessary items
   231 -- insert neccessary items
   221 SELECT "INSERT menucollections ENTRY" AS " ";
   232 SELECT "INSERT menucollections ENTRY" AS " ";
   222 INSERT INTO CA_ENTRY (EN_TEXT, EN_ROLE, EN_TYPE_NAME, EN_ICON_ID, EN_UID ) 
   233 INSERT INTO CA_ENTRY (EN_TEXT, EN_ROLE, EN_TYPE_NAME, EN_ICON_ID, EN_UID ) 
   223 VALUES ( 'AllCollections', 2, "menucollections", NULL , NULL  );
   234 VALUES ( 'AllCollections', 2, "menucollections", NULL , NULL  );
   234 VALUES ( 'Downloaded', 2, "collection::downloaded", last_insert_rowid() , 8 );
   245 VALUES ( 'Downloaded', 2, "collection::downloaded", last_insert_rowid() , 8 );
   235 
   246 
   236 INSERT OR IGNORE INTO CA_ATTRIBUTE (AT_ENTRY_ID, AT_NAME, AT_VALUE )  
   247 INSERT OR IGNORE INTO CA_ATTRIBUTE (AT_ENTRY_ID, AT_NAME, AT_VALUE )  
   237 VALUES ( last_insert_rowid(), "appgroup_name", " Downloaded" );
   248 VALUES ( last_insert_rowid(), "appgroup_name", " Downloaded" );
   238 
   249 
   239 INSERT INTO CA_LOCALIZATION_TEXT ( LT_TABLE_NAME, LT_ATTRIBUTE_NAME, LT_STRING_ID, LT_ROW_ID ) 
   250 INSERT INTO CA_LOCALIZATION_TEXT ( LT_TABLE_NAME, LT_ATTRIBUTE_NAME, LT_STRING_ID, LT_QMFILENAME, LT_ROW_ID ) 
   240 VALUES ( 'CA_ENTRY', 'EN_TEXT', "txt_applib_dblist_downloaded", ( SELECT last_insert_rowid() ) );
   251 VALUES ( 'CA_ENTRY', 'EN_TEXT', "txt_applib_dblist_downloaded",( SELECT DB_VALUE FROM CA_DB_PROPERTIES WHERE DB_PROPERTY = "QMfile" ), ( SELECT last_insert_rowid() ) );
   241 
   252 
   242 INSERT INTO CA_GROUP_ENTRY (GE_GROUP_ID, GE_ENTRY_ID, GE_POSITION) 
   253 INSERT INTO CA_GROUP_ENTRY (GE_GROUP_ID, GE_ENTRY_ID, GE_POSITION) 
   243 VALUES ( (SELECT ENTRY_ID FROM CA_ENTRY WHERE EN_TYPE_NAME = "menucollections") , 
   254 VALUES ( (SELECT ENTRY_ID FROM CA_ENTRY WHERE EN_TYPE_NAME = "menucollections") , 
   244           (SELECT ENTRY_ID FROM CA_ENTRY WHERE EN_TYPE_NAME = "collection::downloaded"), 
   255           (SELECT ENTRY_ID FROM CA_ENTRY WHERE EN_TYPE_NAME = "collection::downloaded"), 
   245           1 ); 
   256           1 );