Commit Graph

157 Commits

Author SHA1 Message Date
Nick Clifford e1832fc359 Add `DB::Serializable` (#115) 2019-10-31 11:34:23 -03:00
Brian J. Cardiff 2b95d69e68
Release 0.7.0 (#112) 2019-09-20 17:37:29 -03:00
Johannes Müller b3898ae2a2 Statement#exec and #query require named argument for array values (#110)
This change allows to use an array as single argument for #exec and
 #query and #scalar methods. Before it was shadowed by the *args splat overload.
2019-09-20 17:23:09 -03:00
Brian J. Cardiff af6d837bcd
Remove call to obsolete Spec.matches? (#111)
It was an optimization but it does not work (and is not needed) since the changes in spec for Crystal 0.31
2019-09-12 11:04:34 -03:00
Brian J. Cardiff afad416417 Handle multiple fibers waiting for more resources than available 2019-09-11 18:25:40 -03:00
Brian J. Cardiff 5c1c1ab910 Handle inflight connections and rework state sync 2019-09-11 18:25:36 -03:00
Brian J. Cardiff 9275b22a30 Add pool stats 2019-09-11 17:53:39 -03:00
Brian J. Cardiff dcd0af5ce8 Release 0.6.0 2019-08-02 12:06:53 -03:00
Brian J. Cardiff adc755e5e4
Add type argument to QueryMethods module (#108) 2019-08-02 11:54:52 -03:00
Brian J. Cardiff 0100b47754
Documentation improvements (#107)
Closes #89
2019-07-02 10:01:17 -03:00
Jonathan f14abc19fd Fix Typo and references in docs (#96) 2019-06-26 09:55:07 -03:00
Johannes Müller af916fbffb Fix BeginTransaction#transaction error in rollback (#101)
When the rescued exception was caused by a protocol error, the
connection is in a corrupted state and executing the rollback
command might fail due to a subsequent protocol error - which is
irrelevant because the source of the corruption is described by
the original exception which must not be overlayed by a secondary one.
2019-04-11 13:53:55 -03:00
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 28b17b7dba Update sqlite doc sample to use TEXT
Ref: #71
2017-11-13 10:56:33 -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 6c7aea0528 docs & formatting 2017-04-10 10:28:17 -03:00
Brian J. Cardiff 456ff5aa36 Add specs to use ResultSet as DB::ResultSet 2017-04-06 15:57:27 -03:00
Brian J. Cardiff 074368a47e Add drop table syntax
* Allows to run all test in same database by deleting tables if exists
2017-04-06 15:57:27 -03:00
Brian J. Cardiff 07b4e9f4a8 Minor fixes. Use some type for `.scalar("select ?", nil)` 2017-04-06 15:57:27 -03:00
Brian J. Cardiff dba3c03da8 Include sql_type for sql_scalar when available. 2017-04-06 15:57:27 -03:00
Brian J. Cardiff 168aac142c switch for prepared/unprepared specs. pass ColumnDefs instead of names 2017-04-06 15:57:27 -03:00
Brian J. Cardiff f80e689c87 common specs extracted from crystal-mysql 2017-04-06 15:57:27 -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