Packages

class QuerySpecificCachedTable extends BaseCachedTable

Represents a cached table entry with a unique refresher for each query. This design ensures that even if two queries are identical in structure, their refreshers can maintain independent states. The refreshFunction is responsible for refreshing the pre-signed URLs for the table, while the RefresherWrapper allows additional customization or state management during the refresh process. This is necessary because the server may require specific states in the refresher function to refresh the pre-signed URLs. The refresh results can be shared across the same query for the same table.

Example: Query 1: SELECT * FROM table WHERE col1 = 'value1' Query 2: SELECT * FROM table WHERE col1 = 'value1' Both queries can share the same cache entry for the table, but their refreshers maintain independent states to handle server-specific requirements for refreshing pre-signed URLs. When Query 2 ends, and Query 1 keeps running, we need to maintain Query 1's refresher state to ensure it continues to refresh the pre-signed URLs as needed.

Linear Supertypes
BaseCachedTable, AnyRef, Any
Ordering
  1. Alphabetic
  2. By Inheritance
Inherited
  1. QuerySpecificCachedTable
  2. BaseCachedTable
  3. AnyRef
  4. Any
  1. Hide All
  2. Show All
Visibility
  1. Public
  2. Protected

Instance Constructors

  1. new QuerySpecificCachedTable(expiration: Long, idToUrl: Map[String, String], lastAccess: Long, refreshToken: Option[String], refresher: (Option[String]) => TableRefreshResult, queryStates: Map[String, (Seq[WeakReference[AnyRef]], RefresherWrapper)], keepUrlsAfterRefsGone: Boolean = false)

    queryStates

    A mapping of query identifiers to their associated weak references and refresher wrappers.

    keepUrlsAfterRefsGone

    If true, URLs will be kept in cache even when all references are gone, and will only be cleaned up based on cache expiry time.

Value Members

  1. final def !=(arg0: Any): Boolean
    Definition Classes
    AnyRef → Any
  2. final def ##: Int
    Definition Classes
    AnyRef → Any
  3. final def ==(arg0: Any): Boolean
    Definition Classes
    AnyRef → Any
  4. final def asInstanceOf[T0]: T0
    Definition Classes
    Any
  5. def clone(): AnyRef
    Attributes
    protected[lang]
    Definition Classes
    AnyRef
    Annotations
    @throws(classOf[java.lang.CloneNotSupportedException]) @IntrinsicCandidate() @native()
  6. final def eq(arg0: AnyRef): Boolean
    Definition Classes
    AnyRef
  7. def equals(arg0: AnyRef): Boolean
    Definition Classes
    AnyRef → Any
  8. val expiration: Long
    Definition Classes
    BaseCachedTable
  9. final def getClass(): Class[_ <: AnyRef]
    Definition Classes
    AnyRef → Any
    Annotations
    @IntrinsicCandidate() @native()
  10. def hashCode(): Int
    Definition Classes
    AnyRef → Any
    Annotations
    @IntrinsicCandidate() @native()
  11. val idToUrl: Map[String, String]
    Definition Classes
    BaseCachedTable
  12. final def isInstanceOf[T0]: Boolean
    Definition Classes
    Any
  13. val keepUrlsAfterRefsGone: Boolean
  14. var lastAccess: Long
    Definition Classes
    BaseCachedTable
  15. final def ne(arg0: AnyRef): Boolean
    Definition Classes
    AnyRef
  16. final def notify(): Unit
    Definition Classes
    AnyRef
    Annotations
    @IntrinsicCandidate() @native()
  17. final def notifyAll(): Unit
    Definition Classes
    AnyRef
    Annotations
    @IntrinsicCandidate() @native()
  18. val queryStates: Map[String, (Seq[WeakReference[AnyRef]], RefresherWrapper)]
  19. val refreshToken: Option[String]
    Definition Classes
    BaseCachedTable
  20. val refresher: (Option[String]) => TableRefreshResult
    Definition Classes
    BaseCachedTable
  21. final def synchronized[T0](arg0: => T0): T0
    Definition Classes
    AnyRef
  22. def toString(): String
    Definition Classes
    AnyRef → Any
  23. final def wait(arg0: Long, arg1: Int): Unit
    Definition Classes
    AnyRef
    Annotations
    @throws(classOf[java.lang.InterruptedException])
  24. final def wait(arg0: Long): Unit
    Definition Classes
    AnyRef
    Annotations
    @throws(classOf[java.lang.InterruptedException]) @native()
  25. final def wait(): Unit
    Definition Classes
    AnyRef
    Annotations
    @throws(classOf[java.lang.InterruptedException])

Deprecated Value Members

  1. def finalize(): Unit
    Attributes
    protected[lang]
    Definition Classes
    AnyRef
    Annotations
    @throws(classOf[java.lang.Throwable]) @Deprecated
    Deprecated

    (Since version 9)

Inherited from BaseCachedTable

Inherited from AnyRef

Inherited from Any

Ungrouped