Check all return errors
- Fix the following errors found by errcheck : $ bleve git:(master) errcheck github.com/blevesearch/bleve github.com/blevesearch/bleve/index_impl.go:206:25 defer indexReader.Close() github.com/blevesearch/bleve/index_impl.go:317:25 defer indexReader.Close() github.com/blevesearch/bleve/index_impl.go:353:25 defer indexReader.Close() github.com/blevesearch/bleve/index_impl.go:359:22 defer searcher.Close() github.com/blevesearch/bleve/index_impl.go:497:25 defer indexReader.Close() github.com/blevesearch/bleve/index_impl.go:644:20 defer reader.Close() github.com/blevesearch/bleve/index_meta.go:67:27 defer indexMetaFile.Close()
This commit is contained in:
parent
522f9d5cc7
commit
93e749bc0c
|
@ -155,13 +155,13 @@ func newIndexUsing(path string, mapping *IndexMapping, kvstore string, kvconfig
|
|||
return &rv, nil
|
||||
}
|
||||
|
||||
func openIndexUsing(path string, runtimeConfig map[string]interface{}) (*indexImpl, error) {
|
||||
func openIndexUsing(path string, runtimeConfig map[string]interface{}) (rv *indexImpl, err error) {
|
||||
|
||||
rv := indexImpl{
|
||||
rv = &indexImpl{
|
||||
path: path,
|
||||
stats: &IndexStat{},
|
||||
}
|
||||
var err error
|
||||
|
||||
rv.meta, err = openIndexMeta(path)
|
||||
if err != nil {
|
||||
return nil, err
|
||||
|
@ -203,7 +203,12 @@ func openIndexUsing(path string, runtimeConfig map[string]interface{}) (*indexIm
|
|||
if err != nil {
|
||||
return nil, err
|
||||
}
|
||||
defer indexReader.Close()
|
||||
defer func() {
|
||||
if cerr := indexReader.Close(); cerr != nil && err == nil {
|
||||
err = cerr
|
||||
}
|
||||
}()
|
||||
|
||||
mappingBytes, err := indexReader.GetInternal(mappingInternalKey)
|
||||
if err != nil {
|
||||
return nil, err
|
||||
|
@ -225,11 +230,11 @@ func openIndexUsing(path string, runtimeConfig map[string]interface{}) (*indexIm
|
|||
if err != nil {
|
||||
// note even if the mapping is invalid
|
||||
// we still return an open usable index
|
||||
return &rv, err
|
||||
return rv, err
|
||||
}
|
||||
|
||||
rv.m = &im
|
||||
return &rv, nil
|
||||
return rv, err
|
||||
}
|
||||
|
||||
// Advanced returns implementation internals
|
||||
|
@ -303,7 +308,7 @@ func (i *indexImpl) Batch(b *Batch) error {
|
|||
// stored fields for a document in the index. These
|
||||
// stored fields are put back into a Document object
|
||||
// and returned.
|
||||
func (i *indexImpl) Document(id string) (*document.Document, error) {
|
||||
func (i *indexImpl) Document(id string) (doc *document.Document, err error) {
|
||||
i.mutex.RLock()
|
||||
defer i.mutex.RUnlock()
|
||||
|
||||
|
@ -314,8 +319,17 @@ func (i *indexImpl) Document(id string) (*document.Document, error) {
|
|||
if err != nil {
|
||||
return nil, err
|
||||
}
|
||||
defer indexReader.Close()
|
||||
return indexReader.Document(id)
|
||||
defer func() {
|
||||
if cerr := indexReader.Close(); err == nil && cerr != nil {
|
||||
err = cerr
|
||||
}
|
||||
}()
|
||||
|
||||
doc, err = indexReader.Document(id)
|
||||
if err != nil {
|
||||
return nil, err
|
||||
}
|
||||
return doc, nil
|
||||
}
|
||||
|
||||
// DocCount returns the number of documents in the
|
||||
|
@ -333,7 +347,7 @@ func (i *indexImpl) DocCount() (uint64, error) {
|
|||
|
||||
// Search executes a search request operation.
|
||||
// Returns a SearchResult object or an error.
|
||||
func (i *indexImpl) Search(req *SearchRequest) (*SearchResult, error) {
|
||||
func (i *indexImpl) Search(req *SearchRequest) (sr *SearchResult, err error) {
|
||||
i.mutex.RLock()
|
||||
defer i.mutex.RUnlock()
|
||||
|
||||
|
@ -350,13 +364,21 @@ func (i *indexImpl) Search(req *SearchRequest) (*SearchResult, error) {
|
|||
if err != nil {
|
||||
return nil, fmt.Errorf("error opening index reader %v", err)
|
||||
}
|
||||
defer indexReader.Close()
|
||||
defer func() {
|
||||
if cerr := indexReader.Close(); err == nil && cerr != nil {
|
||||
err = cerr
|
||||
}
|
||||
}()
|
||||
|
||||
searcher, err := req.Query.Searcher(indexReader, i.m, req.Explain)
|
||||
if err != nil {
|
||||
return nil, err
|
||||
}
|
||||
defer searcher.Close()
|
||||
defer func() {
|
||||
if serr := searcher.Close(); err == nil && serr != nil {
|
||||
err = serr
|
||||
}
|
||||
}()
|
||||
|
||||
if req.Facets != nil {
|
||||
facetsBuilder := search.NewFacetsBuilder(indexReader)
|
||||
|
@ -482,7 +504,7 @@ func (i *indexImpl) Search(req *SearchRequest) (*SearchResult, error) {
|
|||
|
||||
// Fields returns the name of all the fields this
|
||||
// Index has operated on.
|
||||
func (i *indexImpl) Fields() ([]string, error) {
|
||||
func (i *indexImpl) Fields() (fields []string, err error) {
|
||||
i.mutex.RLock()
|
||||
defer i.mutex.RUnlock()
|
||||
|
||||
|
@ -494,8 +516,17 @@ func (i *indexImpl) Fields() ([]string, error) {
|
|||
if err != nil {
|
||||
return nil, err
|
||||
}
|
||||
defer indexReader.Close()
|
||||
return indexReader.Fields()
|
||||
defer func() {
|
||||
if cerr := indexReader.Close(); err == nil && cerr != nil {
|
||||
err = cerr
|
||||
}
|
||||
}()
|
||||
|
||||
fields, err = indexReader.Fields()
|
||||
if err != nil {
|
||||
return nil, err
|
||||
}
|
||||
return fields, nil
|
||||
}
|
||||
|
||||
func (i *indexImpl) FieldDict(field string) (index.FieldDict, error) {
|
||||
|
@ -633,7 +664,7 @@ func (i *indexImpl) Stats() *IndexStat {
|
|||
return i.stats
|
||||
}
|
||||
|
||||
func (i *indexImpl) GetInternal(key []byte) ([]byte, error) {
|
||||
func (i *indexImpl) GetInternal(key []byte) (val []byte, err error) {
|
||||
i.mutex.RLock()
|
||||
defer i.mutex.RUnlock()
|
||||
|
||||
|
@ -641,9 +672,17 @@ func (i *indexImpl) GetInternal(key []byte) ([]byte, error) {
|
|||
if err != nil {
|
||||
return nil, err
|
||||
}
|
||||
defer reader.Close()
|
||||
defer func() {
|
||||
if cerr := reader.Close(); err == nil && cerr != nil {
|
||||
err = cerr
|
||||
}
|
||||
}()
|
||||
|
||||
return reader.GetInternal(key)
|
||||
val, err = reader.GetInternal(key)
|
||||
if err != nil {
|
||||
return nil, err
|
||||
}
|
||||
return val, nil
|
||||
}
|
||||
|
||||
func (i *indexImpl) SetInternal(key, val []byte) error {
|
||||
|
|
|
@ -46,10 +46,10 @@ func openIndexMeta(path string) (*indexMeta, error) {
|
|||
return &im, nil
|
||||
}
|
||||
|
||||
func (i *indexMeta) Save(path string) error {
|
||||
func (i *indexMeta) Save(path string) (err error) {
|
||||
indexMetaPath := indexMetaPath(path)
|
||||
// ensure any necessary parent directories exist
|
||||
err := os.Mkdir(path, 0700)
|
||||
err = os.Mkdir(path, 0700)
|
||||
if err != nil {
|
||||
return ErrorIndexPathExists
|
||||
}
|
||||
|
@ -64,7 +64,11 @@ func (i *indexMeta) Save(path string) error {
|
|||
}
|
||||
return err
|
||||
}
|
||||
defer indexMetaFile.Close()
|
||||
defer func() {
|
||||
if ierr := indexMetaFile.Close(); err == nil && ierr != nil {
|
||||
err = ierr
|
||||
}
|
||||
}()
|
||||
_, err = indexMetaFile.Write(metaBytes)
|
||||
if err != nil {
|
||||
return err
|
||||
|
|
Loading…
Reference in New Issue