Sha256: 535ded9e68d7dbe0d6119f5e34f9fa145f251d5b46757678b19bcfda7748e89b

Contents?: true

Size: 1.41 KB

Versions: 12

Compression:

Stored size: 1.41 KB

Contents

package org.embulk.input.mysql.getter;

import org.embulk.input.jdbc.getter.ColumnGetter;
import org.joda.time.DateTimeZone;

import java.sql.Timestamp;

public class MySQLDateTimeTimestampIncrementalHandler
        extends AbstractMySQLTimestampIncrementalHandler
{
    public MySQLDateTimeTimestampIncrementalHandler(DateTimeZone sessionTimeZone, ColumnGetter next)
    {
        super(sessionTimeZone, next);
    }

    @Override
    public String getTimestampFormat()
    {
        return "%Y-%m-%dT%H:%M:%S.%6N";
    }

    @Override
    public org.embulk.spi.time.Timestamp utcTimestampFromSessionTime(long epochSecond, int nano)
    {
        // this Timestamp value is already converted by session time_zone.
        long reconverted = sessionTimeZone.convertUTCToLocal(epochSecond * 1000) / 1000; // reconvert from session time_zone to UTC
        return org.embulk.spi.time.Timestamp.ofEpochSecond(reconverted, nano);
    }

    @Override
    public String getTimestampPattern()
    {
        return "%Y-%m-%dT%H:%M:%S.%N";
    }

    @Override
    public Timestamp utcTimestampToSessionTime(org.embulk.spi.time.Timestamp from)
    {
        // reconvert from UTC to session time_zone
        long reconverted = sessionTimeZone.convertLocalToUTC(from.getEpochSecond() * 1000, false);
        Timestamp sqlTimestamp = new Timestamp(reconverted);
        sqlTimestamp.setNanos(from.getNano());
        return sqlTimestamp;
    }
}

Version data entries

12 entries across 12 versions & 1 rubygems

Version Path
embulk-input-mysql-0.10.1 src/main/java/org/embulk/input/mysql/getter/MySQLDateTimeTimestampIncrementalHandler.java
embulk-input-mysql-0.10.0 src/main/java/org/embulk/input/mysql/getter/MySQLDateTimeTimestampIncrementalHandler.java
embulk-input-mysql-0.9.3 src/main/java/org/embulk/input/mysql/getter/MySQLDateTimeTimestampIncrementalHandler.java
embulk-input-mysql-0.9.2 src/main/java/org/embulk/input/mysql/getter/MySQLDateTimeTimestampIncrementalHandler.java
embulk-input-mysql-0.9.1 src/main/java/org/embulk/input/mysql/getter/MySQLDateTimeTimestampIncrementalHandler.java
embulk-input-mysql-0.9.0 src/main/java/org/embulk/input/mysql/getter/MySQLDateTimeTimestampIncrementalHandler.java
embulk-input-mysql-0.8.6 src/main/java/org/embulk/input/mysql/getter/MySQLDateTimeTimestampIncrementalHandler.java
embulk-input-mysql-0.8.5 src/main/java/org/embulk/input/mysql/getter/MySQLDateTimeTimestampIncrementalHandler.java
embulk-input-mysql-0.8.4 src/main/java/org/embulk/input/mysql/getter/MySQLDateTimeTimestampIncrementalHandler.java
embulk-input-mysql-0.8.3 src/main/java/org/embulk/input/mysql/getter/MySQLDateTimeTimestampIncrementalHandler.java
embulk-input-mysql-0.8.2 src/main/java/org/embulk/input/mysql/getter/MySQLDateTimeTimestampIncrementalHandler.java
embulk-input-mysql-0.8.1 src/main/java/org/embulk/input/mysql/getter/MySQLDateTimeTimestampIncrementalHandler.java