server/sources/native.py
changeset 4181 c79135c217df
parent 3998 94cc7cad3d2d
parent 4113 986fc01be83c
child 4204 60256056bda6
equal deleted inserted replaced
4173:cfd5d3270f99 4181:c79135c217df
   577         return modentities, delentities
   577         return modentities, delentities
   578 
   578 
   579 
   579 
   580 def sql_schema(driver):
   580 def sql_schema(driver):
   581     helper = get_adv_func_helper(driver)
   581     helper = get_adv_func_helper(driver)
       
   582     tstamp_col_type = helper.TYPE_MAPPING.get('TIMESTAMP', 'TIMESTAMP')
   582     schema = """
   583     schema = """
   583 /* Create the repository's system database */
   584 /* Create the repository's system database */
   584 
   585 
   585 %s
   586 %s
   586 
   587 
   587 CREATE TABLE entities (
   588 CREATE TABLE entities (
   588   eid INTEGER PRIMARY KEY NOT NULL,
   589   eid INTEGER PRIMARY KEY NOT NULL,
   589   type VARCHAR(64) NOT NULL,
   590   type VARCHAR(64) NOT NULL,
   590   source VARCHAR(64) NOT NULL,
   591   source VARCHAR(64) NOT NULL,
   591   mtime TIMESTAMP NOT NULL,
   592   mtime %s NOT NULL,
   592   extid VARCHAR(256)
   593   extid VARCHAR(256)
   593 );
   594 );
   594 CREATE INDEX entities_type_idx ON entities(type);
   595 CREATE INDEX entities_type_idx ON entities(type);
   595 CREATE INDEX entities_mtime_idx ON entities(mtime);
   596 CREATE INDEX entities_mtime_idx ON entities(mtime);
   596 CREATE INDEX entities_extid_idx ON entities(extid);
   597 CREATE INDEX entities_extid_idx ON entities(extid);
   597 
   598 
   598 CREATE TABLE deleted_entities (
   599 CREATE TABLE deleted_entities (
   599   eid INTEGER PRIMARY KEY NOT NULL,
   600   eid INTEGER PRIMARY KEY NOT NULL,
   600   type VARCHAR(64) NOT NULL,
   601   type VARCHAR(64) NOT NULL,
   601   source VARCHAR(64) NOT NULL,
   602   source VARCHAR(64) NOT NULL,
   602   dtime TIMESTAMP NOT NULL,
   603   dtime %s NOT NULL,
   603   extid VARCHAR(256)
   604   extid VARCHAR(256)
   604 );
   605 );
   605 CREATE INDEX deleted_entities_type_idx ON deleted_entities(type);
   606 CREATE INDEX deleted_entities_type_idx ON deleted_entities(type);
   606 CREATE INDEX deleted_entities_dtime_idx ON deleted_entities(dtime);
   607 CREATE INDEX deleted_entities_dtime_idx ON deleted_entities(dtime);
   607 CREATE INDEX deleted_entities_extid_idx ON deleted_entities(extid);
   608 CREATE INDEX deleted_entities_extid_idx ON deleted_entities(extid);
   608 """ % helper.sql_create_sequence('entities_id_seq')
   609 """ % (helper.sql_create_sequence('entities_id_seq'), tstamp_col_type, tstamp_col_type)
   609     return schema
   610     return schema
   610 
   611 
   611 
   612 
   612 def sql_drop_schema(driver):
   613 def sql_drop_schema(driver):
   613     helper = get_adv_func_helper(driver)
   614     helper = get_adv_func_helper(driver)