Releases: tomasfabian/ksqlDB.RestApi.Client-DotNet
Kafka.DotNet.SqlServer v0.2.0
KsqlDbConnect:
- CreateConnectorIfNotExistsAsync - Create a new connector in the Kafka Connect cluster with the configuration passed in the connectorMetadata parameter. If the IF NOT EXISTS clause is present, the statement does not fail if a connector with the supplied name already exists
CcdClient:
- IsCdcDbEnabledAsync - Has SQL Server database enabled Change Data Capture (CDC).
- IsCdcTableEnabledAsync - Has table Change Data Capture (CDC) enabled on a SQL Server database.
- CdcDisableTableAsync added optional parameter 'captureInstance'
CdcEnableTable:
Sql parameters for [sys.sp_cdc_enable_table]. The following optional arguments were added:
- IndexName, CaptureInstance, CapturedColumnList, FilegroupName properties
- SchemaName - default value is set to "dbo"
KsqlDbConnect:
-
GetConnectorsAsync - List all connectors in the Connect cluster.
-
DropConnectorAsync, DropConnectorIfExistsAsync - Drop a connector and delete it from the Connect cluster.
-
ConnectorType enum - Sink or Source
Kafka.DotNet.SqlServer v0.1.0
Kafka.DotNet.SqlServer is a client API for consuming row-level table changes (CDC - Change Data Capture) from SQL Server databases with the Debezium connector streaming platform.
Project Wiki can be found here
v0.1.0
- SqlServerConnectorMetadata, ConnectorMetadata, ConnectorExtensions - connector configuration for SQL Server
- KsqlDbConnect - class for creating connectors with ksqldb
- CdcClient, ICdcClient, ISqlServerCdcClient - Enables/Disables change data capture for the current database and specified source table.
- DatabaseChangeObject, DatabaseChangeObject, RawDatabaseChangeObject - POCOs
- ChangeDataCaptureType enum
Kafka.DotNet.ksqlDB v1.1.0
- Pull queries Select extension method
- Push queries WithOffsetResetPolicy extension method
- CAST - ToString, string to numeric types
- scalar functions: Concat, ArraySort, ArrayUnion
Kafka.DotNet.ksqlDB v1.0.0
- Insert Values - Produce a row into an existing stream or table
Great news are that Confluent added this package to their documentation as a contributed .NET client, so before wider adoption I decided to improve the API at cost of some breaking changes.
Except of one change all of them will be catched by the compiler. For more information see Wiki.
Breaking changes. In order to improve the v1.0 release the following methods and properties were renamed:
IKSqlDbRestApiClient interface:
| v.0.11.0 | v1.0.0 |
|---------------------------------------------------------------|
| CreateTable<T> | CreateTableAsync<T> |
| CreateStream<T> | CreateStreamAsync<T> |
| CreateOrReplaceTable<T> | CreateOrReplaceTableAsync<T> |
| CreateOrReplaceStream<T> | CreateOrReplaceStreamAsync<T> |
KSQL documentation refers to stream or table name in FROM as from_item
IKSqlDBContext.CreateQuery<TEntity>(string streamName = null)
IKSqlDBContext.CreateQueryStream<TEntity>(string streamName = null)
streamName parameters were renamed:
IKSqlDBContext.CreateQuery<TEntity>(string fromItemName = null)
IKSqlDBContext.CreateQueryStream<TEntity>(string fromItemName = null)
QueryContext.StreamName was renamed QueryContext.FromItemName
Source.Of parameter streamName was renamed to fromItemName
KSqlDBContextOptions.ShouldPluralizeStreamName was renamed to ShouldPluralizeFromItemName
⚠ From version 1.0.0 the overriden from item names are pluralized, too. Join items are also affected by this breaking change.
This breaking change can cause runtime exceptions for users updating from lower versions. In case that you have never used custom singular from-item names, your code won't be affected.
Kafka.DotNet.ksqlDB v0.11.0
- CREATE STREAM - fluent API
- CREATE TABLE - fluent API
Kafka.DotNet.ksqlDB v0.10.0
- Pull queries - IPullQueryProvider, IPullable, PullQueryExtensions
- Pull query window bounds
Fixes:
- fixed KSqlDbRestApiClient SendAsync set to defaultCompletionOption
Kafka.DotNet.ksqlDB v0.9.0
Create or replace stream/table as select:
- IKSqlDBStatementsContext - CreateStreamStatement, CreateOrReplaceStreamStatement, CreateTableStatement, CreateOrReplaceTableStatement
- CreateStatementExtensions - PartitionBy, ToStatementString
- WithOrAsClause, CreationMetadata
- ICreateStatement, CreateStatementExtensions
Kafka.DotNet.ksqlDB v0.8.0
- scalar collection functions: ArrayMax, ArrayMin, ArrayRemove
Extensions:
- HttpResponseMessageExtensions - ToStatementResponse
KSqlDbRestApiClient:
- ExecuteStatementAsync - The /ksql resource runs a sequence of SQL statements. All statements, except those starting with SELECT, can be run on this endpoint. To run SELECT statements use the /query endpoint.
KSqlDbStatement
- KSqlDbStatement allows you to set the statement, content encoding and the CommandSequenceNumber.
Kafka.DotNet.ksqlDB v0.7.0
- operator precedence
- raw string KSQL query execution
- scalar collection functions: ArrayIntersect, ArrayJoin
Fixes:
- fixed VisitNew with several binary expressions, all except the first were skipped
Kafka.DotNet.ksqlDB v0.6.0
- netstandard 2.0 (.Net Framework etc)
- CASE - Select a condition from one or more expressions.
- /Query endpoint (http 1.1)
- Collection functions: None
Added implementations:
- QueryParameters, KSqlDbContextOptionsBuilder
- KSqlDBContext.CreateQuery
Fixes:
- column alias in projections was not generated