You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
First of all, I think it's a cool library! Thank you, guys, for releasing it!
There's just this minor problem with it. The README calls it a "data structure query language" and an "SQL constructor." It's referred to as a "DSL" and an "ORM" in the linked talks in Russian. However, I believe it's best described as an abstract syntax tree (AST). In fact, this representation of SQL as a tree composed of maps and vectors is pretty close to the actual parse tree used internally in PostgreSQL: https://github.com/pganalyze/libpg_query
I don't know about others, but it was hard for me at first to appreciate dsql, primarily because I couldn't understand what problem it solves. I thought, why would anyone need a DSL on top of SQL, which is already a DSL? And what's the point of yet another query language that translates to SQL but looks more cryptic than SQL? Turns out, it's just plain old SQL in the form of a syntax tree, and despite it being a bit hard to read, it's the best representation if you need to programmatically construct and modify your queries (or parts of them). It eventually clicked, but it took some effort. I think it could've been much easier if the library had a different name and description.
Another problem with the current name is that it's impossible to find on Google. Try searching "dsql" or even "clojure dsql"; it just doesn't show up.
I believe naming this library something like sql-tree, sql-syntax-tree, or sql-ast would be helpful for both discoverability and clarifying its purpose. What do you think?
The text was updated successfully, but these errors were encountered:
First of all, I think it's a cool library! Thank you, guys, for releasing it!
There's just this minor problem with it. The README calls it a "data structure query language" and an "SQL constructor." It's referred to as a "DSL" and an "ORM" in the linked talks in Russian. However, I believe it's best described as an abstract syntax tree (AST). In fact, this representation of SQL as a tree composed of maps and vectors is pretty close to the actual parse tree used internally in PostgreSQL: https://github.com/pganalyze/libpg_query
I don't know about others, but it was hard for me at first to appreciate dsql, primarily because I couldn't understand what problem it solves. I thought, why would anyone need a DSL on top of SQL, which is already a DSL? And what's the point of yet another query language that translates to SQL but looks more cryptic than SQL? Turns out, it's just plain old SQL in the form of a syntax tree, and despite it being a bit hard to read, it's the best representation if you need to programmatically construct and modify your queries (or parts of them). It eventually clicked, but it took some effort. I think it could've been much easier if the library had a different name and description.
Another problem with the current name is that it's impossible to find on Google. Try searching "dsql" or even "clojure dsql"; it just doesn't show up.
I believe naming this library something like sql-tree, sql-syntax-tree, or sql-ast would be helpful for both discoverability and clarifying its purpose. What do you think?
The text was updated successfully, but these errors were encountered: