-
Notifications
You must be signed in to change notification settings - Fork 222
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Fill out stdlib #217
Comments
The problem here is that different dialects have different functions (see datetime and such). I tried to find SQL standard (ISO/IEC 9075) in the parts of the standard I manged to find there was no mentions of functions like CONCAT. This leads me to think there is no explicit standard... @qorrect @max-sixty For dialect specific stdlib, we can extract list of all function from docs (or even source code?), as said in #301. |
The best reference I can find is http://users.atw.hu/sqlnut/sqlnut2-chp-4-sect-4.html, but it doesn't strictly give ANSI functions. There's also http://www.contrib.andrew.cmu.edu/~shadow/sql/sql1992.txt, but that only seems to give 5 functions!
So possibly there isn't a way of doing this systematically and we should just build out the functions that people want, maybe with something like Postgres' manual as a guide... |
Ah, it's possible to buy (?!): https://www.iso.org/standard/63555.html There are also lists of "Reserved words": https://en.wikipedia.org/wiki/SQL_reserved_words, but that's a large superset of functions |
The two links you've sent are quite old and they don't seem exhaustive, but may serve as a checklist of things to add. 9075 has 11 parts (9075-1, 9075-2, 9075-3, ...). I don't know which (if any) contains a list of functions, since I've only managed to get my hands on 9075-1. Possibly, we may be able to find it in genesis library, but I cannot comment on that :D It seems like scraping docs of postres would be the most efficient way of doing this... |
I purchased the ISO Spec (and sent it on Discord in case you're interested) — but it doesn't even have functions! And I couldn't get from the titles of the other 14. What's the genesis library? Agree that postgres is probably the best path1 |
Something that might be clever or might be a recipe for confusion: Translate every On the upside, it basically gives us every stdlib function for free. On the downside, it's difficult to rollback (it's very pervasive), and it could lead to quite confusing errors. |
Oh no, that would cause a lot of problems I think... An interesting idea, but for now, I believe it is safer refer to s-string for anything that's not yet in stdlib... |
Furthmore the stdlib is not documented. #1761 |
We have a stdlib, written by @qorrect , which provides some standard functions by using s-strings.
We could fill this out with some more standard functions — e.g.
EXP
,MOD
, string functions, etc.Possibly there is even a definition of these somewhere?
The text was updated successfully, but these errors were encountered: