sealed trait RedirectState extends AnyRef
The table redirection feature includes specific states that manage the behavior of Delta clients during various stages of redirection. These states ensure query result consistency and prevent data loss. There are four states: 0. NO-REDIRECT: Indicates that table redirection is not enabled.
- ENABLE-REDIRECT-IN-PROGRESS: Table redirection is being enabled. Only read-only queries are allowed on the source table, while all write and metadata transactions are aborted. 2. REDIRECT-READY: The redirection setup is complete, and all queries on the source table are routed to the destination table. 3. DROP-REDIRECT-IN-PROGRESS: Table redirection is being disabled. Only read-only queries are allowed on the destination table, with all write and metadata transactions aborted. The valid procedures of state transition are: 0. NO-REDIRECT -> ENABLE-REDIRECT-IN-PROGRESS: Begins the table redirection process by transitioning the table to 'ENABLE-REDIRECT-IN-PROGRESS.' During this setup phase, all concurrent DML and DDL operations are temporarily blocked..
- ENABLE-REDIRECT-IN-PROGRESS -> REDIRECT-READY: Completes the setup for the table redirection feature. The table starts redirecting all queries to the destination location. 2. REDIRECT-READY -> DROP-REDIRECT-IN-PROGRESS: Initiates the process of removing table redirection by setting the table to 'DROP-REDIRECT-IN-PROGRESS.' This ensures that concurrent DML/DDL operations do not interfere with the cancellation process. 3. DROP-REDIRECT-IN-PROGRESS -> NO-REDIRECT: Completes the removal of table redirection. As a result, all DML, DDL, and read-only queries are no longer redirected to the previous destination. 4. ENABLE-REDIRECT-IN-PROGRESS -> NO-REDIRECT: This transition involves canceling table redirection while it is still in the process of being enabled.
Linear Supertypes
Known Subclasses
Ordering
- Alphabetic
- By Inheritance
Inherited
- RedirectState
- AnyRef
- Any
- Hide All
- Show All
Visibility
- Public
- Protected
Abstract Value Members
- abstract val name: String
Concrete 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()
- final def eq(arg0: AnyRef): Boolean
- Definition Classes
- AnyRef
- def equals(arg0: AnyRef): Boolean
- Definition Classes
- AnyRef → Any
- def finalize(): Unit
- Attributes
- protected[lang]
- Definition Classes
- AnyRef
- Annotations
- @throws(classOf[java.lang.Throwable])
- final def getClass(): Class[_ <: AnyRef]
- Definition Classes
- AnyRef → Any
- Annotations
- @native()
- def hashCode(): Int
- Definition Classes
- AnyRef → Any
- Annotations
- @native()
- final def isInstanceOf[T0]: Boolean
- Definition Classes
- Any
- final def ne(arg0: AnyRef): Boolean
- Definition Classes
- AnyRef
- final def notify(): Unit
- Definition Classes
- AnyRef
- Annotations
- @native()
- final def notifyAll(): Unit
- Definition Classes
- AnyRef
- Annotations
- @native()
- final def synchronized[T0](arg0: => T0): T0
- Definition Classes
- AnyRef
- def toString(): String
- Definition Classes
- AnyRef → Any
- final def wait(): Unit
- Definition Classes
- AnyRef
- Annotations
- @throws(classOf[java.lang.InterruptedException])
- 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()