Skip to content
Snippets Groups Projects
Select Git revision
  • 6cf1905b0ee39db1d75efa2c615ca1c307761c42
  • 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

getFile.sql

  • Code owners
    Assign users and groups as approvers for specific file changes. Learn more.
    getFile.sql 1.87 KiB
    /*
     * ** header v3.0
     * This file is a part of the CaosDB Project.
     *
     * Copyright (C) 2018 Research Group Biomedical Physics,
     * Max-Planck-Institute for Dynamics and Self-Organization Göttingen
     *
     * 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/>.
     *
     * ** end header
     */
    #-- getFile(ID);
    #-- 
    #-- 
    #-- FileID,
    #-- FilePath,
    #-- FileSize,
    #-- FileHash,
    #-- FileDescription,
    #-- FileCreated,
    #-- FileCreator,
    #-- FileGenerator,
    #-- FileOwner,
    #-- FilePermission,
    #-- FileChecksum
    
    Drop Procedure if exists db_2_0.getFile;
    Delimiter //
    Create Procedure db_2_0.getFile (in FileID INT)
    BEGIN 
    
    Select name, description, role into @name, @description, @role from entities where id=FileID LIMIT 1;
    
    IF @role = 'file' Then
    		Select path, hash, size into @FilePath, @FileHash, @FileSize from files where file_id=FileID LIMIT 1;
    		Select timestamp, user_id, user_agent into @FileCreated, @FileCreator, @FileGenerator from history where entity_id=FileID AND event='insertion' LIMIT 1;
    
    Select 
    FileID as FileID,
    @FilePath as FilePath,
    @FileSize as FileSize,
    @FileHash as FileHash,
    @FileDescription as FileDescription,
    @FileCreated as FileCreated,
    @FileCreator as FileCreator,
    @FileGenerator as FileGenerator,
    NULL	as FileOwner,
    NULL as FilePermission,
    NULL as FileChecksum;
    
    END IF;
    
    END;
    //
    delimiter ;