TIDB源码分析-分析每一次PR(9)

parser: Change syntax error log #33

修改了错误输出的格式。

expression/expressions: replace iconv-go with text/transform #42

使用 golang.org/x/text/encoding和golang.org/x/text/transform替换了github.com/djimenez/iconv-go包,可以不再依赖CGO了。

ddl: Check duplicate when adding column #37

修复在对表增加已经存在的字段时没有检查是否存在,导致应该错误的语句会成功。

tidb: Convert bool type prepared statement args to int8#43

对 prepared statement 中的args参数存在bool类型的转换为int8,具体实现在checkArgs()。

remove the dependence between tables and table #44

修改了table.TableFromMeta的初始化方式。

Update USAGE.md #51

修改了USAGE.md的一个单词。

docs: fix usage example code #52

修改了USAGE.md的示例代码。

localstore: fix concurrent txn commit panic #50

store/localstore/kv_test.go的Goroutine中不能共用同一个txn, err变量。

tidb: fix string() panic if txn is nil #58

修复session.string()中的s.txn(已经提交或会滚则为nil)为空是输出会panic。

parser: Add mode into UnReservedKeyword list #61

mode是mysql的标识符,所以把它加入。

c4pt0r/fix copyright infringement #46

增加了开源协议的描述。

interpreter: mayExit return boolean instead of Exit(0) #60

修复了linux下Ctrl+D等非终止进程指令后直接退出的问题(从此gogland的debug可以通过命令行输入sql语句了)。

codec: support mysql Duration codec #64

对KEY值的编码解码增加了mysql.Duration类型。

*: Add “make check” #41

增加了make check命令用于检查代码的格式是否规范。

tidb: Fix panic in driverStmt.Query #63

对于prepared statement有可能不是查询,那么执行返回结果为空,会引发panic,这个PR修复了它。

tidb: Fix golint error #69

规范语法。

mysqldef: fix TestCodec location bug. #70

修复issue #68 的时区问题。

*: update QL-LICENSE and STRUTIL-LICENSE. #74

修改协议描述

*: Add bit type check in CastValue #71

对mysql.TypeBit映射到int值增加支持。

tables: Remove index data in table.Truncate() #76

在table.Truncate()中增加索引的删除。在删除表的时候已经清理了所有索引,没问题,但是在TRUNCATE(清空)表的时候没有删除索引,看清空表的代码:

// Exec implements the stmt.Statement Exec interface.
func (s *TruncateTableStmt) Exec(ctx context.Context) (rset.Recordset, error) {
	t, err := getTable(ctx, s.TableIdent)
	if err != nil {
		return nil, err
	}
	return nil, t.Truncate(ctx)
}

https://github.com/dawxy/tidb/blob/1e4cdb813feab70b19487e1793eb51b87bc3bf7c/stmt/stmts/truncate.go#L58-L65

发表评论

电子邮件地址不会被公开。 必填项已用*标注

请输入正确的验证码