Comments (3)
changing
{13, auth_plugin_data_length - 8}.max - 1]
to
auth_plugin_data_length < 22 ? 12 : (auth_plugin_data_length - 9)
should be sign-safe.
or changing auth_plugin_data_length
to auth_plugin_data_length.to_i16
(or to_i32
) should be enough since auth_plugin_data_length is UInt8
.
There is no further reason than trying to implement the internals of mysql protocol. And, as you see there are chances to miss some details :-(. Thanks for jumping in crystal-mysql!
If the latest proposal work feel free to submit a PR. :-)
from crystal-mysql.
I've been having fun exploring Crystal more and more, and it's awesome to see all the work you have put in! And I'm all for implementing internal protocols. No better way to learn what's happening under the hood. See PR #4 hopefully working around this issue.
from crystal-mysql.
PR merged at 6db306e.
I had fun with mysql internals too.
There are plenty of things pending to be implemented. And we try to move forward crystal-db family all together, but feel free to collaborate with the missing parts you come across. Some parts might be worth a discussion towards a general api though.
Thanks for the charming words 💚
from crystal-mysql.
Related Issues (20)
- Unexpected EOF on ubuntu aarch64 HOT 2
- Generic `Exception`s raised in `MySql::Connection` HOT 6
- packet 254 not implemented -- still struggling with
- Release a new version HOT 2
- Crystal 0.24 HOT 4
- call Store procedure HOT 1
- "Client does not support authentication protocol requested by server; consider upgrading MySQL client (Exception)" HOT 7
- BINARY and VARBINARY columns can only be read as string
- connection failure to mysql 8 HOT 11
- how to connect to mysql via unix_socket?
- Support JSON data type
- Register custom decoder? HOT 2
- Inconsistent return value types HOT 2
- Add support for bit(1) reading
- values of UInt8 data types get converted to 125 HOT 8
- Cannot read query_one result as Bool HOT 4
- Shards Issue : install does not work HOT 6
- Release 0.8.0 missing HOT 1
- Missing block in decl_type *Blob ?
- Support for MariaDB? HOT 3
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 crystal-mysql.