Browse Source

--- Merging r31035 into '.':
U rtl/objpas/sysutils/datih.inc
--- Recording mergeinfo for merge of r31035 into '.':
U .
--- Merging r31043 into '.':
G rtl/objpas/sysutils/datih.inc
--- Recording mergeinfo for merge of r31043 into '.':
G .
--- Merging r31225 into '.':
U packages/fcl-db/src/sqldb/odbc/odbcconn.pas
--- Recording mergeinfo for merge of r31225 into '.':
G .

# revisions: 31035,31043,31225

git-svn-id: branches/fixes_3_0@31268 -

marco 10 years ago
parent
commit
266e156ff3
2 changed files with 9 additions and 4 deletions
  1. 3 2
      packages/fcl-db/src/sqldb/odbc/odbcconn.pas
  2. 6 2
      rtl/objpas/sysutils/datih.inc

+ 3 - 2
packages/fcl-db/src/sqldb/odbc/odbcconn.pas

@@ -756,7 +756,7 @@ begin
 
 
   // prepare statement
   // prepare statement
   ODBCCursor.FQuery:=Buf;
   ODBCCursor.FQuery:=Buf;
-  if not (ODBCCursor.FSchemaType in [stTables, stSysTables, stColumns, stProcedures]) then
+  if not (ODBCCursor.FSchemaType in [stTables, stSysTables, stColumns, stProcedures, stIndexes]) then
     begin
     begin
       ODBCCheckResult(
       ODBCCheckResult(
         SQLPrepare(ODBCCursor.FSTMTHandle, PChar(buf), Length(buf)),
         SQLPrepare(ODBCCursor.FSTMTHandle, PChar(buf), Length(buf)),
@@ -854,6 +854,7 @@ begin
       stSysTables : Res:=SQLTables (ODBCCursor.FSTMTHandle, nil, 0, nil, 0, nil, 0, TABLE_TYPE_SYSTEM, length(TABLE_TYPE_SYSTEM) );
       stSysTables : Res:=SQLTables (ODBCCursor.FSTMTHandle, nil, 0, nil, 0, nil, 0, TABLE_TYPE_SYSTEM, length(TABLE_TYPE_SYSTEM) );
       stColumns   : Res:=SQLColumns(ODBCCursor.FSTMTHandle, nil, 0, nil, 0, @ODBCCursor.FQuery[1], length(ODBCCursor.FQuery), nil, 0 );
       stColumns   : Res:=SQLColumns(ODBCCursor.FSTMTHandle, nil, 0, nil, 0, @ODBCCursor.FQuery[1], length(ODBCCursor.FQuery), nil, 0 );
       stProcedures: Res:=SQLProcedures(ODBCCursor.FSTMTHandle, nil, 0, nil, 0, nil, 0 );
       stProcedures: Res:=SQLProcedures(ODBCCursor.FSTMTHandle, nil, 0, nil, 0, nil, 0 );
+      stIndexes   : Res:=SQLStatistics(ODBCCursor.FSTMTHandle, nil, 0, nil, 0, @ODBCCursor.FQuery[1], length(ODBCCursor.FQuery), SQL_INDEX_ALL, SQL_QUICK);
       else          Res:=SQLExecute(ODBCCursor.FSTMTHandle); //SQL_NO_DATA returns searched update or delete statement that does not affect any rows
       else          Res:=SQLExecute(ODBCCursor.FSTMTHandle); //SQL_NO_DATA returns searched update or delete statement that does not affect any rows
     end; {case}
     end; {case}
 
 
@@ -1498,7 +1499,7 @@ end;
 
 
 function TODBCConnection.GetSchemaInfoSQL(SchemaType: TSchemaType; SchemaObjectName, SchemaObjectPattern: string): string;
 function TODBCConnection.GetSchemaInfoSQL(SchemaType: TSchemaType; SchemaObjectName, SchemaObjectPattern: string): string;
 begin
 begin
-  if SchemaType in [stTables, stSysTables, stColumns, stProcedures] then
+  if SchemaType in [stTables, stSysTables, stColumns, stProcedures, stIndexes] then
   begin
   begin
     if SchemaObjectName<>'' then
     if SchemaObjectName<>'' then
       Result := SchemaObjectName
       Result := SchemaObjectName

+ 6 - 2
rtl/objpas/sysutils/datih.inc

@@ -90,13 +90,17 @@ var
 
 
 type
 type
 { windows isn't defined in 2.0.2 (FK) }
 { windows isn't defined in 2.0.2 (FK) }
-{$if not(defined(windows)) and not(defined(win32))}
+{$if defined(windows) or defined(win32)}
    { Win32 reuses the struct from the Windows unit }
    { Win32 reuses the struct from the Windows unit }
+{$DEFINE HAS_SYSTEMTIME}
+{$endif windows}
+
+{$IFNDEF HAS_SYSTEMTIME}
    TSystemTime = record
    TSystemTime = record
       Year, Month, Day, DayOfWeek: word;
       Year, Month, Day, DayOfWeek: word;
       Hour, Minute, Second, MilliSecond: word;
       Hour, Minute, Second, MilliSecond: word;
    end ;
    end ;
-{$endif windows}
+{$ENDIF}
 
 
    TTimeStamp = record
    TTimeStamp = record
       Time: longint;   { Number of milliseconds since midnight }
       Time: longint;   { Number of milliseconds since midnight }