-
Notifications
You must be signed in to change notification settings - Fork 51
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
PRQL-based models #173
Comments
PRQL is rust so you could maybe pull it in as a library? See the work done for PRQL DBT integration here: https://github.com/prql/dbt-prql |
Hi from the PRQL team!
Yes this indeed would be quite a simple addition given quary is in rust. (dbt-prql isn't the best example, since that's doing a lot of hackery in python since dbt doesn't have a proper plugin system. The integration in |
Hey @max-sixty, Yep, we see no reason why it would be difficult to integrate. It should all compile nicely into our Rust binaries/WASM. We're slightly more concerned about the user experience, complexity, maintainability burden "other non-technical aspets". I've added a few questions in the initial issue that I can try to answer over time and can start answering them. |
Great, the questions look very reasonable. I won't attempt to address them all but a couple of thoughts:
You could run the PRQL through a jinja template before passing it to the compiler. Though if you prefer to get the SQL with the templating, PRQL should pass through Jinja templates — because we originally implemented this for dbt. It's not really used, and there have been suggestions to remove it, but we could keep it if there were demand. (I'd probably want to confirm it's still running well before depending on it, let us know)
We don't have an LSP at the moment. It's probably a project after the next big project of rewriting the resolver. I'm quite keen to do this, since one of the original benefits of PRQL was that autocomplete could be much better than with SQL
I would think it's fine to just be on latest
We're big fans of Malloy too! One thing to consider is that a big part of Malloy's innovation is to manage the full project, plausibly as a replacement for something like dbt. Whereas PRQL's innovation is predominantly around the relational language, and currently needs a "project manager" like dbt / quary to be run across a large project. |
IIUC, that feature has been removed. |
OK thanks, sounds like we did remove it. If this is important for quary, we could come up with something... |
Background
PRQL is a modern language for transforming data. It overcomes lot's of the shortcomings of SQL for pipeline design.
The pipeline nature of the language would make it a lovely fit for refactoring models because you essentially can take subsections.
Proposal
Questions still needing to be answered:
Major:
Minor:
Nit:
Abandoned Ideas
Sections
Implementation
UX
The text was updated successfully, but these errors were encountered: