JSPM

  • ESM via JSPM
  • ES Module Entrypoint
  • Export Map
  • Keywords
  • License
  • Repository URL
  • TypeScript Types
  • README
  • Created
  • Published
  • Downloads 409
  • Score
    100M100P100Q161667F
  • License Apache-2.0

Package Exports

  • @cratedb/cratedb-sqlparse

Readme

CrateDB SQL Parser for JavaScript

NPM Version NPM Unpacked Size NPM Type Definitions NPM License

CrateDB SQL Parser for JavaScript, compiled from antlr4 JavaScript compile target.

Simple usage

import { sqlparse } from "cratedb-sqlparse";

const query = `
SELECT * FROM SYS.SHARDS;
INSERT INTO doc.tbl1 VALUES ('metric', 1238123, 'true');
`
const queries = sqlparse(query);

console.log(queries.length)
// 2

console.log(queries[0].query)
// SELECT * FROM SYS.SHARDS

console.log(queries[0].type)
// SELECT

console.log(queries[0].original_query)
// SELECT * FROM SYS.SHARDS;
// INSERT INTO doc.tbl1 VALUES ('metric', 1238123, 'true');

Features

Currently, we support the same features as CrateDB java's parser:

  • First class CrateDB sql dialect support.
  • Input is case-insensitive.
  • Native errors as exceptions.
  • Dollar strings.

Optional features:

Errors

Errors are thrown as 'ParseError' e.g:

ParseError: line2:9 mismatched input 'ROM' expecting {<EOF>, ';'}