Trino client library
npm install @viet1846/trino-clientJoin us on Trino Slack in
#core-dev to discuss and help
this project.

!it-tests
!license
- Connections over HTTP or HTTPS
- Supports HTTP Basic Authentication
- Per-query user information for access control
- Node 12 or newer.
- Trino 0.16x or newer.
npm install trino-client or yarn add trino-client
For additional info on all available methods and types have a look at theAPI documentation.
``typescript`
const trino: Trino = Trino.create({
server: 'http://localhost:8080',
catalog: 'tpcds',
schema: 'sf100000',
auth: new BasicAuth('test'),
});
`typescript`
const iter: Iterator
'select * from customer limit 100'
);
`typescript`
for await (const queryResult of iter) {
console.log(queryResult.data);
}
`typescript`
const data: QueryData[] = await iter
.map(r => r.data ?? [])
.fold
More usage examples can be found in the
integration tests.
Use the following commands to build the project locally with your modifications,
and in preparation to contribute a pull request.
Requirements:
* yarn
Install dependencies:
`shell`
yarn install --frozen-lockfile
Lint the source code:
`shell`
yarn test:lint
Build:
`shell`
yarn build
A successful build run does not produce any message on the terminal.
Integration tests run against a Trino server running on your workstation.
Requirements:
Create a cluster:
`shell`
kind create cluster
Deploy Trino:
`shell`
kubectl apply -f tests/it/trino.yml
Wait for pods to be ready:
`shell`
kubectl wait --for=condition=ready pods -n trino-system --all --timeout=120s
Ensure Trino is running and available on port 8080. Run the following
command in a separate terminal:
`shell`
kubectl -n trino-system port-forward svc/trino 8080:8080
Run tests:
`shell`
yarn test:it --testTimeout=60000
Output should look similar to the following:
`text
PASS tests/it/client.spec.ts
trino
✓ exhaust query results (1567 ms)
✓ close running query (200 ms)
✓ cancel running query (17 ms)
✓ get query info (1 ms)
✓ client extra header propagation
✓ query request header propagation (88 ms)
✓ QueryResult has error info
✓ QueryInfo has failure info (1 ms)
✓ prepare statement (98 ms)
✓ multiple prepare statement (432 ms)
Test Suites: 1 passed, 1 total
Tests: 10 passed, 10 total
Snapshots: 0 total
Time: 3.457 s
Ran all test suites matching /tests\/it/i.
`
Remove the cluster:
`shell`
kind delete cluster
Follow the Trino contribution guidelines
and contact us on Slack and GitHub.
Copyright
Trino JS Client contributors 2022-present
Releases are automated with GitHub Actions and only require a pull request
that updates the version in package.json`. For example, see
PR 723