Age | Commit message (Collapse) | Author | |
---|---|---|---|
2013-07-12 | A bunch of refactoring in the DSL | Carlo Zancanaro | |
2013-07-12 | One more. | Carlo Zancanaro | |
2013-07-12 | Bitbucket syntax highlighting in README | Carlo Zancanaro | |
2013-07-12 | Two more minor changes to the README. | Carlo Zancanaro | |
2013-07-12 | Update the README a bunch | Carlo Zancanaro | |
2013-07-12 | Remove some scrap code that got committed accidentally | Carlo Zancanaro | |
2013-07-12 | Handle parameter types in the compiler better | Carlo Zancanaro | |
The compiler handled them by converting most things to strings and embedding them in the query, but now I'm trying to put more of them in as query parameters. The advantage is that his handles types that might be database specific, or something. At the moment sequences are handled in the same way as before (with each element being a separate parameter), but this may be changed in future. | |||
2013-07-12 | Assert in jdbc interface to fail early rather than do the wrong thing | Carlo Zancanaro | |
When converting dotted fields to maps there's one possible case where it can do the wrong thing. This should now throw an AssertionError rather than silently doing the wrong thing. | |||
2013-07-12 | Expose a few more helper functions in clojure-sql.core | Carlo Zancanaro | |
2013-07-12 | Add a rename helper to turn queries into "subobjects" in the result. | Carlo Zancanaro | |
Essentially just prefixes a subobject name in front of all fields in a query, with a dot separating the new prefix and the original name. | |||
2013-07-06 | Make `sort` able to take expressions rather than just table names. | Carlo Zancanaro | |
2013-07-06 | Bump the version, put Midje back in as dev dependency | Carlo Zancanaro | |
2013-07-03 | Add fields to union/intersection result queries | Carlo Zancanaro | |
2013-07-03 | Remove midje dependency and now useless tests (will add tests later) | Carlo Zancanaro | |
2013-07-03 | Add SCM info to project.clj | Carlo Zancanaro | |
2013-07-03 | Added tag 0.1.0 release for changeset a04a90ac3937 | Carlo Zancanaro | |
2013-07-03 | Update the README to include a leiningen dependency vector | Carlo Zancanaro | |
2013-07-01 | Bump the version number: 0.1.0 | Carlo Zancanaro | |
2013-07-01 | Change the condition for union compatible (require projections first) | Carlo Zancanaro | |
2013-07-01 | Make fields compile in a deterministic order (necessary for union stuff) | Carlo Zancanaro | |
2013-07-01 | A bit more readme changing | Carlo Zancanaro | |
2013-07-01 | Add union/intersection to the dsl | Carlo Zancanaro | |
2013-07-01 | Update the readme some more | Carlo Zancanaro | |
2013-07-01 | Remove some extra code that was left sitting around | Carlo Zancanaro | |
2013-07-01 | Update the readme | Carlo Zancanaro | |
2013-07-01 | Move Midje into dev dependencies - no sense pulling it in transitively | Carlo Zancanaro | |
2013-07-01 | Make sure you never try to take a negative number of things! | Carlo Zancanaro | |
2013-06-24 | Remove a midje file that's no longer necessary | Carlo Zancanaro | |
Also: the fix I mentioned in my last commit message may be a little bit hard to do, but even without explicitly detecting it it will explode in an obvious way. | |||
2013-06-24 | Make dotted fields result in nested maps when querying | Carlo Zancanaro | |
So now something like this: (-> (table :users) (project {:id :user.id, :email :user.email, :person :person.id}) (join (-> (table :people) (project {:id :person.id, :first-name :person.first-name})))) will result in a map like this for each result: {:user {:id 1, :email "..."}, :person {:id 1, :first-name "..."}} Although I've just thought of an issue that will need to be detected where an error should be thrown. I'll deal with that now and commit it soon. | |||
2013-06-23 | Make sort and group create subqueries to be correct | Carlo Zancanaro | |
2013-06-23 | Make select take a map and compile to equality tests. | Carlo Zancanaro | |
2013-06-23 | Misc changes. | Carlo Zancanaro | |
2013-06-23 | Fix the README examples. | Carlo Zancanaro | |
2013-06-22 | Docstrings, one function call change, README update. | Carlo Zancanaro | |
In the compiler there was one call to `table-name` which should have been `field-name`. | |||
2013-06-22 | Update project.clj | Carlo Zancanaro | |
2013-06-21 | Docstrings, re-export from core better (with metadata) | Carlo Zancanaro | |
2013-06-21 | Update the README a bit. | Carlo Zancanaro | |
2013-06-21 | Return records on update, return just a count on delete (jdbc) | Carlo Zancanaro | |
2013-06-21 | Add take/drop, move jdbc stuff, document default of postgres | Carlo Zancanaro | |
Add take and drop functionality to the queries, so now you can use the take and drop functions in a similar way to how they work on seqs in clojure. Move jdbc interface stuff into clojure-sql.jdbc, so if you're using jdbc you can include it yourself. (If you're not using jdbc then it shouldn't bother you). Given the default compilation target is actually postgres, document that. | |||
2013-06-20 | Clean up, add an assertion. | Carlo Zancanaro | |
2013-06-20 | Well, that didn't work. Whatever. | Carlo Zancanaro | |
2013-06-20 | Fix updates, add "use-jdbc!" function to core. | Carlo Zancanaro | |
2013-06-20 | Make core nicer, pass the "type" of query to executors | Carlo Zancanaro | |
2013-06-20 | Clean up the query deref, make insert!, update! and delete! work | Carlo Zancanaro | |
2013-06-20 | Fix a stupid null-pointer exception | Carlo Zancanaro | |
2013-06-20 | Fix compiling of n-ary operators (0 & 1 args), add operator aliases | Carlo Zancanaro | |
n-ary operators with no arguments would break everything (compiling to "()"). This should no longer be the case. Additionally, unary operators (ie. negation) now compile properly in the one arg case. Operator aliases allow us to change how we refer to things like the "~" regex operator in postgresql. At the moment it's aliased as "$". Additionally: booleans now compile to upper case. | |||
2013-06-20 | A few small changes/fixes to join behaviour, and code cleanup | Carlo Zancanaro | |
Fix compilation of cross joins. Remove the sort clauses on queries when they become subqueries in joins because then the sorting means nothing (although when take/drop stuff is added the sort will be relevant, so we'll see about that). Favour the left side of a join, which is mostly only relevant for the outer join case (and technically it's not quite right for full-outer joins, maybe, but I'll get to that later). | |||
2013-06-17 | Rename sort-by, add grouping, refactor+fix some join stuff | Carlo Zancanaro | |
`sort-by` is now called `sort`. This is just because I think it makes more sense and nothing more. Grouping has been added with `group` and `having`. They behave as you'd expect from SQL, except that joining with a table which has a `group` or `having` clause will move that query in as a subquery. I wasn't sure how else to ensure their composition, so this way maintains the semantics (which is the most important part) at the potential cost of some efficiency in performing the query. I'm not sure that there exists a more general solution. I would assume not. The join stuff has been fixed a bit (some valid renames were rejected as invalid) and standardised a bit (exceptions are now more similar). A bunch of things have been added to the join stuff as a result of the above grouping things, too. A bunch of changes all around, basically. The compiler has also had a few small changes made to it, and has been enhanced to support the grouping stuff. | |||
2013-06-16 | Fix up some more join stuff, and a bit of sorting stuff. | Carlo Zancanaro | |
2013-06-16 | Fix expression processing in the DSL, notably on vectors | Carlo Zancanaro | |