diff options
Diffstat (limited to 'src/components/policy/policy_regular/src/sql_pt_queries.cc')
-rw-r--r-- | src/components/policy/policy_regular/src/sql_pt_queries.cc | 135 |
1 files changed, 135 insertions, 0 deletions
diff --git a/src/components/policy/policy_regular/src/sql_pt_queries.cc b/src/components/policy/policy_regular/src/sql_pt_queries.cc index 760a647853..6c961a8db3 100644 --- a/src/components/policy/policy_regular/src/sql_pt_queries.cc +++ b/src/components/policy/policy_regular/src/sql_pt_queries.cc @@ -352,6 +352,13 @@ const std::string kCreateSchema = "); " "CREATE INDEX IF NOT EXISTS `endpoint.fk_endpoint_application1_idx` " " ON `endpoint`(`application_id` COLLATE NOCASE); " + + /*endpoint properties*/ + "CREATE TABLE IF NOT EXISTS `endpoint_properties`( " + " `service` VARCHAR(100) NOT NULL, " + " `version` VARCHAR(100) NOT NULL " + ");" + "CREATE TABLE IF NOT EXISTS `message`( " " `id` INTEGER PRIMARY KEY NOT NULL, " " `tts` TEXT, " @@ -409,6 +416,42 @@ const std::string kCreateSchema = "CREATE TABLE IF NOT EXISTS `_internal_data`( " " `db_version_hash` INTEGER " " ); " + + /*vehicle data*/ + "CREATE TABLE IF NOT EXISTS `vehicle_data`( " + " `schema_version` VARCHAR(100) NOT NULL " + ");" + + /* vehicle data item definition*/ + "CREATE TABLE IF NOT EXISTS `vehicle_data_item_definition`( " + " `name` VARCHAR(255) NOT NULL, " + " `type` VARCHAR(255) NOT NULL, " + " `key` VARCHAR(255) NOT NULL, " + " `mandatory` BOOL NOT NULL, " + " `array` BOOL, " + " `since` VARCHAR(45), " + " `until` VARCHAR(45), " + " `removed` BOOL, " + " `deprecated` BOOL, " + " `minvalue` INTEGER, " + " `maxvalue` INTEGER, " + " `minsize` INTEGER, " + " `maxsize` INTEGER, " + " `minlength` INTEGER, " + " `maxlength` INTEGER " + "); " + "CREATE TABLE IF NOT EXISTS `vehicle_data_item_parameters`( " + " `parent_name` VARCHAR(255) NOT NULL, " + " `parent_key` VARCHAR(255) NOT NULL, " + " `param_name` VARCHAR(255) NOT NULL, " + " `param_key` VARCHAR(255) NOT NULL, " + " CONSTRAINT `fk_vdi_id` " + " FOREIGN KEY(`parent_name`, `parent_key`) " + " REFERENCES `vehicle_data_item_definition`(`name`, `key`), " + " CONSTRAINT `fk_vdi_param_id` " + " FOREIGN KEY(`param_name`, `param_key`) " + " REFERENCES `vehicle_data_item_definition`(`name`, `key`) " + "); " "COMMIT;"; const std::string kInsertInitData = @@ -424,6 +467,8 @@ const std::string kInsertInitData = " `exchange_after_x_ignition_cycles`, `exchange_after_x_kilometers`, " " `exchange_after_x_days`, `timeout_after_x_seconds`)" " VALUES(1, 0, 0, 0, 0, 0); " + "INSERT OR IGNORE INTO `vehicle_data` (`schema_version`) " + "VALUES('0'); " "INSERT OR IGNORE INTO `priority`(`value`) VALUES ('EMERGENCY'); " "INSERT OR IGNORE INTO `priority`(`value`) VALUES ('NAVIGATION'); " "INSERT OR IGNORE INTO `priority`(`value`) VALUES ('VOICECOMMUNICATION'); " @@ -488,6 +533,7 @@ const std::string kDropSchema = "DROP TABLE IF EXISTS `message`; " "DROP INDEX IF EXISTS `endpoint.fk_endpoint_application1_idx`; " "DROP TABLE IF EXISTS `endpoint`; " + "DROP TABLE IF EXISTS `endpoint_properties`; " "DROP INDEX IF EXISTS `consent_group.fk_consent_group_device1_idx`; " "DROP INDEX IF EXISTS " "`consent_group.fk_consent_group_functional_group1_idx`; " @@ -550,6 +596,9 @@ const std::string kDropSchema = "DROP TABLE IF EXISTS `usage_and_error_count`; " "DROP TABLE IF EXISTS `device`; " "DROP TABLE IF EXISTS `_internal_data`; " + "DROP TABLE IF EXISTS `vehicle_data`; " + "DROP TABLE IF EXISTS `vehicle_data_item_definition`; " + "DROP TABLE IF EXISTS `vehicle_data_item_parameters`; " "COMMIT; " "VACUUM;"; @@ -558,6 +607,7 @@ const std::string kDeleteData = "DELETE FROM `message`; " "DELETE FROM `module_type`; " "DELETE FROM `endpoint`; " + "DELETE FROM `endpoint_properties`; " "DELETE FROM `consent_group`; " "DELETE FROM `app_type`; " "DELETE FROM `nickname`; " @@ -581,6 +631,9 @@ const std::string kDeleteData = "DELETE FROM `remote_rpc`; " "DELETE FROM `usage_and_error_count`; " "DELETE FROM `device`; " + "DELETE FROM `vehicle_data`; " + "DELETE FROM `vehicle_data_item_definition`; " + "DELETE FROM `vehicle_data_item_parameters`; " "COMMIT; " "VACUUM;"; @@ -588,6 +641,82 @@ const std::string kCheckDBIntegrity = "PRAGMA integrity_check"; const std::string kCheckPgNumber = "PRAGMA page_count"; +const std::string kSelectEndpointProperties = + "SELECT `service`, `version` FROM `endpoint_properties`"; + +const std::string kSelectVehicleDataSchemaVersion = + "SELECT `schema_version` FROM `vehicle_data` "; + +const std::string kSelectVehicleDataItem = + "SELECT * FROM `vehicle_data_item_definition` " + "WHERE `name` IS ? AND `key` IS ?"; + +const std::string kSelectVehicleDataItemWithVersion = + "SELECT * FROM `vehicle_data_item_definition` " + "WHERE `name` IS ? AND `key` IS ? AND `since` IS ? AND `until` IS ?"; + +const std::string kSelectVehicleDataItemParams = + "SELECT * FROM `vehicle_data_item_parameters` " + "WHERE `parent_name` IS ? AND `parent_key` IS ?"; + +const std::string kSelectCompositeVehicleDataItemsKey = + "SELECT DISTINCT `parent_name`, `parent_key` FROM " + "`vehicle_data_item_parameters` " + "LEFT JOIN " + "(SELECT DISTINCT `param_name`, `param_key` FROM " + "`vehicle_data_item_parameters`) `vdi_params` ON " + "`vehicle_data_item_parameters`.`parent_name` = `vdi_params`.`param_name` " + "AND " + "`vehicle_data_item_parameters`.`parent_key` = `vdi_params`.`param_key` " + "where `vdi_params`.`param_key` is null"; + +const std::string kSelectPrimitiveVehicleDataItems = + "SELECT * FROM `vehicle_data_item_definition` " + "LEFT JOIN ( " + "SELECT `parent_name`, `parent_key` FROM `vehicle_data_item_parameters` " + "UNION " + "SELECT `param_name`, `param_key` FROM `vehicle_data_item_parameters`) " + "`vdi_params` ON " + "`vehicle_data_item_definition`.`name` = `vdi_params`.`parent_name` " + "AND " + "`vehicle_data_item_definition`.`key` = `vdi_params`.`parent_key` " + "WHERE `vdi_params`.`parent_key` IS NULL"; + +const std::string kInsertVehicleDataSchemaVersion = + "UPDATE `vehicle_data` SET `schema_version` = ?"; + +const std::string kInsertEndpointVersion = + "INSERT OR REPLACE INTO `endpoint_properties`(`service`, " + "`version`) " + "VALUES(?, ?)"; + +const std::string kInsertVehicleDataItem = + "INSERT INTO `vehicle_data_item_definition` (" + " `name`, " + " `type`, " + " `key`, " + " `mandatory`, " + " `array`, " + " `since`, " + " `until`, " + " `removed`, " + " `deprecated`, " + " `minvalue`, " + " `maxvalue`, " + " `minsize`, " + " `maxsize`, " + " `minlength`, " + " `maxlength`) " + "VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?) "; + +const std::string kInsertVehicleDataItemParams = + "INSERT INTO `vehicle_data_item_parameters` (" + " `parent_name`, " + " `parent_key`, " + " `param_name`, " + " `param_key`) " + "VALUES (?, ?, ?, ?) "; + const std::string kSelectRpc = "SELECT DISTINCT `rpc`.`parameter` FROM `rpc` " " JOIN `app_group` AS `g` ON (`g`.`functional_group_id` = " @@ -860,6 +989,12 @@ const std::string kDeleteAppServiceNames = "DELETE FROM `app_service_names`"; const std::string kDeleteAppServiceHandledRpcs = "DELETE FROM `app_service_handled_rpcs`"; +const std::string kDeleteVehicleDataItems = + "DELETE FROM `vehicle_data_item_definition`"; + +const std::string kDeleteVehicleDataItemParams = + "DELETE FROM `vehicle_data_item_parameters`"; + const std::string kSelectApplicationRevoked = "SELECT `is_revoked` FROM `application` WHERE `id` = ?"; |