>>>inferred_schema.graphqls
"An RFC-3339 compliant Full Date Scalar"
scalar Date

"A DateTime scalar that handles both full RFC3339 and shorter timestamp formats"
scalar DateTime

"A JSON scalar"
scalar JSON

"24-hour clock time value string in the format `hh:mm:ss` or `hh:mm:ss.sss`."
scalar LocalTime

"A 64-bit signed integer"
scalar Long

type MathFunctions {
  d: Float!
  b: Int!
  cbrt: Float
  copy_sign: Float
  expm1: Float
  hypot: Float
  log1p: Float
  next_after: Float
  scalb: Float
  ulp: Float
  binomial_distribution: Float
  exponential_distribution: Float
  normal_distribution: Float
  poisson_distribution: Float
}

type Query {
  MathFunctions(limit: Int = 10, offset: Int = 0): [MathFunctions!]
}

enum _McpMethodType {
  NONE
  TOOL
  RESOURCE
}

enum _RestMethodType {
  NONE
  GET
  POST
}

directive @api(mcp: _McpMethodType, rest: _RestMethodType, uri: String) on QUERY | MUTATION | FIELD_DEFINITION

>>>pipeline_explain.txt
=== MathFunctions
ID:          default_catalog.default_database.MathFunctions
Type:        state
Stage:       flink
Primary key: d
Timestamp:   -
Row count:   ~1e1
---
Schema:
 - d: DECIMAL(3, 1) NOT NULL
 - b: INTEGER NOT NULL
 - cbrt: DOUBLE
 - copy_sign: DOUBLE
 - expm1: DOUBLE
 - hypot: DOUBLE
 - log1p: DOUBLE
 - next_after: DOUBLE
 - scalb: DOUBLE
 - ulp: DOUBLE
 - binomial_distribution: DOUBLE
 - exponential_distribution: DOUBLE
 - normal_distribution: DOUBLE
 - poisson_distribution: DOUBLE

>>>flink-sql-no-functions.sql
CREATE VIEW `MathFunctions`
AS
SELECT `d`, `b`, CBRT(`d`) AS `cbrt`, `copy_sign`(`d`, `d`) AS `copy_sign`, `expm1`(`d`) AS `expm1`, `hypot`(`d`, `d`) AS `hypot`, `log1p`(`d`) AS `log1p`, `next_after`(`d`, `d`) AS `next_after`, `scalb`(`d`, `b`) AS `scalb`, `ulp`(`d`) AS `ulp`, `binomial_distribution`(`b`, 1, `b`) AS `binomial_distribution`, `exponential_distribution`(`d`, `d`) AS `exponential_distribution`, `normal_distribution`(`d`, `d`, `d`) AS `normal_distribution`, `poisson_distribution`(`d`, `b`) AS `poisson_distribution`
FROM (VALUES ROW(1.0, 11),
   ROW(2.0, 12),
   ROW(3.0, 13),
   ROW(4.0, 14),
   ROW(5.0, 15),
   ROW(6.0, 16),
   ROW(7.0, 17),
   ROW(8.0, 18),
   ROW(9.0, 19),
   ROW(10.0, 20)) AS `names` (`d`, `b`);
CREATE TABLE `MathFunctions_1` (
  `d` DECIMAL(3, 1) NOT NULL,
  `b` INTEGER NOT NULL,
  `cbrt` DOUBLE,
  `copy_sign` DOUBLE,
  `expm1` DOUBLE,
  `hypot` DOUBLE,
  `log1p` DOUBLE,
  `next_after` DOUBLE,
  `scalb` DOUBLE,
  `ulp` DOUBLE,
  `binomial_distribution` DOUBLE,
  `exponential_distribution` DOUBLE,
  `normal_distribution` DOUBLE,
  `poisson_distribution` DOUBLE,
  PRIMARY KEY (`d`) NOT ENFORCED
)
WITH (
  'connector' = 'jdbc-sqrl',
  'driver' = 'org.postgresql.Driver',
  'password' = '${POSTGRES_PASSWORD}',
  'table-name' = 'MathFunctions',
  'url' = 'jdbc:postgresql://${POSTGRES_AUTHORITY}',
  'username' = '${POSTGRES_USERNAME}'
);
EXECUTE STATEMENT SET BEGIN
INSERT INTO `default_catalog`.`default_database`.`MathFunctions_1`
SELECT *
 FROM `default_catalog`.`default_database`.`MathFunctions`
;
END
>>>kafka.json
{
  "topics" : [ ],
  "testRunnerTopics" : [ ]
}
>>>postgres-schema.sql
CREATE TABLE IF NOT EXISTS "MathFunctions" ("d" NUMERIC NOT NULL, "b" INTEGER NOT NULL, "cbrt" DOUBLE PRECISION, "copy_sign" DOUBLE PRECISION, "expm1" DOUBLE PRECISION, "hypot" DOUBLE PRECISION, "log1p" DOUBLE PRECISION, "next_after" DOUBLE PRECISION, "scalb" DOUBLE PRECISION, "ulp" DOUBLE PRECISION, "binomial_distribution" DOUBLE PRECISION, "exponential_distribution" DOUBLE PRECISION, "normal_distribution" DOUBLE PRECISION, "poisson_distribution" DOUBLE PRECISION, PRIMARY KEY ("d"))
>>>postgres-views.sql

>>>vertx.json
{
  "models" : {
    "v1" : {
      "queries" : [
        {
          "type" : "args",
          "parentType" : "Query",
          "fieldName" : "MathFunctions",
          "exec" : {
            "arguments" : [
              {
                "type" : "variable",
                "path" : "limit"
              },
              {
                "type" : "variable",
                "path" : "offset"
              }
            ],
            "query" : {
              "type" : "SqlQuery",
              "sql" : "SELECT *\nFROM \"MathFunctions\"",
              "parameters" : [ ],
              "pagination" : "LIMIT_AND_OFFSET",
              "cacheDurationMs" : 0,
              "database" : "POSTGRES"
            }
          }
        }
      ],
      "mutations" : [ ],
      "subscriptions" : [ ],
      "operations" : [
        {
          "function" : {
            "name" : "GetMathFunctions",
            "parameters" : {
              "type" : "object",
              "properties" : {
                "offset" : {
                  "type" : "integer"
                },
                "limit" : {
                  "type" : "integer"
                }
              },
              "required" : [ ]
            }
          },
          "format" : "JSON",
          "apiQuery" : {
            "query" : "query MathFunctions($limit: Int = 10, $offset: Int = 0) {\nMathFunctions(limit: $limit, offset: $offset) {\nd\nb\ncbrt\ncopy_sign\nexpm1\nhypot\nlog1p\nnext_after\nscalb\nulp\nbinomial_distribution\nexponential_distribution\nnormal_distribution\npoisson_distribution\n}\n\n}",
            "queryName" : "MathFunctions",
            "operationType" : "QUERY"
          },
          "mcpMethod" : "TOOL",
          "restMethod" : "GET",
          "uriTemplate" : "queries/MathFunctions{?offset,limit}"
        }
      ],
      "schema" : {
        "type" : "string",
        "schema" : "\"An RFC-3339 compliant Full Date Scalar\"\nscalar Date\n\n\"A DateTime scalar that handles both full RFC3339 and shorter timestamp formats\"\nscalar DateTime\n\n\"A JSON scalar\"\nscalar JSON\n\n\"24-hour clock time value string in the format `hh:mm:ss` or `hh:mm:ss.sss`.\"\nscalar LocalTime\n\n\"A 64-bit signed integer\"\nscalar Long\n\ntype MathFunctions {\n  d: Float!\n  b: Int!\n  cbrt: Float\n  copy_sign: Float\n  expm1: Float\n  hypot: Float\n  log1p: Float\n  next_after: Float\n  scalb: Float\n  ulp: Float\n  binomial_distribution: Float\n  exponential_distribution: Float\n  normal_distribution: Float\n  poisson_distribution: Float\n}\n\ntype Query {\n  MathFunctions(limit: Int = 10, offset: Int = 0): [MathFunctions!]\n}\n\nenum _McpMethodType {\n  NONE\n  TOOL\n  RESOURCE\n}\n\nenum _RestMethodType {\n  NONE\n  GET\n  POST\n}\n\ndirective @api(mcp: _McpMethodType, rest: _RestMethodType, uri: String) on QUERY | MUTATION | FIELD_DEFINITION\n"
      }
    }
  }
}
