4 ms·
- PRQL is focused on analytical queries and it does not support DML (yet at least, see https://github.com/PRQL/prql/issues/1092 https://github.com/PRQL/prql/iss
by aerzen 4y ago
- PRQL is focused on analytical queries and it does not support DML (yet at least, see https://github.com/PRQL/prql/issues/1092 https://github.com/PRQL/prql/issues/1092). Thus there is no UPDATE or "upsert"
- What is merge? How is it different from join? How is it different from union?
- SQL does define `information_schema`, which can be used to list tables and columns. We had ideas about introspection and listing tables, but this is not on the roadmap yet. A probable outcome here will be improvements to tooling so you will be able to find tables via autocomplete (LSP).
- There are no plans for EXPLAIN
- dinedal 4y ago> What is merge? How is it different from join? How is it different from union? I believe the author is referencing https://www.essentialsql.com/difference-merge-update/ https://www.essentialsql.com/difference-merge-update/ - which you answered in your first point. There's no UPDATE support yet, therefore there's no MERGE support yet.
- thwd 4y agoMerging as a one-keyword feature for all flavors of SQL is almost impossible. It gets hairy when you have columns with composite types. E.g. depending on database, records can be JSON objects, protobufs, structs, or other composite types, like tuples. It is possible to define semantics to merge each of these, but they vary and the merge operation becomes verbose to allow to handle each weirdness of each of these underlying types. Merging is also sensitive to NULL vs 0 vs a DEFAULT, plus in some databases, NULL is still allowed even when a column is marked NOT NULL. You'd almost need a sub-language for the merging operation, specifying how to handle each corner case.
- ttfkam 4y agoMerge mutates data. A join is simply a read from an associated set of data.