|
1 <stránka |
|
2 xmlns="https://trac.frantovo.cz/xml-web-generator/wiki/xmlns/strana" |
|
3 xmlns:m="https://trac.frantovo.cz/xml-web-generator/wiki/xmlns/makro"> |
|
4 |
|
5 <nadpis>Release v0.14</nadpis> |
|
6 <perex>sixth public release of Relational pipes</perex> |
|
7 <m:release>v0.14</m:release> |
|
8 |
|
9 <text xmlns="http://www.w3.org/1999/xhtml"> |
|
10 <p> |
|
11 We are pleased to introduce you the new development version of <m:name/>. |
|
12 This release brings the Bash completion scripts, improved SQL and AWK transformations and fixes the license version. |
|
13 </p> |
|
14 |
|
15 <ul> |
|
16 <li> |
|
17 <strong>Bash completion</strong>: |
|
18 thanks to the Bash completion scripts, the shell now suggests/completes the CLI arguments of these commands: |
|
19 <code>relpipe-in-filesystem</code>, |
|
20 <code>relpipe-in-xmltable</code>, |
|
21 <code>relpipe-tr-awk</code>, |
|
22 <code>relpipe-tr-guile</code>, |
|
23 <code>relpipe-tr-sql</code>, |
|
24 <code>relpipe-in-sql</code>. |
|
25 </li> |
|
26 |
|
27 <li> |
|
28 <strong>Improved SQL transformation</strong>: |
|
29 the <code>relpipe-tr-sql</code> can now work also in the <code>relpipe-in-sql</code> mode (symlink to the same binary), |
|
30 so it can be used as an input filter for reading SQL scripts (instead of relational data) or as an SQLite client (options <code>--file</code> and <code>--file-keep</code>, see examples). |
|
31 There are also new options <code>--copy</code> and <code>--copy-renamed</code> for copying particular (or all) relations from the input to the output. |
|
32 Such relations are specified by a regular expression and can be renamed using regular expressions replacement string. |
|
33 </li> |
|
34 |
|
35 <li> |
|
36 <strong>Improved AWK transformation</strong>: |
|
37 this tool now supports the <code>--where</code> option, which can be used in addition to the more generic <code>--for-each</code> option. |
|
38 The argument syntax now better expresses the intention (filtering records) and matches the syntax of the <code>relpipe-tr-guile</code> tool. |
|
39 </li> |
|
40 |
|
41 <li> |
|
42 <strong>GNU GPLv3 license</strong>: the license version is now fixed to version 3. In the future, we can upgrade the license. |
|
43 </li> |
|
44 |
|
45 </ul> |
|
46 |
|
47 <p> |
|
48 See the <m:a href="examples">examples</m:a> and <m:a href="screenshots">screenshots</m:a> pages for details. |
|
49 </p> |
|
50 |
|
51 <p> |
|
52 Please note that this is still a development relasease and thus the API (libraries, CLI arguments, formats) might and will change. |
|
53 Any suggestions, ideas and bug reports are welcome in our <m:a href="contact">mailing list</m:a>. |
|
54 </p> |
|
55 |
|
56 <h3>Data types</h3> |
|
57 <ul> |
|
58 <li m:since="v0.8">boolean</li> |
|
59 <li m:since="v0.8">variable unsigned integer (prototype)</li> |
|
60 <li m:since="v0.8">string in UTF-8</li> |
|
61 </ul> |
|
62 <h3>Inputs</h3> |
|
63 <ul> |
|
64 <li m:since="v0.11">Recfile</li> |
|
65 <li m:since="v0.9">XML</li> |
|
66 <li m:since="v0.13">XMLTable</li> |
|
67 <li m:since="v0.9">CSV</li> |
|
68 <li m:since="v0.9">file system</li> |
|
69 <li m:since="v0.8">CLI</li> |
|
70 <li m:since="v0.8">fstab</li> |
|
71 <li m:since="v0.14">SQL script</li> |
|
72 </ul> |
|
73 <h3>Transformations</h3> |
|
74 <ul> |
|
75 <li m:since="v0.13">sql: filtering and transformations using the SQL language</li> |
|
76 <li m:since="v0.12">awk: filtering and transformations using the classic AWK tool and language</li> |
|
77 <li m:since="v0.10">guile: filtering and transformations defined in the Scheme language using GNU Guile</li> |
|
78 <li m:since="v0.8">grep: regular expression filter, removes unwanted records from the relation</li> |
|
79 <li m:since="v0.8">cut: regular expression attribute cutter (removes or duplicates attributes and can also DROP whole relation)</li> |
|
80 <li m:since="v0.8">sed: regular expression replacer</li> |
|
81 <li m:since="v0.8">validator: just a pass-through filter that crashes on invalid data</li> |
|
82 <li m:since="v0.8">python: highly experimental</li> |
|
83 </ul> |
|
84 <h3>Outputs</h3> |
|
85 <ul> |
|
86 <li m:since="v0.11">ASN.1 BER</li> |
|
87 <li m:since="v0.11">Recfile</li> |
|
88 <li m:since="v0.9">CSV</li> |
|
89 <li m:since="v0.8">tabular</li> |
|
90 <li m:since="v0.8">XML</li> |
|
91 <li m:since="v0.8">nullbyte</li> |
|
92 <li m:since="v0.8">GUI in Qt</li> |
|
93 <li m:since="v0.8">ODS (LibreOffice)</li> |
|
94 </ul> |
|
95 |
|
96 <p> |
|
97 Instalation was tested on Debian GNU/Linux 9.6. |
|
98 The process should be similar on other distributions. |
|
99 </p> |
|
100 |
|
101 <m:pre src="examples/release-v0.14.sh" jazyk="bash" odkaz="ano"/> |
|
102 |
|
103 <p> |
|
104 <m:name/> are modular thus you can download and install only parts you need (the libraries are needed always). |
|
105 Tools <code>out-gui.qt</code> and <code>tr-python</code> require additional libraries and are not built by default. |
|
106 </p> |
|
107 |
|
108 <p> |
|
109 The module <code>relpipe-in-filesystem</code> uses C++ filesystem API which is supported since GCC 8. |
|
110 This module can be compiled and seems usable even with GCC 6, but requires some patching (switch to the experimental API): |
|
111 </p> |
|
112 |
|
113 <m:pre jazyk="bash"><![CDATA[sed 's@#include <filesystem>@#include <experimental/filesystem>@g' -i "$RELPIPE_SRC"/relpipe-in-filesystem.cpp/src/FileAttributeFinder.h "$RELPIPE_SRC"/relpipe-in-filesystem.cpp/src/XattrAttributeFinder.h "$RELPIPE_SRC"/relpipe-in-filesystem.cpp/src/FilesystemCommand.h "$RELPIPE_SRC"/relpipe-in-filesystem.cpp/src/AttributeFinder.h |
|
114 sed 's@std::filesystem@std::experimental::filesystem@g' -i "$RELPIPE_SRC"/relpipe-in-filesystem.cpp/src/FileAttributeFinder.h "$RELPIPE_SRC"/relpipe-in-filesystem.cpp/src/XattrAttributeFinder.h "$RELPIPE_SRC"/relpipe-in-filesystem.cpp/src/FilesystemCommand.h "$RELPIPE_SRC"/relpipe-in-filesystem.cpp/src/AttributeFinder.h |
|
115 sed 's/.*PROPERTY CXX_STANDARD.*/#\0/g' -i "$RELPIPE_SRC"/relpipe-in-filesystem.cpp/src/CMakeLists.txt]]></m:pre> |
|
116 |
|
117 <p> |
|
118 The module <code>relpipe-tr-guile</code> uses GNU Guile 2.2 but can also work with 2.0. |
|
119 In such case, it requires this patch: |
|
120 </p> |
|
121 |
|
122 <m:pre jazyk="bash"><![CDATA[sed 's/guile-2\.2/guile-2.0/g' -i "$RELPIPE_SRC"/relpipe-tr-guile.cpp/src/CMakeLists.txt]]></m:pre> |
|
123 |
|
124 </text> |
|
125 |
|
126 </stránka> |