mirror of
https://github.com/pikami/cosmium.git
synced 2025-10-13 15:26:00 +01:00
Fix badger prefix scans
This commit is contained in:
parent
c988741f8e
commit
89b914310c
@ -22,7 +22,8 @@ func (r *BadgerDataStore) GetAllCollections(databaseId string) ([]datastore.Coll
|
||||
return nil, datastore.StatusNotFound
|
||||
}
|
||||
|
||||
colls, status := listByPrefix[datastore.Collection](r.db, generateKey(resourceid.ResourceTypeCollection, databaseId, "", ""))
|
||||
prefix := generateKey(resourceid.ResourceTypeCollection, databaseId, "", "") + "/"
|
||||
colls, status := listByPrefix[datastore.Collection](r.db, prefix)
|
||||
if status == datastore.StatusOk {
|
||||
return colls, datastore.StatusOk
|
||||
}
|
||||
@ -49,10 +50,10 @@ func (r *BadgerDataStore) DeleteCollection(databaseId string, collectionId strin
|
||||
defer txn.Discard()
|
||||
|
||||
prefixes := []string{
|
||||
generateKey(resourceid.ResourceTypeDocument, databaseId, collectionId, ""),
|
||||
generateKey(resourceid.ResourceTypeTrigger, databaseId, collectionId, ""),
|
||||
generateKey(resourceid.ResourceTypeStoredProcedure, databaseId, collectionId, ""),
|
||||
generateKey(resourceid.ResourceTypeUserDefinedFunction, databaseId, collectionId, ""),
|
||||
generateKey(resourceid.ResourceTypeDocument, databaseId, collectionId, "") + "/",
|
||||
generateKey(resourceid.ResourceTypeTrigger, databaseId, collectionId, "") + "/",
|
||||
generateKey(resourceid.ResourceTypeStoredProcedure, databaseId, collectionId, "") + "/",
|
||||
generateKey(resourceid.ResourceTypeUserDefinedFunction, databaseId, collectionId, "") + "/",
|
||||
collectionKey,
|
||||
}
|
||||
for _, prefix := range prefixes {
|
||||
|
@ -38,11 +38,11 @@ func (r *BadgerDataStore) DeleteDatabase(id string) datastore.DataStoreStatus {
|
||||
defer txn.Discard()
|
||||
|
||||
prefixes := []string{
|
||||
generateKey(resourceid.ResourceTypeCollection, id, "", ""),
|
||||
generateKey(resourceid.ResourceTypeDocument, id, "", ""),
|
||||
generateKey(resourceid.ResourceTypeTrigger, id, "", ""),
|
||||
generateKey(resourceid.ResourceTypeStoredProcedure, id, "", ""),
|
||||
generateKey(resourceid.ResourceTypeUserDefinedFunction, id, "", ""),
|
||||
generateKey(resourceid.ResourceTypeCollection, id, "", "") + "/",
|
||||
generateKey(resourceid.ResourceTypeDocument, id, "", "") + "/",
|
||||
generateKey(resourceid.ResourceTypeTrigger, id, "", "") + "/",
|
||||
generateKey(resourceid.ResourceTypeStoredProcedure, id, "", "") + "/",
|
||||
generateKey(resourceid.ResourceTypeUserDefinedFunction, id, "", "") + "/",
|
||||
databaseKey,
|
||||
}
|
||||
for _, prefix := range prefixes {
|
||||
|
@ -24,7 +24,8 @@ func (r *BadgerDataStore) GetAllDocuments(databaseId string, collectionId string
|
||||
return nil, datastore.StatusNotFound
|
||||
}
|
||||
|
||||
docs, status := listByPrefix[datastore.Document](r.db, generateKey(resourceid.ResourceTypeDocument, databaseId, collectionId, ""))
|
||||
prefix := generateKey(resourceid.ResourceTypeDocument, databaseId, collectionId, "") + "/"
|
||||
docs, status := listByPrefix[datastore.Document](r.db, prefix)
|
||||
if status == datastore.StatusOk {
|
||||
return docs, datastore.StatusOk
|
||||
}
|
||||
@ -45,7 +46,8 @@ func (r *BadgerDataStore) GetDocumentIterator(databaseId string, collectionId st
|
||||
return nil, datastore.StatusNotFound
|
||||
}
|
||||
|
||||
iter := NewBadgerDocumentIterator(txn, generateKey(resourceid.ResourceTypeDocument, databaseId, collectionId, ""))
|
||||
prefix := generateKey(resourceid.ResourceTypeDocument, databaseId, collectionId, "") + "/"
|
||||
iter := NewBadgerDocumentIterator(txn, prefix)
|
||||
return iter, datastore.StatusOk
|
||||
}
|
||||
|
||||
|
@ -24,7 +24,8 @@ func (r *BadgerDataStore) GetAllStoredProcedures(databaseId string, collectionId
|
||||
return nil, datastore.StatusNotFound
|
||||
}
|
||||
|
||||
storedProcedures, status := listByPrefix[datastore.StoredProcedure](r.db, generateKey(resourceid.ResourceTypeStoredProcedure, databaseId, collectionId, ""))
|
||||
prefix := generateKey(resourceid.ResourceTypeStoredProcedure, databaseId, collectionId, "") + "/"
|
||||
storedProcedures, status := listByPrefix[datastore.StoredProcedure](r.db, prefix)
|
||||
if status == datastore.StatusOk {
|
||||
return storedProcedures, datastore.StatusOk
|
||||
}
|
||||
|
@ -24,7 +24,8 @@ func (r *BadgerDataStore) GetAllTriggers(databaseId string, collectionId string)
|
||||
return nil, datastore.StatusNotFound
|
||||
}
|
||||
|
||||
triggers, status := listByPrefix[datastore.Trigger](r.db, generateKey(resourceid.ResourceTypeTrigger, databaseId, collectionId, ""))
|
||||
prefix := generateKey(resourceid.ResourceTypeTrigger, databaseId, collectionId, "") + "/"
|
||||
triggers, status := listByPrefix[datastore.Trigger](r.db, prefix)
|
||||
if status == datastore.StatusOk {
|
||||
return triggers, datastore.StatusOk
|
||||
}
|
||||
|
@ -24,7 +24,8 @@ func (r *BadgerDataStore) GetAllUserDefinedFunctions(databaseId string, collecti
|
||||
return nil, datastore.StatusNotFound
|
||||
}
|
||||
|
||||
udfs, status := listByPrefix[datastore.UserDefinedFunction](r.db, generateKey(resourceid.ResourceTypeUserDefinedFunction, databaseId, collectionId, ""))
|
||||
prefix := generateKey(resourceid.ResourceTypeUserDefinedFunction, databaseId, collectionId, "") + "/"
|
||||
udfs, status := listByPrefix[datastore.UserDefinedFunction](r.db, prefix)
|
||||
if status == datastore.StatusOk {
|
||||
return udfs, datastore.StatusOk
|
||||
}
|
||||
|
Loading…
x
Reference in New Issue
Block a user