Skip to content

Latest commit

 

History

History
100 lines (87 loc) · 15.5 KB

README.md

File metadata and controls

100 lines (87 loc) · 15.5 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: 59

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
KLIP-3: Serialization of single Fields Approved
KLIP-4: Custom Type Registry Merged - 5.4
KLIP-6: Execution Plans Merged 0.8.0 5.5
KLIP-7: Kafka Connect Integration Merged - 5.4
KLIP-8: Queryable State Stores Merged - 5.4
KLIP-9: Table Functions Merged - 5.4
KLIP-10: Suppress Proposal
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 6.0.0
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 Approved 0.12.0 Discussion
KLIP-29: Explicit Table Primary Keys and Key-less Streams Merged 0.10.0 6.0.0 Discussion
KLIP-30: Lambda Functions Proposal Discussion
KLIP-31: Metastore Backups Merged 0.11.0 6.0.0 Discussion
KLIP-32: SQL-based testing tool Proposal
KLIP-33: Key format Approved 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 Approved Discussion
KLIP-36: GRACE period for stream-stream joins Proposal
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 Proposal
KLIP-43: TIMESTAMP data type support Approved Discussion
KLIP-44: ksqlDB Go client Proposal Discussion
KLIP-45: Materializing Tables for Query Proposal Discussion
KLIP-46: DATE and TIME data type support Proposal 0.20.0 Discussion
KLIP-47: NON NULL columns and component types Proposal
KLIP-48: Schemas Proposal
KLIP-49: Add source stream/table semantic Proposal Discussion
KLIP-50: Partition and offset in ksqlDB Proposal 0.23.0 Discussion
[KLIP-51: ksqlDB .NET LINQ provider](klip-51-ksqldb .NET LINQ provider.md) Proposal Discussion
KLIP-52: BYTES data type support Proposal 0.21.0 Discussion
[KLIP-53: Pull Queries on Streams Proposal 0.22.0
[KLIP-54: Optimized Range Pull Queries on Tables Proposal 0.22.0 Discussion
KLIP-55: Tablespaces Proposal TBD Discussion
KLIP-57: Kafka headers Proposal 0.25.0 Discussion
KLIP-58: LIMIT clause for Pull Queries Approved 0.25.0 Discussion