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
|
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 {
|
if status == datastore.StatusOk {
|
||||||
return colls, datastore.StatusOk
|
return colls, datastore.StatusOk
|
||||||
}
|
}
|
||||||
@ -49,10 +50,10 @@ func (r *BadgerDataStore) DeleteCollection(databaseId string, collectionId strin
|
|||||||
defer txn.Discard()
|
defer txn.Discard()
|
||||||
|
|
||||||
prefixes := []string{
|
prefixes := []string{
|
||||||
generateKey(resourceid.ResourceTypeDocument, databaseId, collectionId, ""),
|
generateKey(resourceid.ResourceTypeDocument, databaseId, collectionId, "") + "/",
|
||||||
generateKey(resourceid.ResourceTypeTrigger, databaseId, collectionId, ""),
|
generateKey(resourceid.ResourceTypeTrigger, databaseId, collectionId, "") + "/",
|
||||||
generateKey(resourceid.ResourceTypeStoredProcedure, databaseId, collectionId, ""),
|
generateKey(resourceid.ResourceTypeStoredProcedure, databaseId, collectionId, "") + "/",
|
||||||
generateKey(resourceid.ResourceTypeUserDefinedFunction, databaseId, collectionId, ""),
|
generateKey(resourceid.ResourceTypeUserDefinedFunction, databaseId, collectionId, "") + "/",
|
||||||
collectionKey,
|
collectionKey,
|
||||||
}
|
}
|
||||||
for _, prefix := range prefixes {
|
for _, prefix := range prefixes {
|
||||||
|
@ -38,11 +38,11 @@ func (r *BadgerDataStore) DeleteDatabase(id string) datastore.DataStoreStatus {
|
|||||||
defer txn.Discard()
|
defer txn.Discard()
|
||||||
|
|
||||||
prefixes := []string{
|
prefixes := []string{
|
||||||
generateKey(resourceid.ResourceTypeCollection, id, "", ""),
|
generateKey(resourceid.ResourceTypeCollection, id, "", "") + "/",
|
||||||
generateKey(resourceid.ResourceTypeDocument, id, "", ""),
|
generateKey(resourceid.ResourceTypeDocument, id, "", "") + "/",
|
||||||
generateKey(resourceid.ResourceTypeTrigger, id, "", ""),
|
generateKey(resourceid.ResourceTypeTrigger, id, "", "") + "/",
|
||||||
generateKey(resourceid.ResourceTypeStoredProcedure, id, "", ""),
|
generateKey(resourceid.ResourceTypeStoredProcedure, id, "", "") + "/",
|
||||||
generateKey(resourceid.ResourceTypeUserDefinedFunction, id, "", ""),
|
generateKey(resourceid.ResourceTypeUserDefinedFunction, id, "", "") + "/",
|
||||||
databaseKey,
|
databaseKey,
|
||||||
}
|
}
|
||||||
for _, prefix := range prefixes {
|
for _, prefix := range prefixes {
|
||||||
|
@ -24,7 +24,8 @@ func (r *BadgerDataStore) GetAllDocuments(databaseId string, collectionId string
|
|||||||
return nil, datastore.StatusNotFound
|
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 {
|
if status == datastore.StatusOk {
|
||||||
return docs, datastore.StatusOk
|
return docs, datastore.StatusOk
|
||||||
}
|
}
|
||||||
@ -45,7 +46,8 @@ func (r *BadgerDataStore) GetDocumentIterator(databaseId string, collectionId st
|
|||||||
return nil, datastore.StatusNotFound
|
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
|
return iter, datastore.StatusOk
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -24,7 +24,8 @@ func (r *BadgerDataStore) GetAllStoredProcedures(databaseId string, collectionId
|
|||||||
return nil, datastore.StatusNotFound
|
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 {
|
if status == datastore.StatusOk {
|
||||||
return storedProcedures, datastore.StatusOk
|
return storedProcedures, datastore.StatusOk
|
||||||
}
|
}
|
||||||
|
@ -24,7 +24,8 @@ func (r *BadgerDataStore) GetAllTriggers(databaseId string, collectionId string)
|
|||||||
return nil, datastore.StatusNotFound
|
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 {
|
if status == datastore.StatusOk {
|
||||||
return triggers, datastore.StatusOk
|
return triggers, datastore.StatusOk
|
||||||
}
|
}
|
||||||
|
@ -24,7 +24,8 @@ func (r *BadgerDataStore) GetAllUserDefinedFunctions(databaseId string, collecti
|
|||||||
return nil, datastore.StatusNotFound
|
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 {
|
if status == datastore.StatusOk {
|
||||||
return udfs, datastore.StatusOk
|
return udfs, datastore.StatusOk
|
||||||
}
|
}
|
||||||
|
Loading…
x
Reference in New Issue
Block a user