rawsql-ts 0.11.44-beta → 0.12.1
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/dist/esm/formatters/OriginalFormatRestorer.js.map +1 -0
- package/dist/esm/index.d.ts +119 -0
- package/dist/esm/index.js +95 -80
- package/dist/esm/index.js.map +1 -1
- package/dist/esm/index.min.js +21 -21
- package/dist/esm/index.min.js.map +4 -4
- package/dist/esm/models/BinarySelectQuery.js.map +1 -0
- package/dist/esm/models/CTEError.js.map +1 -0
- package/dist/esm/models/Clause.d.ts +313 -0
- package/dist/esm/models/Clause.js +496 -0
- package/dist/esm/models/Clause.js.map +1 -0
- package/dist/esm/models/CreateTableQuery.js.map +1 -0
- package/dist/esm/models/DDLStatements.d.ts +207 -0
- package/dist/esm/models/DDLStatements.js +213 -0
- package/dist/esm/models/DDLStatements.js.map +1 -0
- package/dist/esm/models/DeleteQuery.js.map +1 -0
- package/dist/esm/models/HintClause.js.map +1 -0
- package/dist/esm/models/InsertQuery.d.ts +19 -0
- package/dist/esm/models/InsertQuery.js +19 -0
- package/dist/esm/models/InsertQuery.js.map +1 -0
- package/dist/esm/models/KeywordTrie.js.map +1 -0
- package/dist/esm/models/Lexeme.js.map +1 -0
- package/dist/esm/models/MergeQuery.js.map +1 -0
- package/dist/esm/models/SelectQuery.js.map +1 -0
- package/dist/esm/models/SimpleSelectQuery.js.map +1 -0
- package/dist/esm/models/SqlComponent.js.map +1 -0
- package/dist/esm/models/SqlPrintToken.d.ts +143 -0
- package/dist/esm/models/SqlPrintToken.js +134 -0
- package/dist/esm/models/SqlPrintToken.js.map +1 -0
- package/dist/esm/models/TableDefinitionModel.d.ts +39 -0
- package/dist/esm/models/TableDefinitionModel.js +77 -0
- package/dist/esm/models/TableDefinitionModel.js.map +1 -0
- package/dist/esm/models/UpdateQuery.js.map +1 -0
- package/dist/esm/models/ValueComponent.d.ts +225 -0
- package/dist/esm/models/ValueComponent.js +349 -0
- package/dist/esm/models/ValueComponent.js.map +1 -0
- package/dist/esm/models/ValuesQuery.d.ts +54 -0
- package/dist/esm/models/ValuesQuery.js +58 -0
- package/dist/esm/models/ValuesQuery.js.map +1 -0
- package/dist/esm/parsers/AlterTableParser.js +449 -0
- package/dist/esm/parsers/AlterTableParser.js.map +1 -0
- package/dist/esm/parsers/AnalyzeStatementParser.d.ts +13 -0
- package/dist/esm/parsers/AnalyzeStatementParser.js +90 -0
- package/dist/esm/parsers/AnalyzeStatementParser.js.map +1 -0
- package/dist/esm/parsers/CommandExpressionParser.js.map +1 -0
- package/dist/esm/parsers/CommonTableParser.js.map +1 -0
- package/dist/esm/parsers/CreateIndexParser.js.map +1 -0
- package/dist/esm/parsers/CreateTableParser.js.map +1 -0
- package/dist/esm/parsers/DeleteClauseParser.js.map +1 -0
- package/dist/esm/parsers/DeleteQueryParser.js.map +1 -0
- package/dist/esm/parsers/DropConstraintParser.js.map +1 -0
- package/dist/esm/parsers/DropIndexParser.js.map +1 -0
- package/dist/esm/parsers/DropTableParser.js.map +1 -0
- package/dist/esm/parsers/ExplainStatementParser.d.ts +23 -0
- package/dist/esm/parsers/ExplainStatementParser.js +185 -0
- package/dist/esm/parsers/ExplainStatementParser.js.map +1 -0
- package/dist/esm/parsers/FetchClauseParser.js.map +1 -0
- package/dist/esm/parsers/ForClauseParser.js.map +1 -0
- package/dist/esm/parsers/FromClauseParser.js.map +1 -0
- package/dist/esm/parsers/FullNameParser.js.map +1 -0
- package/dist/esm/parsers/FunctionExpressionParser.d.ts +65 -0
- package/dist/esm/parsers/FunctionExpressionParser.js +520 -0
- package/dist/esm/parsers/FunctionExpressionParser.js.map +1 -0
- package/dist/esm/parsers/GroupByParser.js.map +1 -0
- package/dist/esm/parsers/HavingParser.js.map +1 -0
- package/dist/esm/parsers/IdentifierDecorator.js.map +1 -0
- package/dist/esm/parsers/IdentifierParser.js.map +1 -0
- package/dist/esm/parsers/InsertQueryParser.js +158 -0
- package/dist/esm/parsers/InsertQueryParser.js.map +1 -0
- package/dist/esm/parsers/JoinClauseParser.js.map +1 -0
- package/dist/esm/parsers/JoinOnClauseParser.js.map +1 -0
- package/dist/esm/parsers/JoinUsingClauseParser.js.map +1 -0
- package/dist/esm/parsers/KeywordParser.js.map +1 -0
- package/dist/esm/parsers/LimitClauseParser.js.map +1 -0
- package/dist/esm/parsers/LiteralParser.js.map +1 -0
- package/dist/esm/parsers/MergeQueryParser.js.map +1 -0
- package/dist/esm/parsers/OffsetClauseParser.js.map +1 -0
- package/dist/esm/parsers/OrderByClauseParser.js.map +1 -0
- package/dist/esm/parsers/OverExpressionParser.js.map +1 -0
- package/dist/esm/parsers/ParameterDecorator.js.map +1 -0
- package/dist/esm/parsers/ParameterExpressionParser.js.map +1 -0
- package/dist/esm/parsers/ParenExpressionParser.js +105 -0
- package/dist/esm/parsers/ParenExpressionParser.js.map +1 -0
- package/dist/esm/parsers/ParseError.js.map +1 -0
- package/dist/esm/parsers/PartitionByParser.js.map +1 -0
- package/dist/esm/parsers/ReturningClauseParser.js +60 -0
- package/dist/esm/parsers/ReturningClauseParser.js.map +1 -0
- package/dist/esm/parsers/SelectClauseParser.js.map +1 -0
- package/dist/esm/parsers/SelectQueryParser.js.map +1 -0
- package/dist/esm/parsers/SetClauseParser.js.map +1 -0
- package/dist/esm/parsers/SourceAliasExpressionParser.js.map +1 -0
- package/dist/esm/parsers/SourceExpressionParser.js.map +1 -0
- package/dist/esm/parsers/SourceParser.js.map +1 -0
- package/dist/esm/parsers/SqlParser.d.ts +39 -0
- package/dist/esm/parsers/SqlParser.js +386 -0
- package/dist/esm/parsers/SqlParser.js.map +1 -0
- package/dist/esm/parsers/SqlPrintTokenParser.d.ts +315 -0
- package/dist/esm/parsers/SqlPrintTokenParser.js +3139 -0
- package/dist/esm/parsers/SqlPrintTokenParser.js.map +1 -0
- package/dist/esm/parsers/SqlTokenizer.js.map +1 -0
- package/dist/esm/parsers/StringSpecifierExpressionParser.js.map +1 -0
- package/dist/esm/parsers/UnaryExpressionParser.js.map +1 -0
- package/dist/esm/parsers/UpdateClauseParser.js.map +1 -0
- package/dist/esm/parsers/UpdateQueryParser.js.map +1 -0
- package/dist/esm/parsers/UsingClauseParser.js.map +1 -0
- package/dist/esm/parsers/ValueParser.js +558 -0
- package/dist/esm/parsers/ValueParser.js.map +1 -0
- package/dist/esm/parsers/ValuesQueryParser.js.map +1 -0
- package/dist/esm/parsers/WhereClauseParser.js.map +1 -0
- package/dist/esm/parsers/WindowClauseParser.js.map +1 -0
- package/dist/esm/parsers/WindowExpressionParser.js.map +1 -0
- package/dist/esm/parsers/WithClauseParser.js.map +1 -0
- package/dist/esm/parsers/utils/LexemeCommentUtils.js.map +1 -0
- package/dist/esm/reporting/models/DataFlowEdge.js.map +1 -0
- package/dist/esm/reporting/models/DataFlowGraph.js.map +1 -0
- package/dist/esm/reporting/models/DataFlowNode.js.map +1 -0
- package/dist/esm/reporting/services/CTEHandler.js.map +1 -0
- package/dist/esm/reporting/services/DataSourceHandler.js.map +1 -0
- package/dist/esm/reporting/services/JoinHandler.js.map +1 -0
- package/dist/esm/reporting/services/ProcessHandler.js.map +1 -0
- package/dist/esm/tokenReaders/BaseTokenReader.js.map +1 -0
- package/dist/esm/tokenReaders/CommandTokenReader.js +212 -0
- package/dist/esm/tokenReaders/CommandTokenReader.js.map +1 -0
- package/dist/esm/tokenReaders/EscapedIdentifierTokenReader.js.map +1 -0
- package/dist/esm/tokenReaders/FunctionTokenReader.js.map +1 -0
- package/dist/esm/tokenReaders/IdentifierTokenReader.js.map +1 -0
- package/dist/esm/tokenReaders/LiteralTokenReader.js +325 -0
- package/dist/esm/tokenReaders/LiteralTokenReader.js.map +1 -0
- package/dist/esm/tokenReaders/OperatorTokenReader.js.map +1 -0
- package/dist/esm/tokenReaders/ParameterTokenReader.js.map +1 -0
- package/dist/esm/tokenReaders/StringSpecifierTokenReader.js.map +1 -0
- package/dist/esm/tokenReaders/SymbolTokenReader.js.map +1 -0
- package/dist/esm/tokenReaders/TokenReaderManager.js.map +1 -0
- package/dist/esm/tokenReaders/TypeTokenReader.js.map +1 -0
- package/dist/esm/transformers/AliasRenamer.js.map +1 -0
- package/dist/esm/transformers/CTEBuilder.js.map +1 -0
- package/dist/esm/transformers/CTECollector.js.map +1 -0
- package/dist/esm/transformers/CTEComposer.js.map +1 -0
- package/dist/esm/transformers/CTEDependencyAnalyzer.js.map +1 -0
- package/dist/esm/transformers/CTEDependencyTracer.js.map +1 -0
- package/dist/esm/transformers/CTEDisabler.js.map +1 -0
- package/dist/esm/transformers/CTEInjector.js.map +1 -0
- package/dist/esm/transformers/CTENormalizer.js.map +1 -0
- package/dist/esm/transformers/CTEQueryDecomposer.js.map +1 -0
- package/dist/esm/transformers/CTERenamer.js.map +1 -0
- package/dist/esm/transformers/CTETableReferenceCollector.js.map +1 -0
- package/dist/esm/transformers/ColumnReferenceCollector.js +474 -0
- package/dist/esm/transformers/ColumnReferenceCollector.js.map +1 -0
- package/dist/esm/transformers/DDLDiffGenerator.d.ts +18 -0
- package/dist/esm/transformers/DDLDiffGenerator.js +309 -0
- package/dist/esm/transformers/DDLDiffGenerator.js.map +1 -0
- package/dist/esm/transformers/DDLGeneralizer.d.ts +13 -0
- package/dist/esm/transformers/DDLGeneralizer.js +98 -0
- package/dist/esm/transformers/DDLGeneralizer.js.map +1 -0
- package/dist/esm/transformers/DDLToFixtureConverter.d.ts +19 -0
- package/dist/esm/transformers/DDLToFixtureConverter.js +202 -0
- package/dist/esm/transformers/DDLToFixtureConverter.js.map +1 -0
- package/dist/esm/transformers/DeleteResultSelectConverter.d.ts +53 -0
- package/dist/esm/transformers/DeleteResultSelectConverter.js +410 -0
- package/dist/esm/transformers/DeleteResultSelectConverter.js.map +1 -0
- package/dist/esm/transformers/DynamicQueryBuilder.js.map +1 -0
- package/dist/esm/transformers/EnhancedJsonMapping.js.map +1 -0
- package/dist/esm/transformers/FilterableItemCollector.js.map +1 -0
- package/dist/esm/transformers/FixtureCteBuilder.d.ts +60 -0
- package/dist/esm/transformers/FixtureCteBuilder.js +147 -0
- package/dist/esm/transformers/FixtureCteBuilder.js.map +1 -0
- package/dist/esm/transformers/FormatOptionResolver.js.map +1 -0
- package/dist/esm/transformers/Formatter.js.map +1 -0
- package/dist/esm/transformers/InsertQuerySelectValuesConverter.js +121 -0
- package/dist/esm/transformers/InsertQuerySelectValuesConverter.js.map +1 -0
- package/dist/esm/transformers/InsertResultSelectConverter.d.ts +67 -0
- package/dist/esm/transformers/InsertResultSelectConverter.js +585 -0
- package/dist/esm/transformers/InsertResultSelectConverter.js.map +1 -0
- package/dist/esm/transformers/JoinAggregationDecomposer.js.map +1 -0
- package/dist/esm/transformers/JsonMappingConverter.js.map +1 -0
- package/dist/esm/transformers/JsonMappingUnifier.js.map +1 -0
- package/dist/esm/transformers/LinePrinter.js.map +1 -0
- package/dist/esm/transformers/MergeResultSelectConverter.d.ts +38 -0
- package/dist/esm/transformers/MergeResultSelectConverter.js +306 -0
- package/dist/esm/transformers/MergeResultSelectConverter.js.map +1 -0
- package/dist/esm/transformers/ModelDrivenJsonMapping.js.map +1 -0
- package/dist/esm/transformers/OnelineFormattingHelper.js +95 -0
- package/dist/esm/transformers/OnelineFormattingHelper.js.map +1 -0
- package/dist/esm/transformers/ParameterCollector.js.map +1 -0
- package/dist/esm/transformers/PostgresArrayEntityCteBuilder.js.map +1 -0
- package/dist/esm/transformers/PostgresJsonQueryBuilder.js.map +1 -0
- package/dist/esm/transformers/PostgresObjectEntityCteBuilder.js.map +1 -0
- package/dist/esm/transformers/QueryBuilder.d.ts +130 -0
- package/dist/esm/transformers/QueryBuilder.js +634 -0
- package/dist/esm/transformers/QueryBuilder.js.map +1 -0
- package/dist/esm/transformers/QueryFlowDiagramGenerator.js.map +1 -0
- package/dist/esm/transformers/SchemaCollector.js.map +1 -0
- package/dist/esm/transformers/SelectResultSelectConverter.d.ts +10 -0
- package/dist/esm/transformers/SelectResultSelectConverter.js +32 -0
- package/dist/esm/transformers/SelectResultSelectConverter.js.map +1 -0
- package/dist/esm/transformers/SelectValueCollector.js.map +1 -0
- package/dist/esm/transformers/SelectableColumnCollector.js.map +1 -0
- package/dist/esm/transformers/SimulatedSelectConverter.d.ts +23 -0
- package/dist/esm/transformers/SimulatedSelectConverter.js +61 -0
- package/dist/esm/transformers/SimulatedSelectConverter.js.map +1 -0
- package/dist/esm/transformers/SmartRenamer.js.map +1 -0
- package/dist/esm/transformers/SqlFormatter.js.map +1 -0
- package/dist/esm/transformers/SqlIdentifierRenamer.js.map +1 -0
- package/dist/esm/transformers/SqlOutputToken.js.map +1 -0
- package/dist/esm/transformers/SqlPaginationInjector.js.map +1 -0
- package/dist/esm/transformers/SqlParamInjector.js.map +1 -0
- package/dist/esm/transformers/SqlParameterBinder.js.map +1 -0
- package/dist/esm/transformers/SqlPrinter.d.ts +242 -0
- package/dist/esm/transformers/SqlPrinter.js +1474 -0
- package/dist/esm/transformers/SqlPrinter.js.map +1 -0
- package/dist/esm/transformers/SqlSortInjector.js.map +1 -0
- package/dist/esm/transformers/TableSourceCollector.js +435 -0
- package/dist/esm/transformers/TableSourceCollector.js.map +1 -0
- package/dist/esm/transformers/TypeTransformationPostProcessor.js.map +1 -0
- package/dist/esm/transformers/UpdateResultSelectConverter.d.ts +51 -0
- package/dist/esm/transformers/UpdateResultSelectConverter.js +355 -0
- package/dist/esm/transformers/UpdateResultSelectConverter.js.map +1 -0
- package/dist/esm/transformers/UpstreamSelectQueryFinder.js.map +1 -0
- package/dist/esm/types/GenericFixture.d.ts +17 -0
- package/dist/esm/types/GenericFixture.js +2 -0
- package/dist/esm/types/GenericFixture.js.map +1 -0
- package/dist/esm/utils/CTERegionDetector.js.map +1 -0
- package/dist/esm/utils/CommentEditor.js.map +1 -0
- package/dist/esm/utils/CommentUtils.js.map +1 -0
- package/dist/esm/utils/CursorContextAnalyzer.js.map +1 -0
- package/dist/esm/utils/IntelliSenseApi.js.map +1 -0
- package/dist/esm/utils/JsonSchemaValidator.js.map +1 -0
- package/dist/esm/utils/KeywordCache.js.map +1 -0
- package/dist/esm/utils/LexemeCursor.js.map +1 -0
- package/dist/esm/utils/MultiQuerySplitter.js.map +1 -0
- package/dist/esm/utils/OperatorPrecedence.js.map +1 -0
- package/dist/esm/utils/ParameterDetector.js.map +1 -0
- package/dist/esm/utils/ParameterHelper.js.map +1 -0
- package/dist/esm/utils/ParameterRemover.js +779 -0
- package/dist/esm/utils/ParameterRemover.js.map +1 -0
- package/dist/esm/utils/ParserStringUtils.js.map +1 -0
- package/dist/esm/utils/PositionAwareParser.js.map +1 -0
- package/dist/esm/utils/SchemaManager.js.map +1 -0
- package/dist/esm/utils/ScopeResolver.js.map +1 -0
- package/dist/esm/utils/SelectQueryWithClauseHelper.d.ts +12 -0
- package/dist/esm/utils/SelectQueryWithClauseHelper.js +43 -0
- package/dist/esm/utils/SelectQueryWithClauseHelper.js.map +1 -0
- package/dist/esm/utils/SqlSchemaValidator.js.map +1 -0
- package/dist/esm/utils/TableNameUtils.d.ts +10 -0
- package/dist/esm/utils/TableNameUtils.js +30 -0
- package/dist/esm/utils/TableNameUtils.js.map +1 -0
- package/dist/esm/utils/TextPositionUtils.js.map +1 -0
- package/dist/esm/utils/ValueComponentRewriter.d.ts +3 -0
- package/dist/esm/utils/ValueComponentRewriter.js +184 -0
- package/dist/esm/utils/ValueComponentRewriter.js.map +1 -0
- package/dist/esm/utils/charLookupTable.js.map +1 -0
- package/dist/esm/utils/stringUtils.js.map +1 -0
- package/dist/formatters/OriginalFormatRestorer.js.map +1 -0
- package/dist/index.js +142 -0
- package/dist/index.js.map +1 -0
- package/dist/index.min.js +22 -22
- package/dist/index.min.js.map +4 -4
- package/dist/models/BinarySelectQuery.js.map +1 -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.map +1 -0
- package/dist/models/DDLStatements.js +229 -0
- package/dist/models/DDLStatements.js.map +1 -0
- package/dist/models/DeleteQuery.js.map +1 -0
- package/dist/models/FormattingLexeme.js.map +1 -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.map +1 -0
- package/dist/models/Lexeme.js.map +1 -0
- package/dist/models/MergeQuery.js.map +1 -0
- package/dist/models/SelectQuery.js.map +1 -0
- package/dist/models/SimpleSelectQuery.js.map +1 -0
- package/dist/models/SqlComponent.js.map +1 -0
- package/dist/models/SqlPrintToken.js +138 -0
- package/dist/models/SqlPrintToken.js.map +1 -0
- package/dist/models/TableDefinitionModel.js +85 -0
- package/dist/models/TableDefinitionModel.js.map +1 -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 +453 -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.map +1 -0
- package/dist/parsers/CommonTableParser.js.map +1 -0
- package/dist/parsers/CreateIndexParser.js.map +1 -0
- package/dist/parsers/CreateTableParser.js.map +1 -0
- package/dist/parsers/DeleteClauseParser.js.map +1 -0
- package/dist/parsers/DeleteQueryParser.js.map +1 -0
- package/dist/parsers/DropConstraintParser.js.map +1 -0
- package/dist/parsers/DropIndexParser.js.map +1 -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.map +1 -0
- package/dist/parsers/ForClauseParser.js.map +1 -0
- package/dist/parsers/FromClauseParser.js.map +1 -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.map +1 -0
- package/dist/parsers/HavingParser.js.map +1 -0
- package/dist/parsers/IdentifierDecorator.js.map +1 -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.map +1 -0
- package/dist/parsers/JoinOnClauseParser.js.map +1 -0
- package/dist/parsers/JoinUsingClauseParser.js.map +1 -0
- package/dist/parsers/KeywordParser.js.map +1 -0
- package/dist/parsers/LimitClauseParser.js.map +1 -0
- package/dist/parsers/LiteralParser.js.map +1 -0
- package/dist/parsers/MergeQueryParser.js.map +1 -0
- package/dist/parsers/OffsetClauseParser.js.map +1 -0
- package/dist/parsers/OrderByClauseParser.js.map +1 -0
- package/dist/parsers/OverExpressionParser.js.map +1 -0
- package/dist/parsers/ParameterDecorator.js.map +1 -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.map +1 -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.map +1 -0
- package/dist/parsers/SelectQueryParser.js.map +1 -0
- package/dist/parsers/SetClauseParser.js.map +1 -0
- package/dist/parsers/SourceAliasExpressionParser.js.map +1 -0
- package/dist/parsers/SourceExpressionParser.js.map +1 -0
- package/dist/parsers/SourceParser.js.map +1 -0
- package/dist/parsers/SqlParser.js +390 -0
- package/dist/parsers/SqlParser.js.map +1 -0
- package/dist/parsers/SqlPrintTokenParser.js +3143 -0
- package/dist/parsers/SqlPrintTokenParser.js.map +1 -0
- package/dist/parsers/SqlTokenizer.js.map +1 -0
- package/dist/parsers/StringSpecifierExpressionParser.js.map +1 -0
- package/dist/parsers/UnaryExpressionParser.js.map +1 -0
- package/dist/parsers/UpdateClauseParser.js.map +1 -0
- package/dist/parsers/UpdateQueryParser.js.map +1 -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.map +1 -0
- package/dist/parsers/WhereClauseParser.js.map +1 -0
- package/dist/parsers/WindowClauseParser.js.map +1 -0
- package/dist/parsers/WindowExpressionParser.js.map +1 -0
- package/dist/parsers/WithClauseParser.js.map +1 -0
- package/dist/parsers/utils/LexemeCommentUtils.js.map +1 -0
- package/dist/reporting/models/DataFlowEdge.js.map +1 -0
- package/dist/reporting/models/DataFlowGraph.js.map +1 -0
- package/dist/reporting/models/DataFlowNode.js.map +1 -0
- package/dist/reporting/services/CTEHandler.js.map +1 -0
- package/dist/reporting/services/DataSourceHandler.js.map +1 -0
- package/dist/reporting/services/JoinHandler.js.map +1 -0
- package/dist/reporting/services/ProcessHandler.js.map +1 -0
- package/dist/src/index.d.ts +15 -0
- package/dist/src/models/Clause.d.ts +7 -3
- package/dist/src/models/DDLStatements.d.ts +52 -2
- package/dist/src/models/InsertQuery.d.ts +1 -4
- package/dist/src/models/SqlPrintToken.d.ts +4 -0
- package/dist/src/models/TableDefinitionModel.d.ts +39 -0
- package/dist/src/models/ValueComponent.d.ts +2 -1
- package/dist/src/models/ValuesQuery.d.ts +2 -0
- package/dist/src/parsers/AnalyzeStatementParser.d.ts +13 -0
- package/dist/src/parsers/ExplainStatementParser.d.ts +23 -0
- package/dist/src/parsers/FunctionExpressionParser.d.ts +1 -0
- package/dist/src/parsers/SqlParser.d.ts +4 -3
- package/dist/src/parsers/SqlPrintTokenParser.d.ts +12 -0
- package/dist/src/transformers/DDLDiffGenerator.d.ts +18 -0
- package/dist/src/transformers/DDLGeneralizer.d.ts +13 -0
- package/dist/src/transformers/DDLToFixtureConverter.d.ts +19 -0
- package/dist/src/transformers/DeleteResultSelectConverter.d.ts +53 -0
- package/dist/src/transformers/FixtureCteBuilder.d.ts +60 -0
- package/dist/src/transformers/InsertResultSelectConverter.d.ts +67 -0
- package/dist/src/transformers/MergeResultSelectConverter.d.ts +38 -0
- package/dist/src/transformers/QueryBuilder.d.ts +11 -0
- package/dist/src/transformers/SelectResultSelectConverter.d.ts +10 -0
- package/dist/src/transformers/SimulatedSelectConverter.d.ts +23 -0
- package/dist/src/transformers/SqlPrinter.d.ts +1 -0
- package/dist/src/transformers/UpdateResultSelectConverter.d.ts +51 -0
- package/dist/src/types/GenericFixture.d.ts +17 -0
- package/dist/src/utils/SelectQueryWithClauseHelper.d.ts +12 -0
- package/dist/src/utils/TableNameUtils.d.ts +10 -0
- package/dist/src/utils/ValueComponentRewriter.d.ts +3 -0
- package/dist/tokenReaders/BaseTokenReader.js.map +1 -0
- package/dist/tokenReaders/CommandTokenReader.js +216 -0
- package/dist/tokenReaders/CommandTokenReader.js.map +1 -0
- package/dist/tokenReaders/EscapedIdentifierTokenReader.js.map +1 -0
- package/dist/tokenReaders/FunctionTokenReader.js.map +1 -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.map +1 -0
- package/dist/tokenReaders/ParameterTokenReader.js.map +1 -0
- package/dist/tokenReaders/StringSpecifierTokenReader.js.map +1 -0
- package/dist/tokenReaders/SymbolTokenReader.js.map +1 -0
- package/dist/tokenReaders/TokenReaderManager.js.map +1 -0
- package/dist/tokenReaders/TypeTokenReader.js.map +1 -0
- package/dist/transformers/AliasRenamer.js.map +1 -0
- package/dist/transformers/CTEBuilder.js.map +1 -0
- package/dist/transformers/CTECollector.js.map +1 -0
- package/dist/transformers/CTEComposer.js.map +1 -0
- package/dist/transformers/CTEDependencyAnalyzer.js.map +1 -0
- package/dist/transformers/CTEDependencyTracer.js.map +1 -0
- package/dist/transformers/CTEDisabler.js.map +1 -0
- package/dist/transformers/CTEInjector.js.map +1 -0
- package/dist/transformers/CTENormalizer.js.map +1 -0
- package/dist/transformers/CTEQueryDecomposer.js.map +1 -0
- package/dist/transformers/CTERenamer.js.map +1 -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.map +1 -0
- package/dist/transformers/EnhancedJsonMapping.js.map +1 -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.map +1 -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.map +1 -0
- package/dist/transformers/JsonMappingConverter.js.map +1 -0
- package/dist/transformers/JsonMappingUnifier.js.map +1 -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.map +1 -0
- package/dist/transformers/OnelineFormattingHelper.js +99 -0
- package/dist/transformers/OnelineFormattingHelper.js.map +1 -0
- package/dist/transformers/ParameterCollector.js.map +1 -0
- package/dist/transformers/PostgresArrayEntityCteBuilder.js.map +1 -0
- package/dist/transformers/PostgresJsonQueryBuilder.js.map +1 -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.map +1 -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.map +1 -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.map +1 -0
- package/dist/transformers/SqlFormatter.js.map +1 -0
- package/dist/transformers/SqlIdentifierRenamer.js.map +1 -0
- package/dist/transformers/SqlOutputToken.js.map +1 -0
- package/dist/transformers/SqlPaginationInjector.js.map +1 -0
- package/dist/transformers/SqlParamInjector.js.map +1 -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.map +1 -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.map +1 -0
- package/dist/transformers/UpdateResultSelectConverter.js +359 -0
- package/dist/transformers/UpdateResultSelectConverter.js.map +1 -0
- package/dist/transformers/UpstreamSelectQueryFinder.js.map +1 -0
- package/dist/tsconfig.browser.tsbuildinfo +1 -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.map +1 -0
- package/dist/utils/CommentEditor.js.map +1 -0
- package/dist/utils/CommentUtils.js.map +1 -0
- package/dist/utils/CursorContextAnalyzer.js.map +1 -0
- package/dist/utils/IntelliSenseApi.js.map +1 -0
- package/dist/utils/JsonSchemaValidator.js.map +1 -0
- package/dist/utils/KeywordCache.js.map +1 -0
- package/dist/utils/LexemeCursor.js.map +1 -0
- package/dist/utils/MultiQuerySplitter.js.map +1 -0
- package/dist/utils/OperatorPrecedence.js.map +1 -0
- package/dist/utils/ParameterDetector.js.map +1 -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.map +1 -0
- package/dist/utils/PositionAwareParser.js.map +1 -0
- package/dist/utils/SchemaManager.js.map +1 -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.map +1 -0
- package/dist/utils/TableNameUtils.js +35 -0
- package/dist/utils/TableNameUtils.js.map +1 -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.map +1 -0
- package/dist/utils/stringUtils.js.map +1 -0
- package/package.json +6 -7
- package/dist/esm/src/formatters/OriginalFormatRestorer.js.map +0 -1
- package/dist/esm/src/index.d.ts +0 -104
- package/dist/esm/src/index.js +0 -100
- package/dist/esm/src/index.js.map +0 -1
- package/dist/esm/src/models/BinarySelectQuery.js.map +0 -1
- package/dist/esm/src/models/CTEError.js.map +0 -1
- package/dist/esm/src/models/Clause.d.ts +0 -309
- package/dist/esm/src/models/Clause.js +0 -483
- package/dist/esm/src/models/Clause.js.map +0 -1
- package/dist/esm/src/models/CreateTableQuery.js.map +0 -1
- package/dist/esm/src/models/DDLStatements.d.ts +0 -157
- package/dist/esm/src/models/DDLStatements.js +0 -141
- package/dist/esm/src/models/DDLStatements.js.map +0 -1
- package/dist/esm/src/models/DeleteQuery.js.map +0 -1
- package/dist/esm/src/models/FormattingLexeme.js.map +0 -1
- package/dist/esm/src/models/HintClause.js.map +0 -1
- package/dist/esm/src/models/InsertQuery.d.ts +0 -22
- package/dist/esm/src/models/InsertQuery.js +0 -21
- package/dist/esm/src/models/InsertQuery.js.map +0 -1
- package/dist/esm/src/models/KeywordTrie.js.map +0 -1
- package/dist/esm/src/models/Lexeme.js.map +0 -1
- package/dist/esm/src/models/MergeQuery.js.map +0 -1
- package/dist/esm/src/models/SelectQuery.js.map +0 -1
- package/dist/esm/src/models/SimpleSelectQuery.js.map +0 -1
- package/dist/esm/src/models/SqlComponent.js.map +0 -1
- package/dist/esm/src/models/SqlPrintToken.d.ts +0 -139
- package/dist/esm/src/models/SqlPrintToken.js +0 -130
- package/dist/esm/src/models/SqlPrintToken.js.map +0 -1
- package/dist/esm/src/models/UpdateQuery.js.map +0 -1
- package/dist/esm/src/models/ValueComponent.d.ts +0 -224
- package/dist/esm/src/models/ValueComponent.js +0 -348
- package/dist/esm/src/models/ValueComponent.js.map +0 -1
- package/dist/esm/src/models/ValuesQuery.d.ts +0 -52
- package/dist/esm/src/models/ValuesQuery.js +0 -57
- package/dist/esm/src/models/ValuesQuery.js.map +0 -1
- package/dist/esm/src/parsers/AlterTableParser.js +0 -428
- package/dist/esm/src/parsers/AlterTableParser.js.map +0 -1
- package/dist/esm/src/parsers/CommandExpressionParser.js.map +0 -1
- package/dist/esm/src/parsers/CommonTableParser.js.map +0 -1
- package/dist/esm/src/parsers/CreateIndexParser.js.map +0 -1
- package/dist/esm/src/parsers/CreateTableParser.js.map +0 -1
- package/dist/esm/src/parsers/DeleteClauseParser.js.map +0 -1
- package/dist/esm/src/parsers/DeleteQueryParser.js.map +0 -1
- package/dist/esm/src/parsers/DropConstraintParser.js.map +0 -1
- package/dist/esm/src/parsers/DropIndexParser.js.map +0 -1
- package/dist/esm/src/parsers/DropTableParser.js.map +0 -1
- package/dist/esm/src/parsers/FetchClauseParser.js.map +0 -1
- package/dist/esm/src/parsers/ForClauseParser.js.map +0 -1
- package/dist/esm/src/parsers/FromClauseParser.js.map +0 -1
- package/dist/esm/src/parsers/FullNameParser.js.map +0 -1
- package/dist/esm/src/parsers/FunctionExpressionParser.d.ts +0 -64
- package/dist/esm/src/parsers/FunctionExpressionParser.js +0 -487
- package/dist/esm/src/parsers/FunctionExpressionParser.js.map +0 -1
- package/dist/esm/src/parsers/GroupByParser.js.map +0 -1
- package/dist/esm/src/parsers/HavingParser.js.map +0 -1
- package/dist/esm/src/parsers/IdentifierDecorator.js.map +0 -1
- package/dist/esm/src/parsers/IdentifierParser.js.map +0 -1
- package/dist/esm/src/parsers/InsertQueryParser.js +0 -155
- package/dist/esm/src/parsers/InsertQueryParser.js.map +0 -1
- package/dist/esm/src/parsers/JoinClauseParser.js.map +0 -1
- package/dist/esm/src/parsers/JoinOnClauseParser.js.map +0 -1
- package/dist/esm/src/parsers/JoinUsingClauseParser.js.map +0 -1
- package/dist/esm/src/parsers/KeywordParser.js.map +0 -1
- package/dist/esm/src/parsers/LimitClauseParser.js.map +0 -1
- package/dist/esm/src/parsers/LiteralParser.js.map +0 -1
- package/dist/esm/src/parsers/MergeQueryParser.js.map +0 -1
- package/dist/esm/src/parsers/OffsetClauseParser.js.map +0 -1
- package/dist/esm/src/parsers/OrderByClauseParser.js.map +0 -1
- package/dist/esm/src/parsers/OverExpressionParser.js.map +0 -1
- package/dist/esm/src/parsers/ParameterDecorator.js.map +0 -1
- package/dist/esm/src/parsers/ParameterExpressionParser.js.map +0 -1
- package/dist/esm/src/parsers/ParenExpressionParser.js +0 -80
- package/dist/esm/src/parsers/ParenExpressionParser.js.map +0 -1
- package/dist/esm/src/parsers/ParseError.js.map +0 -1
- package/dist/esm/src/parsers/PartitionByParser.js.map +0 -1
- package/dist/esm/src/parsers/ReturningClauseParser.js +0 -74
- package/dist/esm/src/parsers/ReturningClauseParser.js.map +0 -1
- package/dist/esm/src/parsers/SelectClauseParser.js.map +0 -1
- package/dist/esm/src/parsers/SelectQueryParser.js.map +0 -1
- package/dist/esm/src/parsers/SetClauseParser.js.map +0 -1
- package/dist/esm/src/parsers/SourceAliasExpressionParser.js.map +0 -1
- package/dist/esm/src/parsers/SourceExpressionParser.js.map +0 -1
- package/dist/esm/src/parsers/SourceParser.js.map +0 -1
- package/dist/esm/src/parsers/SqlParser.d.ts +0 -38
- package/dist/esm/src/parsers/SqlParser.js +0 -344
- package/dist/esm/src/parsers/SqlParser.js.map +0 -1
- package/dist/esm/src/parsers/SqlPrintTokenParser.d.ts +0 -303
- package/dist/esm/src/parsers/SqlPrintTokenParser.js +0 -2934
- package/dist/esm/src/parsers/SqlPrintTokenParser.js.map +0 -1
- package/dist/esm/src/parsers/SqlTokenizer.js.map +0 -1
- package/dist/esm/src/parsers/StringSpecifierExpressionParser.js.map +0 -1
- package/dist/esm/src/parsers/UnaryExpressionParser.js.map +0 -1
- package/dist/esm/src/parsers/UpdateClauseParser.js.map +0 -1
- package/dist/esm/src/parsers/UpdateQueryParser.js.map +0 -1
- package/dist/esm/src/parsers/UsingClauseParser.js.map +0 -1
- package/dist/esm/src/parsers/ValueParser.js +0 -531
- package/dist/esm/src/parsers/ValueParser.js.map +0 -1
- package/dist/esm/src/parsers/ValuesQueryParser.js.map +0 -1
- package/dist/esm/src/parsers/WhereClauseParser.js.map +0 -1
- package/dist/esm/src/parsers/WindowClauseParser.js.map +0 -1
- package/dist/esm/src/parsers/WindowExpressionParser.js.map +0 -1
- package/dist/esm/src/parsers/WithClauseParser.js.map +0 -1
- package/dist/esm/src/parsers/utils/LexemeCommentUtils.js.map +0 -1
- package/dist/esm/src/reporting/models/DataFlowEdge.js.map +0 -1
- package/dist/esm/src/reporting/models/DataFlowGraph.js.map +0 -1
- package/dist/esm/src/reporting/models/DataFlowNode.js.map +0 -1
- package/dist/esm/src/reporting/services/CTEHandler.js.map +0 -1
- package/dist/esm/src/reporting/services/DataSourceHandler.js.map +0 -1
- package/dist/esm/src/reporting/services/JoinHandler.js.map +0 -1
- package/dist/esm/src/reporting/services/ProcessHandler.js.map +0 -1
- package/dist/esm/src/tokenReaders/BaseTokenReader.js.map +0 -1
- package/dist/esm/src/tokenReaders/CommandTokenReader.js +0 -211
- package/dist/esm/src/tokenReaders/CommandTokenReader.js.map +0 -1
- package/dist/esm/src/tokenReaders/EscapedIdentifierTokenReader.js.map +0 -1
- package/dist/esm/src/tokenReaders/FunctionTokenReader.js.map +0 -1
- package/dist/esm/src/tokenReaders/IdentifierTokenReader.js.map +0 -1
- package/dist/esm/src/tokenReaders/LiteralTokenReader.js +0 -318
- package/dist/esm/src/tokenReaders/LiteralTokenReader.js.map +0 -1
- package/dist/esm/src/tokenReaders/OperatorTokenReader.js.map +0 -1
- package/dist/esm/src/tokenReaders/ParameterTokenReader.js.map +0 -1
- package/dist/esm/src/tokenReaders/StringSpecifierTokenReader.js.map +0 -1
- package/dist/esm/src/tokenReaders/SymbolTokenReader.js.map +0 -1
- package/dist/esm/src/tokenReaders/TokenReaderManager.js.map +0 -1
- package/dist/esm/src/tokenReaders/TypeTokenReader.js.map +0 -1
- package/dist/esm/src/transformers/AliasRenamer.js.map +0 -1
- package/dist/esm/src/transformers/CTEBuilder.js.map +0 -1
- package/dist/esm/src/transformers/CTECollector.js.map +0 -1
- package/dist/esm/src/transformers/CTEComposer.js.map +0 -1
- package/dist/esm/src/transformers/CTEDependencyAnalyzer.js.map +0 -1
- package/dist/esm/src/transformers/CTEDependencyTracer.js.map +0 -1
- package/dist/esm/src/transformers/CTEDisabler.js.map +0 -1
- package/dist/esm/src/transformers/CTEInjector.js.map +0 -1
- package/dist/esm/src/transformers/CTENormalizer.js.map +0 -1
- package/dist/esm/src/transformers/CTEQueryDecomposer.js.map +0 -1
- package/dist/esm/src/transformers/CTERenamer.js.map +0 -1
- package/dist/esm/src/transformers/CTETableReferenceCollector.js.map +0 -1
- package/dist/esm/src/transformers/ColumnReferenceCollector.js +0 -464
- package/dist/esm/src/transformers/ColumnReferenceCollector.js.map +0 -1
- package/dist/esm/src/transformers/DynamicQueryBuilder.js.map +0 -1
- package/dist/esm/src/transformers/EnhancedJsonMapping.js.map +0 -1
- package/dist/esm/src/transformers/FilterableItemCollector.js.map +0 -1
- package/dist/esm/src/transformers/FormatOptionResolver.js.map +0 -1
- package/dist/esm/src/transformers/Formatter.js.map +0 -1
- package/dist/esm/src/transformers/InsertQuerySelectValuesConverter.js +0 -118
- package/dist/esm/src/transformers/InsertQuerySelectValuesConverter.js.map +0 -1
- package/dist/esm/src/transformers/JoinAggregationDecomposer.js.map +0 -1
- package/dist/esm/src/transformers/JsonMappingConverter.js.map +0 -1
- package/dist/esm/src/transformers/JsonMappingUnifier.js.map +0 -1
- package/dist/esm/src/transformers/LinePrinter.js.map +0 -1
- package/dist/esm/src/transformers/ModelDrivenJsonMapping.js.map +0 -1
- package/dist/esm/src/transformers/OnelineFormattingHelper.js +0 -88
- package/dist/esm/src/transformers/OnelineFormattingHelper.js.map +0 -1
- package/dist/esm/src/transformers/ParameterCollector.js.map +0 -1
- package/dist/esm/src/transformers/PostgresArrayEntityCteBuilder.js.map +0 -1
- package/dist/esm/src/transformers/PostgresJsonQueryBuilder.js.map +0 -1
- package/dist/esm/src/transformers/PostgresObjectEntityCteBuilder.js.map +0 -1
- package/dist/esm/src/transformers/QueryBuilder.d.ts +0 -119
- package/dist/esm/src/transformers/QueryBuilder.js +0 -618
- package/dist/esm/src/transformers/QueryBuilder.js.map +0 -1
- package/dist/esm/src/transformers/QueryFlowDiagramGenerator.js.map +0 -1
- package/dist/esm/src/transformers/SchemaCollector.js.map +0 -1
- package/dist/esm/src/transformers/SelectValueCollector.js.map +0 -1
- package/dist/esm/src/transformers/SelectableColumnCollector.js.map +0 -1
- package/dist/esm/src/transformers/SmartRenamer.js.map +0 -1
- package/dist/esm/src/transformers/SqlFormatter.js.map +0 -1
- package/dist/esm/src/transformers/SqlIdentifierRenamer.js.map +0 -1
- package/dist/esm/src/transformers/SqlOutputToken.js.map +0 -1
- package/dist/esm/src/transformers/SqlPaginationInjector.js.map +0 -1
- package/dist/esm/src/transformers/SqlParamInjector.js.map +0 -1
- package/dist/esm/src/transformers/SqlParameterBinder.js.map +0 -1
- package/dist/esm/src/transformers/SqlPrinter.d.ts +0 -241
- package/dist/esm/src/transformers/SqlPrinter.js +0 -1445
- package/dist/esm/src/transformers/SqlPrinter.js.map +0 -1
- package/dist/esm/src/transformers/SqlSortInjector.js.map +0 -1
- package/dist/esm/src/transformers/TableColumnResolver.js.map +0 -1
- package/dist/esm/src/transformers/TableSourceCollector.js +0 -431
- package/dist/esm/src/transformers/TableSourceCollector.js.map +0 -1
- package/dist/esm/src/transformers/TypeTransformationPostProcessor.js.map +0 -1
- package/dist/esm/src/transformers/UpstreamSelectQueryFinder.js.map +0 -1
- package/dist/esm/src/types/Formatting.js.map +0 -1
- package/dist/esm/src/utils/CTERegionDetector.js.map +0 -1
- package/dist/esm/src/utils/CommentEditor.js.map +0 -1
- package/dist/esm/src/utils/CommentUtils.js.map +0 -1
- package/dist/esm/src/utils/CursorContextAnalyzer.js.map +0 -1
- package/dist/esm/src/utils/IntelliSenseApi.js.map +0 -1
- package/dist/esm/src/utils/JsonSchemaValidator.js.map +0 -1
- package/dist/esm/src/utils/KeywordCache.js.map +0 -1
- package/dist/esm/src/utils/LexemeCursor.js.map +0 -1
- package/dist/esm/src/utils/MultiQuerySplitter.js.map +0 -1
- package/dist/esm/src/utils/OperatorPrecedence.js.map +0 -1
- package/dist/esm/src/utils/ParameterDetector.js.map +0 -1
- package/dist/esm/src/utils/ParameterHelper.js.map +0 -1
- package/dist/esm/src/utils/ParameterRemover.js +0 -777
- package/dist/esm/src/utils/ParameterRemover.js.map +0 -1
- package/dist/esm/src/utils/ParserStringUtils.js.map +0 -1
- package/dist/esm/src/utils/PositionAwareParser.js.map +0 -1
- package/dist/esm/src/utils/SchemaManager.js.map +0 -1
- package/dist/esm/src/utils/ScopeResolver.js.map +0 -1
- package/dist/esm/src/utils/SqlSchemaValidator.js.map +0 -1
- package/dist/esm/src/utils/TextPositionUtils.js.map +0 -1
- package/dist/esm/src/utils/charLookupTable.js.map +0 -1
- package/dist/esm/src/utils/stringUtils.js.map +0 -1
- package/dist/esm/tsconfig.browser.tsbuildinfo +0 -1
- package/dist/src/formatters/OriginalFormatRestorer.js.map +0 -1
- package/dist/src/index.js +0 -126
- package/dist/src/index.js.map +0 -1
- package/dist/src/models/BinarySelectQuery.js.map +0 -1
- package/dist/src/models/CTEError.js.map +0 -1
- package/dist/src/models/Clause.js +0 -522
- package/dist/src/models/Clause.js.map +0 -1
- package/dist/src/models/CreateTableQuery.js.map +0 -1
- package/dist/src/models/DDLStatements.js +0 -153
- package/dist/src/models/DDLStatements.js.map +0 -1
- package/dist/src/models/DeleteQuery.js.map +0 -1
- package/dist/src/models/HintClause.js.map +0 -1
- package/dist/src/models/InsertQuery.js +0 -25
- package/dist/src/models/InsertQuery.js.map +0 -1
- package/dist/src/models/KeywordTrie.js.map +0 -1
- package/dist/src/models/Lexeme.js.map +0 -1
- package/dist/src/models/MergeQuery.js.map +0 -1
- package/dist/src/models/SelectQuery.js.map +0 -1
- package/dist/src/models/SimpleSelectQuery.js.map +0 -1
- package/dist/src/models/SqlComponent.js.map +0 -1
- package/dist/src/models/SqlPrintToken.js +0 -134
- package/dist/src/models/SqlPrintToken.js.map +0 -1
- package/dist/src/models/UpdateQuery.js.map +0 -1
- package/dist/src/models/ValueComponent.js +0 -379
- package/dist/src/models/ValueComponent.js.map +0 -1
- package/dist/src/models/ValuesQuery.js +0 -61
- package/dist/src/models/ValuesQuery.js.map +0 -1
- package/dist/src/parsers/AlterTableParser.js +0 -432
- package/dist/src/parsers/AlterTableParser.js.map +0 -1
- package/dist/src/parsers/CommandExpressionParser.js.map +0 -1
- package/dist/src/parsers/CommonTableParser.js.map +0 -1
- package/dist/src/parsers/CreateIndexParser.js.map +0 -1
- package/dist/src/parsers/CreateTableParser.js.map +0 -1
- package/dist/src/parsers/DeleteClauseParser.js.map +0 -1
- package/dist/src/parsers/DeleteQueryParser.js.map +0 -1
- package/dist/src/parsers/DropConstraintParser.js.map +0 -1
- package/dist/src/parsers/DropIndexParser.js.map +0 -1
- package/dist/src/parsers/DropTableParser.js.map +0 -1
- package/dist/src/parsers/FetchClauseParser.js.map +0 -1
- package/dist/src/parsers/ForClauseParser.js.map +0 -1
- package/dist/src/parsers/FromClauseParser.js.map +0 -1
- package/dist/src/parsers/FullNameParser.js.map +0 -1
- package/dist/src/parsers/FunctionExpressionParser.js +0 -491
- package/dist/src/parsers/FunctionExpressionParser.js.map +0 -1
- package/dist/src/parsers/GroupByParser.js.map +0 -1
- package/dist/src/parsers/HavingParser.js.map +0 -1
- package/dist/src/parsers/IdentifierDecorator.js.map +0 -1
- package/dist/src/parsers/IdentifierParser.js.map +0 -1
- package/dist/src/parsers/InsertQueryParser.js +0 -159
- package/dist/src/parsers/InsertQueryParser.js.map +0 -1
- package/dist/src/parsers/JoinClauseParser.js.map +0 -1
- package/dist/src/parsers/JoinOnClauseParser.js.map +0 -1
- package/dist/src/parsers/JoinUsingClauseParser.js.map +0 -1
- package/dist/src/parsers/KeywordParser.js.map +0 -1
- package/dist/src/parsers/LimitClauseParser.js.map +0 -1
- package/dist/src/parsers/LiteralParser.js.map +0 -1
- package/dist/src/parsers/MergeQueryParser.js.map +0 -1
- package/dist/src/parsers/OffsetClauseParser.js.map +0 -1
- package/dist/src/parsers/OrderByClauseParser.js.map +0 -1
- package/dist/src/parsers/OverExpressionParser.js.map +0 -1
- package/dist/src/parsers/ParameterDecorator.js.map +0 -1
- package/dist/src/parsers/ParameterExpressionParser.js.map +0 -1
- package/dist/src/parsers/ParenExpressionParser.js +0 -84
- package/dist/src/parsers/ParenExpressionParser.js.map +0 -1
- package/dist/src/parsers/ParseError.js.map +0 -1
- package/dist/src/parsers/PartitionByParser.js.map +0 -1
- package/dist/src/parsers/ReturningClauseParser.js +0 -78
- package/dist/src/parsers/ReturningClauseParser.js.map +0 -1
- package/dist/src/parsers/SelectClauseParser.js.map +0 -1
- package/dist/src/parsers/SelectQueryParser.js.map +0 -1
- package/dist/src/parsers/SetClauseParser.js.map +0 -1
- package/dist/src/parsers/SourceAliasExpressionParser.js.map +0 -1
- package/dist/src/parsers/SourceExpressionParser.js.map +0 -1
- package/dist/src/parsers/SourceParser.js.map +0 -1
- package/dist/src/parsers/SqlParser.js +0 -353
- package/dist/src/parsers/SqlParser.js.map +0 -1
- package/dist/src/parsers/SqlPrintTokenParser.js +0 -2938
- package/dist/src/parsers/SqlPrintTokenParser.js.map +0 -1
- package/dist/src/parsers/SqlTokenizer.js.map +0 -1
- package/dist/src/parsers/StringSpecifierExpressionParser.js.map +0 -1
- package/dist/src/parsers/UnaryExpressionParser.js.map +0 -1
- package/dist/src/parsers/UpdateClauseParser.js.map +0 -1
- package/dist/src/parsers/UpdateQueryParser.js.map +0 -1
- package/dist/src/parsers/UsingClauseParser.js.map +0 -1
- package/dist/src/parsers/ValueParser.js +0 -535
- package/dist/src/parsers/ValueParser.js.map +0 -1
- package/dist/src/parsers/ValuesQueryParser.js.map +0 -1
- package/dist/src/parsers/WhereClauseParser.js.map +0 -1
- package/dist/src/parsers/WindowClauseParser.js.map +0 -1
- package/dist/src/parsers/WindowExpressionParser.js.map +0 -1
- package/dist/src/parsers/WithClauseParser.js.map +0 -1
- package/dist/src/parsers/utils/LexemeCommentUtils.js.map +0 -1
- package/dist/src/reporting/models/DataFlowEdge.js.map +0 -1
- package/dist/src/reporting/models/DataFlowGraph.js.map +0 -1
- package/dist/src/reporting/models/DataFlowNode.js.map +0 -1
- package/dist/src/reporting/services/CTEHandler.js.map +0 -1
- package/dist/src/reporting/services/DataSourceHandler.js.map +0 -1
- package/dist/src/reporting/services/JoinHandler.js.map +0 -1
- package/dist/src/reporting/services/ProcessHandler.js.map +0 -1
- package/dist/src/tokenReaders/BaseTokenReader.js.map +0 -1
- package/dist/src/tokenReaders/CommandTokenReader.js +0 -215
- package/dist/src/tokenReaders/CommandTokenReader.js.map +0 -1
- package/dist/src/tokenReaders/EscapedIdentifierTokenReader.js.map +0 -1
- package/dist/src/tokenReaders/FunctionTokenReader.js.map +0 -1
- package/dist/src/tokenReaders/IdentifierTokenReader.js.map +0 -1
- package/dist/src/tokenReaders/LiteralTokenReader.js +0 -322
- package/dist/src/tokenReaders/LiteralTokenReader.js.map +0 -1
- package/dist/src/tokenReaders/OperatorTokenReader.js.map +0 -1
- package/dist/src/tokenReaders/ParameterTokenReader.js.map +0 -1
- package/dist/src/tokenReaders/StringSpecifierTokenReader.js.map +0 -1
- package/dist/src/tokenReaders/SymbolTokenReader.js.map +0 -1
- package/dist/src/tokenReaders/TokenReaderManager.js.map +0 -1
- package/dist/src/tokenReaders/TypeTokenReader.js.map +0 -1
- package/dist/src/transformers/AliasRenamer.js.map +0 -1
- package/dist/src/transformers/CTEBuilder.js.map +0 -1
- package/dist/src/transformers/CTECollector.js.map +0 -1
- package/dist/src/transformers/CTEComposer.js.map +0 -1
- package/dist/src/transformers/CTEDependencyAnalyzer.js.map +0 -1
- package/dist/src/transformers/CTEDependencyTracer.js.map +0 -1
- package/dist/src/transformers/CTEDisabler.js.map +0 -1
- package/dist/src/transformers/CTEInjector.js.map +0 -1
- package/dist/src/transformers/CTENormalizer.js.map +0 -1
- package/dist/src/transformers/CTEQueryDecomposer.js.map +0 -1
- package/dist/src/transformers/CTERenamer.js.map +0 -1
- package/dist/src/transformers/CTETableReferenceCollector.js.map +0 -1
- package/dist/src/transformers/ColumnReferenceCollector.js +0 -468
- package/dist/src/transformers/ColumnReferenceCollector.js.map +0 -1
- package/dist/src/transformers/DynamicQueryBuilder.js.map +0 -1
- package/dist/src/transformers/EnhancedJsonMapping.js.map +0 -1
- package/dist/src/transformers/FilterableItemCollector.js.map +0 -1
- package/dist/src/transformers/FormatOptionResolver.js.map +0 -1
- package/dist/src/transformers/Formatter.js.map +0 -1
- package/dist/src/transformers/InsertQuerySelectValuesConverter.js +0 -122
- package/dist/src/transformers/InsertQuerySelectValuesConverter.js.map +0 -1
- package/dist/src/transformers/JoinAggregationDecomposer.js.map +0 -1
- package/dist/src/transformers/JsonMappingConverter.js.map +0 -1
- package/dist/src/transformers/JsonMappingUnifier.js.map +0 -1
- package/dist/src/transformers/LinePrinter.js.map +0 -1
- package/dist/src/transformers/ModelDrivenJsonMapping.js.map +0 -1
- package/dist/src/transformers/OnelineFormattingHelper.js +0 -92
- package/dist/src/transformers/OnelineFormattingHelper.js.map +0 -1
- package/dist/src/transformers/ParameterCollector.js.map +0 -1
- package/dist/src/transformers/PostgresArrayEntityCteBuilder.js.map +0 -1
- package/dist/src/transformers/PostgresJsonQueryBuilder.js.map +0 -1
- package/dist/src/transformers/PostgresObjectEntityCteBuilder.js.map +0 -1
- package/dist/src/transformers/QueryBuilder.js +0 -633
- package/dist/src/transformers/QueryBuilder.js.map +0 -1
- package/dist/src/transformers/QueryFlowDiagramGenerator.js.map +0 -1
- package/dist/src/transformers/SchemaCollector.js.map +0 -1
- package/dist/src/transformers/SelectValueCollector.js.map +0 -1
- package/dist/src/transformers/SelectableColumnCollector.js.map +0 -1
- package/dist/src/transformers/SmartRenamer.js.map +0 -1
- package/dist/src/transformers/SqlFormatter.js.map +0 -1
- package/dist/src/transformers/SqlIdentifierRenamer.js.map +0 -1
- package/dist/src/transformers/SqlOutputToken.js.map +0 -1
- package/dist/src/transformers/SqlPaginationInjector.js.map +0 -1
- package/dist/src/transformers/SqlParamInjector.js.map +0 -1
- package/dist/src/transformers/SqlParameterBinder.js.map +0 -1
- package/dist/src/transformers/SqlPrinter.js +0 -1449
- package/dist/src/transformers/SqlPrinter.js.map +0 -1
- package/dist/src/transformers/SqlSortInjector.js.map +0 -1
- package/dist/src/transformers/TableSourceCollector.js +0 -435
- package/dist/src/transformers/TableSourceCollector.js.map +0 -1
- package/dist/src/transformers/TypeTransformationPostProcessor.js.map +0 -1
- package/dist/src/transformers/UpstreamSelectQueryFinder.js.map +0 -1
- package/dist/src/utils/CTERegionDetector.js.map +0 -1
- package/dist/src/utils/CommentEditor.js.map +0 -1
- package/dist/src/utils/CommentUtils.js.map +0 -1
- package/dist/src/utils/CursorContextAnalyzer.js.map +0 -1
- package/dist/src/utils/IntelliSenseApi.js.map +0 -1
- package/dist/src/utils/JsonSchemaValidator.js.map +0 -1
- package/dist/src/utils/KeywordCache.js.map +0 -1
- package/dist/src/utils/LexemeCursor.js.map +0 -1
- package/dist/src/utils/MultiQuerySplitter.js.map +0 -1
- package/dist/src/utils/OperatorPrecedence.js.map +0 -1
- package/dist/src/utils/ParameterDetector.js.map +0 -1
- package/dist/src/utils/ParameterHelper.js.map +0 -1
- package/dist/src/utils/ParameterRemover.js +0 -781
- package/dist/src/utils/ParameterRemover.js.map +0 -1
- package/dist/src/utils/ParserStringUtils.js.map +0 -1
- package/dist/src/utils/PositionAwareParser.js.map +0 -1
- package/dist/src/utils/SchemaManager.js.map +0 -1
- package/dist/src/utils/ScopeResolver.js.map +0 -1
- package/dist/src/utils/SqlSchemaValidator.js.map +0 -1
- package/dist/src/utils/TextPositionUtils.js.map +0 -1
- package/dist/src/utils/charLookupTable.js.map +0 -1
- package/dist/src/utils/stringUtils.js.map +0 -1
- package/dist/tsconfig.tsbuildinfo +0 -1
- /package/dist/esm/{src/formatters → formatters}/OriginalFormatRestorer.d.ts +0 -0
- /package/dist/esm/{src/formatters → formatters}/OriginalFormatRestorer.js +0 -0
- /package/dist/esm/{src/models → models}/BinarySelectQuery.d.ts +0 -0
- /package/dist/esm/{src/models → models}/BinarySelectQuery.js +0 -0
- /package/dist/esm/{src/models → models}/CTEError.d.ts +0 -0
- /package/dist/esm/{src/models → models}/CTEError.js +0 -0
- /package/dist/esm/{src/models → models}/CreateTableQuery.d.ts +0 -0
- /package/dist/esm/{src/models → models}/CreateTableQuery.js +0 -0
- /package/dist/esm/{src/models → models}/DeleteQuery.d.ts +0 -0
- /package/dist/esm/{src/models → models}/DeleteQuery.js +0 -0
- /package/dist/esm/{src/models → models}/FormattingLexeme.d.ts +0 -0
- /package/dist/esm/{src/models → models}/FormattingLexeme.js +0 -0
- /package/dist/{src → esm}/models/FormattingLexeme.js.map +0 -0
- /package/dist/esm/{src/models → models}/HintClause.d.ts +0 -0
- /package/dist/esm/{src/models → models}/HintClause.js +0 -0
- /package/dist/esm/{src/models → models}/KeywordTrie.d.ts +0 -0
- /package/dist/esm/{src/models → models}/KeywordTrie.js +0 -0
- /package/dist/esm/{src/models → models}/Lexeme.d.ts +0 -0
- /package/dist/esm/{src/models → models}/Lexeme.js +0 -0
- /package/dist/esm/{src/models → models}/MergeQuery.d.ts +0 -0
- /package/dist/esm/{src/models → models}/MergeQuery.js +0 -0
- /package/dist/esm/{src/models → models}/SelectQuery.d.ts +0 -0
- /package/dist/esm/{src/models → models}/SelectQuery.js +0 -0
- /package/dist/esm/{src/models → models}/SimpleSelectQuery.d.ts +0 -0
- /package/dist/esm/{src/models → models}/SimpleSelectQuery.js +0 -0
- /package/dist/esm/{src/models → models}/SqlComponent.d.ts +0 -0
- /package/dist/esm/{src/models → models}/SqlComponent.js +0 -0
- /package/dist/esm/{src/models → models}/UpdateQuery.d.ts +0 -0
- /package/dist/esm/{src/models → models}/UpdateQuery.js +0 -0
- /package/dist/esm/{src/parsers → parsers}/AlterTableParser.d.ts +0 -0
- /package/dist/esm/{src/parsers → parsers}/CommandExpressionParser.d.ts +0 -0
- /package/dist/esm/{src/parsers → parsers}/CommandExpressionParser.js +0 -0
- /package/dist/esm/{src/parsers → parsers}/CommonTableParser.d.ts +0 -0
- /package/dist/esm/{src/parsers → parsers}/CommonTableParser.js +0 -0
- /package/dist/esm/{src/parsers → parsers}/CreateIndexParser.d.ts +0 -0
- /package/dist/esm/{src/parsers → parsers}/CreateIndexParser.js +0 -0
- /package/dist/esm/{src/parsers → parsers}/CreateTableParser.d.ts +0 -0
- /package/dist/esm/{src/parsers → parsers}/CreateTableParser.js +0 -0
- /package/dist/esm/{src/parsers → parsers}/DeleteClauseParser.d.ts +0 -0
- /package/dist/esm/{src/parsers → parsers}/DeleteClauseParser.js +0 -0
- /package/dist/esm/{src/parsers → parsers}/DeleteQueryParser.d.ts +0 -0
- /package/dist/esm/{src/parsers → parsers}/DeleteQueryParser.js +0 -0
- /package/dist/esm/{src/parsers → parsers}/DropConstraintParser.d.ts +0 -0
- /package/dist/esm/{src/parsers → parsers}/DropConstraintParser.js +0 -0
- /package/dist/esm/{src/parsers → parsers}/DropIndexParser.d.ts +0 -0
- /package/dist/esm/{src/parsers → parsers}/DropIndexParser.js +0 -0
- /package/dist/esm/{src/parsers → parsers}/DropTableParser.d.ts +0 -0
- /package/dist/esm/{src/parsers → parsers}/DropTableParser.js +0 -0
- /package/dist/esm/{src/parsers → parsers}/FetchClauseParser.d.ts +0 -0
- /package/dist/esm/{src/parsers → parsers}/FetchClauseParser.js +0 -0
- /package/dist/esm/{src/parsers → parsers}/ForClauseParser.d.ts +0 -0
- /package/dist/esm/{src/parsers → parsers}/ForClauseParser.js +0 -0
- /package/dist/esm/{src/parsers → parsers}/FromClauseParser.d.ts +0 -0
- /package/dist/esm/{src/parsers → parsers}/FromClauseParser.js +0 -0
- /package/dist/esm/{src/parsers → parsers}/FullNameParser.d.ts +0 -0
- /package/dist/esm/{src/parsers → parsers}/FullNameParser.js +0 -0
- /package/dist/esm/{src/parsers → parsers}/GroupByParser.d.ts +0 -0
- /package/dist/esm/{src/parsers → parsers}/GroupByParser.js +0 -0
- /package/dist/esm/{src/parsers → parsers}/HavingParser.d.ts +0 -0
- /package/dist/esm/{src/parsers → parsers}/HavingParser.js +0 -0
- /package/dist/esm/{src/parsers → parsers}/IdentifierDecorator.d.ts +0 -0
- /package/dist/esm/{src/parsers → parsers}/IdentifierDecorator.js +0 -0
- /package/dist/esm/{src/parsers → parsers}/IdentifierParser.d.ts +0 -0
- /package/dist/esm/{src/parsers → parsers}/IdentifierParser.js +0 -0
- /package/dist/esm/{src/parsers → parsers}/InsertQueryParser.d.ts +0 -0
- /package/dist/esm/{src/parsers → parsers}/JoinClauseParser.d.ts +0 -0
- /package/dist/esm/{src/parsers → parsers}/JoinClauseParser.js +0 -0
- /package/dist/esm/{src/parsers → parsers}/JoinOnClauseParser.d.ts +0 -0
- /package/dist/esm/{src/parsers → parsers}/JoinOnClauseParser.js +0 -0
- /package/dist/esm/{src/parsers → parsers}/JoinUsingClauseParser.d.ts +0 -0
- /package/dist/esm/{src/parsers → parsers}/JoinUsingClauseParser.js +0 -0
- /package/dist/esm/{src/parsers → parsers}/KeywordParser.d.ts +0 -0
- /package/dist/esm/{src/parsers → parsers}/KeywordParser.js +0 -0
- /package/dist/esm/{src/parsers → parsers}/LimitClauseParser.d.ts +0 -0
- /package/dist/esm/{src/parsers → parsers}/LimitClauseParser.js +0 -0
- /package/dist/esm/{src/parsers → parsers}/LiteralParser.d.ts +0 -0
- /package/dist/esm/{src/parsers → parsers}/LiteralParser.js +0 -0
- /package/dist/esm/{src/parsers → parsers}/MergeQueryParser.d.ts +0 -0
- /package/dist/esm/{src/parsers → parsers}/MergeQueryParser.js +0 -0
- /package/dist/esm/{src/parsers → parsers}/OffsetClauseParser.d.ts +0 -0
- /package/dist/esm/{src/parsers → parsers}/OffsetClauseParser.js +0 -0
- /package/dist/esm/{src/parsers → parsers}/OrderByClauseParser.d.ts +0 -0
- /package/dist/esm/{src/parsers → parsers}/OrderByClauseParser.js +0 -0
- /package/dist/esm/{src/parsers → parsers}/OverExpressionParser.d.ts +0 -0
- /package/dist/esm/{src/parsers → parsers}/OverExpressionParser.js +0 -0
- /package/dist/esm/{src/parsers → parsers}/ParameterDecorator.d.ts +0 -0
- /package/dist/esm/{src/parsers → parsers}/ParameterDecorator.js +0 -0
- /package/dist/esm/{src/parsers → parsers}/ParameterExpressionParser.d.ts +0 -0
- /package/dist/esm/{src/parsers → parsers}/ParameterExpressionParser.js +0 -0
- /package/dist/esm/{src/parsers → parsers}/ParenExpressionParser.d.ts +0 -0
- /package/dist/esm/{src/parsers → parsers}/ParseError.d.ts +0 -0
- /package/dist/esm/{src/parsers → parsers}/ParseError.js +0 -0
- /package/dist/esm/{src/parsers → parsers}/PartitionByParser.d.ts +0 -0
- /package/dist/esm/{src/parsers → parsers}/PartitionByParser.js +0 -0
- /package/dist/esm/{src/parsers → parsers}/ReturningClauseParser.d.ts +0 -0
- /package/dist/esm/{src/parsers → parsers}/SelectClauseParser.d.ts +0 -0
- /package/dist/esm/{src/parsers → parsers}/SelectClauseParser.js +0 -0
- /package/dist/esm/{src/parsers → parsers}/SelectQueryParser.d.ts +0 -0
- /package/dist/esm/{src/parsers → parsers}/SelectQueryParser.js +0 -0
- /package/dist/esm/{src/parsers → parsers}/SetClauseParser.d.ts +0 -0
- /package/dist/esm/{src/parsers → parsers}/SetClauseParser.js +0 -0
- /package/dist/esm/{src/parsers → parsers}/SourceAliasExpressionParser.d.ts +0 -0
- /package/dist/esm/{src/parsers → parsers}/SourceAliasExpressionParser.js +0 -0
- /package/dist/esm/{src/parsers → parsers}/SourceExpressionParser.d.ts +0 -0
- /package/dist/esm/{src/parsers → parsers}/SourceExpressionParser.js +0 -0
- /package/dist/esm/{src/parsers → parsers}/SourceParser.d.ts +0 -0
- /package/dist/esm/{src/parsers → parsers}/SourceParser.js +0 -0
- /package/dist/esm/{src/parsers → parsers}/SqlTokenizer.d.ts +0 -0
- /package/dist/esm/{src/parsers → parsers}/SqlTokenizer.js +0 -0
- /package/dist/esm/{src/parsers → parsers}/StringSpecifierExpressionParser.d.ts +0 -0
- /package/dist/esm/{src/parsers → parsers}/StringSpecifierExpressionParser.js +0 -0
- /package/dist/esm/{src/parsers → parsers}/UnaryExpressionParser.d.ts +0 -0
- /package/dist/esm/{src/parsers → parsers}/UnaryExpressionParser.js +0 -0
- /package/dist/esm/{src/parsers → parsers}/UpdateClauseParser.d.ts +0 -0
- /package/dist/esm/{src/parsers → parsers}/UpdateClauseParser.js +0 -0
- /package/dist/esm/{src/parsers → parsers}/UpdateQueryParser.d.ts +0 -0
- /package/dist/esm/{src/parsers → parsers}/UpdateQueryParser.js +0 -0
- /package/dist/esm/{src/parsers → parsers}/UsingClauseParser.d.ts +0 -0
- /package/dist/esm/{src/parsers → parsers}/UsingClauseParser.js +0 -0
- /package/dist/esm/{src/parsers → parsers}/ValueParser.d.ts +0 -0
- /package/dist/esm/{src/parsers → parsers}/ValuesQueryParser.d.ts +0 -0
- /package/dist/esm/{src/parsers → parsers}/ValuesQueryParser.js +0 -0
- /package/dist/esm/{src/parsers → parsers}/WhereClauseParser.d.ts +0 -0
- /package/dist/esm/{src/parsers → parsers}/WhereClauseParser.js +0 -0
- /package/dist/esm/{src/parsers → parsers}/WindowClauseParser.d.ts +0 -0
- /package/dist/esm/{src/parsers → parsers}/WindowClauseParser.js +0 -0
- /package/dist/esm/{src/parsers → parsers}/WindowExpressionParser.d.ts +0 -0
- /package/dist/esm/{src/parsers → parsers}/WindowExpressionParser.js +0 -0
- /package/dist/esm/{src/parsers → parsers}/WithClauseParser.d.ts +0 -0
- /package/dist/esm/{src/parsers → parsers}/WithClauseParser.js +0 -0
- /package/dist/esm/{src/parsers → parsers}/utils/LexemeCommentUtils.d.ts +0 -0
- /package/dist/esm/{src/parsers → parsers}/utils/LexemeCommentUtils.js +0 -0
- /package/dist/esm/{src/reporting → reporting}/models/DataFlowEdge.d.ts +0 -0
- /package/dist/esm/{src/reporting → reporting}/models/DataFlowEdge.js +0 -0
- /package/dist/esm/{src/reporting → reporting}/models/DataFlowGraph.d.ts +0 -0
- /package/dist/esm/{src/reporting → reporting}/models/DataFlowGraph.js +0 -0
- /package/dist/esm/{src/reporting → reporting}/models/DataFlowNode.d.ts +0 -0
- /package/dist/esm/{src/reporting → reporting}/models/DataFlowNode.js +0 -0
- /package/dist/esm/{src/reporting → reporting}/services/CTEHandler.d.ts +0 -0
- /package/dist/esm/{src/reporting → reporting}/services/CTEHandler.js +0 -0
- /package/dist/esm/{src/reporting → reporting}/services/DataSourceHandler.d.ts +0 -0
- /package/dist/esm/{src/reporting → reporting}/services/DataSourceHandler.js +0 -0
- /package/dist/esm/{src/reporting → reporting}/services/JoinHandler.d.ts +0 -0
- /package/dist/esm/{src/reporting → reporting}/services/JoinHandler.js +0 -0
- /package/dist/esm/{src/reporting → reporting}/services/ProcessHandler.d.ts +0 -0
- /package/dist/esm/{src/reporting → reporting}/services/ProcessHandler.js +0 -0
- /package/dist/esm/{src/tokenReaders → tokenReaders}/BaseTokenReader.d.ts +0 -0
- /package/dist/esm/{src/tokenReaders → tokenReaders}/BaseTokenReader.js +0 -0
- /package/dist/esm/{src/tokenReaders → tokenReaders}/CommandTokenReader.d.ts +0 -0
- /package/dist/esm/{src/tokenReaders → tokenReaders}/EscapedIdentifierTokenReader.d.ts +0 -0
- /package/dist/esm/{src/tokenReaders → tokenReaders}/EscapedIdentifierTokenReader.js +0 -0
- /package/dist/esm/{src/tokenReaders → tokenReaders}/FunctionTokenReader.d.ts +0 -0
- /package/dist/esm/{src/tokenReaders → tokenReaders}/FunctionTokenReader.js +0 -0
- /package/dist/esm/{src/tokenReaders → tokenReaders}/IdentifierTokenReader.d.ts +0 -0
- /package/dist/esm/{src/tokenReaders → tokenReaders}/IdentifierTokenReader.js +0 -0
- /package/dist/esm/{src/tokenReaders → tokenReaders}/LiteralTokenReader.d.ts +0 -0
- /package/dist/esm/{src/tokenReaders → tokenReaders}/OperatorTokenReader.d.ts +0 -0
- /package/dist/esm/{src/tokenReaders → tokenReaders}/OperatorTokenReader.js +0 -0
- /package/dist/esm/{src/tokenReaders → tokenReaders}/ParameterTokenReader.d.ts +0 -0
- /package/dist/esm/{src/tokenReaders → tokenReaders}/ParameterTokenReader.js +0 -0
- /package/dist/esm/{src/tokenReaders → tokenReaders}/StringSpecifierTokenReader.d.ts +0 -0
- /package/dist/esm/{src/tokenReaders → tokenReaders}/StringSpecifierTokenReader.js +0 -0
- /package/dist/esm/{src/tokenReaders → tokenReaders}/SymbolTokenReader.d.ts +0 -0
- /package/dist/esm/{src/tokenReaders → tokenReaders}/SymbolTokenReader.js +0 -0
- /package/dist/esm/{src/tokenReaders → tokenReaders}/TokenReaderManager.d.ts +0 -0
- /package/dist/esm/{src/tokenReaders → tokenReaders}/TokenReaderManager.js +0 -0
- /package/dist/esm/{src/tokenReaders → tokenReaders}/TypeTokenReader.d.ts +0 -0
- /package/dist/esm/{src/tokenReaders → tokenReaders}/TypeTokenReader.js +0 -0
- /package/dist/esm/{src/transformers → transformers}/AliasRenamer.d.ts +0 -0
- /package/dist/esm/{src/transformers → transformers}/AliasRenamer.js +0 -0
- /package/dist/esm/{src/transformers → transformers}/CTEBuilder.d.ts +0 -0
- /package/dist/esm/{src/transformers → transformers}/CTEBuilder.js +0 -0
- /package/dist/esm/{src/transformers → transformers}/CTECollector.d.ts +0 -0
- /package/dist/esm/{src/transformers → transformers}/CTECollector.js +0 -0
- /package/dist/esm/{src/transformers → transformers}/CTEComposer.d.ts +0 -0
- /package/dist/esm/{src/transformers → transformers}/CTEComposer.js +0 -0
- /package/dist/esm/{src/transformers → transformers}/CTEDependencyAnalyzer.d.ts +0 -0
- /package/dist/esm/{src/transformers → transformers}/CTEDependencyAnalyzer.js +0 -0
- /package/dist/esm/{src/transformers → transformers}/CTEDependencyTracer.d.ts +0 -0
- /package/dist/esm/{src/transformers → transformers}/CTEDependencyTracer.js +0 -0
- /package/dist/esm/{src/transformers → transformers}/CTEDisabler.d.ts +0 -0
- /package/dist/esm/{src/transformers → transformers}/CTEDisabler.js +0 -0
- /package/dist/esm/{src/transformers → transformers}/CTEInjector.d.ts +0 -0
- /package/dist/esm/{src/transformers → transformers}/CTEInjector.js +0 -0
- /package/dist/esm/{src/transformers → transformers}/CTENormalizer.d.ts +0 -0
- /package/dist/esm/{src/transformers → transformers}/CTENormalizer.js +0 -0
- /package/dist/esm/{src/transformers → transformers}/CTEQueryDecomposer.d.ts +0 -0
- /package/dist/esm/{src/transformers → transformers}/CTEQueryDecomposer.js +0 -0
- /package/dist/esm/{src/transformers → transformers}/CTERenamer.d.ts +0 -0
- /package/dist/esm/{src/transformers → transformers}/CTERenamer.js +0 -0
- /package/dist/esm/{src/transformers → transformers}/CTETableReferenceCollector.d.ts +0 -0
- /package/dist/esm/{src/transformers → transformers}/CTETableReferenceCollector.js +0 -0
- /package/dist/esm/{src/transformers → transformers}/ColumnReferenceCollector.d.ts +0 -0
- /package/dist/esm/{src/transformers → transformers}/DynamicQueryBuilder.d.ts +0 -0
- /package/dist/esm/{src/transformers → transformers}/DynamicQueryBuilder.js +0 -0
- /package/dist/esm/{src/transformers → transformers}/EnhancedJsonMapping.d.ts +0 -0
- /package/dist/esm/{src/transformers → transformers}/EnhancedJsonMapping.js +0 -0
- /package/dist/esm/{src/transformers → transformers}/FilterableItemCollector.d.ts +0 -0
- /package/dist/esm/{src/transformers → transformers}/FilterableItemCollector.js +0 -0
- /package/dist/esm/{src/transformers → transformers}/FormatOptionResolver.d.ts +0 -0
- /package/dist/esm/{src/transformers → transformers}/FormatOptionResolver.js +0 -0
- /package/dist/esm/{src/transformers → transformers}/Formatter.d.ts +0 -0
- /package/dist/esm/{src/transformers → transformers}/Formatter.js +0 -0
- /package/dist/esm/{src/transformers → transformers}/InsertQuerySelectValuesConverter.d.ts +0 -0
- /package/dist/esm/{src/transformers → transformers}/JoinAggregationDecomposer.d.ts +0 -0
- /package/dist/esm/{src/transformers → transformers}/JoinAggregationDecomposer.js +0 -0
- /package/dist/esm/{src/transformers → transformers}/JsonMappingConverter.d.ts +0 -0
- /package/dist/esm/{src/transformers → transformers}/JsonMappingConverter.js +0 -0
- /package/dist/esm/{src/transformers → transformers}/JsonMappingUnifier.d.ts +0 -0
- /package/dist/esm/{src/transformers → transformers}/JsonMappingUnifier.js +0 -0
- /package/dist/esm/{src/transformers → transformers}/LinePrinter.d.ts +0 -0
- /package/dist/esm/{src/transformers → transformers}/LinePrinter.js +0 -0
- /package/dist/esm/{src/transformers → transformers}/ModelDrivenJsonMapping.d.ts +0 -0
- /package/dist/esm/{src/transformers → transformers}/ModelDrivenJsonMapping.js +0 -0
- /package/dist/esm/{src/transformers → transformers}/OnelineFormattingHelper.d.ts +0 -0
- /package/dist/esm/{src/transformers → transformers}/ParameterCollector.d.ts +0 -0
- /package/dist/esm/{src/transformers → transformers}/ParameterCollector.js +0 -0
- /package/dist/esm/{src/transformers → transformers}/PostgresArrayEntityCteBuilder.d.ts +0 -0
- /package/dist/esm/{src/transformers → transformers}/PostgresArrayEntityCteBuilder.js +0 -0
- /package/dist/esm/{src/transformers → transformers}/PostgresJsonQueryBuilder.d.ts +0 -0
- /package/dist/esm/{src/transformers → transformers}/PostgresJsonQueryBuilder.js +0 -0
- /package/dist/esm/{src/transformers → transformers}/PostgresObjectEntityCteBuilder.d.ts +0 -0
- /package/dist/esm/{src/transformers → transformers}/PostgresObjectEntityCteBuilder.js +0 -0
- /package/dist/esm/{src/transformers → transformers}/QueryFlowDiagramGenerator.d.ts +0 -0
- /package/dist/esm/{src/transformers → transformers}/QueryFlowDiagramGenerator.js +0 -0
- /package/dist/esm/{src/transformers → transformers}/SchemaCollector.d.ts +0 -0
- /package/dist/esm/{src/transformers → transformers}/SchemaCollector.js +0 -0
- /package/dist/esm/{src/transformers → transformers}/SelectValueCollector.d.ts +0 -0
- /package/dist/esm/{src/transformers → transformers}/SelectValueCollector.js +0 -0
- /package/dist/esm/{src/transformers → transformers}/SelectableColumnCollector.d.ts +0 -0
- /package/dist/esm/{src/transformers → transformers}/SelectableColumnCollector.js +0 -0
- /package/dist/esm/{src/transformers → transformers}/SmartRenamer.d.ts +0 -0
- /package/dist/esm/{src/transformers → transformers}/SmartRenamer.js +0 -0
- /package/dist/esm/{src/transformers → transformers}/SqlFormatter.d.ts +0 -0
- /package/dist/esm/{src/transformers → transformers}/SqlFormatter.js +0 -0
- /package/dist/esm/{src/transformers → transformers}/SqlIdentifierRenamer.d.ts +0 -0
- /package/dist/esm/{src/transformers → transformers}/SqlIdentifierRenamer.js +0 -0
- /package/dist/esm/{src/transformers → transformers}/SqlOutputToken.d.ts +0 -0
- /package/dist/esm/{src/transformers → transformers}/SqlOutputToken.js +0 -0
- /package/dist/esm/{src/transformers → transformers}/SqlPaginationInjector.d.ts +0 -0
- /package/dist/esm/{src/transformers → transformers}/SqlPaginationInjector.js +0 -0
- /package/dist/esm/{src/transformers → transformers}/SqlParamInjector.d.ts +0 -0
- /package/dist/esm/{src/transformers → transformers}/SqlParamInjector.js +0 -0
- /package/dist/esm/{src/transformers → transformers}/SqlParameterBinder.d.ts +0 -0
- /package/dist/esm/{src/transformers → transformers}/SqlParameterBinder.js +0 -0
- /package/dist/esm/{src/transformers → transformers}/SqlSortInjector.d.ts +0 -0
- /package/dist/esm/{src/transformers → transformers}/SqlSortInjector.js +0 -0
- /package/dist/esm/{src/transformers → transformers}/TableColumnResolver.d.ts +0 -0
- /package/dist/esm/{src/transformers → transformers}/TableColumnResolver.js +0 -0
- /package/dist/{src → esm}/transformers/TableColumnResolver.js.map +0 -0
- /package/dist/esm/{src/transformers → transformers}/TableSourceCollector.d.ts +0 -0
- /package/dist/esm/{src/transformers → transformers}/TypeTransformationPostProcessor.d.ts +0 -0
- /package/dist/esm/{src/transformers → transformers}/TypeTransformationPostProcessor.js +0 -0
- /package/dist/esm/{src/transformers → transformers}/UpstreamSelectQueryFinder.d.ts +0 -0
- /package/dist/esm/{src/transformers → transformers}/UpstreamSelectQueryFinder.js +0 -0
- /package/dist/esm/{src/types → types}/Formatting.d.ts +0 -0
- /package/dist/esm/{src/types → types}/Formatting.js +0 -0
- /package/dist/{src → esm}/types/Formatting.js.map +0 -0
- /package/dist/esm/{src/utils → utils}/CTERegionDetector.d.ts +0 -0
- /package/dist/esm/{src/utils → utils}/CTERegionDetector.js +0 -0
- /package/dist/esm/{src/utils → utils}/CommentEditor.d.ts +0 -0
- /package/dist/esm/{src/utils → utils}/CommentEditor.js +0 -0
- /package/dist/esm/{src/utils → utils}/CommentUtils.d.ts +0 -0
- /package/dist/esm/{src/utils → utils}/CommentUtils.js +0 -0
- /package/dist/esm/{src/utils → utils}/CursorContextAnalyzer.d.ts +0 -0
- /package/dist/esm/{src/utils → utils}/CursorContextAnalyzer.js +0 -0
- /package/dist/esm/{src/utils → utils}/IntelliSenseApi.d.ts +0 -0
- /package/dist/esm/{src/utils → utils}/IntelliSenseApi.js +0 -0
- /package/dist/esm/{src/utils → utils}/JsonSchemaValidator.d.ts +0 -0
- /package/dist/esm/{src/utils → utils}/JsonSchemaValidator.js +0 -0
- /package/dist/esm/{src/utils → utils}/KeywordCache.d.ts +0 -0
- /package/dist/esm/{src/utils → utils}/KeywordCache.js +0 -0
- /package/dist/esm/{src/utils → utils}/LexemeCursor.d.ts +0 -0
- /package/dist/esm/{src/utils → utils}/LexemeCursor.js +0 -0
- /package/dist/esm/{src/utils → utils}/MultiQuerySplitter.d.ts +0 -0
- /package/dist/esm/{src/utils → utils}/MultiQuerySplitter.js +0 -0
- /package/dist/esm/{src/utils → utils}/OperatorPrecedence.d.ts +0 -0
- /package/dist/esm/{src/utils → utils}/OperatorPrecedence.js +0 -0
- /package/dist/esm/{src/utils → utils}/ParameterDetector.d.ts +0 -0
- /package/dist/esm/{src/utils → utils}/ParameterDetector.js +0 -0
- /package/dist/esm/{src/utils → utils}/ParameterHelper.d.ts +0 -0
- /package/dist/esm/{src/utils → utils}/ParameterHelper.js +0 -0
- /package/dist/esm/{src/utils → utils}/ParameterRemover.d.ts +0 -0
- /package/dist/esm/{src/utils → utils}/ParserStringUtils.d.ts +0 -0
- /package/dist/esm/{src/utils → utils}/ParserStringUtils.js +0 -0
- /package/dist/esm/{src/utils → utils}/PositionAwareParser.d.ts +0 -0
- /package/dist/esm/{src/utils → utils}/PositionAwareParser.js +0 -0
- /package/dist/esm/{src/utils → utils}/SchemaManager.d.ts +0 -0
- /package/dist/esm/{src/utils → utils}/SchemaManager.js +0 -0
- /package/dist/esm/{src/utils → utils}/ScopeResolver.d.ts +0 -0
- /package/dist/esm/{src/utils → utils}/ScopeResolver.js +0 -0
- /package/dist/esm/{src/utils → utils}/SqlSchemaValidator.d.ts +0 -0
- /package/dist/esm/{src/utils → utils}/SqlSchemaValidator.js +0 -0
- /package/dist/esm/{src/utils → utils}/TextPositionUtils.d.ts +0 -0
- /package/dist/esm/{src/utils → utils}/TextPositionUtils.js +0 -0
- /package/dist/esm/{src/utils → utils}/charLookupTable.d.ts +0 -0
- /package/dist/esm/{src/utils → utils}/charLookupTable.js +0 -0
- /package/dist/esm/{src/utils → utils}/stringUtils.d.ts +0 -0
- /package/dist/esm/{src/utils → utils}/stringUtils.js +0 -0
- /package/dist/{src/formatters → formatters}/OriginalFormatRestorer.js +0 -0
- /package/dist/{src/models → models}/BinarySelectQuery.js +0 -0
- /package/dist/{src/models → models}/CTEError.js +0 -0
- /package/dist/{src/models → models}/CreateTableQuery.js +0 -0
- /package/dist/{src/models → models}/DeleteQuery.js +0 -0
- /package/dist/{src/models → models}/FormattingLexeme.js +0 -0
- /package/dist/{src/models → models}/HintClause.js +0 -0
- /package/dist/{src/models → models}/KeywordTrie.js +0 -0
- /package/dist/{src/models → models}/Lexeme.js +0 -0
- /package/dist/{src/models → models}/MergeQuery.js +0 -0
- /package/dist/{src/models → models}/SelectQuery.js +0 -0
- /package/dist/{src/models → models}/SimpleSelectQuery.js +0 -0
- /package/dist/{src/models → models}/SqlComponent.js +0 -0
- /package/dist/{src/models → models}/UpdateQuery.js +0 -0
- /package/dist/{src/parsers → parsers}/CommandExpressionParser.js +0 -0
- /package/dist/{src/parsers → parsers}/CommonTableParser.js +0 -0
- /package/dist/{src/parsers → parsers}/CreateIndexParser.js +0 -0
- /package/dist/{src/parsers → parsers}/CreateTableParser.js +0 -0
- /package/dist/{src/parsers → parsers}/DeleteClauseParser.js +0 -0
- /package/dist/{src/parsers → parsers}/DeleteQueryParser.js +0 -0
- /package/dist/{src/parsers → parsers}/DropConstraintParser.js +0 -0
- /package/dist/{src/parsers → parsers}/DropIndexParser.js +0 -0
- /package/dist/{src/parsers → parsers}/DropTableParser.js +0 -0
- /package/dist/{src/parsers → parsers}/FetchClauseParser.js +0 -0
- /package/dist/{src/parsers → parsers}/ForClauseParser.js +0 -0
- /package/dist/{src/parsers → parsers}/FromClauseParser.js +0 -0
- /package/dist/{src/parsers → parsers}/FullNameParser.js +0 -0
- /package/dist/{src/parsers → parsers}/GroupByParser.js +0 -0
- /package/dist/{src/parsers → parsers}/HavingParser.js +0 -0
- /package/dist/{src/parsers → parsers}/IdentifierDecorator.js +0 -0
- /package/dist/{src/parsers → parsers}/IdentifierParser.js +0 -0
- /package/dist/{src/parsers → parsers}/JoinClauseParser.js +0 -0
- /package/dist/{src/parsers → parsers}/JoinOnClauseParser.js +0 -0
- /package/dist/{src/parsers → parsers}/JoinUsingClauseParser.js +0 -0
- /package/dist/{src/parsers → parsers}/KeywordParser.js +0 -0
- /package/dist/{src/parsers → parsers}/LimitClauseParser.js +0 -0
- /package/dist/{src/parsers → parsers}/LiteralParser.js +0 -0
- /package/dist/{src/parsers → parsers}/MergeQueryParser.js +0 -0
- /package/dist/{src/parsers → parsers}/OffsetClauseParser.js +0 -0
- /package/dist/{src/parsers → parsers}/OrderByClauseParser.js +0 -0
- /package/dist/{src/parsers → parsers}/OverExpressionParser.js +0 -0
- /package/dist/{src/parsers → parsers}/ParameterDecorator.js +0 -0
- /package/dist/{src/parsers → parsers}/ParameterExpressionParser.js +0 -0
- /package/dist/{src/parsers → parsers}/ParseError.js +0 -0
- /package/dist/{src/parsers → parsers}/PartitionByParser.js +0 -0
- /package/dist/{src/parsers → parsers}/SelectClauseParser.js +0 -0
- /package/dist/{src/parsers → parsers}/SelectQueryParser.js +0 -0
- /package/dist/{src/parsers → parsers}/SetClauseParser.js +0 -0
- /package/dist/{src/parsers → parsers}/SourceAliasExpressionParser.js +0 -0
- /package/dist/{src/parsers → parsers}/SourceExpressionParser.js +0 -0
- /package/dist/{src/parsers → parsers}/SourceParser.js +0 -0
- /package/dist/{src/parsers → parsers}/SqlTokenizer.js +0 -0
- /package/dist/{src/parsers → parsers}/StringSpecifierExpressionParser.js +0 -0
- /package/dist/{src/parsers → parsers}/UnaryExpressionParser.js +0 -0
- /package/dist/{src/parsers → parsers}/UpdateClauseParser.js +0 -0
- /package/dist/{src/parsers → parsers}/UpdateQueryParser.js +0 -0
- /package/dist/{src/parsers → parsers}/UsingClauseParser.js +0 -0
- /package/dist/{src/parsers → parsers}/ValuesQueryParser.js +0 -0
- /package/dist/{src/parsers → parsers}/WhereClauseParser.js +0 -0
- /package/dist/{src/parsers → parsers}/WindowClauseParser.js +0 -0
- /package/dist/{src/parsers → parsers}/WindowExpressionParser.js +0 -0
- /package/dist/{src/parsers → parsers}/WithClauseParser.js +0 -0
- /package/dist/{src/parsers → parsers}/utils/LexemeCommentUtils.js +0 -0
- /package/dist/{src/reporting → reporting}/models/DataFlowEdge.js +0 -0
- /package/dist/{src/reporting → reporting}/models/DataFlowGraph.js +0 -0
- /package/dist/{src/reporting → reporting}/models/DataFlowNode.js +0 -0
- /package/dist/{src/reporting → reporting}/services/CTEHandler.js +0 -0
- /package/dist/{src/reporting → reporting}/services/DataSourceHandler.js +0 -0
- /package/dist/{src/reporting → reporting}/services/JoinHandler.js +0 -0
- /package/dist/{src/reporting → reporting}/services/ProcessHandler.js +0 -0
- /package/dist/{src/tokenReaders → tokenReaders}/BaseTokenReader.js +0 -0
- /package/dist/{src/tokenReaders → tokenReaders}/EscapedIdentifierTokenReader.js +0 -0
- /package/dist/{src/tokenReaders → tokenReaders}/FunctionTokenReader.js +0 -0
- /package/dist/{src/tokenReaders → tokenReaders}/IdentifierTokenReader.js +0 -0
- /package/dist/{src/tokenReaders → tokenReaders}/OperatorTokenReader.js +0 -0
- /package/dist/{src/tokenReaders → tokenReaders}/ParameterTokenReader.js +0 -0
- /package/dist/{src/tokenReaders → tokenReaders}/StringSpecifierTokenReader.js +0 -0
- /package/dist/{src/tokenReaders → tokenReaders}/SymbolTokenReader.js +0 -0
- /package/dist/{src/tokenReaders → tokenReaders}/TokenReaderManager.js +0 -0
- /package/dist/{src/tokenReaders → tokenReaders}/TypeTokenReader.js +0 -0
- /package/dist/{src/transformers → transformers}/AliasRenamer.js +0 -0
- /package/dist/{src/transformers → transformers}/CTEBuilder.js +0 -0
- /package/dist/{src/transformers → transformers}/CTECollector.js +0 -0
- /package/dist/{src/transformers → transformers}/CTEComposer.js +0 -0
- /package/dist/{src/transformers → transformers}/CTEDependencyAnalyzer.js +0 -0
- /package/dist/{src/transformers → transformers}/CTEDependencyTracer.js +0 -0
- /package/dist/{src/transformers → transformers}/CTEDisabler.js +0 -0
- /package/dist/{src/transformers → transformers}/CTEInjector.js +0 -0
- /package/dist/{src/transformers → transformers}/CTENormalizer.js +0 -0
- /package/dist/{src/transformers → transformers}/CTEQueryDecomposer.js +0 -0
- /package/dist/{src/transformers → transformers}/CTERenamer.js +0 -0
- /package/dist/{src/transformers → transformers}/CTETableReferenceCollector.js +0 -0
- /package/dist/{src/transformers → transformers}/DynamicQueryBuilder.js +0 -0
- /package/dist/{src/transformers → transformers}/EnhancedJsonMapping.js +0 -0
- /package/dist/{src/transformers → transformers}/FilterableItemCollector.js +0 -0
- /package/dist/{src/transformers → transformers}/FormatOptionResolver.js +0 -0
- /package/dist/{src/transformers → transformers}/Formatter.js +0 -0
- /package/dist/{src/transformers → transformers}/JoinAggregationDecomposer.js +0 -0
- /package/dist/{src/transformers → transformers}/JsonMappingConverter.js +0 -0
- /package/dist/{src/transformers → transformers}/JsonMappingUnifier.js +0 -0
- /package/dist/{src/transformers → transformers}/LinePrinter.js +0 -0
- /package/dist/{src/transformers → transformers}/ModelDrivenJsonMapping.js +0 -0
- /package/dist/{src/transformers → transformers}/ParameterCollector.js +0 -0
- /package/dist/{src/transformers → transformers}/PostgresArrayEntityCteBuilder.js +0 -0
- /package/dist/{src/transformers → transformers}/PostgresJsonQueryBuilder.js +0 -0
- /package/dist/{src/transformers → transformers}/PostgresObjectEntityCteBuilder.js +0 -0
- /package/dist/{src/transformers → transformers}/QueryFlowDiagramGenerator.js +0 -0
- /package/dist/{src/transformers → transformers}/SchemaCollector.js +0 -0
- /package/dist/{src/transformers → transformers}/SelectValueCollector.js +0 -0
- /package/dist/{src/transformers → transformers}/SelectableColumnCollector.js +0 -0
- /package/dist/{src/transformers → transformers}/SmartRenamer.js +0 -0
- /package/dist/{src/transformers → transformers}/SqlFormatter.js +0 -0
- /package/dist/{src/transformers → transformers}/SqlIdentifierRenamer.js +0 -0
- /package/dist/{src/transformers → transformers}/SqlOutputToken.js +0 -0
- /package/dist/{src/transformers → transformers}/SqlPaginationInjector.js +0 -0
- /package/dist/{src/transformers → transformers}/SqlParamInjector.js +0 -0
- /package/dist/{src/transformers → transformers}/SqlParameterBinder.js +0 -0
- /package/dist/{src/transformers → transformers}/SqlSortInjector.js +0 -0
- /package/dist/{src/transformers → transformers}/TableColumnResolver.js +0 -0
- /package/dist/{src/transformers → transformers}/TypeTransformationPostProcessor.js +0 -0
- /package/dist/{src/transformers → transformers}/UpstreamSelectQueryFinder.js +0 -0
- /package/dist/{src/types → types}/Formatting.js +0 -0
- /package/dist/{src/utils → utils}/CTERegionDetector.js +0 -0
- /package/dist/{src/utils → utils}/CommentEditor.js +0 -0
- /package/dist/{src/utils → utils}/CommentUtils.js +0 -0
- /package/dist/{src/utils → utils}/CursorContextAnalyzer.js +0 -0
- /package/dist/{src/utils → utils}/IntelliSenseApi.js +0 -0
- /package/dist/{src/utils → utils}/JsonSchemaValidator.js +0 -0
- /package/dist/{src/utils → utils}/KeywordCache.js +0 -0
- /package/dist/{src/utils → utils}/LexemeCursor.js +0 -0
- /package/dist/{src/utils → utils}/MultiQuerySplitter.js +0 -0
- /package/dist/{src/utils → utils}/OperatorPrecedence.js +0 -0
- /package/dist/{src/utils → utils}/ParameterDetector.js +0 -0
- /package/dist/{src/utils → utils}/ParameterHelper.js +0 -0
- /package/dist/{src/utils → utils}/ParserStringUtils.js +0 -0
- /package/dist/{src/utils → utils}/PositionAwareParser.js +0 -0
- /package/dist/{src/utils → utils}/SchemaManager.js +0 -0
- /package/dist/{src/utils → utils}/ScopeResolver.js +0 -0
- /package/dist/{src/utils → utils}/SqlSchemaValidator.js +0 -0
- /package/dist/{src/utils → utils}/TextPositionUtils.js +0 -0
- /package/dist/{src/utils → utils}/charLookupTable.js +0 -0
- /package/dist/{src/utils → utils}/stringUtils.js +0 -0
|
@@ -0,0 +1,634 @@
|
|
|
1
|
+
import { SetClause, SetClauseItem, FromClause, WhereClause, SelectClause, SelectItem, SourceAliasExpression, SourceExpression, SubQuerySource, WithClause, UpdateClause, InsertClause, DeleteClause } from '../models/Clause';
|
|
2
|
+
import { UpdateQuery } from '../models/UpdateQuery';
|
|
3
|
+
import { DeleteQuery } from '../models/DeleteQuery';
|
|
4
|
+
import { MergeQuery, MergeWhenClause, MergeUpdateAction, MergeDeleteAction, MergeInsertAction, MergeDoNothingAction } from '../models/MergeQuery';
|
|
5
|
+
import { BinaryExpression, ColumnReference, InlineQuery, LiteralValue, UnaryExpression, ValueList } from '../models/ValueComponent';
|
|
6
|
+
import { SelectValueCollector } from './SelectValueCollector';
|
|
7
|
+
import { BinarySelectQuery, SimpleSelectQuery, ValuesQuery } from "../models/SelectQuery";
|
|
8
|
+
import { CTECollector } from "./CTECollector";
|
|
9
|
+
import { CTENormalizer } from "./CTENormalizer";
|
|
10
|
+
import { CreateTableQuery } from "../models/CreateTableQuery";
|
|
11
|
+
import { InsertQuery } from "../models/InsertQuery";
|
|
12
|
+
import { CTEDisabler } from './CTEDisabler';
|
|
13
|
+
import { SourceExpressionParser } from '../parsers/SourceExpressionParser';
|
|
14
|
+
import { InsertQuerySelectValuesConverter } from "./InsertQuerySelectValuesConverter";
|
|
15
|
+
import { InsertResultSelectConverter } from "./InsertResultSelectConverter";
|
|
16
|
+
import { UpdateResultSelectConverter } from "./UpdateResultSelectConverter";
|
|
17
|
+
import { DeleteResultSelectConverter } from "./DeleteResultSelectConverter";
|
|
18
|
+
import { MergeResultSelectConverter } from "./MergeResultSelectConverter";
|
|
19
|
+
/**
|
|
20
|
+
* QueryBuilder provides static methods to build or convert various SQL query objects.
|
|
21
|
+
*/
|
|
22
|
+
export class QueryBuilder {
|
|
23
|
+
/**
|
|
24
|
+
* Builds a BinarySelectQuery by combining an array of SelectQuery using the specified operator.
|
|
25
|
+
* Throws if less than two queries are provided.
|
|
26
|
+
* @param queries Array of SelectQuery to combine
|
|
27
|
+
* @param operator SQL operator to use (e.g. 'union', 'union all', 'intersect', 'except')
|
|
28
|
+
* @returns BinarySelectQuery
|
|
29
|
+
*/
|
|
30
|
+
static buildBinaryQuery(queries, operator) {
|
|
31
|
+
if (!queries || queries.length === 0) {
|
|
32
|
+
throw new Error("No queries provided to combine.");
|
|
33
|
+
}
|
|
34
|
+
if (queries.length === 1) {
|
|
35
|
+
throw new Error("At least two queries are required to create a BinarySelectQuery.");
|
|
36
|
+
}
|
|
37
|
+
// Always create a new BinarySelectQuery instance (never mutate input)
|
|
38
|
+
// Note: ValuesQuery requires conversion to SimpleSelectQuery because it lacks SELECT clause structure
|
|
39
|
+
// BinarySelectQuery and SimpleSelectQuery can be used directly in binary operations
|
|
40
|
+
const wrap = (q) => q instanceof ValuesQuery ? QueryBuilder.buildSimpleQuery(q) : q;
|
|
41
|
+
let result = new BinarySelectQuery(wrap(queries[0]), operator, wrap(queries[1]));
|
|
42
|
+
CTENormalizer.normalize(result);
|
|
43
|
+
for (let i = 2; i < queries.length; i++) {
|
|
44
|
+
result.appendSelectQuery(operator, wrap(queries[i]));
|
|
45
|
+
}
|
|
46
|
+
return result;
|
|
47
|
+
}
|
|
48
|
+
constructor() {
|
|
49
|
+
// This class is not meant to be instantiated.
|
|
50
|
+
}
|
|
51
|
+
/**
|
|
52
|
+
* Converts a SELECT query to a standard SimpleSelectQuery form.
|
|
53
|
+
* @param query The query to convert
|
|
54
|
+
* @returns A SimpleSelectQuery
|
|
55
|
+
*/
|
|
56
|
+
static buildSimpleQuery(query) {
|
|
57
|
+
if (query instanceof SimpleSelectQuery) {
|
|
58
|
+
return query;
|
|
59
|
+
}
|
|
60
|
+
else if (query instanceof BinarySelectQuery) {
|
|
61
|
+
return QueryBuilder.buildSimpleBinaryQuery(query);
|
|
62
|
+
}
|
|
63
|
+
else if (query instanceof ValuesQuery) {
|
|
64
|
+
return QueryBuilder.buildSimpleValuesQuery(query);
|
|
65
|
+
}
|
|
66
|
+
throw new Error("Unsupported query type for buildSimpleQuery");
|
|
67
|
+
}
|
|
68
|
+
static buildSimpleBinaryQuery(query) {
|
|
69
|
+
// Extract ORDER BY from the rightmost query in the binary tree and remove it
|
|
70
|
+
const extractedOrderBy = QueryBuilder.extractAndRemoveOrderByFromBinaryQuery(query);
|
|
71
|
+
// Create a subquery source from the binary query (now without ORDER BY)
|
|
72
|
+
const subQuerySource = new SubQuerySource(query);
|
|
73
|
+
// Create a source expression with alias
|
|
74
|
+
const sourceExpr = new SourceExpression(subQuerySource, new SourceAliasExpression("bq", null));
|
|
75
|
+
// Create FROM clause with the source expression
|
|
76
|
+
const fromClause = new FromClause(sourceExpr, null);
|
|
77
|
+
// Create SELECT clause with * (all columns)
|
|
78
|
+
const selectClause = QueryBuilder.createSelectAllClause();
|
|
79
|
+
// Create the final simple select query with extracted ORDER BY
|
|
80
|
+
const q = new SimpleSelectQuery({
|
|
81
|
+
selectClause,
|
|
82
|
+
fromClause,
|
|
83
|
+
orderByClause: extractedOrderBy
|
|
84
|
+
});
|
|
85
|
+
return CTENormalizer.normalize(q);
|
|
86
|
+
}
|
|
87
|
+
/**
|
|
88
|
+
* Extracts ORDER BY clause from the rightmost query in a binary query tree and removes it.
|
|
89
|
+
* This clarifies the semantics by moving the ORDER BY from the ambiguous position
|
|
90
|
+
* in the UNION to the explicit outer SimpleSelectQuery level.
|
|
91
|
+
*
|
|
92
|
+
* NOTE: ORDER BY in UNION context applies to the entire result set, not individual subqueries.
|
|
93
|
+
* Therefore, table prefixes (e.g., "a.column") in ORDER BY are invalid SQL and would cause
|
|
94
|
+
* syntax errors. Valid ORDER BY clauses should only reference column names without prefixes
|
|
95
|
+
* or use positional notation (ORDER BY 1, 2). Since we only process valid SQL, the current
|
|
96
|
+
* implementation correctly handles legitimate cases without additional prefix processing.
|
|
97
|
+
*
|
|
98
|
+
* @param query BinarySelectQuery to process
|
|
99
|
+
* @returns Extracted OrderByClause or null if none found
|
|
100
|
+
*/
|
|
101
|
+
static extractAndRemoveOrderByFromBinaryQuery(query) {
|
|
102
|
+
return QueryBuilder.findAndRemoveRightmostOrderBy(query);
|
|
103
|
+
}
|
|
104
|
+
/**
|
|
105
|
+
* Recursively finds and removes ORDER BY from the rightmost query in a binary tree.
|
|
106
|
+
*
|
|
107
|
+
* @param query Current query being processed
|
|
108
|
+
* @returns Extracted OrderByClause or null
|
|
109
|
+
*/
|
|
110
|
+
static findAndRemoveRightmostOrderBy(query) {
|
|
111
|
+
if (query instanceof BinarySelectQuery) {
|
|
112
|
+
// For binary queries, check right side first (rightmost takes precedence)
|
|
113
|
+
const rightOrderBy = QueryBuilder.findAndRemoveRightmostOrderBy(query.right);
|
|
114
|
+
if (rightOrderBy) {
|
|
115
|
+
return rightOrderBy;
|
|
116
|
+
}
|
|
117
|
+
// If no ORDER BY on right side, check left side
|
|
118
|
+
return QueryBuilder.findAndRemoveRightmostOrderBy(query.left);
|
|
119
|
+
}
|
|
120
|
+
else if (query instanceof SimpleSelectQuery) {
|
|
121
|
+
// Extract ORDER BY from SimpleSelectQuery and remove it
|
|
122
|
+
const orderBy = query.orderByClause;
|
|
123
|
+
if (orderBy) {
|
|
124
|
+
query.orderByClause = null;
|
|
125
|
+
return orderBy;
|
|
126
|
+
}
|
|
127
|
+
}
|
|
128
|
+
return null;
|
|
129
|
+
}
|
|
130
|
+
/**
|
|
131
|
+
* Converts a ValuesQuery to a SimpleSelectQuery with sequentially numbered columns or user-specified columns
|
|
132
|
+
*
|
|
133
|
+
* @param query The VALUES query to convert
|
|
134
|
+
* @param columns Optional: column names
|
|
135
|
+
* @returns A SimpleSelectQuery
|
|
136
|
+
*/
|
|
137
|
+
static buildSimpleValuesQuery(query) {
|
|
138
|
+
// Figure out how many columns are in the VALUES clause
|
|
139
|
+
const columnCount = query.tuples.length > 0 ? query.tuples[0].values.length : 0;
|
|
140
|
+
if (query.tuples.length === 0) {
|
|
141
|
+
throw new Error("Empty VALUES clause cannot be converted to a SimpleSelectQuery");
|
|
142
|
+
}
|
|
143
|
+
if (!query.columnAliases) {
|
|
144
|
+
throw new Error("Column aliases are required to convert a VALUES clause to SimpleSelectQuery. Please specify column aliases.");
|
|
145
|
+
}
|
|
146
|
+
if (query.columnAliases.length !== columnCount) {
|
|
147
|
+
throw new Error(`The number of column aliases (${query.columnAliases.length}) does not match the number of columns in the first tuple (${columnCount}).`);
|
|
148
|
+
}
|
|
149
|
+
// Create a subquery source from the VALUES query
|
|
150
|
+
const subQuerySource = new SubQuerySource(query);
|
|
151
|
+
const sourceExpr = new SourceExpression(subQuerySource, new SourceAliasExpression("vq", query.columnAliases));
|
|
152
|
+
// Create FROM clause with the source expression
|
|
153
|
+
const fromClause = new FromClause(sourceExpr, null);
|
|
154
|
+
// Create SELECT clause with all columns
|
|
155
|
+
const selectItems = query.columnAliases.map(name => new SelectItem(new ColumnReference("vq", name), name));
|
|
156
|
+
const selectClause = new SelectClause(selectItems, null);
|
|
157
|
+
// Create the final simple select query
|
|
158
|
+
return new SimpleSelectQuery({
|
|
159
|
+
selectClause,
|
|
160
|
+
fromClause
|
|
161
|
+
});
|
|
162
|
+
}
|
|
163
|
+
/**
|
|
164
|
+
* Creates a SELECT clause with a single * (all columns) item
|
|
165
|
+
*
|
|
166
|
+
* @returns A SELECT clause with *
|
|
167
|
+
*/
|
|
168
|
+
static createSelectAllClause() {
|
|
169
|
+
// Create a column reference for *
|
|
170
|
+
const columnRef = new ColumnReference(null, "*");
|
|
171
|
+
// Create a SelectItem with the column reference
|
|
172
|
+
const selectItem = new SelectItem(columnRef, "*");
|
|
173
|
+
// Create and return a SelectClause with the item
|
|
174
|
+
return new SelectClause([selectItem], null);
|
|
175
|
+
}
|
|
176
|
+
/**
|
|
177
|
+
* Converts a SELECT query to a CREATE TABLE query (CREATE [TEMPORARY] TABLE ... AS SELECT ...)
|
|
178
|
+
* @param query The SELECT query to use as the source
|
|
179
|
+
* @param tableName The name of the table to create
|
|
180
|
+
* @param isTemporary If true, creates a temporary table
|
|
181
|
+
* @returns A CreateTableQuery instance
|
|
182
|
+
*/
|
|
183
|
+
static buildCreateTableQuery(query, tableName, isTemporary = false, ifNotExists = false) {
|
|
184
|
+
return new CreateTableQuery({
|
|
185
|
+
tableName,
|
|
186
|
+
isTemporary,
|
|
187
|
+
ifNotExists,
|
|
188
|
+
asSelectQuery: query
|
|
189
|
+
});
|
|
190
|
+
}
|
|
191
|
+
/**
|
|
192
|
+
* Converts a SELECT query to an INSERT query (INSERT INTO ... SELECT ...).
|
|
193
|
+
*/
|
|
194
|
+
static buildInsertQuery(selectQuery, targetOrOptions, explicitColumns) {
|
|
195
|
+
var _a;
|
|
196
|
+
// Derive normalized options while preserving the legacy signature for backward compatibility.
|
|
197
|
+
const options = QueryBuilder.normalizeInsertOptions(targetOrOptions, explicitColumns);
|
|
198
|
+
// Determine the final column order either from user-provided options or by inferring from the select list.
|
|
199
|
+
const columnNames = QueryBuilder.prepareInsertColumns(selectQuery, (_a = options.columns) !== null && _a !== void 0 ? _a : null);
|
|
200
|
+
const sourceExpr = SourceExpressionParser.parse(options.target);
|
|
201
|
+
return new InsertQuery({
|
|
202
|
+
insertClause: new InsertClause(sourceExpr, columnNames),
|
|
203
|
+
selectQuery
|
|
204
|
+
});
|
|
205
|
+
}
|
|
206
|
+
/**
|
|
207
|
+
* Converts an INSERT ... VALUES query into INSERT ... SELECT form using UNION ALL.
|
|
208
|
+
* @param insertQuery The VALUES-based InsertQuery to convert.
|
|
209
|
+
* @returns A new InsertQuery that selects rows instead of using VALUES.
|
|
210
|
+
*/
|
|
211
|
+
static convertInsertValuesToSelect(insertQuery) {
|
|
212
|
+
return InsertQuerySelectValuesConverter.toSelectUnion(insertQuery);
|
|
213
|
+
}
|
|
214
|
+
/**
|
|
215
|
+
* Converts an INSERT ... SELECT (optionally with UNION ALL) into INSERT ... VALUES form.
|
|
216
|
+
* @param insertQuery The SELECT-based InsertQuery to convert.
|
|
217
|
+
* @returns A new InsertQuery that uses VALUES tuples.
|
|
218
|
+
*/
|
|
219
|
+
static convertInsertSelectToValues(insertQuery) {
|
|
220
|
+
return InsertQuerySelectValuesConverter.toValues(insertQuery);
|
|
221
|
+
}
|
|
222
|
+
/**
|
|
223
|
+
* Builds a SELECT query that reflects the INSERT's RETURNING output (or count when RETURNING is absent).
|
|
224
|
+
*/
|
|
225
|
+
static convertInsertToReturningSelect(insertQuery, options) {
|
|
226
|
+
return InsertResultSelectConverter.toSelectQuery(insertQuery, options);
|
|
227
|
+
}
|
|
228
|
+
static convertUpdateToReturningSelect(updateQuery, options) {
|
|
229
|
+
return UpdateResultSelectConverter.toSelectQuery(updateQuery, options);
|
|
230
|
+
}
|
|
231
|
+
static convertDeleteToReturningSelect(deleteQuery, options) {
|
|
232
|
+
return DeleteResultSelectConverter.toSelectQuery(deleteQuery, options);
|
|
233
|
+
}
|
|
234
|
+
static convertMergeToReturningSelect(mergeQuery, options) {
|
|
235
|
+
return MergeResultSelectConverter.toSelectQuery(mergeQuery, options);
|
|
236
|
+
}
|
|
237
|
+
/**
|
|
238
|
+
* Builds an UPDATE query from a SELECT query and conversion options.
|
|
239
|
+
*/
|
|
240
|
+
static buildUpdateQuery(selectQuery, selectSourceOrOptions, updateTableExprRaw, primaryKeys) {
|
|
241
|
+
var _a;
|
|
242
|
+
// Normalize the function arguments into a single configuration object.
|
|
243
|
+
const options = QueryBuilder.normalizeUpdateOptions(selectSourceOrOptions, updateTableExprRaw, primaryKeys);
|
|
244
|
+
// Collect select-list metadata and align columns before mutating the query during WITH extraction.
|
|
245
|
+
const updateColumns = QueryBuilder.prepareUpdateColumns(selectQuery, options.primaryKeys, (_a = options.columns) !== null && _a !== void 0 ? _a : null);
|
|
246
|
+
const updateClause = new UpdateClause(SourceExpressionParser.parse(options.target));
|
|
247
|
+
const targetAlias = updateClause.getSourceAliasName();
|
|
248
|
+
if (!targetAlias) {
|
|
249
|
+
throw new Error(`Source expression does not have an alias. Please provide an alias for the source expression.`);
|
|
250
|
+
}
|
|
251
|
+
// Move CTE definitions to the UPDATE statement for cleaner SQL.
|
|
252
|
+
const withClause = QueryBuilder.extractWithClause(selectQuery);
|
|
253
|
+
const setItems = updateColumns.map(column => new SetClauseItem(column, QueryBuilder.toColumnReference(options.sourceAlias, column)));
|
|
254
|
+
if (setItems.length === 0) {
|
|
255
|
+
throw new Error(`No updatable columns found. Ensure the select list contains at least one column other than the specified primary keys.`);
|
|
256
|
+
}
|
|
257
|
+
const setClause = new SetClause(setItems);
|
|
258
|
+
const fromClause = new FromClause(selectQuery.toSource(options.sourceAlias), null);
|
|
259
|
+
const whereClause = new WhereClause(QueryBuilder.buildEqualityPredicate(targetAlias, options.sourceAlias, options.primaryKeys));
|
|
260
|
+
return new UpdateQuery({
|
|
261
|
+
updateClause,
|
|
262
|
+
setClause,
|
|
263
|
+
fromClause,
|
|
264
|
+
whereClause,
|
|
265
|
+
withClause: withClause !== null && withClause !== void 0 ? withClause : undefined
|
|
266
|
+
});
|
|
267
|
+
}
|
|
268
|
+
/**
|
|
269
|
+
* Builds a DELETE query that deletes the rows matched by the SELECT query output.
|
|
270
|
+
*/
|
|
271
|
+
static buildDeleteQuery(selectQuery, options) {
|
|
272
|
+
var _a;
|
|
273
|
+
// Normalise options to guarantee arrays and alias defaults.
|
|
274
|
+
const normalized = QueryBuilder.normalizeDeleteOptions(options);
|
|
275
|
+
const predicateColumns = QueryBuilder.prepareDeleteColumns(selectQuery, normalized.primaryKeys, (_a = normalized.columns) !== null && _a !== void 0 ? _a : null);
|
|
276
|
+
const deleteClause = new DeleteClause(SourceExpressionParser.parse(normalized.target));
|
|
277
|
+
const targetAlias = deleteClause.getSourceAliasName();
|
|
278
|
+
if (!targetAlias) {
|
|
279
|
+
throw new Error(`Source expression does not have an alias. Please provide an alias for the delete target.`);
|
|
280
|
+
}
|
|
281
|
+
const withClause = QueryBuilder.extractWithClause(selectQuery);
|
|
282
|
+
// Build correlated EXISTS predicate instead of Postgres-specific USING clause.
|
|
283
|
+
const predicate = QueryBuilder.buildEqualityPredicate(targetAlias, normalized.sourceAlias, predicateColumns);
|
|
284
|
+
const sourceExpression = selectQuery.toSource(normalized.sourceAlias);
|
|
285
|
+
const existsSelectClause = new SelectClause([new SelectItem(new LiteralValue(1))]);
|
|
286
|
+
const existsSubquery = new SimpleSelectQuery({
|
|
287
|
+
selectClause: existsSelectClause,
|
|
288
|
+
fromClause: new FromClause(sourceExpression, null),
|
|
289
|
+
whereClause: new WhereClause(predicate)
|
|
290
|
+
});
|
|
291
|
+
const whereClause = new WhereClause(new UnaryExpression('exists', new InlineQuery(existsSubquery)));
|
|
292
|
+
return new DeleteQuery({
|
|
293
|
+
deleteClause,
|
|
294
|
+
whereClause,
|
|
295
|
+
withClause: withClause !== null && withClause !== void 0 ? withClause : undefined
|
|
296
|
+
});
|
|
297
|
+
}
|
|
298
|
+
/**
|
|
299
|
+
* Builds a MERGE query (upsert) that coordinates actions based on row matches.
|
|
300
|
+
*/
|
|
301
|
+
static buildMergeQuery(selectQuery, options) {
|
|
302
|
+
var _a, _b, _c, _d, _e, _f, _g;
|
|
303
|
+
// Ensure the configuration is fully expanded before inspection.
|
|
304
|
+
const normalized = QueryBuilder.normalizeMergeOptions(options);
|
|
305
|
+
const mergeColumnPlan = QueryBuilder.prepareMergeColumns(selectQuery, normalized.primaryKeys, (_a = normalized.updateColumns) !== null && _a !== void 0 ? _a : null, (_b = normalized.insertColumns) !== null && _b !== void 0 ? _b : null, (_c = normalized.matchedAction) !== null && _c !== void 0 ? _c : 'update', (_d = normalized.notMatchedAction) !== null && _d !== void 0 ? _d : 'insert');
|
|
306
|
+
const targetExpression = SourceExpressionParser.parse(normalized.target);
|
|
307
|
+
const targetAlias = targetExpression.getAliasName();
|
|
308
|
+
if (!targetAlias) {
|
|
309
|
+
throw new Error(`Source expression does not have an alias. Please provide an alias for the merge target.`);
|
|
310
|
+
}
|
|
311
|
+
const withClause = QueryBuilder.extractWithClause(selectQuery);
|
|
312
|
+
const onCondition = QueryBuilder.buildEqualityPredicate(targetAlias, normalized.sourceAlias, normalized.primaryKeys);
|
|
313
|
+
const sourceExpression = selectQuery.toSource(normalized.sourceAlias);
|
|
314
|
+
const whenClauses = [];
|
|
315
|
+
const matchedAction = (_e = normalized.matchedAction) !== null && _e !== void 0 ? _e : 'update';
|
|
316
|
+
if (matchedAction === 'update') {
|
|
317
|
+
if (mergeColumnPlan.updateColumns.length === 0) {
|
|
318
|
+
throw new Error(`No columns available for MERGE update action. Provide updateColumns or ensure the select list includes non-key columns.`);
|
|
319
|
+
}
|
|
320
|
+
const setItems = mergeColumnPlan.updateColumns.map(column => new SetClauseItem(column, QueryBuilder.toColumnReference(normalized.sourceAlias, column)));
|
|
321
|
+
whenClauses.push(new MergeWhenClause("matched", new MergeUpdateAction(new SetClause(setItems))));
|
|
322
|
+
}
|
|
323
|
+
else if (matchedAction === 'delete') {
|
|
324
|
+
whenClauses.push(new MergeWhenClause("matched", new MergeDeleteAction()));
|
|
325
|
+
}
|
|
326
|
+
else if (matchedAction === 'doNothing') {
|
|
327
|
+
whenClauses.push(new MergeWhenClause("matched", new MergeDoNothingAction()));
|
|
328
|
+
}
|
|
329
|
+
const notMatchedAction = (_f = normalized.notMatchedAction) !== null && _f !== void 0 ? _f : 'insert';
|
|
330
|
+
if (notMatchedAction === 'insert') {
|
|
331
|
+
if (mergeColumnPlan.insertColumns.length === 0) {
|
|
332
|
+
throw new Error('Unable to infer MERGE insert columns. Provide insertColumns explicitly.');
|
|
333
|
+
}
|
|
334
|
+
const insertValues = new ValueList(mergeColumnPlan.insertColumns.map(column => QueryBuilder.toColumnReference(normalized.sourceAlias, column)));
|
|
335
|
+
whenClauses.push(new MergeWhenClause("not_matched", new MergeInsertAction({
|
|
336
|
+
columns: mergeColumnPlan.insertColumns,
|
|
337
|
+
values: insertValues
|
|
338
|
+
})));
|
|
339
|
+
}
|
|
340
|
+
else if (notMatchedAction === 'doNothing') {
|
|
341
|
+
whenClauses.push(new MergeWhenClause("not_matched", new MergeDoNothingAction()));
|
|
342
|
+
}
|
|
343
|
+
const notMatchedBySourceAction = (_g = normalized.notMatchedBySourceAction) !== null && _g !== void 0 ? _g : 'doNothing';
|
|
344
|
+
if (notMatchedBySourceAction === 'delete') {
|
|
345
|
+
whenClauses.push(new MergeWhenClause("not_matched_by_source", new MergeDeleteAction()));
|
|
346
|
+
}
|
|
347
|
+
else if (notMatchedBySourceAction === 'doNothing') {
|
|
348
|
+
whenClauses.push(new MergeWhenClause("not_matched_by_source", new MergeDoNothingAction()));
|
|
349
|
+
}
|
|
350
|
+
if (whenClauses.length === 0) {
|
|
351
|
+
throw new Error(`At least one MERGE action must be generated. Adjust the merge conversion options.`);
|
|
352
|
+
}
|
|
353
|
+
return new MergeQuery({
|
|
354
|
+
withClause: withClause !== null && withClause !== void 0 ? withClause : undefined,
|
|
355
|
+
target: targetExpression,
|
|
356
|
+
source: sourceExpression,
|
|
357
|
+
onCondition,
|
|
358
|
+
whenClauses
|
|
359
|
+
});
|
|
360
|
+
}
|
|
361
|
+
static normalizeInsertOptions(targetOrOptions, explicitColumns) {
|
|
362
|
+
if (typeof targetOrOptions === 'string') {
|
|
363
|
+
return {
|
|
364
|
+
target: targetOrOptions,
|
|
365
|
+
columns: explicitColumns
|
|
366
|
+
};
|
|
367
|
+
}
|
|
368
|
+
if (explicitColumns && explicitColumns.length > 0) {
|
|
369
|
+
return Object.assign(Object.assign({}, targetOrOptions), { columns: explicitColumns });
|
|
370
|
+
}
|
|
371
|
+
return Object.assign({}, targetOrOptions);
|
|
372
|
+
}
|
|
373
|
+
static normalizeUpdateOptions(selectSourceOrOptions, updateTableExprRaw, primaryKeys) {
|
|
374
|
+
var _a;
|
|
375
|
+
if (typeof selectSourceOrOptions === 'string') {
|
|
376
|
+
if (!updateTableExprRaw) {
|
|
377
|
+
throw new Error('updateTableExprRaw is required when using the legacy buildUpdateQuery signature.');
|
|
378
|
+
}
|
|
379
|
+
if (primaryKeys === undefined) {
|
|
380
|
+
throw new Error('primaryKeys are required when using the legacy buildUpdateQuery signature.');
|
|
381
|
+
}
|
|
382
|
+
return {
|
|
383
|
+
target: updateTableExprRaw,
|
|
384
|
+
primaryKeys: QueryBuilder.normalizeColumnArray(primaryKeys),
|
|
385
|
+
sourceAlias: selectSourceOrOptions
|
|
386
|
+
};
|
|
387
|
+
}
|
|
388
|
+
return {
|
|
389
|
+
target: selectSourceOrOptions.target,
|
|
390
|
+
primaryKeys: QueryBuilder.normalizeColumnArray(selectSourceOrOptions.primaryKeys),
|
|
391
|
+
sourceAlias: (_a = selectSourceOrOptions.sourceAlias) !== null && _a !== void 0 ? _a : 'src',
|
|
392
|
+
columns: selectSourceOrOptions.columns
|
|
393
|
+
};
|
|
394
|
+
}
|
|
395
|
+
static normalizeDeleteOptions(options) {
|
|
396
|
+
var _a;
|
|
397
|
+
return Object.assign(Object.assign({}, options), { primaryKeys: QueryBuilder.normalizeColumnArray(options.primaryKeys), sourceAlias: (_a = options.sourceAlias) !== null && _a !== void 0 ? _a : 'src' });
|
|
398
|
+
}
|
|
399
|
+
static normalizeMergeOptions(options) {
|
|
400
|
+
var _a;
|
|
401
|
+
return Object.assign(Object.assign({}, options), { primaryKeys: QueryBuilder.normalizeColumnArray(options.primaryKeys), sourceAlias: (_a = options.sourceAlias) !== null && _a !== void 0 ? _a : 'src' });
|
|
402
|
+
}
|
|
403
|
+
static normalizeColumnArray(columns) {
|
|
404
|
+
const array = Array.isArray(columns) ? columns : [columns];
|
|
405
|
+
const normalized = array.map(col => col.trim()).filter(col => col.length > 0);
|
|
406
|
+
if (!normalized.length) {
|
|
407
|
+
throw new Error('At least one column must be specified.');
|
|
408
|
+
}
|
|
409
|
+
return normalized;
|
|
410
|
+
}
|
|
411
|
+
static collectSelectItems(selectQuery) {
|
|
412
|
+
const collector = new SelectValueCollector();
|
|
413
|
+
return collector.collect(selectQuery);
|
|
414
|
+
}
|
|
415
|
+
static collectSelectColumnNames(selectQuery) {
|
|
416
|
+
const items = QueryBuilder.collectSelectItems(selectQuery);
|
|
417
|
+
const names = [];
|
|
418
|
+
for (const item of items) {
|
|
419
|
+
if (!item.name || item.name === '*') {
|
|
420
|
+
throw new Error(`Columns cannot be inferred from the selectQuery. ` +
|
|
421
|
+
`Make sure you are not using wildcards or unnamed columns.`);
|
|
422
|
+
}
|
|
423
|
+
if (!names.includes(item.name)) {
|
|
424
|
+
names.push(item.name);
|
|
425
|
+
}
|
|
426
|
+
}
|
|
427
|
+
if (!names.length) {
|
|
428
|
+
throw new Error('Unable to determine any column names from selectQuery.');
|
|
429
|
+
}
|
|
430
|
+
return names;
|
|
431
|
+
}
|
|
432
|
+
static ensurePrimaryKeys(selectColumns, primaryKeys) {
|
|
433
|
+
const available = new Set(selectColumns);
|
|
434
|
+
for (const pk of primaryKeys) {
|
|
435
|
+
if (!available.has(pk)) {
|
|
436
|
+
throw new Error(`Primary key column '${pk}' is not present in selectQuery select list.`);
|
|
437
|
+
}
|
|
438
|
+
}
|
|
439
|
+
}
|
|
440
|
+
static prepareInsertColumns(selectQuery, optionColumns) {
|
|
441
|
+
const selectColumns = QueryBuilder.collectSelectColumnNames(selectQuery);
|
|
442
|
+
if (optionColumns && optionColumns.length > 0) {
|
|
443
|
+
const normalized = QueryBuilder.normalizeColumnArray(optionColumns);
|
|
444
|
+
const uniqueNormalized = normalized.filter((name, idx) => normalized.indexOf(name) === idx);
|
|
445
|
+
const missing = uniqueNormalized.filter(name => !selectColumns.includes(name));
|
|
446
|
+
if (missing.length > 0) {
|
|
447
|
+
throw new Error(`Columns specified in conversion options were not found in selectQuery select list: [${missing.join(', ')}].`);
|
|
448
|
+
}
|
|
449
|
+
QueryBuilder.rebuildSelectClause(selectQuery, uniqueNormalized);
|
|
450
|
+
QueryBuilder.ensureSelectClauseSize(selectQuery, uniqueNormalized.length);
|
|
451
|
+
return uniqueNormalized;
|
|
452
|
+
}
|
|
453
|
+
QueryBuilder.ensureSelectClauseSize(selectQuery, selectColumns.length);
|
|
454
|
+
return selectColumns;
|
|
455
|
+
}
|
|
456
|
+
static prepareUpdateColumns(selectQuery, primaryKeys, explicitColumns) {
|
|
457
|
+
const selectColumns = QueryBuilder.collectSelectColumnNames(selectQuery);
|
|
458
|
+
QueryBuilder.ensurePrimaryKeys(selectColumns, primaryKeys);
|
|
459
|
+
const primaryKeySet = new Set(primaryKeys);
|
|
460
|
+
const updateCandidates = selectColumns.filter(name => !primaryKeySet.has(name));
|
|
461
|
+
let updateColumnsOrdered;
|
|
462
|
+
if (explicitColumns && explicitColumns.length > 0) {
|
|
463
|
+
const normalized = QueryBuilder.normalizeColumnArray(explicitColumns);
|
|
464
|
+
const uniqueNormalized = normalized.filter((name, idx) => normalized.indexOf(name) === idx);
|
|
465
|
+
const missing = uniqueNormalized.filter(name => primaryKeySet.has(name) || !updateCandidates.includes(name));
|
|
466
|
+
if (missing.length > 0) {
|
|
467
|
+
throw new Error(`Provided update columns were not found in selectQuery output or are primary keys: [${missing.join(', ')}].`);
|
|
468
|
+
}
|
|
469
|
+
updateColumnsOrdered = uniqueNormalized;
|
|
470
|
+
}
|
|
471
|
+
else {
|
|
472
|
+
updateColumnsOrdered = Array.from(new Set(updateCandidates));
|
|
473
|
+
}
|
|
474
|
+
const desiredOrder = Array.from(new Set([
|
|
475
|
+
...primaryKeys,
|
|
476
|
+
...updateColumnsOrdered
|
|
477
|
+
]));
|
|
478
|
+
QueryBuilder.rebuildSelectClause(selectQuery, desiredOrder);
|
|
479
|
+
QueryBuilder.ensureSelectClauseSize(selectQuery, desiredOrder.length);
|
|
480
|
+
return updateColumnsOrdered;
|
|
481
|
+
}
|
|
482
|
+
static prepareDeleteColumns(selectQuery, primaryKeys, explicitColumns) {
|
|
483
|
+
const selectColumns = QueryBuilder.collectSelectColumnNames(selectQuery);
|
|
484
|
+
QueryBuilder.ensurePrimaryKeys(selectColumns, primaryKeys);
|
|
485
|
+
const primaryKeySet = new Set(primaryKeys);
|
|
486
|
+
let matchColumns = [];
|
|
487
|
+
if (explicitColumns && explicitColumns.length > 0) {
|
|
488
|
+
const normalized = QueryBuilder.normalizeColumnArray(explicitColumns);
|
|
489
|
+
const preferred = new Set(normalized);
|
|
490
|
+
matchColumns = selectColumns.filter(name => preferred.has(name) && !primaryKeySet.has(name));
|
|
491
|
+
}
|
|
492
|
+
const requiredColumns = new Set();
|
|
493
|
+
primaryKeys.forEach(key => requiredColumns.add(key));
|
|
494
|
+
matchColumns.forEach(col => requiredColumns.add(col));
|
|
495
|
+
const desiredOrder = selectColumns.filter(name => requiredColumns.has(name));
|
|
496
|
+
QueryBuilder.rebuildSelectClause(selectQuery, desiredOrder);
|
|
497
|
+
QueryBuilder.ensureSelectClauseSize(selectQuery, desiredOrder.length);
|
|
498
|
+
return desiredOrder;
|
|
499
|
+
}
|
|
500
|
+
static prepareMergeColumns(selectQuery, primaryKeys, explicitUpdateColumns, explicitInsertColumns, matchedAction, notMatchedAction) {
|
|
501
|
+
const selectColumns = QueryBuilder.collectSelectColumnNames(selectQuery);
|
|
502
|
+
QueryBuilder.ensurePrimaryKeys(selectColumns, primaryKeys);
|
|
503
|
+
const primaryKeySet = new Set(primaryKeys);
|
|
504
|
+
let updateColumnsOrdered = [];
|
|
505
|
+
if (matchedAction === 'update') {
|
|
506
|
+
const candidates = selectColumns.filter(name => !primaryKeySet.has(name));
|
|
507
|
+
if (explicitUpdateColumns && explicitUpdateColumns.length > 0) {
|
|
508
|
+
const normalized = QueryBuilder.normalizeColumnArray(explicitUpdateColumns);
|
|
509
|
+
const uniqueNormalized = normalized.filter((name, idx) => normalized.indexOf(name) === idx);
|
|
510
|
+
const missing = uniqueNormalized.filter(name => primaryKeySet.has(name) || !candidates.includes(name));
|
|
511
|
+
if (missing.length > 0) {
|
|
512
|
+
throw new Error(`Provided update columns were not found in selectQuery output or are primary keys: [${missing.join(', ')}].`);
|
|
513
|
+
}
|
|
514
|
+
updateColumnsOrdered = uniqueNormalized;
|
|
515
|
+
}
|
|
516
|
+
else {
|
|
517
|
+
updateColumnsOrdered = Array.from(new Set(candidates));
|
|
518
|
+
}
|
|
519
|
+
}
|
|
520
|
+
let insertColumnsOrdered = [];
|
|
521
|
+
if (notMatchedAction === 'insert') {
|
|
522
|
+
if (explicitInsertColumns && explicitInsertColumns.length > 0) {
|
|
523
|
+
const normalized = QueryBuilder.normalizeColumnArray(explicitInsertColumns);
|
|
524
|
+
const uniqueNormalized = normalized.filter((name, idx) => normalized.indexOf(name) === idx);
|
|
525
|
+
const missing = uniqueNormalized.filter(name => !selectColumns.includes(name));
|
|
526
|
+
if (missing.length > 0) {
|
|
527
|
+
throw new Error(`Provided insert columns were not found in selectQuery output: [${missing.join(', ')}].`);
|
|
528
|
+
}
|
|
529
|
+
insertColumnsOrdered = uniqueNormalized;
|
|
530
|
+
}
|
|
531
|
+
else {
|
|
532
|
+
insertColumnsOrdered = Array.from(new Set(selectColumns));
|
|
533
|
+
}
|
|
534
|
+
}
|
|
535
|
+
const desiredOrder = Array.from(new Set([
|
|
536
|
+
...primaryKeys,
|
|
537
|
+
...updateColumnsOrdered,
|
|
538
|
+
...insertColumnsOrdered,
|
|
539
|
+
...selectColumns
|
|
540
|
+
])).filter(name => selectColumns.includes(name));
|
|
541
|
+
QueryBuilder.rebuildSelectClause(selectQuery, desiredOrder);
|
|
542
|
+
QueryBuilder.ensureSelectClauseSize(selectQuery, desiredOrder.length);
|
|
543
|
+
const finalUpdateColumns = matchedAction === 'update'
|
|
544
|
+
? updateColumnsOrdered
|
|
545
|
+
: [];
|
|
546
|
+
const finalInsertColumns = notMatchedAction === 'insert'
|
|
547
|
+
? insertColumnsOrdered
|
|
548
|
+
: [];
|
|
549
|
+
return {
|
|
550
|
+
updateColumns: finalUpdateColumns,
|
|
551
|
+
insertColumns: finalInsertColumns
|
|
552
|
+
};
|
|
553
|
+
}
|
|
554
|
+
static rebuildSelectClause(selectQuery, desiredColumns) {
|
|
555
|
+
const itemMap = new Map();
|
|
556
|
+
for (const item of selectQuery.selectClause.items) {
|
|
557
|
+
const name = QueryBuilder.getSelectItemName(item);
|
|
558
|
+
if (!name) {
|
|
559
|
+
continue;
|
|
560
|
+
}
|
|
561
|
+
if (!itemMap.has(name)) {
|
|
562
|
+
itemMap.set(name, item);
|
|
563
|
+
}
|
|
564
|
+
}
|
|
565
|
+
const rebuiltItems = [];
|
|
566
|
+
const seen = new Set();
|
|
567
|
+
for (const column of desiredColumns) {
|
|
568
|
+
if (seen.has(column)) {
|
|
569
|
+
continue;
|
|
570
|
+
}
|
|
571
|
+
const item = itemMap.get(column);
|
|
572
|
+
if (!item) {
|
|
573
|
+
throw new Error(`Column '${column}' not found in select clause.`);
|
|
574
|
+
}
|
|
575
|
+
rebuiltItems.push(item);
|
|
576
|
+
seen.add(column);
|
|
577
|
+
}
|
|
578
|
+
if (!rebuiltItems.length) {
|
|
579
|
+
throw new Error('Unable to rebuild select clause with the requested columns.');
|
|
580
|
+
}
|
|
581
|
+
selectQuery.selectClause.items = rebuiltItems;
|
|
582
|
+
}
|
|
583
|
+
static getSelectItemName(item) {
|
|
584
|
+
if (item.identifier) {
|
|
585
|
+
return item.identifier.name;
|
|
586
|
+
}
|
|
587
|
+
if (item.value instanceof ColumnReference) {
|
|
588
|
+
return item.value.column.name;
|
|
589
|
+
}
|
|
590
|
+
return null;
|
|
591
|
+
}
|
|
592
|
+
static ensureSelectClauseSize(selectQuery, expected) {
|
|
593
|
+
if (selectQuery.selectClause.items.length !== expected) {
|
|
594
|
+
throw new Error(`Select clause column count (${selectQuery.selectClause.items.length}) does not match expected count (${expected}).`);
|
|
595
|
+
}
|
|
596
|
+
}
|
|
597
|
+
static extractWithClause(selectQuery) {
|
|
598
|
+
const cteCollector = new CTECollector();
|
|
599
|
+
const collected = cteCollector.collect(selectQuery);
|
|
600
|
+
if (collected.length === 0) {
|
|
601
|
+
return null;
|
|
602
|
+
}
|
|
603
|
+
const cteDisabler = new CTEDisabler();
|
|
604
|
+
cteDisabler.execute(selectQuery);
|
|
605
|
+
return new WithClause(false, collected);
|
|
606
|
+
}
|
|
607
|
+
static buildEqualityPredicate(leftAlias, rightAlias, columns) {
|
|
608
|
+
const uniqueColumns = QueryBuilder.mergeUniqueColumns(columns);
|
|
609
|
+
if (!uniqueColumns.length) {
|
|
610
|
+
throw new Error('At least one column is required to build a comparison predicate.');
|
|
611
|
+
}
|
|
612
|
+
let predicate = null;
|
|
613
|
+
for (const column of uniqueColumns) {
|
|
614
|
+
const comparison = new BinaryExpression(QueryBuilder.toColumnReference(leftAlias, column), '=', QueryBuilder.toColumnReference(rightAlias, column));
|
|
615
|
+
predicate = predicate ? new BinaryExpression(predicate, 'and', comparison) : comparison;
|
|
616
|
+
}
|
|
617
|
+
return predicate;
|
|
618
|
+
}
|
|
619
|
+
static toColumnReference(alias, column) {
|
|
620
|
+
return new ColumnReference(alias, column);
|
|
621
|
+
}
|
|
622
|
+
static mergeUniqueColumns(columns) {
|
|
623
|
+
const seen = new Set();
|
|
624
|
+
const result = [];
|
|
625
|
+
for (const column of columns) {
|
|
626
|
+
if (!seen.has(column)) {
|
|
627
|
+
seen.add(column);
|
|
628
|
+
result.push(column);
|
|
629
|
+
}
|
|
630
|
+
}
|
|
631
|
+
return result;
|
|
632
|
+
}
|
|
633
|
+
}
|
|
634
|
+
//# sourceMappingURL=QueryBuilder.js.map
|