final case class QueryNonPrunedImpl(storageBackend: ParameterStorageBackend, loggerFactory: NamedLoggerFactory) extends QueryNonPruned with NamedLogging with Product with Serializable
- Alphabetic
- By Inheritance
- QueryNonPrunedImpl
- Serializable
- Product
- Equals
- NamedLogging
- QueryNonPruned
- AnyRef
- Any
- Hide All
- Show All
- Public
- Protected
Instance Constructors
- new QueryNonPrunedImpl(storageBackend: ParameterStorageBackend, loggerFactory: NamedLoggerFactory)
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]) @native() @IntrinsicCandidate()
- final def eq(arg0: AnyRef): Boolean
- Definition Classes
- AnyRef
- implicit def errorLoggingContext(implicit traceContext: TraceContext): ErrorLoggingContext
- Attributes
- protected
- Definition Classes
- NamedLogging
- def executeSql[T](query: => T, minOffsetExclusive: Offset, error: (Offset) => String)(implicit conn: Connection, loggingContext: LoggingContextWithTrace): T
Runs a query and throws an error if the query accesses pruned offsets.
Runs a query and throws an error if the query accesses pruned offsets.
- T
type of result passed through
- query
query to execute
- minOffsetExclusive
minimum, exclusive offset used by the query (i.e. all fetched offsets are larger)
- error
function that generates a context-specific error parameterized by participant pruning offset
- returns
either a PrunedLedgerOffsetNoLongerAvailable if pruned offset access attempt has occurred or query result Note in order to prevent race condition on connections at READ_COMMITTED isolation levels (in fact any level below SNAPSHOT isolation level), this check must be performed after fetching the corresponding range of data. This way we avoid a race between pruning and the query reading the offsets in which offsets are "silently skipped". First fetching the objects and only afterwards checking that no pruning operation has interfered, avoids such a race condition.
- Definition Classes
- QueryNonPrunedImpl → QueryNonPruned
- final def getClass(): Class[_ <: AnyRef]
- Definition Classes
- AnyRef → Any
- Annotations
- @native() @IntrinsicCandidate()
- final def isInstanceOf[T0]: Boolean
- Definition Classes
- Any
- def logger: TracedLogger
- Attributes
- protected
- Definition Classes
- NamedLogging
- val loggerFactory: NamedLoggerFactory
- Definition Classes
- QueryNonPrunedImpl → NamedLogging
- implicit def namedLoggingContext(implicit traceContext: TraceContext): NamedLoggingContext
- Attributes
- protected
- Definition Classes
- NamedLogging
- final def ne(arg0: AnyRef): Boolean
- Definition Classes
- AnyRef
- def noTracingLogger: Logger
- Attributes
- protected
- Definition Classes
- NamedLogging
- final def notify(): Unit
- Definition Classes
- AnyRef
- Annotations
- @native() @IntrinsicCandidate()
- final def notifyAll(): Unit
- Definition Classes
- AnyRef
- Annotations
- @native() @IntrinsicCandidate()
- def productElementNames: Iterator[String]
- Definition Classes
- Product
- val storageBackend: ParameterStorageBackend
- final def synchronized[T0](arg0: => T0): T0
- Definition Classes
- AnyRef
- 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])