Commit Graph

63 Commits

Author SHA1 Message Date
b81e547e66 executor: fix err check (#22991) 2021-03-03 19:26:56 +08:00
27db39b480 *: use CLUSTERED and NONCLUSTERED to control primary key type (#22409) 2021-02-05 20:41:41 +08:00
edb2741f36 executor: refine bigint unsigned primary key duplicate error (#22153) 2021-01-27 16:57:01 +08:00
c7165bc518 executor, planner: ON DUPLICATE UPDATE can refer to un-project col (#14412)
Co-authored-by: Kenan Yao <cauchy1992@gmail.com>
Co-authored-by: ti-srebot <66930949+ti-srebot@users.noreply.github.com>
2021-01-06 19:03:51 +08:00
b112c3c9a3 types: Add a limitation about float data type (#20929) 2020-12-23 16:47:59 +08:00
0c3c4c588a *: Let binary literal can be convert to enum and set (#20789) 2020-12-02 20:15:18 +08:00
549a34f1e8 executor: fix duplicate error message in warnings (#20920)
Co-authored-by: wjHuang <huangwenjun1997@gmail.com>
2020-12-02 11:02:38 +08:00
32d19b78e1 *: refine runtime stats display and tiny bug fix for metrics (#21022)
Signed-off-by: crazycs520 <crazycs520@gmail.com>
2020-11-26 16:35:25 +08:00
83c1652633 expression, executor: allow insert strings with overflowed trailing spaces (#20987) 2020-11-24 18:06:16 +08:00
a81c89f89b ddl: support column type change from date time type to other types (#20778) 2020-11-12 19:06:42 +08:00
04729d2b25 executor: fix wrong default zero value for year type (#20824) 2020-11-04 16:12:01 +08:00
23d8b30470 expression, executor: add iso 8601 and timezone support for temporal string literal (#20534) 2020-10-27 16:24:59 +08:00
fd0a18a90c types: fix FLOAT data overflow check (#20067) (#20158) 2020-09-27 18:57:42 +08:00
0017a1717e *: fix the bug about the insertRuntimeStat.String() (#20190)
Signed-off-by: jyz0309 <45495947@qq.com>
2020-09-27 18:48:43 +08:00
32d86e26c2 *: fix message for duplicate entry error (#20203)
Co-authored-by: ti-srebot <66930949+ti-srebot@users.noreply.github.com>
2020-09-25 16:10:56 +08:00
6271bd472e expression: fix inaccurate error info for year column out of range (#18871) 2020-09-23 15:52:30 +08:00
bd06d239a2 tablecodec: support decode common handle bytes to strings (#18953)
* tablecodec: support decode common handle bytes to strings

* address comments

Co-authored-by: ti-srebot <66930949+ti-srebot@users.noreply.github.com>
2020-08-04 13:35:48 +08:00
a99ae5340e executor: padding short common handle (#18332) 2020-07-02 18:28:28 +08:00
e0be394f0b planner: correct ResolveIndices on common handles for index lookup reader (#18239)
Co-authored-by: ti-srebot <66930949+ti-srebot@users.noreply.github.com>
2020-06-29 10:07:04 +08:00
6e7994a850 ddl: limit the range of auto_random_base (#18188)
* ddl: limit the range of auto_random_base

* sort import

* make fmt

* Apply suggestions from code review

Co-authored-by: djshow832 <zhangming@pingcap.com>

Co-authored-by: djshow832 <zhangming@pingcap.com>
Co-authored-by: ti-srebot <66930949+ti-srebot@users.noreply.github.com>
2020-06-28 19:19:05 +08:00
xhe
773b29102d charset: add missing ascii check(#18193) 2020-06-27 15:34:26 +08:00
5250f7f53f *: support clustered index in double read (#18127) 2020-06-23 15:33:38 +08:00
463d085342 planner: check clustered index don't need double read (#18054) 2020-06-17 14:37:21 +08:00
f12cdc4201 config: remove allow-auto-random config option (#16596) 2020-06-10 14:09:12 +08:00
62d251afb2 *: support index scan for clustered index. (#17853) 2020-06-10 11:13:28 +08:00
88dfb22dc5 executor: support batch-get cluster index & add test case (#17858) 2020-06-09 13:40:47 +08:00
73c4673f30 *: support update/delete/insert ignore/duplicate update in single cluster index table (#17721) 2020-06-08 20:55:31 +08:00
d66d5028da *: support plain insert on cluster index table (#17674) 2020-06-05 13:23:43 +08:00
a3d5082094 sessionctx, executor: add session var to control explicit insertion on auto_random column (#17102) 2020-05-26 20:32:10 +08:00
0de6925e12 ddl: Add some limit for auto_random (#17119) 2020-05-15 21:28:44 +08:00
a0c7407846 executor: set length and frac when we change zero to decimal t… (#16518) 2020-04-18 00:01:37 +08:00
1ff32ace27 executor: use MySQL compatible truncate error code (#15422) 2020-03-18 12:28:43 +08:00
ab17254e3b executor: fix error message when inserting an invalid value for type datetime (#15220) 2020-03-12 12:04:03 +08:00
dcb8b3d5dd executor: fix last_insert_id in auto_random mode (#15145) 2020-03-05 15:59:18 +08:00
30e2bdcc52 *: remove some debug print in test files (#14977) 2020-02-28 12:52:59 +08:00
dad33fff9d exec: remove duplicate auto-generated test cases (#14910) 2020-02-24 15:54:07 +08:00
23ce3b29c9 rowcodec: make TypeYear's decodeDatum result consist with insert datum (#14717) 2020-02-12 14:56:59 +08:00
099782898e rowcodec: fix lose decimal precision during decode new row format to datum (#14631) 2020-02-05 10:10:24 +08:00
870d4b19c8 *: support auto_increment_increment & auto_increment_offset. (#14301) 2020-01-08 10:18:39 +08:00
39ed9f326a executor: Speed up unit tests (#14357) 2020-01-06 21:20:09 +08:00
206cdbedfc types: fix insert error when convert string to float (#13716) 2019-12-10 16:03:25 +08:00
71e19a7308 Allocate continuous row id for single INSERT statement (#13648) 2019-11-22 16:22:08 +08:00
a0ea49c342 expression : fix bug in insert select union select. (#13632) 2019-11-20 20:36:03 +08:00
9b0334601a executor: speed up test (#12896) 2019-10-23 21:11:21 +08:00
01cddf63d9 dml : Multiple rows insert in a statement should have consecutive autoID if needed. (#11876)
* consecutive id

* add AllocN interface func for util/kvencoder/allocator.go

* fix allocN test

* fix allocN tests

* fix allocN test 1

* fix allocN test 2

* fix allocN test 3

* fix allocN test 4

* fix cache

* add auto consecutive increment id in insert executor

* add auto consecutive increment id comment in insert executor

* try fix test case

* fix session_test.TestAutoIncrementID autoid overflow

* fix session_test.TestAutoIncrementID unsighed autoid overflow

* fix autoid usigned computing overflow

* fix conflict with suli's PR

* fix index out of range

* merge similar function

* delete fillRowLazy

* fix commment

* fix bug of rebase

* fix auto.go maxUint64 will be allocated

* fix maxInt64 autoid allocated

* fix batch rowIdx update

* add maxUint64 and maxInt64 limit in allocN

* reconstruct the autoid lazy alloc

* fix format

* remove commnet

* use new kind of logutil.logger(ctx) instead of logutil.BgLogger()

* combine alloc() and allocN together

* remove cache of hasValue

* remove cache of hasValue

* remove cache of hasValue

* remove cache of hasValue

* add test : autoID can find in retryInfo

* add test : autoID can find in retryInfo

* extract retry logic

* extract retry logic

* Update executor/insert_common.go

Co-Authored-By: bb7133 <bb7133@gmail.com>

* Update executor/insert_common.go

Co-Authored-By: bb7133 <bb7133@gmail.com>

* fix comment

* fix comment

* fix comment

* fix comment

* fix comment

* return min and max instead of slice in alloc autoid

* return min and max instead of slice in alloc autoid

* return min and max instead of slice in alloc autoid

* add comment for alloc N
2019-10-10 10:34:44 +08:00
2bba5654b4 types/data: the bit data type should be treat as uint64 (#11951) 2019-09-26 19:14:31 +08:00
64298f0278 *: refactoring the code of batchChecker (#12108)
batchChecker is difficult to maintain, we should get rid of it.
In this commit, I catch the BatchGet result into the snapshot, in this way we can
achieve the same goal as the batchChecker
2019-09-10 16:36:49 +08:00
dbdb2f4331 dml : fix last insert id when autoid specified by user in first row. (#11973) 2019-09-02 21:44:35 +08:00
b3f71868c1 executor: fix autoid doesn't handle float, double type and tin… (#11110) 2019-07-22 19:19:54 +08:00
9385c6eca0 executor: fix a bug of 'insert on duplicate update' statement on partitioned table (#11204)
In this statement: insert into t1 set a=1,b=1 on duplicate key update a=1,b=1
Batch checker find a=1,b=1 is duplicated, then in the "on duplicate update" step,
it uses the non-partitioned table to get the old row, which is a bug.
getOldRow returns this error: (1105, u'can not be duplicated row, due to old row not found. handle 1 not found')
2019-07-11 15:24:27 +08:00