title: Select all fields as json string as new field in Flink SQL
body: <p>I am using Flink Table API. I have a table definition that I want to select all fields and convert them to a JSON string in a new field.</p>
  <p>My table has three fields; <code>a: String, b: Int, c: Timestamp.</code></p>
  <p>If I do</p>
  <pre><code>INSERT INTO kinesis
  SELECT a, b, c from my_table
  </code></pre>
  <p>The kinesis stream has json records;</p>
  <pre><code>{
    &quot;a&quot; : value,
    &quot;b&quot;: value,
    &quot;c&quot;: value
  }
  </code></pre>
  <p>However, I want something similar to Spark's functions;</p>
  <pre><code>INSERT INTO kinesis
  SELECT &quot;constant_value&quot; as my source, to_json(struct(*)) as playload from my_table
  </code></pre>
  <p>So, expected result is;</p>
  <pre><code>{
    &quot;my_source&quot;: &quot;constant_value&quot;,
    &quot;payload&quot;: &quot;json string from the first example that has a,b,c&quot;
  }
  </code></pre>
  <p>I can't see any <code>to_json</code> or <code>struct()</code> functions in Flink. Is it possible to implement?</p>