[BUG] Decode nested Spanner numeric values consistently across result paths
Nessuno ha ancora preso questa issue.
Valutazione
- Difficoltà
- 4/5
- Tempo stimato
- 3-5 giorni
- Idoneità per principianti
- 52/100
Direzione di ricerca
Traccia il percorso di lettura puntuale di Spanner, il percorso delle query portabili e la conversione del change-feed, usando l’audit numerico di #105 e il contratto numerico portabile condiviso come punti di partenza. Verifica come vengono decodificati gli oggetti annidati e gli array, quindi esegui o aggiungi test del provider e di conformità che confrontino tutti e tre i percorsi; il lavoro è completato quando i valori numerici sono equivalenti e le stringhe letterali simili a marker rimangono invariate.
Scritto dal modello di indicizzazione a partire dal testo della issue.
Descrizione
Bug description
Spanner's document representation uses typed string markers for values that cannot be represented directly by the selected Spanner schema. Nested numeric values are not decoded symmetrically on every result path: query results can conflict with the string-marker representation, and change-feed conversion does not recursively restore marker-backed values inside objects and arrays.
This is an existing Spanner read/query/change-feed concern discovered during the numeric audit for #105; it is not caused by partial update.
Provider
- Azure Cosmos DB
- Amazon DynamoDB
- Google Cloud Spanner
- Not provider-specific
Reproduction steps
- Store a document containing numeric values nested inside an object and an array.
- Read it through the normal point-read path, a portable query, and change feed.
- Compare both the values and Jackson node types returned by each path.
Expected behaviour
All Spanner result paths recursively decode the storage representation and return equivalent nested numeric values according to the portable numeric contract.
Actual behaviour
Nested values can remain marker strings or be exposed with a different representation depending on the result path.
Acceptance criteria
- Point read, query, and change feed share one recursive marker decoder.
- Nested objects and arrays preserve positive/negative integral and decimal values.
- Literal user strings that resemble a marker cannot be mis-decoded.
- Provider and conformance tests compare identical nested results across all three paths.
- The behavior is documented consistently with the shared portable numeric contract.
Additional context
Related umbrella issues: #37 and #64.
- Lingua principale
- Java
- Stelle
- 7
- Fork
- 7
- Merge medio
- 1g 19h
- PR unite (30g)
- 3
Preparare l'ambiente
- Nessun Dockerfile né file Docker Compose
- Ha un modello di pull request
- Leggi la guida per i contributori
Come iniziare
- Leggi tutta la issue e poi la guida ai contributi del progetto.
- Commenta sulla issue per dire che te ne occupi tu — evita che due persone facciano lo stesso lavoro.
- Fai un fork del repository e lavora su un branch.
- Apri una pull request che faccia riferimento al numero della issue.
Altre issue di microsoft/multiclouddb-sdk-for-java
-
Portable document key fields differ across Cosmos/Dynamo and read/query (id vs sortKey)Forse già presa @allenkim0129 l’ha presa 16 giorni fa. Aperta
microsoft/multiclouddb-sdk-for-java#121 · 1 assegnatario ·
-
Difficoltà 5/5 Più di una settimana Idoneità per principianti 25/100
-
Difficoltà 5/5 Più di una settimana Idoneità per principianti 35/100
-
Difficoltà 5/5 Più di una settimana Idoneità per principianti 25/100
-
Difficoltà 5/5 Più di una settimana Idoneità per principianti 28/100
Tutte le issue di microsoft/multiclouddb-sdk-for-java
Issue simili
-
ChaosEngine: backup-remote doctor row passes while consumer mode hides bot memory from gitForse già presa @MohabMohie l’ha presa oggi. Apertaagentic
Difficoltà 2/5 1-3 ore Idoneità per principianti 76/100
ShaftHQ/SHAFT_ENGINE#7263 ·
I maintainer di solito rispondono entro 1 giorno
-
bug/错误
Difficoltà 2/5 1-3 ore Idoneità per principianti 72/100
FCL-Team/FoldCraftLauncher#1951 ·
I maintainer di solito rispondono entro 4 giorni
-
Difficoltà 1/5 Meno di un'ora Idoneità per principianti 68/100
quarkusio/quarkus-agent-mcp#296 ·
I maintainer di solito rispondono entro 1 giorno
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 68/100
commons-app/apps-android-commons#7072 ·
I maintainer di solito rispondono entro 1 giorno
-
Type: Bug
Difficoltà 2/5 1-3 ore Idoneità per principianti 65/100
hypherionmc/sdlink#240 ·