Commit Graph

69 Commits

Author SHA1 Message Date
Bert 5bb128a24d docs: fix JS api docs for update method (#738) 2024-04-05 16:24:47 -07:00
Weston Pace 94e81ff84b feat: add the ability to create scalar indices (#679)
This is a pretty direct binding to the underlying lance capability
2024-04-05 16:24:47 -07:00
Aidan b4ae3f3097 feat: node list tables pagination (#733) 2024-04-05 16:24:47 -07:00
Aidan 3232b55218 feat: Node create index API (#720) 2024-04-05 16:24:30 -07:00
Aidan ee2034db23 feat: Node Schema API (#717) 2024-04-05 16:24:30 -07:00
Bert eb62ddfb0c implement update for remote clients (#706) 2024-04-05 16:24:30 -07:00
Chang She b02370cacd feat: LocalTable for vectordb now supports filters without vector search (#693)
Note this currently the filter/where is only implemented for LocalTable
so that it requires an explicit cast to "enable" (see new unit test).
The alternative is to add it to the Table interface, but since it's not
available on RemoteTable this may cause some user experience issues.
2024-04-05 16:24:15 -07:00
Bert e479acc1bd Update in Node & Rust (#696)
Co-authored-by: Will Jones <willjones127@gmail.com>
2024-04-05 16:24:15 -07:00
Rob Meng d74e188f80 fix: fix passing prefilter flag to remote client (#677)
was passing this at the wrong position
2024-04-05 16:23:49 -07:00
Rob Meng 59c25574f0 feat: enable prefilter in node js (#675)
enable prefiltering in node js, both native and remote
2024-04-05 16:23:49 -07:00
Will Jones 6d76fe80b8 chore: upgrade lance to v0.8.17 (#656)
Readying for the next Lance release.
2024-04-05 16:23:49 -07:00
Bert 22fc0eaaf6 fix: node remote implement table.countRows (#648) 2024-04-05 16:23:49 -07:00
Bert 49a366bc74 fix: node send db header for GET requests (#646) 2024-04-05 16:23:49 -07:00
Bert 20ab85171b fix: node remote connection handles non http errors (#624)
https://github.com/lancedb/lancedb/issues/623

Fixes issue trying to print response status when using remote client. If
the error is not an HTTP error (e.g. dns/network failure), there won't
be a response.
2024-04-05 16:23:14 -07:00
Bert 4d086d63eb feat: added dataset stats api to node (#604) 2024-04-05 16:22:59 -07:00
Rob Meng 2826bc7f1a feat: include manifest files in mirrow store (#589) 2024-04-05 16:22:59 -07:00
Rob Meng c14ccbd334 implement remote api calls for table mutation (#567)
Add more APIs to remote table for Node SDK
* `add` rows
* `overwrite` table with rows
* `create` table

This has been tested against dev stack
2024-04-05 16:22:59 -07:00
Lei Xu 8dc10180b0 feat(python,js): deletion operation on remote tables (#568) 2024-04-05 16:22:59 -07:00
Will Jones c07207c661 feat: cleanup and compaction (#518)
#488
2024-04-05 16:22:59 -07:00
Rob Meng 1db66c6980 implement mirroring object store (#537)
This PR implements a mirroring object store and allows and table to be
mirrored to a local path when param `mirroredStore` is set in the url
2023-10-04 21:23:34 -04:00
Rob Meng dbf37a0434 fix: upgrade lance to 0.7.5 and add tests for searching empty dataset (#505)
This PR upgrade lance to `0.7.5`, which include fixes for searching an
empty dataset.

This PR also adds two tests in node SDK to make sure searching empty
dataset do no throw

Co-authored-by: rmeng <rob@lancedb.com>
2023-09-18 22:12:11 -07:00
Rob Meng 731f86e44c add health check to wait for all service ready before next step (#501)
aws integration tests are flaky because we didn't wait for the services
to become healthy. (we only waited for the localstack service, this PR
adds wait for sub services)
2023-09-18 15:17:45 -04:00
Rob Meng 0554db03b3 progagate uri query string to lance; add aws integration tests (#486)
# WARNING: specifying engine is NOT a publicly supported feature in
lancedb yet. THE API WILL CHANGE.

This PR exposes dynamodb based commit to `vectordb` and JS SDK (will do
python in another PR since it's on a different release track)

This PR also added aws integration test using `localstack`

## What?
This PR adds uri parameters to DB connection string. User may specify
`engine` in the connection string to let LanceDB know that the user
wants to use an external store when reading and writing a table. User
may also pass any parameters required by the commitStore in the
connection string, these parameters will be propagated to lance.

e.g.
```
vectordb.connect("s3://my-db-bucket?engine=ddb&ddbTableName=my-commit-table")
```
will automatically convert table path to
```
s3+ddb://my-db-bucket/my_table.lance?&ddbTableName=my-commit-table
```
2023-09-09 13:33:16 -04:00
Rob Meng 30f5bc5865 expose awsRegion to be configurable (#441) 2023-08-22 16:00:14 -04:00
gsilvestrin 2737315cb2 feat(node): Create empty tables / Arrow Tables (#399)
- Supports creating an empty table as long as an Arrow Schema is provided
- Supports creating a table from an Arrow Table (can be passed as data)
- Simplified some Arrow code in the TS/FFI side
- removed createTableArrow method, it was never documented / tested.
2023-08-22 10:57:45 -07:00
Rob Meng d52422603c use a lambda function to hide the value of credentials when printing a connection/table (#438)
Previously when logging the `LocalConnection` and `LocalTable` classes,
we would expose the aws creds inside them. This PR changes the stored
creds to a anonymous function to hide the creds
2023-08-21 23:06:44 -04:00
gsilvestrin 31a12a141d fix(node) Electron crashes when creating external buffer (#424) 2023-08-17 14:47:54 -07:00
Rob Meng f0bcb26f32 Upgrade lance and pass AWS creds when opening a table (#426) 2023-08-14 18:22:02 -04:00
Will Jones 722462c38b chore: upgrade Lance and rename score to _distance (#398)
BREAKING CHANGE: The `score` column has been renamed to `_distance` to
more accurately describe the semantics (smaller means closer / better).

---------

Co-authored-by: Lei Xu <lei@lancedb.com>
2023-08-11 21:42:33 -07:00
gsilvestrin 03b8f99dca feat(node) Remote drop table (#412) 2023-08-10 09:21:36 -07:00
gsilvestrin f227658e08 fix(node) Remove mpsc from JS SDK (#407)
- Callers / SDKs are responsible for keeping track of the last version of the Table
-  Remove the mpsc from Table and make all Table operations non-blocking
2023-08-08 10:35:43 -07:00
gsilvestrin b69b1e3ec8 fix(node) Unit tests hangs and don't exit (#396) 2023-08-04 20:18:23 -07:00
gsilvestrin bcd7f66dc7 fix(node): Handle overflows in the node bridge (#372)
- Fixes many numeric conversions that results in hard to reproduce issues
- JsObjectExt extends JsObject with safe methods to extract numericvalues
2023-07-28 13:15:21 -07:00
gsilvestrin 73cc12ecc5 fix(node): Relax EmbeddingFunction type guard (#370) 2023-07-27 12:51:59 -07:00
gsilvestrin 6036cf48a7 fix(node) Replace panic errors with friendlier ones (#366)
- Implement Result/Error in the node FFI
- Implement a trait (ResultExt) to make error handling less verbose
- Refactor some parts of the code that touch arrow into arrow.rs
2023-07-26 13:44:58 -07:00
gsilvestrin 80a32be121 bugfix(node): make WriteMode optional when specifying embeddings (#336) 2023-07-24 11:26:43 -07:00
Rob Meng 8325979bb8 dont print apikey in remote client toString, add hostoverride to python client (#353) 2023-07-23 18:44:00 -04:00
Rob Meng 8233c689c3 fix remote SDK (#342) 2023-07-20 02:01:13 -04:00
Rob Meng a636bb1075 add support for host override (#335) 2023-07-18 21:21:39 -04:00
Lei Xu 1d343edbd4 [Node] implement remote db.TableNames (#334) 2023-07-18 16:56:47 -07:00
Lei Xu 980f910f50 [Node] initial support of nodejs remote sdk (#333) 2023-07-18 16:15:27 -07:00
Will Jones 3537afb2c3 docs: show how to delete rows in user guide (#309)
Closes #265
2023-07-18 08:19:48 -07:00
gsilvestrin 826dc90151 feat(node): add option object to connect method (#286) 2023-07-13 11:03:48 -07:00
Rob Meng 98b12caa06 export create table with aws credentials (#282) 2023-07-11 17:21:10 -04:00
Rob Meng ace6aa883a Upgrade lance to 0.5.5, and plumb thru new features from the upgrade (#279)
* upgrade
* fixes for the upgrade
* allow JS users to pass custom AWS credentials
2023-07-11 16:33:39 -04:00
Lei Xu dc7146b2cb [Node] Expose IVF PQ config (#258) 2023-07-05 19:54:21 -07:00
Leon Yee 9600a38ff0 [docs] fixed javascript docs for overloaded functions (#247)
Solves #244 :


![image](https://github.com/lancedb/lancedb/assets/43097991/d1fd9d2a-0d6a-4c16-a0ab-f460cc709349)

Problem was function overloading in the interface caused some weird
`typedoc` formatting, so breaking it apart into methods fixed the issue.

Also regenerated and updated javascript docs

---------

Co-authored-by: Tevin Wang <tevin@cmu.edu>
2023-07-04 13:07:34 -07:00
Lei Xu fc725c99f0 [Node] Create Table with WriteMode (#246)
Support `createTable(name, data, mode?)`  to be consistent with Python.

Closes #242
2023-07-03 17:04:21 -07:00
Lei Xu 051c03c3c9 Add dot product support (#239)
Closes #207
2023-06-29 10:32:01 -07:00
Rob Meng 01abf82808 Refactor TS client to use interface + implementation pattern (#226)
## What?
* Changed `Connection` and `Table` to interfaces
* Renamed original `Connection` and `Table` to `LocalConnection` and
`LocalTable`
2023-06-27 21:45:01 -04:00