SQL
sql.translate
Trino SQL to tide SQL
Details
- Endpoint
- POST /v1/sql/translate
- Credits
- Free
- Rate class
- Light. Counts against your light requests per second.
- Also called
- /api/v1/sql/translate
Translates a query written in the Trino dialect for the standard Sui table names into the tide SQL that runs here, without running it. dbt/jinja wrappers are stripped, 0x ids are padded to 32 bytes and {{name}} parameters are kept. Errors come back as invalid_params with line and column when known.
Parameters
| Name | Type | Description |
|---|---|---|
| sqlrequired | string | One SELECT in Trino SQL. |
Request
Send your key in the x-api-key header, or leave it out to use the keyless tier.
curl
curl -X POST "https://api.tide.ad/v1/sql/translate" \
-H "x-api-key: YOUR_API_KEY" \
-H "content-type: application/json" \
-d '{
"sql": "SELECT date_trunc('\''day'\'', from_unixtime(timestamp_ms / 1000)) AS day, count(*) AS txs FROM sui.transactions WHERE sender = 0x2 GROUP BY 1"
}'TypeScript
const res = await fetch("https://api.tide.ad/v1/sql/translate", {
method: "POST",
headers: {
"x-api-key": process.env.TIDE_API_KEY!,
"content-type": "application/json",
},
body: JSON.stringify({
"sql": "SELECT date_trunc('day', from_unixtime(timestamp_ms / 1000)) AS day, count(*) AS txs FROM sui.transactions WHERE sender = 0x2 GROUP BY 1"
}),
});
const data = await res.json();Response
JSON
{
"sql": "SELECT\n dateTrunc('DAY', toDateTime64(timestamp_ms / 1000, 3, 'UTC')) AS day,\n COUNT(*) AS txs\nFROM sui.transactions\nWHERE\n sender = '0x0000000000000000000000000000000000000000000000000000000000000002'\nGROUP BY\n 1"
}