Commit graph

94 commits

Author SHA1 Message Date
Sean Corfield
e1b42b1804 Address #31 by improving string representation of reified objects
At least this should give a hint as to what you did wrong...
2019-06-11 16:47:58 -07:00
Sean Corfield
22a3f2bb5f Fix #26 by adding datafiable-result-set
This makes handling metadata result sets much easier.
2019-06-08 15:09:42 -07:00
Sean Corfield
b4331146ff Stop Joker flagging some ns as unused
These are pulled into `next.jdbc` to extend/implement protocols only.
2019-06-07 17:39:58 -07:00
Sean Corfield
b64fbf35ff Fix #30 by adding modified builders
Adds `:label-fn` and `:qualifier-fn` options, and `as-modified-*` 
builder variants.
2019-06-04 18:01:19 -07:00
jet
df1c38c03f Correct documentation for transact and with-transaction
Previously both functions were documented as taking a `Connectable`
object. This amends the documentation as well as the fn signature to
take a `Transactable` object.
2019-06-02 12:07:01 -04:00
Sean Corfield
382d1bef10 Fix #24 by adding type hints 2019-05-29 13:51:11 -07:00
Sean Corfield
fdfb0697ec Address #24 by setting warn on reflection in tests
This highlights the reflection on `.close` (in the connection tests).
2019-05-29 09:04:21 -07:00
Sean Corfield
6a9df0f4aa Fix #22 by adding next.jdbc.optional
Includes four `as*maps` builders that omit `NULL` columns completely 
from the returned row hash maps.
2019-05-25 19:16:30 -07:00
Sean Corfield
b831525948 Remove leftover REPL debugging code 2019-05-23 10:05:27 -07:00
Sean Corfield
a32c5b9e66 Address #16 by renaming reducible! to plan for Beta 1 2019-05-22 16:22:14 -07:00
Sean Corfield
656a0d8d9a Add namespace docstring for new specs 2019-05-21 21:55:10 -07:00
Sean Corfield
adf5a03e05 Address #21 by adding next.jdbc.specs
Docs still need to be updated for this!
2019-05-21 21:45:05 -07:00
Sean Corfield
99ee285689 Fix #19 by caching loaded database driver classes 2019-05-08 15:11:37 -07:00
Sean Corfield
ff94962e27 Fixes #18 by cleaning up connection properties better. 2019-05-04 23:59:48 -07:00
Sean Corfield
eb981d5726 Another pass over documentation and docstrings 2019-04-26 22:42:27 -07:00
Sean Corfield
ee2fcc47ab Fixes #17 by changing sql-string to sql-params 2019-04-26 10:34:26 -07:00
Sean Corfield
cf75268087 Rename :gen-fn to :builder-fn 2019-04-24 14:22:35 -07:00
Sean Corfield
13ad917864 Fix #15 by passing SQL string to builders
Adds internal `:next.jdbc/sql-string` option.
2019-04-24 10:07:52 -07:00
Sean Corfield
2c018654d3 Alpha 9; fixes #14; improves protocol docstrings
* Move documentation from `ns` into `defprotocol` and the method 
declarations.
* Indicate which protocols may be extended via metadata 
(`SettableParameter` and `Sourceable`).
2019-04-22 17:41:31 -07:00
Sean Corfield
2badd9f835 Big docstring cleanup 2019-04-21 16:13:52 -07:00
Sean Corfield
03b09f6e03 Alpha 5; fixes #12 by adding :order-by option to for-query 2019-04-21 13:42:33 -07:00
Sean Corfield
c2c798770a Alpha 4; fixes #11 by adding schema meta-quoting function 2019-04-21 13:00:03 -07:00
Sean Corfield
6f637b4e36 Start documenting differences/migration more seriously 2019-04-21 00:48:16 -07:00
Sean Corfield
d688e639d0 Document prepared statement handling 2019-04-20 22:28:21 -07:00
Sean Corfield
2ab35132a7 Document Result Set Builders
And sketch out the remaining documentation outline.
2019-04-20 22:00:40 -07:00
Sean Corfield
6e1dba1bce Fix user (name) property 2019-04-20 16:03:01 -07:00
Sean Corfield
f691d59be7 Update set-parameters docstring
Uses set-parameter and SettableParameter now, not `.setObject`
2019-04-19 22:51:05 -07:00
Sean Corfield
3588d526fa execute-all should return a vector even for update counts 2019-04-19 22:50:10 -07:00
Sean Corfield
12e396683c Add tests for map-like reducible! result set
Ensures basic associative/lookup access do not cause row building; 
ensures assoc/seq produce real maps; ensure datafiable-row produces a 
real map with metadata.
2019-04-19 21:53:55 -07:00
Sean Corfield
bfda745a70 Add row builder tests; fix row builder bug in execute-one 2019-04-18 23:03:09 -07:00
Sean Corfield
d4f79a68fd Add datafication tests; fix regex bug! 2019-04-18 22:43:19 -07:00
Sean Corfield
3b0b059f62 Add connection tests
Improve handling of relative files with H2 database connections.
2019-04-18 21:35:38 -07:00
Sean Corfield
d59b1ec2fb Basic SQL tests and bug fix!
Multi-row insert did not apply `:column-fn` correctly.
2019-04-18 18:31:15 -07:00
Sean Corfield
2cd9e9372d Fix docstring typos 2019-04-18 14:09:07 -07:00
Sean Corfield
e85cbf7c95 Make datafy/nav implementation more robust
Also some documentation cleanup
2019-04-18 14:06:14 -07:00
Sean Corfield
8c508b8416 Documentation cleanup 2019-04-18 13:19:59 -07:00
Sean Corfield
7f2d3479e9 Split :entities into two options
`:table-fn` and `:column-fn`
2019-04-18 08:12:56 -07:00
Sean Corfield
e5ea6af959 Rewrite builders as records
This seems to be very slightly faster than using `reify`. Also rename 
the map builder to `as-maps` and add unqualified variants of builders.
2019-04-18 08:12:12 -07:00
Sean Corfield
86db20b94b Improve default behavior of reducible! when forced to create a row
Defaults to `map-row-builder`; add examples of `assoc`, 
`datafiable-row`.
2019-04-18 00:36:22 -07:00
Sean Corfield
50fbc5f8f1 Respect :gen-fn in execute-one 2019-04-18 00:28:23 -07:00
Sean Corfield
5019995feb Move SQL sugar functions to next.jdbc.sql
Make SQL string builder functions private.
2019-04-17 23:56:44 -07:00
Sean Corfield
a17054b61a Improve protocol documentation 2019-04-17 23:43:32 -07:00
Sean Corfield
b5eb5b880e Consolidate the three use cases
* Remove `execute!` and `execute-one!` from `result-set`.
* Add `-execute-all` and `-execute-one` to the `Executable` protocol 
instead.
* Remove `:row-fn` support.
* Allow a `PreparedStatement` to be `Connectable` so it can be used with 
`datafy`/`nav`.
* Rewrite `RowBuilder` protocol and add `ResultSetBuilder` protocol; add 
`as-arrays` as a builder.
2019-04-17 23:34:31 -07:00
Sean Corfield
788015909f First cut at RowBuilder
Temporarily disables as-arrays
2019-04-10 23:59:19 -07:00
Sean Corfield
d2f0afa973 Fix #9 by combining ->factory and create again 2019-04-10 21:46:38 -07:00
Sean Corfield
9abf9f6380 Fix update count key to :next.jdbc/update-count 2019-04-04 20:25:20 -07:00
Tommi Reiman
c7ebec1fa2 Manually destructure options 2019-04-02 22:37:53 +03:00
Sean Corfield
e85f627a00 Address #2 by solidifying row function API
Low-level `execute!` requires row function to be passed. High-level API 
allows row function, else `datafiable-row`. Syntactic sugar still uses 
`:row-fn`.
2019-04-02 00:41:39 -07:00
Sean Corfield
c2c9bcbba4 Address #1 by solidifying syntactic sugar functions
Cleans up how options are handled. Adds `query` alias for `execute!`, 
clarifiies the syntactic sugar nature of the additional functions.
2019-04-01 23:57:12 -07:00
Sean Corfield
a76189d9c8 Fix #4 by adding transact
`with-transaction` now delegates to `transact` which in turn delegates 
to `p/-transact`.
2019-04-01 23:43:10 -07:00