Skip to content
Snippets Groups Projects
Verified Commit f349f8dc authored by Timm Fitschen's avatar Timm Fitschen
Browse files

EHN: Add new base schema (db_5_0.sql) for installation

parent bfdcb015
No related branches found
No related tags found
2 merge requests!7Release v5.0.0,!6EHN: Add new base schema (db_5_0.sql) for installation
Pipeline #13711 failed
Showing
with 85 additions and 50 deletions
/*
* This file is a part of the CaosDB Project.
*
* Copyright (C) 2020 IndiScale GmbH <info@indiscale.com>
* Copyright (C) 2020 Timm Fitschen <t.fitschen@indiscale.com>
*
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU Affero General Public License as
* published by the Free Software Foundation, either version 3 of the
* License, or (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU Affero General Public License for more details.
*
* You should have received a copy of the GNU Affero General Public License
* along with this program. If not, see <https://www.gnu.org/licenses/>.
*/
delimiter //
DROP FUNCTION IF EXISTS is_feature_config //
CREATE FUNCTION is_feature_config(
_Key VARCHAR(255),
Expected VARCHAR(255))
RETURNS BOOLEAN
READS SQL DATA
BEGIN
RETURN (
SELECT f._value = Expected FROM feature_config as f WHERE f._key = _Key
);
END //
delimiter ;
...@@ -21,24 +21,24 @@ ...@@ -21,24 +21,24 @@
* ** end header * ** end header
*/ */
DROP PROCEDURE IF EXISTS db_2_0.overrideName; DROP PROCEDURE IF EXISTS db_5_0.overrideName;
DROP PROCEDURE IF EXISTS db_2_0.overrideDesc; DROP PROCEDURE IF EXISTS db_5_0.overrideDesc;
DROP PROCEDURE IF EXISTS db_2_0.overrideType; DROP PROCEDURE IF EXISTS db_5_0.overrideType;
DELIMITER // DELIMITER //
CREATE PROCEDURE db_2_0.overrideName(in DomainID INT UNSIGNED, in EntityID INT UNSIGNED, in PropertyID INT UNSIGNED, in Name VARCHAR(255)) CREATE PROCEDURE db_5_0.overrideName(in DomainID INT UNSIGNED, in EntityID INT UNSIGNED, in PropertyID INT UNSIGNED, in Name VARCHAR(255))
BEGIN BEGIN
INSERT INTO name_overrides (domain_id, entity_id, property_id, name) VALUES (DomainID, EntityID, PropertyID, Name); INSERT INTO name_overrides (domain_id, entity_id, property_id, name) VALUES (DomainID, EntityID, PropertyID, Name);
END; END;
// //
CREATE PROCEDURE db_2_0.overrideDesc(in DomainID INT UNSIGNED, in EntityID INT UNSIGNED, in PropertyID INT UNSIGNED, in Description TEXT) CREATE PROCEDURE db_5_0.overrideDesc(in DomainID INT UNSIGNED, in EntityID INT UNSIGNED, in PropertyID INT UNSIGNED, in Description TEXT)
BEGIN BEGIN
INSERT INTO desc_overrides (domain_id, entity_id, property_id, description) VALUES (DomainID, EntityID, PropertyID, Description); INSERT INTO desc_overrides (domain_id, entity_id, property_id, description) VALUES (DomainID, EntityID, PropertyID, Description);
END; END;
// //
CREATE PROCEDURE db_2_0.overrideType(in DomainID INT UNSIGNED, in EntityID INT UNSIGNED, in PropertyID INT UNSIGNED, in Datatype INT UNSIGNED) CREATE PROCEDURE db_5_0.overrideType(in DomainID INT UNSIGNED, in EntityID INT UNSIGNED, in PropertyID INT UNSIGNED, in Datatype INT UNSIGNED)
BEGIN BEGIN
INSERT INTO data_type (domain_id, entity_id, property_id, datatype) VALUES (DomainID, EntityID, PropertyID, Datatype); INSERT INTO data_type (domain_id, entity_id, property_id, datatype) VALUES (DomainID, EntityID, PropertyID, Datatype);
END; END;
......
...@@ -24,7 +24,7 @@ ...@@ -24,7 +24,7 @@
* ** end header * ** end header
*/ */
DROP PROCEDURE IF EXISTS db_2_0.applyBackReference; DROP PROCEDURE IF EXISTS db_5_0.applyBackReference;
DELIMITER // DELIMITER //
/** /**
...@@ -61,7 +61,7 @@ DELIMITER // ...@@ -61,7 +61,7 @@ DELIMITER //
* column as well (unless sourceSet is the `entities` table). * column as well (unless sourceSet is the `entities` table).
* *
*/ */
CREATE PROCEDURE db_2_0.applyBackReference(in sourceSet VARCHAR(255), targetSet VARCHAR(255), CREATE PROCEDURE db_5_0.applyBackReference(in sourceSet VARCHAR(255), targetSet VARCHAR(255),
in propertiesTable VARCHAR(255), in entitiesTable VARCHAR(255), in subQuery BOOLEAN, in propertiesTable VARCHAR(255), in entitiesTable VARCHAR(255), in subQuery BOOLEAN,
in versioned BOOLEAN) in versioned BOOLEAN)
BEGIN BEGIN
......
...@@ -21,7 +21,7 @@ ...@@ -21,7 +21,7 @@
* ** end header * ** end header
*/ */
DROP PROCEDURE IF EXISTS db_2_0.applyIDFilter; DROP PROCEDURE IF EXISTS db_5_0.applyIDFilter;
DELIMITER // DELIMITER //
...@@ -33,7 +33,7 @@ DELIMITER // ...@@ -33,7 +33,7 @@ DELIMITER //
* The `versioned` flag currently only has the effect that an `_iversion` column is also copied to * The `versioned` flag currently only has the effect that an `_iversion` column is also copied to
* the target. * the target.
*/ */
CREATE PROCEDURE db_2_0.applyIDFilter(in sourceSet VARCHAR(255), in targetSet VARCHAR(255), CREATE PROCEDURE db_5_0.applyIDFilter(in sourceSet VARCHAR(255), in targetSet VARCHAR(255),
in o CHAR(2), in vInt BIGINT, in agg CHAR(3), in versioned BOOLEAN) in o CHAR(2), in vInt BIGINT, in agg CHAR(3), in versioned BOOLEAN)
IDFILTER_LABEL: BEGIN IDFILTER_LABEL: BEGIN
DECLARE data VARCHAR(20000) DEFAULT NULL; DECLARE data VARCHAR(20000) DEFAULT NULL;
......
...@@ -24,7 +24,7 @@ ...@@ -24,7 +24,7 @@
/* Documentation including (?) has to be checked by an expert. */ /* Documentation including (?) has to be checked by an expert. */
/* Question: What is datetime dot notation? */ /* Question: What is datetime dot notation? */
DROP PROCEDURE IF EXISTS db_2_0.applyPOV; DROP PROCEDURE IF EXISTS db_5_0.applyPOV;
DELIMITER // DELIMITER //
/** /**
...@@ -40,7 +40,7 @@ DELIMITER // ...@@ -40,7 +40,7 @@ DELIMITER //
* If True, sourceSet and targetSet have an _iversion column, otherwise that column will be ignored * If True, sourceSet and targetSet have an _iversion column, otherwise that column will be ignored
* (or only HEAD will be inserted into targetSet). * (or only HEAD will be inserted into targetSet).
*/ */
CREATE PROCEDURE db_2_0.applyPOV(in sourceSet VARCHAR(255), /* (?) Name of the table that the POV will be applied to. This can be a temporary table. */ CREATE PROCEDURE db_5_0.applyPOV(in sourceSet VARCHAR(255), /* (?) Name of the table that the POV will be applied to. This can be a temporary table. */
in targetSet VARCHAR(255), /* (?) Name of the result table of this POV. */ in targetSet VARCHAR(255), /* (?) Name of the result table of this POV. */
in propertiesTable VARCHAR(255), in propertiesTable VARCHAR(255),
in refIdsTable VARCHAR(255), in refIdsTable VARCHAR(255),
......
...@@ -20,10 +20,10 @@ ...@@ -20,10 +20,10 @@
* *
* ** end header * ** end header
*/ */
DROP PROCEDURE IF EXISTS db_2_0.applyRefPOV; DROP PROCEDURE IF EXISTS db_5_0.applyRefPOV;
DELIMITER // DELIMITER //
CREATE PROCEDURE db_2_0.applyRefPOV(in sourceSet VARCHAR(255), in targetSet VARCHAR(255), CREATE PROCEDURE db_5_0.applyRefPOV(in sourceSet VARCHAR(255), in targetSet VARCHAR(255),
in properties VARCHAR(255), in refs VARCHAR(255), in properties VARCHAR(255), in refs VARCHAR(255),
in versioned BOOLEAN) in versioned BOOLEAN)
BEGIN BEGIN
......
...@@ -23,10 +23,10 @@ ...@@ -23,10 +23,10 @@
DROP PROCEDURE IF EXISTS db_2_0.applySAT; DROP PROCEDURE IF EXISTS db_5_0.applySAT;
DELIMITER // DELIMITER //
CREATE PROCEDURE db_2_0.applySAT(in sourceSet VARCHAR(255), in targetSet VARCHAR(255), in loc MEDIUMTEXT, in op CHAR(5)) CREATE PROCEDURE db_5_0.applySAT(in sourceSet VARCHAR(255), in targetSet VARCHAR(255), in loc MEDIUMTEXT, in op CHAR(5))
BEGIN BEGIN
IF targetSet IS NULL OR sourceSet = targetSet THEN IF targetSet IS NULL OR sourceSet = targetSet THEN
......
...@@ -20,10 +20,10 @@ ...@@ -20,10 +20,10 @@
* *
* ** end header * ** end header
*/ */
DROP PROCEDURE IF EXISTS db_2_0.applyTransactionFilter; DROP PROCEDURE IF EXISTS db_5_0.applyTransactionFilter;
DELIMITER // DELIMITER //
CREATE PROCEDURE db_2_0.applyTransactionFilter(in sourceSet VARCHAR(255), targetSet VARCHAR(255), in transaction VARCHAR(255), in operator_u CHAR(2), in realm VARCHAR(255), in userName VARCHAR(255), in ilb BIGINT, in ilb_nanos INT UNSIGNED, in eub BIGINT, in eub_nanos INT UNSIGNED, in operator_t CHAR(2)) CREATE PROCEDURE db_5_0.applyTransactionFilter(in sourceSet VARCHAR(255), targetSet VARCHAR(255), in transaction VARCHAR(255), in operator_u CHAR(2), in realm VARCHAR(255), in userName VARCHAR(255), in ilb BIGINT, in ilb_nanos INT UNSIGNED, in eub BIGINT, in eub_nanos INT UNSIGNED, in operator_t CHAR(2))
BEGIN BEGIN
DECLARE data TEXT default CONCAT('(SELECT entity_id FROM transaction_log AS t WHERE t.transaction=\'', DECLARE data TEXT default CONCAT('(SELECT entity_id FROM transaction_log AS t WHERE t.transaction=\'',
transaction, transaction,
......
...@@ -22,11 +22,11 @@ ...@@ -22,11 +22,11 @@
*/ */
DROP PROCEDURE IF EXISTS db_2_0.calcComplementUnion; DROP PROCEDURE IF EXISTS db_5_0.calcComplementUnion;
-- Apparently this code is not used anymore -- Apparently this code is not used anymore
DELIMITER // DELIMITER //
CREATE PROCEDURE db_2_0.calcComplementUnion(in targetSet VARCHAR(255), in subResultSet VARCHAR(255), in universe VARCHAR(255), in versioned BOOLEAN) CREATE PROCEDURE db_5_0.calcComplementUnion(in targetSet VARCHAR(255), in subResultSet VARCHAR(255), in universe VARCHAR(255), in versioned BOOLEAN)
BEGIN BEGIN
IF versioned AND universe = "entities" THEN IF versioned AND universe = "entities" THEN
SET @stmtComplementUnionStr = CONCAT( SET @stmtComplementUnionStr = CONCAT(
......
...@@ -24,13 +24,13 @@ ...@@ -24,13 +24,13 @@
DROP PROCEDURE IF EXISTS db_2_0.calcDifference; DROP PROCEDURE IF EXISTS db_5_0.calcDifference;
DELIMITER // DELIMITER //
/** /**
* Delete rows from `resultSetTable` which have a matching ID (an version) in `diff`. * Delete rows from `resultSetTable` which have a matching ID (an version) in `diff`.
*/ */
CREATE PROCEDURE db_2_0.calcDifference(in resultSetTable VARCHAR(255), in diff VARCHAR(255), in versioned BOOLEAN) CREATE PROCEDURE db_5_0.calcDifference(in resultSetTable VARCHAR(255), in diff VARCHAR(255), in versioned BOOLEAN)
BEGIN BEGIN
IF versioned THEN IF versioned THEN
SET @diffStmtStr = CONCAT('DELETE FROM `', resultSetTable, '` WHERE EXISTS ( SELECT 1 FROM `', diff,'` AS diff WHERE diff.id=`',resultSetTable,'`.`id` AND diff._iversion=`', resultSetTable, '`.`_iversion`)'); SET @diffStmtStr = CONCAT('DELETE FROM `', resultSetTable, '` WHERE EXISTS ( SELECT 1 FROM `', diff,'` AS diff WHERE diff.id=`',resultSetTable,'`.`id` AND diff._iversion=`', resultSetTable, '`.`_iversion`)');
......
...@@ -22,13 +22,13 @@ ...@@ -22,13 +22,13 @@
*/ */
DROP PROCEDURE IF EXISTS db_2_0.calcIntersection; DROP PROCEDURE IF EXISTS db_5_0.calcIntersection;
DELIMITER // DELIMITER //
/** /**
* Drop rows in `resultSetTable` which do not have a matching ID (and version) in `intersectWith`. * Drop rows in `resultSetTable` which do not have a matching ID (and version) in `intersectWith`.
*/ */
CREATE PROCEDURE db_2_0.calcIntersection(in resultSetTable VARCHAR(255), in intersectWith VARCHAR(255), in versioned BOOLEAN) CREATE PROCEDURE db_5_0.calcIntersection(in resultSetTable VARCHAR(255), in intersectWith VARCHAR(255), in versioned BOOLEAN)
BEGIN BEGIN
IF versioned THEN IF versioned THEN
SET @diffStmtStr = CONCAT('DELETE FROM `', SET @diffStmtStr = CONCAT('DELETE FROM `',
......
...@@ -23,13 +23,13 @@ ...@@ -23,13 +23,13 @@
DROP PROCEDURE IF EXISTS db_2_0.calcUnion; DROP PROCEDURE IF EXISTS db_5_0.calcUnion;
DELIMITER // DELIMITER //
/** /**
* Add the rows from `sourceSet` to `targetSet`. * Add the rows from `sourceSet` to `targetSet`.
*/ */
CREATE PROCEDURE db_2_0.calcUnion(in targetSet VARCHAR(255), in sourceSet VARCHAR(255)) CREATE PROCEDURE db_5_0.calcUnion(in targetSet VARCHAR(255), in sourceSet VARCHAR(255))
BEGIN BEGIN
SET @diffStmtStr = CONCAT('INSERT IGNORE INTO `', targetSet, '` SELECT * FROM `',sourceSet,'`'); SET @diffStmtStr = CONCAT('INSERT IGNORE INTO `', targetSet, '` SELECT * FROM `',sourceSet,'`');
PREPARE diffStmt FROM @diffStmtStr; PREPARE diffStmt FROM @diffStmtStr;
......
...@@ -24,13 +24,13 @@ ...@@ -24,13 +24,13 @@
DROP PROCEDURE IF EXISTS db_2_0.cleanUpQuery; DROP PROCEDURE IF EXISTS db_5_0.cleanUpQuery;
DELIMITER // DELIMITER //
/** /**
* Drop temporary tables and warnings, existing warnings are returned in the result set. * Drop temporary tables and warnings, existing warnings are returned in the result set.
*/ */
CREATE PROCEDURE db_2_0.cleanUpQuery() CREATE PROCEDURE db_5_0.cleanUpQuery()
BEGIN BEGIN
CREATE TEMPORARY TABLE IF NOT EXISTS warnings (warning TEXT NOT NULL); CREATE TEMPORARY TABLE IF NOT EXISTS warnings (warning TEXT NOT NULL);
SELECT * from warnings; SELECT * from warnings;
......
...@@ -22,10 +22,10 @@ ...@@ -22,10 +22,10 @@
*/ */
DROP PROCEDURE IF EXISTS db_2_0.copyTable; DROP PROCEDURE IF EXISTS db_5_0.copyTable;
DELIMITER // DELIMITER //
CREATE PROCEDURE db_2_0.copyTable(in fromTable VARCHAR(255), in toTable VARCHAR(255)) CREATE PROCEDURE db_5_0.copyTable(in fromTable VARCHAR(255), in toTable VARCHAR(255))
BEGIN BEGIN
SET @copyTableStmtStr = CONCAT('INSERT IGNORE INTO `', toTable, '` (id) SELECT id FROM `', fromTable, '`'); SET @copyTableStmtStr = CONCAT('INSERT IGNORE INTO `', toTable, '` (id) SELECT id FROM `', fromTable, '`');
PREPARE copyTableStmt FROM @copyTableStmtStr; PREPARE copyTableStmt FROM @copyTableStmtStr;
......
...@@ -21,10 +21,10 @@ ...@@ -21,10 +21,10 @@
* ** end header * ** end header
*/ */
DROP PROCEDURE IF EXISTS db_2_0.registerTempTableName; DROP PROCEDURE IF EXISTS db_5_0.registerTempTableName;
DELIMITER // DELIMITER //
CREATE PROCEDURE db_2_0.registerTempTableName(out newTableName VARCHAR(255)) CREATE PROCEDURE db_5_0.registerTempTableName(out newTableName VARCHAR(255))
BEGIN BEGIN
SET newTableName = md5(CONCAT(RAND(),CURRENT_TIMESTAMP())); SET newTableName = md5(CONCAT(RAND(),CURRENT_TIMESTAMP()));
SET @tempTableList = IF(@tempTableList IS NULL, SET @tempTableList = IF(@tempTableList IS NULL,
...@@ -35,7 +35,7 @@ END; ...@@ -35,7 +35,7 @@ END;
// //
DELIMITER ; DELIMITER ;
DROP PROCEDURE IF EXISTS db_2_0.createTmpTable; DROP PROCEDURE IF EXISTS db_5_0.createTmpTable;
DELIMITER // DELIMITER //
/** /**
...@@ -44,7 +44,7 @@ DELIMITER // ...@@ -44,7 +44,7 @@ DELIMITER //
* If versioned: Creates a temporary table for query results with an `id` * If versioned: Creates a temporary table for query results with an `id`
* column and an `_iversion` column. * column and an `_iversion` column.
*/ */
CREATE PROCEDURE db_2_0.createTmpTable(out newTableName VARCHAR(255), in versioned BOOLEAN) CREATE PROCEDURE db_5_0.createTmpTable(out newTableName VARCHAR(255), in versioned BOOLEAN)
BEGIN BEGIN
call registerTempTableName(newTableName); call registerTempTableName(newTableName);
...@@ -71,10 +71,10 @@ DELIMITER ; ...@@ -71,10 +71,10 @@ DELIMITER ;
* id2 - for entity ids (usually those entities which have the other id as property or value) * id2 - for entity ids (usually those entities which have the other id as property or value)
* domain - for domain ids * domain - for domain ids
*/ */
DROP PROCEDURE IF EXISTS db_2_0.createTmpTable2; DROP PROCEDURE IF EXISTS db_5_0.createTmpTable2;
DELIMITER // DELIMITER //
CREATE PROCEDURE db_2_0.createTmpTable2(out newTableName VARCHAR(255)) CREATE PROCEDURE db_5_0.createTmpTable2(out newTableName VARCHAR(255))
BEGIN BEGIN
call registerTempTableName(newTableName); call registerTempTableName(newTableName);
SET @createTableStmtStr = CONCAT('CREATE TEMPORARY TABLE `', newTableName, SET @createTableStmtStr = CONCAT('CREATE TEMPORARY TABLE `', newTableName,
......
...@@ -21,10 +21,10 @@ ...@@ -21,10 +21,10 @@
* ** end header * ** end header
*/ */
DROP PROCEDURE IF EXISTS db_2_0.finishNegationFilter; DROP PROCEDURE IF EXISTS db_5_0.finishNegationFilter;
DELIMITER // DELIMITER //
CREATE PROCEDURE db_2_0.finishNegationFilter(in resultSetTable VARCHAR(255), in diff VARCHAR(255)) CREATE PROCEDURE db_5_0.finishNegationFilter(in resultSetTable VARCHAR(255), in diff VARCHAR(255))
BEGIN BEGIN
call calcDifference(resultSetTable, diff); call calcDifference(resultSetTable, diff);
END; END;
......
...@@ -21,10 +21,10 @@ ...@@ -21,10 +21,10 @@
* ** end header * ** end header
*/ */
DROP PROCEDURE IF EXISTS db_2_0.finishSubProperty; DROP PROCEDURE IF EXISTS db_5_0.finishSubProperty;
DELIMITER // DELIMITER //
CREATE PROCEDURE db_2_0.finishSubProperty(in sourceSet VARCHAR(255),in targetSet VARCHAR(255), CREATE PROCEDURE db_5_0.finishSubProperty(in sourceSet VARCHAR(255),in targetSet VARCHAR(255),
in list VARCHAR(255), in versioned BOOLEAN) in list VARCHAR(255), in versioned BOOLEAN)
BEGIN BEGIN
DECLARE data VARCHAR(20000) DEFAULT CONCAT('`',list,'`'); DECLARE data VARCHAR(20000) DEFAULT CONCAT('`',list,'`');
......
...@@ -21,10 +21,10 @@ ...@@ -21,10 +21,10 @@
* ** end header * ** end header
*/ */
DROP FUNCTION IF EXISTS db_2_0.getAggValueWhereClause; DROP FUNCTION IF EXISTS db_5_0.getAggValueWhereClause;
DELIMITER // DELIMITER //
CREATE FUNCTION db_2_0.getAggValueWhereClause(entities VARCHAR(255), properties VARCHAR(255)) RETURNS VARCHAR(20000) DETERMINISTIC CREATE FUNCTION db_5_0.getAggValueWhereClause(entities VARCHAR(255), properties VARCHAR(255)) RETURNS VARCHAR(20000) DETERMINISTIC
BEGIN BEGIN
RETURN CONCAT(" EXISTS (SELECT 1 FROM `", entities, "` AS ent WHERE ent.id = subdata.entity_id LIMIT 1)", IF(properties IS NOT NULL AND properties != '', CONCAT(" AND EXISTS (SELECT 1 FROM `", properties, "` as props WHERE props.id = subdata.property_id LIMIT 1)"),'')); RETURN CONCAT(" EXISTS (SELECT 1 FROM `", entities, "` AS ent WHERE ent.id = subdata.entity_id LIMIT 1)", IF(properties IS NOT NULL AND properties != '', CONCAT(" AND EXISTS (SELECT 1 FROM `", properties, "` as props WHERE props.id = subdata.property_id LIMIT 1)"),''));
END; END;
......
...@@ -21,14 +21,14 @@ ...@@ -21,14 +21,14 @@
* ** end header * ** end header
*/ */
Drop Procedure if exists db_2_0.getChildren; Drop Procedure if exists db_5_0.getChildren;
Delimiter // Delimiter //
/** /**
* Find and return all children of the IDs given in `tableName`. * Find and return all children of the IDs given in `tableName`.
* *
* If the `versioned` parameter is `TRUE`, also all archived (non-HEAD) children are added. * If the `versioned` parameter is `TRUE`, also all archived (non-HEAD) children are added.
*/ */
Create Procedure db_2_0.getChildren(in tableName varchar(255), in versioned BOOLEAN) Create Procedure db_5_0.getChildren(in tableName varchar(255), in versioned BOOLEAN)
BEGIN BEGIN
DECLARE found_children INT UNSIGNED DEFAULT 0; DECLARE found_children INT UNSIGNED DEFAULT 0;
......
...@@ -21,10 +21,10 @@ ...@@ -21,10 +21,10 @@
* ** end header * ** end header
*/ */
DROP FUNCTION IF EXISTS db_2_0.getDateTimeWhereClause; DROP FUNCTION IF EXISTS db_5_0.getDateTimeWhereClause;
DELIMITER // DELIMITER //
CREATE FUNCTION db_2_0.getDateTimeWhereClause(vDateTime VARCHAR(255), operator CHAR(4)) RETURNS VARCHAR(20000) DETERMINISTIC CREATE FUNCTION db_5_0.getDateTimeWhereClause(vDateTime VARCHAR(255), operator CHAR(4)) RETURNS VARCHAR(20000) DETERMINISTIC
BEGIN BEGIN
DECLARE sep_loc INTEGER DEFAULT LOCATE('--',vDateTime); DECLARE sep_loc INTEGER DEFAULT LOCATE('--',vDateTime);
DECLARE vDateTimeLow VARCHAR(255) DEFAULT IF(sep_loc != 0, SUBSTRING_INDEX(vDateTime, '--',1), vDateTime); DECLARE vDateTimeLow VARCHAR(255) DEFAULT IF(sep_loc != 0, SUBSTRING_INDEX(vDateTime, '--',1), vDateTime);
...@@ -45,10 +45,10 @@ DELIMITER ; ...@@ -45,10 +45,10 @@ DELIMITER ;
DROP FUNCTION IF EXISTS db_2_0.constructDateTimeWhereClauseForColumn; DROP FUNCTION IF EXISTS db_5_0.constructDateTimeWhereClauseForColumn;
DELIMITER // DELIMITER //
CREATE FUNCTION db_2_0.constructDateTimeWhereClauseForColumn(seconds_col VARCHAR(255), nanos_col VARCHAR(255), vDateTimeSecLow VARCHAR(255), vDateTimeNSLow VARCHAR(255), vDateTimeSecUpp VARCHAR(255), vDateTimeNSUpp VARCHAR(255), operator CHAR(4)) RETURNS VARCHAR(20000) DETERMINISTIC CREATE FUNCTION db_5_0.constructDateTimeWhereClauseForColumn(seconds_col VARCHAR(255), nanos_col VARCHAR(255), vDateTimeSecLow VARCHAR(255), vDateTimeNSLow VARCHAR(255), vDateTimeSecUpp VARCHAR(255), vDateTimeNSUpp VARCHAR(255), operator CHAR(4)) RETURNS VARCHAR(20000) DETERMINISTIC
BEGIN BEGIN
DECLARE isInterval BOOLEAN DEFAULT vDateTimeSecUpp IS NOT NULL or vDateTimeNSUpp IS NOT NULL; DECLARE isInterval BOOLEAN DEFAULT vDateTimeSecUpp IS NOT NULL or vDateTimeNSUpp IS NOT NULL;
...@@ -107,10 +107,10 @@ DELIMITER ; ...@@ -107,10 +107,10 @@ DELIMITER ;
DROP FUNCTION IF EXISTS db_2_0.getDateWhereClause; DROP FUNCTION IF EXISTS db_5_0.getDateWhereClause;
DELIMITER // DELIMITER //
CREATE FUNCTION db_2_0.getDateWhereClause(vDateTimeDotNotation VARCHAR(255), operator CHAR(4)) RETURNS VARCHAR(20000) DETERMINISTIC CREATE FUNCTION db_5_0.getDateWhereClause(vDateTimeDotNotation VARCHAR(255), operator CHAR(4)) RETURNS VARCHAR(20000) DETERMINISTIC
BEGIN BEGIN
DECLARE isInterval INTEGER DEFAULT LOCATE('--',vDateTimeDotNotation); DECLARE isInterval INTEGER DEFAULT LOCATE('--',vDateTimeDotNotation);
-- ILB is short for Inclusive Lower Boundary -- ILB is short for Inclusive Lower Boundary
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment