You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@hop.apache.org by ha...@apache.org on 2021/07/19 19:58:46 UTC
[incubator-hop] branch master updated: HOP-2391 first batch of
samples for rdbms transforms
This is an automated email from the ASF dual-hosted git repository.
hansva pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/incubator-hop.git
The following commit(s) were added to refs/heads/master by this push:
new 0f0abd1 HOP-2391 first batch of samples for rdbms transforms
new 8dfd8a9 Merge pull request #948 from bamaer/HOP-2391
0f0abd1 is described below
commit 0f0abd19194cd58828b4094ad72f64439f45880f
Author: Bart Maertens <ba...@know.bi>
AuthorDate: Mon Jul 19 21:16:30 2021 +0200
HOP-2391 first batch of samples for rdbms transforms
---
.../src/main/samples/transforms/databaselookup.hpl | 189 ++++++++++++++++++
.../main/samples/transforms/insertupdate-basic.hpl | 215 +++++++++++++++++++++
.../samples/transforms/tableinput-accept-input.hpl | 160 +++++++++++++++
.../main/samples/transforms/tableinput-basic.hpl | 112 +++++++++++
.../samples/transforms/tableinput-variables.hpl | 120 ++++++++++++
.../main/samples/metadata/rdbms/hop-samples.json | 26 +++
.../main/samples/transforms/tableoutput-basic.hpl | 184 ++++++++++++++++++
7 files changed, 1006 insertions(+)
diff --git a/plugins/transforms/databaselookup/src/main/samples/transforms/databaselookup.hpl b/plugins/transforms/databaselookup/src/main/samples/transforms/databaselookup.hpl
new file mode 100644
index 0000000..dc15d00
--- /dev/null
+++ b/plugins/transforms/databaselookup/src/main/samples/transforms/databaselookup.hpl
@@ -0,0 +1,189 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+
+Licensed to the Apache Software Foundation (ASF) under one or more
+contributor license agreements. See the NOTICE file distributed with
+this work for additional information regarding copyright ownership.
+The ASF licenses this file to You under the Apache License, Version 2.0
+(the "License"); you may not use this file except in compliance with
+the License. You may obtain a copy of the License at
+
+ http://www.apache.org/licenses/LICENSE-2.0
+
+Unless required by applicable law or agreed to in writing, software
+distributed under the License is distributed on an "AS IS" BASIS,
+WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+See the License for the specific language governing permissions and
+limitations under the License.
+
+-->
+<pipeline>
+ <info>
+ <name>databaselookup</name>
+ <name_sync_with_filename>Y</name_sync_with_filename>
+ <description/>
+ <extended_description/>
+ <pipeline_version/>
+ <pipeline_type>Normal</pipeline_type>
+ <parameters>
+ </parameters>
+ <capture_transform_performance>N</capture_transform_performance>
+ <transform_performance_capturing_delay>1000</transform_performance_capturing_delay>
+ <transform_performance_capturing_size_limit>100</transform_performance_capturing_size_limit>
+ <created_user>-</created_user>
+ <created_date>2021/07/19 20:04:53.662</created_date>
+ <modified_user>-</modified_user>
+ <modified_date>2021/07/19 20:04:53.662</modified_date>
+ <key_for_session_key>H4sIAAAAAAAAAAMAAAAAAAAAAAA=</key_for_session_key>
+ <is_key_private>N</is_key_private>
+ </info>
+ <notepads>
+ <notepad>
+ <note>Looks up descriptions for an id in a database table </note>
+ <xloc>128</xloc>
+ <yloc>112</yloc>
+ <width>291</width>
+ <heigth>27</heigth>
+ <fontname>Noto Sans</fontname>
+ <fontsize>11</fontsize>
+ <fontbold>N</fontbold>
+ <fontitalic>N</fontitalic>
+ <fontcolorred>14</fontcolorred>
+ <fontcolorgreen>58</fontcolorgreen>
+ <fontcolorblue>90</fontcolorblue>
+ <backgroundcolorred>201</backgroundcolorred>
+ <backgroundcolorgreen>232</backgroundcolorgreen>
+ <backgroundcolorblue>251</backgroundcolorblue>
+ <bordercolorred>14</bordercolorred>
+ <bordercolorgreen>58</bordercolorgreen>
+ <bordercolorblue>90</bordercolorblue>
+ </notepad>
+ </notepads>
+ <order>
+ <hop>
+ <from>Test Data</from>
+ <to>Database lookup</to>
+ <enabled>Y</enabled>
+ </hop>
+ <hop>
+ <from>Database lookup</from>
+ <to>Output</to>
+ <enabled>Y</enabled>
+ </hop>
+ </order>
+ <transform>
+ <name>Database lookup</name>
+ <type>DBLookup</type>
+ <description/>
+ <distribute>Y</distribute>
+ <custom_distribution/>
+ <copies>1</copies>
+ <partitioning>
+ <method>none</method>
+ <schema_name/>
+ </partitioning>
+ <cache_size>0</cache_size>
+ <cache>N</cache>
+ <connection>hop-samples</connection>
+ <cache_load_all>N</cache_load_all>
+ <lookup>
+ <eat_row_on_failure>N</eat_row_on_failure>
+ <fail_on_multiple>N</fail_on_multiple>
+ <key>
+ <condition>=</condition>
+ <name>id</name>
+ <field>id</field>
+ </key>
+ <value>
+ <type>String</type>
+ <rename>description</rename>
+ <name>DESCRIPTION</name>
+ <trim_type>both</trim_type>
+ </value>
+ <table>DBLOOKUP</table>
+ </lookup>
+ <attributes/>
+ <GUI>
+ <xloc>368</xloc>
+ <yloc>176</yloc>
+ </GUI>
+ </transform>
+ <transform>
+ <name>Output</name>
+ <type>Dummy</type>
+ <description/>
+ <distribute>Y</distribute>
+ <custom_distribution/>
+ <copies>1</copies>
+ <partitioning>
+ <method>none</method>
+ <schema_name/>
+ </partitioning>
+ <attributes/>
+ <GUI>
+ <xloc>592</xloc>
+ <yloc>176</yloc>
+ </GUI>
+ </transform>
+ <transform>
+ <name>Test Data</name>
+ <type>DataGrid</type>
+ <description/>
+ <distribute>Y</distribute>
+ <custom_distribution/>
+ <copies>1</copies>
+ <partitioning>
+ <method>none</method>
+ <schema_name/>
+ </partitioning>
+ <fields>
+ <field>
+ <set_empty_string>N</set_empty_string>
+ <length>-1</length>
+ <name>id</name>
+ <precision>-1</precision>
+ <type>Integer</type>
+ </field>
+ </fields>
+ <data>
+ <line>
+ <item>1</item>
+ </line>
+ <line>
+ <item>2</item>
+ </line>
+ <line>
+ <item>3</item>
+ </line>
+ <line>
+ <item>4</item>
+ </line>
+ <line>
+ <item>5</item>
+ </line>
+ <line>
+ <item>6</item>
+ </line>
+ <line>
+ <item>7</item>
+ </line>
+ <line>
+ <item>8</item>
+ </line>
+ <line>
+ <item>9</item>
+ </line>
+ <line>
+ <item>10</item>
+ </line>
+ </data>
+ <attributes/>
+ <GUI>
+ <xloc>144</xloc>
+ <yloc>176</yloc>
+ </GUI>
+ </transform>
+ <transform_error_handling>
+ </transform_error_handling>
+ <attributes/>
+</pipeline>
diff --git a/plugins/transforms/insertupdate/src/main/samples/transforms/insertupdate-basic.hpl b/plugins/transforms/insertupdate/src/main/samples/transforms/insertupdate-basic.hpl
new file mode 100644
index 0000000..6991552
--- /dev/null
+++ b/plugins/transforms/insertupdate/src/main/samples/transforms/insertupdate-basic.hpl
@@ -0,0 +1,215 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+
+Licensed to the Apache Software Foundation (ASF) under one or more
+contributor license agreements. See the NOTICE file distributed with
+this work for additional information regarding copyright ownership.
+The ASF licenses this file to You under the Apache License, Version 2.0
+(the "License"); you may not use this file except in compliance with
+the License. You may obtain a copy of the License at
+
+ http://www.apache.org/licenses/LICENSE-2.0
+
+Unless required by applicable law or agreed to in writing, software
+distributed under the License is distributed on an "AS IS" BASIS,
+WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+See the License for the specific language governing permissions and
+limitations under the License.
+
+-->
+<pipeline>
+ <info>
+ <name>insertupdate-basic</name>
+ <name_sync_with_filename>Y</name_sync_with_filename>
+ <description/>
+ <extended_description/>
+ <pipeline_version/>
+ <pipeline_type>Normal</pipeline_type>
+ <parameters>
+ </parameters>
+ <capture_transform_performance>N</capture_transform_performance>
+ <transform_performance_capturing_delay>1000</transform_performance_capturing_delay>
+ <transform_performance_capturing_size_limit>100</transform_performance_capturing_size_limit>
+ <created_user>-</created_user>
+ <created_date>2021/07/19 19:37:21.103</created_date>
+ <modified_user>-</modified_user>
+ <modified_date>2021/07/19 19:37:21.103</modified_date>
+ <key_for_session_key>H4sIAAAAAAAAAAMAAAAAAAAAAAA=</key_for_session_key>
+ <is_key_private>N</is_key_private>
+ </info>
+ <notepads>
+ <notepad>
+ <note>Writes 7 lines of data to a table, 2 of which are updates to earlier records.
+Id is used as the key (unique identifier). Values for col_bool and col_string are updated, values for id and col_date aren't</note>
+ <xloc>112</xloc>
+ <yloc>64</yloc>
+ <width>667</width>
+ <heigth>44</heigth>
+ <fontname>Noto Sans</fontname>
+ <fontsize>11</fontsize>
+ <fontbold>N</fontbold>
+ <fontitalic>N</fontitalic>
+ <fontcolorred>14</fontcolorred>
+ <fontcolorgreen>58</fontcolorgreen>
+ <fontcolorblue>90</fontcolorblue>
+ <backgroundcolorred>201</backgroundcolorred>
+ <backgroundcolorgreen>232</backgroundcolorgreen>
+ <backgroundcolorblue>251</backgroundcolorblue>
+ <bordercolorred>14</bordercolorred>
+ <bordercolorgreen>58</bordercolorgreen>
+ <bordercolorblue>90</bordercolorblue>
+ </notepad>
+ </notepads>
+ <order>
+ <hop>
+ <from>Test Data</from>
+ <to>Insert / update</to>
+ <enabled>Y</enabled>
+ </hop>
+ </order>
+ <transform>
+ <name>Insert / update</name>
+ <type>InsertUpdate</type>
+ <description/>
+ <distribute>Y</distribute>
+ <custom_distribution/>
+ <copies>1</copies>
+ <partitioning>
+ <method>none</method>
+ <schema_name/>
+ </partitioning>
+ <connection>hop-samples</connection>
+ <commit>100</commit>
+ <update_bypassed>N</update_bypassed>
+ <lookup>
+ <schema/>
+ <table>INSERTUPDATE</table>
+ <key>
+ <name>id</name>
+ <field>id</field>
+ <condition>=</condition>
+ <name2/>
+ </key>
+ <value>
+ <name>id</name>
+ <rename>id</rename>
+ <update>N</update>
+ </value>
+ <value>
+ <name>col_bool</name>
+ <rename>col_bool</rename>
+ <update>Y</update>
+ </value>
+ <value>
+ <name>col_string</name>
+ <rename>col_string</rename>
+ <update>Y</update>
+ </value>
+ <value>
+ <name>col_date</name>
+ <rename>col_date</rename>
+ <update>N</update>
+ </value>
+ </lookup>
+ <attributes/>
+ <GUI>
+ <xloc>416</xloc>
+ <yloc>144</yloc>
+ </GUI>
+ </transform>
+ <transform>
+ <name>Test Data</name>
+ <type>DataGrid</type>
+ <description/>
+ <distribute>Y</distribute>
+ <custom_distribution/>
+ <copies>1</copies>
+ <partitioning>
+ <method>none</method>
+ <schema_name/>
+ </partitioning>
+ <fields>
+ <field>
+ <set_empty_string>N</set_empty_string>
+ <length>-1</length>
+ <name>id</name>
+ <precision>-1</precision>
+ <type>Integer</type>
+ </field>
+ <field>
+ <set_empty_string>N</set_empty_string>
+ <length>-1</length>
+ <name>col_bool</name>
+ <precision>-1</precision>
+ <type>Boolean</type>
+ </field>
+ <field>
+ <set_empty_string>N</set_empty_string>
+ <length>-1</length>
+ <name>col_string</name>
+ <precision>-1</precision>
+ <type>String</type>
+ </field>
+ <field>
+ <set_empty_string>N</set_empty_string>
+ <format>yyyy-MM-dd</format>
+ <length>-1</length>
+ <name>col_date</name>
+ <precision>-1</precision>
+ <type>Date</type>
+ </field>
+ </fields>
+ <data>
+ <line>
+ <item>1</item>
+ <item>Y</item>
+ <item>col1</item>
+ <item>2021-01-01</item>
+ </line>
+ <line>
+ <item>2</item>
+ <item>N</item>
+ <item>col2</item>
+ <item>2022-01-01</item>
+ </line>
+ <line>
+ <item>3</item>
+ <item>N</item>
+ <item>col3</item>
+ <item>2023-01-01</item>
+ </line>
+ <line>
+ <item>4</item>
+ <item>Y</item>
+ <item>col4</item>
+ <item>2024-01-01</item>
+ </line>
+ <line>
+ <item>5</item>
+ <item>Y</item>
+ <item>col5</item>
+ <item>2025-01-01</item>
+ </line>
+ <line>
+ <item>2</item>
+ <item>Y</item>
+ <item>new col2</item>
+ <item>2022-12-31</item>
+ </line>
+ <line>
+ <item>4</item>
+ <item>N</item>
+ <item>new col4</item>
+ <item>2022-12-31</item>
+ </line>
+ </data>
+ <attributes/>
+ <GUI>
+ <xloc>128</xloc>
+ <yloc>144</yloc>
+ </GUI>
+ </transform>
+ <transform_error_handling>
+ </transform_error_handling>
+ <attributes/>
+</pipeline>
diff --git a/plugins/transforms/tableinput/src/main/samples/transforms/tableinput-accept-input.hpl b/plugins/transforms/tableinput/src/main/samples/transforms/tableinput-accept-input.hpl
new file mode 100644
index 0000000..ee9ddff
--- /dev/null
+++ b/plugins/transforms/tableinput/src/main/samples/transforms/tableinput-accept-input.hpl
@@ -0,0 +1,160 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+
+Licensed to the Apache Software Foundation (ASF) under one or more
+contributor license agreements. See the NOTICE file distributed with
+this work for additional information regarding copyright ownership.
+The ASF licenses this file to You under the Apache License, Version 2.0
+(the "License"); you may not use this file except in compliance with
+the License. You may obtain a copy of the License at
+
+ http://www.apache.org/licenses/LICENSE-2.0
+
+Unless required by applicable law or agreed to in writing, software
+distributed under the License is distributed on an "AS IS" BASIS,
+WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+See the License for the specific language governing permissions and
+limitations under the License.
+
+-->
+<pipeline>
+ <info>
+ <name>tableinput-accept-input</name>
+ <name_sync_with_filename>Y</name_sync_with_filename>
+ <description/>
+ <extended_description/>
+ <pipeline_version/>
+ <pipeline_type>Normal</pipeline_type>
+ <pipeline_status>0</pipeline_status>
+ <parameters>
+ <parameter>
+ <name>PRM_ID</name>
+ <default_value>2</default_value>
+ <description>this parameter is used in the where clause of the query in 'Table Input'</description>
+ </parameter>
+ </parameters>
+ <capture_transform_performance>N</capture_transform_performance>
+ <transform_performance_capturing_delay>1000</transform_performance_capturing_delay>
+ <transform_performance_capturing_size_limit>100</transform_performance_capturing_size_limit>
+ <created_user>-</created_user>
+ <created_date>2021/07/19 20:31:51.076</created_date>
+ <modified_user>-</modified_user>
+ <modified_date>2021/07/19 20:31:51.076</modified_date>
+ <key_for_session_key/>
+ <is_key_private>N</is_key_private>
+ </info>
+ <notepads>
+ <notepad>
+ <note>Read rows from a database query, accepting input data from a previous transform </note>
+ <xloc>128</xloc>
+ <yloc>96</yloc>
+ <width>468</width>
+ <heigth>27</heigth>
+ <fontname>Noto Sans</fontname>
+ <fontsize>11</fontsize>
+ <fontbold>N</fontbold>
+ <fontitalic>N</fontitalic>
+ <fontcolorred>14</fontcolorred>
+ <fontcolorgreen>58</fontcolorgreen>
+ <fontcolorblue>90</fontcolorblue>
+ <backgroundcolorred>201</backgroundcolorred>
+ <backgroundcolorgreen>232</backgroundcolorgreen>
+ <backgroundcolorblue>251</backgroundcolorblue>
+ <bordercolorred>14</bordercolorred>
+ <bordercolorgreen>58</bordercolorgreen>
+ <bordercolorblue>90</bordercolorblue>
+ </notepad>
+ </notepads>
+ <order>
+ <hop>
+ <from>Table input With Input Data</from>
+ <to>Output</to>
+ <enabled>Y</enabled>
+ </hop>
+ <hop>
+ <from>id = 2</from>
+ <to>Table input With Input Data</to>
+ <enabled>Y</enabled>
+ </hop>
+ </order>
+ <transform>
+ <name>Table input With Input Data</name>
+ <type>TableInput</type>
+ <description/>
+ <distribute>Y</distribute>
+ <custom_distribution/>
+ <copies>1</copies>
+ <partitioning>
+ <method>none</method>
+ <schema_name/>
+ </partitioning>
+ <connection>hop-samples</connection>
+ <sql>select *
+from public.tableinput
+where id > ?;</sql>
+ <limit>0</limit>
+ <lookup>id = 2</lookup>
+ <execute_each_row>N</execute_each_row>
+ <variables_active>N</variables_active>
+ <attributes/>
+ <GUI>
+ <xloc>320</xloc>
+ <yloc>176</yloc>
+ </GUI>
+ </transform>
+ <transform>
+ <name>Output</name>
+ <type>Dummy</type>
+ <description/>
+ <distribute>Y</distribute>
+ <custom_distribution/>
+ <copies>1</copies>
+ <partitioning>
+ <method>none</method>
+ <schema_name/>
+ </partitioning>
+ <attributes/>
+ <GUI>
+ <xloc>496</xloc>
+ <yloc>176</yloc>
+ </GUI>
+ </transform>
+ <transform>
+ <name>id = 2</name>
+ <type>DataGrid</type>
+ <description/>
+ <distribute>Y</distribute>
+ <custom_distribution/>
+ <copies>1</copies>
+ <partitioning>
+ <method>none</method>
+ <schema_name/>
+ </partitioning>
+ <fields>
+ <field>
+ <currency/>
+ <decimal/>
+ <set_empty_string>N</set_empty_string>
+ <format/>
+ <group/>
+ <length>-1</length>
+ <name>id</name>
+ <precision>-1</precision>
+ <type>Integer</type>
+ </field>
+ </fields>
+ <data>
+ <line>
+ <item>2</item>
+ </line>
+ </data>
+ <attributes/>
+ <GUI>
+ <xloc>144</xloc>
+ <yloc>176</yloc>
+ </GUI>
+ </transform>
+ <transform_error_handling>
+ </transform_error_handling>
+ <attributes/>
+</pipeline>
diff --git a/plugins/transforms/tableinput/src/main/samples/transforms/tableinput-basic.hpl b/plugins/transforms/tableinput/src/main/samples/transforms/tableinput-basic.hpl
new file mode 100644
index 0000000..7157622
--- /dev/null
+++ b/plugins/transforms/tableinput/src/main/samples/transforms/tableinput-basic.hpl
@@ -0,0 +1,112 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+
+Licensed to the Apache Software Foundation (ASF) under one or more
+contributor license agreements. See the NOTICE file distributed with
+this work for additional information regarding copyright ownership.
+The ASF licenses this file to You under the Apache License, Version 2.0
+(the "License"); you may not use this file except in compliance with
+the License. You may obtain a copy of the License at
+
+ http://www.apache.org/licenses/LICENSE-2.0
+
+Unless required by applicable law or agreed to in writing, software
+distributed under the License is distributed on an "AS IS" BASIS,
+WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+See the License for the specific language governing permissions and
+limitations under the License.
+
+-->
+<pipeline>
+ <info>
+ <name>tableinput-basic</name>
+ <name_sync_with_filename>Y</name_sync_with_filename>
+ <description/>
+ <extended_description/>
+ <pipeline_version/>
+ <pipeline_type>Normal</pipeline_type>
+ <parameters>
+ </parameters>
+ <capture_transform_performance>N</capture_transform_performance>
+ <transform_performance_capturing_delay>1000</transform_performance_capturing_delay>
+ <transform_performance_capturing_size_limit>100</transform_performance_capturing_size_limit>
+ <created_user>-</created_user>
+ <created_date>2021/07/19 20:31:51.076</created_date>
+ <modified_user>-</modified_user>
+ <modified_date>2021/07/19 20:31:51.076</modified_date>
+ <key_for_session_key>H4sIAAAAAAAAAAMAAAAAAAAAAAA=</key_for_session_key>
+ <is_key_private>N</is_key_private>
+ </info>
+ <notepads>
+ <notepad>
+ <note>Read rows from a database query.</note>
+ <xloc>128</xloc>
+ <yloc>64</yloc>
+ <width>200</width>
+ <heigth>27</heigth>
+ <fontname>Noto Sans</fontname>
+ <fontsize>11</fontsize>
+ <fontbold>N</fontbold>
+ <fontitalic>N</fontitalic>
+ <fontcolorred>14</fontcolorred>
+ <fontcolorgreen>58</fontcolorgreen>
+ <fontcolorblue>90</fontcolorblue>
+ <backgroundcolorred>201</backgroundcolorred>
+ <backgroundcolorgreen>232</backgroundcolorgreen>
+ <backgroundcolorblue>251</backgroundcolorblue>
+ <bordercolorred>14</bordercolorred>
+ <bordercolorgreen>58</bordercolorgreen>
+ <bordercolorblue>90</bordercolorblue>
+ </notepad>
+ </notepads>
+ <order>
+ <hop>
+ <from>Table input</from>
+ <to>Output</to>
+ <enabled>Y</enabled>
+ </hop>
+ </order>
+ <transform>
+ <name>Output</name>
+ <type>Dummy</type>
+ <description/>
+ <distribute>Y</distribute>
+ <custom_distribution/>
+ <copies>1</copies>
+ <partitioning>
+ <method>none</method>
+ <schema_name/>
+ </partitioning>
+ <attributes/>
+ <GUI>
+ <xloc>320</xloc>
+ <yloc>128</yloc>
+ </GUI>
+ </transform>
+ <transform>
+ <name>Table input</name>
+ <type>TableInput</type>
+ <description/>
+ <distribute>Y</distribute>
+ <custom_distribution/>
+ <copies>1</copies>
+ <partitioning>
+ <method>none</method>
+ <schema_name/>
+ </partitioning>
+ <connection>hop-samples</connection>
+ <sql>select * from public.tableinput;</sql>
+ <limit>0</limit>
+ <lookup/>
+ <execute_each_row>N</execute_each_row>
+ <variables_active>N</variables_active>
+ <attributes/>
+ <GUI>
+ <xloc>128</xloc>
+ <yloc>128</yloc>
+ </GUI>
+ </transform>
+ <transform_error_handling>
+ </transform_error_handling>
+ <attributes/>
+</pipeline>
diff --git a/plugins/transforms/tableinput/src/main/samples/transforms/tableinput-variables.hpl b/plugins/transforms/tableinput/src/main/samples/transforms/tableinput-variables.hpl
new file mode 100644
index 0000000..fe764b0
--- /dev/null
+++ b/plugins/transforms/tableinput/src/main/samples/transforms/tableinput-variables.hpl
@@ -0,0 +1,120 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+
+Licensed to the Apache Software Foundation (ASF) under one or more
+contributor license agreements. See the NOTICE file distributed with
+this work for additional information regarding copyright ownership.
+The ASF licenses this file to You under the Apache License, Version 2.0
+(the "License"); you may not use this file except in compliance with
+the License. You may obtain a copy of the License at
+
+ http://www.apache.org/licenses/LICENSE-2.0
+
+Unless required by applicable law or agreed to in writing, software
+distributed under the License is distributed on an "AS IS" BASIS,
+WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+See the License for the specific language governing permissions and
+limitations under the License.
+
+-->
+<pipeline>
+ <info>
+ <name>tableinput-variables</name>
+ <name_sync_with_filename>Y</name_sync_with_filename>
+ <description/>
+ <extended_description/>
+ <pipeline_version/>
+ <pipeline_type>Normal</pipeline_type>
+ <pipeline_status>0</pipeline_status>
+ <parameters>
+ <parameter>
+ <name>PRM_ID</name>
+ <default_value>2</default_value>
+ <description>this parameter is used in the where clause of the query in 'Table Input'</description>
+ </parameter>
+ </parameters>
+ <capture_transform_performance>N</capture_transform_performance>
+ <transform_performance_capturing_delay>1000</transform_performance_capturing_delay>
+ <transform_performance_capturing_size_limit>100</transform_performance_capturing_size_limit>
+ <created_user>-</created_user>
+ <created_date>2021/07/19 20:31:51.076</created_date>
+ <modified_user>-</modified_user>
+ <modified_date>2021/07/19 20:31:51.076</modified_date>
+ <key_for_session_key>H4sIAAAAAAAAAAMAAAAAAAAAAAA=</key_for_session_key>
+ <is_key_private>N</is_key_private>
+ </info>
+ <notepads>
+ <notepad>
+ <note>Reads rows from a database query, using a variable (pipeline parameter PRM_ID) as part of the SQL query </note>
+ <xloc>128</xloc>
+ <yloc>96</yloc>
+ <width>600</width>
+ <heigth>27</heigth>
+ <fontname>Noto Sans</fontname>
+ <fontsize>11</fontsize>
+ <fontbold>N</fontbold>
+ <fontitalic>N</fontitalic>
+ <fontcolorred>14</fontcolorred>
+ <fontcolorgreen>58</fontcolorgreen>
+ <fontcolorblue>90</fontcolorblue>
+ <backgroundcolorred>201</backgroundcolorred>
+ <backgroundcolorgreen>232</backgroundcolorgreen>
+ <backgroundcolorblue>251</backgroundcolorblue>
+ <bordercolorred>14</bordercolorred>
+ <bordercolorgreen>58</bordercolorgreen>
+ <bordercolorblue>90</bordercolorblue>
+ </notepad>
+ </notepads>
+ <order>
+ <hop>
+ <from>Table input With Var</from>
+ <to>Output</to>
+ <enabled>Y</enabled>
+ </hop>
+ </order>
+ <transform>
+ <name>Output</name>
+ <type>Dummy</type>
+ <description/>
+ <distribute>Y</distribute>
+ <custom_distribution/>
+ <copies>1</copies>
+ <partitioning>
+ <method>none</method>
+ <schema_name/>
+ </partitioning>
+ <attributes/>
+ <GUI>
+ <xloc>336</xloc>
+ <yloc>176</yloc>
+ </GUI>
+ </transform>
+ <transform>
+ <name>Table input With Var</name>
+ <type>TableInput</type>
+ <description/>
+ <distribute>Y</distribute>
+ <custom_distribution/>
+ <copies>1</copies>
+ <partitioning>
+ <method>none</method>
+ <schema_name/>
+ </partitioning>
+ <connection>hop-samples</connection>
+ <sql>select *
+from public.tableinput
+where id > ${PRM_ID};</sql>
+ <limit>0</limit>
+ <lookup/>
+ <execute_each_row>N</execute_each_row>
+ <variables_active>Y</variables_active>
+ <attributes/>
+ <GUI>
+ <xloc>144</xloc>
+ <yloc>176</yloc>
+ </GUI>
+ </transform>
+ <transform_error_handling>
+ </transform_error_handling>
+ <attributes/>
+</pipeline>
diff --git a/plugins/transforms/tableoutput/src/main/samples/metadata/rdbms/hop-samples.json b/plugins/transforms/tableoutput/src/main/samples/metadata/rdbms/hop-samples.json
new file mode 100644
index 0000000..e4be3d4
--- /dev/null
+++ b/plugins/transforms/tableoutput/src/main/samples/metadata/rdbms/hop-samples.json
@@ -0,0 +1,26 @@
+{
+ "rdbms": {
+ "H2": {
+ "databaseName": "hop-samples",
+ "pluginId": "H2",
+ "accessType": 0,
+ "hostname": "localhost",
+ "password": "Encrypted ",
+ "port": "8082",
+ "pluginName": "H2",
+ "attributes": {
+ "SUPPORTS_TIMESTAMP_DATA_TYPE": "Y",
+ "QUOTE_ALL_FIELDS": "N",
+ "SUPPORTS_BOOLEAN_DATA_TYPE": "Y",
+ "FORCE_IDENTIFIERS_TO_LOWERCASE": "N",
+ "PRESERVE_RESERVED_WORD_CASE": "Y",
+ "SQL_CONNECT": "\nCREATE TABLE IF NOT EXISTS PUBLIC.TABLEOUTPUT_BASIC\n(\n ID INT\n, COL_BOOL BOOLEAN\n, COL_STRING TEXT\n, COL_DATE DATE\n)\n;\n\n\nCREATE TABLE IF NOT EXISTS PUBLIC.INSERTUPDATE\n(\n ID INT\n, COL_BOOL BOOLEAN\n, COL_STRING TEXT\n, COL_DATE DATE\n)\n;\n\nCREATE TABLE IF NOT EXISTS PUBLIC.DBLOOKUP \n(\nID INT,\nDESCRIPTION TEXT\n); \n\nTRUNCATE TABLE PUBLIC.DBLOOKUP; \n\nINSERT INTO PUBLIC.DBLOOKUP VALUES \n(1, \u0027value 01\u0027),\n(2, \u0027value 02\u0027) [...]
+ "FORCE_IDENTIFIERS_TO_UPPERCASE": "N",
+ "PREFERRED_SCHEMA_NAME": ""
+ },
+ "manualUrl": "jdbc:h2:mem:hop-samples;DB_CLOSE_DELAY\u003d-1",
+ "username": ""
+ }
+ },
+ "name": "hop-samples"
+}
\ No newline at end of file
diff --git a/plugins/transforms/tableoutput/src/main/samples/transforms/tableoutput-basic.hpl b/plugins/transforms/tableoutput/src/main/samples/transforms/tableoutput-basic.hpl
new file mode 100644
index 0000000..fec30e0
--- /dev/null
+++ b/plugins/transforms/tableoutput/src/main/samples/transforms/tableoutput-basic.hpl
@@ -0,0 +1,184 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+
+Licensed to the Apache Software Foundation (ASF) under one or more
+contributor license agreements. See the NOTICE file distributed with
+this work for additional information regarding copyright ownership.
+The ASF licenses this file to You under the Apache License, Version 2.0
+(the "License"); you may not use this file except in compliance with
+the License. You may obtain a copy of the License at
+
+ http://www.apache.org/licenses/LICENSE-2.0
+
+Unless required by applicable law or agreed to in writing, software
+distributed under the License is distributed on an "AS IS" BASIS,
+WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+See the License for the specific language governing permissions and
+limitations under the License.
+
+-->
+<pipeline>
+ <info>
+ <name>tableoutput-basic</name>
+ <name_sync_with_filename>Y</name_sync_with_filename>
+ <description/>
+ <extended_description/>
+ <pipeline_version/>
+ <pipeline_type>Normal</pipeline_type>
+ <parameters>
+ </parameters>
+ <capture_transform_performance>N</capture_transform_performance>
+ <transform_performance_capturing_delay>1000</transform_performance_capturing_delay>
+ <transform_performance_capturing_size_limit>100</transform_performance_capturing_size_limit>
+ <created_user>-</created_user>
+ <created_date>2021/07/19 17:05:26.231</created_date>
+ <modified_user>-</modified_user>
+ <modified_date>2021/07/19 17:05:26.231</modified_date>
+ <key_for_session_key>H4sIAAAAAAAAAAMAAAAAAAAAAAA=</key_for_session_key>
+ <is_key_private>N</is_key_private>
+ </info>
+ <notepads>
+ <notepad>
+ <note>Writes 5 lines of test data to a table</note>
+ <xloc>128</xloc>
+ <yloc>80</yloc>
+ <width>206</width>
+ <heigth>27</heigth>
+ <fontname>Noto Sans</fontname>
+ <fontsize>11</fontsize>
+ <fontbold>N</fontbold>
+ <fontitalic>N</fontitalic>
+ <fontcolorred>14</fontcolorred>
+ <fontcolorgreen>58</fontcolorgreen>
+ <fontcolorblue>90</fontcolorblue>
+ <backgroundcolorred>201</backgroundcolorred>
+ <backgroundcolorgreen>232</backgroundcolorgreen>
+ <backgroundcolorblue>251</backgroundcolorblue>
+ <bordercolorred>14</bordercolorred>
+ <bordercolorgreen>58</bordercolorgreen>
+ <bordercolorblue>90</bordercolorblue>
+ </notepad>
+ </notepads>
+ <order>
+ <hop>
+ <from>Test Data</from>
+ <to>Table output</to>
+ <enabled>Y</enabled>
+ </hop>
+ </order>
+ <transform>
+ <name>Table output</name>
+ <type>TableOutput</type>
+ <description/>
+ <distribute>Y</distribute>
+ <custom_distribution/>
+ <copies>1</copies>
+ <partitioning>
+ <method>none</method>
+ <schema_name/>
+ </partitioning>
+ <commit>1000</commit>
+ <connection>hop-samples</connection>
+ <fields>
+</fields>
+ <ignore_errors>N</ignore_errors>
+ <partitioning_daily>N</partitioning_daily>
+ <partitioning_enabled>N</partitioning_enabled>
+ <partitioning_monthly>Y</partitioning_monthly>
+ <return_keys>N</return_keys>
+ <specify_fields>N</specify_fields>
+ <table>tableoutput_basic</table>
+ <tablename_in_field>N</tablename_in_field>
+ <tablename_in_table>Y</tablename_in_table>
+ <truncate>Y</truncate>
+ <use_batch>Y</use_batch>
+ <attributes/>
+ <GUI>
+ <xloc>336</xloc>
+ <yloc>144</yloc>
+ </GUI>
+ </transform>
+ <transform>
+ <name>Test Data</name>
+ <type>DataGrid</type>
+ <description/>
+ <distribute>Y</distribute>
+ <custom_distribution/>
+ <copies>1</copies>
+ <partitioning>
+ <method>none</method>
+ <schema_name/>
+ </partitioning>
+ <fields>
+ <field>
+ <set_empty_string>N</set_empty_string>
+ <length>-1</length>
+ <name>id</name>
+ <precision>-1</precision>
+ <type>Integer</type>
+ </field>
+ <field>
+ <set_empty_string>N</set_empty_string>
+ <length>-1</length>
+ <name>col_bool</name>
+ <precision>-1</precision>
+ <type>Boolean</type>
+ </field>
+ <field>
+ <set_empty_string>N</set_empty_string>
+ <length>-1</length>
+ <name>col_string</name>
+ <precision>-1</precision>
+ <type>String</type>
+ </field>
+ <field>
+ <set_empty_string>N</set_empty_string>
+ <format>yyyy-MM-dd</format>
+ <length>-1</length>
+ <name>col_date</name>
+ <precision>-1</precision>
+ <type>Date</type>
+ </field>
+ </fields>
+ <data>
+ <line>
+ <item>1</item>
+ <item>Y</item>
+ <item>col1</item>
+ <item>2021-01-01</item>
+ </line>
+ <line>
+ <item>2</item>
+ <item>N</item>
+ <item>col2</item>
+ <item>2022-01-01</item>
+ </line>
+ <line>
+ <item>3</item>
+ <item>N</item>
+ <item>col3</item>
+ <item>2023-01-01</item>
+ </line>
+ <line>
+ <item>4</item>
+ <item>Y</item>
+ <item>col4</item>
+ <item>2024-01-01</item>
+ </line>
+ <line>
+ <item>5</item>
+ <item>Y</item>
+ <item>col5</item>
+ <item>2025-01-01</item>
+ </line>
+ </data>
+ <attributes/>
+ <GUI>
+ <xloc>128</xloc>
+ <yloc>144</yloc>
+ </GUI>
+ </transform>
+ <transform_error_handling>
+ </transform_error_handling>
+ <attributes/>
+</pipeline>