New:Socket for Asana Is Now Available.Learn more
Get Started

@memberjunction/sql-dialect

Package Overview
Dependencies
Maintainers
11
Versions
61
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

@memberjunction/sql-dialect - npm Package Compare versions

Comparing version
6.1.0-edge.3
to
6.1.0-edge.4
+40
dist/postgresqlRestarLayeredOuter.d.ts
/**
* Rebuild a PostgreSQL layered outer view so `g.*` re-expands against the
* current inner view.
*
* PostgreSQL expands `SELECT *` / `g.*` at CREATE VIEW time and freezes the
* column list. `CREATE OR REPLACE` of the inner view does not touch dependents,
* so a wrapper written as `SELECT g.*, extras FROM inner g` silently stops
* picking up new inner columns. `pg_get_viewdef` returns that *expanded* list,
* not the original `g.*`.
*
* This rewrites the deparsed outer definition back to `SELECT <alias>.*, extras`
* so CREATE VIEW re-expands against the live inner relation. Extra SELECT items
* (computed columns, joins) are preserved. Inner columns newly added in the
* *middle* of `g.*` are not in the old deparsed list; putting `g.*` back is
* what makes them appear.
*
* The extras-are-trailing contract is the layered-view one: `g.*` then
* application columns. We consume leading SELECT items that are simple
* references to inner-view columns, and treat the rest as extras.
*/
export declare class LayeredOuterRestarError extends Error {
constructor(message: string);
}
export interface RestarLayeredOuterViewArgs {
/** Body returned by `pg_get_viewdef(oid, true)` — a SELECT, not CREATE VIEW. */
viewDefinition: string;
/** Unquoted inner view name, e.g. `vwOrganizationsGenerated`. */
innerViewName: string;
/** Inner view column names in ordinal order (unquoted). */
innerColumns: string[];
}
export declare function restarLayeredOuterView(args: RestarLayeredOuterViewArgs): string;
export declare function buildCreateOrReplaceLayeredOuterViewSQL(schema: string, outerView: string, restarredSelect: string): string;
/**
* Index of a top-level SQL keyword (FROM, etc.) in `sql`, ignoring matches
* inside parentheses or quoted identifiers/strings.
*/
export declare function findTopLevelKeyword(sql: string, keyword: string): number;
export declare function splitTopLevelCommaList(list: string): string[];
//# sourceMappingURL=postgresqlRestarLayeredOuter.d.ts.map
{"version":3,"file":"postgresqlRestarLayeredOuter.d.ts","sourceRoot":"","sources":["../src/postgresqlRestarLayeredOuter.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;GAmBG;AAEH,qBAAa,uBAAwB,SAAQ,KAAK;gBAClC,OAAO,EAAE,MAAM;CAI9B;AAED,MAAM,WAAW,0BAA0B;IACvC,gFAAgF;IAChF,cAAc,EAAE,MAAM,CAAC;IACvB,iEAAiE;IACjE,aAAa,EAAE,MAAM,CAAC;IACtB,2DAA2D;IAC3D,YAAY,EAAE,MAAM,EAAE,CAAC;CAC1B;AAID,wBAAgB,sBAAsB,CAAC,IAAI,EAAE,0BAA0B,GAAG,MAAM,CAgD/E;AAED,wBAAgB,uCAAuC,CACnD,MAAM,EAAE,MAAM,EACd,SAAS,EAAE,MAAM,EACjB,eAAe,EAAE,MAAM,GACxB,MAAM,CAER;AAmBD;;;GAGG;AACH,wBAAgB,mBAAmB,CAAC,GAAG,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,GAAG,MAAM,CA+BxE;AAED,wBAAgB,sBAAsB,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,EAAE,CAgC7D"}
/**
* Rebuild a PostgreSQL layered outer view so `g.*` re-expands against the
* current inner view.
*
* PostgreSQL expands `SELECT *` / `g.*` at CREATE VIEW time and freezes the
* column list. `CREATE OR REPLACE` of the inner view does not touch dependents,
* so a wrapper written as `SELECT g.*, extras FROM inner g` silently stops
* picking up new inner columns. `pg_get_viewdef` returns that *expanded* list,
* not the original `g.*`.
*
* This rewrites the deparsed outer definition back to `SELECT <alias>.*, extras`
* so CREATE VIEW re-expands against the live inner relation. Extra SELECT items
* (computed columns, joins) are preserved. Inner columns newly added in the
* *middle* of `g.*` are not in the old deparsed list; putting `g.*` back is
* what makes them appear.
*
* The extras-are-trailing contract is the layered-view one: `g.*` then
* application columns. We consume leading SELECT items that are simple
* references to inner-view columns, and treat the rest as extras.
*/
export class LayeredOuterRestarError extends Error {
constructor(message) {
super(message);
this.name = 'LayeredOuterRestarError';
}
}
const IDENT = String.raw `(?:"[^"]+"|[A-Za-z_][A-Za-z0-9_$]*)`;
export function restarLayeredOuterView(args) {
const innerCols = new Set(args.innerColumns.map((c) => c));
if (innerCols.size === 0) {
throw new LayeredOuterRestarError('innerColumns is empty; cannot restar a layered outer view');
}
let def = args.viewDefinition.trim();
if (def.endsWith(';')) {
def = def.slice(0, -1).trim();
}
if (!/^select\b/i.test(def)) {
throw new LayeredOuterRestarError(`outer view definition does not start with SELECT: ${def.slice(0, 80)}`);
}
const fromPos = findTopLevelKeyword(def, 'from');
if (fromPos < 0) {
throw new LayeredOuterRestarError('outer view definition has no top-level FROM');
}
const selectList = def.slice('select'.length, fromPos).trim();
const fromAndRest = def.slice(fromPos).trim();
const alias = detectInnerAlias(fromAndRest, args.innerViewName) ?? 'g';
const items = splitTopLevelCommaList(selectList);
if (items.length === 0) {
throw new LayeredOuterRestarError('outer view SELECT list is empty');
}
if (isStarOfAlias(items[0], alias) || isBareStar(items[0])) {
const extras = items.slice(1);
return rebuildSelect(alias, extras, fromAndRest);
}
let consumed = 0;
for (const item of items) {
if (isSimpleInnerColumnRef(item, alias, innerCols)) {
consumed++;
}
else {
break;
}
}
if (consumed === 0) {
throw new LayeredOuterRestarError(`outer view SELECT list does not start with inner columns of ${args.innerViewName} (first item: ${items[0].slice(0, 80)})`);
}
return rebuildSelect(alias, items.slice(consumed), fromAndRest);
}
export function buildCreateOrReplaceLayeredOuterViewSQL(schema, outerView, restarredSelect) {
return `CREATE OR REPLACE VIEW ${quoteQualified(schema, outerView)}\nAS\n${restarredSelect}`;
}
function rebuildSelect(alias, extras, fromAndRest) {
const star = `SELECT ${quoteIdent(alias)}.*`;
if (extras.length === 0) {
return `${star}\n${fromAndRest}`;
}
const extraList = extras.map((e) => e.trim()).join(',\n ');
return `${star},\n ${extraList}\n${fromAndRest}`;
}
function quoteIdent(name) {
return `"${name.replace(/"/g, '""')}"`;
}
function quoteQualified(schema, name) {
return `${quoteIdent(schema)}.${quoteIdent(name)}`;
}
/**
* Index of a top-level SQL keyword (FROM, etc.) in `sql`, ignoring matches
* inside parentheses or quoted identifiers/strings.
*/
export function findTopLevelKeyword(sql, keyword) {
const target = keyword.toLowerCase();
let depth = 0;
let i = 0;
while (i < sql.length) {
const ch = sql[i];
if (ch === "'" || ch === '"') {
i = skipQuoted(sql, i, ch);
continue;
}
if (ch === '(') {
depth++;
i++;
continue;
}
if (ch === ')') {
depth--;
i++;
continue;
}
if (depth === 0 &&
isKeywordStart(sql, i) &&
sql.slice(i, i + target.length).toLowerCase() === target &&
isKeywordEnd(sql, i + target.length)) {
return i;
}
i++;
}
return -1;
}
export function splitTopLevelCommaList(list) {
const items = [];
let depth = 0;
let start = 0;
let i = 0;
while (i < list.length) {
const ch = list[i];
if (ch === "'" || ch === '"') {
i = skipQuoted(list, i, ch);
continue;
}
if (ch === '(') {
depth++;
i++;
continue;
}
if (ch === ')') {
depth--;
i++;
continue;
}
if (ch === ',' && depth === 0) {
items.push(list.slice(start, i).trim());
start = i + 1;
}
i++;
}
const last = list.slice(start).trim();
if (last) {
items.push(last);
}
return items;
}
function skipQuoted(sql, start, quote) {
let i = start + 1;
while (i < sql.length) {
if (sql[i] === quote) {
if (sql[i + 1] === quote) {
i += 2;
continue;
}
return i + 1;
}
i++;
}
return sql.length;
}
function isKeywordStart(sql, index) {
if (index === 0) {
return true;
}
return !/[A-Za-z0-9_$]/.test(sql[index - 1]);
}
function isKeywordEnd(sql, index) {
if (index >= sql.length) {
return true;
}
return !/[A-Za-z0-9_$]/.test(sql[index]);
}
function detectInnerAlias(fromAndRest, innerViewName) {
const fromMatch = fromAndRest.match(new RegExp(String.raw `^from\s+(${IDENT}(?:\.${IDENT})?)(?:\s+as)?\s+(${IDENT})\b`, 'i'));
if (!fromMatch) {
return null;
}
const relation = unquoteIdent(fromMatch[1].includes('.') ? fromMatch[1].slice(fromMatch[1].lastIndexOf('.') + 1) : fromMatch[1]);
if (relation !== innerViewName) {
return null;
}
return unquoteIdent(fromMatch[2]);
}
function unquoteIdent(raw) {
const trimmed = raw.trim();
if (trimmed.startsWith('"') && trimmed.endsWith('"')) {
return trimmed.slice(1, -1).replace(/""/g, '"');
}
return trimmed;
}
function isBareStar(item) {
return item.trim() === '*';
}
function isStarOfAlias(item, alias) {
const t = item.trim();
const aliasQ = quoteIdent(alias);
return new RegExp(String.raw `^(?:${escapeRegExp(aliasQ)}|${escapeRegExp(alias)})\.\*$`, 'i').test(t);
}
function isSimpleInnerColumnRef(item, alias, innerCols) {
let t = item.trim();
t = t.replace(/\s*::[\w\s."()]+$/i, '').trim();
t = stripWrappingParens(t);
const asMatch = t.match(new RegExp(String.raw `^(.*)\s+as\s+(${IDENT})$`, 'i'));
let asName = null;
if (asMatch) {
t = asMatch[1].trim();
asName = unquoteIdent(asMatch[2]);
}
const colMatch = t.match(new RegExp(String.raw `^(?:(${IDENT})\.)?(${IDENT})$`));
if (!colMatch) {
return false;
}
if (colMatch[1] && unquoteIdent(colMatch[1]) !== alias) {
return false;
}
const col = unquoteIdent(colMatch[2]);
if (asName && asName !== col) {
return false;
}
return innerCols.has(col);
}
function stripWrappingParens(s) {
let t = s;
while (t.startsWith('(') && t.endsWith(')')) {
let depth = 0;
let wraps = true;
for (let i = 0; i < t.length; i++) {
if (t[i] === '(')
depth++;
else if (t[i] === ')')
depth--;
if (depth === 0 && i < t.length - 1) {
wraps = false;
break;
}
}
if (!wraps) {
break;
}
t = t.slice(1, -1).trim();
}
return t;
}
function escapeRegExp(s) {
return s.replace(/[.*+?^${}()|[\]\\]/g, '\\$&');
}
//# sourceMappingURL=postgresqlRestarLayeredOuter.js.map
{"version":3,"file":"postgresqlRestarLayeredOuter.js","sourceRoot":"","sources":["../src/postgresqlRestarLayeredOuter.ts"],"names":[],"mappings":"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"}
+2
-0

@@ -8,4 +8,6 @@ export { DataTypeMap, MappedType } from './dataTypeMap.js';

export { GetDialect } from './dialectFactory.js';
export { restarLayeredOuterView, buildCreateOrReplaceLayeredOuterViewSQL, LayeredOuterRestarError, findTopLevelKeyword, splitTopLevelCommaList, } from './postgresqlRestarLayeredOuter.js';
export type { RestarLayeredOuterViewArgs } from './postgresqlRestarLayeredOuter.js';
export { AutoQuotePostgreSQLIdentifiers, PostgreSQLQuotingKeywords, PostgreSQLStructuralKeywords, PostgreSQLContextualStructuralKeywords, } from './postgresqlAutoQuote.js';
export { IsBooleanSQLType, IsStringSQLType, IsFixedWidthStringSQLType, IsDateSQLType, IsIntegerSQLType, IsFloatSQLType, IsUuidSQLType, IsBinarySQLType, IsJsonSQLType, IsCurrencySQLType, IsIntervalSQLType, IsNetworkSQLType, IsNumericSQLType, } from './typeClassification.js';
//# sourceMappingURL=index.d.ts.map
+1
-1

@@ -1,1 +0,1 @@

{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;AAC3D,OAAO,EACH,UAAU,EACV,gBAAgB,EAChB,iBAAiB,EACjB,sBAAsB,EACtB,cAAc,EACd,YAAY,EACZ,gBAAgB,EAChB,kBAAkB,EAClB,kBAAkB,GACrB,MAAM,iBAAiB,CAAC;AACzB,YAAY,EAAE,gBAAgB,EAAE,MAAM,iBAAiB,CAAC;AACxD,YAAY,EAAE,eAAe,EAAE,MAAM,iBAAiB,CAAC;AACvD,OAAO,EAAE,gBAAgB,EAAE,MAAM,uBAAuB,CAAC;AACzD,OAAO,EAAE,iBAAiB,EAAE,MAAM,wBAAwB,CAAC;AAC3D,OAAO,EAAE,UAAU,EAAE,MAAM,qBAAqB,CAAC;AACjD,OAAO,EACH,8BAA8B,EAC9B,yBAAyB,EACzB,4BAA4B,EAC5B,sCAAsC,GACzC,MAAM,0BAA0B,CAAC;AAClC,OAAO,EACH,gBAAgB,EAChB,eAAe,EACf,yBAAyB,EACzB,aAAa,EACb,gBAAgB,EAChB,cAAc,EACd,aAAa,EACb,eAAe,EACf,aAAa,EACb,iBAAiB,EACjB,iBAAiB,EACjB,gBAAgB,EAChB,gBAAgB,GACnB,MAAM,yBAAyB,CAAC"}
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;AAC3D,OAAO,EACH,UAAU,EACV,gBAAgB,EAChB,iBAAiB,EACjB,sBAAsB,EACtB,cAAc,EACd,YAAY,EACZ,gBAAgB,EAChB,kBAAkB,EAClB,kBAAkB,GACrB,MAAM,iBAAiB,CAAC;AACzB,YAAY,EAAE,gBAAgB,EAAE,MAAM,iBAAiB,CAAC;AACxD,YAAY,EAAE,eAAe,EAAE,MAAM,iBAAiB,CAAC;AACvD,OAAO,EAAE,gBAAgB,EAAE,MAAM,uBAAuB,CAAC;AACzD,OAAO,EAAE,iBAAiB,EAAE,MAAM,wBAAwB,CAAC;AAC3D,OAAO,EAAE,UAAU,EAAE,MAAM,qBAAqB,CAAC;AACjD,OAAO,EACH,sBAAsB,EACtB,uCAAuC,EACvC,uBAAuB,EACvB,mBAAmB,EACnB,sBAAsB,GACzB,MAAM,mCAAmC,CAAC;AAC3C,YAAY,EAAE,0BAA0B,EAAE,MAAM,mCAAmC,CAAC;AACpF,OAAO,EACH,8BAA8B,EAC9B,yBAAyB,EACzB,4BAA4B,EAC5B,sCAAsC,GACzC,MAAM,0BAA0B,CAAC;AAClC,OAAO,EACH,gBAAgB,EAChB,eAAe,EACf,yBAAyB,EACzB,aAAa,EACb,gBAAgB,EAChB,cAAc,EACd,aAAa,EACb,eAAe,EACf,aAAa,EACb,iBAAiB,EACjB,iBAAiB,EACjB,gBAAgB,EAChB,gBAAgB,GACnB,MAAM,yBAAyB,CAAC"}

@@ -5,4 +5,5 @@ export { SQLDialect, } from './sqlDialect.js';

export { GetDialect } from './dialectFactory.js';
export { restarLayeredOuterView, buildCreateOrReplaceLayeredOuterViewSQL, LayeredOuterRestarError, findTopLevelKeyword, splitTopLevelCommaList, } from './postgresqlRestarLayeredOuter.js';
export { AutoQuotePostgreSQLIdentifiers, PostgreSQLQuotingKeywords, PostgreSQLStructuralKeywords, PostgreSQLContextualStructuralKeywords, } from './postgresqlAutoQuote.js';
export { IsBooleanSQLType, IsStringSQLType, IsFixedWidthStringSQLType, IsDateSQLType, IsIntegerSQLType, IsFloatSQLType, IsUuidSQLType, IsBinarySQLType, IsJsonSQLType, IsCurrencySQLType, IsIntervalSQLType, IsNetworkSQLType, IsNumericSQLType, } from './typeClassification.js';
//# sourceMappingURL=index.js.map

@@ -1,1 +0,1 @@

{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AACA,OAAO,EACH,UAAU,GASb,MAAM,iBAAiB,CAAC;AAGzB,OAAO,EAAE,gBAAgB,EAAE,MAAM,uBAAuB,CAAC;AACzD,OAAO,EAAE,iBAAiB,EAAE,MAAM,wBAAwB,CAAC;AAC3D,OAAO,EAAE,UAAU,EAAE,MAAM,qBAAqB,CAAC;AACjD,OAAO,EACH,8BAA8B,EAC9B,yBAAyB,EACzB,4BAA4B,EAC5B,sCAAsC,GACzC,MAAM,0BAA0B,CAAC;AAClC,OAAO,EACH,gBAAgB,EAChB,eAAe,EACf,yBAAyB,EACzB,aAAa,EACb,gBAAgB,EAChB,cAAc,EACd,aAAa,EACb,eAAe,EACf,aAAa,EACb,iBAAiB,EACjB,iBAAiB,EACjB,gBAAgB,EAChB,gBAAgB,GACnB,MAAM,yBAAyB,CAAC"}
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AACA,OAAO,EACH,UAAU,GASb,MAAM,iBAAiB,CAAC;AAGzB,OAAO,EAAE,gBAAgB,EAAE,MAAM,uBAAuB,CAAC;AACzD,OAAO,EAAE,iBAAiB,EAAE,MAAM,wBAAwB,CAAC;AAC3D,OAAO,EAAE,UAAU,EAAE,MAAM,qBAAqB,CAAC;AACjD,OAAO,EACH,sBAAsB,EACtB,uCAAuC,EACvC,uBAAuB,EACvB,mBAAmB,EACnB,sBAAsB,GACzB,MAAM,mCAAmC,CAAC;AAE3C,OAAO,EACH,8BAA8B,EAC9B,yBAAyB,EACzB,4BAA4B,EAC5B,sCAAsC,GACzC,MAAM,0BAA0B,CAAC;AAClC,OAAO,EACH,gBAAgB,EAChB,eAAe,EACf,yBAAyB,EACzB,aAAa,EACb,gBAAgB,EAChB,cAAc,EACd,aAAa,EACb,eAAe,EACf,aAAa,EACb,iBAAiB,EACjB,iBAAiB,EACjB,gBAAgB,EAChB,gBAAgB,GACnB,MAAM,yBAAyB,CAAC"}

@@ -5,3 +5,3 @@ {

"type": "module",
"version": "6.1.0-edge.3",
"version": "6.1.0-edge.4",
"description": "MemberJunction: SQL Dialect Abstraction Layer for multi-database support",

@@ -8,0 +8,0 @@ "main": "dist/index.js",