contentstorage/castorage/data/castoragedb_create.sql
author hgs
Fri, 30 Apr 2010 15:22:08 +0300
changeset 93 82b66994846c
parent 92 782e3408c2ab
child 94 dbb8300717f7
permissions -rw-r--r--
201017
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
88
hgs
parents:
diff changeset
     1
DROP TABLE IF EXISTS CA_ENTRY;
hgs
parents:
diff changeset
     2
DROP TABLE IF EXISTS CA_GROUP_ENTRY;
hgs
parents:
diff changeset
     3
DROP TABLE IF EXISTS CA_ICON;
hgs
parents:
diff changeset
     4
DROP TABLE IF EXISTS CA_LAUNCH;
hgs
parents:
diff changeset
     5
DROP TABLE IF EXISTS CA_ATTRIBUTE;
hgs
parents:
diff changeset
     6
DROP TABLE IF EXISTS CA_LOCALIZATION_TEXT;
hgs
parents:
diff changeset
     7
DROP TABLE IF EXISTS CA_DB_PROPERTIES;
hgs
parents:
diff changeset
     8
hgs
parents:
diff changeset
     9
SELECT "CREATE TABLE CA_ENTRY" AS " ";
hgs
parents:
diff changeset
    10
SELECT "------------------------------------" AS " ";
hgs
parents:
diff changeset
    11
CREATE TABLE CA_ENTRY( ENTRY_ID INTEGER PRIMARY KEY,
hgs
parents:
diff changeset
    12
                                 EN_TEXT TEXT NOT NULL COLLATE NOCASE,
hgs
parents:
diff changeset
    13
                                 EN_DESCRIPTION TEXT COLLATE NOCASE,
hgs
parents:
diff changeset
    14
                                 EN_ROLE INTEGER default 1,
hgs
parents:
diff changeset
    15
                                 EN_TYPE_NAME TEXT NOT NULL,
hgs
parents:
diff changeset
    16
                                 EN_ICON_ID INTEGER,
hgs
parents:
diff changeset
    17
                                 EN_CREATION_TIME BIGINT default -1 NOT NULL,
hgs
parents:
diff changeset
    18
                                 EN_UID INTEGER UNIQUE, 
hgs
parents:
diff changeset
    19
                                 EN_FLAGS INTEGER default 8, 
hgs
parents:
diff changeset
    20
                                 FOREIGN KEY(EN_ICON_ID) REFERENCES CA_ICON(ICON_ID) );
hgs
parents:
diff changeset
    21
CREATE INDEX EntryText_CAIndex ON CA_ENTRY(EN_TEXT);
hgs
parents:
diff changeset
    22
CREATE INDEX EntryCreationTime_CAIndex ON CA_ENTRY(EN_CREATION_TIME);
hgs
parents:
diff changeset
    23
hgs
parents:
diff changeset
    24
SELECT "CREATE TABLE CA_GROUP_ENTRY" AS " ";
hgs
parents:
diff changeset
    25
SELECT "------------------------------------" AS " ";
hgs
parents:
diff changeset
    26
CREATE TABLE CA_GROUP_ENTRY( GROUP_ENTRY_ID INTEGER PRIMARY KEY ,
hgs
parents:
diff changeset
    27
                                  GE_GROUP_ID INTEGER NOT NULL,
hgs
parents:
diff changeset
    28
                                  GE_ENTRY_ID INTEGER NOT NULL,
hgs
parents:
diff changeset
    29
                                  GE_POSITION INTEGER,
hgs
parents:
diff changeset
    30
                                  UNIQUE( GE_GROUP_ID, GE_ENTRY_ID ),
hgs
parents:
diff changeset
    31
                                  FOREIGN KEY(GE_GROUP_ID) REFERENCES CA_ENTRY(ENTRY_ID),
hgs
parents:
diff changeset
    32
                                  FOREIGN KEY(GE_ENTRY_ID) REFERENCES CA_ENTRY(ENTRY_ID) );
hgs
parents:
diff changeset
    33
CREATE INDEX GroupGE_POSITION_CAIndex ON CA_GROUP_ENTRY(GE_POSITION);
hgs
parents:
diff changeset
    34
CREATE TRIGGER update_position_in_ca_group_entry_after_remove AFTER DELETE ON CA_GROUP_ENTRY
hgs
parents:
diff changeset
    35
BEGIN
hgs
parents:
diff changeset
    36
    UPDATE CA_GROUP_ENTRY SET GE_POSITION = GE_POSITION - 1 WHERE GE_POSITION > old.GE_POSITION AND GE_GROUP_ID = old.GE_GROUP_ID;
hgs
parents:
diff changeset
    37
END; 
hgs
parents:
diff changeset
    38
CREATE TRIGGER update_position_in_ca_group_entry_before_insert BEFORE INSERT ON CA_GROUP_ENTRY
hgs
parents:
diff changeset
    39
BEGIN
hgs
parents:
diff changeset
    40
    UPDATE CA_GROUP_ENTRY SET GE_POSITION = GE_POSITION + 1 WHERE GE_POSITION >= new.GE_POSITION AND GE_GROUP_ID = new.GE_GROUP_ID;
hgs
parents:
diff changeset
    41
END;
hgs
parents:
diff changeset
    42
hgs
parents:
diff changeset
    43
SELECT "CREATE TABLE CA_ICON" AS " ";
hgs
parents:
diff changeset
    44
SELECT "------------------------------------" AS " ";
hgs
parents:
diff changeset
    45
CREATE TABLE CA_ICON( ICON_ID INTEGER PRIMARY KEY ,
hgs
parents:
diff changeset
    46
                                  IC_FILENAME TEXT,
hgs
parents:
diff changeset
    47
                                  IC_SKIN_ID TEXT,
hgs
parents:
diff changeset
    48
                                  IC_APP_ID TEXT,                                  
hgs
parents:
diff changeset
    49
                                  UNIQUE( IC_FILENAME, IC_SKIN_ID, IC_APP_ID ) );
hgs
parents:
diff changeset
    50
hgs
parents:
diff changeset
    51
SELECT "CREATE TABLE CA_LAUNCH" AS " ";
hgs
parents:
diff changeset
    52
SELECT "------------------------------------" AS " ";
hgs
parents:
diff changeset
    53
CREATE TABLE CA_LAUNCH( LAUNCH_ID INTEGER PRIMARY KEY ,
hgs
parents:
diff changeset
    54
                                  LA_ENTRY_ID INTEGER NOT NULL,
hgs
parents:
diff changeset
    55
                                  LA_LAUNCH_TIME INTEGER NOT NULL,
hgs
parents:
diff changeset
    56
                                  FOREIGN KEY(LA_ENTRY_ID) REFERENCES CA_ENTRY(ENTRY_ID) );
hgs
parents:
diff changeset
    57
CREATE INDEX LaunchLaunchTime_CAIndex ON CA_LAUNCH(LA_LAUNCH_TIME);
hgs
parents:
diff changeset
    58
hgs
parents:
diff changeset
    59
SELECT "CREATE TABLE CA_ATTRIBUTE" AS " ";
hgs
parents:
diff changeset
    60
SELECT "------------------------------------" AS " ";
hgs
parents:
diff changeset
    61
CREATE TABLE CA_ATTRIBUTE( ATTRIBUTE_ID INTEGER PRIMARY KEY ,
hgs
parents:
diff changeset
    62
                                  AT_ENTRY_ID INTEGER NOT NULL,
hgs
parents:
diff changeset
    63
                                  AT_NAME TEXT NOT NULL,
hgs
parents:
diff changeset
    64
                                  AT_VALUE TEXT NOT NULL,
hgs
parents:
diff changeset
    65
                                  UNIQUE( AT_ENTRY_ID, AT_NAME ),
hgs
parents:
diff changeset
    66
                                  FOREIGN KEY(AT_ENTRY_ID) REFERENCES CA_ENTRY(ENTRY_ID) );
hgs
parents:
diff changeset
    67
hgs
parents:
diff changeset
    68
SELECT "CREATE TABLE CA_LOCALIZATION_TEXT" AS " ";
hgs
parents:
diff changeset
    69
SELECT "------------------------------------" AS " ";
hgs
parents:
diff changeset
    70
CREATE TABLE CA_LOCALIZATION_TEXT( LOC_TEXT_ID INTEGER PRIMARY KEY ,
hgs
parents:
diff changeset
    71
                                  LT_TABLE_NAME TEXT ,
hgs
parents:
diff changeset
    72
                                  LT_ATTRIBUTE_NAME TEXT ,
hgs
parents:
diff changeset
    73
                                  LT_STRING_ID TEXT ,
hgs
parents:
diff changeset
    74
                                  LT_ROW_ID INTEGER );
hgs
parents:
diff changeset
    75
                                  
hgs
parents:
diff changeset
    76
SELECT "CREATE TABLE CA_DB_PROPERTIES" AS " ";
hgs
parents:
diff changeset
    77
SELECT "------------------------------------" AS " ";
hgs
parents:
diff changeset
    78
CREATE TABLE CA_DB_PROPERTIES( DB_PROPERTIES_ID INTEGER PRIMARY KEY ,
hgs
parents:
diff changeset
    79
                                  DB_PROPERTY TEXT UNIQUE,
hgs
parents:
diff changeset
    80
                                  DB_VALUE TEXT );       
hgs
parents:
diff changeset
    81
                                   
hgs
parents:
diff changeset
    82
hgs
parents:
diff changeset
    83
hgs
parents:
diff changeset
    84
-- CREATE VIEW COLLECTION
hgs
parents:
diff changeset
    85
SELECT "------------------------------------" AS " ";
hgs
parents:
diff changeset
    86
SELECT "CREATE VIEW COLLECTION" AS " ";
hgs
parents:
diff changeset
    87
DROP VIEW IF EXISTS COLLECTION;
hgs
parents:
diff changeset
    88
CREATE VIEW COLLECTION 
hgs
parents:
diff changeset
    89
  AS SELECT 
92
hgs
parents: 89
diff changeset
    90
    "" AS "COLLECTION_NAME",
hgs
parents: 89
diff changeset
    91
    "" AS "COL_LOCNAME",
hgs
parents: 89
diff changeset
    92
    "" AS "COL_APP_GROUP_NAME", 
93
hgs
parents: 92
diff changeset
    93
    "" AS "ICON",
hgs
parents: 92
diff changeset
    94
    "" AS "FLAGS";
88
hgs
parents:
diff changeset
    95
    
hgs
parents:
diff changeset
    96
SELECT "  CREATE TRIGGER collection_insert" AS " ";
hgs
parents:
diff changeset
    97
CREATE TRIGGER collection_insert INSTEAD OF INSERT ON COLLECTION 
hgs
parents:
diff changeset
    98
BEGIN  
hgs
parents:
diff changeset
    99
  -- INSERT ICON
hgs
parents:
diff changeset
   100
  INSERT INTO CA_ICON (IC_FILENAME) 
hgs
parents:
diff changeset
   101
  VALUES ( new.ICON);
hgs
parents:
diff changeset
   102
  -- DELETE IF ICON IS NULL OR IF IT IS DUPLICATE
hgs
parents:
diff changeset
   103
  DELETE FROM CA_ICON WHERE ICON_ID = last_insert_rowid() AND 
hgs
parents:
diff changeset
   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);   
hgs
parents:
diff changeset
   105
  -- INSERT ENTRY
92
hgs
parents: 89
diff changeset
   106
    INSERT INTO CA_ENTRY (EN_TEXT, EN_ROLE, EN_TYPE_NAME, EN_FLAGS, EN_ICON_ID ) 
93
hgs
parents: 92
diff changeset
   107
    VALUES ( new.COLLECTION_NAME , 2, "collection",  new.FLAGS, (SELECT ICON_ID FROM CA_ICON WHERE IC_FILENAME = new.ICON ));
92
hgs
parents: 89
diff changeset
   108
    -- LOCALIZATION 
hgs
parents: 89
diff changeset
   109
    INSERT INTO CA_LOCALIZATION_TEXT ( LT_TABLE_NAME, LT_ATTRIBUTE_NAME, LT_STRING_ID, LT_ROW_ID ) 
hgs
parents: 89
diff changeset
   110
    VALUES ( 'CA_ENTRY', 'EN_TEXT', new.COL_LOCNAME, ( SELECT last_insert_rowid() ) );
hgs
parents: 89
diff changeset
   111
    DELETE FROM CA_LOCALIZATION_TEXT WHERE LT_STRING_ID IS NULL AND LOC_TEXT_ID = last_insert_rowid() ;
hgs
parents: 89
diff changeset
   112
    -- RELATION TO MAIN COLLECTION (ADD TO GROUP: )
88
hgs
parents:
diff changeset
   113
  INSERT INTO CA_GROUP_ENTRY (GE_GROUP_ID, GE_ENTRY_ID, GE_POSITION) 
hgs
parents:
diff changeset
   114
  VALUES ( (SELECT ENTRY_ID FROM CA_ENTRY WHERE EN_TYPE_NAME = "menucollections") , 
hgs
parents:
diff changeset
   115
          (SELECT ENTRY_ID FROM CA_ENTRY WHERE EN_TEXT = new.COLLECTION_NAME), 
hgs
parents:
diff changeset
   116
          (SELECT IFNULL(MAX(GE_POSITION)+1, 1) FROM CA_GROUP_ENTRY WHERE GE_GROUP_ID = (SELECT ENTRY_ID FROM CA_ENTRY WHERE EN_TYPE_NAME = "menucollections")) );
92
hgs
parents: 89
diff changeset
   117
    -- ADD ATTRIBUTE
hgs
parents: 89
diff changeset
   118
    INSERT OR IGNORE INTO CA_ATTRIBUTE (AT_ENTRY_ID, AT_NAME, AT_VALUE )
hgs
parents: 89
diff changeset
   119
    VALUES ( (SELECT ENTRY_ID FROM CA_ENTRY WHERE EN_TEXT = new.COLLECTION_NAME AND (EN_TYPE_NAME = "collection::downloaded" OR EN_TYPE_NAME = "collection") ), "appgroup_name", new.COL_APP_GROUP_NAME );
88
hgs
parents:
diff changeset
   120
END;
hgs
parents:
diff changeset
   121
hgs
parents:
diff changeset
   122
-- CREATE VIEW ITEM_TO_COLLECTION
hgs
parents:
diff changeset
   123
SELECT "------------------------------------" AS " ";
hgs
parents:
diff changeset
   124
SELECT "CREATE VIEW ITEM_TO_COLLECTION" AS " ";
hgs
parents:
diff changeset
   125
DROP VIEW IF EXISTS ITEM_TO_COLLECTION;
hgs
parents:
diff changeset
   126
CREATE VIEW ITEM_TO_COLLECTION 
hgs
parents:
diff changeset
   127
  AS SELECT 
hgs
parents:
diff changeset
   128
    "" AS "ITEM_TYPE",
hgs
parents:
diff changeset
   129
    "" AS "ITEM_NAME",
hgs
parents:
diff changeset
   130
    "" AS "ICON",
hgs
parents:
diff changeset
   131
    "" AS "ITEM_DEST",    
hgs
parents:
diff changeset
   132
    "" AS "COLLECTION_NAME";
hgs
parents:
diff changeset
   133
hgs
parents:
diff changeset
   134
SELECT "  CREATE TRIGGER item_to_collection_insert_app" AS " ";
hgs
parents:
diff changeset
   135
CREATE TRIGGER item_to_collection_insert_app INSTEAD OF INSERT ON ITEM_TO_COLLECTION WHEN new.ITEM_TYPE="application"
hgs
parents:
diff changeset
   136
BEGIN
hgs
parents:
diff changeset
   137
  -- INSERT ENTRY
hgs
parents:
diff changeset
   138
  INSERT OR IGNORE INTO CA_ENTRY (EN_TEXT, EN_ROLE, EN_TYPE_NAME, EN_UID ) 
hgs
parents:
diff changeset
   139
  VALUES ( new.ITEM_NAME, 1, "application", new.ITEM_DEST   );
92
hgs
parents: 89
diff changeset
   140
  -- RELATION TO MAIN COLLECTION (ADD TO GROUP: )
88
hgs
parents:
diff changeset
   141
  INSERT INTO CA_GROUP_ENTRY (GE_GROUP_ID, GE_ENTRY_ID, GE_POSITION) 
hgs
parents:
diff changeset
   142
  VALUES ( (SELECT ENTRY_ID FROM CA_ENTRY WHERE EN_TEXT = new.COLLECTION_NAME) , 
hgs
parents:
diff changeset
   143
          (SELECT ENTRY_ID FROM CA_ENTRY WHERE EN_TEXT = new.ITEM_NAME), 
hgs
parents:
diff changeset
   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)) );
hgs
parents:
diff changeset
   145
END;
hgs
parents:
diff changeset
   146
hgs
parents:
diff changeset
   147
SELECT "  CREATE TRIGGER item_to_collection_insert_url" AS " ";
hgs
parents:
diff changeset
   148
CREATE TRIGGER item_to_collection_insert_url INSTEAD OF INSERT ON ITEM_TO_COLLECTION WHEN new.ITEM_TYPE="url"
hgs
parents:
diff changeset
   149
BEGIN
hgs
parents:
diff changeset
   150
  -- INSERT ICON
hgs
parents:
diff changeset
   151
  INSERT OR IGNORE INTO CA_ICON (IC_FILENAME) 
hgs
parents:
diff changeset
   152
  VALUES ( new.ICON);
hgs
parents:
diff changeset
   153
  DELETE FROM CA_ICON WHERE ICON_ID = last_insert_rowid() AND 
hgs
parents:
diff changeset
   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);  
hgs
parents:
diff changeset
   155
  -- INSERT ENTRY
hgs
parents:
diff changeset
   156
  INSERT OR IGNORE INTO CA_ENTRY (EN_TEXT, EN_ROLE, EN_TYPE_NAME, EN_ICON_ID ) 
hgs
parents:
diff changeset
   157
  VALUES ( new.ITEM_NAME, 1, "url", (SELECT ICON_ID FROM CA_ICON WHERE IC_FILENAME = new.ICON ));
hgs
parents:
diff changeset
   158
  INSERT OR IGNORE INTO CA_ATTRIBUTE (AT_ENTRY_ID, AT_NAME, AT_VALUE )  
hgs
parents:
diff changeset
   159
  VALUES ( ( SELECT last_insert_rowid() ) ,"url",new.ITEM_DEST);
92
hgs
parents: 89
diff changeset
   160
  -- RELATION TO MAIN COLLECTION (ADD TO GROUP: )
88
hgs
parents:
diff changeset
   161
  INSERT INTO CA_GROUP_ENTRY (GE_GROUP_ID, GE_ENTRY_ID, GE_POSITION) 
hgs
parents:
diff changeset
   162
  VALUES ( (SELECT ENTRY_ID FROM CA_ENTRY WHERE EN_TEXT = new.COLLECTION_NAME) , 
hgs
parents:
diff changeset
   163
          (SELECT ENTRY_ID FROM CA_ENTRY WHERE EN_TEXT = new.ITEM_NAME), 
hgs
parents:
diff changeset
   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)) );
hgs
parents:
diff changeset
   165
END;
hgs
parents:
diff changeset
   166
hgs
parents:
diff changeset
   167
92
hgs
parents: 89
diff changeset
   168
-- CREATE VIEW WIDGET   _TO_COLLECTION
88
hgs
parents:
diff changeset
   169
SELECT "------------------------------------" AS " ";
hgs
parents:
diff changeset
   170
SELECT "CREATE VIEW WIDGET_TO_COLLECTION" AS " ";
hgs
parents:
diff changeset
   171
DROP VIEW IF EXISTS WIDGET_TO_COLLECTION;
hgs
parents:
diff changeset
   172
CREATE VIEW WIDGET_TO_COLLECTION 
hgs
parents:
diff changeset
   173
  AS SELECT 
hgs
parents:
diff changeset
   174
    "" AS "ITEM_TYPE",
hgs
parents:
diff changeset
   175
    "" AS "ITEM_NAME",
hgs
parents:
diff changeset
   176
    "" AS "ICON",
hgs
parents:
diff changeset
   177
    "" AS "PACKAGE_UID",
hgs
parents:
diff changeset
   178
    "" AS "LIBRARY",
hgs
parents:
diff changeset
   179
    "" AS "LONG_NAME",
hgs
parents:
diff changeset
   180
    "" AS "URI",
93
hgs
parents: 92
diff changeset
   181
    "" AS "COLLECTION_NAME";
88
hgs
parents:
diff changeset
   182
hgs
parents:
diff changeset
   183
SELECT "  CREATE TRIGGER insert_widget_to_collection" AS " ";
hgs
parents:
diff changeset
   184
CREATE TRIGGER item_to_collection_insert_widget INSTEAD OF INSERT ON WIDGET_TO_COLLECTION WHEN new.ITEM_TYPE="widget"
hgs
parents:
diff changeset
   185
BEGIN
hgs
parents:
diff changeset
   186
  -- INSERT ICON
hgs
parents:
diff changeset
   187
  INSERT OR IGNORE INTO CA_ICON (IC_FILENAME) 
hgs
parents:
diff changeset
   188
  VALUES ( new.ICON);
hgs
parents:
diff changeset
   189
  DELETE FROM CA_ICON WHERE ICON_ID = last_insert_rowid() AND 
hgs
parents:
diff changeset
   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);  
hgs
parents:
diff changeset
   191
  -- INSERT ENTRY
hgs
parents:
diff changeset
   192
  INSERT OR IGNORE INTO CA_ENTRY (EN_TEXT, EN_ROLE, EN_TYPE_NAME, EN_ICON_ID ) 
hgs
parents:
diff changeset
   193
  VALUES ( new.ITEM_NAME, 1, "widget", (SELECT ICON_ID FROM CA_ICON WHERE IC_FILENAME = new.ICON ));
hgs
parents:
diff changeset
   194
  -- INSERT ATTRIBUTES
hgs
parents:
diff changeset
   195
  INSERT OR IGNORE INTO CA_ATTRIBUTE (AT_ENTRY_ID, AT_NAME, AT_VALUE )  
hgs
parents:
diff changeset
   196
  VALUES ( ( SELECT ENTRY_ID FROM CA_ENTRY WHERE EN_TEXT = new.ITEM_NAME ) ,"packageuid",new.PACKAGE_UID);
hgs
parents:
diff changeset
   197
  INSERT OR IGNORE INTO CA_ATTRIBUTE (AT_ENTRY_ID, AT_NAME, AT_VALUE )  
hgs
parents:
diff changeset
   198
  VALUES ( ( SELECT ENTRY_ID FROM CA_ENTRY WHERE EN_TEXT = new.ITEM_NAME ) ,"widget:library",new.LIBRARY);
hgs
parents:
diff changeset
   199
  INSERT OR IGNORE INTO CA_ATTRIBUTE (AT_ENTRY_ID, AT_NAME, AT_VALUE )  
hgs
parents:
diff changeset
   200
  VALUES ( ( SELECT ENTRY_ID FROM CA_ENTRY WHERE EN_TEXT = new.ITEM_NAME ) ,"long_name",new.LONG_NAME);
hgs
parents:
diff changeset
   201
  INSERT OR IGNORE INTO CA_ATTRIBUTE (AT_ENTRY_ID, AT_NAME, AT_VALUE )  
hgs
parents:
diff changeset
   202
  VALUES ( ( SELECT ENTRY_ID FROM CA_ENTRY WHERE EN_TEXT = new.ITEM_NAME ) ,"widget:uri",new.URI);
92
hgs
parents: 89
diff changeset
   203
  -- RELATION TO MAIN COLLECTION (ADD TO GROUP: )
88
hgs
parents:
diff changeset
   204
  INSERT INTO CA_GROUP_ENTRY (GE_GROUP_ID, GE_ENTRY_ID, GE_POSITION) 
hgs
parents:
diff changeset
   205
  VALUES ( (SELECT ENTRY_ID FROM CA_ENTRY WHERE EN_TEXT = new.COLLECTION_NAME) , 
hgs
parents:
diff changeset
   206
          (SELECT ENTRY_ID FROM CA_ENTRY WHERE EN_TEXT = new.ITEM_NAME), 
hgs
parents:
diff changeset
   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)) );
92
hgs
parents: 89
diff changeset
   208
END;
88
hgs
parents:
diff changeset
   209
hgs
parents:
diff changeset
   210
SELECT "INSERT INITIAL DATA TO CA_DB_PROPERTIES" AS " ";
hgs
parents:
diff changeset
   211
hgs
parents:
diff changeset
   212
SELECT "------------------------------------" AS " ";
hgs
parents:
diff changeset
   213
INSERT INTO CA_DB_PROPERTIES ( DB_PROPERTY, DB_VALUE ) 
hgs
parents:
diff changeset
   214
VALUES ( 'Version', '00001' );
hgs
parents:
diff changeset
   215
INSERT INTO CA_DB_PROPERTIES ( DB_PROPERTY, DB_VALUE ) 
89
hgs
parents: 88
diff changeset
   216
VALUES ( 'Language', '' );
88
hgs
parents:
diff changeset
   217
INSERT INTO CA_DB_PROPERTIES ( DB_PROPERTY, DB_VALUE ) 
93
hgs
parents: 92
diff changeset
   218
VALUES ( 'QMfile', 'contentstorage_' );
88
hgs
parents:
diff changeset
   219
92
hgs
parents: 89
diff changeset
   220
-- insert neccessary items
hgs
parents: 89
diff changeset
   221
SELECT "INSERT menucollections ENTRY" AS " ";
hgs
parents: 89
diff changeset
   222
INSERT INTO CA_ENTRY (EN_TEXT, EN_ROLE, EN_TYPE_NAME, EN_ICON_ID, EN_UID ) 
hgs
parents: 89
diff changeset
   223
VALUES ( 'AllCollections', 2, "menucollections", NULL , NULL  );
hgs
parents: 89
diff changeset
   224
hgs
parents: 89
diff changeset
   225
INSERT OR IGNORE INTO CA_ATTRIBUTE (AT_ENTRY_ID, AT_NAME, AT_VALUE )  
hgs
parents: 89
diff changeset
   226
VALUES ( last_insert_rowid(), "appgroup_name", "AllCollections" );
hgs
parents: 89
diff changeset
   227
hgs
parents: 89
diff changeset
   228
SELECT "------------------------------------" AS " ";
hgs
parents: 89
diff changeset
   229
SELECT "INSERT Downloaded collection ENTRY" AS " ";
hgs
parents: 89
diff changeset
   230
INSERT INTO CA_ICON (IC_FILENAME) 
hgs
parents: 89
diff changeset
   231
VALUES ( "qtg_large_applications_download");
hgs
parents: 89
diff changeset
   232
hgs
parents: 89
diff changeset
   233
INSERT INTO CA_ENTRY (EN_TEXT, EN_ROLE, EN_TYPE_NAME, EN_ICON_ID,  EN_FLAGS ) 
hgs
parents: 89
diff changeset
   234
VALUES ( 'Downloaded', 2, "collection::downloaded", last_insert_rowid() , 8 );
hgs
parents: 89
diff changeset
   235
hgs
parents: 89
diff changeset
   236
INSERT OR IGNORE INTO CA_ATTRIBUTE (AT_ENTRY_ID, AT_NAME, AT_VALUE )  
hgs
parents: 89
diff changeset
   237
VALUES ( last_insert_rowid(), "appgroup_name", " Downloaded" );
hgs
parents: 89
diff changeset
   238
hgs
parents: 89
diff changeset
   239
INSERT INTO CA_LOCALIZATION_TEXT ( LT_TABLE_NAME, LT_ATTRIBUTE_NAME, LT_STRING_ID, LT_ROW_ID ) 
hgs
parents: 89
diff changeset
   240
VALUES ( 'CA_ENTRY', 'EN_TEXT', "txt_applib_dblist_downloaded", ( SELECT last_insert_rowid() ) );
hgs
parents: 89
diff changeset
   241
hgs
parents: 89
diff changeset
   242
INSERT INTO CA_GROUP_ENTRY (GE_GROUP_ID, GE_ENTRY_ID, GE_POSITION) 
hgs
parents: 89
diff changeset
   243
VALUES ( (SELECT ENTRY_ID FROM CA_ENTRY WHERE EN_TYPE_NAME = "menucollections") , 
hgs
parents: 89
diff changeset
   244
          (SELECT ENTRY_ID FROM CA_ENTRY WHERE EN_TYPE_NAME = "collection::downloaded"), 
hgs
parents: 89
diff changeset
   245
          1 ); 
hgs
parents: 89
diff changeset
   246
88
hgs
parents:
diff changeset
   247
SELECT "------------------------------------" AS " ";
hgs
parents:
diff changeset
   248
SELECT "castoragedb_create - END" AS " ";
hgs
parents:
diff changeset
   249
SELECT "------------------------------------" AS " ";
hgs
parents:
diff changeset
   250