package com.chenyang.druid.sql.ast;

import com.chenyang.druid.DbType;
import java.util.List;

public interface SQLDataType extends SQLObject {
   String getName();

   long nameHashCode64();

   void setName(String var1);

   List<SQLExpr> getArguments();

   Boolean getWithTimeZone();

   void setWithTimeZone(Boolean var1);

   boolean isWithLocalTimeZone();

   void setWithLocalTimeZone(boolean var1);

   SQLDataType clone();

   void setDbType(DbType var1);

   DbType getDbType();

   int jdbcType();

   boolean isInt();

   boolean isNumberic();

   boolean isString();

   boolean hasKeyLength();

   public interface Constants {
      String CHAR = "CHAR";
      String NCHAR = "NCHAR";
      String VARCHAR = "VARCHAR";
      String VARBINARY = "VARBINARY";
      String DATE = "DATE";
      String TIMESTAMP = "TIMESTAMP";
      String XML = "XML";
      String DECIMAL = "DECIMAL";
      String NUMBER = "NUMBER";
      String REAL = "REAL";
      String DOUBLE_PRECISION = "DOUBLE PRECISION";
      String DOUBLE = "DOUBLE";
      String TINYINT = "TINYINT";
      String SMALLINT = "SMALLINT";
      String INT = "INT";
      String BIGINT = "BIGINT";
      String TEXT = "TEXT";
      String BYTEA = "BYTEA";
      String BOOLEAN = "BOOLEAN";
      String FLOAT = "FLOAT";
   }
}
