Comments (4)
Hi gadumitrachioaiei,
Our initial intent was to only support the most common MySQL constructs. However, we are revisiting that decision. So, it's possible that we may decide to go all the way.
Until then, you'll have to rewrite the queries to a syntax that we support.
If you're trying to reuse the parser for something else, you should be able to fork and add the necessary constructs.
Just to contrast, our sql.y has 990 lines, while https://github.com/twitter/mysql/blob/master/sql/sql_yacc.yy has 14K lines :).
The grammar we use has been heuristically simplified to cover a pretty wide range of what MySQL allows, while still remaining intuitively readable.
PS: Among your suggested constructs, you could easily convince me to extend our grammar to support ANY (and SOME).
The table alias for DMLs is also something that's relatively easy to add.
However, the JOIN on DMLs is something we probably can't support easily due to other dependencies with vitess.
from vitess.
@sougou Not allowing joins has been a (great) design goal of of vitess, AFAIR. Is this design goal still valid?
from vitess.
I'm not sure why you think joins are bad. Can you clarify?
from vitess.
Thanks for the explanations. I had the intention of using vitess only for parsing sql queries.
from vitess.
Related Issues (20)
- Vtgate returns the wrong type HOT 1
- Bug Report: `vtexplain` fails on sharded `UNION` queries containing `weight_string`
- Bug Report: `EXISTS` subqueries no longer apply `LIMIT 1`
- VReplication SwitchTraffic: backticks in sequence tables in vschema cause SwitchTraffic to error out
- multi-table join in sharded keyspace returns unexpected number of rows affected HOT 6
- Null Pointer Panic Due to Incorrect Nullability Assumptions for Columns from Outer Tables
- VDiff CLI: VDiff `show` displays vdiffs incorrectly when there are multiple vdiffs for a keyspace/workflow
- Release of `v20.0.0-RC2` HOT 1
- Test
- vtctld: infinite loop on "Found stream log for nonexistent stream" HOT 1
- Bug Report: Online DDL shadow table self referencing foreign keys should reference shadow table
- CI: test self referencing table in foreign key stress tests
- Bug Report: Unknown column in field list error for COUNT from subquery which includes ORDER BY, LIMIT, and OFFSET
- UNION with literals and grouping fails planning
- Online DDL: switch unique key and column logic to declarative `schemadiff` analysis
- Bug Report: `Group_concat` with separator crashes vtgate during planning
- Bug Report: `show vitess_migrations` not supported from inside a transaction HOT 2
- Feature Request: `txthrottler` to poll replication lag on `PRIMARY` only
- Investigate GOGC performance impact
- RFC: Atomic Distributed Transactions HOT 4
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 vitess.