summaryrefslogtreecommitdiff
path: root/packages
diff options
context:
space:
mode:
authorreiniero <reiniero@3ad0048d-3df7-0310-abae-a5850022a9f2>2014-03-15 14:24:53 +0000
committerreiniero <reiniero@3ad0048d-3df7-0310-abae-a5850022a9f2>2014-03-15 14:24:53 +0000
commita9cba8bce9d48287deb27efb0730524ae7407773 (patch)
treed534117a58adf3fc3e036543101d795f19108a15 /packages
parent332269c589533373edb5848ea72289eb849d3471 (diff)
downloadfpc-a9cba8bce9d48287deb27efb0730524ae7407773.tar.gz
fcl-db: dbtestframework: cosmetic
git-svn-id: http://svn.freepascal.org/svn/fpc/trunk@27145 3ad0048d-3df7-0310-abae-a5850022a9f2
Diffstat (limited to 'packages')
-rw-r--r--packages/fcl-db/tests/sqldbtoolsunit.pas12
1 files changed, 5 insertions, 7 deletions
diff --git a/packages/fcl-db/tests/sqldbtoolsunit.pas b/packages/fcl-db/tests/sqldbtoolsunit.pas
index a6778d2971..7325d19abb 100644
--- a/packages/fcl-db/tests/sqldbtoolsunit.pas
+++ b/packages/fcl-db/tests/sqldbtoolsunit.pas
@@ -141,11 +141,11 @@ const
function IdentifierCase(const s: string): string;
begin
- // format unquoted identifier name as required by sql servers
+ // format unquoted identifier name as required by SQL servers
case SQLServerType of
ssPostgreSQL: Result := LowerCase(s); // PostgreSQL stores unquoted identifiers in lowercase (incompatible with the SQL standard)
ssInterbase,
- ssFirebird : Result := UpperCase(s);
+ ssFirebird : Result := UpperCase(s); // Dialect 1 requires uppercase; dialect 3 is case agnostic
else
Result := s; // mixed case
end;
@@ -263,12 +263,12 @@ begin
end;
FTransaction.Commit;
end;
- ssMySQL:
+ ssMySQL:
begin
FieldtypeDefinitions[ftWord] := 'SMALLINT UNSIGNED';
// MySQL recognizes BOOLEAN, but as synonym for TINYINT, not true sql boolean datatype
FieldtypeDefinitions[ftBoolean] := '';
- // Use 'DATETIME' for datetime-fields instead of timestamp, because
+ // Use 'DATETIME' for datetime fields instead of timestamp, because
// mysql's timestamps are only valid in the range 1970-2038.
// Downside is that fields defined as 'TIMESTAMP' aren't tested
FieldtypeDefinitions[ftDateTime] := 'DATETIME';
@@ -276,6 +276,7 @@ begin
FieldtypeDefinitions[ftVarBytes] := 'VARBINARY(10)';
FieldtypeDefinitions[ftMemo] := 'TEXT';
// Add into my.ini: sql-mode="...,PAD_CHAR_TO_FULL_LENGTH,ANSI_QUOTES" or set it explicitly by:
+ // PAD_CHAR_TO_FULL_LENGTH to avoid trimming trailing spaces contrary to SQL standard (MySQL 5.1.20+)
FConnection.ExecuteDirect('SET SESSION sql_mode=''STRICT_ALL_TABLES,PAD_CHAR_TO_FULL_LENGTH,ANSI_QUOTES''');
FTransaction.Commit;
end;
@@ -356,9 +357,6 @@ begin
testValues[ftCurrency,i] := QuotedStr(CurrToStr(testCurrencyValues[i]));
// SQLite does not support fixed length CHAR datatype
- // MySQL by default trimms trailing spaces on retrieval; so set sql-mode="PAD_CHAR_TO_FULL_LENGTH" - supported from MySQL 5.1.20
- // MSSQL set SET ANSI_PADDING ON
- // todo: verify Sybase behaviour
if SQLServerType in [ssSQLite] then
for i := 0 to testValuesCount-1 do
testValues[ftFixedChar,i] := PadRight(testValues[ftFixedChar,i], 10);