- शिप
- 27 अगस्त 2026 को 3:42 pm बजे UTC
- लेखक
- Kamo
- Commit
- ddab3e3
`commerce vendors.uid` is `INT8 DEFAULT unique rowid()` -- लगभग 19 अंक, जहां `Number. Max SAFE INTEGER` में सोलह है। उस आकार का एक संख्यात्मक आईडी एक है एक ब्राउज़र में IEEE-754 डबल और `JSON.parse` किसी भी क्लाइंट कोड से पहले इसे राउंड करता है रन, इसलिए आईडी एक विक्रेता को नाम देता है जो मौजूद नहीं है और पिकर जो संलग्न होता है एक काम के आदेश पर विक्रेता कोई भी संलग्न नहीं है, 400 के साथ जो एक बग की तरह पढ़ता है टैब। कुछ भी पक्ष में नहीं फेंकता। सुरक्षा सेवा ने पहले से ही एक आउट-ऑफ-रेंज 'लांग' को उद्धृत किया -- `JsSafeLongSerializer`, MVC संदेश कन्वर्टर्स के लिए दायर की गई है `HttpWireJacksonConfig`, जानबूझकर वैश्विक नहीं है क्योंकि इसे इस पर दर्ज करना साझा मानचित्रकार *** सत्र ids को वर्गीकृत करता है और 401 प्लेटफॉर्म-व्यापी उत्तर देता है। इसलिए एक वास्तविक विक्रेता आईडी ब्राउज़र को बरकरार रखता है। क्या है कि सीरियलाइज़र नहीं कर सकता देना एक * स्थिर * प्रकार है: इसका नियम मूल्य से है, इसलिए 19-अंक आईडी एक JSON था स्ट्रिंग और एक हैंड-सीड 3-अंक एक JSON संख्या, उसी क्षेत्र में, एक ही क्षेत्र में समान प्रतिक्रिया। `posApi.Vendor` ने `uid: number` घोषित किया और इसके बारे में गलत बताया गया। उत्पादन पंक्तियों और सही परीक्षण पंक्तियों के बारे में, जो दोनों का सबसे बुरा है। इसलिए `VendorDTO` इसके तीन ids `String` प्रकार और `toVendorDTO` उन्हें स्ट्रिंग करता है। नियम `serviceJobApi` और `serviceTaskBookApi` पहले से ही राज्य है। उत्तर है अब हर पंक्ति और हर मूल्य के लिए समान है, जो एक ग्राहक को घोषणा करने देता है सभी पर क्षेत्र। `idOrNull` एक अनुपस्थित आईडी null रखता है, बजाय भेजने के लिए चार अक्षर "null", जो एक नंगे 'String.valueOf' होगा। `Vendor.uid` एक `long` प्राथमिक कुंजी रखता है और `POSController`'s `@PathVariable Long id` अभी भी बांधता है - स्प्रिंग उद्धृत पूर्णांक को परिवर्तित करता है जैसा कि इसने नंगे को परिवर्तित किया। यह एक वायर-फॉर्मैट बदलाव है, कोई डीडीएल नहीं है। `VendorWireContract टेस्ट 'इसे पिन करें, जिसमें आधे मूल्य-रेंज सीरियलाइज़र शामिल हैं गलत हो जाता है: एक * छोटा * आईडी भी उद्धृत किया जाता है।.