|
@@ -23,54 +23,13 @@ type
|
|
TSQLConnType = (mysql40,mysql41,mysql50,mysql51,mysql55,postgresql,interbase,odbc,oracle,sqlite3,mssql,sybase);
|
|
TSQLConnType = (mysql40,mysql41,mysql50,mysql51,mysql55,postgresql,interbase,odbc,oracle,sqlite3,mssql,sybase);
|
|
TSQLServerType = (ssFirebird, ssInterbase, ssMSSQL, ssMySQL, ssOracle, ssPostgreSQL, ssSQLite, ssSybase, ssUnknown);
|
|
TSQLServerType = (ssFirebird, ssInterbase, ssMSSQL, ssMySQL, ssOracle, ssPostgreSQL, ssSQLite, ssSybase, ssUnknown);
|
|
|
|
|
|
-const MySQLConnTypes = [mysql40,mysql41,mysql50,mysql51,mysql55];
|
|
|
|
- SQLConnTypesNames : Array [TSQLConnType] of String[19] =
|
|
|
|
|
|
+const
|
|
|
|
+ MySQLConnTypes = [mysql40,mysql41,mysql50,mysql51,mysql55];
|
|
|
|
+ SQLConnTypesNames : Array [TSQLConnType] of String[19] =
|
|
('MYSQL40','MYSQL41','MYSQL50','MYSQL51','MYSQL55','POSTGRESQL','INTERBASE','ODBC','ORACLE','SQLITE3','MSSQL','SYBASE');
|
|
('MYSQL40','MYSQL41','MYSQL50','MYSQL51','MYSQL55','POSTGRESQL','INTERBASE','ODBC','ORACLE','SQLITE3','MSSQL','SYBASE');
|
|
|
|
|
|
- FieldtypeDefinitionsConst : Array [TFieldType] of String[20] =
|
|
|
|
- (
|
|
|
|
- '',
|
|
|
|
- 'VARCHAR(10)',
|
|
|
|
- 'SMALLINT',
|
|
|
|
- 'INTEGER',
|
|
|
|
- '', // ftWord
|
|
|
|
- 'BOOLEAN',
|
|
|
|
- 'DOUBLE PRECISION', // ftFloat
|
|
|
|
- '', // ftCurrency
|
|
|
|
- 'DECIMAL(18,4)',// ftBCD
|
|
|
|
- 'DATE',
|
|
|
|
- 'TIME',
|
|
|
|
- 'TIMESTAMP', // ftDateTime
|
|
|
|
- '', // ftBytes
|
|
|
|
- '', // ftVarBytes
|
|
|
|
- '', // ftAutoInc
|
|
|
|
- 'BLOB', // ftBlob
|
|
|
|
- 'BLOB', // ftMemo
|
|
|
|
- 'BLOB', // ftGraphic
|
|
|
|
- '',
|
|
|
|
- '',
|
|
|
|
- '',
|
|
|
|
- '',
|
|
|
|
- '',
|
|
|
|
- 'CHAR(10)', // ftFixedChar
|
|
|
|
- '', // ftWideString
|
|
|
|
- 'BIGINT', // ftLargeInt
|
|
|
|
- '',
|
|
|
|
- '',
|
|
|
|
- '',
|
|
|
|
- '',
|
|
|
|
- '',
|
|
|
|
- '',
|
|
|
|
- '',
|
|
|
|
- '',
|
|
|
|
- '',
|
|
|
|
- '', // ftGuid
|
|
|
|
- 'TIMESTAMP', // ftTimestamp
|
|
|
|
- 'NUMERIC(18,6)',// ftFmtBCD
|
|
|
|
- '', // ftFixedWideChar
|
|
|
|
- '' // ftWideMemo
|
|
|
|
- );
|
|
|
|
-
|
|
|
|
|
|
+ STestNotApplicable = 'This test does not apply to this sqldb-connection type';
|
|
|
|
+
|
|
|
|
|
|
type
|
|
type
|
|
{ TSQLDBConnector }
|
|
{ TSQLDBConnector }
|
|
@@ -96,6 +55,7 @@ type
|
|
public
|
|
public
|
|
destructor Destroy; override;
|
|
destructor Destroy; override;
|
|
constructor Create; override;
|
|
constructor Create; override;
|
|
|
|
+ procedure ExecuteDirect(const SQL: string);
|
|
procedure CommitDDL;
|
|
procedure CommitDDL;
|
|
property Connection : TSQLConnection read FConnection;
|
|
property Connection : TSQLConnection read FConnection;
|
|
property Transaction : TSQLTransaction read FTransaction;
|
|
property Transaction : TSQLTransaction read FTransaction;
|
|
@@ -117,6 +77,50 @@ type
|
|
end;
|
|
end;
|
|
|
|
|
|
const
|
|
const
|
|
|
|
+ FieldtypeDefinitionsConst : Array [TFieldType] of String[20] =
|
|
|
|
+ (
|
|
|
|
+ '',
|
|
|
|
+ 'VARCHAR(10)',
|
|
|
|
+ 'SMALLINT',
|
|
|
|
+ 'INTEGER',
|
|
|
|
+ '', // ftWord
|
|
|
|
+ 'BOOLEAN',
|
|
|
|
+ 'DOUBLE PRECISION', // ftFloat
|
|
|
|
+ '', // ftCurrency
|
|
|
|
+ 'DECIMAL(18,4)',// ftBCD
|
|
|
|
+ 'DATE',
|
|
|
|
+ 'TIME',
|
|
|
|
+ 'TIMESTAMP', // ftDateTime
|
|
|
|
+ '', // ftBytes
|
|
|
|
+ '', // ftVarBytes
|
|
|
|
+ '', // ftAutoInc
|
|
|
|
+ 'BLOB', // ftBlob
|
|
|
|
+ 'BLOB', // ftMemo
|
|
|
|
+ 'BLOB', // ftGraphic
|
|
|
|
+ '',
|
|
|
|
+ '',
|
|
|
|
+ '',
|
|
|
|
+ '',
|
|
|
|
+ '',
|
|
|
|
+ 'CHAR(10)', // ftFixedChar
|
|
|
|
+ '', // ftWideString
|
|
|
|
+ 'BIGINT', // ftLargeInt
|
|
|
|
+ '',
|
|
|
|
+ '',
|
|
|
|
+ '',
|
|
|
|
+ '',
|
|
|
|
+ '',
|
|
|
|
+ '',
|
|
|
|
+ '',
|
|
|
|
+ '',
|
|
|
|
+ '',
|
|
|
|
+ '', // ftGuid
|
|
|
|
+ 'TIMESTAMP', // ftTimestamp
|
|
|
|
+ 'NUMERIC(18,6)',// ftFmtBCD
|
|
|
|
+ '', // ftFixedWideChar
|
|
|
|
+ '' // ftWideMemo
|
|
|
|
+ );
|
|
|
|
+
|
|
// names as returned by ODBC SQLGetInfo(..., SQL_DBMS_NAME, ...) and GetConnectionInfo(citServerType)
|
|
// names as returned by ODBC SQLGetInfo(..., SQL_DBMS_NAME, ...) and GetConnectionInfo(citServerType)
|
|
SQLServerTypesMap : array [0..7] of TSQLServerTypesMapItem = (
|
|
SQLServerTypesMap : array [0..7] of TSQLServerTypesMapItem = (
|
|
(s: 'Firebird'; t: ssFirebird),
|
|
(s: 'Firebird'; t: ssFirebird),
|
|
@@ -239,7 +243,7 @@ begin
|
|
end;
|
|
end;
|
|
ssPostgreSQL:
|
|
ssPostgreSQL:
|
|
begin
|
|
begin
|
|
- FieldtypeDefinitions[ftCurrency] := 'MONEY';
|
|
|
|
|
|
+ FieldtypeDefinitions[ftCurrency] := 'MONEY'; // ODBC?!
|
|
FieldtypeDefinitions[ftBlob] := 'BYTEA';
|
|
FieldtypeDefinitions[ftBlob] := 'BYTEA';
|
|
FieldtypeDefinitions[ftMemo] := 'TEXT';
|
|
FieldtypeDefinitions[ftMemo] := 'TEXT';
|
|
FieldtypeDefinitions[ftGraphic] := '';
|
|
FieldtypeDefinitions[ftGraphic] := '';
|
|
@@ -320,7 +324,7 @@ begin
|
|
database := Fconnection;
|
|
database := Fconnection;
|
|
end;
|
|
end;
|
|
|
|
|
|
-Function TSQLDBConnector.CreateQuery : TSQLQuery;
|
|
|
|
|
|
+function TSQLDBConnector.CreateQuery: TSQLQuery;
|
|
|
|
|
|
begin
|
|
begin
|
|
Result := TSQLQuery.create(nil);
|
|
Result := TSQLQuery.create(nil);
|
|
@@ -512,6 +516,11 @@ begin
|
|
end;
|
|
end;
|
|
end;
|
|
end;
|
|
|
|
|
|
|
|
+procedure TSQLDBConnector.ExecuteDirect(const SQL: string);
|
|
|
|
+begin
|
|
|
|
+ Connection.ExecuteDirect(SQL);
|
|
|
|
+end;
|
|
|
|
+
|
|
procedure TSQLDBConnector.CommitDDL;
|
|
procedure TSQLDBConnector.CommitDDL;
|
|
begin
|
|
begin
|
|
// Commits schema definition and manipulation statements;
|
|
// Commits schema definition and manipulation statements;
|