split query - own implementation

This commit is contained in:
Jan Prochazka
2021-05-31 21:56:56 +02:00
parent e480e08e0e
commit fe055d4b70
5 changed files with 430 additions and 204 deletions

View File

@@ -1,6 +1,8 @@
export interface SplitterOptions {
allowBacktickString: boolean;
allowIndexParenString: boolean;
stringsBegins: string[];
stringsEnds: { string: string };
stringEscapes: string[];
allowSemicolon: boolean;
allowCustomDelimiter: boolean;
allowGoDelimiter: boolean;
@@ -8,28 +10,39 @@ export interface SplitterOptions {
}
export const defaultSplitterOptions = {
allowBacktickString: false,
stringsBegins: ["'"],
stringsEnds: { "'": "'" },
stringEscapes: { "'": "'" },
allowSemicolon: true,
allowCustomDelimiter: false,
allowGoDelimiter: false,
allowDollarDollarString: false,
allowIndexParenString: false,
};
export const mysqlSplitterOptions = {
...defaultSplitterOptions,
allowCustomDelimiter: true,
allowBacktickString: true,
stringsBegins: ["'", '`'],
stringsEnds: { "'": "'", '`': '`' },
stringEscapes: { "'": '\\', '`': '`' },
};
export const mssqlSplitterOptions = {
...defaultSplitterOptions,
allowSemicolon: false,
allowGoDelimiter: true,
allowIndexParenString: true,
stringsBegins: ["'", '['],
stringsEnds: { "'": "'", '[': ']' },
stringEscapes: { "'": "'" },
};
export const postgreSplitterOptions = {
...defaultSplitterOptions,
allowDollarDollarString: true,
stringsBegins: ["'", '"'],
stringsEnds: { "'": "'", '"': '"' },
stringEscapes: { "'": "'", '"': '"' },
};