SQLStatement(Binding params, StatementLocator locator, StatementRewriter rewriter, Handle handle, StatementBuilder statementBuilder, String sql, ConcreteStatementContext ctx, SQLLog log, TimingCollector timingCollector, Collection<StatementCustomizer> statementCustomizers, Foreman foreman, ContainerFactoryRegistry containerFactoryRegistry) { super(ctx, foreman); // [OPTIMIZATION] Costly check //assert verifyOurNastyDowncastIsOkay(); addCustomizers(statementCustomizers); this.log = log; this.statementBuilder = statementBuilder; this.rewriter = rewriter; this.handle = handle; this.sql = sql; this.timingCollector = timingCollector; this.params = params; this.locator = locator; this.containerMapperRegistry = containerFactoryRegistry.createChild(); ctx.setConnection(handle.getConnection()); ctx.setRawSql(sql); ctx.setBinding(params); }
SQLStatement(Binding params, StatementLocator locator, StatementRewriter rewriter, Handle handle, StatementBuilder statementBuilder, String sql, ConcreteStatementContext ctx, SQLLog log, TimingCollector timingCollector, Collection<StatementCustomizer> statementCustomizers, Foreman foreman, ContainerFactoryRegistry containerFactoryRegistry) { super(ctx, foreman); assert verifyOurNastyDowncastIsOkay(); addCustomizers(statementCustomizers); this.log = log; this.statementBuilder = statementBuilder; this.rewriter = rewriter; this.handle = handle; this.sql = sql; this.timingCollector = timingCollector; this.params = params; this.locator = locator; this.containerMapperRegistry = containerFactoryRegistry.createChild(); ctx.setConnection(handle.getConnection()); ctx.setRawSql(sql); ctx.setBinding(params); }