Skip to content

Latest commit

 

History

History
107 lines (94 loc) · 18.2 KB

README.md

File metadata and controls

107 lines (94 loc) · 18.2 KB

KSQL Improvement Proposals

This is a place to collect improvement proposals for KSQL from the community. Please follow the KLIP Template when creating a new KLIP.

We have a two-part process for submitting KLIPs:

Proposal Intent

This serves as a locking mechanism to make sure that

  • each KLIP has a unique number
  • two people are not working on the same KLIP at once

To submit a proposal intent, create a pull request with the following information:

  1. title is docs: intent for klip-<number>: <title-of-klip>
  2. update the number for the next KLIP on this readme
  3. add a line in the table below for your new KLIP with status Proposal

You can expect this PR to be merged swiftly.

Design Discussion

This is the guts of our improvement proposal process:

  1. Create a new branch off of master on your fork
  2. Copy the klip-template.md file and rename it with your KLIP number and title (e.g. klip-1-improve-udf-interfaces.md)
  3. Fill in the template with details from your KLIP
  4. Submit a Pull Request from your branch to KSQL:
    1. make sure the title is docs: klip-<number>: <title>
    2. update the table entry below from the Proposal Intent step with a link to your KLIP
  5. Share a link to the PR in the #ksqldb channel on the confluent community slack.
  6. The design discussion will happen on the pull request
  7. The KLIP is approved and merged if at least two people with write access approve the change

KLIP Directory

The progression of statuses should be: Proposal, Discussion, Approved, Merged

Next KLIP number: 64

KLIP Status Community Release CP Release Discussion PR
KLIP-X: Template - - - -
KLIP-1: Improve UDF Interfaces Approved
KLIP-2: Insert Into Semantics Merged - 5.3.0
KLIP-3: Serialization of single Fields Approved
KLIP-4: Custom Type Registry Merged - 5.4.0
KLIP-5: Internal Schemas for KSQL Engine Proposal
KLIP-6: Execution Plans Merged 0.8.0 5.5.0
KLIP-7: Kafka Connect Integration Merged - 5.4.0
KLIP-8: Queryable State Stores Merged - 5.4.0
KLIP-9: Table Functions Merged - 5.4.0
KLIP-10: Suppress Merged
KLIP-11: Redesign KSQL query language Proposal
KLIP-12: Implement High-Availability for Pull queries Proposal
KLIP-13: Expose Connect Worker Properties Merged 0.8.0 5.5.0
KLIP-14: ROWTIME as Pseudocolumn Merged 0.9.0 6.0.0 Discussion
KLIP-15: KSQLDB new API and Client Proposal
KLIP-16: Introduce 'K$' dynamic views Proposal
KLIP-17: Remove 'INSERT INTO' in favour of SQL Union Proposed Discussion
KLIP-18: Distributed Metastore Proposal
KLIP-19: Introduce Materialize Views Proposal
KLIP-20: Remove 'TERMINATE' statements Proposal
KLIP-21: Correct 'INSERT VALUES' semantics Proposal
KLIP-22: Add consumer group id to CREATE STREAM and CREATE TABLE DSL Proposal
KLIP-23: PRIMARY KEYs for tables Merged 0.9.0 6.0.0
KLIP-24: KEY column semantics in queries Merged 0.10.0 6.0.0
KLIP-25: Removal of WITH(KEY) syntax Merged 0.10.0 6.0.0
KLIP-26: Java client interfaces Merged 0.10.0 6.0.0
KLIP-27: Enhanced UDF Configuration Options Proposal Discussion
KLIP-28: Introduce 'CREATE OR REPLACE' for Query Upgrades Merged 0.12.0 6.1.0 Discussion
KLIP-29: Explicit Table Primary Keys and Key-less Streams Merged 0.10.0 6.0.0 Discussion
KLIP-30: Lambda Functions Merged 0.17.0 6.1.0 Discussion
KLIP-31: Metastore Backups Merged 0.11.0 6.0.0 Discussion
KLIP-32: SQL-based testing tool Proposal
KLIP-33: Key format Merged 0.13.0 6.1.0 Discussion
KLIP-34: Optional WITH for CREATE TABLE and CREATE STREAM Proposal Discussion
KLIP-35: Dynamic Processing Log Levels Proposal
KLIP-36: GRACE period for stream-stream joins Merged 0.23.1 7.1.0 Discussion
KLIP-37: System Tables Proposal
KLIP-38: Variable Substitution Merged 0.14.0 6.1.0 Discussion
KLIP-39: Prepared Statements for Java Client Proposal
KLIP-41: ksqlDB .NET Client Proposal Discussion
KLIP-42: Schema Migrations Tool Merged 0.17.0 6.1.0 Discussion
KLIP-43: TIMESTAMP data type support Merged 0.17.0 6.1.0 Discussion
KLIP-44: ksqlDB Go client Proposal Discussion
KLIP-45: Materializing Tables for Query Proposal Discussion
KLIP-46: DATE and TIME data type support Merged 0.20.0 7.0.0 Discussion
KLIP-47: NON NULL columns and component types Proposal
KLIP-48: Schemas Proposal
KLIP-49: Add source stream/table semantic Merged 0.22.0 7.1.0 Discussion
KLIP-50: Partition and offset in ksqlDB Merged 0.23.1 7.1.0 Discussion
[KLIP-51: ksqlDB .NET LINQ provider](klip-51-ksqldb .NET LINQ provider.md) Proposal Discussion
KLIP-52: BYTES data type support Merged 0.21.0 7.0.0 Discussion
KLIP-53: Pull Queries on Streams Merged 0.23.1 7.1.0
KLIP-54: Optimized Range Pull Queries on Tables Merged 0.22.0 7.1.0 Discussion
KLIP-55: Tablespaces Proposal Discussion
KLIP-56: Schema id in create statements Merged 0.24.0 7.2.0 Discussion
KLIP-57: Kafka headers Merged 0.24.0 7.2.0 Discussion
KLIP-58: LIMIT clause for Pull Queries Merged 0.24.0 7.2.0 Discussion
KLIP-59: JSON functions Merged 0.24.0 7.2.0 Discussion
KLIP-60: Support input topics with multiple message types Proposal
KLIP-61: Bootstrapped TABLE subscriptions Proposal
KLIP-62: ksqlDB Ruby Client Proposal Discussion
KLIP-63: PAUSE and RESUME for persistent queries Merged 0.28.0 7.3.0 Discussion
KLIP-66: Multiple parameter UDAFs Proposal Discussion