summaryrefslogtreecommitdiff
AgeCommit message (Expand)Author
2013-09-29Remove `having` from the lsit of vars to pull into core (should have been on ...Carlo Zancanaro
2013-09-29Clear up the ambiguous field error message...The ambiguous field error message used to specify that it was a case where multiple tables were present, but that's not always true. If you're trying to work on a query that has been "subqueried" then you'll also get the error (arguably that should have a different error message, but I'll come back to that later). Carlo Zancanaro
2013-09-29Remove midje as a dependency.Carlo Zancanaro
2013-09-29Remove the `having` function, incorporate into `select`...The `having` function duplicated the intended functionality of `select`, but in a bad way. It only applied to a restricted case, and its existence meant that `select` provided an escape-hatch with which we could cause some unexpected behaviour. By consolidating the two functions into `select` we remove the escape hatch as well as simplify the model. Selection on grouped queries may now introduce a new subquery, but only in situations where the behaviour is unpredictable (ie. selecting on non-grouped attributes). Carlo Zancanaro
2013-07-12A bunch of refactoring in the DSLCarlo Zancanaro
2013-07-12One more.Carlo Zancanaro
2013-07-12Bitbucket syntax highlighting in READMECarlo Zancanaro
2013-07-12Two more minor changes to the README.Carlo Zancanaro
2013-07-12Update the README a bunchCarlo Zancanaro
2013-07-12Remove some scrap code that got committed accidentallyCarlo Zancanaro
2013-07-12Handle parameter types in the compiler better...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. Carlo Zancanaro
2013-07-12Assert in jdbc interface to fail early rather than do the wrong thing...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. Carlo Zancanaro
2013-07-12Expose a few more helper functions in clojure-sql.coreCarlo Zancanaro
2013-07-12Add a rename helper to turn queries into "subobjects" in the result....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. Carlo Zancanaro
2013-07-06Make `sort` able to take expressions rather than just table names.Carlo Zancanaro
2013-07-06Bump the version, put Midje back in as dev dependencyCarlo Zancanaro
2013-07-03Add fields to union/intersection result queriesCarlo Zancanaro
2013-07-03Remove midje dependency and now useless tests (will add tests later)Carlo Zancanaro
2013-07-03Add SCM info to project.cljCarlo Zancanaro
2013-07-03Added tag 0.1.0 release for changeset a04a90ac3937Carlo Zancanaro
2013-07-03Update the README to include a leiningen dependency vectorCarlo Zancanaro
2013-07-01Bump the version number: 0.1.0Carlo Zancanaro
2013-07-01Change the condition for union compatible (require projections first)Carlo Zancanaro
2013-07-01Make fields compile in a deterministic order (necessary for union stuff)Carlo Zancanaro
2013-07-01A bit more readme changingCarlo Zancanaro
2013-07-01Add union/intersection to the dslCarlo Zancanaro
2013-07-01Update the readme some moreCarlo Zancanaro
2013-07-01Remove some extra code that was left sitting aroundCarlo Zancanaro
2013-07-01Update the readmeCarlo Zancanaro
2013-07-01Move Midje into dev dependencies - no sense pulling it in transitivelyCarlo Zancanaro
2013-07-01Make sure you never try to take a negative number of things!Carlo Zancanaro
2013-06-24Remove a midje file that's no longer necessary...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. Carlo Zancanaro
2013-06-24Make dotted fields result in nested maps when querying...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. Carlo Zancanaro
2013-06-23Make sort and group create subqueries to be correctCarlo Zancanaro
2013-06-23Make select take a map and compile to equality tests.Carlo Zancanaro
2013-06-23Misc changes.Carlo Zancanaro
2013-06-23Fix the README examples.Carlo Zancanaro
2013-06-22Docstrings, one function call change, README update....In the compiler there was one call to `table-name` which should have been `field-name`. Carlo Zancanaro
2013-06-22Update project.cljCarlo Zancanaro
2013-06-21Docstrings, re-export from core better (with metadata)Carlo Zancanaro
2013-06-21Update the README a bit.Carlo Zancanaro
2013-06-21Return records on update, return just a count on delete (jdbc)Carlo Zancanaro
2013-06-21Add take/drop, move jdbc stuff, document default of postgres...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. Carlo Zancanaro
2013-06-20Clean up, add an assertion.Carlo Zancanaro
2013-06-20Well, that didn't work. Whatever.Carlo Zancanaro
2013-06-20Fix updates, add "use-jdbc!" function to core.Carlo Zancanaro
2013-06-20Make core nicer, pass the "type" of query to executorsCarlo Zancanaro
2013-06-20Clean up the query deref, make insert!, update! and delete! workCarlo Zancanaro
2013-06-20Fix a stupid null-pointer exceptionCarlo Zancanaro
2013-06-20Fix compiling of n-ary operators (0 & 1 args), add operator aliases...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. Carlo Zancanaro