github.com/cockroachdb/cockroach@v20.2.0-alpha.1+incompatible/pkg/sql/rowexec/version_history.txt (about)

     1  - Version: 6 (MinAcceptedVersion: 6)
     2    - The producer<->consumer (FlowStream RPC) protocol has changed: the
     3      consumer_signal.handshake field was introduced. The handshake messages are
     4      sent by the server-side of FlowStream informing the producer of the
     5      consumer's status. The messages would cause a server running the previous
     6      version to erroneously think that the consumer has sent a drain signal,
     7      therefore MinAcceptedVersion was increased.
     8  - Version: 7 (MinAcceptedVersion: 6)
     9    - Three new aggregations (SQRDIFF, FINAL_VARIANCE, FINAL_STDDEV) were
    10      introduced to support local and final aggregation of the builtin
    11      functions STDDEV and VARIANCE. These new aggregations would be unrecognized
    12      by a server running older versions, hence the version bump. However, a
    13      server running v7 can still process all plans from servers running v6,
    14      thus the MinAcceptedVersion is kept at 6.
    15  - Version: 8 (MinAcceptedVersion: 6)
    16    - An InterleavedReaderJoiner processor was introduced to enable more
    17      efficient joins between interleaved tables. The new processor spec would be
    18      unrecognized by a server running older versions, hence the version bump.
    19      Servers running v8 can still execute regular joins between interleaved
    20      tables from servers running v6, thus the MinAcceptedVersion is kept at 6.
    21  - Version: 9 (MinAcceptedVersion: 6)
    22    - Many changes were made without bumping the version. These changes involved
    23      changes to the semantics of existing processors. These changes include:
    24      - Two new join types (LEFT_SEMI, LEFT_ANTI) were added to the JoinType enum
    25        to support new types of joins that can be used to improve performance of
    26        certain queries. The new join types would not be recognized by a server
    27        with an old version number.
    28      - The JoinReaderSpec was modified by adding three new properties
    29        (lookup_columns, on_expr, and index_map) to enable the JoinReader to perform
    30        lookup joins enabling more efficient joins for certain queries. Old server
    31        versions would not recognize these new properties.
    32      - Two new join types (INTERSECT_ALL, EXCEPT_ALL) were added to the sqlbase.JoinType
    33        enum to support INTERSECT and EXCEPT queries. These "set operation" queries
    34        can now be planned by DistSQL, and older versions will not be capable of
    35        supporting these queries.
    36      - The ARRAY_AGG and JSON_AGG aggregate functions were added to the
    37        AggregatorSpec_Func enum. Older versions will not recognize these new enum
    38        members, and will not be able to support aggregations with either.
    39      - IMPORT was changed to support importing CSVs with no primary key specified.
    40        This required a change to the CSV proto semantics, making old and new
    41        versions mutually incompatible. This was an EXPERIMENTAL feature in 1.1 and
    42        thus we do not bump the MinAcceptedVersion, even though IMPORT in mixed
    43        clusters without primary keys will succeed with incorrect results.
    44      - TableReader was extended to support physical checks. Old versions would not
    45        recognize these new fields.
    46  - Version: 10 (MinAcceptedVersion: 6)
    47      - The AlgebraicSetOp processor was removed, as it is not used. It was never
    48        used in plans, but its absence does change the ProcessorCoreUnion message,
    49        so a version bump is required.
    50  - Version: 11 (MinAcceptedVersion: 6)
    51      - The txn field in the SetupFlowRequest is made nullable. Backfiller flows
    52        no longer pass in a txn (it was passed by the gateway, but unused by the
    53        remote processors before).
    54  - Version: 12 (MinAcceptedVersion: 6)
    55      - The AggregatorSpec has a new OrderedGroupCols field, which older versions
    56        will not recognize.
    57  - Version: 13 (MinAcceptedVersion: 6)
    58      - Add NumRows to ValuesSpec (used for zero-column case). The implementation
    59        tolerates this field being unset in existing planning cases (at lest one
    60        column).
    61  - Version: 14 (MinAcceptedVersion: 6)
    62      - Enhancements to lookup joins. They now support joining against secondary
    63        indexes as well as left outer joins. Left join support required two
    64        additional fields on JoinReaderSpec: index_filter_expr and type.
    65      - Add support for processing queries with tuples in DistSQL. Old versions
    66        would not recognize the new tuple field in the proto. (This change was
    67        introduced without bumping the version.)
    68  - Version: 15 (MinAcceptedVersion: 6)
    69      - Add SRF support via a new ProjectSet processor. The new processor spec
    70        would not be recognized by old versions.
    71  - Version: 17 (MinAcceptedVersion: 6)
    72      - Add scalar vs non-scalar designation to aggregator.
    73  - Version: 18 (MinAcceptedVersion: 6)
    74      - New EvalContext field.
    75  - Version: 19 (MinAcceptedVersion: 6)
    76      - More EvalContext fields.
    77  - Version: 20 (MinAcceptedVersion: 6)
    78      - Add labels to tuple types.
    79  - Version: 21 (MinAcceptedVersion: 6)
    80      - Permit non-public (mutation) columns in TableReader return values, when
    81        requested. The new processor spec would be ignored by old versions.
    82  - MinAcceptedVersion: 21
    83      - Bump in preparation for the 2.1 release. A large amount of changes
    84        in both IMPORT and SQL execution have merged since 2.0. We have not
    85        adequately tested them in skewed version clusters to have confidence
    86        that they are compatible. We decided it was safer to bump the min
    87        version to prevent possible bugs at the cost of performance during
    88        the upgrade.
    89  - Version: 22 (MinAcceptedVersion: 21)
    90      - Change date math to better align with PostgreSQL:
    91        https://github.com/cockroachdb/cockroach/pull/31146
    92  - Version: 23 (MinAcceptedVersion: 23)
    93      - Refactoring of window functions. The main changes were reusing of renders
    94        whenever possible (for arguments and OVER clauses) which changed the way
    95        that information is propagated to windowers - a new field ArgsIdxs was
    96        introduced in place of ArgIdxStart and ArgCount. Another field was added
    97        to specify the output column for each window function (previously, this
    98        was derived from ArgIdxStart during execution).
    99  - Version: 24 (MinAcceptedVersion: 24)
   100      - Remove the unused index filter expression field from the lookup join spec.
   101  - Version: 25 (MinAcceptedVersion: 24)
   102      - Add locking strength and wait policy fields to TableReader, JoinReader,
   103        IndexSkipTableReader, and InterleavedReaderJoiner spec.
   104  - Version: 26 (MinAcceptedVersion: 24)
   105      - Add the numeric tuple field accessor and the ByIndex field to ColumnAccessExpr.
   106  - Version: 27 (MinAcceptedVersion: 27)
   107      - Change how DArray datums are hashed for distinct and aggregation operations.
   108  - Version: 28 (MinAcceptedVersion: 28)
   109      - The CORR aggregate function has been added which will not be recognized
   110        by older nodes. However, new nodes can process plans from older nodes,
   111        so MinAcceptedVersion is unchanged.
   112  - Version: 29 (MinAcceptedVersion: 29)
   113      - The hashing of DArray datums was changed and is incompatible with the
   114        existing method of hashing DArrays.