Skip to content
# Class: MultiQuerySplitter

Defined in: packages/core/src/utils/MultiQuerySplitter.ts:81

Splits SQL text containing multiple queries separated by semicolons

Provides sophisticated query boundary detection that properly handles:

  • String literals containing semicolons
  • Comments containing semicolons
  • Nested structures and complex SQL
  • Empty queries and whitespace handling

Example

typescript
const multiSQL = `
  -- First query
  SELECT 'hello;world' FROM users;
  
  // Second query with comment
  SELECT id FROM orders WHERE status = 'active';
  
  -- Empty query
  ;
`;

const queries = MultiQuerySplitter.split(multiSQL);
console.log(queries.queries.length); // 3 queries

// Find query at cursor position
const active = queries.getActive(150);
console.log(active?.sql); // Query containing position 150

Constructors

Constructor

new MultiQuerySplitter(): MultiQuerySplitter

Returns

MultiQuerySplitter

Methods

split()

static split(text): QueryCollection

Defined in: packages/core/src/utils/MultiQuerySplitter.ts:88

Split multi-query SQL text into individual queries

Parameters

text

string

SQL text that may contain multiple queries separated by semicolons

Returns

QueryCollection

Collection of individual queries with position information

Released under the MIT License.