MCPcopy Create free account
hub / github.com/dolthub/doltgresql / nextEncoded

Method nextEncoded

postgres/parser/json/encoded.go:190–206  ·  view source on GitHub ↗
()

Source from the content-addressed store, hash-verified

188}
189
190func (e *encodedArrayIterator) nextEncoded() (nextJEntry jEntry, next []byte, ok bool, err error) {
191 if e.idx >= e.len {
192 return jEntry{}, nil, false, nil
193 }
194
195 // Recall the layout of an encoded array:
196 // [ container header ] [ all JEntries ] [ all values ]
197 nextJEntry, err = getJEntryAt(e.data, containerHeaderLen+e.idx*jEntryLen, e.curDataIdx)
198 if err != nil {
199 return jEntry{}, nil, false, err
200 }
201 nextLen := int(nextJEntry.length)
202 nextData := e.data[e.dataOffset+e.curDataIdx : e.dataOffset+e.curDataIdx+nextLen]
203 e.idx++
204 e.curDataIdx += nextLen
205 return nextJEntry, nextData, true, nil
206}
207
208// iterArrayValues iterates through all the values of an encoded array without
209// requiring decoding of all of them.

Callers 2

shallowDecodeMethod · 0.45
ExistsMethod · 0.45

Calls 1

getJEntryAtFunction · 0.85

Tested by

no test coverage detected