mirror of
https://github.com/HeidiSQL/HeidiSQL.git
synced 2025-08-06 18:24:26 +08:00
Issue #12: Implement TDBConnection.GetTableColumns and .GetTableKeys (todo: .GetTableForeignKeys), as a replacement for the error prone ParseTableStructure. SQLite columns and keys should be parsed correctly now, MS SQL and PostgreSQL may now have some glitches to fix.
This commit is contained in:
@ -332,7 +332,9 @@ begin
|
||||
else
|
||||
SynMemoPartitions.Clear;
|
||||
|
||||
DBObject.Connection.ParseTableStructure(DBObject.CreateCode, FColumns, FKeys, FForeignKeys);
|
||||
FColumns := DBObject.TableColumns;
|
||||
FKeys := DBObject.TableKeys;
|
||||
FForeignKeys := DBObject.TableForeignKeys;
|
||||
end;
|
||||
listColumns.RootNodeCount := FColumns.Count;
|
||||
DeInitializeVTNodes(listColumns);
|
||||
@ -2374,7 +2376,7 @@ var
|
||||
Key, OtherKey: TForeignKey;
|
||||
i, j, k: Integer;
|
||||
NameInUse: Boolean;
|
||||
RefCreateCode, RefDatabase, RefTable: String;
|
||||
RefDatabase, RefTable: String;
|
||||
KeyColumnsSQLCode, RefColumnsSQLCode: String;
|
||||
Err: String;
|
||||
RefColumns: TTableColumnList;
|
||||
@ -2429,9 +2431,7 @@ begin
|
||||
RefObj.Name := RefTable;
|
||||
RefObj.Database := RefDatabase;
|
||||
RefObj.NodeType := lntTable;
|
||||
RefCreateCode := DBObject.Connection.GetCreateCode(RefObj);
|
||||
RefColumns := TTableColumnList.Create(True);
|
||||
DBObject.Connection.ParseTableStructure(RefCreateCode, RefColumns, nil, nil);
|
||||
RefColumns := RefObj.TableColumns;
|
||||
TypesMatch := True;
|
||||
KeyColumnsSQLCode := '';
|
||||
RefColumnsSQLCode := '';
|
||||
|
Reference in New Issue
Block a user