surrealdb / surrealdb.js

SurrealDB SDK for JavaScript
https://surrealdb.com
Apache License 2.0
271 stars 46 forks source link

Bug: create does not work with 1.0.0-beta.6 #266

Closed tw1t611 closed 1 month ago

tw1t611 commented 1 month ago

Describe the bug

I cannot create a record using node 20, a websocket connection and the latest version of surrealdb.js.


file:///Users/Daniel/Projects/grafenprojekt/node_modules/.pnpm/decimal.js@10.4.3/node_modules/decimal.js/decimal.mjs:4369
      throw Error(invalidArgument + v);
            ^

Error: [DecimalError] Invalid argument: authors,1
    at new Decimal (file:///Users/Daniel/Projects/grafenprojekt/node_modules/.pnpm/decimal.js@10.4.3/node_modules/decimal.js/decimal.mjs:4369:13)
    at file:///Users/Daniel/Projects/grafenprojekt/node_modules/.pnpm/surrealdb.js@1.0.0-beta.6/node_modules/surrealdb.js/esm/library/cbor/index.js:94:24
    at decodeItem (file:///Users/Daniel/Projects/grafenprojekt/node_modules/.pnpm/cbor-redux@1.0.0/node_modules/cbor-redux/esm/src/decode.js:251:24)
    at decodeItem (file:///Users/Daniel/Projects/grafenprojekt/node_modules/.pnpm/cbor-redux@1.0.0/node_modules/cbor-redux/esm/src/decode.js:221:59)
    at decodeItem (file:///Users/Daniel/Projects/grafenprojekt/node_modules/.pnpm/cbor-redux@1.0.0/node_modules/cbor-redux/esm/src/decode.js:197:58)
    at decodeItem (file:///Users/Daniel/Projects/grafenprojekt/node_modules/.pnpm/cbor-redux@1.0.0/node_modules/cbor-redux/esm/src/decode.js:221:59)
    at decodeItem (file:///Users/Daniel/Projects/grafenprojekt/node_modules/.pnpm/cbor-redux@1.0.0/node_modules/cbor-redux/esm/src/decode.js:197:58)
    at decodeItem (file:///Users/Daniel/Projects/grafenprojekt/node_modules/.pnpm/cbor-redux@1.0.0/node_modules/cbor-redux/esm/src/decode.js:221:59)
    at decode (file:///Users/Daniel/Projects/grafenprojekt/node_modules/.pnpm/cbor-redux@1.0.0/node_modules/cbor-redux/esm/src/decode.js:268:17)
    at decodeCbor (file:///Users/Daniel/Projects/grafenprojekt/node_modules/.pnpm/surrealdb.js@1.0.0-beta.6/node_modules/surrealdb.js/esm/library/cbor/index.js:79:12)

Node.js v20.12.2

The same code works with version 0.11.0.

Steps to reproduce

  1. create a client
    
    import Surreal from "surrealdb.js";

const endpoint = "ws://127.0.0.1:5000/rpc"; const namespace = "ns"; const database = "db"; const username = "root"; const password = "surrealdb";

export const surreal = async () => { try { const db = new Surreal(); await db.connect(endpoint, { namespace, database, auth: { namespace, database, username, password, }, }); return db; } catch (err) { console.error(err); } };


2. create a schema using db.query()
```surql
# AUTHORS
DEFINE TABLE authors SCHEMAFULL;

DEFINE FIELD name ON authors TYPE string;
DEFINE FIELD resultID ON authors TYPE string;

DEFINE INDEX nameIdx ON authors FIELDS name UNIQUE;
  1. create seed data using db.query()
    INSERT INTO authors [
    {id: "authors:1", name: "Author 1", resultID: "author1"},
    {id: "authors:2", name: "Author 2", resultID: "author2"},
    ];

Expected behaviour

Should not throw an error.^^

SurrealDB version

SurrealDB command-line interface and server 1.2.1 for macos on aarch64

SurrealDB.js version

1.0.0-beta.6

Contact Details

No response

Is there an existing issue for this?

Code of Conduct

miisteur974 commented 1 month ago

Faced the same issue using surrealdb version 1.3.1 and js sdk >= 1.0.0

Original post : Discord post

Solution : Use a version of surrealdb >= 1.4.2

Discussed it on discord and didn't put an issue here, but here's the response I got :

A version check has been added but is not in the beta releases yet @kearfy

Related PR :

262

kearfy commented 1 month ago

As @miisteur974 kindly pointed out, the minimum required version for the 1.0.0 version of this library is SurrealDB 1.4.2. I'll be releasing a new beta in a couple minutes likely, that should prevent any confusion in the future. Thanks!