1#!/usr/bin/env cwl-runner
2### Table tuner tool (running VACUUM)
3# Copyright (c) 2021. Harvard University
4#
5# Developed by Research Software Engineering,
6# Faculty of Arts and Sciences, Research Computing (FAS RC)
7# Author: Michael A Bouzinier
8#
9# Licensed under the Apache License, Version 2.0 (the "License");
10# you may not use this file except in compliance with the License.
11# You may obtain a copy of the License at
12#
13# http://www.apache.org/licenses/LICENSE-2.0
14#
15# Unless required by applicable law or agreed to in writing, software
16# distributed under the License is distributed on an "AS IS" BASIS,
17# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
18# See the License for the specific language governing permissions and
19# limitations under the License.
20#
21
22cwlVersion: v1.2
23class: CommandLineTool
24baseCommand: [python, -m, dorieh.platform.loader.vacuum]
25requirements:
26 InlineJavascriptRequirement: {}
27
28doc: |
29 This tool runs VACUUM Aanalyze to make subsequent queries
30 more efficient
31
32inputs:
33 #$import: db.yaml
34 registry:
35 type:
36 - File?
37 - string?
38 inputBinding:
39 prefix: --registry
40 doc: |
41 A path to the data model file
42 domain:
43 type: string
44 doc: the name of the domain
45 inputBinding:
46 prefix: --domain
47 table:
48 type: string
49 doc: the name of the table
50 inputBinding:
51 prefix: --table
52 database:
53 type: File
54 doc: Path to database connection file, usually database.ini
55 inputBinding:
56 prefix: --db
57 connection_name:
58 type: string
59 doc: The name of the section in the database.ini file
60 inputBinding:
61 prefix: --connection
62 depends_on:
63 type:
64 - File?
65 - File[]
66 doc: a special field used to enforce dependencies and execution order
67
68
69outputs:
70 log:
71 type: File
72 outputBinding:
73 glob: "*.log"
74 errors:
75 type: stderr
76
77stderr: $("vacuum-" + inputs.table + ".err")