@Override
  public void process(Batch batch, SingleLaneBatchMaker batchMaker) throws StageException {
    if (!batch.getRecords().hasNext()) {
      // No records - take the opportunity to clean up the cache so that we don't hold on to memory indefinitely
      cacheCleaner.periodicCleanUp();
    }

    boolean perRecord = false;
    // MS SQL Server does not support returning generateKey after executeBatch
    // Instead of executeBatch, do executeUpdate per record
    if (hikariConfigBean.getConnectionString().toLowerCase().startsWith("jdbc:sqlserver")) {
      perRecord = true;
    }

    if (dynamicTableName) {
      jdbcUtil.write(
          batch,
          tableNameEval,
          tableNameVars,
          tableNameTemplate,
          recordWriters,
          errorRecordHandler,
          perRecord
      );
    } else {
      jdbcUtil.write(batch.getRecords(), tableNameTemplate, recordWriters, errorRecordHandler, perRecord);
    }

    Iterator<Record> it = batch.getRecords();
    while (it.hasNext()) {
      batchMaker.addRecord(it.next());
    }
  }
@Override
  public void process(Batch batch, SingleLaneBatchMaker batchMaker) throws StageException {
    if (!batch.getRecords().hasNext()) {
      
      cacheCleaner.periodicCleanUp();
    }

    boolean perRecord = false;
    
    
    if (hikariConfigBean.getConnectionString().toLowerCase().startsWith("jdbc:sqlserver")) {
      perRecord = true;
    }

    if (dynamicTableName) {
      jdbcUtil.write(
          batch,
          tableNameEval,
          tableNameVars,
          tableNameTemplate,
          recordWriters,
          errorRecordHandler,
          perRecord
      );
    } else {
      jdbcUtil.write(batch.getRecords(), tableNameTemplate, recordWriters, errorRecordHandler, perRecord);
    }

    Iterator<Record> it = batch.getRecords();
    while (it.hasNext()) {
      batchMaker.addRecord(it.next());
    }
  }
@ Override public void process ( Batch batch , SingleLaneBatchMaker batchMaker ) throws StageException { if ( ! batch . getRecords ( ) . hasNext ( ) ) { // No records - take the opportunity to clean up the cache so that we don't hold on to memory indefinitely cacheCleaner . periodicCleanUp ( ) ; } boolean perRecord = false ; // MS SQL Server does not support returning generateKey after executeBatch // Instead of executeBatch, do executeUpdate per record if ( hikariConfigBean . getConnectionString ( ) . toLowerCase ( ) . startsWith ( "jdbc:sqlserver" ) ) { perRecord = true ; } if ( dynamicTableName ) { jdbcUtil . write ( batch , tableNameEval , tableNameVars , tableNameTemplate , recordWriters , errorRecordHandler , perRecord ) ; } else { jdbcUtil . write ( batch . getRecords ( ) , tableNameTemplate , recordWriters , errorRecordHandler , perRecord ) ; } Iterator < Record > it = batch . getRecords ( ) ; while ( it . hasNext ( ) ) { batchMaker . addRecord ( it . next ( ) ) ; } }
{@inheritDoc}
{