Revert "scorch zap getField() which panics if the field is unknown"
This reverts commit 85b4a31e2a
.
This commit is contained in:
parent
844845b5d2
commit
0e3c57c465
|
@ -17,7 +17,6 @@ package zap
|
||||||
import (
|
import (
|
||||||
"bytes"
|
"bytes"
|
||||||
"encoding/binary"
|
"encoding/binary"
|
||||||
"fmt"
|
|
||||||
"math"
|
"math"
|
||||||
"sort"
|
"sort"
|
||||||
"sync"
|
"sync"
|
||||||
|
@ -289,16 +288,6 @@ func (s *interim) getOrDefineField(fieldName string) int {
|
||||||
return int(fieldIDPlus1 - 1)
|
return int(fieldIDPlus1 - 1)
|
||||||
}
|
}
|
||||||
|
|
||||||
// the fieldName must be for a known field
|
|
||||||
func (s *interim) getField(fieldName string) int {
|
|
||||||
fieldIDPlus1, exists := s.FieldsMap[fieldName]
|
|
||||||
if !exists || fieldIDPlus1 <= 0 {
|
|
||||||
panic(fmt.Sprintf("getField saw unknown fieldName: %s, fieldsMap: %#v",
|
|
||||||
fieldName, s.FieldsMap))
|
|
||||||
}
|
|
||||||
return int(fieldIDPlus1 - 1)
|
|
||||||
}
|
|
||||||
|
|
||||||
// fill Dicts and DictKeys from analysis results
|
// fill Dicts and DictKeys from analysis results
|
||||||
func (s *interim) prepareDicts() {
|
func (s *interim) prepareDicts() {
|
||||||
var pidNext int
|
var pidNext int
|
||||||
|
@ -339,14 +328,14 @@ func (s *interim) prepareDicts() {
|
||||||
for _, result := range s.results {
|
for _, result := range s.results {
|
||||||
// walk each composite field
|
// walk each composite field
|
||||||
for _, field := range result.Document.CompositeFields {
|
for _, field := range result.Document.CompositeFields {
|
||||||
fieldID := uint16(s.getField(field.Name()))
|
fieldID := uint16(s.getOrDefineField(field.Name()))
|
||||||
_, tf := field.Analyze()
|
_, tf := field.Analyze()
|
||||||
visitField(fieldID, tf)
|
visitField(fieldID, tf)
|
||||||
}
|
}
|
||||||
|
|
||||||
// walk each field
|
// walk each field
|
||||||
for i, field := range result.Document.Fields {
|
for i, field := range result.Document.Fields {
|
||||||
fieldID := uint16(s.getField(field.Name()))
|
fieldID := uint16(s.getOrDefineField(field.Name()))
|
||||||
tf := result.Analyzed[i]
|
tf := result.Analyzed[i]
|
||||||
visitField(fieldID, tf)
|
visitField(fieldID, tf)
|
||||||
}
|
}
|
||||||
|
@ -450,14 +439,14 @@ func (s *interim) processDocument(docNum uint64,
|
||||||
|
|
||||||
// walk each composite field
|
// walk each composite field
|
||||||
for _, field := range result.Document.CompositeFields {
|
for _, field := range result.Document.CompositeFields {
|
||||||
fieldID := uint16(s.getField(field.Name()))
|
fieldID := uint16(s.getOrDefineField(field.Name()))
|
||||||
ln, tf := field.Analyze()
|
ln, tf := field.Analyze()
|
||||||
visitField(fieldID, field.Name(), ln, tf)
|
visitField(fieldID, field.Name(), ln, tf)
|
||||||
}
|
}
|
||||||
|
|
||||||
// walk each field
|
// walk each field
|
||||||
for i, field := range result.Document.Fields {
|
for i, field := range result.Document.Fields {
|
||||||
fieldID := uint16(s.getField(field.Name()))
|
fieldID := uint16(s.getOrDefineField(field.Name()))
|
||||||
ln := result.Length[i]
|
ln := result.Length[i]
|
||||||
tf := result.Analyzed[i]
|
tf := result.Analyzed[i]
|
||||||
visitField(fieldID, field.Name(), ln, tf)
|
visitField(fieldID, field.Name(), ln, tf)
|
||||||
|
@ -488,7 +477,7 @@ func (s *interim) processDocument(docNum uint64,
|
||||||
for _, loc := range tf.Locations {
|
for _, loc := range tf.Locations {
|
||||||
var locf = uint16(fieldID)
|
var locf = uint16(fieldID)
|
||||||
if loc.Field != "" {
|
if loc.Field != "" {
|
||||||
locf = uint16(s.getField(loc.Field))
|
locf = uint16(s.getOrDefineField(loc.Field))
|
||||||
}
|
}
|
||||||
var arrayposs []uint64
|
var arrayposs []uint64
|
||||||
if len(loc.ArrayPositions) > 0 {
|
if len(loc.ArrayPositions) > 0 {
|
||||||
|
@ -528,7 +517,7 @@ func (s *interim) writeStoredFields() (
|
||||||
}
|
}
|
||||||
|
|
||||||
for _, field := range result.Document.Fields {
|
for _, field := range result.Document.Fields {
|
||||||
fieldID := uint16(s.getField(field.Name()))
|
fieldID := uint16(s.getOrDefineField(field.Name()))
|
||||||
|
|
||||||
opts := field.Options()
|
opts := field.Options()
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue