Comments (2)
The issue is actually deeper: the code does not do what its comments describe, on both NULL values, empty strings and empty byte slices. The comments say "if an empty UUID comes from a table, we return a null UUID", but actually what happens is:
- Scan returns a nil error (not a null UUID)
- Scan leaves the receiver unchanged instead of setting it to
uuid.Nil
as return a null UUID should probably be interpreted
See https://github.com/google/uuid/blob/v1.3.0/sql.go#L17. for details.
Sample program showing the issue (bug ?) https://go.dev/play/p/EzXldTzj4X_u. Run it locally: playground does not support CGO.
Release 1.3.0 introduced the uuid.Valid
field partly for such cases, but that field is not actually used. Maybe the changes to sql.go
which used that new feature were not committed when building the release ?
from uuid.
Thank you for this repository code. Me and my team leader are using this to make our recipe blog project for college a whole lot smoother.
from uuid.
Related Issues (20)
- Reference implementaiton for UUID v8 HOT 2
- Is there a method to generate empty UUID v4? HOT 2
- UUID with repeat ending HOT 2
- [Documentation] uuid.Nil is not documented properly
- `IsZero()` and `ToNullUUID` Helper Functions HOT 2
- panic: uuid: Parse(): invalid UUID length: 0 HOT 3
- Should uuid.Nil marshal to null instead of all zeroes HOT 5
- Make uuid.Nil and other values as a constant HOT 1
- Cannot get the package, connection refused
- uuid.Parse allows invalid UUID's HOT 2
- recommended to add uuid v6 and v7 support HOT 1
- Validate UUID without creating UUID (and underlying byte array)
- Limit permissions for github workflows
- uuid.Parse Function Does Not Handle Leading/Trailing Spaces in UUIDs HOT 2
- Monotonicity in UUIDv7 HOT 2
- proposal: add func uuid.Compare(a, b UUID) int HOT 4
- Incorrect uuidv6 implementation HOT 1
- uuid.Parse function does not handle empty string HOT 3
- uuid.NewString use UUID v7 instead of v4 HOT 6
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from uuid.