com.snowplowanalytics.snowplow.enrich.common.enrichments.registry

sqlquery

package sqlquery

Visibility
  1. Public
  2. All

Type Members

  1. case class Cache(size: Int, ttl: Int) extends Product with Serializable

    Just LRU cache Stores full IntMap with extracted values as keys and full list Self-describing contexts as values

  2. case class Db(postgresql: Option[PostgresqlDb] = scala.None, mysql: Option[MysqlDb] = scala.None) extends Product with Serializable

    Class-container for chosen DB's configuration Exactly one configuration must be provided

  3. case class Input(placeholder: Int, pojo: Option[PojoInput], json: Option[JsonInput]) extends Product with Serializable

    Container for key with one (and only one) of possible input sources Basically, represents a key for future template context and way to get value out of EnrichedEvent, custom context, derived event or unstruct event.

  4. case class InvalidConfiguration(message: String) extends Throwable with SqlQueryEnrichmentError with Product with Serializable

  5. case class InvalidDbResponse(message: String) extends Throwable with SqlQueryEnrichmentError with Product with Serializable

  6. case class InvalidInput(message: String) extends Throwable with SqlQueryEnrichmentError with Product with Serializable

  7. case class InvalidStateException(message: String) extends Throwable with SqlQueryEnrichmentError with Product with Serializable

  8. case class JsonInput(field: String, schemaCriterion: String, jsonPath: String) extends Product with Serializable

  9. case class JsonOutput(schema: String, describes: String, propertyNames: String) extends Product with Serializable

    Handles JSON-specific output (actually, nothing here is JSON-specific, unlike API Request Enrichment, so all these properties can go into primary Output class as they can be used for *any* output)

  10. case class JsonPathException(message: String) extends Throwable with SqlQueryEnrichmentError with Product with Serializable

  11. case class MysqlDb(host: String, port: Int, sslMode: Boolean, username: String, password: String, database: String) extends Rdbms with Product with Serializable

    Class representing connection configuration for databases speaking MySQL dialect

  12. case class Output(json: JsonOutput, expectedRows: String) extends Product with Serializable

    Container class for output preferences.

  13. case class PojoInput(field: String) extends Product with Serializable

    Describes how to take key from POJO source

  14. case class PostgresqlDb(host: String, port: Int, sslMode: Boolean, username: String, password: String, database: String) extends Rdbms with Product with Serializable

    Class representing connection configuration for databases speaking PostgreSQL dialect

  15. case class Query(sql: String) extends Product with Serializable

  16. trait Rdbms extends AnyRef

    Common trait for all Databases Contains exception-free logic wrapping JDBC to acquire DB-connection and handle its lifecycle

  17. case class SqlQueryEnrichment(inputs: List[Input], db: Db, query: Query, output: Output, cache: Cache) extends Enrichment with Product with Serializable

  18. sealed trait SqlQueryEnrichmentError extends Throwable

  19. case class ValueNotFoundException(message: String) extends Throwable with SqlQueryEnrichmentError with Product with Serializable

Value Members

  1. object Input extends Serializable

    Companion object, containing common methods for input data manipulation and template context building

  2. object JsonOutput extends Serializable

  3. object Output extends Serializable

  4. object SqlQueryEnrichment extends Serializable

    Companion object containing common methods for requests and manipulating data

  5. object SqlQueryEnrichmentConfig extends ParseableEnrichment

    Lets us create an SqlQueryEnrichmentConfig from a JValue

Ungrouped