Sha256: 9c7ce773c09e91e2afb682ad7fde2a58f559a71c133c3ec2f7cd04bbce5aa6b9

Contents?: true

Size: 1.06 KB

Versions: 3

Compression:

Stored size: 1.06 KB

Contents

package org.embulk.filter.calcite.getter;

import java.sql.ResultSet;
import java.sql.SQLException;
import java.util.Calendar;
import java.util.TimeZone;

import org.embulk.input.jdbc.getter.TimestampColumnGetter;
import org.embulk.spi.PageBuilder;
import org.embulk.spi.time.Timestamp;
import org.embulk.spi.type.Type;
import org.joda.time.DateTimeZone;

public class FilterTimestampColumnGetter
        extends TimestampColumnGetter {

    private static final ThreadLocal<Calendar> calendar = new ThreadLocal<>();

    public FilterTimestampColumnGetter(PageBuilder to, Type toType, DateTimeZone timeZone) {
        super(to, toType, null);
        calendar.set(Calendar.getInstance(TimeZone.getTimeZone(timeZone.getID()))); // set TLS here
    }

    @Override
    protected void fetch(ResultSet from, int fromIndex)
            throws SQLException {
        java.sql.Timestamp timestamp = from.getTimestamp(fromIndex, calendar.get());
        if (timestamp != null) {
            value = Timestamp.ofEpochSecond(timestamp.getTime() / 1000, timestamp.getNanos());
        }
    }
}

Version data entries

3 entries across 3 versions & 1 rubygems

Version Path
embulk-filter-calcite-0.2.0 src/main/java/org/embulk/filter/calcite/getter/FilterTimestampColumnGetter.java
embulk-filter-calcite-0.1.3 src/main/java/org/embulk/filter/calcite/getter/FilterTimestampColumnGetter.java
embulk-filter-calcite-0.1.2 src/main/java/org/embulk/filter/calcite/getter/FilterTimestampColumnGetter.java