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.
- Alphabetic
- By Inheritance
- QuerySpecificCachedTable
- BaseCachedTable
- AnyRef
- Any
- Hide All
- Show All
- Public
- Protected
Instance Constructors
- 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
- final def !=(arg0: Any): Boolean
- Definition Classes
- AnyRef → Any
- final def ##: Int
- Definition Classes
- AnyRef → Any
- final def ==(arg0: Any): Boolean
- Definition Classes
- AnyRef → Any
- final def asInstanceOf[T0]: T0
- Definition Classes
- Any
- def clone(): AnyRef
- Attributes
- protected[lang]
- Definition Classes
- AnyRef
- Annotations
- @throws(classOf[java.lang.CloneNotSupportedException]) @IntrinsicCandidate() @native()
- final def eq(arg0: AnyRef): Boolean
- Definition Classes
- AnyRef
- def equals(arg0: AnyRef): Boolean
- Definition Classes
- AnyRef → Any
- val expiration: Long
- Definition Classes
- BaseCachedTable
- final def getClass(): Class[_ <: AnyRef]
- Definition Classes
- AnyRef → Any
- Annotations
- @IntrinsicCandidate() @native()
- def hashCode(): Int
- Definition Classes
- AnyRef → Any
- Annotations
- @IntrinsicCandidate() @native()
- val idToUrl: Map[String, String]
- Definition Classes
- BaseCachedTable
- final def isInstanceOf[T0]: Boolean
- Definition Classes
- Any
- val keepUrlsAfterRefsGone: Boolean
- var lastAccess: Long
- Definition Classes
- BaseCachedTable
- final def ne(arg0: AnyRef): Boolean
- Definition Classes
- AnyRef
- final def notify(): Unit
- Definition Classes
- AnyRef
- Annotations
- @IntrinsicCandidate() @native()
- final def notifyAll(): Unit
- Definition Classes
- AnyRef
- Annotations
- @IntrinsicCandidate() @native()
- val queryStates: Map[String, (Seq[WeakReference[AnyRef]], RefresherWrapper)]
- val refreshToken: Option[String]
- Definition Classes
- BaseCachedTable
- val refresher: (Option[String]) => TableRefreshResult
- Definition Classes
- BaseCachedTable
- final def synchronized[T0](arg0: => T0): T0
- Definition Classes
- AnyRef
- def toString(): String
- Definition Classes
- AnyRef → Any
- final def wait(arg0: Long, arg1: Int): Unit
- Definition Classes
- AnyRef
- Annotations
- @throws(classOf[java.lang.InterruptedException])
- final def wait(arg0: Long): Unit
- Definition Classes
- AnyRef
- Annotations
- @throws(classOf[java.lang.InterruptedException]) @native()
- final def wait(): Unit
- Definition Classes
- AnyRef
- Annotations
- @throws(classOf[java.lang.InterruptedException])
Deprecated Value Members
- def finalize(): Unit
- Attributes
- protected[lang]
- Definition Classes
- AnyRef
- Annotations
- @throws(classOf[java.lang.Throwable]) @Deprecated
- Deprecated
(Since version 9)