Commit Graph

83 Commits

Author SHA1 Message Date
66f5754c68 *: add trace support for the AllocAutoIncrementValue function (#11158) 2019-07-10 15:07:42 +08:00
ff82b62b97 *: refactor the optional arguments for table.AddRecord and index.Create (#11018) 2019-07-02 15:51:29 +08:00
612936bbd4 *: Support LOCK/UNLOCK TABLES feature (#10343) 2019-06-18 15:38:04 +08:00
7d27fa63d3 ddl, table: allow using SHARD_ROW_ID_BITS with auto_incremental columns (#10759) 2019-06-12 20:43:29 +08:00
f73c4e2d58 table: fix error code different from mysql "error 1604 : locate partition failed" (#9294) 2019-02-14 16:53:16 +08:00
3c98f69266 *: support select partition for partition table (#8990) 2019-01-14 20:55:52 +08:00
1232db5590 planner/core: add DefaultExpr support for expressionRewriter (#8540) 2019-01-02 23:36:36 +08:00
b3698f6670 executor: fix panic and update error data when table has column in write only state (#8792) 2019-01-02 15:49:39 +08:00
e06c87d3c1 add an option for AddRecord and Create (#8884) 2019-01-02 11:30:53 +08:00
89dda9d9a8 *: move parser to a separate repository (#8036) 2018-10-25 11:12:10 +08:00
bbec68304e executor,table: support replace operation for table partition (#7309) 2018-08-16 13:28:50 +08:00
82a6c1085c *: introduce the concept of physical ID, code refactory (#7374) 2018-08-16 10:33:24 +08:00
1f8710762d execute/insert: refine data truncate error msg (#7401) 2018-08-16 00:02:45 +08:00
f6dbad0f5c *: move the dirty table modification to table package (#7289) 2018-08-07 15:38:01 +08:00
6dc3f94393 table: Add a new interface in table.Table (#7167)
In some cases, We need to get the PartitionID instead of the TableID. So
we should call GetID() instead of Meta().ID.
2018-07-27 11:22:52 +08:00
26a0338ed5 table: table and partition refactor (#6963)
* let partition and table share the common code
* introduce a new PartitionedTable
2018-07-10 00:32:36 +08:00
ab332eba2a executor: BadNullError should be ignored by insert ignore statement (#6465) 2018-06-29 13:15:31 +08:00
9ec13e8898 table/tables: modify AddRecord to handle table partition (#6684)
If table partition is used, AddRecord will add records to the
partition, according to the partition definitions.
2018-06-11 11:06:36 +08:00
4e1a114e68 *: move package context to sessionctx (#5890) 2018-02-22 18:03:38 +08:00
31b606d30d executer: optimization for insert ignore (#5508) 2018-01-12 11:09:25 +08:00
5f468489ab util: add kvencoder package, make transfer sql to key-values be possible. (#5236) 2017-11-29 18:01:31 +08:00
14ed94132c executor: fix issue #5132, update handle id with some other unique keys report Duplicate keys. (#5138) 2017-11-20 11:06:28 +08:00
62433663e5 util/types: change types path (#5007)
* util/types: change types path
2017-11-04 10:37:14 -05:00
a6756a4eee *: make insert with calculated value behave the same as MySQL. (#4603) 2017-09-27 19:59:31 +08:00
339c93e5f9 add real tables for global/session status in performance schema (#4523) 2017-09-18 17:10:34 +08:00
597796e166 *: fix bad column offsets in DML. (#3754) 2017-07-28 20:56:25 +08:00
cca10bab58 table: check and truncate UTF8 string in CastValue. (#2819) 2017-03-15 11:26:19 +08:00
6748d3e83e *: add comment for show table status. (#2032) 2016-11-18 19:10:25 +08:00
3738794502 util/types, table: truncate string by rune count, remove UTF8 validation (#1877)
Column length defined in create table should limits the rune count rather than bytes.
And MySQL doesn't return error for inserting invalid UTF8 string, we should not do it.
2016-10-26 20:34:35 +08:00
d04dea2c57 *: use schema diff to reduce memory allocation (#1858)
When schema version has changed, we don't need to reload all schemas, only
modified table need to be reloaded, this will reduce the pressure on Go garbage collector.

Also removed used map in *inforSchema.
2016-10-24 15:17:44 +08:00
3d670c47b0 executor,table: remove LockKeys and Truncate method in Table interface. (#1833)
Those two method should not be defiend in Table, LockKeys should be implemented
In SelectLock executor, Truncate has changed to use DDL operation.
2016-10-18 00:35:45 +08:00
ff1c7b1f0a table: check valid UTF8 value for UTF8 column (#1818)
We need to check if the input data is valid UTF8 string if the column charset is UTF8,
Otherwise, it may cause more serious error in the future, and hard to fix.
2016-10-14 16:00:02 +08:00
2b5d2b15d0 *: Fix mysql_test and make autoid rebase method more efficient. (#1637)
* *: fix mysql_test and more efficient autoid rebase method.
2016-08-25 17:49:51 +08:00
fa06043ce7 More efficient autoid rebase methord (#1631)
Prevent update kv everytime when rebase autoid
2016-08-24 11:18:40 +08:00
d1afacc451 table: export WritableCols (#1369) 2016-07-01 12:55:04 +08:00
cad94acb54 Store row data in single kv pair (#1347) 2016-06-28 11:15:09 +08:00
dd6bfacdb8 *: refactor index, use TableInfo and IndexInfo to create an Index (#1333) 2016-06-21 15:26:20 +08:00
7c7b1b59f5 *: Unify error (#1273)
* *: unify error format in table, server and xapi package

* terror: remove duplicated code
2016-05-31 15:06:11 +08:00
f09574d826 *: support sql mode (#1263) 2016-05-30 13:16:41 +08:00
622f8fca2a *: refactor, move index and column into table package. (#1251) 2016-05-24 11:08:15 +08:00
228f1d7026 support hash join in new plan (#1234)
* support hash join.

* fix some errors

* add test for predicate push down

* change substitutor...

* add bench mark

* change comment

* fix bug.
2016-05-19 15:43:16 +08:00
c26dfd54e4 executor: Change interface to datum in executor. (#1103)
Change interface to datum in executor.
2016-04-20 09:52:23 +08:00
xia
7a7026e750 *: add a null kind judgment in the update statement and update comments 2016-03-18 14:29:57 +08:00
xia
15c0319294 *: fix issue 962 and handle other questions about auto increment. 2016-03-18 12:23:55 +08:00
cd0a3dbe03 *: add Rebase interface and add tests 2016-03-10 15:13:18 +08:00
515f193bd2 *: Remove coldef package
There are lots of redundancies between ast and coldef. So we remove
coldef.
2016-03-05 19:11:04 +08:00
d5941446c2 table: replace interface{} with Datum in table. 2016-03-02 21:01:20 +08:00
043ebd5ec8 *: Refactor package organization
1. Move evaluator from optimizer to root dir.
2. Move builtin from expression to evaluator.
3. Remove expression package.
2016-03-02 13:48:22 +08:00
b47cf737c8 *: add Table.Seek method and use handle for RowKeyEntry.
Avoid calling `table/tables` methods in `executor`, makes `Table` interface independent.
2016-02-19 14:31:04 +08:00
ec475aae5f *: simplify 'table.Table` interface.
Makes it easier to implement a in-memory table.
2016-02-18 20:58:53 +08:00