From 77feada484ff0c85e1a6f655e162dd98dc72c7e3 Mon Sep 17 00:00:00 2001 From: Stephen Drake Date: Wed, 31 May 2017 08:57:49 +1200 Subject: [PATCH 1/2] Show ODS version and SQL dialect in database info --- fbclone.cloner.pas | 42 +++++++++++++++++++++++++++--------------- 1 file changed, 27 insertions(+), 15 deletions(-) diff --git a/fbclone.cloner.pas b/fbclone.cloner.pas index 8c161c6..dbca841 100644 --- a/fbclone.cloner.pas +++ b/fbclone.cloner.pas @@ -625,17 +625,21 @@ function TCloner.Clone(const Source, Target: TDatabase): Boolean; {$ENDIF} AddLog('Source connection' - + #13#10 + ' Database %s' - + #13#10 + ' Username %s' - + #13#10 + ' Page Size %d' - + #13#10 + ' Client %s' + + #13#10 + ' Database %s' + + #13#10 + ' Username %s' + + #13#10 + ' Page Size %d' + + #13#10 + ' ODS version %d.%d' + + #13#10 + ' SQL dialect %d' + + #13#10 + ' Client %s' {$IFDEF FB102_UP} - + #13#10 + ' Server %s' + + #13#10 + ' Server %s' {$ENDIF}, [ Source.ConnectionString, Source.Username, SrcDatabase.InfoPageSize, + SrcDatabase.InfoOdsVersion, SrcDatabase.InfoOdsMinorVersion, + SrcDatabase.InfoDbSqlDialect, SrcDatabase.InfoVersion {$IFDEF FB102_UP} ,SrcDatabase.InfoFirebirdVersion @@ -667,17 +671,21 @@ function TCloner.Clone(const Source, Target: TDatabase): Boolean; if coPumpOnly in FOptions then begin AddLog(#13#10 + 'Target connection' - + #13#10 + ' Database %s' - + #13#10 + ' Username %s' - + #13#10 + ' Page Size %d' - + #13#10 + ' Client %s' + + #13#10 + ' Database %s' + + #13#10 + ' Username %s' + + #13#10 + ' Page Size %d' + + #13#10 + ' ODS version %d.%d' + + #13#10 + ' SQL dialect %d' + + #13#10 + ' Client %s' {$IFDEF FB102_UP} - + #13#10 + ' Server %s' + + #13#10 + ' Server %s' {$ENDIF}, [ Target.ConnectionString, Target.Username, DstDatabase.InfoPageSize, + DstDatabase.InfoOdsVersion, DstDatabase.InfoOdsMinorVersion, + DstDatabase.InfoDbSqlDialect, DstDatabase.InfoVersion {$IFDEF FB102_UP} ,DstDatabase.InfoFirebirdVersion @@ -786,17 +794,21 @@ function TCloner.Clone(const Source, Target: TDatabase): Boolean; {$ENDIF} AddLog(#13#10 + 'Create Target' - + #13#10 + ' Database %s' - + #13#10 + ' Username %s' - + #13#10 + ' Page Size %d' - + #13#10 + ' Client %s' + + #13#10 + ' Database %s' + + #13#10 + ' Username %s' + + #13#10 + ' Page Size %d' + + #13#10 + ' ODS version %d.%d' + + #13#10 + ' SQL dialect %d' + + #13#10 + ' Client %s' {$IFDEF FB102_UP} - + #13#10 + ' Server %s' + + #13#10 + ' Server %s' {$ENDIF}, [ Target.ConnectionString, Target.Username, DstDatabase.InfoPageSize, + DstDatabase.InfoOdsVersion, DstDatabase.InfoOdsMinorVersion, + DstDatabase.InfoDbSqlDialect, DstDatabase.InfoVersion {$IFDEF FB102_UP} ,DstDatabase.InfoFirebirdVersion From 2c0458ae1321a60409354d6d4d10c77de68d7f00 Mon Sep 17 00:00:00 2001 From: Stephen Drake Date: Wed, 31 May 2017 09:04:52 +1200 Subject: [PATCH 2/2] Set SQL dialect for connection according to SQL dialect of database --- fbclone.cloner.pas | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/fbclone.cloner.pas b/fbclone.cloner.pas index dbca841..c5f21f1 100644 --- a/fbclone.cloner.pas +++ b/fbclone.cloner.pas @@ -719,6 +719,12 @@ function TCloner.Clone(const Source, Target: TDatabase): Boolean; {$ENDIF} end; + SrcDatabase.SQLDialect := SrcDatabase.InfoDbSqlDialect; + if coPumpOnly in FOptions then + DstDatabase.SQLDialect := DstDatabase.InfoDbSqlDialect + else + DstDatabase.SQLDialect := SrcDatabase.SQLDialect; + metasrc := TMetaDataBase.Create(nil,-1); metatgt := TMetaDataBase.Create(nil,-1);