TiDB 2.1 RC2 Release Notes
On September 14, 2018, TiDB 2.1 RC2 is released. Compared with TiDB 2.1 RC1, this release has great improvement in stability, SQL optimizer, statistics information, and execution engine.
TiDB
- SQL Optimizer
- Put forward a proposal of the next generation Planner #7543
- Improve the optimization rules of constant propagation #7276
- Enhance the computing logic of
Rangeto enable it to handle multipleINorEQUALconditions simultaneously #7577 - Fix the issue that the estimation result of
TableScanis incorrect whenRangeis empty #7583 - Support the
PointGetoperator for theUPDATEstatement #7586 - Fix the panic issue during the process of executing the
FirstRowaggregate function in some conditions #7624
- SQL Execution Engine
- Fix the potential
DataRaceissue when theHashJoinoperator encounters an error #7554 - Make the
HashJoinoperator read the inner table and build the hash table simultaneously #7544 - Optimize the performance of Hash aggregate operators #7541
- Optimize the performance of Join operators #7493, #7433
- Fix the issue that the result of
UPDATE JOINis incorrect when the Join order is changed #7571 - Improve the performance of Chunk’s iterator #7585
- Fix the potential
- Statistics
- Fix the issue that the auto Analyze work repeatedly analyzes the statistics #7550
- Fix the statistics update error that occurs when there is no statistics change #7530
- Use the RC isolation level and low priority when building
Analyzerequests #7496 - Support enabling statistics auto-analyze on certain period of a day #7570
- Fix the panic issue when logging the statistics information #7588
- Support configuring the number of buckets in the histogram using the
ANALYZE TABLE WITH BUCKETSstatement #7619 - Fix the panic issue when updating an empty histogram #7640
- Update
information_schema.tables.data_lengthusing the statistics information #7657
- Server
- Add Trace related dependencies #7532
- Enable the
mutex profilefeature of Golang #7512 - The
Adminstatement requires theSuper_privprivilege #7486 - Forbid users to
Dropcrucial system tables #7471 - Switch from
juju/errorstopkg/errors#7151 - Complete the functional prototype of SQL Tracing #7016
- Remove the goroutine pool #7564
- Support viewing the goroutine information using the
USER1signal #7587 - Set the internal SQL to high priority while TiDB is started #7616
- Use different labels to filter internal SQL and user SQL in monitoring metrics #7631
- Store the top 30 slow queries in the last week to the TiDB server #7646
- Put forward a proposal of setting the global system time zone for the TiDB cluster #7656
- Enrich the error message of “GC life time is shorter than transaction duration” #7658
- Set the global system time zone when starting the TiDB cluster #7638
- Compatibility
- Add the unsigned flag for the
Yeartype #7542 - Fix the issue of configuring the result length of the
Yeartype in thePrepare/Executemode #7525 - Fix the issue of inserting zero timestamp in the
Prepare/Executemode #7506 - Fix the error handling issue of the integer division #7492
- Fix the compatibility issue when processing
ComStmtSendLongData#7485 - Fix the error handling issue during the process of converting string to integer #7483
- Optimize the accuracy of values in the
information_schema.columns_in_tabletable #7463 - Fix the compatibility issue when writing or updating the string type of data using the MariaDB client #7573
- Fix the compatibility issue of aliases of the returned value #7600
- Fix the issue that the
NUMERIC_SCALEvalue of the float type is incorrect in theinformation_schema.COLUMNStable #7602 - Fix the issue that Parser reports an error when the single line comment is empty #7612
- Add the unsigned flag for the
- Expressions
- Check the value of
max_allowed_packetin theinsertfunction #7528 - Support the built-in function
json_contains#7443 - Support the built-in function
json_contains_path#7596 - Support the built-in function
encode/decode#7622 - Fix the issue that some time related functions are not compatible with the MySQL behaviors in some cases #7636
- Fix the compatibility issue of parsing the time type of data in string #7654
- Fix the issue that the time zone is not considered when computing the default value of the
DateTimedata #7655
- Check the value of
- DML
- DDL
- Add the DDL job type and the current schema version information in the monitor #7472
- Complete the design of the
Admin Restore Tablefeature #7383 - Fix the issue that the default value of the
Bittype exceeds 128 #7249 - Fix the issue that the default value of the
Bittype cannot beNULL#7604 - Reduce the interval of checking
CREATE TABLE/DATABASEin the DDL queue #7608 - Use the
ddl/owner/resignHTTP interface ro release the DDL owner and start electing a new owner #7649
- TiKV Go Client
- Support the issue that the
Seekoperation only obtainsKey#7419
- Support the issue that the
- Table Partition (Experimental)
PD
- Features
- Improvements
- Optimize the handling process of down stores to make up replicas as soon as possible #1222
- Optimize the start of Coordinator to reduce the unnecessary scheduling caused by restarting PD #1225
- Optimize the memory usage to reduce the overhead caused by heartbeats #1195
- Optimize error handling and improve the log information #1227
- Support querying the Region information of a specific store in pd-ctl #1231
- Support querying the topN Region information based on version comparison in pd-ctl #1233
- Support more accurate TSO decoding in pd-ctl #1242
- Bug fix
- Fix the issue that pd-ctl uses the
hot storecommand to exit wrongly #1244
- Fix the issue that pd-ctl uses the
TiKV
- Performance
- Improvements
- Add the pushdown support for a large number of built-in functions
- Add the
leader-transfer-max-log-lagconfiguration to fix the failure issue of leader scheduling in specific scenarios #3507 - Add the
max-open-enginesconfiguration to limit the number of engines opened bytikv-importersimultaneously #3496 - Limit the cleanup speed of garbage data to reduce the impact on
snapshot apply#3547 - Broadcast the commit message for crucial Raft messages to avoid unnecessary delay #3592
- Bug fixes