diff --git a/procedures/deleteIsaCache.sql b/procedures/deleteIsaCache.sql index 1306b59e3df7dfdd46d44121d5e488170d358296..1ffff23e0b6e876ad8aaef21554a26f723cc6c94 100644 --- a/procedures/deleteIsaCache.sql +++ b/procedures/deleteIsaCache.sql @@ -52,7 +52,6 @@ BEGIN -- move to archive_isa before deleting INSERT IGNORE INTO archive_isa (child, child_iversion, parent, direct) - -- TODO copy rpath as well SELECT e.child, IVersion AS child_iversion, e.parent, rpath = EntityID FROM isa_cache AS e WHERE e.child = EntityID; diff --git a/procedures/query/applyIDFilter.sql b/procedures/query/applyIDFilter.sql index 8b8cf188b45a1749b5f365d6167a0b1444d57256..0badff0a12d9747cde4277f9d657d54eb47871e6 100644 --- a/procedures/query/applyIDFilter.sql +++ b/procedures/query/applyIDFilter.sql @@ -33,7 +33,7 @@ DECLARE aggVal VARCHAR(255) DEFAULT NULL; #-- get aggVal if possible IF agg IS NOT NULL THEN IF versioned THEN - -- TODO + -- TODO versioned queries SELECT 1 FROM id_agg_with_versioning_not_implemented; END IF; SET @stmtIDAggValStr = CONCAT( diff --git a/procedures/query/applyPOV.sql b/procedures/query/applyPOV.sql index 9bf89c7d083c3b195cd2551f4097ff1d046a6879..a2b6b2922d892e7f3594dbfb2f67e4110d4350c1 100644 --- a/procedures/query/applyPOV.sql +++ b/procedures/query/applyPOV.sql @@ -103,7 +103,6 @@ POV_LABEL: BEGIN ELSEIF o = "(" or o = "!(" THEN IF versioned THEN - -- TODO is vText = NULL even possible? SET sTextData = IF(vText IS NULL, ' SELECT DISTINCT domain_id, entity_id, _get_head_iversion(entity_id) AS _iversion, property_id FROM `date_data` UNION ALL SELECT DISTINCT domain_id, entity_id, _iversion, property_id FROM `archive_date_data`', IF(vDateTimeDotNotation IS NULL, NULL, CONCAT(' SELECT DISTINCT domain_id, entity_id, _get_head_iversion(entity_id) AS _iversion, property_id FROM `date_data` AS subdata WHERE ', getDateWhereClause(vDateTimeDotNotation, o), ' UNION ALL SELECT DISTINCT domain_id, entity_id, _iversion, property_id FROM `archive_date_data` AS subdata WHERE ', getDateWhereClause(vDateTimeDotNotation, o)))); diff --git a/procedures/query/initPOV.sql b/procedures/query/initPOV.sql index 76f2d8c6df5a771eb3f4fe994e6f7a83fead36e2..0d7dea3dd4b140e519a2a0c06ca9842980044ba2 100644 --- a/procedures/query/initPOV.sql +++ b/procedures/query/initPOV.sql @@ -62,7 +62,7 @@ BEGIN -- expand with all children SELECT conv( concat( substring(uid,16,3), substring(uid,10,4), substring(uid,1,8)),16,10) div 10000 - (141427 * 24 * 60 * 60 * 1000) as current_mills INTO t3 from (select uuid() uid) as alias; IF ecount > 0 THEN - -- TODO versioning + -- TODO versioned queries call getChildren(propertiesTable, False); END IF; diff --git a/tests/test_autotap.sql b/tests/test_autotap.sql index 91354b121761d08c5951cd702fef69fb6d0fbdf5..6345bf004944747489a7879b4180c75d3020f351 100644 --- a/tests/test_autotap.sql +++ b/tests/test_autotap.sql @@ -33,6 +33,84 @@ SELECT tap.has_schema('_caosdb_schema_unit_tests',''); -- TABLES -- *************************************************************** +-- *************************************************************** +-- TABLE _caosdb_schema_unit_tests.archive_isa +-- *************************************************************** + +SELECT tap.has_table('_caosdb_schema_unit_tests','archive_isa',''); +SELECT tap.table_collation_is('_caosdb_schema_unit_tests','archive_isa','utf8_unicode_ci',''); +SELECT tap.table_engine_is('_caosdb_schema_unit_tests','archive_isa','InnoDB',''); + +-- COLUMNS +SELECT tap.columns_are('_caosdb_schema_unit_tests','archive_isa','`child`,`child_iversion`,`parent`,`direct`',''); + +-- COLUMN archive_isa.child + +SELECT tap.has_column('_caosdb_schema_unit_tests','archive_isa','child',''); +SELECT tap.col_column_type_is('_caosdb_schema_unit_tests','archive_isa','child','int(10) unsigned',''); +SELECT tap.col_extra_is('_caosdb_schema_unit_tests','archive_isa','child','',''); +SELECT tap.col_default_is('_caosdb_schema_unit_tests','archive_isa','child',NULL,''); +SELECT tap.col_charset_is('_caosdb_schema_unit_tests','archive_isa','child',NULL,''); +SELECT tap.col_collation_is('_caosdb_schema_unit_tests','archive_isa','child',NULL,''); + +-- COLUMN archive_isa.child_iversion + +SELECT tap.has_column('_caosdb_schema_unit_tests','archive_isa','child_iversion',''); +SELECT tap.col_column_type_is('_caosdb_schema_unit_tests','archive_isa','child_iversion','int(10) unsigned',''); +SELECT tap.col_extra_is('_caosdb_schema_unit_tests','archive_isa','child_iversion','',''); +SELECT tap.col_default_is('_caosdb_schema_unit_tests','archive_isa','child_iversion',NULL,''); +SELECT tap.col_charset_is('_caosdb_schema_unit_tests','archive_isa','child_iversion',NULL,''); +SELECT tap.col_collation_is('_caosdb_schema_unit_tests','archive_isa','child_iversion',NULL,''); + +-- COLUMN archive_isa.parent + +SELECT tap.has_column('_caosdb_schema_unit_tests','archive_isa','parent',''); +SELECT tap.col_column_type_is('_caosdb_schema_unit_tests','archive_isa','parent','int(10) unsigned',''); +SELECT tap.col_extra_is('_caosdb_schema_unit_tests','archive_isa','parent','',''); +SELECT tap.col_default_is('_caosdb_schema_unit_tests','archive_isa','parent',NULL,''); +SELECT tap.col_charset_is('_caosdb_schema_unit_tests','archive_isa','parent',NULL,''); +SELECT tap.col_collation_is('_caosdb_schema_unit_tests','archive_isa','parent',NULL,''); + +-- COLUMN archive_isa.direct + +SELECT tap.has_column('_caosdb_schema_unit_tests','archive_isa','direct',''); +SELECT tap.col_column_type_is('_caosdb_schema_unit_tests','archive_isa','direct','tinyint(1)',''); +SELECT tap.col_extra_is('_caosdb_schema_unit_tests','archive_isa','direct','',''); +SELECT tap.col_default_is('_caosdb_schema_unit_tests','archive_isa','direct',1,''); +SELECT tap.col_charset_is('_caosdb_schema_unit_tests','archive_isa','direct',NULL,''); +SELECT tap.col_collation_is('_caosdb_schema_unit_tests','archive_isa','direct',NULL,''); + +-- INDEXES +SELECT tap.indexes_are('_caosdb_schema_unit_tests','archive_isa','`parent`,`child`',''); + +-- INDEX archive_isa.child + +SELECT tap.has_index('_caosdb_schema_unit_tests','archive_isa','child',''); +SELECT tap.index_is_type('_caosdb_schema_unit_tests','archive_isa','child','BTREE',''); +SELECT tap.is_indexed('_caosdb_schema_unit_tests','archive_isa','`child`,`child_iversion`',''); + +-- INDEX archive_isa.parent + +SELECT tap.has_index('_caosdb_schema_unit_tests','archive_isa','parent',''); +SELECT tap.index_is_type('_caosdb_schema_unit_tests','archive_isa','parent','BTREE',''); +SELECT tap.is_indexed('_caosdb_schema_unit_tests','archive_isa','`parent`',''); + +-- CONSTRAINTS +SELECT tap.constraints_are('_caosdb_schema_unit_tests','archive_isa','`archive_isa_ibfk_1`,`archive_isa_ibfk_2`',''); + +-- CONSTRAINT archive_isa.archive_isa_ibfk_1 + +SELECT tap.has_constraint('_caosdb_schema_unit_tests','archive_isa','archive_isa_ibfk_1',''); +SELECT tap.constraint_type_is('_caosdb_schema_unit_tests','archive_isa','archive_isa_ibfk_1','FOREIGN KEY',''); +SELECT tap.fk_on_delete('_caosdb_schema_unit_tests','archive_isa','archive_isa_ibfk_1','CASCADE',''); +SELECT tap.fk_on_update('_caosdb_schema_unit_tests','archive_isa','archive_isa_ibfk_1','RESTRICT',''); + +-- CONSTRAINT archive_isa.archive_isa_ibfk_2 + +SELECT tap.has_constraint('_caosdb_schema_unit_tests','archive_isa','archive_isa_ibfk_2',''); +SELECT tap.constraint_type_is('_caosdb_schema_unit_tests','archive_isa','archive_isa_ibfk_2','FOREIGN KEY',''); +SELECT tap.fk_on_delete('_caosdb_schema_unit_tests','archive_isa','archive_isa_ibfk_2','CASCADE',''); +SELECT tap.fk_on_update('_caosdb_schema_unit_tests','archive_isa','archive_isa_ibfk_2','RESTRICT',''); -- *************************************************************** -- TABLE _caosdb_schema_unit_tests.collection_type -- *************************************************************** @@ -2588,6 +2666,13 @@ SELECT tap.procedure_is_deterministic('_caosdb_schema_unit_tests','initBackRefer SELECT tap.procedure_security_type_is('_caosdb_schema_unit_tests','initBackReference','DEFINER',''); SELECT tap.procedure_sql_data_access_is('_caosdb_schema_unit_tests','initBackReference','CONTAINS SQL',''); +-- PROCEDURES _caosdb_schema_unit_tests.initDisjunctionFilter + +SELECT tap.has_procedure('_caosdb_schema_unit_tests','initDisjunctionFilter',''); +SELECT tap.procedure_is_deterministic('_caosdb_schema_unit_tests','initDisjunctionFilter','NO',''); +SELECT tap.procedure_security_type_is('_caosdb_schema_unit_tests','initDisjunctionFilter','DEFINER',''); +SELECT tap.procedure_sql_data_access_is('_caosdb_schema_unit_tests','initDisjunctionFilter','CONTAINS SQL',''); + -- PROCEDURES _caosdb_schema_unit_tests.initPOVRefidsTable SELECT tap.has_procedure('_caosdb_schema_unit_tests','initPOVRefidsTable','');