@@ -55,6 +55,41 @@ func writePostingListToDisk(kvs []*bpb.KV) error {
5555 return writer .Flush ()
5656}
5757
58+ func TestEmptyTypeSchema (t * testing.T ) {
59+ dir , err := os .MkdirTemp ("" , "storetest_" )
60+ x .Check (err )
61+ defer os .RemoveAll (dir )
62+
63+ opt := badger .DefaultOptions (dir )
64+ ps , err := badger .OpenManaged (opt )
65+ x .Check (err )
66+ pstore = ps
67+ posting .Init (ps , 0 , false )
68+ Init (ps )
69+
70+ typeName := "1-temp"
71+ ts := uint64 (10 )
72+ txn := pstore .NewTransactionAt (ts , true )
73+ defer txn .Discard ()
74+ e := & badger.Entry {
75+ Key : x .TypeKey (typeName ),
76+ Value : make ([]byte , 0 ),
77+ UserMeta : posting .BitSchemaPosting ,
78+ }
79+ require .Nil (t , txn .SetEntry (e .WithDiscard ()))
80+ require .Nil (t , txn .CommitAt (ts , nil ))
81+
82+ schema .Init (ps )
83+ require .Nil (t , schema .LoadFromDb (context .Background ()))
84+
85+ req := & pb.SchemaRequest {}
86+ types , err := GetTypes (context .Background (), req )
87+ require .Nil (t , err )
88+
89+ require .Equal (t , 1 , len (types ))
90+ x .ParseNamespaceAttr (types [0 ].TypeName )
91+ }
92+
5893func TestMultipleTxnListCount (t * testing.T ) {
5994 dir , err := os .MkdirTemp ("" , "storetest_" )
6095 x .Check (err )
0 commit comments