From 8f236b5a8a4df7d1f527c5f4f987261f1d0ff859 Mon Sep 17 00:00:00 2001 From: Lion Date: Wed, 20 Jul 2022 16:24:21 +0800 Subject: [PATCH] auto close the handle after buffer loaded --- binding/golang/xdb/util.go | 24 +++++++++++++++++++++--- 1 file changed, 21 insertions(+), 3 deletions(-) diff --git a/binding/golang/xdb/util.go b/binding/golang/xdb/util.go index 7cb4cb9..bd9e317 100644 --- a/binding/golang/xdb/util.go +++ b/binding/golang/xdb/util.go @@ -76,7 +76,13 @@ func LoadHeaderFromFile(dbFile string) (*Header, error) { return nil, fmt.Errorf("open xdb file `%s`: %w", dbFile, err) } - return LoadHeader(handle) + header, err := LoadHeader(handle) + if err != nil { + return nil, err + } + + _ = handle.Close() + return header, nil } // LoadHeaderFromBuff wrap the header info from the content buffer @@ -112,7 +118,13 @@ func LoadVectorIndexFromFile(dbFile string) ([]byte, error) { return nil, fmt.Errorf("open xdb file `%s`: %w", dbFile, err) } - return LoadVectorIndex(handle) + vIndex, err := LoadVectorIndex(handle) + if err != nil { + return nil, err + } + + _ = handle.Close() + return vIndex, nil } // LoadContent load the whole xdb content from the specified file handle @@ -151,5 +163,11 @@ func LoadContentFromFile(dbFile string) ([]byte, error) { return nil, fmt.Errorf("open xdb file `%s`: %w", dbFile, err) } - return LoadContent(handle) + cBuff, err := LoadContent(handle) + if err != nil { + return nil, err + } + + _ = handle.Close() + return cBuff, nil } -- GitLab