MCPcopy Create free account
hub / github.com/auxten/postgresql-parser / decodeSmallNumber

Function decodeSmallNumber

pkg/util/encoding/decimal.go:398–431  ·  view source on GitHub ↗
(
	negative bool, buf []byte, tmp []byte,
)

Source from the content-addressed store, hash-verified

396}
397
398func decodeSmallNumber(
399 negative bool, buf []byte, tmp []byte,
400) (e int, m []byte, rest []byte, newTmp []byte, err error) {
401 var ex uint64
402 var r []byte
403 if negative {
404 r, ex, err = DecodeUvarintAscending(buf[1:])
405 } else {
406 r, ex, err = DecodeUvarintDescending(buf[1:])
407 }
408 if err != nil {
409 return 0, nil, nil, nil, err
410 }
411
412 idx, err := findDecimalTerminator(r)
413 if err != nil {
414 return 0, nil, nil, nil, err
415 }
416
417 m = r[:idx]
418 if negative {
419 var mCpy []byte
420 if k := len(m); k <= len(tmp) {
421 mCpy = tmp[:k]
422 tmp = tmp[k:]
423 } else {
424 mCpy = make([]byte, k)
425 }
426 copy(mCpy, m)
427 onesComplement(mCpy)
428 m = mCpy
429 }
430 return int(-ex), m, r[idx+1:], tmp, nil
431}
432
433func decodeMediumNumber(
434 negative bool, buf []byte, tmp []byte,

Callers 1

decodeDecimalFunction · 0.85

Calls 4

DecodeUvarintAscendingFunction · 0.85
DecodeUvarintDescendingFunction · 0.85
findDecimalTerminatorFunction · 0.85
onesComplementFunction · 0.70

Tested by

no test coverage detected

Used in the wild real call sites across dependent graphs

searching dependent graphs…