From e3c44d9396bd039a4475eb47e6271617fb54214c Mon Sep 17 00:00:00 2001 From: Digital Data - Marlon Schreiber Date: Fri, 25 Mar 2022 14:30:43 +0100 Subject: [PATCH] MS --- 00_IDB/CreateDBObjects.sql | 351 ++++++++++++++++++++++++++++++------- 00_IDB/Search_Logic.sql | Bin 0 -> 13232 bytes 00_IDB/Search_TEST.sql | Bin 0 -> 110 bytes 00_IDB/StructureNode.sql | 59 +++++++ 04_APPSERV/INSERT_JOBS.sql | 6 + 5 files changed, 349 insertions(+), 67 deletions(-) create mode 100644 00_IDB/Search_Logic.sql create mode 100644 00_IDB/Search_TEST.sql create mode 100644 00_IDB/StructureNode.sql diff --git a/00_IDB/CreateDBObjects.sql b/00_IDB/CreateDBObjects.sql index c912237..719fd31 100644 --- a/00_IDB/CreateDBObjects.sql +++ b/00_IDB/CreateDBObjects.sql @@ -451,6 +451,7 @@ CREATE TABLE TBIDB_OBJECT_KIND GO INSERT INTO TBIDB_OBJECT_KIND (KIND_NAME) VALUES ('DOC'); INSERT INTO TBIDB_OBJECT_KIND (KIND_NAME) VALUES ('OBJECT'); +INSERT INTO TBIDB_OBJECT_KIND (KIND_NAME) VALUES ('DYNAMIC_FOLDER'); GO CREATE TRIGGER TBIDB_OBJECT_KIND_AFT_UPD ON TBIDB_OBJECT_KIND FOR UPDATE @@ -526,8 +527,9 @@ CREATE TABLE TBIDB_OBJECT ADDED_WHEN DATETIME NOT NULL DEFAULT (GETDATE()), CHANGED_WHO VARCHAR(30), CHANGED_WHEN DATETIME, - CONSTRAINT PK_TBIDB_OBJECT PRIMARY KEY (IDB_OBJ_ID), - CONSTRAINT UQ_TBIDB_OBJECT UNIQUE (REFERENCE_KEY), + CHANGED_WHEN_SUBSTRUCTURE DATETIME, + CHANGED_WHO_SUBSTRUCTURE VARCHAR(100), + CONSTRAINT PK_TBIDB_OBJECT PRIMARY KEY (IDB_OBJ_ID), CONSTRAINT FK_KIND_TYPE_ID FOREIGN KEY (KIND_TYPE_ID) REFERENCES TBIDB_OBJECT_KIND (GUID) ) GO @@ -584,12 +586,15 @@ AS FROM INSERTED WHERE TBIDB_STRUCTURE_TYPE.GUID = INSERTED.GUID GO +INSERT INTO TBIDB_STRUCTURE_TYPE (TITLE) VALUES ('DOC_DOCTYPE'); +GO + CREATE TABLE TBIDB_OBJECT_STRUCTURE_TYPE ( GUID BIGINT NOT NULL IDENTITY (1, 1), IDB_OBJ_ID BIGINT NOT NULL, STRUCTURE_ID INTEGER NOT NULL, - PARENT_OBJ_ID BIGINT NOT NULL DEFAULT 0, + RELATION_ID INTEGER NOT NULL, COMMENT VARCHAR(1000), ADDED_WHO VARCHAR(100) NOT NULL DEFAULT 'SYSTEM', ADDED_WHEN DATETIME NOT NULL DEFAULT (GETDATE()), @@ -609,6 +614,10 @@ AS WHERE TBIDB_OBJECT_STRUCTURE_TYPE.GUID = INSERTED.GUID GO +INSERT INTO TBIDB_OBJECT_STRUCTURE_TYPE (IDB_OBJ_ID,STRUCTURE_ID,RELATION_ID) VALUES (12031,1 ,(SELECT GUID FROM TBIDB_DOCTYPE WHERE TITLE = 'Projektunterlage')) +INSERT INTO TBIDB_OBJECT_STRUCTURE_TYPE (IDB_OBJ_ID,STRUCTURE_ID,RELATION_ID) VALUES (12037,1 ,(SELECT GUID FROM TBIDB_DOCTYPE WHERE TITLE = 'Lieferschein')) +INSERT INTO TBIDB_OBJECT_STRUCTURE_TYPE (IDB_OBJ_ID,STRUCTURE_ID,RELATION_ID) VALUES (12035,1 ,(SELECT GUID FROM TBIDB_DOCTYPE WHERE TITLE = 'Gutschrift')) + CREATE TABLE TBIDB_DOC_INFO ( GUID BIGINT NOT NULL IDENTITY (1, 1), @@ -699,7 +708,7 @@ AS WHERE TBIDB_ATTRIBUTE.GUID = INSERTED.GUID GO -CREATE TRIGGER [dbo].[TBIDB_ATTRIBUTE_AFT_INS] ON [dbo].[TBIDB_ATTRIBUTE] +CREATE OR ALTER TRIGGER [dbo].[TBIDB_ATTRIBUTE_AFT_INS] ON [dbo].[TBIDB_ATTRIBUTE] FOR INSERT AS DECLARE @@ -737,16 +746,14 @@ AS ,@LANG_ID ,@NEW_TERM_ID ,@ADDED_WHO); - --BEGIN TRY - -- EXEC PRIDB_CREATE_VIEW_DOC_DATA @LANG_CODE - --END TRY - --BEGIN CATCH - --END CATCH + EXEC PRIDB_CREATE_VIEW_DOC_DATA @LANG_CODE,'DEFAULT' + EXEC PRIDB_CREATE_VIEW_DOC_DATA @LANG_CODE,'' FETCH NEXT FROM cursorIDBLANGUAGE_ATTR INTO @LANG_ID,@LANG_CODE END CLOSE cursorIDBLANGUAGE_ATTR DEALLOCATE cursorIDBLANGUAGE_ATTR + GO CREATE TABLE TBIDB_BE_ATTRIBUTE @@ -1351,7 +1358,7 @@ CREATE TABLE TBIDB_COMMON_SQL CONSTRAINT PK_TBIDB_COMMON_SQL PRIMARY KEY (GUID) ) GO - +DELETE FROM [TBIDB_COMMON_SQL] WHERE TITLE = 'FLOW_SEARCH_SQL_BASE'; INSERT INTO [dbo].[TBIDB_COMMON_SQL] ([TITLE] ,[SQL_COMMAND] @@ -1359,16 +1366,24 @@ INSERT INTO [dbo].[TBIDB_COMMON_SQL] VALUES ('FLOW_SEARCH_SQL_BASE' ,'SELECT - DOC.* -FROM - TBIDB_SEARCH_RESULT_USER RES INNER JOIN VWIDB_LANGUAGE_TERM VWLTERM ON RES.MD_GUID = VWLTERM.MD_ID - INNER JOIN VWIDB_DOCRESULT_DE DOC ON VWLTERM.IDB_OBJ_ID = DOC.DocID -WHERE - RES.USR_ID = @USER_ID AND VWLTERM.LANG_CODE = ''@LANG_CODE''','SYSTEM') + DOC.* + FROM + TBIDB_SEARCH_RESULT_TERM_USER RES INNER JOIN VWIDB_LANGUAGE_TERM VWLTERM ON RES.MD_GUID = VWLTERM.MD_ID + INNER JOIN VWIDB_DOCRESULT_DE DOC ON VWLTERM.IDB_OBJ_ID = DOC.DocID + WHERE + RES.USR_ID = @USER_ID AND VWLTERM.LANG_CODE = ''@LANG_CODE''' + CHAR(10) + + 'UNION + SELECT + DOC.* + FROM + TBIDB_SEARCH_RESULT_STRUCT_TYPE_USER RES INNER JOIN VWIDB_DOC_DOCTYPE VWDT ON RES.STRUCTURE_ID = VWDT.STRUCTURE_ID AND RES.IDB_OBJ_ID = VWDT.IDB_OBJ_ID + INNER JOIN VWIDB_DOCRESULT_DE DOC ON RES.IDB_OBJ_ID = DOC.DocID + WHERE + RES.USR_ID = @USER_ID AND VWDT.LANG_CODE = ''@LANG_CODE''','SYSTEM') GO -CREATE TABLE TBIDB_SEARCH_RESULT_USER +CREATE TABLE TBIDB_SEARCH_RESULT_TERM_USER ( GUID BIGINT NOT NULL IDENTITY (1, 1), MD_GUID BIGINT @@ -1376,6 +1391,16 @@ CREATE TABLE TBIDB_SEARCH_RESULT_USER CONSTRAINT FK_TBIDB_SEARCH_RESULT_USER_MD_GUID FOREIGN KEY (MD_GUID) REFERENCES TBIDB_OBJECT_METADATA (GUID) ) GO +CREATE TABLE TBIDB_SEARCH_RESULT_STRUCT_TYPE_USER +( + GUID BIGINT NOT NULL IDENTITY (1, 1), + IDB_OBJ_ID BIGINT NOT NULL, + STRUCTURE_ID INTEGER NOT NULL, + USR_ID INTEGER + CONSTRAINT FK_TBIDB_SEARCH_RESULT_STRUCT_TYPE_USER_IDBOBJID FOREIGN KEY (IDB_OBJ_ID) REFERENCES TBIDB_OBJECT (IDB_OBJ_ID), + CONSTRAINT FK_TBIDB_SEARCH_RESULT_STRUCT_TYPE_USER_STRUCTURE_ID FOREIGN KEY (STRUCTURE_ID) REFERENCES TBIDB_STRUCTURE_TYPE (GUID) +) +GO CREATE TABLE TBIDB_SEARCH_DATE_VALUE_USER ( @@ -1938,7 +1963,52 @@ AS FROM INSERTED WHERE TBIDB_TERM_TYPE.GUID = INSERTED.GUID GO - +CREATE TABLE TBIDB_OBJECT_DYNAMIC_FOLDER +( + GUID BIGINT NOT NULL IDENTITY (1, 1), + IDB_OBJ_ID BIGINT NOT NULL, + DYN_FOLD_ID BIGINT NOT NULL, + COMMENT VARCHAR(1000), + ADDED_WHO VARCHAR(100) NOT NULL DEFAULT 'SYSTEM', + ADDED_WHEN DATETIME DEFAULT (GETDATE()), + CHANGED_WHO VARCHAR(100), + CHANGED_WHEN DATETIME, + CONSTRAINT PK_TBIDB_OBJECT_DYNAMIC_FOLDER PRIMARY KEY (GUID), + CONSTRAINT UQ_TBIDB_OBJECT_DYNAMIC_FOLDER UNIQUE (IDB_OBJ_ID,DYN_FOLD_ID), + CONSTRAINT FK_TBIDB_OBJECT_DYNAMIC_FOLDER_IDBOBJID FOREIGN KEY (IDB_OBJ_ID) REFERENCES TBIDB_OBJECT (IDB_OBJ_ID), + CONSTRAINT FK_TBIDB_OBJECT_DYNAMIC_FOLDER_DYNFOLDID FOREIGN KEY (DYN_FOLD_ID) REFERENCES TBIDB_OBJECT (IDB_OBJ_ID) +) +GO +CREATE TRIGGER TBIDB_OBJECT_DYNAMIC_FOLDER_AFT_UPD ON TBIDB_OBJECT_DYNAMIC_FOLDER +FOR UPDATE +AS + UPDATE TBIDB_OBJECT_DYNAMIC_FOLDER SET CHANGED_WHEN = GETDATE() + FROM INSERTED + WHERE TBIDB_OBJECT_DYNAMIC_FOLDER.GUID = INSERTED.GUID +GO +DROP TABLE TBIDB_OBJECT_CHECK_IN_OUT +CREATE TABLE TBIDB_OBJECT_CHECK_IN_OUT +( + GUID BIGINT NOT NULL IDENTITY (1, 1), + IDB_OBJ_ID BIGINT NOT NULL, + CHECKED_OUT_WHEN DATETIME NOT NULL, + CHECKED_IN_WHEN DATETIME, + COMMENT VARCHAR(1000), + ADDED_WHO VARCHAR(100) NOT NULL DEFAULT 'SYSTEM', + ADDED_WHEN DATETIME NOT NULL DEFAULT (GETDATE()), + CHANGED_WHO VARCHAR(100), + CHANGED_WHEN DATETIME, + CONSTRAINT PK_TBIDB_OBJECT_CHECK_IN_OUT PRIMARY KEY (GUID), + CONSTRAINT FK_TBIDB_OBJECT_CHECK_IN_OUT_IDB_OBJ_ID FOREIGN KEY (IDB_OBJ_ID) REFERENCES TBIDB_OBJECT (IDB_OBJ_ID) +) +GO +CREATE TRIGGER TBIDB_OBJECT_CHECK_IN_OUT_AFT_UPD ON TBIDB_OBJECT_CHECK_IN_OUT +FOR UPDATE +AS + UPDATE TBIDB_OBJECT_CHECK_IN_OUT SET CHANGED_WHEN = GETDATE() + FROM INSERTED + WHERE TBIDB_OBJECT_CHECK_IN_OUT.IDB_OBJ_ID = INSERTED.IDB_OBJ_ID +GO /*########################### ######### FUNCTIONS ######### #############################*/ @@ -3308,6 +3378,7 @@ SELECT LT.GUID as ID ,LT.OBJECT_ID as Doctype_ID ,DT.TITLE AS SYS_TITLE + ,LT.TERM_ID ,TERM.TERM_VALUE AS Doctype ,LT.LANG_ID ,LANG.LANG_CODE @@ -3370,6 +3441,53 @@ FROM WHERE C.KIND_TYPE = 3 GO +CREATE OR ALTER VIEW VWIDB_DOC_DOCTYPE AS +SELECT A.GUID, + + A.IDB_OBJ_ID + ,A.STRUCTURE_ID + ,B.TITLE AS STRUCTURE_TITLE + ,C.SYS_TITLE + ,C.Doctype_ID + ,C.Doctype + ,C.TERM_ID + ,C.LANG_CODE + ,C.LANG_ID + ,A.ADDED_WHO + ,A.ADDED_WHEN + ,B.CHANGED_WHO + ,B.CHANGED_WHEN + ,OBJ.ADDED_WHEN OBJ_ADDED_WHEN + ,OBJ.CHANGED_WHEN OBJ_CHANGED_WHEN + ,OBJ.ACTIVE OBJ_ACTIVE +FROM + TBIDB_OBJECT_STRUCTURE_TYPE A INNER JOIN TBIDB_STRUCTURE_TYPE B ON A.STRUCTURE_ID = B.GUID + INNER JOIN VWIDB_DOCTYPE_LANGUAGE C ON A.RELATION_ID = C.Doctype_ID + INNER JOIN TBIDB_OBJECT OBJ ON A.IDB_OBJ_ID = OBJ.IDB_OBJ_ID +WHERE B.TITLE = 'DOC_DOCTYPE' +GO +CREATE OR ALTER VIEW VWIDB_STRUCTURE_NODES AS +select + T.GUID AS MetadataID, + T1.GUID AS AttributID, + T.IDB_OBJ_ID, + OBJ.PARENT_OBJ_ID, + T1.TITLE as Attribut, + T3.GUID as TERM_GUID, + T3.TERM_VALUE, + T4.LANG_CODE, + T.ADDED_WHO, + T.ADDED_WHEN, + T.CHANGED_WHO [Geändert wer], + T.CHANGED_WHEN [Geändert wann] +from TBIDB_OBJECT_METADATA T + INNER JOIN TBIDB_ATTRIBUTE T1 ON T.ATTR_ID = T1.GUID + INNER JOIN TBIDB_LANGUAGE_TERM T2 ON T.GUID = T2.[OBJECT_ID] + INNER JOIN TBIDB_OBJECT OBJ ON T.IDB_OBJ_ID = OBJ.IDB_OBJ_ID + INNER JOIN TBIDB_TERM_VALUE_VARCHAR T3 ON T2.TERM_ID = T3.GUID + INNER JOIN TBIDB_LANGUAGE T4 ON T2.LANG_ID = T4.GUID +WHERE OBJ.ACTIVE = 1 AND OBJ.KIND_TYPE_ID = 3 AND T1.GUID = (SELECT GUID FROM TBIDB_ATTRIBUTE WHERE TITLE = 'VIRTUAL_FOLDER_PART') +GO /*########################################### ############## PROCEDURES ################### #############################################*/ @@ -3438,6 +3556,7 @@ GO CREATE OR ALTER VIEW [dbo].[VWIDB_STATES_LANGUAGE] AS SELECT A.GUID AS STATE_ID, + B.GUID LANG_TERM_ID, A.TITLE AS STATE_TITLE, D.TERM_VALUE AS STATE_TERM, B.LANG_ID, @@ -3455,6 +3574,7 @@ INNER JOIN TBIDB_TERM_VALUE_VARCHAR D ON B.TERM_ID = D.GUID INNER JOIN TBIDB_LANGUAGE C ON B.LANG_ID = C.GUID INNER JOIN TBIDB_TERM_VALUE_VARCHAR E ON A.ADDED_WHO = E.GUID INNER JOIN TBIDB_TERM_VALUE_VARCHAR F ON B.CHANGED_WHO = F.GUID +WHERE B.KIND_TYPE = 3 GO -- ============================================= -- Author: DD MS @@ -3554,6 +3674,7 @@ BEGIN INSERT INTO TBIDB_LANGUAGE_TERM (KIND_TYPE, [OBJECT_ID],TERM_ID,LANG_ID,ADDED_WHO) VALUES(3, @STATE_ID,@STATE_TERM_ID,@LANG_ID,@ADDED_WHO_TERM_ID); ELSE UPDATE TBIDB_LANGUAGE_TERM SET TERM_ID = @STATE_TERM_ID,CHANGED_WHO = @ADDED_WHO_TERM_ID WHERE [OBJECT_ID] = @STATE_ID AND LANG_ID = @LANG_ID + AND TERM_ID <> @STATE_TERM_ID; FETCH NEXT FROM c_PRIDB_NEW_IDB_OBJECT_STATE INTO @LANG_ID,@pLANG_CODE END @@ -3562,19 +3683,23 @@ BEGIN END GO -CREATE OR ALTER PROCEDURE [dbo].[PRIDB_SET_IDB_STATE] @pSTATE_ID INTEGER, @pSTATE VARCHAR(100), @pLANG_CODE VARCHAR(5),@pWHO VARCHAR(100) +CREATE OR ALTER PROCEDURE [dbo].[PRIDB_SET_IDB_STATE_LANG] @pSTATE VARCHAR(100),@pSTATE_LANG VARCHAR(100), @pLANG_CODE VARCHAR(5),@pWHO VARCHAR(100) AS BEGIN DECLARE - @LANG_ID INTEGER + @LANG_ID INTEGER, + @pSTATE_ID INTEGER SELECT @LANG_ID = GUID FROM TBIDB_LANGUAGE WHERE LANG_CODE = @pLANG_CODE; - + SELECT @pSTATE_ID = GUID FROM TBIDB_STATES WHERE TITLE = @pSTATE DECLARE @STATE_TERM_ID BIGINT,@LANG_STATE_TERM_ID BIGINT - EXEC PRIDB_NEW_TERM 'VARCHAR',@pSTATE,@pWHO,@TERM_ID = @STATE_TERM_ID OUTPUT; + EXEC PRIDB_NEW_TERM 'VARCHAR',@pSTATE_LANG,@pWHO,@TERM_ID = @STATE_TERM_ID OUTPUT; DECLARE @CHANGED_WHO_TERM_ID BIGINT EXEC PRIDB_NEW_TERM 'VARCHAR',@pWHO,@pWHO,@TERM_ID = @CHANGED_WHO_TERM_ID OUTPUT; - UPDATE TBIDB_LANGUAGE_TERM SET TERM_ID = @STATE_TERM_ID,CHANGED_WHO = @CHANGED_WHO_TERM_ID WHERE [OBJECT_ID] = @pSTATE_ID AND LANG_ID = @LANG_ID + IF NOT EXISTS(SELECT GUID FROM TBIDB_LANGUAGE_TERM WHERE [OBJECT_ID] = @pSTATE_ID AND LANG_ID = @LANG_ID AND KIND_TYPE = 3) + INSERT INTO TBIDB_LANGUAGE_TERM (KIND_TYPE, [OBJECT_ID],TERM_ID,LANG_ID,ADDED_WHO) VALUES(3, @pSTATE_ID,@STATE_TERM_ID,@LANG_ID,@CHANGED_WHO_TERM_ID); + ELSE + UPDATE TBIDB_LANGUAGE_TERM SET TERM_ID = @STATE_TERM_ID,CHANGED_WHO = @CHANGED_WHO_TERM_ID WHERE KIND_TYPE = 3 AND [OBJECT_ID] = @pSTATE_ID AND LANG_ID = @LANG_ID AND TERM_ID <> @STATE_TERM_ID; END GO EXEC PRIDB_NEW_IDB_STATE 'Started', 'SYSTEM'; @@ -3587,13 +3712,13 @@ EXEC PRIDB_NEW_IDB_STATE 'Metadata changed','SYSTEM'; EXEC PRIDB_NEW_IDB_STATE 'Attributevalue deleted','SYSTEM'; EXEC PRIDB_NEW_IDB_STATE 'File opened', 'SYSTEM'; -EXEC PRIDB_SET_IDB_STATE 3,'Datei versioniert', 'de-DE', 'SYSTEM'; -EXEC PRIDB_SET_IDB_STATE 4,'Datei erstellt', 'de-DE', 'SYSTEM'; -EXEC PRIDB_SET_IDB_STATE 5,'Datei geändert', 'de-DE', 'SYSTEM'; -EXEC PRIDB_SET_IDB_STATE 6,'Datei gelöscht', 'de-DE', 'SYSTEM'; -EXEC PRIDB_SET_IDB_STATE 7,'Attributwert geändert', 'de-DE', 'SYSTEM'; -EXEC PRIDB_SET_IDB_STATE 8,'Attributwert gelöscht', 'de-DE', 'SYSTEM'; -EXEC PRIDB_SET_IDB_STATE 9,'Datei geöffnet', 'de-DE', 'SYSTEM'; +EXEC PRIDB_SET_IDB_STATE_LANG 'File Versioned','Datei versioniert', 'de-DE', 'SYSTEM'; +EXEC PRIDB_SET_IDB_STATE_LANG 'File added','Datei erstellt', 'de-DE', 'SYSTEM'; +EXEC PRIDB_SET_IDB_STATE_LANG 'File changed','Datei geändert', 'de-DE', 'SYSTEM'; +EXEC PRIDB_SET_IDB_STATE_LANG 'File deleted','Datei gelöscht', 'de-DE', 'SYSTEM'; +EXEC PRIDB_SET_IDB_STATE_LANG 'Metadata changed','Attributwert geändert', 'de-DE', 'SYSTEM'; +EXEC PRIDB_SET_IDB_STATE_LANG 'Attributevalue deleted','Attributwert gelöscht', 'de-DE', 'SYSTEM'; +EXEC PRIDB_SET_IDB_STATE_LANG 'File opened','Datei geöffnet', 'de-DE', 'SYSTEM'; GO CREATE OR ALTER PROCEDURE [dbo].[PRIDB_DELETE_ATTRIBUTE_DATA] @IDB_OBJ_ID BIGINT, @ATTRIBUTE VARCHAR(100), @WHO VARCHAR(100) @@ -3982,9 +4107,9 @@ BEGIN ,@WHO) END ELSE - UPDATE TBIDB_OBJECT_METADATA SET [DATE_TERM_ID] = @MY_TERM_ID, CHANGED_WHO = @WHO WHERE IDB_OBJ_ID = @IDB_OBJ_ID AND ATTR_ID = @ATTR_ID + UPDATE TBIDB_OBJECT_METADATA SET [DATE_TERM_ID] = @MY_TERM_ID, CHANGED_WHO = @WHO WHERE IDB_OBJ_ID = @IDB_OBJ_ID AND ATTR_ID = @ATTR_ID; - SELECT @OMD_ID = GUID FROM TBIDB_OBJECT_METADATA WHERE IDB_OBJ_ID = @IDB_OBJ_ID AND ATTR_ID = @ATTR_ID AND DATE_TERM_ID = @MY_TERM_ID + SELECT @OMD_ID = GUID FROM TBIDB_OBJECT_METADATA WHERE IDB_OBJ_ID = @IDB_OBJ_ID AND ATTR_ID = @ATTR_ID AND DATE_TERM_ID = @MY_TERM_ID; END ELSE IF @TYP_ID = 6 --DATETIME BEGIN @@ -3999,20 +4124,18 @@ BEGIN (@IDB_OBJ_ID ,@ATTR_ID ,@MY_TERM_ID - ,@WHO) + ,@WHO); END ELSE - UPDATE TBIDB_OBJECT_METADATA SET [DATETIME_TERM_ID] = @MY_TERM_ID, CHANGED_WHO = @WHO WHERE IDB_OBJ_ID = @IDB_OBJ_ID AND ATTR_ID = @ATTR_ID - - SELECT @OMD_ID = GUID FROM TBIDB_OBJECT_METADATA WHERE IDB_OBJ_ID = @IDB_OBJ_ID AND ATTR_ID = @ATTR_ID AND DATE_TERM_ID = @MY_TERM_ID + UPDATE TBIDB_OBJECT_METADATA SET [DATETIME_TERM_ID] = @MY_TERM_ID, CHANGED_WHO = @WHO WHERE IDB_OBJ_ID = @IDB_OBJ_ID AND ATTR_ID = @ATTR_ID; + EXEC PRIDB_OBJECT_CHANGED_SUBSTRUCTURE @IDB_OBJ_ID,@WHO; + SELECT @OMD_ID = GUID FROM TBIDB_OBJECT_METADATA WHERE IDB_OBJ_ID = @IDB_OBJ_ID AND ATTR_ID = @ATTR_ID AND DATE_TERM_ID = @MY_TERM_ID; END --PRINT 'PRIDB_NEW_OBJ_DATA - Got the new @OMD_ID: ' + CONVERT(VARCHAR(20),@OMD_ID) END GO - - -CREATE OR ALTER PROCEDURE [dbo].[PRIDB_CREATE_VIEW_DOC_DATA] @pLANGCODE VARCHAR(5) ,@pVar VARCHAR(15) = 'DEFAULT' +ALTER PROCEDURE [dbo].[PRIDB_CREATE_VIEW_DOC_DATA] @pLANGCODE VARCHAR(5) ,@pVar VARCHAR(15) = 'DEFAULT' AS DECLARE @ATTR_ID INT, @@ -4037,6 +4160,8 @@ DECLARE SET @SQL1 += +'T.IDB_OBJ_ID' + char(10) ELSE SET @SQL1 += +'T.IDB_OBJ_ID as DocID' + char(10) + + SET @SQL1 += char(9) + ',DT.Doctype as Doctype' + char(10) BEGIN DECLARE c_PRIDB_CREATE_VIEW_DOC_DATA CURSOR FOR SELECT DISTINCT ATTR_ID,ATTR_TITLE,TYPE_ID,VIEW_SEQUENCE @@ -4097,19 +4222,23 @@ BEGIN END SET @SQL1 += char(9) + ',T.ADDED_WHEN AS [Added when]' + char(10) + char(9) + ',T.ADDED_WHO AS [Added who]' + char(10) - + char(9) + ',T.CHANGED_WHEN AS [Changed when]' + char(10) - + char(9) + ',T.CHANGED_WHO AS [Changed who]' + char(10) + + char(9) + ',T.CHANGED_WHEN_SUBSTRUCTURE AS [Changed when]' + char(10) + + char(9) + ',T.CHANGED_WHO_SUBSTRUCTURE AS [Changed who]' + char(10) SET @SQL1 += 'FROM' + char(10) IF @pVar = 'DEFAULT' SET @SQL1 += char(9)+'TBIDB_OBJECT T INNER JOIN TBIDB_FILE_OBJECT T2 ON T.IDB_OBJ_ID = T2.IDB_OBJ_ID' + char(10) + + char(9) + 'INNER JOIN VWIDB_DOC_DOCTYPE DT ON T.IDB_OBJ_ID = DT.IDB_OBJ_ID' + char(10) + char(9) + 'INNER JOIN TBIDB_OBJECT_STORE T3 ON T2.OBJ_ST_ID = T3.GUID' + char(10) + char(9) + 'INNER JOIN TBIDB_TERM_VALUE_VARCHAR T4 ON T2.RELPATH_TERM_ID = T4.GUID' + char(10) + char(9) + 'INNER JOIN TBIDB_TERM_VALUE_VARCHAR T5 ON T2.FILENAME_TERM_ID = T5.GUID' + char(10) ELSE SET @SQL1 += char(9) + 'TBIDB_OBJECT T ' + char(10) + + char(9) + 'INNER JOIN VWIDB_DOC_DOCTYPE DT ON T.IDB_OBJ_ID = DT.IDB_OBJ_ID' + char(10) - SET @SQL1 += 'WHERE ' + char(10) + char(9) + 'T.KIND_TYPE_ID = 1 AND T.DELETED = 0 AND T.ACTIVE = 1' + SET @SQL1 += 'WHERE' + char(10) + + char(9) + 'DT.LANG_CODE = ''' + @pLANGCODE + ''' AND' + char(10) + + char(9) + 'T.KIND_TYPE_ID = 1 AND T.DELETED = 0 AND T.ACTIVE = 1' PRINT @SQL1 IF EXISTS (SELECT * FROM INFORMATION_SCHEMA.VIEWS WHERE TABLE_NAME = @NAME_VIEW + UPPER(LEFT(@pLANGCODE,2))) BEGIN @@ -4120,7 +4249,6 @@ BEGIN EXEC sp_executesql @SQL1 END GO -GO --EXEC PRIDB_CREATE_VIEW_DOC_DATA 'de-DE','DEFAULT' --GO --EXEC PRIDB_CREATE_VIEW_DOC_DATA 'de-DE','' @@ -4913,44 +5041,68 @@ GO -- ,@WHO_TERM_ID FROM TBIDB_USER_SEARCH_CRITERIA WHERE USERID = @pUserID AND SEARCH_PROFIL_ID = @pSEARCHID --END --GO --- ============================================= --- Author: DD MS 15.03.2021 --- Change date: --- ============================================= -CREATE OR ALTER PROCEDURE [dbo].[PRIDB_NEW_OBJECT] @KIND_TYPE VARCHAR(20),@WHO VARCHAR(100),@IDB_DOCTYPE_ID INTEGER,@FOREIGN_REFID Bigint = 0, @IDB_OBJ_ID BIGINT OUTPUT +ALTER PROCEDURE [dbo].[PRIDB_NEW_OBJECT] @KIND_TYPE VARCHAR(20),@WHO VARCHAR(100),@FOREIGN_REFID Bigint = 0,@PARENT_OBJ_ID BIGINT = 0, @IDB_OBJ_ID BIGINT OUTPUT AS BEGIN DECLARE @KINDTYPE_ID TINYINT - SELECT @KINDTYPE_ID = GUID FROM TBIDB_OBJECT_KIND WHERE UPPER(KIND_NAME) = UPPER(@KIND_TYPE); + SELECT @KINDTYPE_ID = GUID FROM TBIDB_OBJECT_KIND WHERE KIND_NAME = @KIND_TYPE; IF @FOREIGN_REFID <> 0 - IF EXISTS(SELECT IDB_OBJ_ID FROM TBIDB_OBJECT WHERE REFERENCE_KEY = @FOREIGN_REFID) - SELECT @IDB_OBJ_ID = IDB_OBJ_ID FROM TBIDB_OBJECT WHERE REFERENCE_KEY = @FOREIGN_REFID - ELSE - BEGIN - INSERT INTO [dbo].[TBIDB_OBJECT] - ([KIND_TYPE_ID],[REFERENCE_KEY],[ADDED_WHO]) VALUES (@KINDTYPE_ID,@FOREIGN_REFID,@WHO) - END + BEGIN + IF EXISTS(SELECT IDB_OBJ_ID FROM TBIDB_OBJECT WHERE REFERENCE_KEY = @FOREIGN_REFID) + SELECT @IDB_OBJ_ID = IDB_OBJ_ID FROM TBIDB_OBJECT WHERE REFERENCE_KEY = @FOREIGN_REFID + ELSE + BEGIN + INSERT INTO [dbo].[TBIDB_OBJECT] + ([KIND_TYPE_ID],[REFERENCE_KEY],PARENT_OBJ_ID,[ADDED_WHO]) VALUES (@KINDTYPE_ID,@FOREIGN_REFID,@PARENT_OBJ_ID,@WHO); + END + END ELSE BEGIN INSERT INTO [dbo].[TBIDB_OBJECT] - ([KIND_TYPE_ID],[ADDED_WHO]) VALUES (@KINDTYPE_ID,@WHO); + ([KIND_TYPE_ID],[REFERENCE_KEY],PARENT_OBJ_ID,[ADDED_WHO]) VALUES (@KINDTYPE_ID,@FOREIGN_REFID,@PARENT_OBJ_ID,@WHO); END SELECT @IDB_OBJ_ID = MAX(IDB_OBJ_ID) FROM TBIDB_OBJECT WHERE ADDED_WHO = @WHO; - INSERT INTO TBIDB_OBJECT_BE (IDB_OBJ_ID,BE_ID, ADDED_WHO) - SELECT @IDB_OBJ_ID,BE_ID,@WHO FROM TBIDB_DOCTYPE_BE WHERE DOCTYPE_ID = @IDB_DOCTYPE_ID; +END +GO +-- ============================================= +-- Author: DD MS +-- ============================================= +CREATE OR ALTER PROCEDURE [dbo].[PRIDB_NEW_DOC_DOCTYPE] @pIDB_OBJ_ID BIGINT,@pDoctypeID INTEGER, @pWHO VARCHAR(100) +AS +BEGIN + + IF NOT EXISTS(SELECT GUID FROM TBIDB_OBJECT_STRUCTURE_TYPE WHERE IDB_OBJ_ID = @pIDB_OBJ_ID AND STRUCTURE_ID = 1 AND RELATION_ID = @pDoctypeID ) + INSERT INTO TBIDB_OBJECT_STRUCTURE_TYPE (IDB_OBJ_ID,STRUCTURE_ID,RELATION_ID,ADDED_WHO) VALUES (@pIDB_OBJ_ID,1 ,@pDoctypeID,@pWHO); + UPDATE TBIDB_OBJECT_STRUCTURE_TYPE SET RELATION_ID = @pDoctypeID,CHANGED_WHO = @pWHO + WHERE + IDB_OBJ_ID = @pIDB_OBJ_ID AND STRUCTURE_ID = 1 + AND RELATION_ID <> @pDoctypeID; + EXEC PRIDB_OBJECT_CHANGED_SUBSTRUCTURE @pIDB_OBJ_ID,@pWHO +END +GO +-- ============================================= +-- Author: DD MS +-- ============================================= +CREATE OR ALTER PROCEDURE [dbo].[PRIDB_OBJECT_CHANGED_SUBSTRUCTURE] @pIDB_OBJ_ID BIGINT,@pWHO VARCHAR(100) +AS +BEGIN + + UPDATE TBIDB_OBJECT SET + CHANGED_WHEN_SUBSTRUCTURE = GETDATE() + ,CHANGED_WHO_SUBSTRUCTURE = @pWHO WHERE IDB_OBJ_ID = @pIDB_OBJ_ID END GO -- ============================================= -- Author: DD MS 15.03.2021 -- Change: 13.07.2021 Filesize -- ============================================= -CREATE PROCEDURE [dbo].[PRIDB_NEW_IDBFO] @REL_PATH VARCHAR(512),@FILE_NAME VARCHAR(200),@FILE_EXT VARCHAR(10), @FILE_SIZE BIGINT, @FILE_HASH VARCHAR(500), - @WHO VARCHAR(100), @IDB_OBJ_ID BIGINT,@OBJ_ST_ID INT +CREATE OR ALTER PROCEDURE [dbo].[PRIDB_NEW_IDBFO] @REL_PATH VARCHAR(512),@FILE_NAME VARCHAR(200),@FILE_EXT VARCHAR(10), @FILE_SIZE BIGINT, @FILE_HASH VARCHAR(500), + @WHO VARCHAR(100), @IDB_OBJ_ID BIGINT,@OBJ_ST_ID INT,@IDB_DOCTYPE_ID INTEGER AS BEGIN DECLARE @@ -4969,7 +5121,11 @@ BEGIN --SELECT @FILENAME_ONLY = [dbo].[FNGetFileNameWithoutExtension] (@REL_PATH); --SELECT @EXT = UPPER([dbo].[FNGetExtension] (@REL_PATH)); --PRINT 'PRIDB_NEW_IDBFO: ' + @REL_PATH - + INSERT INTO TBIDB_OBJECT_BE (IDB_OBJ_ID,BE_ID, ADDED_WHO) + SELECT @IDB_OBJ_ID,BE_ID,@WHO FROM TBIDB_DOCTYPE_BE WHERE DOCTYPE_ID = @IDB_DOCTYPE_ID; + --ADD THE DOCTYPE + EXEC PRIDB_NEW_DOC_DOCTYPE @IDB_OBJ_ID,@IDB_DOCTYPE_ID, @WHO; + BEGIN IF NOT EXISTS(SELECT IDB_OBJ_ID FROM TBIDB_FILE_OBJECT WHERE IDB_OBJ_ID = @IDB_OBJ_ID) INSERT INTO [dbo].[TBIDB_FILE_OBJECT] @@ -5298,7 +5454,7 @@ GO -- Changed: 01.11.2021 MS TERM_COLUMNS -- Changed: 10.08.2020 MS Anpassung -- ============================================= -CREATE PROCEDURE [dbo].[PRIDB_NEW_DOCUMENT] @OBJ_ST_ID INT, @REL_PATH VARCHAR(512),@WHO VARCHAR(100), @REF_DOCID BIGINT = 0, @BE VARCHAR(500) = '', @IDB_OBJ_ID BIGINT OUTPUT +CREATE OR ALTER PROCEDURE [dbo].[PRIDB_NEW_DOCUMENT] @OBJ_ST_ID INT, @REL_PATH VARCHAR(512),@WHO VARCHAR(100), @REF_DOCID BIGINT = 0, @BE VARCHAR(500) = '', @IDB_OBJ_ID BIGINT OUTPUT AS BEGIN DECLARE @@ -5333,7 +5489,7 @@ BEGIN EXECUTE [dbo].[PRIDB_NEW_TERM] 'Varchar',@EXT,@WHO, @TERM_ID = @EXTENSION_TERM OUTPUT --PRINT '@EXT: ' + @EXT --IF NOT EXISTS(SELECT [IDB_OBJ_ID] FROM [TBIDB_DOC_INFO] WHERE [OBJ_ST_ID] = @OBJ_ST_ID AND UPPER([RELATIVE_PATH]) = @RELATIVE_PATH) - EXEC PRIDB_NEW_OBJECT 'DOC',@WHO,@BE,@REF_DOCID, @IDB_OBJ_ID = @IDB_OBJ_ID OUTPUT; + EXEC PRIDB_NEW_OBJECT 'DOC',@WHO,@BE,@REF_DOCID, 0,@IDB_OBJ_ID = @IDB_OBJ_ID OUTPUT; PRINT 'PRIDB_NEW_DOCUMENT - @IDB_OBJ_ID from PRIDB_NEW_OBJECT: ' + CONVERT(VARCHAR(20),@IDB_OBJ_ID) BEGIN IF NOT EXISTS(SELECT IDB_OBJ_ID FROM [TBIDB_DOC_INFO] WHERE IDB_OBJ_ID = @IDB_OBJ_ID) @@ -5441,10 +5597,69 @@ BEGIN END GO +-- ============================================= +-- Author: DD MS +-- Changed: +-- ============================================= +CREATE PROCEDURE PRIDB_NEW_DYNAMIC_FOLDER_FOR_OBJECT @pIDB_OBJ_ID BIGINT, @pDYNAMIC_FOLDER VARCHAR(900),@pWHO VARCHAR(100),@pLANG_CODE VARCHAR(5) +AS +DECLARE + @FOLD_PART VARCHAR(250) +BEGIN + DECLARE @FOLDER_DEPTH TINYINT,@FOLDER_PART VARCHAR(900) + SET @FOLDER_DEPTH = 0 + DECLARE @PARENT_OBJ_ID BIGINT + --SPLIT FOR FOLDER PARTS + DECLARE cursSplitFolder CURSOR FOR + SELECT Item FROM [dbo].[FN_SPLIT_STRING] (@pDYNAMIC_FOLDER,'\') + OPEN cursSplitFolder + FETCH NEXT FROM cursSplitFolder INTO @FOLD_PART + WHILE @@FETCH_STATUS = 0 + BEGIN + --EACH FOLDER PART WORKED SEPERATELY + IF @FOLDER_DEPTH = 0 + BEGIN + SET @PARENT_OBJ_ID = 0 + SET @FOLDER_PART = @FOLD_PART + END + ELSE + BEGIN + SET @FOLDER_PART += '\' + @FOLD_PART + END + PRINT '##############################' + PRINT '@FOLDER_PART: ' + @FOLDER_PART + DECLARE @PATH_PART_ID BIGINT,@FOLDER_PART_ID BIGINT + EXEC PRIDB_NEW_TERM 'VARCHAR',@FOLD_PART,@pWHO,@TERM_ID = @PATH_PART_ID OUTPUT; + --EXEC PRIDB_NEW_TERM 'VARCHAR',@FOLDER_PART,'DD MS',@TERM_ID = @FOLDER_PART_ID OUTPUT; + DECLARE @FOLD_PART_IDB_OBJ_ID BIGINT + IF NOT EXISTS(SELECT * FROM VWIDB_STRUCTURE_NODES WHERE TERM_GUID = @PATH_PART_ID AND PARENT_OBJ_ID = @PARENT_OBJ_ID) + BEGIN + PRINT 'FOLDER-PART ' + @FOLD_PART + ' muss angelegt werden' + EXEC PRIDB_NEW_OBJECT 'DYNAMIC_FOLDER',@pWHO,0, @PARENT_OBJ_ID, @IDB_OBJ_ID = @FOLD_PART_IDB_OBJ_ID OUTPUT; + DECLARE @NEW_OBJ_MD_ID BIGINT + EXEC PRIDB_NEW_OBJ_DATA @FOLD_PART_IDB_OBJ_ID, 'VIRTUAL_FOLDER_PART', @pWHO, @FOLD_PART, @pLANG_CODE, 0, @OMD_ID = @NEW_OBJ_MD_ID OUTPUT + END + ELSE + BEGIN + SELECT @FOLD_PART_IDB_OBJ_ID = MAX(IDB_OBJ_ID) FROM VWIDB_STRUCTURE_NODES WHERE TERM_GUID = @PATH_PART_ID AND PARENT_OBJ_ID = @PARENT_OBJ_ID + PRINT 'FOLDER-PART ' + @FOLD_PART + ' EXISTIERT BEREITS' + END + SET @PARENT_OBJ_ID = @FOLD_PART_IDB_OBJ_ID + + SET @FOLDER_DEPTH += 1 + FETCH NEXT FROM cursSplitFolder INTO @FOLD_PART + END + CLOSE cursSplitFolder + DEALLOCATE cursSplitFolder + + IF NOT EXISTS(SELECT GUID FROM TBIDB_OBJECT_DYNAMIC_FOLDER WHERE IDB_OBJ_ID = @pIDB_OBJ_ID AND DYN_FOLD_ID = @FOLD_PART_IDB_OBJ_ID) + INSERT INTO TBIDB_OBJECT_DYNAMIC_FOLDER (IDB_OBJ_ID,DYN_FOLD_ID,ADDED_WHO) VALUES (@pIDB_OBJ_ID,@FOLD_PART_IDB_OBJ_ID,@pWHO); +END +GO -INSERT INTO TBIDB_ATTRIBUTE (TITLE,TYP_ID,SYS_ATTRIBUTE) VALUES ('Doctype',1,1); +--INSERT INTO TBIDB_ATTRIBUTE (TITLE,TYP_ID,SYS_ATTRIBUTE) VALUES ('Doctype',1,1); INSERT INTO TBIDB_ATTRIBUTE (TITLE,TYP_ID,SYS_ATTRIBUTE) VALUES ('OriginFileName',1,1); INSERT INTO TBIDB_ATTRIBUTE (TITLE,TYP_ID,SYS_ATTRIBUTE) VALUES ('OriginCreationDatetime',6,1); INSERT INTO TBIDB_ATTRIBUTE (TITLE,TYP_ID,SYS_ATTRIBUTE) VALUES ('OriginChangedDatetime',6,1); @@ -5456,6 +5671,8 @@ INSERT INTO TBIDB_ATTRIBUTE (TITLE,TYP_ID,SYS_ATTRIBUTE) VALUES ('EmailSubject', INSERT INTO TBIDB_ATTRIBUTE (TITLE,TYP_ID,SYS_ATTRIBUTE) VALUES ('EmailFrom',1,1); INSERT INTO TBIDB_ATTRIBUTE (TITLE,TYP_ID,SYS_ATTRIBUTE) VALUES ('EmailDate',5,1); INSERT INTO TBIDB_ATTRIBUTE (TITLE,TYP_ID,SYS_ATTRIBUTE,MULTI_CONTEXT) VALUES ('PM-LOGGING',8,0,1); +INSERT INTO TBIDB_ATTRIBUTE (TITLE,TYP_ID,SYS_ATTRIBUTE) VALUES ('VIRTUAL_FOLDER',1,1); +INSERT INTO TBIDB_ATTRIBUTE (TITLE,TYP_ID,SYS_ATTRIBUTE) VALUES ('VIRTUAL_FOLDER_PART',1,1); --INSERT INTO TBIDB_ATTRIBUTE (TITLE,TYP_ID,SYS_ATTRIBUTE,MULTI_CONTEXT) VALUES ('ObjectEvents',1,1,1); INSERT INTO TBIDB_BE_ATTRIBUTE (BE_ID,ATTR_ID,DEFAULT_SEARCH_ATTRIBUTE) SELECT 1,GUID, 1 FROM TBIDB_ATTRIBUTE WHERE TITLE NOT IN ('PM-LOGGING','ObjectEvents') ; @@ -5478,7 +5695,7 @@ BEGIN @USRID,'GLOBIX_DROPAREA','PROGRESSIVE','System'); END GO -ALTER PROCEDURE [dbo].[PRIDB_NEW_DOCTYPE] @pDoctypeUnique VARCHAR(100),@pDoctype_Lang VARCHAR(100),@pWHO VARCHAR(100),@LANG_CODE VARCHAR(5) = 'de-DE' +CREATE OR ALTER PROCEDURE [dbo].[PRIDB_NEW_DOCTYPE] @pDoctypeUnique VARCHAR(100),@pDoctype_Lang VARCHAR(100),@pWHO VARCHAR(100),@LANG_CODE VARCHAR(5) = 'de-DE' AS BEGIN DECLARE @@ -5520,7 +5737,7 @@ BEGIN IF EXISTS(SELECT GUID FROM TBIDB_LANGUAGE_TERM WHERE OBJECT_ID = @DOCTYPE_ID AND LANG_ID = @LANG_ID AND TERM_ID <> @MY_DOCTYPE_TERM_ID AND KIND_TYPE = 2) BEGIN UPDATE [dbo].[TBIDB_LANGUAGE_TERM] SET TERM_ID = @MY_DOCTYPE_TERM_ID, CHANGED_WHO = @WHO_TERM_ID - WHERE OBJECT_ID = @DOCTYPE_ID AND LANG_ID = @LANG_ID AND KIND_TYPE = 2; + WHERE OBJECT_ID = @DOCTYPE_ID AND LANG_ID = @LANG_ID AND KIND_TYPE = 2 AND TERM_ID <> @MY_DOCTYPE_TERM_ID; END END diff --git a/00_IDB/Search_Logic.sql b/00_IDB/Search_Logic.sql new file mode 100644 index 0000000000000000000000000000000000000000..909ace0ea44c9765ac58f629be1d4c92ebf106a5 GIT binary patch literal 13232 zcmeHOYik=v6un?f1DTz%8OCN!j2I|Hw^izL&+jHjb z)y%GDceN`e@e3hkA2WCE``$U@{P*vt@`>!oNM^Dxr;@nO39crxhbKdMj_Z9qeI-B3 zkMg^`mOidI;s|edC6y`O@8EtLtOD+&Yyw~*O+2{B3*eZ7kDzoyVTK1 zc?JvVNV{;3>etj>5bUzs~jc&a*{x_@^;;n2y+ryFj} z9&|(QN&BhOit18%TjbHpxPkFQIR}SR`5siLO5Nj=GrxFX4l)nbER=42Y5#7ms$0#{3^eJCu;GYe1UJr>1_kL;v7m9 z(~;^ukw0BgXNofKx_7-sZ~T>p6e) zypfZiUUGo(6Bh+D#9%xU!?@G9WZa}K?ljh4B4T+(iuq`yHj6R(wbM;#NAfeyqSwJY(%)6P57~LA_-DvD;7Sy?# zg~)yA+eO(a2d#PljcAsxa-FUc+H!er^Bl#wF6J$A%?h)NU(N8$*iHG@ ztTBMKn)&tSTmvDuq4dm%VWu@ZGkS(uJZz#~e14@r$~F0VhT%QjqaHS%PuDn+iq zUR&RVdeyJErMv_Gp`yl3?1X-+kcT}veRoU)A zwpXC9(|?LJ()jCTR_}w$AwJxdr5Sf)mp`63O6BuAutf9xW$Ux5Ywl7yyjz{;Z{91< z+Y3CK{BghDfL47iw!HxNqgDP+-(^R=2Y=xnm^qNPnZaVz-gyuK%T>UlPnZpcj*|n_ z45eG`6FryDXKpNc>Ovc|8lz=v?g?>CtSb9C)?*jO7`m!DsLOJz>VWl%I(VFEV0y*; zKx6OmnmvJ*XWnN#5H(^APx<|L zlYYUx*7M=@*fugk3T?%ZbdWZ+VPm7%x=$Qb=++QMgVv*8L65}>R ze*B)a-&!O7=?;ml(}9r&g<>=P!Vd8K3G&X~Cn2VflEDq4FA~jD9=W<6jrB=4eK!N7yZI zhFQKGw>QLh2MDsCNhvhL+Os0Q9O9J9GbtES{Bbc}<;QC19op+_Q#o2&w+FpLd+qOg ztT(+aXm5&~wTMgHF0{9~4&FCj_K@Y(Go%p95%u*#B?@yz_}3QPA?hws ftpACXw*}t literal 0 HcmV?d00001 diff --git a/00_IDB/Search_TEST.sql b/00_IDB/Search_TEST.sql new file mode 100644 index 0000000000000000000000000000000000000000..a992f05816730208c7a4fb87ef5ed5a14e5d4ae9 GIT binary patch literal 110 zcmW;DF$#b%5Jb^m3*NylAU4)k8iNWJk|?B0rC{s*QAdl}*|)II?T9!m1q+^uo{mJ& mt(7gKv`SGkF=+eRs{