rawsql-ts 0.12.0 → 0.13.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/LICENSE +21 -0
- package/dist/esm/index.js +11 -0
- package/dist/esm/index.js.map +1 -1
- package/dist/esm/index.min.js +16 -16
- package/dist/esm/index.min.js.map +3 -3
- package/dist/esm/src/index.d.ts +12 -0
- package/dist/esm/src/index.js +11 -0
- package/dist/esm/src/index.js.map +1 -1
- package/dist/esm/src/models/Clause.d.ts +7 -3
- package/dist/esm/src/models/Clause.js +17 -4
- package/dist/esm/src/models/Clause.js.map +1 -1
- package/dist/esm/src/models/DDLStatements.d.ts +14 -2
- package/dist/esm/src/models/DDLStatements.js +12 -0
- package/dist/esm/src/models/DDLStatements.js.map +1 -1
- package/dist/esm/src/models/InsertQuery.d.ts +1 -4
- package/dist/esm/src/models/InsertQuery.js +3 -5
- package/dist/esm/src/models/InsertQuery.js.map +1 -1
- package/dist/esm/src/models/SqlPrintToken.d.ts +1 -0
- package/dist/esm/src/models/SqlPrintToken.js +1 -0
- package/dist/esm/src/models/SqlPrintToken.js.map +1 -1
- package/dist/esm/src/models/TableDefinitionModel.d.ts +39 -0
- package/dist/esm/src/models/TableDefinitionModel.js +77 -0
- package/dist/esm/src/models/TableDefinitionModel.js.map +1 -0
- package/dist/esm/src/models/ValuesQuery.d.ts +2 -0
- package/dist/esm/src/models/ValuesQuery.js +1 -0
- package/dist/esm/src/models/ValuesQuery.js.map +1 -1
- package/dist/esm/src/parsers/AlterTableParser.js +1 -1
- package/dist/esm/src/parsers/AlterTableParser.js.map +1 -1
- package/dist/esm/src/parsers/InsertQueryParser.js +4 -1
- package/dist/esm/src/parsers/InsertQueryParser.js.map +1 -1
- package/dist/esm/src/parsers/ReturningClauseParser.js +33 -47
- package/dist/esm/src/parsers/ReturningClauseParser.js.map +1 -1
- package/dist/esm/src/parsers/SqlParser.d.ts +0 -1
- package/dist/esm/src/parsers/SqlParser.js +44 -58
- package/dist/esm/src/parsers/SqlParser.js.map +1 -1
- package/dist/esm/src/parsers/SqlPrintTokenParser.d.ts +1 -0
- package/dist/esm/src/parsers/SqlPrintTokenParser.js +23 -5
- package/dist/esm/src/parsers/SqlPrintTokenParser.js.map +1 -1
- package/dist/esm/src/tokenReaders/LiteralTokenReader.js +7 -0
- package/dist/esm/src/tokenReaders/LiteralTokenReader.js.map +1 -1
- package/dist/esm/src/transformers/DDLDiffGenerator.d.ts +14 -0
- package/dist/esm/src/transformers/DDLDiffGenerator.js +197 -0
- package/dist/esm/src/transformers/DDLDiffGenerator.js.map +1 -0
- package/dist/esm/src/transformers/DDLGeneralizer.d.ts +13 -0
- package/dist/esm/src/transformers/DDLGeneralizer.js +98 -0
- package/dist/esm/src/transformers/DDLGeneralizer.js.map +1 -0
- package/dist/esm/src/transformers/DDLToFixtureConverter.d.ts +19 -0
- package/dist/esm/src/transformers/DDLToFixtureConverter.js +202 -0
- package/dist/esm/src/transformers/DDLToFixtureConverter.js.map +1 -0
- package/dist/esm/src/transformers/DeleteResultSelectConverter.d.ts +53 -0
- package/dist/esm/src/transformers/DeleteResultSelectConverter.js +394 -0
- package/dist/esm/src/transformers/DeleteResultSelectConverter.js.map +1 -0
- package/dist/esm/src/transformers/FixtureCteBuilder.d.ts +60 -0
- package/dist/esm/src/transformers/FixtureCteBuilder.js +147 -0
- package/dist/esm/src/transformers/FixtureCteBuilder.js.map +1 -0
- package/dist/esm/src/transformers/InsertQuerySelectValuesConverter.js +5 -2
- package/dist/esm/src/transformers/InsertQuerySelectValuesConverter.js.map +1 -1
- package/dist/esm/src/transformers/InsertResultSelectConverter.d.ts +64 -0
- package/dist/esm/src/transformers/InsertResultSelectConverter.js +495 -0
- package/dist/esm/src/transformers/InsertResultSelectConverter.js.map +1 -0
- package/dist/esm/src/transformers/MergeResultSelectConverter.d.ts +38 -0
- package/dist/esm/src/transformers/MergeResultSelectConverter.js +306 -0
- package/dist/esm/src/transformers/MergeResultSelectConverter.js.map +1 -0
- package/dist/esm/src/transformers/QueryBuilder.d.ts +11 -0
- package/dist/esm/src/transformers/QueryBuilder.js +19 -3
- package/dist/esm/src/transformers/QueryBuilder.js.map +1 -1
- package/dist/esm/src/transformers/SelectResultSelectConverter.d.ts +10 -0
- package/dist/esm/src/transformers/SelectResultSelectConverter.js +32 -0
- package/dist/esm/src/transformers/SelectResultSelectConverter.js.map +1 -0
- package/dist/esm/src/transformers/SimulatedSelectConverter.d.ts +23 -0
- package/dist/esm/src/transformers/SimulatedSelectConverter.js +61 -0
- package/dist/esm/src/transformers/SimulatedSelectConverter.js.map +1 -0
- package/dist/esm/src/transformers/UpdateResultSelectConverter.d.ts +51 -0
- package/dist/esm/src/transformers/UpdateResultSelectConverter.js +340 -0
- package/dist/esm/src/transformers/UpdateResultSelectConverter.js.map +1 -0
- package/dist/esm/src/utils/SelectQueryWithClauseHelper.d.ts +12 -0
- package/dist/esm/src/utils/SelectQueryWithClauseHelper.js +43 -0
- package/dist/esm/src/utils/SelectQueryWithClauseHelper.js.map +1 -0
- package/dist/esm/src/utils/ValueComponentRewriter.d.ts +3 -0
- package/dist/esm/src/utils/ValueComponentRewriter.js +180 -0
- package/dist/esm/src/utils/ValueComponentRewriter.js.map +1 -0
- package/dist/esm/tsconfig.browser.tsbuildinfo +1 -1
- package/dist/formatters/OriginalFormatRestorer.js +139 -0
- package/dist/formatters/OriginalFormatRestorer.js.map +1 -0
- package/dist/index.js +144 -0
- package/dist/index.js.map +1 -0
- package/dist/index.min.js +17 -17
- package/dist/index.min.js.map +3 -3
- package/dist/models/BinarySelectQuery.js +198 -0
- package/dist/models/BinarySelectQuery.js.map +1 -0
- package/dist/models/CTEError.js +37 -0
- package/dist/models/CTEError.js.map +1 -0
- package/dist/models/Clause.js +535 -0
- package/dist/models/Clause.js.map +1 -0
- package/dist/models/CreateTableQuery.js +135 -0
- package/dist/models/CreateTableQuery.js.map +1 -0
- package/dist/models/DDLStatements.js +275 -0
- package/dist/models/DDLStatements.js.map +1 -0
- package/dist/models/DeleteQuery.js +20 -0
- package/dist/models/DeleteQuery.js.map +1 -0
- package/dist/models/FormattingLexeme.js +3 -0
- package/dist/models/FormattingLexeme.js.map +1 -0
- package/dist/models/HintClause.js +41 -0
- package/dist/models/HintClause.js.map +1 -0
- package/dist/models/InsertQuery.js +23 -0
- package/dist/models/InsertQuery.js.map +1 -0
- package/dist/models/KeywordTrie.js +54 -0
- package/dist/models/KeywordTrie.js.map +1 -0
- package/dist/models/Lexeme.js +22 -0
- package/dist/models/Lexeme.js.map +1 -0
- package/dist/models/MergeQuery.js +104 -0
- package/dist/models/MergeQuery.js.map +1 -0
- package/dist/models/SelectQuery.js +22 -0
- package/dist/models/SelectQuery.js.map +1 -0
- package/dist/models/SimpleSelectQuery.js +648 -0
- package/dist/models/SimpleSelectQuery.js.map +1 -0
- package/dist/models/SqlComponent.js +73 -0
- package/dist/models/SqlComponent.js.map +1 -0
- package/dist/models/SqlPrintToken.js +143 -0
- package/dist/models/SqlPrintToken.js.map +1 -0
- package/dist/models/TableDefinitionModel.js +86 -0
- package/dist/models/TableDefinitionModel.js.map +1 -0
- package/dist/models/UpdateQuery.js +29 -0
- package/dist/models/UpdateQuery.js.map +1 -0
- package/dist/models/ValueComponent.js +380 -0
- package/dist/models/ValueComponent.js.map +1 -0
- package/dist/models/ValuesQuery.js +62 -0
- package/dist/models/ValuesQuery.js.map +1 -0
- package/dist/parsers/AlterTableParser.js +490 -0
- package/dist/parsers/AlterTableParser.js.map +1 -0
- package/dist/parsers/AnalyzeStatementParser.js +94 -0
- package/dist/parsers/AnalyzeStatementParser.js.map +1 -0
- package/dist/parsers/CommandExpressionParser.js +213 -0
- package/dist/parsers/CommandExpressionParser.js.map +1 -0
- package/dist/parsers/CommonTableParser.js +177 -0
- package/dist/parsers/CommonTableParser.js.map +1 -0
- package/dist/parsers/CreateIndexParser.js +241 -0
- package/dist/parsers/CreateIndexParser.js.map +1 -0
- package/dist/parsers/CreateTableParser.js +738 -0
- package/dist/parsers/CreateTableParser.js.map +1 -0
- package/dist/parsers/DeleteClauseParser.js +37 -0
- package/dist/parsers/DeleteClauseParser.js.map +1 -0
- package/dist/parsers/DeleteQueryParser.js +77 -0
- package/dist/parsers/DeleteQueryParser.js.map +1 -0
- package/dist/parsers/DropConstraintParser.js +51 -0
- package/dist/parsers/DropConstraintParser.js.map +1 -0
- package/dist/parsers/DropIndexParser.js +73 -0
- package/dist/parsers/DropIndexParser.js.map +1 -0
- package/dist/parsers/DropTableParser.js +63 -0
- package/dist/parsers/DropTableParser.js.map +1 -0
- package/dist/parsers/ExplainStatementParser.js +189 -0
- package/dist/parsers/ExplainStatementParser.js.map +1 -0
- package/dist/parsers/FetchClauseParser.js +89 -0
- package/dist/parsers/FetchClauseParser.js.map +1 -0
- package/dist/parsers/ForClauseParser.js +58 -0
- package/dist/parsers/ForClauseParser.js.map +1 -0
- package/dist/parsers/FromClauseParser.js +54 -0
- package/dist/parsers/FromClauseParser.js.map +1 -0
- package/dist/parsers/FullNameParser.js +110 -0
- package/dist/parsers/FullNameParser.js.map +1 -0
- package/dist/parsers/FunctionExpressionParser.js +524 -0
- package/dist/parsers/FunctionExpressionParser.js.map +1 -0
- package/dist/parsers/GroupByParser.js +58 -0
- package/dist/parsers/GroupByParser.js.map +1 -0
- package/dist/parsers/HavingParser.js +36 -0
- package/dist/parsers/HavingParser.js.map +1 -0
- package/dist/parsers/IdentifierDecorator.js +17 -0
- package/dist/parsers/IdentifierDecorator.js.map +1 -0
- package/dist/parsers/IdentifierParser.js +15 -0
- package/dist/parsers/IdentifierParser.js.map +1 -0
- package/dist/parsers/InsertQueryParser.js +162 -0
- package/dist/parsers/InsertQueryParser.js.map +1 -0
- package/dist/parsers/JoinClauseParser.js +117 -0
- package/dist/parsers/JoinClauseParser.js.map +1 -0
- package/dist/parsers/JoinOnClauseParser.js +21 -0
- package/dist/parsers/JoinOnClauseParser.js.map +1 -0
- package/dist/parsers/JoinUsingClauseParser.js +23 -0
- package/dist/parsers/JoinUsingClauseParser.js.map +1 -0
- package/dist/parsers/KeywordParser.js +99 -0
- package/dist/parsers/KeywordParser.js.map +1 -0
- package/dist/parsers/LimitClauseParser.js +38 -0
- package/dist/parsers/LimitClauseParser.js.map +1 -0
- package/dist/parsers/LiteralParser.js +48 -0
- package/dist/parsers/LiteralParser.js.map +1 -0
- package/dist/parsers/MergeQueryParser.js +483 -0
- package/dist/parsers/MergeQueryParser.js.map +1 -0
- package/dist/parsers/OffsetClauseParser.js +42 -0
- package/dist/parsers/OffsetClauseParser.js.map +1 -0
- package/dist/parsers/OrderByClauseParser.js +108 -0
- package/dist/parsers/OrderByClauseParser.js.map +1 -0
- package/dist/parsers/OverExpressionParser.js +44 -0
- package/dist/parsers/OverExpressionParser.js.map +1 -0
- package/dist/parsers/ParameterDecorator.js +40 -0
- package/dist/parsers/ParameterDecorator.js.map +1 -0
- package/dist/parsers/ParameterExpressionParser.js +24 -0
- package/dist/parsers/ParameterExpressionParser.js.map +1 -0
- package/dist/parsers/ParenExpressionParser.js +109 -0
- package/dist/parsers/ParenExpressionParser.js.map +1 -0
- package/dist/parsers/ParseError.js +25 -0
- package/dist/parsers/ParseError.js.map +1 -0
- package/dist/parsers/PartitionByParser.js +53 -0
- package/dist/parsers/PartitionByParser.js.map +1 -0
- package/dist/parsers/ReturningClauseParser.js +64 -0
- package/dist/parsers/ReturningClauseParser.js.map +1 -0
- package/dist/parsers/SelectClauseParser.js +244 -0
- package/dist/parsers/SelectClauseParser.js.map +1 -0
- package/dist/parsers/SelectQueryParser.js +564 -0
- package/dist/parsers/SelectQueryParser.js.map +1 -0
- package/dist/parsers/SequenceParser.js +245 -0
- package/dist/parsers/SequenceParser.js.map +1 -0
- package/dist/parsers/SetClauseParser.js +125 -0
- package/dist/parsers/SetClauseParser.js.map +1 -0
- package/dist/parsers/SourceAliasExpressionParser.js +60 -0
- package/dist/parsers/SourceAliasExpressionParser.js.map +1 -0
- package/dist/parsers/SourceExpressionParser.js +69 -0
- package/dist/parsers/SourceExpressionParser.js.map +1 -0
- package/dist/parsers/SourceParser.js +144 -0
- package/dist/parsers/SourceParser.js.map +1 -0
- package/dist/parsers/SqlParser.js +431 -0
- package/dist/parsers/SqlParser.js.map +1 -0
- package/dist/parsers/SqlPrintTokenParser.js +3289 -0
- package/dist/parsers/SqlPrintTokenParser.js.map +1 -0
- package/dist/parsers/SqlTokenizer.js +553 -0
- package/dist/parsers/SqlTokenizer.js.map +1 -0
- package/dist/parsers/StringSpecifierExpressionParser.js +22 -0
- package/dist/parsers/StringSpecifierExpressionParser.js.map +1 -0
- package/dist/parsers/UnaryExpressionParser.js +39 -0
- package/dist/parsers/UnaryExpressionParser.js.map +1 -0
- package/dist/parsers/UpdateClauseParser.js +21 -0
- package/dist/parsers/UpdateClauseParser.js.map +1 -0
- package/dist/parsers/UpdateQueryParser.js +98 -0
- package/dist/parsers/UpdateQueryParser.js.map +1 -0
- package/dist/parsers/UsingClauseParser.js +33 -0
- package/dist/parsers/UsingClauseParser.js.map +1 -0
- package/dist/parsers/ValueParser.js +562 -0
- package/dist/parsers/ValueParser.js.map +1 -0
- package/dist/parsers/ValuesQueryParser.js +112 -0
- package/dist/parsers/ValuesQueryParser.js.map +1 -0
- package/dist/parsers/WhereClauseParser.js +51 -0
- package/dist/parsers/WhereClauseParser.js.map +1 -0
- package/dist/parsers/WindowClauseParser.js +57 -0
- package/dist/parsers/WindowClauseParser.js.map +1 -0
- package/dist/parsers/WindowExpressionParser.js +163 -0
- package/dist/parsers/WindowExpressionParser.js.map +1 -0
- package/dist/parsers/WithClauseParser.js +165 -0
- package/dist/parsers/WithClauseParser.js.map +1 -0
- package/dist/parsers/utils/LexemeCommentUtils.js +29 -0
- package/dist/parsers/utils/LexemeCommentUtils.js.map +1 -0
- package/dist/reporting/models/DataFlowEdge.js +58 -0
- package/dist/reporting/models/DataFlowEdge.js.map +1 -0
- package/dist/reporting/models/DataFlowGraph.js +138 -0
- package/dist/reporting/models/DataFlowGraph.js.map +1 -0
- package/dist/reporting/models/DataFlowNode.js +148 -0
- package/dist/reporting/models/DataFlowNode.js.map +1 -0
- package/dist/reporting/services/CTEHandler.js +58 -0
- package/dist/reporting/services/CTEHandler.js.map +1 -0
- package/dist/reporting/services/DataSourceHandler.js +95 -0
- package/dist/reporting/services/DataSourceHandler.js.map +1 -0
- package/dist/reporting/services/JoinHandler.js +84 -0
- package/dist/reporting/services/JoinHandler.js.map +1 -0
- package/dist/reporting/services/ProcessHandler.js +26 -0
- package/dist/reporting/services/ProcessHandler.js.map +1 -0
- package/dist/src/index.d.ts +15 -0
- package/dist/src/index.js +13 -1
- package/dist/src/index.js.map +1 -1
- package/dist/src/models/Clause.d.ts +7 -3
- package/dist/src/models/Clause.js +16 -3
- package/dist/src/models/Clause.js.map +1 -1
- package/dist/src/models/DDLStatements.d.ts +97 -2
- package/dist/src/models/DDLStatements.js +14 -1
- package/dist/src/models/DDLStatements.js.map +1 -1
- package/dist/src/models/InsertQuery.d.ts +1 -4
- package/dist/src/models/InsertQuery.js +3 -5
- package/dist/src/models/InsertQuery.js.map +1 -1
- package/dist/src/models/SqlPrintToken.d.ts +6 -0
- package/dist/src/models/SqlPrintToken.js +1 -0
- package/dist/src/models/SqlPrintToken.js.map +1 -1
- package/dist/src/models/TableDefinitionModel.d.ts +41 -0
- package/dist/src/models/TableDefinitionModel.js +85 -0
- package/dist/src/models/TableDefinitionModel.js.map +1 -0
- package/dist/src/models/ValueComponent.d.ts +2 -1
- package/dist/src/models/ValuesQuery.d.ts +2 -0
- package/dist/src/models/ValuesQuery.js +1 -0
- package/dist/src/models/ValuesQuery.js.map +1 -1
- package/dist/src/parsers/AlterTableParser.d.ts +1 -0
- package/dist/src/parsers/AlterTableParser.js +26 -5
- package/dist/src/parsers/AlterTableParser.js.map +1 -1
- package/dist/src/parsers/FunctionExpressionParser.d.ts +1 -0
- package/dist/src/parsers/InsertQueryParser.js +4 -1
- package/dist/src/parsers/InsertQueryParser.js.map +1 -1
- package/dist/src/parsers/ReturningClauseParser.js +33 -47
- package/dist/src/parsers/ReturningClauseParser.js.map +1 -1
- package/dist/src/parsers/SequenceParser.d.ts +16 -0
- package/dist/src/parsers/SqlParser.d.ts +4 -3
- package/dist/src/parsers/SqlParser.js +44 -63
- package/dist/src/parsers/SqlParser.js.map +1 -1
- package/dist/src/parsers/SqlPrintTokenParser.d.ts +9 -0
- package/dist/src/parsers/SqlPrintTokenParser.js +22 -4
- package/dist/src/parsers/SqlPrintTokenParser.js.map +1 -1
- package/dist/src/parsers/SqlTokenizer.d.ts +1 -0
- package/dist/src/tokenReaders/LiteralTokenReader.js +7 -0
- package/dist/src/tokenReaders/LiteralTokenReader.js.map +1 -1
- package/dist/src/transformers/DDLDiffGenerator.d.ts +18 -0
- package/dist/src/transformers/DDLDiffGenerator.js +313 -0
- package/dist/src/transformers/DDLDiffGenerator.js.map +1 -0
- package/dist/src/transformers/DDLGeneralizer.d.ts +13 -0
- package/dist/src/transformers/DDLGeneralizer.js +119 -0
- package/dist/src/transformers/DDLGeneralizer.js.map +1 -0
- package/dist/src/transformers/DDLToFixtureConverter.d.ts +19 -0
- package/dist/src/transformers/DDLToFixtureConverter.js +206 -0
- package/dist/src/transformers/DDLToFixtureConverter.js.map +1 -0
- package/dist/src/transformers/DeleteResultSelectConverter.d.ts +53 -0
- package/dist/src/transformers/DeleteResultSelectConverter.js +398 -0
- package/dist/src/transformers/DeleteResultSelectConverter.js.map +1 -0
- package/dist/src/transformers/FixtureCteBuilder.d.ts +60 -0
- package/dist/src/transformers/FixtureCteBuilder.js +151 -0
- package/dist/src/transformers/FixtureCteBuilder.js.map +1 -0
- package/dist/src/transformers/InsertQuerySelectValuesConverter.js +5 -2
- package/dist/src/transformers/InsertQuerySelectValuesConverter.js.map +1 -1
- package/dist/src/transformers/InsertResultSelectConverter.d.ts +67 -0
- package/dist/src/transformers/InsertResultSelectConverter.js +499 -0
- package/dist/src/transformers/InsertResultSelectConverter.js.map +1 -0
- package/dist/src/transformers/MergeResultSelectConverter.d.ts +38 -0
- package/dist/src/transformers/MergeResultSelectConverter.js +310 -0
- package/dist/src/transformers/MergeResultSelectConverter.js.map +1 -0
- package/dist/src/transformers/QueryBuilder.d.ts +11 -0
- package/dist/src/transformers/QueryBuilder.js +19 -3
- package/dist/src/transformers/QueryBuilder.js.map +1 -1
- package/dist/src/transformers/SelectResultSelectConverter.d.ts +10 -0
- package/dist/src/transformers/SelectResultSelectConverter.js +36 -0
- package/dist/src/transformers/SelectResultSelectConverter.js.map +1 -0
- package/dist/src/transformers/SimulatedSelectConverter.d.ts +23 -0
- package/dist/src/transformers/SimulatedSelectConverter.js +65 -0
- package/dist/src/transformers/SimulatedSelectConverter.js.map +1 -0
- package/dist/src/transformers/UpdateResultSelectConverter.d.ts +51 -0
- package/dist/src/transformers/UpdateResultSelectConverter.js +344 -0
- package/dist/src/transformers/UpdateResultSelectConverter.js.map +1 -0
- package/dist/src/types/GenericFixture.d.ts +17 -0
- package/dist/src/utils/SelectQueryWithClauseHelper.d.ts +12 -0
- package/dist/src/utils/SelectQueryWithClauseHelper.js +47 -0
- package/dist/src/utils/SelectQueryWithClauseHelper.js.map +1 -0
- package/dist/src/utils/TableNameUtils.d.ts +10 -0
- package/dist/src/utils/ValueComponentRewriter.d.ts +3 -0
- package/dist/src/utils/ValueComponentRewriter.js +183 -0
- package/dist/src/utils/ValueComponentRewriter.js.map +1 -0
- package/dist/tokenReaders/BaseTokenReader.js +86 -0
- package/dist/tokenReaders/BaseTokenReader.js.map +1 -0
- package/dist/tokenReaders/CommandTokenReader.js +221 -0
- package/dist/tokenReaders/CommandTokenReader.js.map +1 -0
- package/dist/tokenReaders/EscapedIdentifierTokenReader.js +99 -0
- package/dist/tokenReaders/EscapedIdentifierTokenReader.js.map +1 -0
- package/dist/tokenReaders/FunctionTokenReader.js +47 -0
- package/dist/tokenReaders/FunctionTokenReader.js.map +1 -0
- package/dist/tokenReaders/IdentifierTokenReader.js +34 -0
- package/dist/tokenReaders/IdentifierTokenReader.js.map +1 -0
- package/dist/tokenReaders/LiteralTokenReader.js +329 -0
- package/dist/tokenReaders/LiteralTokenReader.js.map +1 -0
- package/dist/tokenReaders/OperatorTokenReader.js +152 -0
- package/dist/tokenReaders/OperatorTokenReader.js.map +1 -0
- package/dist/tokenReaders/ParameterTokenReader.js +190 -0
- package/dist/tokenReaders/ParameterTokenReader.js.map +1 -0
- package/dist/tokenReaders/StringSpecifierTokenReader.js +31 -0
- package/dist/tokenReaders/StringSpecifierTokenReader.js.map +1 -0
- package/dist/tokenReaders/SymbolTokenReader.js +35 -0
- package/dist/tokenReaders/SymbolTokenReader.js.map +1 -0
- package/dist/tokenReaders/TokenReaderManager.js +110 -0
- package/dist/tokenReaders/TokenReaderManager.js.map +1 -0
- package/dist/tokenReaders/TypeTokenReader.js +69 -0
- package/dist/tokenReaders/TypeTokenReader.js.map +1 -0
- package/dist/transformers/AliasRenamer.js +600 -0
- package/dist/transformers/AliasRenamer.js.map +1 -0
- package/dist/transformers/CTEBuilder.js +188 -0
- package/dist/transformers/CTEBuilder.js.map +1 -0
- package/dist/transformers/CTECollector.js +409 -0
- package/dist/transformers/CTECollector.js.map +1 -0
- package/dist/transformers/CTEComposer.js +302 -0
- package/dist/transformers/CTEComposer.js.map +1 -0
- package/dist/transformers/CTEDependencyAnalyzer.js +285 -0
- package/dist/transformers/CTEDependencyAnalyzer.js.map +1 -0
- package/dist/transformers/CTEDependencyTracer.js +253 -0
- package/dist/transformers/CTEDependencyTracer.js.map +1 -0
- package/dist/transformers/CTEDisabler.js +355 -0
- package/dist/transformers/CTEDisabler.js.map +1 -0
- package/dist/transformers/CTEInjector.js +83 -0
- package/dist/transformers/CTEInjector.js.map +1 -0
- package/dist/transformers/CTENormalizer.js +46 -0
- package/dist/transformers/CTENormalizer.js.map +1 -0
- package/dist/transformers/CTEQueryDecomposer.js +589 -0
- package/dist/transformers/CTEQueryDecomposer.js.map +1 -0
- package/dist/transformers/CTERenamer.js +486 -0
- package/dist/transformers/CTERenamer.js.map +1 -0
- package/dist/transformers/CTETableReferenceCollector.js +358 -0
- package/dist/transformers/CTETableReferenceCollector.js.map +1 -0
- package/dist/transformers/ColumnReferenceCollector.js +478 -0
- package/dist/transformers/ColumnReferenceCollector.js.map +1 -0
- package/dist/transformers/DDLDiffGenerator.js +313 -0
- package/dist/transformers/DDLDiffGenerator.js.map +1 -0
- package/dist/transformers/DDLGeneralizer.js +119 -0
- package/dist/transformers/DDLGeneralizer.js.map +1 -0
- package/dist/transformers/DDLToFixtureConverter.js +206 -0
- package/dist/transformers/DDLToFixtureConverter.js.map +1 -0
- package/dist/transformers/DeleteResultSelectConverter.js +414 -0
- package/dist/transformers/DeleteResultSelectConverter.js.map +1 -0
- package/dist/transformers/DynamicQueryBuilder.js +164 -0
- package/dist/transformers/DynamicQueryBuilder.js.map +1 -0
- package/dist/transformers/EnhancedJsonMapping.js +223 -0
- package/dist/transformers/EnhancedJsonMapping.js.map +1 -0
- package/dist/transformers/FilterableItemCollector.js +259 -0
- package/dist/transformers/FilterableItemCollector.js.map +1 -0
- package/dist/transformers/FixtureCteBuilder.js +151 -0
- package/dist/transformers/FixtureCteBuilder.js.map +1 -0
- package/dist/transformers/FormatOptionResolver.js +67 -0
- package/dist/transformers/FormatOptionResolver.js.map +1 -0
- package/dist/transformers/Formatter.js +38 -0
- package/dist/transformers/Formatter.js.map +1 -0
- package/dist/transformers/InsertQuerySelectValuesConverter.js +125 -0
- package/dist/transformers/InsertQuerySelectValuesConverter.js.map +1 -0
- package/dist/transformers/InsertResultSelectConverter.js +589 -0
- package/dist/transformers/InsertResultSelectConverter.js.map +1 -0
- package/dist/transformers/JoinAggregationDecomposer.js +497 -0
- package/dist/transformers/JoinAggregationDecomposer.js.map +1 -0
- package/dist/transformers/JsonMappingConverter.js +392 -0
- package/dist/transformers/JsonMappingConverter.js.map +1 -0
- package/dist/transformers/JsonMappingUnifier.js +216 -0
- package/dist/transformers/JsonMappingUnifier.js.map +1 -0
- package/dist/transformers/LinePrinter.js +148 -0
- package/dist/transformers/LinePrinter.js.map +1 -0
- package/dist/transformers/MergeResultSelectConverter.js +310 -0
- package/dist/transformers/MergeResultSelectConverter.js.map +1 -0
- package/dist/transformers/ModelDrivenJsonMapping.js +122 -0
- package/dist/transformers/ModelDrivenJsonMapping.js.map +1 -0
- package/dist/transformers/OnelineFormattingHelper.js +99 -0
- package/dist/transformers/OnelineFormattingHelper.js.map +1 -0
- package/dist/transformers/ParameterCollector.js +37 -0
- package/dist/transformers/ParameterCollector.js.map +1 -0
- package/dist/transformers/PostgresArrayEntityCteBuilder.js +458 -0
- package/dist/transformers/PostgresArrayEntityCteBuilder.js.map +1 -0
- package/dist/transformers/PostgresJsonQueryBuilder.js +245 -0
- package/dist/transformers/PostgresJsonQueryBuilder.js.map +1 -0
- package/dist/transformers/PostgresObjectEntityCteBuilder.js +347 -0
- package/dist/transformers/PostgresObjectEntityCteBuilder.js.map +1 -0
- package/dist/transformers/QueryBuilder.js +649 -0
- package/dist/transformers/QueryBuilder.js.map +1 -0
- package/dist/transformers/QueryFlowDiagramGenerator.js +157 -0
- package/dist/transformers/QueryFlowDiagramGenerator.js.map +1 -0
- package/dist/transformers/SchemaCollector.js +523 -0
- package/dist/transformers/SchemaCollector.js.map +1 -0
- package/dist/transformers/SelectResultSelectConverter.js +36 -0
- package/dist/transformers/SelectResultSelectConverter.js.map +1 -0
- package/dist/transformers/SelectValueCollector.js +244 -0
- package/dist/transformers/SelectValueCollector.js.map +1 -0
- package/dist/transformers/SelectableColumnCollector.js +674 -0
- package/dist/transformers/SelectableColumnCollector.js.map +1 -0
- package/dist/transformers/SimulatedSelectConverter.js +65 -0
- package/dist/transformers/SimulatedSelectConverter.js.map +1 -0
- package/dist/transformers/SmartRenamer.js +422 -0
- package/dist/transformers/SmartRenamer.js.map +1 -0
- package/dist/transformers/SqlFormatter.js +77 -0
- package/dist/transformers/SqlFormatter.js.map +1 -0
- package/dist/transformers/SqlIdentifierRenamer.js +504 -0
- package/dist/transformers/SqlIdentifierRenamer.js.map +1 -0
- package/dist/transformers/SqlOutputToken.js +13 -0
- package/dist/transformers/SqlOutputToken.js.map +1 -0
- package/dist/transformers/SqlPaginationInjector.js +108 -0
- package/dist/transformers/SqlPaginationInjector.js.map +1 -0
- package/dist/transformers/SqlParamInjector.js +802 -0
- package/dist/transformers/SqlParamInjector.js.map +1 -0
- package/dist/transformers/SqlParameterBinder.js +70 -0
- package/dist/transformers/SqlParameterBinder.js.map +1 -0
- package/dist/transformers/SqlPrinter.js +1478 -0
- package/dist/transformers/SqlPrinter.js.map +1 -0
- package/dist/transformers/SqlSortInjector.js +153 -0
- package/dist/transformers/SqlSortInjector.js.map +1 -0
- package/dist/transformers/TableColumnResolver.js +3 -0
- package/dist/transformers/TableColumnResolver.js.map +1 -0
- package/dist/transformers/TableSourceCollector.js +439 -0
- package/dist/transformers/TableSourceCollector.js.map +1 -0
- package/dist/transformers/TypeTransformationPostProcessor.js +363 -0
- package/dist/transformers/TypeTransformationPostProcessor.js.map +1 -0
- package/dist/transformers/UpdateResultSelectConverter.js +359 -0
- package/dist/transformers/UpdateResultSelectConverter.js.map +1 -0
- package/dist/transformers/UpstreamSelectQueryFinder.js +184 -0
- package/dist/transformers/UpstreamSelectQueryFinder.js.map +1 -0
- package/dist/tsconfig.tsbuildinfo +1 -1
- package/dist/types/Formatting.js +3 -0
- package/dist/types/Formatting.js.map +1 -0
- package/dist/types/GenericFixture.js +3 -0
- package/dist/types/GenericFixture.js.map +1 -0
- package/dist/utils/CTERegionDetector.js +464 -0
- package/dist/utils/CTERegionDetector.js.map +1 -0
- package/dist/utils/CommentEditor.js +345 -0
- package/dist/utils/CommentEditor.js.map +1 -0
- package/dist/utils/CommentUtils.js +69 -0
- package/dist/utils/CommentUtils.js.map +1 -0
- package/dist/utils/CursorContextAnalyzer.js +338 -0
- package/dist/utils/CursorContextAnalyzer.js.map +1 -0
- package/dist/utils/IntelliSenseApi.js +292 -0
- package/dist/utils/IntelliSenseApi.js.map +1 -0
- package/dist/utils/JsonSchemaValidator.js +215 -0
- package/dist/utils/JsonSchemaValidator.js.map +1 -0
- package/dist/utils/KeywordCache.js +206 -0
- package/dist/utils/KeywordCache.js.map +1 -0
- package/dist/utils/LexemeCursor.js +314 -0
- package/dist/utils/LexemeCursor.js.map +1 -0
- package/dist/utils/MultiQuerySplitter.js +292 -0
- package/dist/utils/MultiQuerySplitter.js.map +1 -0
- package/dist/utils/OperatorPrecedence.js +107 -0
- package/dist/utils/OperatorPrecedence.js.map +1 -0
- package/dist/utils/ParameterDetector.js +53 -0
- package/dist/utils/ParameterDetector.js.map +1 -0
- package/dist/utils/ParameterHelper.js +31 -0
- package/dist/utils/ParameterHelper.js.map +1 -0
- package/dist/utils/ParameterRemover.js +783 -0
- package/dist/utils/ParameterRemover.js.map +1 -0
- package/dist/utils/ParserStringUtils.js +31 -0
- package/dist/utils/ParserStringUtils.js.map +1 -0
- package/dist/utils/PositionAwareParser.js +363 -0
- package/dist/utils/PositionAwareParser.js.map +1 -0
- package/dist/utils/SchemaManager.js +217 -0
- package/dist/utils/SchemaManager.js.map +1 -0
- package/dist/utils/ScopeResolver.js +272 -0
- package/dist/utils/ScopeResolver.js.map +1 -0
- package/dist/utils/SelectQueryWithClauseHelper.js +47 -0
- package/dist/utils/SelectQueryWithClauseHelper.js.map +1 -0
- package/dist/utils/SqlSchemaValidator.js +55 -0
- package/dist/utils/SqlSchemaValidator.js.map +1 -0
- package/dist/utils/TableNameUtils.js +35 -0
- package/dist/utils/TableNameUtils.js.map +1 -0
- package/dist/utils/TextPositionUtils.js +128 -0
- package/dist/utils/TextPositionUtils.js.map +1 -0
- package/dist/utils/ValueComponentRewriter.js +187 -0
- package/dist/utils/ValueComponentRewriter.js.map +1 -0
- package/dist/utils/charLookupTable.js +73 -0
- package/dist/utils/charLookupTable.js.map +1 -0
- package/dist/utils/stringUtils.js +230 -0
- package/dist/utils/stringUtils.js.map +1 -0
- package/package.json +62 -62
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"DDLToFixtureConverter.js","sourceRoot":"","sources":["../../src/transformers/DDLToFixtureConverter.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,414 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.DeleteResultSelectConverter = void 0;
|
|
4
|
+
const Clause_1 = require("../models/Clause");
|
|
5
|
+
const SelectQuery_1 = require("../models/SelectQuery");
|
|
6
|
+
const ValueComponent_1 = require("../models/ValueComponent");
|
|
7
|
+
const TableSourceCollector_1 = require("./TableSourceCollector");
|
|
8
|
+
const FixtureCteBuilder_1 = require("./FixtureCteBuilder");
|
|
9
|
+
const SelectQueryWithClauseHelper_1 = require("../utils/SelectQueryWithClauseHelper");
|
|
10
|
+
const ValueComponentRewriter_1 = require("../utils/ValueComponentRewriter");
|
|
11
|
+
const TableNameUtils_1 = require("../utils/TableNameUtils");
|
|
12
|
+
const FullNameParser_1 = require("../parsers/FullNameParser");
|
|
13
|
+
class DeleteResultSelectConverter {
|
|
14
|
+
/**
|
|
15
|
+
* Converts a DELETE (with optional RETURNING) into a SELECT that mirrors its output rows.
|
|
16
|
+
*/
|
|
17
|
+
static toSelectQuery(deleteQuery, options) {
|
|
18
|
+
var _a, _b, _c, _d;
|
|
19
|
+
const targetTableName = this.extractTargetTableName(deleteQuery.deleteClause);
|
|
20
|
+
const tableDefinition = this.resolveTableDefinition(targetTableName, options);
|
|
21
|
+
const targetAlias = deleteQuery.deleteClause.getSourceAliasName();
|
|
22
|
+
// Build the SELECT structure that mirrors the DELETE source/join semantics.
|
|
23
|
+
const returningContext = deleteQuery.returningClause
|
|
24
|
+
? this.buildReturningContext(deleteQuery.deleteClause, deleteQuery.usingClause, targetAlias, tableDefinition, options)
|
|
25
|
+
: null;
|
|
26
|
+
const selectClause = deleteQuery.returningClause
|
|
27
|
+
? this.buildReturningSelectClause(deleteQuery.returningClause, returningContext)
|
|
28
|
+
: this.buildCountSelectClause();
|
|
29
|
+
const fromClause = this.buildFromClause(deleteQuery.deleteClause, deleteQuery.usingClause);
|
|
30
|
+
const whereClause = (_a = deleteQuery.whereClause) !== null && _a !== void 0 ? _a : null;
|
|
31
|
+
const selectQuery = new SelectQuery_1.SimpleSelectQuery({
|
|
32
|
+
withClause: (_b = deleteQuery.withClause) !== null && _b !== void 0 ? _b : undefined,
|
|
33
|
+
selectClause,
|
|
34
|
+
fromClause,
|
|
35
|
+
whereClause
|
|
36
|
+
});
|
|
37
|
+
// Ensure fixture coverage before weaving CTEs back into the SELECT.
|
|
38
|
+
const fixtureTables = (_c = options === null || options === void 0 ? void 0 : options.fixtureTables) !== null && _c !== void 0 ? _c : [];
|
|
39
|
+
const fixtureMap = this.buildFixtureTableMap(fixtureTables);
|
|
40
|
+
const missingStrategy = (_d = options === null || options === void 0 ? void 0 : options.missingFixtureStrategy) !== null && _d !== void 0 ? _d : this.DEFAULT_MISSING_FIXTURE_STRATEGY;
|
|
41
|
+
const originalWithClause = SelectQueryWithClauseHelper_1.SelectQueryWithClauseHelper.detachWithClause(selectQuery);
|
|
42
|
+
const referencedTables = this.collectPhysicalTableReferences(selectQuery, originalWithClause);
|
|
43
|
+
const cteNames = this.collectCteNamesFromWithClause(originalWithClause);
|
|
44
|
+
const targetVariants = (0, TableNameUtils_1.tableNameVariants)(targetTableName);
|
|
45
|
+
for (const variant of targetVariants) {
|
|
46
|
+
if (!cteNames.has(variant)) {
|
|
47
|
+
referencedTables.add(variant);
|
|
48
|
+
}
|
|
49
|
+
}
|
|
50
|
+
this.ensureFixtureCoverage(referencedTables, fixtureMap, missingStrategy);
|
|
51
|
+
const filteredFixtures = this.filterFixtureTablesForReferences(fixtureTables, referencedTables);
|
|
52
|
+
const fixtureCtes = this.buildFixtureCtes(filteredFixtures);
|
|
53
|
+
const mergedWithClause = this.mergeWithClause(originalWithClause, fixtureCtes);
|
|
54
|
+
SelectQueryWithClauseHelper_1.SelectQueryWithClauseHelper.setWithClause(selectQuery, mergedWithClause);
|
|
55
|
+
return selectQuery;
|
|
56
|
+
}
|
|
57
|
+
static buildReturningSelectClause(returning, context) {
|
|
58
|
+
const selectItems = this.buildReturningSelectItems(returning, context);
|
|
59
|
+
return new Clause_1.SelectClause(selectItems);
|
|
60
|
+
}
|
|
61
|
+
static buildReturningSelectItems(returning, context) {
|
|
62
|
+
// Build SELECT entries from RETURNING items, expanding wildcards before expression rewriting.
|
|
63
|
+
const selectItems = [];
|
|
64
|
+
for (const item of returning.items) {
|
|
65
|
+
if (this.isWildcardReturningItem(item)) {
|
|
66
|
+
selectItems.push(...this.expandReturningWildcard(context));
|
|
67
|
+
continue;
|
|
68
|
+
}
|
|
69
|
+
selectItems.push(this.buildDeleteReturningSelectItem(item, context));
|
|
70
|
+
}
|
|
71
|
+
return selectItems;
|
|
72
|
+
}
|
|
73
|
+
static isWildcardReturningItem(item) {
|
|
74
|
+
return (item.value instanceof ValueComponent_1.ColumnReference &&
|
|
75
|
+
item.value.column.name === '*');
|
|
76
|
+
}
|
|
77
|
+
static expandReturningWildcard(context) {
|
|
78
|
+
if (!context.targetDefinition) {
|
|
79
|
+
throw new Error('Cannot expand RETURNING * without table definition.');
|
|
80
|
+
}
|
|
81
|
+
return context.targetDefinition.columns.map((column) => {
|
|
82
|
+
const expression = this.composeDeleteColumnReference({ namespaces: null, column: column.name }, context);
|
|
83
|
+
return new Clause_1.SelectItem(expression, column.name);
|
|
84
|
+
});
|
|
85
|
+
}
|
|
86
|
+
static buildDeleteReturningSelectItem(item, context) {
|
|
87
|
+
const expression = (0, ValueComponentRewriter_1.rewriteValueComponentWithColumnResolver)(item.value, (column) => this.buildDeleteColumnReference(column, context));
|
|
88
|
+
const alias = this.getReturningAlias(item);
|
|
89
|
+
return new Clause_1.SelectItem(expression, alias);
|
|
90
|
+
}
|
|
91
|
+
static buildDeleteColumnReference(column, context) {
|
|
92
|
+
const parsed = this.parseReturningColumnName(column.toString());
|
|
93
|
+
return this.composeDeleteColumnReference(parsed, context);
|
|
94
|
+
}
|
|
95
|
+
static composeDeleteColumnReference(parsedColumn, context) {
|
|
96
|
+
var _a;
|
|
97
|
+
const tableContext = this.findTableContextForNamespaces(parsedColumn.namespaces, context);
|
|
98
|
+
const definitionToValidate = (_a = tableContext === null || tableContext === void 0 ? void 0 : tableContext.tableDefinition) !== null && _a !== void 0 ? _a : (parsedColumn.namespaces ? undefined : context.targetDefinition);
|
|
99
|
+
if (definitionToValidate) {
|
|
100
|
+
this.ensureColumnExists(parsedColumn.column, definitionToValidate);
|
|
101
|
+
}
|
|
102
|
+
const columnNamespace = parsedColumn.namespaces && parsedColumn.namespaces.length > 0
|
|
103
|
+
? [...parsedColumn.namespaces]
|
|
104
|
+
: context.targetAlias
|
|
105
|
+
? [context.targetAlias]
|
|
106
|
+
: null;
|
|
107
|
+
return new ValueComponent_1.ColumnReference(columnNamespace, parsedColumn.column);
|
|
108
|
+
}
|
|
109
|
+
static getReturningAlias(item) {
|
|
110
|
+
var _a;
|
|
111
|
+
if ((_a = item.identifier) === null || _a === void 0 ? void 0 : _a.name) {
|
|
112
|
+
return item.identifier.name;
|
|
113
|
+
}
|
|
114
|
+
if (item.value instanceof ValueComponent_1.ColumnReference) {
|
|
115
|
+
return item.value.toString();
|
|
116
|
+
}
|
|
117
|
+
return null;
|
|
118
|
+
}
|
|
119
|
+
static buildCountSelectClause() {
|
|
120
|
+
// Count rows when no RETURNING clause is present.
|
|
121
|
+
const countFunction = new ValueComponent_1.FunctionCall(null, 'count', new ValueComponent_1.RawString('*'), null);
|
|
122
|
+
const selectItem = new Clause_1.SelectItem(countFunction, 'count');
|
|
123
|
+
return new Clause_1.SelectClause([selectItem]);
|
|
124
|
+
}
|
|
125
|
+
static buildFromClause(deleteClause, usingClause) {
|
|
126
|
+
var _a;
|
|
127
|
+
if (!((_a = usingClause === null || usingClause === void 0 ? void 0 : usingClause.sources) === null || _a === void 0 ? void 0 : _a.length)) {
|
|
128
|
+
return new Clause_1.FromClause(deleteClause.source, null);
|
|
129
|
+
}
|
|
130
|
+
// Cross join each USING source so their columns remain available for predicates.
|
|
131
|
+
const joins = usingClause.sources.map((source) => new Clause_1.JoinClause('cross join', source, null, false));
|
|
132
|
+
return new Clause_1.FromClause(deleteClause.source, joins);
|
|
133
|
+
}
|
|
134
|
+
static buildReturningContext(deleteClause, usingClause, targetAlias, targetDefinition, options) {
|
|
135
|
+
const { aliasMap, tableNameMap } = this.buildTableContexts(deleteClause, usingClause, options);
|
|
136
|
+
return {
|
|
137
|
+
aliasMap,
|
|
138
|
+
tableNameMap,
|
|
139
|
+
targetAlias,
|
|
140
|
+
targetDefinition
|
|
141
|
+
};
|
|
142
|
+
}
|
|
143
|
+
static buildTableContexts(deleteClause, usingClause, options) {
|
|
144
|
+
const aliasMap = new Map();
|
|
145
|
+
const tableNameMap = new Map();
|
|
146
|
+
// Capture alias and table name contexts to resolve metadata for both identifiers.
|
|
147
|
+
const collectSource = (source) => {
|
|
148
|
+
const alias = source.getAliasName();
|
|
149
|
+
if (!alias || !(source.datasource instanceof Clause_1.TableSource)) {
|
|
150
|
+
return;
|
|
151
|
+
}
|
|
152
|
+
const normalizedAlias = this.normalizeIdentifier(alias);
|
|
153
|
+
if (aliasMap.has(normalizedAlias)) {
|
|
154
|
+
return;
|
|
155
|
+
}
|
|
156
|
+
const tableName = source.datasource.getSourceName();
|
|
157
|
+
const tableDefinition = this.resolveTableDefinition(tableName, options);
|
|
158
|
+
const context = {
|
|
159
|
+
alias,
|
|
160
|
+
tableName,
|
|
161
|
+
tableDefinition
|
|
162
|
+
};
|
|
163
|
+
aliasMap.set(normalizedAlias, context);
|
|
164
|
+
for (const variant of (0, TableNameUtils_1.tableNameVariants)(tableName)) {
|
|
165
|
+
if (!tableNameMap.has(variant)) {
|
|
166
|
+
tableNameMap.set(variant, context);
|
|
167
|
+
}
|
|
168
|
+
}
|
|
169
|
+
};
|
|
170
|
+
collectSource(deleteClause.source);
|
|
171
|
+
if (usingClause) {
|
|
172
|
+
for (const source of usingClause.sources) {
|
|
173
|
+
collectSource(source);
|
|
174
|
+
}
|
|
175
|
+
}
|
|
176
|
+
return { aliasMap, tableNameMap };
|
|
177
|
+
}
|
|
178
|
+
static parseReturningColumnName(columnName) {
|
|
179
|
+
const trimmed = columnName.trim();
|
|
180
|
+
if (!trimmed) {
|
|
181
|
+
throw new Error('Returning column name cannot be empty.');
|
|
182
|
+
}
|
|
183
|
+
try {
|
|
184
|
+
const parsed = FullNameParser_1.FullNameParser.parse(trimmed);
|
|
185
|
+
return {
|
|
186
|
+
namespaces: parsed.namespaces,
|
|
187
|
+
column: parsed.name.name
|
|
188
|
+
};
|
|
189
|
+
}
|
|
190
|
+
catch {
|
|
191
|
+
const parts = trimmed.split('.').map((segment) => segment.trim()).filter((segment) => segment.length > 0);
|
|
192
|
+
if (parts.length === 0) {
|
|
193
|
+
return { namespaces: null, column: trimmed };
|
|
194
|
+
}
|
|
195
|
+
const column = parts.pop();
|
|
196
|
+
return {
|
|
197
|
+
namespaces: parts.length > 0 ? parts : null,
|
|
198
|
+
column
|
|
199
|
+
};
|
|
200
|
+
}
|
|
201
|
+
}
|
|
202
|
+
static findTableContextForNamespaces(namespaces, context) {
|
|
203
|
+
if (!(namespaces === null || namespaces === void 0 ? void 0 : namespaces.length)) {
|
|
204
|
+
return undefined;
|
|
205
|
+
}
|
|
206
|
+
for (let depth = namespaces.length; depth > 0; depth--) {
|
|
207
|
+
const candidateParts = namespaces.slice(namespaces.length - depth);
|
|
208
|
+
const identifier = candidateParts.join('.');
|
|
209
|
+
const normalized = this.normalizeIdentifier(identifier);
|
|
210
|
+
const aliasContext = context.aliasMap.get(normalized);
|
|
211
|
+
if (aliasContext) {
|
|
212
|
+
return aliasContext;
|
|
213
|
+
}
|
|
214
|
+
const tableContext = context.tableNameMap.get(normalized);
|
|
215
|
+
if (tableContext) {
|
|
216
|
+
return tableContext;
|
|
217
|
+
}
|
|
218
|
+
}
|
|
219
|
+
return undefined;
|
|
220
|
+
}
|
|
221
|
+
static ensureColumnExists(columnName, tableDefinition) {
|
|
222
|
+
if (!tableDefinition) {
|
|
223
|
+
return;
|
|
224
|
+
}
|
|
225
|
+
const normalized = this.normalizeIdentifier(columnName);
|
|
226
|
+
const exists = tableDefinition.columns.some((column) => this.normalizeIdentifier(column.name) === normalized);
|
|
227
|
+
if (!exists) {
|
|
228
|
+
throw new Error(`Column '${columnName}' cannot be resolved for RETURNING output.`);
|
|
229
|
+
}
|
|
230
|
+
}
|
|
231
|
+
static resolveTableDefinition(tableName, options) {
|
|
232
|
+
if (options === null || options === void 0 ? void 0 : options.tableDefinitionResolver) {
|
|
233
|
+
const resolved = options.tableDefinitionResolver(tableName);
|
|
234
|
+
if (resolved !== undefined) {
|
|
235
|
+
return resolved;
|
|
236
|
+
}
|
|
237
|
+
}
|
|
238
|
+
const normalizedVariants = new Set((0, TableNameUtils_1.tableNameVariants)(tableName));
|
|
239
|
+
if (options === null || options === void 0 ? void 0 : options.tableDefinitions) {
|
|
240
|
+
const map = this.buildTableDefinitionMap(options.tableDefinitions);
|
|
241
|
+
for (const variant of normalizedVariants) {
|
|
242
|
+
const definition = map.get(variant);
|
|
243
|
+
if (definition) {
|
|
244
|
+
return definition;
|
|
245
|
+
}
|
|
246
|
+
}
|
|
247
|
+
}
|
|
248
|
+
if (options === null || options === void 0 ? void 0 : options.fixtureTables) {
|
|
249
|
+
const fixture = options.fixtureTables.find((f) => (0, TableNameUtils_1.tableNameVariants)(f.tableName).some((variant) => normalizedVariants.has(variant)));
|
|
250
|
+
if (fixture) {
|
|
251
|
+
return this.convertFixtureToTableDefinition(fixture);
|
|
252
|
+
}
|
|
253
|
+
}
|
|
254
|
+
return undefined;
|
|
255
|
+
}
|
|
256
|
+
static convertFixtureToTableDefinition(fixture) {
|
|
257
|
+
return {
|
|
258
|
+
name: fixture.tableName,
|
|
259
|
+
columns: fixture.columns.map(col => {
|
|
260
|
+
var _a;
|
|
261
|
+
return ({
|
|
262
|
+
name: col.name,
|
|
263
|
+
typeName: col.typeName,
|
|
264
|
+
required: false,
|
|
265
|
+
defaultValue: (_a = col.defaultValue) !== null && _a !== void 0 ? _a : null
|
|
266
|
+
});
|
|
267
|
+
})
|
|
268
|
+
};
|
|
269
|
+
}
|
|
270
|
+
static buildTableDefinitionMap(registry) {
|
|
271
|
+
const map = new Map();
|
|
272
|
+
for (const definition of Object.values(registry)) {
|
|
273
|
+
for (const variant of (0, TableNameUtils_1.tableNameVariants)(definition.name)) {
|
|
274
|
+
map.set(variant, definition);
|
|
275
|
+
}
|
|
276
|
+
}
|
|
277
|
+
return map;
|
|
278
|
+
}
|
|
279
|
+
static extractTargetTableName(deleteClause) {
|
|
280
|
+
const datasource = deleteClause.source.datasource;
|
|
281
|
+
if (datasource instanceof Clause_1.TableSource) {
|
|
282
|
+
return datasource.getSourceName();
|
|
283
|
+
}
|
|
284
|
+
throw new Error('Delete target must be a table source for conversion.');
|
|
285
|
+
}
|
|
286
|
+
static buildFixtureCtes(fixtures) {
|
|
287
|
+
if (!fixtures || fixtures.length === 0) {
|
|
288
|
+
return [];
|
|
289
|
+
}
|
|
290
|
+
return FixtureCteBuilder_1.FixtureCteBuilder.buildFixtures(fixtures);
|
|
291
|
+
}
|
|
292
|
+
static collectPhysicalTableReferences(selectQuery, withClause) {
|
|
293
|
+
const referencedTables = this.collectReferencedTables(selectQuery);
|
|
294
|
+
const ignoredTables = this.collectCteNamesFromWithClause(withClause);
|
|
295
|
+
const tablesToShadow = new Set();
|
|
296
|
+
// Keep only concrete tables that are not defined via WITH clause aliases.
|
|
297
|
+
for (const table of referencedTables) {
|
|
298
|
+
if (ignoredTables.has(table)) {
|
|
299
|
+
continue;
|
|
300
|
+
}
|
|
301
|
+
tablesToShadow.add(table);
|
|
302
|
+
}
|
|
303
|
+
const cteReferencedTables = this.collectReferencedTablesFromWithClause(withClause);
|
|
304
|
+
for (const table of cteReferencedTables) {
|
|
305
|
+
if (ignoredTables.has(table)) {
|
|
306
|
+
continue;
|
|
307
|
+
}
|
|
308
|
+
tablesToShadow.add(table);
|
|
309
|
+
}
|
|
310
|
+
return tablesToShadow;
|
|
311
|
+
}
|
|
312
|
+
static buildFixtureTableMap(fixtures) {
|
|
313
|
+
const map = new Map();
|
|
314
|
+
for (const fixture of fixtures) {
|
|
315
|
+
for (const variant of (0, TableNameUtils_1.tableNameVariants)(fixture.tableName)) {
|
|
316
|
+
map.set(variant, fixture);
|
|
317
|
+
}
|
|
318
|
+
}
|
|
319
|
+
return map;
|
|
320
|
+
}
|
|
321
|
+
static filterFixtureTablesForReferences(fixtures, referencedTables) {
|
|
322
|
+
if (!fixtures.length || referencedTables.size === 0) {
|
|
323
|
+
return [];
|
|
324
|
+
}
|
|
325
|
+
const filtered = [];
|
|
326
|
+
for (const fixture of fixtures) {
|
|
327
|
+
const fixtureVariants = (0, TableNameUtils_1.tableNameVariants)(fixture.tableName);
|
|
328
|
+
if (fixtureVariants.some((variant) => referencedTables.has(variant))) {
|
|
329
|
+
filtered.push(fixture);
|
|
330
|
+
}
|
|
331
|
+
}
|
|
332
|
+
return filtered;
|
|
333
|
+
}
|
|
334
|
+
static collectReferencedTablesFromWithClause(withClause) {
|
|
335
|
+
const tables = new Set();
|
|
336
|
+
if (!(withClause === null || withClause === void 0 ? void 0 : withClause.tables)) {
|
|
337
|
+
return tables;
|
|
338
|
+
}
|
|
339
|
+
for (const cte of withClause.tables) {
|
|
340
|
+
for (const table of this.collectReferencedTables(cte.query)) {
|
|
341
|
+
tables.add(table);
|
|
342
|
+
}
|
|
343
|
+
}
|
|
344
|
+
return tables;
|
|
345
|
+
}
|
|
346
|
+
static ensureFixtureCoverage(referencedTables, fixtureMap, strategy) {
|
|
347
|
+
if (referencedTables.size === 0) {
|
|
348
|
+
return;
|
|
349
|
+
}
|
|
350
|
+
const missingTables = this.getMissingFixtureTables(referencedTables, fixtureMap);
|
|
351
|
+
if (missingTables.length === 0) {
|
|
352
|
+
return;
|
|
353
|
+
}
|
|
354
|
+
if (strategy === 'error') {
|
|
355
|
+
throw new Error(`Delete SELECT refers to tables without fixture coverage: ${missingTables.join(', ')}.`);
|
|
356
|
+
}
|
|
357
|
+
}
|
|
358
|
+
static collectReferencedTables(query) {
|
|
359
|
+
const collector = new TableSourceCollector_1.TableSourceCollector(false);
|
|
360
|
+
const sources = collector.collect(query);
|
|
361
|
+
const normalized = new Set();
|
|
362
|
+
for (const source of sources) {
|
|
363
|
+
for (const variant of (0, TableNameUtils_1.tableNameVariants)(source.getSourceName())) {
|
|
364
|
+
normalized.add(variant);
|
|
365
|
+
}
|
|
366
|
+
}
|
|
367
|
+
return normalized;
|
|
368
|
+
}
|
|
369
|
+
static collectCteNamesFromWithClause(withClause) {
|
|
370
|
+
const names = new Set();
|
|
371
|
+
if (!(withClause === null || withClause === void 0 ? void 0 : withClause.tables)) {
|
|
372
|
+
return names;
|
|
373
|
+
}
|
|
374
|
+
for (const table of withClause.tables) {
|
|
375
|
+
for (const variant of (0, TableNameUtils_1.tableNameVariants)(table.getSourceAliasName())) {
|
|
376
|
+
names.add(variant);
|
|
377
|
+
}
|
|
378
|
+
}
|
|
379
|
+
return names;
|
|
380
|
+
}
|
|
381
|
+
static getMissingFixtureTables(referencedTables, fixtureMap) {
|
|
382
|
+
const missing = [];
|
|
383
|
+
for (const table of referencedTables) {
|
|
384
|
+
const covered = (0, TableNameUtils_1.tableNameVariants)(table).some((variant) => fixtureMap.has(variant));
|
|
385
|
+
if (!covered) {
|
|
386
|
+
missing.push(table);
|
|
387
|
+
}
|
|
388
|
+
}
|
|
389
|
+
return missing;
|
|
390
|
+
}
|
|
391
|
+
static mergeWithClause(original, fixtureCtes) {
|
|
392
|
+
var _a;
|
|
393
|
+
if (!fixtureCtes.length && !original) {
|
|
394
|
+
return null;
|
|
395
|
+
}
|
|
396
|
+
const combinedTables = [...fixtureCtes];
|
|
397
|
+
if (original === null || original === void 0 ? void 0 : original.tables) {
|
|
398
|
+
combinedTables.push(...original.tables);
|
|
399
|
+
}
|
|
400
|
+
if (!combinedTables.length) {
|
|
401
|
+
return null;
|
|
402
|
+
}
|
|
403
|
+
const merged = new Clause_1.WithClause((_a = original === null || original === void 0 ? void 0 : original.recursive) !== null && _a !== void 0 ? _a : false, combinedTables);
|
|
404
|
+
merged.globalComments = (original === null || original === void 0 ? void 0 : original.globalComments) ? [...original.globalComments] : null;
|
|
405
|
+
merged.trailingComments = (original === null || original === void 0 ? void 0 : original.trailingComments) ? [...original.trailingComments] : null;
|
|
406
|
+
return merged;
|
|
407
|
+
}
|
|
408
|
+
static normalizeIdentifier(value) {
|
|
409
|
+
return value.trim().toLowerCase();
|
|
410
|
+
}
|
|
411
|
+
}
|
|
412
|
+
exports.DeleteResultSelectConverter = DeleteResultSelectConverter;
|
|
413
|
+
DeleteResultSelectConverter.DEFAULT_MISSING_FIXTURE_STRATEGY = 'error';
|
|
414
|
+
//# sourceMappingURL=DeleteResultSelectConverter.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"DeleteResultSelectConverter.js","sourceRoot":"","sources":["../../src/transformers/DeleteResultSelectConverter.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,164 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.DynamicQueryBuilder = void 0;
|
|
4
|
+
const SelectQueryParser_1 = require("../parsers/SelectQueryParser");
|
|
5
|
+
const SqlParamInjector_1 = require("./SqlParamInjector");
|
|
6
|
+
const SqlSortInjector_1 = require("./SqlSortInjector");
|
|
7
|
+
const SqlPaginationInjector_1 = require("./SqlPaginationInjector");
|
|
8
|
+
const PostgresJsonQueryBuilder_1 = require("./PostgresJsonQueryBuilder");
|
|
9
|
+
const QueryBuilder_1 = require("./QueryBuilder");
|
|
10
|
+
const SqlParameterBinder_1 = require("./SqlParameterBinder");
|
|
11
|
+
const ParameterDetector_1 = require("../utils/ParameterDetector");
|
|
12
|
+
/**
|
|
13
|
+
* DynamicQueryBuilder combines SQL parsing with dynamic condition injection (filters, sorts, paging, JSON serialization).
|
|
14
|
+
*
|
|
15
|
+
* Key behaviours verified in packages/core/tests/transformers/DynamicQueryBuilder.test.ts:
|
|
16
|
+
* - Preserves the input SQL when no options are supplied.
|
|
17
|
+
* - Applies filter, sort, and pagination in a deterministic order.
|
|
18
|
+
* - Supports JSON serialization for hierarchical projections.
|
|
19
|
+
*/
|
|
20
|
+
class DynamicQueryBuilder {
|
|
21
|
+
/**
|
|
22
|
+
* Creates a new DynamicQueryBuilder instance
|
|
23
|
+
* @param tableColumnResolver Optional function to resolve table columns for wildcard queries
|
|
24
|
+
*/
|
|
25
|
+
constructor(tableColumnResolver) {
|
|
26
|
+
this.tableColumnResolver = tableColumnResolver;
|
|
27
|
+
}
|
|
28
|
+
/**
|
|
29
|
+
* Builds a SelectQuery from SQL content with dynamic conditions.
|
|
30
|
+
* This is a pure function that does not perform any I/O operations.
|
|
31
|
+
* @param sqlContent Raw SQL string to parse and modify
|
|
32
|
+
* @param options Dynamic conditions to apply (filter, sort, paging, serialize)
|
|
33
|
+
* @returns Modified SelectQuery with all dynamic conditions applied
|
|
34
|
+
* @example
|
|
35
|
+
* ```typescript
|
|
36
|
+
* const builder = new DynamicQueryBuilder();
|
|
37
|
+
* const query = builder.buildQuery(
|
|
38
|
+
* 'SELECT id, name FROM users WHERE active = true',
|
|
39
|
+
* {
|
|
40
|
+
* filter: { status: 'premium' },
|
|
41
|
+
* sort: { created_at: { desc: true } },
|
|
42
|
+
* paging: { page: 2, pageSize: 10 },
|
|
43
|
+
* serialize: { rootName: 'user', rootEntity: { id: 'user', name: 'User', columns: { id: 'id', name: 'name' } }, nestedEntities: [] }
|
|
44
|
+
* }
|
|
45
|
+
* );
|
|
46
|
+
* ```
|
|
47
|
+
*/
|
|
48
|
+
buildQuery(sqlContent, options = {}) {
|
|
49
|
+
// Parse the base SQL
|
|
50
|
+
let parsedQuery;
|
|
51
|
+
try {
|
|
52
|
+
parsedQuery = SelectQueryParser_1.SelectQueryParser.parse(sqlContent);
|
|
53
|
+
}
|
|
54
|
+
catch (error) {
|
|
55
|
+
throw new Error(`Failed to parse SQL: ${error instanceof Error ? error.message : 'Unknown error'}`);
|
|
56
|
+
}
|
|
57
|
+
// Apply dynamic modifications in the correct order
|
|
58
|
+
let modifiedQuery = parsedQuery;
|
|
59
|
+
// 1. Bind hardcoded parameters first (before any other transformations)
|
|
60
|
+
if (options.filter && Object.keys(options.filter).length > 0) {
|
|
61
|
+
const { hardcodedParams, dynamicFilters } = ParameterDetector_1.ParameterDetector.separateFilters(modifiedQuery, options.filter);
|
|
62
|
+
// Bind hardcoded parameters if any exist
|
|
63
|
+
if (Object.keys(hardcodedParams).length > 0) {
|
|
64
|
+
const parameterBinder = new SqlParameterBinder_1.SqlParameterBinder({ requireAllParameters: false });
|
|
65
|
+
modifiedQuery = parameterBinder.bind(modifiedQuery, hardcodedParams);
|
|
66
|
+
}
|
|
67
|
+
// Apply dynamic filtering only if there are non-hardcoded filters
|
|
68
|
+
if (Object.keys(dynamicFilters).length > 0) {
|
|
69
|
+
const paramInjector = new SqlParamInjector_1.SqlParamInjector(this.tableColumnResolver);
|
|
70
|
+
// Ensure we have a SimpleSelectQuery for the injector
|
|
71
|
+
const simpleQuery = QueryBuilder_1.QueryBuilder.buildSimpleQuery(modifiedQuery);
|
|
72
|
+
modifiedQuery = paramInjector.inject(simpleQuery, dynamicFilters);
|
|
73
|
+
}
|
|
74
|
+
}
|
|
75
|
+
// 2. Apply sorting second (after filtering to sort smaller dataset)
|
|
76
|
+
if (options.sort && Object.keys(options.sort).length > 0) {
|
|
77
|
+
const sortInjector = new SqlSortInjector_1.SqlSortInjector(this.tableColumnResolver);
|
|
78
|
+
// Ensure we have a SimpleSelectQuery for the injector
|
|
79
|
+
const simpleQuery = QueryBuilder_1.QueryBuilder.buildSimpleQuery(modifiedQuery);
|
|
80
|
+
modifiedQuery = sortInjector.inject(simpleQuery, options.sort);
|
|
81
|
+
} // 3. Apply pagination third (after filtering and sorting)
|
|
82
|
+
if (options.paging) {
|
|
83
|
+
const { page = 1, pageSize } = options.paging;
|
|
84
|
+
if (pageSize !== undefined) {
|
|
85
|
+
const paginationInjector = new SqlPaginationInjector_1.SqlPaginationInjector();
|
|
86
|
+
const paginationOptions = { page, pageSize };
|
|
87
|
+
// Ensure we have a SimpleSelectQuery for the injector
|
|
88
|
+
const simpleQuery = QueryBuilder_1.QueryBuilder.buildSimpleQuery(modifiedQuery);
|
|
89
|
+
modifiedQuery = paginationInjector.inject(simpleQuery, paginationOptions);
|
|
90
|
+
}
|
|
91
|
+
}
|
|
92
|
+
// 4. Apply serialization last (transform the final query structure to JSON)
|
|
93
|
+
// Note: boolean values are handled at RawSqlClient level for auto-loading
|
|
94
|
+
if (options.serialize && typeof options.serialize === 'object') {
|
|
95
|
+
const jsonBuilder = new PostgresJsonQueryBuilder_1.PostgresJsonQueryBuilder();
|
|
96
|
+
// Ensure we have a SimpleSelectQuery for the JSON builder
|
|
97
|
+
const simpleQuery = QueryBuilder_1.QueryBuilder.buildSimpleQuery(modifiedQuery);
|
|
98
|
+
modifiedQuery = jsonBuilder.buildJsonQuery(simpleQuery, options.serialize);
|
|
99
|
+
}
|
|
100
|
+
return modifiedQuery;
|
|
101
|
+
}
|
|
102
|
+
/**
|
|
103
|
+
* Builds a SelectQuery with only filtering applied.
|
|
104
|
+
* Convenience method for when you only need dynamic WHERE conditions.
|
|
105
|
+
*
|
|
106
|
+
* @param sqlContent Raw SQL string to parse and modify
|
|
107
|
+
* @param filter Filter conditions to apply
|
|
108
|
+
* @returns Modified SelectQuery with filter conditions applied
|
|
109
|
+
*/
|
|
110
|
+
buildFilteredQuery(sqlContent, filter) {
|
|
111
|
+
return this.buildQuery(sqlContent, { filter });
|
|
112
|
+
}
|
|
113
|
+
/**
|
|
114
|
+
* Builds a SelectQuery with only sorting applied.
|
|
115
|
+
* Convenience method for when you only need dynamic ORDER BY clauses.
|
|
116
|
+
*
|
|
117
|
+
* @param sqlContent Raw SQL string to parse and modify
|
|
118
|
+
* @param sort Sort conditions to apply
|
|
119
|
+
* @returns Modified SelectQuery with sort conditions applied
|
|
120
|
+
*/
|
|
121
|
+
buildSortedQuery(sqlContent, sort) {
|
|
122
|
+
return this.buildQuery(sqlContent, { sort });
|
|
123
|
+
} /**
|
|
124
|
+
* Builds a SelectQuery with only pagination applied.
|
|
125
|
+
* Convenience method for when you only need LIMIT/OFFSET clauses.
|
|
126
|
+
*
|
|
127
|
+
* @param sqlContent Raw SQL string to parse and modify
|
|
128
|
+
* @param paging Pagination options to apply
|
|
129
|
+
* @returns Modified SelectQuery with pagination applied
|
|
130
|
+
*/
|
|
131
|
+
buildPaginatedQuery(sqlContent, paging) {
|
|
132
|
+
return this.buildQuery(sqlContent, { paging });
|
|
133
|
+
}
|
|
134
|
+
/**
|
|
135
|
+
* Builds a SelectQuery with only JSON serialization applied.
|
|
136
|
+
* Convenience method for when you only need hierarchical JSON transformation.
|
|
137
|
+
*
|
|
138
|
+
* @param sqlContent Raw SQL string to parse and modify
|
|
139
|
+
* @param serialize JSON mapping configuration to apply
|
|
140
|
+
* @returns Modified SelectQuery with JSON serialization applied
|
|
141
|
+
*/
|
|
142
|
+
buildSerializedQuery(sqlContent, serialize) {
|
|
143
|
+
return this.buildQuery(sqlContent, { serialize });
|
|
144
|
+
}
|
|
145
|
+
/**
|
|
146
|
+
* Validates SQL content by attempting to parse it.
|
|
147
|
+
* Useful for testing SQL validity without applying any modifications.
|
|
148
|
+
*
|
|
149
|
+
* @param sqlContent Raw SQL string to validate
|
|
150
|
+
* @returns true if SQL is valid, throws error if invalid
|
|
151
|
+
* @throws Error if SQL cannot be parsed
|
|
152
|
+
*/
|
|
153
|
+
validateSql(sqlContent) {
|
|
154
|
+
try {
|
|
155
|
+
SelectQueryParser_1.SelectQueryParser.parse(sqlContent);
|
|
156
|
+
return true;
|
|
157
|
+
}
|
|
158
|
+
catch (error) {
|
|
159
|
+
throw new Error(`Invalid SQL: ${error instanceof Error ? error.message : 'Unknown error'}`);
|
|
160
|
+
}
|
|
161
|
+
}
|
|
162
|
+
}
|
|
163
|
+
exports.DynamicQueryBuilder = DynamicQueryBuilder;
|
|
164
|
+
//# sourceMappingURL=DynamicQueryBuilder.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"DynamicQueryBuilder.js","sourceRoot":"","sources":["../../src/transformers/DynamicQueryBuilder.ts"],"names":[],"mappings":"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"}
|