Comments (5)
I've done some initial investigation and this seems to be a problem related to packet ordering. A temporary workaround is to use setTimeout(..., 500) in your select query and things will work as expected.
I'm looking into this now, it needs a proper fix in my module. It's still confusing why this particular example seems to trigger the problem while I've not seen it show up in any other test cases nor in production.
from mysql.
Ok, I have a better workaround. The problem is that you are executing two queries at once in your initial create table sql block and mysql is sending two ok packets for that. However, my client only expects on response so things go bad.
So all that is needed on your end is to make sure you don't issue several queries at once using a semicolon. This really shouldn't be a big problem in your code since all queries are queued by default anyway.
Nevertheless I think I'll try to add support for multiple queries within one query call.
--fg
from mysql.
Hi Felix,
Thanks for delving into this one! Separating statements is no biggie, so I'll just do that.
P.S. I know from experience splitting SQL statements is no walk in the park thanks to complicated escaping rules. Plan accordingly :-)
-jwr
from mysql.
Well, I'm not planning to analyze the sql string for multiple queries - that's asking for trouble. MySql gives every packet a number, and it is reset for each query (where combined queries are combined), so it would be possible to detect if one query is receiving more than one response.
For simple queries (INSERT, etc.), I could simply call the callback multiple times, but I'm not sure how to handle multiple selects (they need two query objects).
Before compromising on a leaky abstraction I'd probably throw an error if more than one response is received per query.
Will keep you posted.
from mysql.
Ah, cool. Thanks for the insight.
from mysql.
Related Issues (20)
- 腾讯云系统centos7.2安装mysql失败,怎么办麽、 HOT 1
- Error connecting to Aurora DB using the "Amazon RDS" profile HOT 4
- mysql.createPool transaction with loop HOT 1
- Error: ER_NOT_SUPPORTED_AUTH_MODE: Client does not support authentication protocol requested by server; consider upgrading MySQL client HOT 1
- How to catch ER_BAD_FIELD_ERROR HOT 2
- Missing information in Documentation HOT 1
- Multiple insert using array notation HOT 1
- Uncaught exception for "Connection lost: The server closed the connection." HOT 3
- Node 17.4, MySQL Server 8.0, Mac OS Monterey, ECONNREFUSED with error code -61, ::1:3306 HOT 5
- breaks scope HOT 3
- Supported MySQL Versions HOT 2
- readable stream does not seem to support readableLength property HOT 14
- Question - Get query of row HOT 2
- Write cluster failover, pool stuck with read-only cluster HOT 1
- The correct table name when creating the table, with an error: ER_WRONG_TABLE_NAME. HOT 4
- Better type casting of BIT values HOT 3
- the connection string is parsed wrongly HOT 1
- Updating URL parsing to WHATWG URL HOT 2
- RangeError: The value of "offset" is out of range. It must be >= 0 and <= 5254. Received 5261
- getConnection always get timed out
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 mysql.