Commit graph

131 commits

Author SHA1 Message Date
Brian J. Cardiff
2b7892eb3a Release 0.5.1 2018-11-07 15:52:37 -03:00
Benjamin T
3820978820 query_methods.cr: Small typo fix in docs (#76) 2018-11-07 15:44:53 -03:00
Jack
51236495f6
doc update
typo fix
2018-07-21 02:01:55 -05:00
Rob David
c54fab415e Fixes query_one? handling no rows (#86) 2018-07-11 00:47:39 +01:00
Brian J. Cardiff
be139c900c Bump version 0.5.0. Release notes. 2017-12-29 20:20:37 -03:00
Brian J. Cardiff
790b587e3f Bump version 0.4.4. Release notes. 2017-12-29 19:53:39 -03:00
Arthur Poulet
d55a34e851 Allow query results to be read as named tuples directly (#56) 2017-12-29 19:32:25 -03:00
Brian J. Cardiff
437f8c39ec Bump version 0.4.3. Release notes. 2017-11-07 23:30:34 -03:00
Brian J. Cardiff
839a7abb5e Fix typo in comment 2017-11-07 23:23:06 -03:00
Lamonte
e40c19d195 Updated MappingException and Rollback derive from DB::Error (#70)
Make all db exceptions derive from DB::Error
2017-11-07 23:18:43 -03:00
Brian J. Cardiff
1e882e35d2 Docs: minor edit 2017-09-08 10:08:24 -03:00
Brian J. Cardiff
966b5ac42b Avoid tracking the connection if the statement failed to be built 2017-09-07 19:29:32 -03:00
Brian J. Cardiff
9b03aa6535 Release connection when unprepared statements can't be built
Add specs
Fix typo in docs
2017-09-07 19:21:36 -03:00
Cris Ward
4fe3884898 Release connection when query cannot be built
This was leaking connection when a query could not be build - ie if an invalid column name was used.
More info here - https://github.com/crystal-lang/crystal-mysql/issues/40
2017-07-27 15:08:05 +01:00
Brian J. Cardiff
28c6f3b715 bump version 0.4.2. Release notes. 2017-04-21 17:24:28 -03:00
Nick Franken
5d5b901da1 Update to crystal 0.22.0 (#50)
* `WeakRef#target` was renamed to `WeakRef#value`
2017-04-21 11:14:42 -03:00
Brian J. Cardiff
912113d7fb bump version 0.4.1. Release notes. 2017-04-10 13:45:24 -03:00
Brian J. Cardiff
39e17f82ca Add #query_each . Fixes #18 2017-04-10 12:48:48 -03:00
Brian J. Cardiff
5697bd5c58 Fix docs 2017-04-10 12:47:38 -03:00
Brian J. Cardiff
bb3203301b Deal with unexpected ResultSet#read types during runtime. 2017-04-06 15:55:13 -03:00
Brian J. Cardiff
545d758ae0 Update DB::VERSION 2017-03-21 15:28:27 -03:00
Brian J. Cardiff
385cf70a8a Introduce DB::ConnectionContext (#44)
* make Database a ConnectionContext.
* introduce SingleConnectionContext for independant connections.
* add `DB#connect` to create non pooled connections.
2017-03-20 15:08:30 -03:00
Brian J. Cardiff
c63ea48748 Close result_set with using Mapping.from_rs 2017-03-20 13:54:39 -03:00
Brian J. Cardiff
2886c207e0 Add support for nillables with T | Nil syntax. 2017-03-06 12:18:04 -03:00
RX14
0797ce72a3 Allow nilable types in DB.mapping
Previously, using a Nilable type in DB.mapping instead of nilable: true would
fail with a nil assertion error.
2017-02-15 16:09:01 +00:00
Brian J. Cardiff
3fa1eac6c5 Add Database#checkout, Connection#release for non block connection use (#38) 2017-02-12 16:30:32 -03:00
Brian J. Cardiff
09b8997636 Add before_checkout/after_release callbacks for resources in pool (#36)
add auto_release to DB::Connection (default true on each pool checkout).
fixes #35.
2017-01-16 16:47:58 -03:00
Brian J. Cardiff
c2c1f31a90 bump version 0.3.3 2016-12-24 20:43:32 -03:00
Brian J. Cardiff
eb82b96c0d update to crystal 0.20.3
* add missing forall annotations
2016-12-24 20:39:40 -03:00
Brian J. Cardiff
7d30e9f50e bump version 0.3.2 2016-12-16 11:57:44 -03:00
Brian J. Cardiff
039035a397 fix #scalar queries where not handled with retry connection pool logic 2016-12-16 11:56:27 -03:00
Brian J. Cardiff
8e8d8024f9 bump version 0.3.1 2016-12-15 14:47:10 -03:00
Brian J. Cardiff
2ca60ba43f Add ConnectionRefused exception
* required to fix retry+connection initialization corner case.
2016-12-15 14:40:56 -03:00
Brian J. Cardiff
4c74e6c9da bump version 0.3.0 2016-12-14 15:22:23 -03:00
Brian J. Cardiff
d7ccecae9b minimal docs for transactions 2016-12-14 12:13:46 -03:00
Brian J. Cardiff
ed3ed71501 allow raise after explicit rollback within #transaction(&block) 2016-12-14 11:37:49 -03:00
Brian J. Cardiff
dc26498948 unwrap args 2016-12-14 11:32:53 -03:00
Brian J. Cardiff
c6b6517145 add connection.object_id to savepoint names.
s/crystal/cr/ to shorten a bit the name.
2016-12-14 11:07:17 -03:00
Brian J. Cardiff
c491bd8962 add nested transaction with savepoints 2016-12-13 16:47:23 -03:00
Brian J. Cardiff
9bde76865e add todo for corner case of transaction(&block) 2016-12-13 16:47:23 -03:00
Brian J. Cardiff
751f8b26ac Transactions
* dsl, state checks
* define transaction sql commands in connection
2016-12-13 16:47:23 -03:00
Brian J. Cardiff
4721ecbf6b make Connection#prepared_statements? readonly 2016-12-07 01:50:06 -03:00
Brian J. Cardiff
d55b088216 Refactor Database and Connection dsl methods. Update docs. 2016-12-07 01:50:06 -03:00
Brian J. Cardiff
543592a337 make pool_prepared_statements always prepare statement in connection 2016-12-07 01:50:06 -03:00
Brian J. Cardiff
2cab0b37f5 refactor prepared and unprepared pool statements 2016-12-07 01:50:06 -03:00
Brian J. Cardiff
0593f63dbb add pool unprepared statements
unprepared statements are executed in any free connection of the pool at the moment of executing them
2016-12-07 01:50:06 -03:00
Brian J. Cardiff
9ef9d19d1d add prepared_statements option to database
* use ?prepared_statements=true|false on connection string (default: true)
* make inmutable state in database
* make mutable state in connection
* change Connection#build to use the current prepared_statements flag to build prepared or unprepared statements.
2016-12-07 01:50:06 -03:00
Brian J. Cardiff
fe0ed55ef9 introduce unprepared statements
* rename QueryMethods#prepare to QueryMethods#build
* rename Connection#build_statement to Connection#build_prepared_statement
* add Connection#build_unprepared_statement
* add Connection #prepared and #unprepared dsl methods
2016-12-07 01:50:06 -03:00
Ary Borenszweig
73108c169e v0.2.2 2016-12-06 23:33:27 -03:00
Ary Borenszweig
2073a1de91 Use Slice.empty 2016-12-06 23:27:15 -03:00