Skip to content

Feature: Capabilities for in-memory DB #121

@7Hazard

Description

@7Hazard

Is your feature request related to a problem?

In JavaScript API, it's possible to specify additional capabilities, including experimental features for the in-memory DB:

type ConnectionOptions = {
    strict?: boolean;
    query_timeout?: number;
    transaction_timeout?: number;
    capabilities?: boolean | {
        scripting?: boolean;
        guest_access?: boolean;
        live_query_notifications?: boolean;
        functions?: boolean | string[] | CapabilitiesAllowDenyList;
        network_targets?: boolean | string[] | CapabilitiesAllowDenyList;
        experimental?: boolean | string[] | CapabilitiesAllowDenyList;
    };
};

However, there's no such ability with this package to achieve the same thing. When running an in-memory DB, the following error occurs when I try to use an experimental feature:

com.surrealdb.SurrealException: Parse error: Experimental capability `record_references` is not enabled
     --> [1:55]
      |
    1 | ...table> REFERENCE ON DELETE CASCADE PERMISSIONS FULL
      |              ^ Use of `REFERENCE` keyword is still experimental

Describe the solution

API that allows specifying additional capabilities, including but not limited to experimental features.

Alternative methods

Running an ephemral database through a shell outside of the Java API, passing options to enable the additional capabilities, and just connecting to it with localhost.

SurrealDB version

2.3.3 for windows on x86_64

SurrealDB Java SDK version

1.0.0-beta.1

Contact Details

No response

Is there an existing issue for this?

  • I have searched the existing issues

Code of Conduct (repository /surrealdb.java)

  • I agree to follow this project's Code of Conduct

Metadata

Metadata

Assignees

No one assigned

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions