- Notifications
You must be signed in to change notification settings - Fork23
TypeScript client library for Trino
License
trinodb/trino-js-client
Folders and files
| Name | Name | Last commit message | Last commit date | |
|---|---|---|---|---|
Repository files navigation
Join us onTrino Slack in#core-dev to discuss and helpthis project.
- 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 oryarn add trino-client
For additional info on all available methods and typeshave a look at theAPI documentation.
consttrino:Trino=Trino.create({server:'http://localhost:8080',catalog:'tpcds',schema:'sf100000',auth:newBasicAuth('test'),});
constiter:Iterator<QueryResult>=awaittrino.query('select * from customer limit 100');
forawait(constqueryResultofiter){console.log(queryResult.data);}
constdata:QueryData[]=awaititer.map(r=>r.data??[]).fold<QueryData[]>([],(row,acc)=>[...acc, ...row]);
More usage examples can be found in theintegration 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:
yarn install --frozen-lockfile
Lint the source code:
yarn test:lint
Build:
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:
kind create cluster
Deploy Trino:
kubectl apply -f tests/it/trino.yml
Wait for pods to be ready:
kubectlwait --for=condition=ready pods -n trino-system --all --timeout=120sEnsure Trino is running and available on port8080. Run the followingcommand in a separate terminal:
kubectl -n trino-system port-forward svc/trino 8080:8080
Run tests:
yarn test:it --testTimeout=60000
Output should look similar to the following:
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 totalTests: 10 passed, 10 totalSnapshots: 0 totalTime: 3.457 sRan all test suites matching /tests\/it/i.Remove the cluster:
kind delete cluster
Follow theTrino contribution guidelinesand contact us on Slack and GitHub.
CopyrightTrino JS Client contributors 2022-present
Releases are automated with GitHub Actions and only require a pull requestthat updates the version inpackage.json. For example, seePR 723
About
TypeScript client library for Trino
Topics
Resources
License
Uh oh!
There was an error while loading.Please reload this page.
Stars
Watchers
Forks
Packages0
Uh oh!
There was an error while loading.Please reload this page.
Contributors11
Uh oh!
There was an error while loading.Please reload this page.