Sean Corfield
9a76e4c25a
Add as-arrays-adapter
2019-08-21 14:47:55 -07:00
Sean Corfield
fed305dd2b
Add and document as-maps-adapter
2019-08-21 14:19:32 -07:00
Sean Corfield
87e44ae6a6
Fixes #52 by using US-locale lower-case function
2019-08-08 17:01:23 -07:00
Sean Corfield
e0b0c214fd
Improve printability as part of #51
...
Since `str` may be able to realize a row and render it as a string, attempts to print a row use this route to circumvent `print-sequential` failing due to lazy evaluation.
2019-08-02 12:42:00 -07:00
Sean Corfield
0fd8bf1a88
Fixes #51 by implementing IPersistentMap in full
...
* `dissoc`, `cons`, `=` -- both realize a full row.
* `count`, `empty` -- do not realize rows, `empty` doesn't use the builder at all.
* `str` -- attempts to realize a row (else returns the same "helpful" string as before).
2019-08-02 12:24:04 -07:00
Sean Corfield
7184ef996c
Fixes #41 ; Addresses #40 ; Expand prepared statement documentation
...
* Combine adjacent `with-open` calls.
* Show how `set-parameters` is used.
* Add a section on batched parameters, with their caveats, and how to
use them.
2019-07-08 20:48:56 -07:00
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
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
Sean Corfield
a32c5b9e66
Address #16 by renaming reducible! to plan for Beta 1
2019-05-22 16:22:14 -07:00
Sean Corfield
eb981d5726
Another pass over documentation and docstrings
2019-04-26 22:42:27 -07:00
Sean Corfield
cf75268087
Rename :gen-fn to :builder-fn
2019-04-24 14:22:35 -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
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
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
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
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
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
be9e4a6a55
Rename protocols
...
For internal consistency and also to avoid confusion with
`clojure.java.jdbc` protocols.
2019-04-01 23:32:24 -07:00
Sean Corfield
6d1a42a0a0
Fix #6 by adding IReadColumn and ISQLParameter protocols
...
The latter can be extended via metadata but the former cannot (since
only the latter is coming from Clojure).
2019-04-01 23:25:10 -07:00
Sean Corfield
f217e86038
Address #2 by adding rs/as-arrays
2019-04-01 22:19:02 -07:00
Sean Corfield
6e08557d92
Add docstrings to everything
2019-03-31 23:17:12 -07:00
Sean Corfield
31cbecf411
Improve function naming in prepare ns
2019-03-31 17:30:10 -07:00
Sean Corfield
ac95379bce
Reorganize into multiple namespaces
2019-03-31 16:54:34 -07:00