6.1 函数头
static void reloadTableSchema(Parse pParse, Table pTab, const char *zName)
生成代码删除和重新加载从数据库表pTab的内部模式,包括触发器和临时触发器。
参数zName在数据库模式中的表的名称生成的代码执行。这可以不同于pTab - > zName如果这个函数被调用的代码的一部分“ALTER TABLE RENAME TO”声明。
6.2 工作流程
(1)判断如果v==0从不会发生,则返回0;
(2)如果当前线程保持了与数据库连接的互斥量和所有必须的BtShared的互斥量,函数返回true,该函数只用于assert()函数内部。赋值索引数据库模式。
(3)循环判断触发器列表,赋值触发器索引数据库模式,删除所有的触发器的内部模式
(4)删除内部模式中的表和索引,之后加载表、索引和不变的触发器模式,返回zWhere
(5)如果表没有在临时数据库中在存储,那么重载所有的临时触发器,返回zWhere