A client library for interacting with Arrow Flight SQL enabled databases from Node.js.
This library provides a thin wrapper around the flight-sql client implementation in the arrow-flight crate. Node bindings are created with the help of napi-rs.
Install library
yarn add @lakehouse-rs/flight-sql-client
# or
npm install @lakehouse-rs/flight-sql-client
# or
pnpm add @lakehouse-rs/flight-sql-clientCreate a new client instance
import{ClientOptions,createFlightSqlClient}from'@lakehouse-rs/flight-sql-client';import{tableFromIPC}from'apache-arrow';constoptions: ClientOptions={username: 'flight_username',password: 'testing123',tls: false,host: '127.0.0.1',port: 50051,headers: [],};constclient=awaitcreateFlightSqlClient(options);Execute a query against the service
constbuffer=awaitclient.query('SELECT * FROM my_tyble');consttable=tableFromIPC(buffer);Or inspect some server metadata
constbuffer=awaitclient.getTables({includeSchema: true});consttable=tableFromIPC(buffer);Requirements:
- Rust
- node.js >= 12
- Yarn
Install dependencies via
yarn installBuild native module
yarn buildRun tests
yarn testReleases are automated via github actions.
To create a release, first increment the version. (note the use of npm)
npm version <patch | minor | major | ...>this will bump all version fields, and create a new commit with the version number.
Then trigger the release.
git push --follow-tags