Skip to content

Commit 87e310e

Browse files
committed
refactor: prefer qAutoInc in SQLProvider over dedicated AutoIncName method
1 parent 4737689 commit 87e310e

File tree

6 files changed

+11
-18
lines changed

6 files changed

+11
-18
lines changed

source/copytable.pas

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -416,7 +416,7 @@ procedure TCopyTableForm.btnOKClick(Sender: TObject);
416416
for Column in SelectedColumns do begin
417417
AutoIncGetsKey := False;
418418
AutoIncRemoved := False;
419-
AutoIncName := Column.AutoIncName;
419+
AutoIncName := FConnection.SqlProvider.GetSql(qAutoInc);
420420
if Column.DefaultType = cdtAutoInc then begin
421421
for Key in SelectedKeys do begin
422422
// Don't check index type, MySQL allows auto-increment columns on nearly all indexes

source/dbconnection.pas

Lines changed: 3 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -62,7 +62,6 @@ TTableColumn = class(TPersistent)
6262
function CastAsText: String;
6363
property Status: TEditingStatus read FStatus write SetStatus;
6464
property Connection: TDBConnection read FConnection;
65-
function AutoIncName: String;
6665
function FullDataType: String;
6766
end;
6867
PTableColumn = ^TTableColumn;
@@ -5884,7 +5883,7 @@ function TDBConnection.GetTableColumns(Table: TDBObject): TTableColumnList;
58845883
else if ExecRegExpr('\bauto_increment\b', ExtraText.ToLowerInvariant) then begin
58855884
// MySQL auto increment
58865885
Col.DefaultType := cdtAutoInc;
5887-
Col.DefaultText := Col.AutoIncName;
5886+
Col.DefaultText := FSqlProvider.GetSql(qAutoInc);
58885887
end
58895888
else if DefText.ToLowerInvariant = 'null' then begin
58905889
Col.DefaultType := cdtNull;
@@ -5972,7 +5971,7 @@ function TMySQLConnection.GetTableColumns(Table: TDBObject): TTableColumnList;
59725971
Col.OnUpdateType := cdtNothing;
59735972
if ExecRegExpr('^auto_increment$', ExtraText.ToLowerInvariant) then begin
59745973
Col.DefaultType := cdtAutoInc;
5975-
Col.DefaultText := Col.AutoIncName;
5974+
Col.DefaultText := FSqlProvider.GetSql(qAutoInc);
59765975
end else if ColQuery.IsNull('Default') then begin
59775976
Col.DefaultType := cdtNothing;
59785977
end else if IsTextDefault(DefText, Col.DataType) then begin
@@ -10831,7 +10830,7 @@ function TTableColumn.SQLCode(OverrideCollation: String=''; Parts: TColumnParts=
1083110830
cdtAutoInc: begin
1083210831
case FConnection.Parameters.NetTypeGroup of
1083310832
ngPgSQL:;
10834-
else Result := Result + AutoIncName;
10833+
else Result := Result + FConnection.SqlProvider.GetSql(qAutoInc);
1083510834
end;
1083610835
end;
1083710836
cdtExpression: begin
@@ -10952,15 +10951,6 @@ function TTableColumn.CastAsText: String;
1095210951
end;
1095310952

1095410953

10955-
function TTableColumn.AutoIncName: String;
10956-
begin
10957-
case FConnection.Parameters.NetTypeGroup of
10958-
ngPgSQL: Result := 'SERIAL';
10959-
else Result := 'AUTO_INCREMENT';
10960-
end;
10961-
end;
10962-
10963-
1096410954
function TTableColumn.FullDataType: String;
1096510955
begin
1096610956
Result := DataType.Name;

source/dbstructures.pas

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -51,7 +51,8 @@ interface
5151
qGetReverseForeignKeys, qExplain, qSetTimezone,
5252
qShowFunctionStatus, qShowProcedureStatus, qShowTriggers, qShowEvents, qShowCreateTrigger,
5353
qHelpKeyword, qShowWarnings, qGetEnumTypes,
54-
qDropUser, qCreateRole, qDropRole, qReloadPrivileges, qGrantRole, qRevokeRole, qSetDefaultRole);
54+
qDropUser, qCreateRole, qDropRole, qReloadPrivileges, qGrantRole, qRevokeRole, qSetDefaultRole,
55+
qAutoInc);
5556
TSqlProvider = class
5657
strict protected
5758
FNetType: TNetType;
@@ -214,6 +215,7 @@ function TSqlProvider.GetSql(AId: TQueryId): string;
214215
qOrderAsc: Result := 'ASC';
215216
qOrderDesc: Result := 'DESC';
216217
qGetRowCountExact: Result := 'SELECT COUNT(*) FROM :QuotedDbAndTableName';
218+
qAutoInc: Result := 'AUTO_INCREMENT';
217219
else Result := '';
218220
end;
219221
end;

source/dbstructures.postgresql.pas

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -742,6 +742,7 @@ function TPostgreSQLProvider.GetSql(AId: TQueryId): string;
742742
'ORDER BY UPPER(t.typname)',
743743
'' // ServerVersion < 9
744744
);
745+
qAutoInc: Result := 'SERIAL';
745746
else Result := inherited;
746747
end;
747748
end;

source/grideditlinks.pas

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1383,7 +1383,7 @@ constructor TColumnDefaultEditorLink.Create(Tree: TVirtualStringTree; AllowEdit:
13831383
FRadioAutoInc.Width := FRadioAutoInc.Parent.Width - 2 * FRadioAutoInc.Left;
13841384
FRadioAutoInc.OnClick := RadioClick;
13851385
FRadioAutoInc.OnKeyDown := DoKeyDown;
1386-
FRadioAutoInc.Caption := Col.AutoIncName;
1386+
FRadioAutoInc.Caption := FTableColumn.Connection.SqlProvider.GetSql(qAutoInc);
13871387

13881388
FBtnOk := TButton.Create(FPanel);
13891389
FBtnOk.Parent := FPanel;
@@ -1547,7 +1547,7 @@ function TColumnDefaultEditorLink.EndEdit: Boolean; stdcall;
15471547
cdtText: Col.DefaultText := FTextEdit.Text;
15481548
cdtNull: Col.DefaultText := 'NULL';
15491549
cdtExpression: Col.DefaultText := FExpressionEdit.Text;
1550-
cdtAutoInc: Col.DefaultText := Col.AutoIncName;
1550+
cdtAutoInc: Col.DefaultText := Col.Connection.SqlProvider.GetSql(qAutoInc);
15511551
end;
15521552

15531553
if FOnUpdateEdit.Text <> '' then

source/table_editor.pas

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1536,7 +1536,7 @@ procedure TfrmTableEditor.listColumnsGetText(Sender: TBaseVirtualTree;
15361536
cdtText: CellText := Col.Connection.EscapeString(Col.DefaultText);
15371537
cdtNull: CellText := 'NULL';
15381538
cdtExpression: CellText := Col.DefaultText;
1539-
cdtAutoInc: CellText := Col.AutoIncName;
1539+
cdtAutoInc: CellText := Col.Connection.SqlProvider.GetSql(qAutoInc);
15401540
end;
15411541
case Col.OnUpdateType of
15421542
// cdtNothing: leave clause away

0 commit comments

Comments
 (0)