Skip to content
Snippets Groups Projects
Select Git revision
  • 740552ae6065ec1b560c7753d237c6c846b13a34
  • main default protected
  • dev protected
  • f-linkahead-rename
  • f-real-id
  • f-filesystem-import
  • f-filesystem-link
  • f-filesystem-directory
  • f-filesystem-core
  • f-filesystem-cleanup
  • f-filesystem-main
  • f-name
  • keep_changes
  • f-permission-checks-2
  • f-mysql8-tests
  • f-retrieve-history
  • t-distinct-parents
  • v8.1.0
  • v8.0.0
  • v7.0.2
  • v7.0.1
  • v7.0.0
  • v6.0.1
  • v6.0.0
  • v5.0.0
  • v4.1.0
  • v4.0.0
  • v3.0
  • v2.0.30
29 results

entityVersioning.sql

Blame
  • 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 ;