Releases: crobox/clickhouse-scala-client
v0.9.6
- IMPORTANT This release contains some important fixes concerning brackets
(
)
in combination withAND
andOR
logical operators. We highly recommended to update to this version so that conditions are executed correctly! - BREAKING Removed the
TableColumn.AnyTableColumn
type alias; Use theColumn
trait instead. - Scala 2.13 support
- Adding
has
,hasAny
andhasAll
array operators.
v0.9.0
BREAKING API CHANGES
database
argument in constructor ofClickhouseClient
is moved to theTable
trait. This means you need to add theval database
to every Table definition- The actor system is no longer implicit injected from the outside but an internal one is used. Optinally configure it using the
crobox.clickhouse.client.akka.*
configuration CreateTable
database argument has been dropped- Removed
com.crobox.clickhouse.dsl.language.TokenizerModule.Database
type - Removed the
ClickhouseClient.database
field - Removed the
ClickhouseClient.table()
method
v0.8.13
v0.8.12
- Adding support for WITH ROLLUP and WITH CUBE
- Bugfix in
arrayElement
type - BREAKING Renamed
SimpleDuration
to `TotalDuration - Bugfix in DateTime parsing with value
0
- JSON parsing switched to spray.json instead of scala (deprecated) json
- BREAKING Proper escaping of Column names; this means that no SQL injection can happen anymore in the
ref
column. Use theraw
column if you really need to have unescaped SQL.
Bug fix
Bug fix
Retry idempotent queries
Added the ability to retry queries marked as idempotent.
Distributed table engine
- Added the distributed table engine
- Increased timeout for the healthcheck connection to ensure the connection is not reset prematurely
- Ensure cluster connection provider runs a maximum of one query at a time
Advanced logical functions
Reduction of constant results on logical operators now happens during declaration of a statement, and will not even happen at the tokenisation.
Options can be used and act as a NoOp on all the logical operators.
DSL major update - Breaking Changes
This introduces coverage for (almost) all clickhouse column functions, as well as most operators, and a new mechanism that introduces an advanced type safety check on columns, column functions and their results.
For the coverage of the DSL, please refer to the WIKI page 'DSL Coverage'.
The type-safety mechanism relies on the magnet pattern, using implicit conversion to interpret the type of any constant or DSL function, for continued use in the DSL there-after at compile time.
Breaking changes
- Some existing functions now only accept the actual type
- Most functions now correctly propagate/represent their return type. When you do not explicitly convert the type to what was expected onwards, this will cause compile errors. (use toTypeName(col), to explicitly convert columns in queries)
isIn
,isNotIn
were renamed toin
andnotIn
splitBy
was renamed tosplitByChar
andsplitByString