All Downloads are FREE. Search and download functionalities are using the official Maven repository.

net.snowflake.client.core.DataConversionContext Maven / Gradle / Ivy

/*
 * Copyright (c) 2012-2019 Snowflake Computing Inc. All rights reserved.
 */
package net.snowflake.client.core;

import java.util.TimeZone;
import net.snowflake.common.core.SFBinaryFormat;
import net.snowflake.common.core.SnowflakeDateTimeFormat;

/**
 * This class contains formatter info about each data type and related flags etc. And it is scoped
 * to a single result set. a.k.a each result set object should have its own formatter info
 */
public interface DataConversionContext {
  /** timestamp_ltz formatter */
  SnowflakeDateTimeFormat getTimestampLTZFormatter();

  /** timestamp_ntz formatter */
  SnowflakeDateTimeFormat getTimestampNTZFormatter();

  /** timestamp_tz formatter */
  SnowflakeDateTimeFormat getTimestampTZFormatter();

  /** date formatter */
  SnowflakeDateTimeFormat getDateFormatter();

  /** time formatter */
  SnowflakeDateTimeFormat getTimeFormatter();

  /** binary formatter */
  SFBinaryFormat getBinaryFormatter();

  /** get scale from Snowflake metadata */
  int getScale(int columnIndex);

  /**
   * @return current session
   */
  SFBaseSession getSession();

  /**
   * @return session time zone
   */
  TimeZone getTimeZone();

  /**
   * @return whether to honor client time zone for timestamp_ntz
   */
  boolean getHonorClientTZForTimestampNTZ();

  /**
   * @return result version
   */
  long getResultVersion();
}




© 2015 - 2024 Weber Informatics LLC | Privacy Policy