Skip to main content
This action is irreversible. Proceed with caution.
Deletes the current index and all its associated data from the CyborgDB service.
func (e *EncryptedIndex) DeleteIndex(ctx context.Context) error

Parameters

ParameterTypeDescription
ctxcontext.ContextContext for cancellation and timeouts

Error Handling

  • Returns error if the API request fails due to network connectivity issues
  • Returns error if authentication fails (invalid API key)
  • Returns error if the encryption key is invalid for the specified index
  • Returns error if there are internal server errors during deletion
  • Returns error if the index does not exist
  • May return error if the index is currently being accessed by other operations

Example Usage

package main

import (
    "context"
    "encoding/hex"
    "fmt"
    "log"

    "github.com/cyborginc/cyborgdb-go"
)

func main() {
    client, err := cyborgdb.NewClient("http://localhost:8000", "your-api-key")
    if err != nil {
        log.Fatal(err)
    }

    // Load the index to be deleted
    indexKeyHex := "your-64-character-hex-key-here"
    indexKey, err := hex.DecodeString(indexKeyHex)
    if err != nil {
        log.Fatal(err)
    }

    index, err := client.LoadIndex(context.Background(), "index-to-delete", indexKey)
    if err != nil {
        log.Fatal(err)
    }

    // Permanently delete the entire index
    fmt.Printf("Deleting index: %s\n", index.GetIndexName())
    err = index.DeleteIndex(context.Background())
    if err != nil {
        log.Fatalf("Failed to delete index: %v", err)
    }

    fmt.Println("Index deleted successfully!")
    // The index handle is now invalid and should not be used
}