mirror of
https://github.com/HeidiSQL/HeidiSQL.git
synced 2025-08-06 18:24:26 +08:00
Disable non working column default values for given data type. Fixes issue #1519.
This commit is contained in:
@ -1117,20 +1117,29 @@ end;
|
||||
|
||||
|
||||
function TColumnDefaultEditorLink.PrepareEdit(Tree: TBaseVirtualTree; Node: PVirtualNode; Column: TColumnIndex): Boolean; stdcall;
|
||||
var
|
||||
DataTypeCategory: TDataTypeCategoryIndex;
|
||||
begin
|
||||
inherited PrepareEdit(Tree, Node, Column);
|
||||
|
||||
case DefaultType of
|
||||
cdtNothing: FRadioNothing.Checked := True;
|
||||
cdtText, cdtTextUpdateTS: begin
|
||||
FRadioText.Checked := True;
|
||||
FMemoText.Text := DefaultText;
|
||||
end;
|
||||
cdtNull, cdtNullUpdateTS: FRadioNull.Checked := True;
|
||||
cdtCurTS, cdtCurTSUpdateTS: FRadioCurTS.Checked := True;
|
||||
cdtAutoInc: FRadioAutoInc.Checked := True;
|
||||
end;
|
||||
// Check relevant radio button
|
||||
FRadioNothing.Checked := DefaultType = cdtNothing;
|
||||
FRadioText.Checked := DefaultType in [cdtText, cdtTextUpdateTS];
|
||||
FRadioNull.Checked := DefaultType in [cdtNull, cdtNullUpdateTS];
|
||||
FRadioCurTS.Checked := DefaultType in [cdtCurTS, cdtCurTSUpdateTS];
|
||||
FCheckCurTS.Checked := DefaultType in [cdtTextUpdateTS, cdtNullUpdateTS, cdtCurTSUpdateTS];
|
||||
FRadioAutoInc.Checked := DefaultType = cdtAutoInc;
|
||||
|
||||
if FRadioText.Checked then
|
||||
FMemoText.Text := DefaultText;
|
||||
|
||||
// Disable non working default options per data type
|
||||
// But leave checked option enabled, regardless of if that is a valid default option or not
|
||||
DataTypeCategory := Datatypes[Integer(Datatype)].Category;
|
||||
FRadioCurTS.Enabled := FRadioCurTS.Checked or (DataType = dtTimestamp);
|
||||
FCheckCurTS.Enabled := FCheckCurTS.Checked or FRadioCurTS.Enabled;
|
||||
FRadioAutoInc.Enabled := FRadioAutoInc.Checked or (DataTypeCategory = dtcInteger);
|
||||
|
||||
Result := True;
|
||||
end;
|
||||
|
||||
|
@ -1250,6 +1250,7 @@ begin
|
||||
DefaultEditor := TColumnDefaultEditorLink.Create(VT);
|
||||
DefaultEditor.DefaultText := Col.DefaultText;
|
||||
DefaultEditor.DefaultType := Col.DefaultType;
|
||||
DefaultEditor.DataType := Col.DataType.Index;
|
||||
EditLink := DefaultEditor;
|
||||
end
|
||||
else
|
||||
|
Reference in New Issue
Block a user