v3.0.3
- Added
whereNull()
andorWhereNull()
filter methods. - Changed
where()
filter method to acceptNULL
as value. - Added
getLogger
method to retrieve the current logger. Changed MetadataBuilder. Log a warning when no interval was found by the given shorthand name (like "first" or "last")
v3.0.2
- Added rowCount method to fetch the number of rows over a specific interval
v3.0.1
- Added support to retrieve all dataSources from druid.
v3.0
- Changed minimum PHP version to 8.2.
- Added typehints where possible.
- Replaced types with Enums.
- Removed deprecated methods from Query builder:
whereNotColumn()
whereNotBetween()
orWhereNotBetween()
whereNotIn()
orWhereNotIn()
whereNotInterval()
orWhereNotInterval()
- Removed deprecated method
append()
in task builder. Now use appendToExisting instead. - Added timeBoundary()
v2.0.3
- Changed some phpdoc annotation to keep PHPStan happy.
v2.0.2
- Bugfix for multiple greaterThan having filters.
v2.0.1
- Updated input format documentation. Moved Input Formats to its own Concern trait to keep code base clean.
- Fixed first and last aggregator, as these also support the string types.
- Added missing link (kill) in documentation
- Add method documentation to facade (phpdoc) for better code completion.
v2.0
- Updated minimal supported PHP version to 7.4, which allows us to use property type hinting, short function syntax and more.
- Removed DRUID_VERSION config setting. This was only used for whereFlags() and made our code ugly. You can now use the oldskool javascript variant by setting the new 4th parameter to true.
- Added
markAsUnused
option to kill task and the KillTaskBuilder. - Refactored the IndexTask. It now allows an InputSource. Also added option to specify timestamp column. Added support to be able to ingest spatial dimensions using the spatialDimension() method in the IndexTaskBuilder.
- Added spatial filter methods:
- Added ExpressionFilter and the whereExpression() and orWhereExpression() methods.
- Removed IngestSegmentFirehose and FirehoseInterface. These are now replaced by InputSources.
- Added a lot of input sources (used for index tasks):
- Azure
- Google Cloud
- S3
- HDFS
- Http
- Local
- Inline
- SQL
- Combine
- Added input formats (used for index tasks):
- csv Format
- tsv Format
- json Format
- orc Format
- parquet Format
- protobuf Format
- Updated DruidInputSource so that you now can also specify a filter on it.
- Added pollTaskStatus() in the client, which will poll until the status of a
task is other than
RUNNING
. The time between each check can be influenced by the'polling_sleep_seconds'
config setting or theDRUID_POLLING_SLEEP_SECONDS
.env setting for Laravel/Lumen applications. - Added support to join other DataSources. See: Data Sources
- Added support for
inlineLookup
. See inlineLookup() - Added support for multi-value columns. Either by using one of the new multiValueListSelect, multiValueRegexSelect, and multiValuePrefixSelect dimension selector filters.
- The
$dataSource
parameter for the query() method on the druid-client is now optional. You can specify later on the query builder which dataSource you want to use.
If you are currently using druid-client version 1.*, you should check for these breaking code changes:
- The
IndexTaskBuilder
constructor now only accepts an InputSourceInterface as second parameter. - The
IndexTaskBuilder
has nofromDataSource()
andsetFromDataSource()
methods anymore. These where related to the IngestSegmentFirehose. - The IndexTask now got as 4th parameter a
TimestampSpec
which is required, which shuffles the parameter order. - IngestSegmentFirehose and FirehoseInterface are gone. You should now use the InputSource variant instead.
- We removed DRUID_VERSION and
'version'
from the config. This was only used for the whereFlags() methods. If you want to fall back to the old javascript behaviour, you can now use the 4th parameter$useJavascript
. If you do not use the javascript variant, no changes are required. - You can remove the
'version'
settings from your config, as theDRUID_VERSION
from your .env if you are using this. However, if you do not remove them it will not break. - Removed deprecated
getPagingIdentifier()
from SelectQueryResponse class. - All Query Types (
GroupByQuery
,SelectQuery
, etc) now receive aDataSourceInterface
object instead of a string as dataSource. - The protected method
QueryBuilder::buildQuery()
is renamed toQueryBuilder::getQuery()
and it is now public. - The
FilterBuilder
class no longer receives an instance of theDruidClient
as first parameter in its constructor.
v1.2.1
- Fixed issue where whereFlags() was not working correctly because it uses virtual columns, but select query's did not support virtual columns yet. This is now fixed.
v1.2
- Added support for DataSketches aggregator
doublesSketch()
- Added DataSketches post aggregators:
quantile()
quantiles()
histogram()
rank()
cdf()
sketchSummary()
v1.1.1
- OrderBy now defaults to
asc
direction limit()
now supports an offset. See limit()- Added
version
configuration option, which lets the query builder know which version of druid you are running. - whereFlags() now uses native bitwise and operator if it is supported by your used version.
- Added more query context and TuningConfig properties. We now also allow unknown properties to be set, in case of a new value has been added.
- Updated CompactTask to use the ioConfig syntax as described in the manual.
- Removed deprecated IngestSegmentFirehose, now use DruidInputSource.
- Updated IndexTask (Native batch ingestion) to correct syntax as described in the manual.
- Added support for PHP 8.