Skip to content

Commit 6e42ab0

Browse files
committed
schema used pass-by-value and move
1 parent de620f9 commit 6e42ab0

File tree

2 files changed

+26
-23
lines changed

2 files changed

+26
-23
lines changed

include/orm/schema/blueprint.hpp

Lines changed: 9 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -700,24 +700,24 @@ namespace Grammars
700700
}
701701

702702
ColumnDefinitionReference<>
703-
Blueprint::unsignedFloat(const QString &column, const std::optional<int> total,
704-
const std::optional<int> places)
703+
Blueprint::unsignedFloat(const QString &column, std::optional<int> total,
704+
std::optional<int> places)
705705
{
706-
return Float(column, total, places, true);
706+
return Float(column, std::move(total), std::move(places), true);
707707
}
708708

709709
ColumnDefinitionReference<>
710-
Blueprint::unsignedDouble(const QString &column, const std::optional<int> total,
711-
const std::optional<int> places)
710+
Blueprint::unsignedDouble(const QString &column, std::optional<int> total,
711+
std::optional<int> places)
712712
{
713-
return Double(column, total, places, true);
713+
return Double(column, std::move(total), std::move(places), true);
714714
}
715715

716716
ColumnDefinitionReference<>
717-
Blueprint::unsignedDecimal(const QString &column, const std::optional<int> total,
718-
const std::optional<int> places)
717+
Blueprint::unsignedDecimal(const QString &column, std::optional<int> total,
718+
std::optional<int> places)
719719
{
720-
return decimal(column, total, places, true);
720+
return decimal(column, std::move(total), std::move(places), true);
721721
}
722722

723723
void Blueprint::datetimes(std::optional<int> precision)

src/orm/schema/blueprint.cpp

Lines changed: 17 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -296,27 +296,30 @@ ColumnDefinitionReference<> Blueprint::longText(const QString &column)
296296

297297
// TODO schema, fix and unify real/double/float types with latest standard and remove deprecated APIs, what I have understood from the MySQL and PostgreSQL docs it should be like this; I should have real and double (double precision) types without any total, places or precision params and then I should have float type that should have precision param, currently this total and places params are depreceted as described in https://dev.mysql.com/doc/refman/8.0/en/floating-point-types.html and will be removed in future, also add this column types to tests and to the playground also check numeric/decimal type, its different animal silverqx
298298
ColumnDefinitionReference<>
299-
Blueprint::Float(const QString &column, const std::optional<int> total,
300-
const std::optional<int> places, const bool isUnsigned)
299+
Blueprint::Float(const QString &column, std::optional<int> total,
300+
std::optional<int> places, const bool isUnsigned)
301301
{
302-
return addColumn(ColumnType::Float, column, {.places = places, .total = total,
303-
.isUnsigned = isUnsigned});
302+
return addColumn(ColumnType::Float, column,
303+
{.places = std::move(places), .total = std::move(total),
304+
.isUnsigned = isUnsigned});
304305
}
305306

306307
ColumnDefinitionReference<>
307-
Blueprint::Double(const QString &column, const std::optional<int> total,
308-
const std::optional<int> places, const bool isUnsigned)
308+
Blueprint::Double(const QString &column, std::optional<int> total,
309+
std::optional<int> places, const bool isUnsigned)
309310
{
310-
return addColumn(ColumnType::Double, column, {.places = places, .total = total,
311-
.isUnsigned = isUnsigned});
311+
return addColumn(ColumnType::Double, column,
312+
{.places = std::move(places), .total = std::move(total),
313+
.isUnsigned = isUnsigned});
312314
}
313315

314316
ColumnDefinitionReference<>
315-
Blueprint::decimal(const QString &column, const std::optional<int> total,
316-
const std::optional<int> places, const bool isUnsigned)
317+
Blueprint::decimal(const QString &column, std::optional<int> total,
318+
std::optional<int> places, const bool isUnsigned)
317319
{
318-
return addColumn(ColumnType::Decimal, column, {.places = places, .total = total,
319-
.isUnsigned = isUnsigned});
320+
return addColumn(ColumnType::Decimal, column,
321+
{.places = std::move(places), .total = std::move(total),
322+
.isUnsigned = isUnsigned});
320323
}
321324

322325
ColumnDefinitionReference<> Blueprint::boolean(const QString &column)
@@ -445,9 +448,9 @@ ColumnDefinitionReference<> Blueprint::geometry(const QString &column)
445448
}
446449

447450
ColumnDefinitionReference<>
448-
Blueprint::point(const QString &column, const std::optional<quint32> srid)
451+
Blueprint::point(const QString &column, std::optional<quint32> srid)
449452
{
450-
return addColumn(ColumnType::Point, column, {.srid = srid});
453+
return addColumn(ColumnType::Point, column, {.srid = std::move(srid)});
451454
}
452455

453456
ColumnDefinitionReference<> Blueprint::lineString(const QString &column)

0 commit comments

Comments
 (0)