Class AthenaDatabaseMeta

java.lang.Object
org.pentaho.di.core.database.BaseDatabaseMeta
org.pentaho.di.core.database.AthenaDatabaseMeta
All Implemented Interfaces:
Cloneable, DatabaseInterface, DatabaseInterfaceExtended

public class AthenaDatabaseMeta extends BaseDatabaseMeta
https://docs.aws.amazon.com/athena/latest/ug/jdbc-v3-driver.html
  • Constructor Details

    • AthenaDatabaseMeta

      public AthenaDatabaseMeta()
  • Method Details

    • getDriverClass

      public String getDriverClass()
      Description copied from interface: DatabaseInterface
      Obtain the name of the JDBC driver class that we need to use!
      Returns:
      the name of the JDBC driver class for the specific database
    • setAttributes

      public void setAttributes(Properties attributes)
      Description copied from class: BaseDatabaseMeta
      Set extra attributes on this database connection
      Specified by:
      setAttributes in interface DatabaseInterface
      Overrides:
      setAttributes in class BaseDatabaseMeta
      Parameters:
      attributes - The extra attributes to set on this database connection.
    • getAccessTypeList

      public int[] getAccessTypeList()
      Description copied from interface: DatabaseInterface
      Get the list of possible access types for a database.
      Specified by:
      getAccessTypeList in interface DatabaseInterface
      Specified by:
      getAccessTypeList in class BaseDatabaseMeta
      Returns:
      the list of possible access types for a database.
    • getDefaultDatabasePort

      public int getDefaultDatabasePort()
      Specified by:
      getDefaultDatabasePort in interface DatabaseInterface
      Overrides:
      getDefaultDatabasePort in class BaseDatabaseMeta
      Returns:
      the default database port number
    • getURL

      public String getURL(String hostname, String port, String databaseName) throws KettleDatabaseException
      Parameters:
      hostname - the hostname
      port - the port as a string
      databaseName - the database name
      Returns:
      the URL to use for connecting to the database.
      Throws:
      KettleDatabaseException - in case a configuration error is detected.
    • getWorkGroup

      public String getWorkGroup()
    • setWorkGroup

      public void setWorkGroup(String workgroup)
    • getRegion

      public String getRegion()
    • setRegion

      public void setRegion(String region)
    • getCatalog

      public String getCatalog()
    • setCatalog

      public void setCatalog(String catalog)
    • getOutputLocation

      public String getOutputLocation()
    • setOutputLocation

      public void setOutputLocation(String outputLocation)
    • getAuthType

      public AthenaDatabaseMeta.AuthType getAuthType()
    • setAuthType

      public void setAuthType(AthenaDatabaseMeta.AuthType AuthType)
    • getProfileName

      public Optional<String> getProfileName()
    • setProfileName

      public void setProfileName(String profileName)
    • getAttribute

      public Optional<String> getAttribute(String name)
    • getLimitClause

      public String getLimitClause(int nrRows)
      Specified by:
      getLimitClause in interface DatabaseInterface
      Overrides:
      getLimitClause in class BaseDatabaseMeta
      Parameters:
      nrRows - The number of rows to which we want to limit the result of the query.
      Returns:
      the clause after a select statement to limit the number of rows
    • getSQLQueryFields

      public String getSQLQueryFields(String tableName)
      Description copied from class: BaseDatabaseMeta
      Returns the minimal SQL to launch in order to determine the layout of the resultset for a given database table
      Specified by:
      getSQLQueryFields in interface DatabaseInterface
      Overrides:
      getSQLQueryFields in class BaseDatabaseMeta
      Parameters:
      tableName - The name of the table to determine the layout for
      Returns:
      The SQL to launch.
    • getXulOverlayFile

      public String getXulOverlayFile()
      Specified by:
      getXulOverlayFile in interface DatabaseInterface
      Overrides:
      getXulOverlayFile in class BaseDatabaseMeta
      Returns:
      The name of the XUL overlay file to display extra options. This is only used in case of a non-standard plugin. Usually this method returns null.
    • getReservedWords

      public String[] getReservedWords()
      Specified by:
      getReservedWords in interface DatabaseInterface
      Overrides:
      getReservedWords in class BaseDatabaseMeta
      Returns:
      an array of reserved words for the database type...
    • getFieldDefinition

      public String getFieldDefinition(ValueMetaInterface v, String tk, String pk, boolean useAutoinc, boolean addFieldName, boolean addCr)
      Description copied from interface: DatabaseInterface
      Describe a Value as a field in the database.
      Parameters:
      v - The value to describe
      tk - The field that's going to be the technical key
      pk - The field that's going to be the primary key
      useAutoinc - Use autoincrement or not
      addFieldName - Add the fieldname to the definition or not
      addCr - Add a cariage return at the end of the definition or not.
      Returns:
      a value described as a field in this database.
    • getAddColumnStatement

      public String getAddColumnStatement(String tablename, ValueMetaInterface v, String tk, boolean useAutoinc, String pk, boolean semicolon)
      Description copied from interface: DatabaseInterface
      Generates the SQL statement to add a column to the specified table
      Parameters:
      tablename - The table to add
      v - The column defined as a value
      tk - the name of the technical key field
      useAutoinc - whether or not this field uses auto increment
      pk - the name of the primary key field
      semicolon - whether or not to add a semi-colon behind the statement.
      Returns:
      the SQL statement to add a column to the specified table
    • getModifyColumnStatement

      public String getModifyColumnStatement(String tablename, ValueMetaInterface v, String tk, boolean useAutoinc, String pk, boolean semicolon)
      Description copied from interface: DatabaseInterface
      Generates the SQL statement to modify a column in the specified table
      Parameters:
      tablename - The table to add
      v - The column defined as a value
      tk - the name of the technical key field
      useAutoinc - whether or not this field uses auto increment
      pk - the name of the primary key field
      semicolon - whether or not to add a semi-colon behind the statement.
      Returns:
      the SQL statement to modify a column in the specified table
    • getUsedLibraries

      public String[] getUsedLibraries()
      Returns:
      the required libraries (in lib) for this database connection.
    • getStartQuote

      public String getStartQuote()
      Specified by:
      getStartQuote in interface DatabaseInterface
      Overrides:
      getStartQuote in class BaseDatabaseMeta
      Returns:
      The start quote sequence, mostly just double quote, but sometimes [, ...
    • getEndQuote

      public String getEndQuote()
      Specified by:
      getEndQuote in interface DatabaseInterface
      Overrides:
      getEndQuote in class BaseDatabaseMeta
      Returns:
      The end quote sequence, mostly just double quote, but sometimes ], ...