server/sources/native.py
branchstable
changeset 4113 986fc01be83c
parent 3958 505025eb0d37
child 4181 c79135c217df
child 4185 ed99de8f93f2
equal deleted inserted replaced
4098:eb4722dd5f86 4113:986fc01be83c
   591         return modentities, delentities
   591         return modentities, delentities
   592 
   592 
   593 
   593 
   594 def sql_schema(driver):
   594 def sql_schema(driver):
   595     helper = get_adv_func_helper(driver)
   595     helper = get_adv_func_helper(driver)
       
   596     tstamp_col_type = helper.TYPE_MAPPING.get('TIMESTAMP', 'TIMESTAMP')
   596     schema = """
   597     schema = """
   597 /* Create the repository's system database */
   598 /* Create the repository's system database */
   598 
   599 
   599 %s
   600 %s
   600 
   601 
   601 CREATE TABLE entities (
   602 CREATE TABLE entities (
   602   eid INTEGER PRIMARY KEY NOT NULL,
   603   eid INTEGER PRIMARY KEY NOT NULL,
   603   type VARCHAR(64) NOT NULL,
   604   type VARCHAR(64) NOT NULL,
   604   source VARCHAR(64) NOT NULL,
   605   source VARCHAR(64) NOT NULL,
   605   mtime TIMESTAMP NOT NULL,
   606   mtime %s NOT NULL,
   606   extid VARCHAR(256)
   607   extid VARCHAR(256)
   607 );
   608 );
   608 CREATE INDEX entities_type_idx ON entities(type);
   609 CREATE INDEX entities_type_idx ON entities(type);
   609 CREATE INDEX entities_mtime_idx ON entities(mtime);
   610 CREATE INDEX entities_mtime_idx ON entities(mtime);
   610 CREATE INDEX entities_extid_idx ON entities(extid);
   611 CREATE INDEX entities_extid_idx ON entities(extid);
   611 
   612 
   612 CREATE TABLE deleted_entities (
   613 CREATE TABLE deleted_entities (
   613   eid INTEGER PRIMARY KEY NOT NULL,
   614   eid INTEGER PRIMARY KEY NOT NULL,
   614   type VARCHAR(64) NOT NULL,
   615   type VARCHAR(64) NOT NULL,
   615   source VARCHAR(64) NOT NULL,
   616   source VARCHAR(64) NOT NULL,
   616   dtime TIMESTAMP NOT NULL,
   617   dtime %s NOT NULL,
   617   extid VARCHAR(256)
   618   extid VARCHAR(256)
   618 );
   619 );
   619 CREATE INDEX deleted_entities_type_idx ON deleted_entities(type);
   620 CREATE INDEX deleted_entities_type_idx ON deleted_entities(type);
   620 CREATE INDEX deleted_entities_dtime_idx ON deleted_entities(dtime);
   621 CREATE INDEX deleted_entities_dtime_idx ON deleted_entities(dtime);
   621 CREATE INDEX deleted_entities_extid_idx ON deleted_entities(extid);
   622 CREATE INDEX deleted_entities_extid_idx ON deleted_entities(extid);
   622 """ % helper.sql_create_sequence('entities_id_seq')
   623 """ % (helper.sql_create_sequence('entities_id_seq'), tstamp_col_type, tstamp_col_type)
   623     return schema
   624     return schema
   624 
   625 
   625 
   626 
   626 def sql_drop_schema(driver):
   627 def sql_drop_schema(driver):
   627     helper = get_adv_func_helper(driver)
   628     helper = get_adv_func_helper(driver)