Select Git revision
entityVersioning.sql
-
Timm Fitschen authoredTimm Fitschen authored
Code owners
Assign users and groups as approvers for specific file changes. Learn more.
insertFSODescriptor.sql 2.43 KiB
/*
* This file is a part of the CaosDB Project.
*
* Copyright (C) 2022 IndiScale GmbH <info@indiscale.com>
* Copyright (C) 2022 Timm Fitschen <t.fitschen@indiscale
*
* 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 PROCEDURE IF EXISTS db_5_0.insertFSODescriptor //
/**
* Insert the VirtualFSODescriptor, i.e. only the id and special properties
* of such an entity.
*
* Parameters
* ----------
* EntityID : INT UNSIGNED,
* The entity id.
* FileHash VARCHAR(255),
* The value of the hash.
* FileHashAlgo VARCHAR(255),
* The algorithm used to calculate the hash value.
* FileCheckedTimestamp BIGINT,
* When the FSO has been checked for consistency.
* FileSize BIGINT UNSIGNED,
* Byte size of the file.
* FilePath VARCHAR(16000),
* The path of the FSO in the virtual file system.
* FileMimeType VARCHAR(255),
* The files mime type.
* FileStorageId VARCHAR(255),
* The id of the file storage where the blob of the file is stored.
* FileKey VARCHAR(16000))
* The key of the file in the file storage.
*
*/
CREATE PROCEDURE db_5_0.insertFSODescriptor(
IN EntityID INT UNSIGNED,
IN FileHash VARCHAR(255),
IN FileHashAlgo VARCHAR(255),
IN FileCheckedTimestamp BIGINT,
IN FileSize BIGINT UNSIGNED,
IN FilePath VARCHAR(16000),
IN FileMimeType VARCHAR(255),
IN FileStorageId VARCHAR(255),
IN FileKey VARCHAR(16000))
insertFSODescriptorBody: BEGIN
INSERT INTO files (
file_id,
hash,
hash_algorithm,
checked_timestamp,
size,
path,
mimetype,
file_storage_id,
file_key
/*, parent_directory*/
) VALUES (EntityID, unhex(FileHash), FileHashAlgo, FileCheckedTimestamp, FileSize, FilePath, FileMimeType, FileStorageId, FileKey);
END;
//
DELIMITER ;