xtdb / xtdb

An immutable database for application development and time-travel data compliance, with SQL and XTQL. Developed by @juxt

Home Page:https://xtdb.com

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Nulling a previous struct results in UOE

FiV0 opened this issue · comments

  (xt/submit-tx node [[:put-docs :docs {:xt/id 1 :data {:some-data nil}}]]) 
  (xt/submit-tx node [[:put-docs :docs {:xt/id 1 :data nil}]])
  (xt/q node '(from :docs [data]))

results in

1. Caused by java.lang.UnsupportedOperationException
   Unknown type: NULL

 NullableStructWriter.java:  264  org.apache.arrow.vector.complex.impl.NullableStructWriter/<init>
         StructVector.java:   69  org.apache.arrow.vector.complex.StructVector/<init>
         StructVector.java:  245  org.apache.arrow.vector.complex.StructVector/getTransferPair
          IVectorWriter.kt:  130  xtdb.vector.IVectorWriterKt/promote
     StructVectorWriter.kt:   55  xtdb.vector.StructVectorWriter/promoteChild
     StructVectorWriter.kt:  117  xtdb.vector.StructVectorWriter/structKeyWriter
     StructVectorWriter.kt:  219  xtdb.vector.StructVectorWriter/rowCopier
 DenseUnionVectorWriter.kt:  116  xtdb.vector.DenseUnionVectorWriter$ChildWriter/rowCopier
               indexer.clj:   93  xtdb.indexer/->put-docs-indexer/fn
                  core.clj: 2759  clojure.core/map/fn/fn
             protocols.clj:   49  clojure.core.protocols/iter-reduce
             protocols.clj:   75  clojure.core.protocols/fn
             protocols.clj:   75  clojure.core.protocols/fn
             protocols.clj:   13  clojure.core.protocols/fn/G
                  core.clj: 6956  clojure.core/transduce
                  core.clj: 6971  clojure.core/into
                  core.clj: 6959  clojure.core/into
               indexer.clj:   77  xtdb.indexer/->put-docs-indexer
               indexer.clj:   67  xtdb.indexer/->put-docs-indexer
               indexer.clj:  596  xtdb.indexer.Indexer/fn/index-tx-ops/fn
                Delay.java:   42  clojure.lang.Delay/deref
                  core.clj: 2337  clojure.core/deref
                  core.clj: 2323  clojure.core/deref
               indexer.clj:  608  xtdb.indexer.Indexer/fn/index-tx-ops/fn
                  AFn.java:   18  clojure.lang.AFn/call
        AbstractTimer.java:  175  io.micrometer.core.instrument.AbstractTimer/recordCallable
               indexer.clj:  604  xtdb.indexer.Indexer/fn/index-tx-ops
               indexer.clj:  618  xtdb.indexer.Indexer/fn/fn
               indexer.clj:  617  xtdb.indexer.Indexer/fn
               indexer.clj:  579  xtdb.indexer.Indexer/indexTx
               watcher.clj:   53  xtdb.log.watcher/watch-log!/reify
                   log.clj:   38  xtdb.log/tx-handler/fn
             protocols.clj:   49  clojure.core.protocols/iter-reduce
             protocols.clj:   75  clojure.core.protocols/fn
             protocols.clj:   75  clojure.core.protocols/fn
             protocols.clj:   13  clojure.core.protocols/fn/G
                  core.clj: 6895  clojure.core/reduce
                  core.clj: 6877  clojure.core/reduce
                   log.clj:   52  xtdb.log/handle-polling-subscription/fn