Added Mainsoft OracleClient testsuite
authorKonstantin Triger <kostat@mono-cvs.ximian.com>
Thu, 9 Feb 2006 14:29:35 +0000 (14:29 -0000)
committerKonstantin Triger <kostat@mono-cvs.ximian.com>
Thu, 9 Feb 2006 14:29:35 +0000 (14:29 -0000)
svn path=/trunk/mcs/; revision=56701

119 files changed:
mcs/class/System.Data.OracleClient/Test/ChangeLog
mcs/class/System.Data.OracleClient/Test/System.Data.OracleClient.Tests.J2EE.sln [new file with mode: 0755]
mcs/class/System.Data.OracleClient/Test/System.Data.OracleClient.Tests.J2EE.vmwcsproj [new file with mode: 0755]
mcs/class/System.Data.OracleClient/Test/System.Data.OracleClient.jvm/GHTDB.Data.ORACLE.sql [new file with mode: 0755]
mcs/class/System.Data.OracleClient/Test/System.Data.OracleClient.jvm/GHTDB.ORACLE.sql [new file with mode: 0755]
mcs/class/System.Data.OracleClient/Test/System.Data.OracleClient.jvm/MonoTests.System.Data.Utils/ADONetTesterClass.cs [new file with mode: 0755]
mcs/class/System.Data.OracleClient/Test/System.Data.OracleClient.jvm/MonoTests.System.Data.Utils/ConnectedDataProvider.cs [new file with mode: 0755]
mcs/class/System.Data.OracleClient/Test/System.Data.OracleClient.jvm/MonoTests.System.Data.Utils/DbTypeParameter.cs [new file with mode: 0755]
mcs/class/System.Data.OracleClient/Test/System.Data.OracleClient.jvm/MonoTests.System.Data.Utils/DbTypeParametersCollection.cs [new file with mode: 0755]
mcs/class/System.Data.OracleClient/Test/System.Data.OracleClient.jvm/MonoTests.System.Data.Utils/GHTBase.cs [new file with mode: 0755]
mcs/class/System.Data.OracleClient/Test/System.Data.OracleClient.jvm/OracleCommand/OracleCommand_CommandText.cs [new file with mode: 0755]
mcs/class/System.Data.OracleClient/Test/System.Data.OracleClient.jvm/OracleCommand/OracleCommand_CommandTimeout.cs [new file with mode: 0755]
mcs/class/System.Data.OracleClient/Test/System.Data.OracleClient.jvm/OracleCommand/OracleCommand_CommandType.cs [new file with mode: 0755]
mcs/class/System.Data.OracleClient/Test/System.Data.OracleClient.jvm/OracleCommand/OracleCommand_Connection.cs [new file with mode: 0755]
mcs/class/System.Data.OracleClient/Test/System.Data.OracleClient.jvm/OracleCommand/OracleCommand_Dispose.cs [new file with mode: 0755]
mcs/class/System.Data.OracleClient/Test/System.Data.OracleClient.jvm/OracleCommand/OracleCommand_ExecuteNonQuery.cs [new file with mode: 0755]
mcs/class/System.Data.OracleClient/Test/System.Data.OracleClient.jvm/OracleCommand/OracleCommand_ExecuteReader.cs [new file with mode: 0755]
mcs/class/System.Data.OracleClient/Test/System.Data.OracleClient.jvm/OracleCommand/OracleCommand_ExecuteScalar.cs [new file with mode: 0755]
mcs/class/System.Data.OracleClient/Test/System.Data.OracleClient.jvm/OracleCommand/OracleCommand_New.cs [new file with mode: 0755]
mcs/class/System.Data.OracleClient/Test/System.Data.OracleClient.jvm/OracleCommand/OracleCommand_Parameters.cs [new file with mode: 0755]
mcs/class/System.Data.OracleClient/Test/System.Data.OracleClient.jvm/OracleCommand/OracleCommand_Prepare.cs [new file with mode: 0755]
mcs/class/System.Data.OracleClient/Test/System.Data.OracleClient.jvm/OracleCommand/OracleCommand_Transaction.cs [new file with mode: 0755]
mcs/class/System.Data.OracleClient/Test/System.Data.OracleClient.jvm/OracleCommandBuilder/OracleCommandBuilder_DeriveParameters_O.cs [new file with mode: 0755]
mcs/class/System.Data.OracleClient/Test/System.Data.OracleClient.jvm/OracleConnection/IDBConnection_For_Oracle.cs [new file with mode: 0755]
mcs/class/System.Data.OracleClient/Test/System.Data.OracleClient.jvm/OracleConnection/OracleConnection_BeginTransaction.cs [new file with mode: 0755]
mcs/class/System.Data.OracleClient/Test/System.Data.OracleClient.jvm/OracleConnection/OracleConnection_ChangeDatabase.cs [new file with mode: 0755]
mcs/class/System.Data.OracleClient/Test/System.Data.OracleClient.jvm/OracleConnection/OracleConnection_Close.cs [new file with mode: 0755]
mcs/class/System.Data.OracleClient/Test/System.Data.OracleClient.jvm/OracleConnection/OracleConnection_ConnectionString.cs [new file with mode: 0755]
mcs/class/System.Data.OracleClient/Test/System.Data.OracleClient.jvm/OracleConnection/OracleConnection_ConnectionTimeout.cs [new file with mode: 0755]
mcs/class/System.Data.OracleClient/Test/System.Data.OracleClient.jvm/OracleConnection/OracleConnection_CreateCommand.cs [new file with mode: 0755]
mcs/class/System.Data.OracleClient/Test/System.Data.OracleClient.jvm/OracleConnection/OracleConnection_DataSource.cs [new file with mode: 0755]
mcs/class/System.Data.OracleClient/Test/System.Data.OracleClient.jvm/OracleConnection/OracleConnection_Database.cs [new file with mode: 0755]
mcs/class/System.Data.OracleClient/Test/System.Data.OracleClient.jvm/OracleConnection/OracleConnection_Equals.cs [new file with mode: 0755]
mcs/class/System.Data.OracleClient/Test/System.Data.OracleClient.jvm/OracleConnection/OracleConnection_InfoMessage.cs [new file with mode: 0755]
mcs/class/System.Data.OracleClient/Test/System.Data.OracleClient.jvm/OracleConnection/OracleConnection_New.cs [new file with mode: 0755]
mcs/class/System.Data.OracleClient/Test/System.Data.OracleClient.jvm/OracleConnection/OracleConnection_Open.cs [new file with mode: 0755]
mcs/class/System.Data.OracleClient/Test/System.Data.OracleClient.jvm/OracleConnection/OracleConnection_State.cs [new file with mode: 0755]
mcs/class/System.Data.OracleClient/Test/System.Data.OracleClient.jvm/OracleConnection/OracleConnection_StateChange.cs [new file with mode: 0755]
mcs/class/System.Data.OracleClient/Test/System.Data.OracleClient.jvm/OracleDataAdapter/OracleDataAdapter_AcceptChangesDuringFill.cs [new file with mode: 0755]
mcs/class/System.Data.OracleClient/Test/System.Data.OracleClient.jvm/OracleDataAdapter/OracleDataAdapter_ContinueUpdateOnError.cs [new file with mode: 0755]
mcs/class/System.Data.OracleClient/Test/System.Data.OracleClient.jvm/OracleDataAdapter/OracleDataAdapter_DeleteCommand.cs [new file with mode: 0755]
mcs/class/System.Data.OracleClient/Test/System.Data.OracleClient.jvm/OracleDataAdapter/OracleDataAdapter_Dispose.cs [new file with mode: 0755]
mcs/class/System.Data.OracleClient/Test/System.Data.OracleClient.jvm/OracleDataAdapter/OracleDataAdapter_FillError.cs [new file with mode: 0755]
mcs/class/System.Data.OracleClient/Test/System.Data.OracleClient.jvm/OracleDataAdapter/OracleDataAdapter_FillSchema_DS.cs [new file with mode: 0755]
mcs/class/System.Data.OracleClient/Test/System.Data.OracleClient.jvm/OracleDataAdapter/OracleDataAdapter_FillSchema_DSS.cs [new file with mode: 0755]
mcs/class/System.Data.OracleClient/Test/System.Data.OracleClient.jvm/OracleDataAdapter/OracleDataAdapter_FillSchema_DsSt.cs [new file with mode: 0755]
mcs/class/System.Data.OracleClient/Test/System.Data.OracleClient.jvm/OracleDataAdapter/OracleDataAdapter_FillSchema_DtSch.cs [new file with mode: 0755]
mcs/class/System.Data.OracleClient/Test/System.Data.OracleClient.jvm/OracleDataAdapter/OracleDataAdapter_Fill_1.cs [new file with mode: 0755]
mcs/class/System.Data.OracleClient/Test/System.Data.OracleClient.jvm/OracleDataAdapter/OracleDataAdapter_Fill_2.cs [new file with mode: 0755]
mcs/class/System.Data.OracleClient/Test/System.Data.OracleClient.jvm/OracleDataAdapter/OracleDataAdapter_Fill_3.cs [new file with mode: 0755]
mcs/class/System.Data.OracleClient/Test/System.Data.OracleClient.jvm/OracleDataAdapter/OracleDataAdapter_Fill_Ds.cs [new file with mode: 0755]
mcs/class/System.Data.OracleClient/Test/System.Data.OracleClient.jvm/OracleDataAdapter/OracleDataAdapter_Fill_DsStr.cs [new file with mode: 0755]
mcs/class/System.Data.OracleClient/Test/System.Data.OracleClient.jvm/OracleDataAdapter/OracleDataAdapter_Fill_Ds_Int_Int_Str.cs [new file with mode: 0755]
mcs/class/System.Data.OracleClient/Test/System.Data.OracleClient.jvm/OracleDataAdapter/OracleDataAdapter_Fill_Dt.cs [new file with mode: 0755]
mcs/class/System.Data.OracleClient/Test/System.Data.OracleClient.jvm/OracleDataAdapter/OracleDataAdapter_GetFillParameters.cs [new file with mode: 0755]
mcs/class/System.Data.OracleClient/Test/System.Data.OracleClient.jvm/OracleDataAdapter/OracleDataAdapter_InsertCommand.cs [new file with mode: 0755]
mcs/class/System.Data.OracleClient/Test/System.Data.OracleClient.jvm/OracleDataAdapter/OracleDataAdapter_MissingMappingAction.cs [new file with mode: 0755]
mcs/class/System.Data.OracleClient/Test/System.Data.OracleClient.jvm/OracleDataAdapter/OracleDataAdapter_MissingSchemaAction.cs [new file with mode: 0755]
mcs/class/System.Data.OracleClient/Test/System.Data.OracleClient.jvm/OracleDataAdapter/OracleDataAdapter_RowUpdated.cs [new file with mode: 0755]
mcs/class/System.Data.OracleClient/Test/System.Data.OracleClient.jvm/OracleDataAdapter/OracleDataAdapter_RowUpdating.cs [new file with mode: 0755]
mcs/class/System.Data.OracleClient/Test/System.Data.OracleClient.jvm/OracleDataAdapter/OracleDataAdapter_SelectCommand.cs [new file with mode: 0755]
mcs/class/System.Data.OracleClient/Test/System.Data.OracleClient.jvm/OracleDataAdapter/OracleDataAdapter_TableMappings.cs [new file with mode: 0755]
mcs/class/System.Data.OracleClient/Test/System.Data.OracleClient.jvm/OracleDataAdapter/OracleDataAdapter_ToString.cs [new file with mode: 0755]
mcs/class/System.Data.OracleClient/Test/System.Data.OracleClient.jvm/OracleDataAdapter/OracleDataAdapter_UpdateCommand.cs [new file with mode: 0755]
mcs/class/System.Data.OracleClient/Test/System.Data.OracleClient.jvm/OracleDataAdapter/OracleDataAdapter_Update_Dr.cs [new file with mode: 0755]
mcs/class/System.Data.OracleClient/Test/System.Data.OracleClient.jvm/OracleDataAdapter/OracleDataAdapter_Update_Ds.cs [new file with mode: 0755]
mcs/class/System.Data.OracleClient/Test/System.Data.OracleClient.jvm/OracleDataAdapter/OracleDataAdapter_Update_DsStr.cs [new file with mode: 0755]
mcs/class/System.Data.OracleClient/Test/System.Data.OracleClient.jvm/OracleDataAdapter/OracleDataAdapter_Update_Dt.cs [new file with mode: 0755]
mcs/class/System.Data.OracleClient/Test/System.Data.OracleClient.jvm/OracleDataAdapter/OracleDataAdapter_ctor.cs [new file with mode: 0755]
mcs/class/System.Data.OracleClient/Test/System.Data.OracleClient.jvm/OracleDataAdapter/OracleDataAdapter_ctor_O.cs [new file with mode: 0755]
mcs/class/System.Data.OracleClient/Test/System.Data.OracleClient.jvm/OracleDataAdapter/OracleDataAdapter_ctor_SO.cs [new file with mode: 0755]
mcs/class/System.Data.OracleClient/Test/System.Data.OracleClient.jvm/OracleDataAdapter/OracleDataAdapter_ctor_SS.cs [new file with mode: 0755]
mcs/class/System.Data.OracleClient/Test/System.Data.OracleClient.jvm/OracleDataReader/OracleDataReader_Close.cs [new file with mode: 0755]
mcs/class/System.Data.OracleClient/Test/System.Data.OracleClient.jvm/OracleDataReader/OracleDataReader_Depth.cs [new file with mode: 0755]
mcs/class/System.Data.OracleClient/Test/System.Data.OracleClient.jvm/OracleDataReader/OracleDataReader_GetBoolean.cs [new file with mode: 0755]
mcs/class/System.Data.OracleClient/Test/System.Data.OracleClient.jvm/OracleDataReader/OracleDataReader_GetByte_I.cs [new file with mode: 0755]
mcs/class/System.Data.OracleClient/Test/System.Data.OracleClient.jvm/OracleDataReader/OracleDataReader_GetBytes_IIBII.cs [new file with mode: 0755]
mcs/class/System.Data.OracleClient/Test/System.Data.OracleClient.jvm/OracleDataReader/OracleDataReader_GetChars.cs [new file with mode: 0755]
mcs/class/System.Data.OracleClient/Test/System.Data.OracleClient.jvm/OracleDataReader/OracleDataReader_GetDataTypeName.cs [new file with mode: 0755]
mcs/class/System.Data.OracleClient/Test/System.Data.OracleClient.jvm/OracleDataReader/OracleDataReader_GetDateTime.cs [new file with mode: 0755]
mcs/class/System.Data.OracleClient/Test/System.Data.OracleClient.jvm/OracleDataReader/OracleDataReader_GetDecimal_I.cs [new file with mode: 0755]
mcs/class/System.Data.OracleClient/Test/System.Data.OracleClient.jvm/OracleDataReader/OracleDataReader_GetDouble_I.cs [new file with mode: 0755]
mcs/class/System.Data.OracleClient/Test/System.Data.OracleClient.jvm/OracleDataReader/OracleDataReader_GetFieldType.cs [new file with mode: 0755]
mcs/class/System.Data.OracleClient/Test/System.Data.OracleClient.jvm/OracleDataReader/OracleDataReader_GetFloat_I.cs [new file with mode: 0755]
mcs/class/System.Data.OracleClient/Test/System.Data.OracleClient.jvm/OracleDataReader/OracleDataReader_GetGuiid_I.cs [new file with mode: 0755]
mcs/class/System.Data.OracleClient/Test/System.Data.OracleClient.jvm/OracleDataReader/OracleDataReader_GetInt16.cs [new file with mode: 0755]
mcs/class/System.Data.OracleClient/Test/System.Data.OracleClient.jvm/OracleDataReader/OracleDataReader_GetInt32_I.cs [new file with mode: 0755]
mcs/class/System.Data.OracleClient/Test/System.Data.OracleClient.jvm/OracleDataReader/OracleDataReader_GetInt64.cs [new file with mode: 0755]
mcs/class/System.Data.OracleClient/Test/System.Data.OracleClient.jvm/OracleDataReader/OracleDataReader_GetName_I.cs [new file with mode: 0755]
mcs/class/System.Data.OracleClient/Test/System.Data.OracleClient.jvm/OracleDataReader/OracleDataReader_GetOrdinal.cs [new file with mode: 0755]
mcs/class/System.Data.OracleClient/Test/System.Data.OracleClient.jvm/OracleDataReader/OracleDataReader_GetSchemaTable.cs [new file with mode: 0755]
mcs/class/System.Data.OracleClient/Test/System.Data.OracleClient.jvm/OracleDataReader/OracleDataReader_GetString_I.cs [new file with mode: 0755]
mcs/class/System.Data.OracleClient/Test/System.Data.OracleClient.jvm/OracleDataReader/OracleDataReader_GetTimeSpan_I.cs [new file with mode: 0755]
mcs/class/System.Data.OracleClient/Test/System.Data.OracleClient.jvm/OracleDataReader/OracleDataReader_GetValue.cs [new file with mode: 0755]
mcs/class/System.Data.OracleClient/Test/System.Data.OracleClient.jvm/OracleDataReader/OracleDataReader_GetValues.cs [new file with mode: 0755]
mcs/class/System.Data.OracleClient/Test/System.Data.OracleClient.jvm/OracleDataReader/OracleDataReader_HasRows.cs [new file with mode: 0755]
mcs/class/System.Data.OracleClient/Test/System.Data.OracleClient.jvm/OracleDataReader/OracleDataReader_IsDBNull.cs [new file with mode: 0755]
mcs/class/System.Data.OracleClient/Test/System.Data.OracleClient.jvm/OracleDataReader/OracleDataReader_Item.cs [new file with mode: 0755]
mcs/class/System.Data.OracleClient/Test/System.Data.OracleClient.jvm/OracleDataReader/OracleDataReader_NextResult.cs [new file with mode: 0755]
mcs/class/System.Data.OracleClient/Test/System.Data.OracleClient.jvm/OracleDataReader/OracleDataReader_Read.cs [new file with mode: 0755]
mcs/class/System.Data.OracleClient/Test/System.Data.OracleClient.jvm/OracleDataReader/OracleDataReader_RecordsAffected.cs [new file with mode: 0755]
mcs/class/System.Data.OracleClient/Test/System.Data.OracleClient.jvm/OracleDataReader/OracleDataReader_ctor.cs [new file with mode: 0755]
mcs/class/System.Data.OracleClient/Test/System.Data.OracleClient.jvm/OracleParameter/OracleParameter_ctor.cs [new file with mode: 0755]
mcs/class/System.Data.OracleClient/Test/System.Data.OracleClient.jvm/OracleParameter/OracleParameter_ctor_SO.cs [new file with mode: 0755]
mcs/class/System.Data.OracleClient/Test/System.Data.OracleClient.jvm/OracleParameter/OracleParameter_ctor_SOIPBBBSDO.cs [new file with mode: 0755]
mcs/class/System.Data.OracleClient/Test/System.Data.OracleClient.jvm/OracleParameter/OracleParameter_ctor_SOtype.cs [new file with mode: 0755]
mcs/class/System.Data.OracleClient/Test/System.Data.OracleClient.jvm/OracleParameter/OracleParameter_ctor_SOtypeI.cs [new file with mode: 0755]
mcs/class/System.Data.OracleClient/Test/System.Data.OracleClient.jvm/OracleParameter/OracleParameter_ctor_SOtype_IS.cs [new file with mode: 0755]
mcs/class/System.Data.OracleClient/Test/System.Data.OracleClient.jvm/OracleParameterCollection/OracleParameterCollection_Add.cs [new file with mode: 0755]
mcs/class/System.Data.OracleClient/Test/System.Data.OracleClient.jvm/OracleParameterCollection/OracleParameterCollection_Contains.cs [new file with mode: 0755]
mcs/class/System.Data.OracleClient/Test/System.Data.OracleClient.jvm/OracleParameterCollection/OracleParameterCollection_Count.cs [new file with mode: 0755]
mcs/class/System.Data.OracleClient/Test/System.Data.OracleClient.jvm/OracleTransaction/OracleTransaction_Begin.cs [new file with mode: 0755]
mcs/class/System.Data.OracleClient/Test/System.Data.OracleClient.jvm/OracleTransaction/OracleTransaction_Commit.cs [new file with mode: 0755]
mcs/class/System.Data.OracleClient/Test/System.Data.OracleClient.jvm/OracleTransaction/OracleTransaction_Connection.cs [new file with mode: 0755]
mcs/class/System.Data.OracleClient/Test/System.Data.OracleClient.jvm/OracleTransaction/OracleTransaction_IsolationLevel.cs [new file with mode: 0755]
mcs/class/System.Data.OracleClient/Test/System.Data.OracleClient.jvm/OracleTransaction/OracleTransaction_Rollback.cs [new file with mode: 0755]
mcs/class/System.Data.OracleClient/Test/System.Data.OracleClient.jvm/OracleTransaction/OracleTransaction_ctor.cs [new file with mode: 0755]
mcs/class/System.Data.OracleClient/Test/System.Data.OracleClient.jvm/OracleType/OracleType_Date.cs [new file with mode: 0755]
mcs/class/System.Data.OracleClient/Test/System.Data.OracleClient.jvm/readme.txt [new file with mode: 0755]

index ed916f18bf962237c677b665701dc35e3873ca37..1f02b4f4393288c8c26a503652e19d3310da73f5 100644 (file)
@@ -1,3 +1,8 @@
+2006-02-09  Konstantin Triger <kostat@mainsoft.com>
+
+       * Added Mainsoft OracleClient testsuite. The running instructions can be found at
+         System.Data.OracleClient.jvm/readme.txt.
+
 2005-01-16  Daniel Morgan <danielmorgan@verizon.net>
 
        * ChangeLog: added file for oracle tests
diff --git a/mcs/class/System.Data.OracleClient/Test/System.Data.OracleClient.Tests.J2EE.sln b/mcs/class/System.Data.OracleClient/Test/System.Data.OracleClient.Tests.J2EE.sln
new file mode 100755 (executable)
index 0000000..e996149
--- /dev/null
@@ -0,0 +1,33 @@
+Microsoft Visual Studio Solution File, Format Version 8.00\r
+Project("{83B010C7-76FC-4FAD-A26C-00D7EFE60256}") = "System.Data.OracleClient.Tests.J2EE", "System.Data.OracleClient.Tests.J2EE.vmwcsproj", "{8A846229-F249-415F-B69D-738374543437}"\r
+       ProjectSection(ProjectDependencies) = postProject\r
+               {39CC8FF7-EF1A-41A1-B727-42684211ECD1} = {39CC8FF7-EF1A-41A1-B727-42684211ECD1}\r
+       EndProjectSection\r
+EndProject\r
+Project("{83B010C7-76FC-4FAD-A26C-00D7EFE60256}") = "nunit.framework.dll.J2EE", "..\..\..\nunit20\framework\nunit.framework.dll.J2EE.vmwcsproj", "{39CC8FF7-EF1A-41A1-B727-42684211ECD1}"\r
+       ProjectSection(ProjectDependencies) = postProject\r
+       EndProjectSection\r
+EndProject\r
+Global\r
+       GlobalSection(SolutionConfiguration) = preSolution\r
+               Debug = Debug\r
+               Debug_Java = Debug_Java\r
+               Release_Java = Release_Java\r
+       EndGlobalSection\r
+       GlobalSection(ProjectConfiguration) = postSolution\r
+               {8A846229-F249-415F-B69D-738374543437}.Debug.ActiveCfg = Debug|.NET\r
+               {8A846229-F249-415F-B69D-738374543437}.Debug.Build.0 = Debug|.NET\r
+               {8A846229-F249-415F-B69D-738374543437}.Debug_Java.ActiveCfg = Debug_Java|.NET\r
+               {8A846229-F249-415F-B69D-738374543437}.Debug_Java.Build.0 = Debug_Java|.NET\r
+               {8A846229-F249-415F-B69D-738374543437}.Release_Java.ActiveCfg = Release_Java|.NET\r
+               {8A846229-F249-415F-B69D-738374543437}.Release_Java.Build.0 = Release_Java|.NET\r
+               {39CC8FF7-EF1A-41A1-B727-42684211ECD1}.Debug.ActiveCfg = Debug|.NET\r
+               {39CC8FF7-EF1A-41A1-B727-42684211ECD1}.Debug_Java.ActiveCfg = Debug_Java|.NET\r
+               {39CC8FF7-EF1A-41A1-B727-42684211ECD1}.Release_Java.ActiveCfg = Release_Java|.NET\r
+               {39CC8FF7-EF1A-41A1-B727-42684211ECD1}.Release_Java.Build.0 = Release_Java|.NET\r
+       EndGlobalSection\r
+       GlobalSection(ExtensibilityGlobals) = postSolution\r
+       EndGlobalSection\r
+       GlobalSection(ExtensibilityAddIns) = postSolution\r
+       EndGlobalSection\r
+EndGlobal\r
diff --git a/mcs/class/System.Data.OracleClient/Test/System.Data.OracleClient.Tests.J2EE.vmwcsproj b/mcs/class/System.Data.OracleClient/Test/System.Data.OracleClient.Tests.J2EE.vmwcsproj
new file mode 100755 (executable)
index 0000000..772fd1f
--- /dev/null
@@ -0,0 +1,137 @@
+<VisualStudioProject>\r
+       <CSHARP ProjectType="Local" ProductVersion="7.10.3077" SchemaVersion="2.0" ProjectGuid="{8A846229-F249-415F-B69D-738374543437}">\r
+               <Build>\r
+                       <Settings ApplicationIcon="" AssemblyKeyContainerName="" AssemblyName="System.Data.OracleClient.Tests.J2EE" AssemblyOriginatorKeyFile="" DefaultClientScript="JScript" DefaultHTMLPageLayout="Grid" DefaultTargetSchema="IE50" DelaySign="false" OutputType="Library" PreBuildEvent="" PostBuildEvent="" RootNamespace="System.Data.OracleClient.Tests.J2EE" RunPostBuildEvent="OnBuildSuccess" StartupObject="">\r
+                               <Config Name="Debug_Java" AllowUnsafeBlocks="false" BaseAddress="285212672" CheckForOverflowUnderflow="false" ConfigurationOverrideFile="" DefineConstants="DEBUG;TRACE;JAVA;TARGET_JVM" DocumentationFile="" DebugSymbols="true" FileAlignment="4096" IncrementalBuild="false" NoStdLib="false" NoWarn="1595" Optimize="false" OutputPath="bin\Debug_Java\" RegisterForComInterop="false" RemoveIntegerChecks="false" TreatWarningsAsErrors="false" WarningLevel="4"/>\r
+                               <Config Name="Release_Java" AllowUnsafeBlocks="false" BaseAddress="285212672" CheckForOverflowUnderflow="false" ConfigurationOverrideFile="" DefineConstants="TRACE;JAVA;TARGET_JVM" DocumentationFile="" DebugSymbols="false" FileAlignment="4096" IncrementalBuild="false" NoStdLib="false" NoWarn="1595" Optimize="true" OutputPath="bin\Release_Java\" RegisterForComInterop="false" RemoveIntegerChecks="false" TreatWarningsAsErrors="false" WarningLevel="4"/>\r
+                               <Config Name="Debug" AllowUnsafeBlocks="false" BaseAddress="285212672" CheckForOverflowUnderflow="false" ConfigurationOverrideFile="" DefineConstants="JAVA" DocumentationFile="" DebugSymbols="true" FileAlignment="4096" IncrementalBuild="false" NoStdLib="false" NoWarn="" Optimize="false" OutputPath="..\..\..\nunit20\nunit-console\bin\Debug_Java\" RegisterForComInterop="false" RemoveIntegerChecks="false" TreatWarningsAsErrors="false" WarningLevel="1"/>\r
+                       </Settings>\r
+                       <References>\r
+                               <Reference Name="System" AssemblyName="System" HintPath="..\..\..\..\..\..\..\WINDOWS\Microsoft.NET\Framework\v1.1.4322\System.dll"/>\r
+                               <Reference Name="System.Data" AssemblyName="System.Data" HintPath="..\..\..\..\..\..\..\WINDOWS\Microsoft.NET\Framework\v1.1.4322\System.Data.dll"/>\r
+                               <Reference Name="System.Xml" AssemblyName="System.Xml" HintPath="..\..\..\..\..\..\..\WINDOWS\Microsoft.NET\Framework\v1.1.4322\System.Xml.dll"/>\r
+                               <Reference Name="rt" AssemblyName="rt" HintPath="..\..\..\..\..\..\..\Program Files\Mainsoft\Visual MainWin for J2EE\jgac\jre5\rt.dll" Private="False"/>\r
+                               <Reference Name="System.Data.OracleClient" AssemblyName="System.Data.OracleClient" HintPath="..\..\..\..\..\..\WINDOWS\Microsoft.NET\Framework\v1.1.4322\System.Data.OracleClient.dll"/>\r
+                               <Reference Name="nunit.framework.dll.J2EE" Project="{39CC8FF7-EF1A-41A1-B727-42684211ECD1}" Package="{83B010C7-76FC-4FAD-A26C-00D7EFE60256}" Private="False"/>\r
+                       </References>\r
+               </Build>\r
+               <Files>\r
+                       <Include>\r
+                               <File RelPath="System.Data.OracleClient.jvm\MonoTests.System.Data.Utils\ADONetTesterClass.cs" SubType="Code" BuildAction="Compile"/>\r
+                               <File RelPath="System.Data.OracleClient.jvm\MonoTests.System.Data.Utils\ConnectedDataProvider.cs" SubType="Code" BuildAction="Compile"/>\r
+                               <File RelPath="System.Data.OracleClient.jvm\MonoTests.System.Data.Utils\DbTypeParameter.cs" SubType="Code" BuildAction="Compile"/>\r
+                               <File RelPath="System.Data.OracleClient.jvm\MonoTests.System.Data.Utils\DbTypeParametersCollection.cs" SubType="Code" BuildAction="Compile"/>\r
+                               <File RelPath="System.Data.OracleClient.jvm\MonoTests.System.Data.Utils\GHTBase.cs" SubType="Code" BuildAction="Compile"/>\r
+                               <File RelPath="System.Data.OracleClient.jvm\OracleCommand\OracleCommand_CommandText.cs" SubType="Code" BuildAction="Compile"/>\r
+                               <File RelPath="System.Data.OracleClient.jvm\OracleCommand\OracleCommand_CommandTimeout.cs" SubType="Code" BuildAction="Compile"/>\r
+                               <File RelPath="System.Data.OracleClient.jvm\OracleCommand\OracleCommand_CommandType.cs" SubType="Code" BuildAction="Compile"/>\r
+                               <File RelPath="System.Data.OracleClient.jvm\OracleCommand\OracleCommand_Connection.cs" SubType="Code" BuildAction="Compile"/>\r
+                               <File RelPath="System.Data.OracleClient.jvm\OracleCommand\OracleCommand_Dispose.cs" SubType="Code" BuildAction="Compile"/>\r
+                               <File RelPath="System.Data.OracleClient.jvm\OracleCommand\OracleCommand_ExecuteNonQuery.cs" SubType="Code" BuildAction="Compile"/>\r
+                               <File RelPath="System.Data.OracleClient.jvm\OracleCommand\OracleCommand_ExecuteReader.cs" SubType="Code" BuildAction="Compile"/>\r
+                               <File RelPath="System.Data.OracleClient.jvm\OracleCommand\OracleCommand_ExecuteScalar.cs" SubType="Code" BuildAction="Compile"/>\r
+                               <File RelPath="System.Data.OracleClient.jvm\OracleCommand\OracleCommand_New.cs" SubType="Code" BuildAction="Compile"/>\r
+                               <File RelPath="System.Data.OracleClient.jvm\OracleCommand\OracleCommand_Parameters.cs" SubType="Code" BuildAction="Compile"/>\r
+                               <File RelPath="System.Data.OracleClient.jvm\OracleCommand\OracleCommand_Prepare.cs" SubType="Code" BuildAction="Compile"/>\r
+                               <File RelPath="System.Data.OracleClient.jvm\OracleCommand\OracleCommand_Transaction.cs" SubType="Code" BuildAction="Compile"/>\r
+                               <File RelPath="System.Data.OracleClient.jvm\OracleCommandBuilder\OracleCommandBuilder_DeriveParameters_O.cs" SubType="Code" BuildAction="Compile"/>\r
+                               <File RelPath="System.Data.OracleClient.jvm\OracleConnection\IDBConnection_For_Oracle.cs" SubType="Code" BuildAction="Compile"/>\r
+                               <File RelPath="System.Data.OracleClient.jvm\OracleConnection\OracleConnection_BeginTransaction.cs" SubType="Code" BuildAction="Compile"/>\r
+                               <File RelPath="System.Data.OracleClient.jvm\OracleConnection\OracleConnection_ChangeDatabase.cs" SubType="Code" BuildAction="Compile"/>\r
+                               <File RelPath="System.Data.OracleClient.jvm\OracleConnection\OracleConnection_Close.cs" SubType="Code" BuildAction="Compile"/>\r
+                               <File RelPath="System.Data.OracleClient.jvm\OracleConnection\OracleConnection_ConnectionString.cs" SubType="Code" BuildAction="Compile"/>\r
+                               <File RelPath="System.Data.OracleClient.jvm\OracleConnection\OracleConnection_ConnectionTimeout.cs" SubType="Code" BuildAction="Compile"/>\r
+                               <File RelPath="System.Data.OracleClient.jvm\OracleConnection\OracleConnection_CreateCommand.cs" SubType="Code" BuildAction="Compile"/>\r
+                               <File RelPath="System.Data.OracleClient.jvm\OracleConnection\OracleConnection_Database.cs" SubType="Code" BuildAction="Compile"/>\r
+                               <File RelPath="System.Data.OracleClient.jvm\OracleConnection\OracleConnection_DataSource.cs" SubType="Code" BuildAction="Compile"/>\r
+                               <File RelPath="System.Data.OracleClient.jvm\OracleConnection\OracleConnection_Equals.cs" SubType="Code" BuildAction="Compile"/>\r
+                               <File RelPath="System.Data.OracleClient.jvm\OracleConnection\OracleConnection_InfoMessage.cs" SubType="Code" BuildAction="Compile"/>\r
+                               <File RelPath="System.Data.OracleClient.jvm\OracleConnection\OracleConnection_New.cs" SubType="Code" BuildAction="Compile"/>\r
+                               <File RelPath="System.Data.OracleClient.jvm\OracleConnection\OracleConnection_Open.cs" SubType="Code" BuildAction="Compile"/>\r
+                               <File RelPath="System.Data.OracleClient.jvm\OracleConnection\OracleConnection_State.cs" SubType="Code" BuildAction="Compile"/>\r
+                               <File RelPath="System.Data.OracleClient.jvm\OracleConnection\OracleConnection_StateChange.cs" SubType="Code" BuildAction="Compile"/>\r
+                               <File RelPath="System.Data.OracleClient.jvm\OracleDataAdapter\OracleDataAdapter_AcceptChangesDuringFill.cs" SubType="Code" BuildAction="Compile"/>\r
+                               <File RelPath="System.Data.OracleClient.jvm\OracleDataAdapter\OracleDataAdapter_ContinueUpdateOnError.cs" SubType="Code" BuildAction="Compile"/>\r
+                               <File RelPath="System.Data.OracleClient.jvm\OracleDataAdapter\OracleDataAdapter_ctor.cs" SubType="Code" BuildAction="Compile"/>\r
+                               <File RelPath="System.Data.OracleClient.jvm\OracleDataAdapter\OracleDataAdapter_ctor_O.cs" SubType="Code" BuildAction="Compile"/>\r
+                               <File RelPath="System.Data.OracleClient.jvm\OracleDataAdapter\OracleDataAdapter_ctor_SO.cs" SubType="Code" BuildAction="Compile"/>\r
+                               <File RelPath="System.Data.OracleClient.jvm\OracleDataAdapter\OracleDataAdapter_ctor_SS.cs" SubType="Code" BuildAction="Compile"/>\r
+                               <File RelPath="System.Data.OracleClient.jvm\OracleDataAdapter\OracleDataAdapter_DeleteCommand.cs" SubType="Code" BuildAction="Compile"/>\r
+                               <File RelPath="System.Data.OracleClient.jvm\OracleDataAdapter\OracleDataAdapter_Dispose.cs" SubType="Code" BuildAction="Compile"/>\r
+                               <File RelPath="System.Data.OracleClient.jvm\OracleDataAdapter\OracleDataAdapter_Fill_1.cs" SubType="Code" BuildAction="Compile"/>\r
+                               <File RelPath="System.Data.OracleClient.jvm\OracleDataAdapter\OracleDataAdapter_Fill_2.cs" SubType="Code" BuildAction="Compile"/>\r
+                               <File RelPath="System.Data.OracleClient.jvm\OracleDataAdapter\OracleDataAdapter_Fill_3.cs" SubType="Code" BuildAction="Compile"/>\r
+                               <File RelPath="System.Data.OracleClient.jvm\OracleDataAdapter\OracleDataAdapter_Fill_Ds.cs" SubType="Code" BuildAction="Compile"/>\r
+                               <File RelPath="System.Data.OracleClient.jvm\OracleDataAdapter\OracleDataAdapter_Fill_Ds_Int_Int_Str.cs" SubType="Code" BuildAction="Compile"/>\r
+                               <File RelPath="System.Data.OracleClient.jvm\OracleDataAdapter\OracleDataAdapter_Fill_DsStr.cs" SubType="Code" BuildAction="Compile"/>\r
+                               <File RelPath="System.Data.OracleClient.jvm\OracleDataAdapter\OracleDataAdapter_Fill_Dt.cs" SubType="Code" BuildAction="Compile"/>\r
+                               <File RelPath="System.Data.OracleClient.jvm\OracleDataAdapter\OracleDataAdapter_FillError.cs" SubType="Code" BuildAction="Compile"/>\r
+                               <File RelPath="System.Data.OracleClient.jvm\OracleDataAdapter\OracleDataAdapter_FillSchema_DS.cs" SubType="Code" BuildAction="Compile"/>\r
+                               <File RelPath="System.Data.OracleClient.jvm\OracleDataAdapter\OracleDataAdapter_FillSchema_DSS.cs" SubType="Code" BuildAction="Compile"/>\r
+                               <File RelPath="System.Data.OracleClient.jvm\OracleDataAdapter\OracleDataAdapter_FillSchema_DsSt.cs" SubType="Code" BuildAction="Compile"/>\r
+                               <File RelPath="System.Data.OracleClient.jvm\OracleDataAdapter\OracleDataAdapter_FillSchema_DtSch.cs" SubType="Code" BuildAction="Compile"/>\r
+                               <File RelPath="System.Data.OracleClient.jvm\OracleDataAdapter\OracleDataAdapter_GetFillParameters.cs" SubType="Code" BuildAction="Compile"/>\r
+                               <File RelPath="System.Data.OracleClient.jvm\OracleDataAdapter\OracleDataAdapter_InsertCommand.cs" SubType="Code" BuildAction="Compile"/>\r
+                               <File RelPath="System.Data.OracleClient.jvm\OracleDataAdapter\OracleDataAdapter_MissingMappingAction.cs" SubType="Code" BuildAction="Compile"/>\r
+                               <File RelPath="System.Data.OracleClient.jvm\OracleDataAdapter\OracleDataAdapter_MissingSchemaAction.cs" SubType="Code" BuildAction="Compile"/>\r
+                               <File RelPath="System.Data.OracleClient.jvm\OracleDataAdapter\OracleDataAdapter_RowUpdated.cs" SubType="Code" BuildAction="Compile"/>\r
+                               <File RelPath="System.Data.OracleClient.jvm\OracleDataAdapter\OracleDataAdapter_RowUpdating.cs" SubType="Code" BuildAction="Compile"/>\r
+                               <File RelPath="System.Data.OracleClient.jvm\OracleDataAdapter\OracleDataAdapter_SelectCommand.cs" SubType="Code" BuildAction="Compile"/>\r
+                               <File RelPath="System.Data.OracleClient.jvm\OracleDataAdapter\OracleDataAdapter_TableMappings.cs" SubType="Code" BuildAction="Compile"/>\r
+                               <File RelPath="System.Data.OracleClient.jvm\OracleDataAdapter\OracleDataAdapter_ToString.cs" SubType="Code" BuildAction="Compile"/>\r
+                               <File RelPath="System.Data.OracleClient.jvm\OracleDataAdapter\OracleDataAdapter_Update_Dr.cs" SubType="Code" BuildAction="Compile"/>\r
+                               <File RelPath="System.Data.OracleClient.jvm\OracleDataAdapter\OracleDataAdapter_Update_Ds.cs" SubType="Code" BuildAction="Compile"/>\r
+                               <File RelPath="System.Data.OracleClient.jvm\OracleDataAdapter\OracleDataAdapter_Update_DsStr.cs" SubType="Code" BuildAction="Compile"/>\r
+                               <File RelPath="System.Data.OracleClient.jvm\OracleDataAdapter\OracleDataAdapter_Update_Dt.cs" SubType="Code" BuildAction="Compile"/>\r
+                               <File RelPath="System.Data.OracleClient.jvm\OracleDataAdapter\OracleDataAdapter_UpdateCommand.cs" SubType="Code" BuildAction="Compile"/>\r
+                               <File RelPath="System.Data.OracleClient.jvm\OracleDataReader\OracleDataReader_Close.cs" SubType="Code" BuildAction="Compile"/>\r
+                               <File RelPath="System.Data.OracleClient.jvm\OracleDataReader\OracleDataReader_ctor.cs" SubType="Code" BuildAction="Compile"/>\r
+                               <File RelPath="System.Data.OracleClient.jvm\OracleDataReader\OracleDataReader_Depth.cs" SubType="Code" BuildAction="Compile"/>\r
+                               <File RelPath="System.Data.OracleClient.jvm\OracleDataReader\OracleDataReader_GetBoolean.cs" SubType="Code" BuildAction="Compile"/>\r
+                               <File RelPath="System.Data.OracleClient.jvm\OracleDataReader\OracleDataReader_GetByte_I.cs" SubType="Code" BuildAction="Compile"/>\r
+                               <File RelPath="System.Data.OracleClient.jvm\OracleDataReader\OracleDataReader_GetBytes_IIBII.cs" SubType="Code" BuildAction="Compile"/>\r
+                               <File RelPath="System.Data.OracleClient.jvm\OracleDataReader\OracleDataReader_GetChars.cs" SubType="Code" BuildAction="Compile"/>\r
+                               <File RelPath="System.Data.OracleClient.jvm\OracleDataReader\OracleDataReader_GetDataTypeName.cs" SubType="Code" BuildAction="Compile"/>\r
+                               <File RelPath="System.Data.OracleClient.jvm\OracleDataReader\OracleDataReader_GetDateTime.cs" SubType="Code" BuildAction="Compile"/>\r
+                               <File RelPath="System.Data.OracleClient.jvm\OracleDataReader\OracleDataReader_GetDecimal_I.cs" SubType="Code" BuildAction="Compile"/>\r
+                               <File RelPath="System.Data.OracleClient.jvm\OracleDataReader\OracleDataReader_GetDouble_I.cs" SubType="Code" BuildAction="Compile"/>\r
+                               <File RelPath="System.Data.OracleClient.jvm\OracleDataReader\OracleDataReader_GetFieldType.cs" SubType="Code" BuildAction="Compile"/>\r
+                               <File RelPath="System.Data.OracleClient.jvm\OracleDataReader\OracleDataReader_GetFloat_I.cs" SubType="Code" BuildAction="Compile"/>\r
+                               <File RelPath="System.Data.OracleClient.jvm\OracleDataReader\OracleDataReader_GetGuiid_I.cs" SubType="Code" BuildAction="Compile"/>\r
+                               <File RelPath="System.Data.OracleClient.jvm\OracleDataReader\OracleDataReader_GetInt16.cs" SubType="Code" BuildAction="Compile"/>\r
+                               <File RelPath="System.Data.OracleClient.jvm\OracleDataReader\OracleDataReader_GetInt32_I.cs" SubType="Code" BuildAction="Compile"/>\r
+                               <File RelPath="System.Data.OracleClient.jvm\OracleDataReader\OracleDataReader_GetInt64.cs" SubType="Code" BuildAction="Compile"/>\r
+                               <File RelPath="System.Data.OracleClient.jvm\OracleDataReader\OracleDataReader_GetName_I.cs" SubType="Code" BuildAction="Compile"/>\r
+                               <File RelPath="System.Data.OracleClient.jvm\OracleDataReader\OracleDataReader_GetOrdinal.cs" SubType="Code" BuildAction="Compile"/>\r
+                               <File RelPath="System.Data.OracleClient.jvm\OracleDataReader\OracleDataReader_GetSchemaTable.cs" SubType="Code" BuildAction="Compile"/>\r
+                               <File RelPath="System.Data.OracleClient.jvm\OracleDataReader\OracleDataReader_GetString_I.cs" SubType="Code" BuildAction="Compile"/>\r
+                               <File RelPath="System.Data.OracleClient.jvm\OracleDataReader\OracleDataReader_GetTimeSpan_I.cs" SubType="Code" BuildAction="Compile"/>\r
+                               <File RelPath="System.Data.OracleClient.jvm\OracleDataReader\OracleDataReader_GetValue.cs" SubType="Code" BuildAction="Compile"/>\r
+                               <File RelPath="System.Data.OracleClient.jvm\OracleDataReader\OracleDataReader_GetValues.cs" SubType="Code" BuildAction="Compile"/>\r
+                               <File RelPath="System.Data.OracleClient.jvm\OracleDataReader\OracleDataReader_HasRows.cs" SubType="Code" BuildAction="Compile"/>\r
+                               <File RelPath="System.Data.OracleClient.jvm\OracleDataReader\OracleDataReader_IsDBNull.cs" SubType="Code" BuildAction="Compile"/>\r
+                               <File RelPath="System.Data.OracleClient.jvm\OracleDataReader\OracleDataReader_Item.cs" SubType="Code" BuildAction="Compile"/>\r
+                               <File RelPath="System.Data.OracleClient.jvm\OracleDataReader\OracleDataReader_NextResult.cs" SubType="Code" BuildAction="Compile"/>\r
+                               <File RelPath="System.Data.OracleClient.jvm\OracleDataReader\OracleDataReader_Read.cs" SubType="Code" BuildAction="Compile"/>\r
+                               <File RelPath="System.Data.OracleClient.jvm\OracleDataReader\OracleDataReader_RecordsAffected.cs" SubType="Code" BuildAction="Compile"/>\r
+                               <File RelPath="System.Data.OracleClient.jvm\OracleParameter\OracleParameter_ctor.cs" SubType="Code" BuildAction="Compile"/>\r
+                               <File RelPath="System.Data.OracleClient.jvm\OracleParameter\OracleParameter_ctor_SO.cs" SubType="Code" BuildAction="Compile"/>\r
+                               <File RelPath="System.Data.OracleClient.jvm\OracleParameter\OracleParameter_ctor_SOIPBBBSDO.cs" SubType="Code" BuildAction="Compile"/>\r
+                               <File RelPath="System.Data.OracleClient.jvm\OracleParameter\OracleParameter_ctor_SOtype.cs" SubType="Code" BuildAction="Compile"/>\r
+                               <File RelPath="System.Data.OracleClient.jvm\OracleParameter\OracleParameter_ctor_SOtype_IS.cs" SubType="Code" BuildAction="Compile"/>\r
+                               <File RelPath="System.Data.OracleClient.jvm\OracleParameter\OracleParameter_ctor_SOtypeI.cs" SubType="Code" BuildAction="Compile"/>\r
+                               <File RelPath="System.Data.OracleClient.jvm\OracleParameterCollection\OracleParameterCollection_Add.cs" SubType="Code" BuildAction="Compile"/>\r
+                               <File RelPath="System.Data.OracleClient.jvm\OracleParameterCollection\OracleParameterCollection_Contains.cs" SubType="Code" BuildAction="Compile"/>\r
+                               <File RelPath="System.Data.OracleClient.jvm\OracleParameterCollection\OracleParameterCollection_Count.cs" SubType="Code" BuildAction="Compile"/>\r
+                               <File RelPath="System.Data.OracleClient.jvm\OracleTransaction\OracleTransaction_Begin.cs" SubType="Code" BuildAction="Compile"/>\r
+                               <File RelPath="System.Data.OracleClient.jvm\OracleTransaction\OracleTransaction_Commit.cs" SubType="Code" BuildAction="Compile"/>\r
+                               <File RelPath="System.Data.OracleClient.jvm\OracleTransaction\OracleTransaction_Connection.cs" SubType="Code" BuildAction="Compile"/>\r
+                               <File RelPath="System.Data.OracleClient.jvm\OracleTransaction\OracleTransaction_ctor.cs" SubType="Code" BuildAction="Compile"/>\r
+                               <File RelPath="System.Data.OracleClient.jvm\OracleTransaction\OracleTransaction_IsolationLevel.cs" SubType="Code" BuildAction="Compile"/>\r
+                               <File RelPath="System.Data.OracleClient.jvm\OracleTransaction\OracleTransaction_Rollback.cs" SubType="Code" BuildAction="Compile"/>\r
+                               <File RelPath="System.Data.OracleClient.jvm\OracleType\OracleType_Date.cs" SubType="Code" BuildAction="Compile"/>\r
+                       </Include>\r
+               </Files>\r
+               <UserProperties project.JDKType="1.5.0_05" REFS.JarPath.rt="..\..\..\..\..\..\..\Program Files\Mainsoft\Visual MainWin for J2EE\jre5\lib\rt.jar" REFS.JarPath.system.xml="..\..\..\..\..\..\..\Program Files\Mainsoft\Visual MainWin for J2EE\jgac\vmw4j2ee_110\System.Xml.jar" REFS.JarPath.system.data="..\..\..\..\..\..\..\Program Files\Mainsoft\Visual MainWin for J2EE\jgac\vmw4j2ee_110\System.Data.jar" REFS.JarPath.system.data.oracleclient="..\..\..\..\..\..\..\Program Files\Mainsoft\Visual MainWin for J2EE\jgac\vmw4j2ee_110\System.Data.OracleClient.jar" REFS.JarPath.system="..\..\..\..\..\..\..\Program Files\Mainsoft\Visual MainWin for J2EE\jgac\vmw4j2ee_110\System.jar"/>\r
+       </CSHARP>\r
+       <VisualMainWin><Project Prop2023="1.5.0_05" Prop2024="" Prop2026="" Prop2015="" Version="1.7.0" ProjectType="1"/><References/><Configs><Config Prop2000="0" Prop2001="0" Prop2002="0" Prop2003="0" Prop2004="0" Prop2005="0" Prop2006="" Prop2007="" Prop2008="" Prop2009="" Prop2010="" Prop2011="0" Prop2012="0" Prop2013="" Prop2014="0" Prop2016="" Prop2027="" Prop2019="0" Prop2020="285212672" Prop2021="4096" Prop2022="0" Prop2017="0" Prop2018="1" Name="Debug_Java"/><Config Prop2000="0" Prop2001="0" Prop2002="0" Prop2003="0" Prop2004="0" Prop2005="0" Prop2006="" Prop2007="" Prop2008="" Prop2009="" Prop2010="" Prop2011="0" Prop2012="0" Prop2013="" Prop2014="0" Prop2016="" Prop2027="" Prop2019="0" Prop2020="285212672" Prop2021="4096" Prop2022="0" Prop2017="0" Prop2018="0" Name="Release_Java"/><Config Prop2000="1" Prop2001="0" Prop2002="0" Prop2003="0" Prop2004="0" Prop2005="1" Prop2006="C:\cygwin1\monobuild1\mcs\nunit20\nunit-console\bin\Debug_Java\nunit-console.exe" Prop2007="" Prop2008="" Prop2009="/wait /exclude=NotWorking System.Data.OracleClient.Tests.J2EE.dll" Prop2010="" Prop2011="0" Prop2012="-1" Prop2013="" Prop2014="0" Prop2016="" Prop2027="" Prop2019="0" Prop2020="285212672" Prop2021="4096" Prop2022="0" Prop2017="0" Prop2018="0" Name="Debug"/></Configs></VisualMainWin></VisualStudioProject>\r
diff --git a/mcs/class/System.Data.OracleClient/Test/System.Data.OracleClient.jvm/GHTDB.Data.ORACLE.sql b/mcs/class/System.Data.OracleClient/Test/System.Data.OracleClient.jvm/GHTDB.Data.ORACLE.sql
new file mode 100755 (executable)
index 0000000..eb663d3
--- /dev/null
@@ -0,0 +1,3447 @@
+SET DEFINE ~
+alter session set nls_date_format='MM/DD/YYYY hh:mi:ss PM';
+
+INSERT INTO GHTDB.CATEGORIES ( CategoryID, CategoryName, Description ) VALUES (1, 'Beverages', 'Soft drinks, coffees, teas, beers, and ales' ) ;
+INSERT INTO GHTDB.CATEGORIES ( CategoryID, CategoryName, Description ) VALUES (2, 'Condiments', 'Sweet and savory sauces, relishes, spreads, and seasonings' ) ;
+INSERT INTO GHTDB.CATEGORIES ( CategoryID, CategoryName, Description ) VALUES (3, 'Confections', 'Desserts, candies, and sweet breads' ) ;
+INSERT INTO GHTDB.CATEGORIES ( CategoryID, CategoryName, Description ) VALUES (4, 'Dairy Products', 'Cheeses' ) ;
+INSERT INTO GHTDB.CATEGORIES ( CategoryID, CategoryName, Description ) VALUES (5, 'Grains/Cereals', 'Breads, crackers, pasta, and cereal' ) ;
+INSERT INTO GHTDB.CATEGORIES ( CategoryID, CategoryName, Description ) VALUES (6, 'Meat/Poultry', 'Prepared meats' ) ;
+INSERT INTO GHTDB.CATEGORIES ( CategoryID, CategoryName, Description ) VALUES (7, 'Produce', 'Dried fruit and bean curd' ) ;
+INSERT INTO GHTDB.CATEGORIES ( CategoryID, CategoryName, Description ) VALUES (8, 'Seafood', 'Seaweed and fish' ) ;
+
+INSERT INTO GHTDB_EX.CATEGORIES ( CategoryID, CategoryName, Description ) VALUES ('10', 'Beverages', 'Soft drinks, coffees, teas, beers, and ales' ) ;
+INSERT INTO GHTDB_EX.CATEGORIES ( CategoryID, CategoryName, Description ) VALUES ('20', 'Condiments', 'Sweet and savory sauces, relishes, spreads, and seasonings' ) ;
+
+
+INSERT INTO GHTDB.CUSTOMERS ( CustomerID, CompanyName, ContactName, ContactTitle, Address, City, Region, PostalCode, Country, Phone, Fax ) VALUES ('ALFKI', 'Alfreds Futterkiste', 'Maria Anders', 'Sales Representative', 'Obere Str. 57', 'Berlin', NULL, '12209', 'Germany', '030-0074321', '030-0076545' ) ;
+INSERT INTO GHTDB.CUSTOMERS ( CustomerID, CompanyName, ContactName, ContactTitle, Address, City, Region, PostalCode, Country, Phone, Fax ) VALUES ('ANATR', 'Ana Trujillo Emparedados y helados', 'Ana Trujillo', 'Owner', 'Avda. de la Constitución 2222', 'México D.F.', NULL, '05021', 'Mexico', '(5) 555-4729', '(5) 555-3745' ) ;
+INSERT INTO GHTDB.CUSTOMERS ( CustomerID, CompanyName, ContactName, ContactTitle, Address, City, Region, PostalCode, Country, Phone, Fax ) VALUES ('ANTON', 'Antonio Moreno Taquería', 'Antonio Moreno', 'Owner', 'Mataderos  2312', 'México D.F.', NULL, '05023', 'Mexico', '(5) 555-3932', NULL ) ;
+INSERT INTO GHTDB.CUSTOMERS ( CustomerID, CompanyName, ContactName, ContactTitle, Address, City, Region, PostalCode, Country, Phone, Fax ) VALUES ('AROUT', 'Around the Horn', 'Thomas Hardy', 'Sales Representative', '120 Hanover Sq.', 'London', NULL, 'WA1 1DP', 'UK', '(171) 555-7788', '(171) 555-6750' ) ;
+INSERT INTO GHTDB.CUSTOMERS ( CustomerID, CompanyName, ContactName, ContactTitle, Address, City, Region, PostalCode, Country, Phone, Fax ) VALUES ('BERGS', 'Berglunds snabbköp', 'Christina Berglund', 'Order Administrator', 'Berguvsvägen  8', 'LuleÃ¥', NULL, 'S-958 22', 'Sweden', '0921-12 34 65', '0921-12 34 67' ) ;
+INSERT INTO GHTDB.CUSTOMERS ( CustomerID, CompanyName, ContactName, ContactTitle, Address, City, Region, PostalCode, Country, Phone, Fax ) VALUES ('BLAUS', 'Blauer See Delikatessen', 'Hanna Moos', 'Sales Representative', 'Forsterstr. 57', 'Mannheim', NULL, '68306', 'Germany', '0621-08460', '0621-08924' ) ;
+INSERT INTO GHTDB.CUSTOMERS ( CustomerID, CompanyName, ContactName, ContactTitle, Address, City, Region, PostalCode, Country, Phone, Fax ) VALUES ('BLONP', 'Blondesddsl père et fils', 'Frédérique Citeaux', 'Marketing Manager', '24, place Kléber', 'Strasbourg', NULL, '67000', 'France', '88.60.15.31', '88.60.15.32' ) ;
+INSERT INTO GHTDB.CUSTOMERS ( CustomerID, CompanyName, ContactName, ContactTitle, Address, City, Region, PostalCode, Country, Phone, Fax ) VALUES ('BOLID', 'Bólido Comidas preparadas', 'Martín Sommer', 'Owner', 'C/ Araquil, 67', 'Madrid', NULL, '28023', 'Spain', '(91) 555 22 82', '(91) 555 91 99' ) ;
+INSERT INTO GHTDB.CUSTOMERS ( CustomerID, CompanyName, ContactName, ContactTitle, Address, City, Region, PostalCode, Country, Phone, Fax ) VALUES ('BONAP', 'Bon app''', 'Laurence Lebihan', 'Owner', '12, rue des Bouchers', 'Marseille', NULL, '13008', 'France', '91.24.45.40', '91.24.45.41' ) ;
+INSERT INTO GHTDB.CUSTOMERS ( CustomerID, CompanyName, ContactName, ContactTitle, Address, City, Region, PostalCode, Country, Phone, Fax ) VALUES ('BOTTM', 'Bottom-Dollar Markets', 'Elizabeth Lincoln', 'Accounting Manager', '23 Tsawassen Blvd.', 'Tsawassen', 'BC', 'T2F 8M4', 'Canada', '(604) 555-4729', '(604) 555-3745' ) ;
+INSERT INTO GHTDB.CUSTOMERS ( CustomerID, CompanyName, ContactName, ContactTitle, Address, City, Region, PostalCode, Country, Phone, Fax ) VALUES ('BSBEV', 'B''s Beverages', 'Victoria Ashworth', 'Sales Representative', 'Fauntleroy Circus', 'London', NULL, 'EC2 5NT', 'UK', '(171) 555-1212', NULL ) ;
+INSERT INTO GHTDB.CUSTOMERS ( CustomerID, CompanyName, ContactName, ContactTitle, Address, City, Region, PostalCode, Country, Phone, Fax ) VALUES ('CACTU', 'Cactus Comidas para llevar', 'Patricio Simpson', 'Sales Agent', 'Cerrito 333', 'Buenos Aires', NULL, '1010', 'Argentina', '(1) 135-5555', '(1) 135-4892' ) ;
+INSERT INTO GHTDB.CUSTOMERS ( CustomerID, CompanyName, ContactName, ContactTitle, Address, City, Region, PostalCode, Country, Phone, Fax ) VALUES ('CENTC', 'Centro comercial Moctezuma', 'Francisco Chang', 'Marketing Manager', 'Sierras de Granada 9993', 'México D.F.', NULL, '05022', 'Mexico', '(5) 555-3392', '(5) 555-7293' ) ;
+INSERT INTO GHTDB.CUSTOMERS ( CustomerID, CompanyName, ContactName, ContactTitle, Address, City, Region, PostalCode, Country, Phone, Fax ) VALUES ('CHOPS', 'Chop-suey Chinese', 'Yang Wang', 'Owner', 'Hauptstr. 29', 'Bern', NULL, '3012', 'Switzerland', '0452-076545', NULL ) ;
+INSERT INTO GHTDB.CUSTOMERS ( CustomerID, CompanyName, ContactName, ContactTitle, Address, City, Region, PostalCode, Country, Phone, Fax ) VALUES ('COMMI', 'Comércio Mineiro', 'Pedro Afonso', 'Sales Associate', 'Av. dos Lusíadas, 23', 'Sao Paulo', 'SP', '05432-043', 'Brazil', '(11) 555-7647', NULL ) ;
+INSERT INTO GHTDB.CUSTOMERS ( CustomerID, CompanyName, ContactName, ContactTitle, Address, City, Region, PostalCode, Country, Phone, Fax ) VALUES ('CONSH', 'Consolidated Holdings', 'Elizabeth Brown', 'Sales Representative', 'Berkeley Gardens 12  Brewery', 'London', NULL, 'WX1 6LT', 'UK', '(171) 555-2282', '(171) 555-9199' ) ;
+INSERT INTO GHTDB.CUSTOMERS ( CustomerID, CompanyName, ContactName, ContactTitle, Address, City, Region, PostalCode, Country, Phone, Fax ) VALUES ('DRACD', 'Drachenblut Delikatessen', 'Sven Ottlieb', 'Order Administrator', 'Walserweg 21', 'Aachen', NULL, '52066', 'Germany', '0241-039123', '0241-059428' ) ;
+INSERT INTO GHTDB.CUSTOMERS ( CustomerID, CompanyName, ContactName, ContactTitle, Address, City, Region, PostalCode, Country, Phone, Fax ) VALUES ('DUMON', 'Du monde entier', 'Janine Labrune', 'Owner', '67, rue des Cinquante Otages', 'Nantes', NULL, '44000', 'France', '40.67.88.88', '40.67.89.89' ) ;
+INSERT INTO GHTDB.CUSTOMERS ( CustomerID, CompanyName, ContactName, ContactTitle, Address, City, Region, PostalCode, Country, Phone, Fax ) VALUES ('EASTC', 'Eastern Connection', 'Ann Devon', 'Sales Agent', '35 King George', 'London', NULL, 'WX3 6FW', 'UK', '(171) 555-0297', '(171) 555-3373' ) ;
+INSERT INTO GHTDB.CUSTOMERS ( CustomerID, CompanyName, ContactName, ContactTitle, Address, City, Region, PostalCode, Country, Phone, Fax ) VALUES ('ERNSH', 'Ernst Handel', 'Roland Mendel', 'Sales Manager', 'Kirchgasse 6', 'Graz', NULL, '8010', 'Austria', '7675-3425', '7675-3426' ) ;
+INSERT INTO GHTDB.CUSTOMERS ( CustomerID, CompanyName, ContactName, ContactTitle, Address, City, Region, PostalCode, Country, Phone, Fax ) VALUES ('FAMIA', 'Familia Arquibaldo', 'Aria Cruz', 'Marketing Assistant', 'Rua Orós, 92', 'Sao Paulo', 'SP', '05442-030', 'Brazil', '(11) 555-9857', NULL ) ;
+INSERT INTO GHTDB.CUSTOMERS ( CustomerID, CompanyName, ContactName, ContactTitle, Address, City, Region, PostalCode, Country, Phone, Fax ) VALUES ('FISSA', 'FISSA Fabrica Inter. Salchichas S.A.', 'Diego Roel', 'Accounting Manager', 'C/ Moralzarzal, 86', 'Madrid', NULL, '28034', 'Spain', '(91) 555 94 44', '(91) 555 55 93' ) ;
+INSERT INTO GHTDB.CUSTOMERS ( CustomerID, CompanyName, ContactName, ContactTitle, Address, City, Region, PostalCode, Country, Phone, Fax ) VALUES ('FOLIG', 'Folies gourmandes', 'Martine Rancé', 'Assistant Sales Agent', '184, chaussée de Tournai', 'Lille', NULL, '59000', 'France', '20.16.10.16', '20.16.10.17' ) ;
+INSERT INTO GHTDB.CUSTOMERS ( CustomerID, CompanyName, ContactName, ContactTitle, Address, City, Region, PostalCode, Country, Phone, Fax ) VALUES ('FOLKO', 'Folk och fä HB', 'Maria Larsson', 'Owner', 'Ã…kergatan 24', 'Bräcke', NULL, 'S-844 67', 'Sweden', '0695-34 67 21', NULL ) ;
+INSERT INTO GHTDB.CUSTOMERS ( CustomerID, CompanyName, ContactName, ContactTitle, Address, City, Region, PostalCode, Country, Phone, Fax ) VALUES ('FRANK', 'Frankenversand', 'Peter Franken', 'Marketing Manager', 'Berliner Platz 43', 'München', NULL, '80805', 'Germany', '089-0877310', '089-0877451' ) ;
+INSERT INTO GHTDB.CUSTOMERS ( CustomerID, CompanyName, ContactName, ContactTitle, Address, City, Region, PostalCode, Country, Phone, Fax ) VALUES ('FRANR', 'France restauration', 'Carine Schmitt', 'Marketing Manager', '54, rue Royale', 'Nantes', NULL, '44000', 'France', '40.32.21.21', '40.32.21.20' ) ;
+INSERT INTO GHTDB.CUSTOMERS ( CustomerID, CompanyName, ContactName, ContactTitle, Address, City, Region, PostalCode, Country, Phone, Fax ) VALUES ('FRANS', 'Franchi S.p.A.', 'Paolo Accorti', 'Sales Representative', 'Via Monte Bianco 34', 'Torino', NULL, '10100', 'Italy', '011-4988260', '011-4988261' ) ;
+INSERT INTO GHTDB.CUSTOMERS ( CustomerID, CompanyName, ContactName, ContactTitle, Address, City, Region, PostalCode, Country, Phone, Fax ) VALUES ('FURIB', 'Furia Bacalhau e Frutos do Mar', 'Lino Rodriguez', 'Sales Manager', 'Jardim das rosas n. 32', 'Lisboa', NULL, '1675', 'Portugal', '(1) 354-2534', '(1) 354-2535' ) ;
+INSERT INTO GHTDB.CUSTOMERS ( CustomerID, CompanyName, ContactName, ContactTitle, Address, City, Region, PostalCode, Country, Phone, Fax ) VALUES ('GALED', 'Galería del gastrónomo', 'Eduardo Saavedra', 'Marketing Manager', 'Rambla de Cataluña, 23', 'Barcelona', NULL, '08022', 'Spain', '(93) 203 4560', '(93) 203 4561' ) ;
+INSERT INTO GHTDB.CUSTOMERS ( CustomerID, CompanyName, ContactName, ContactTitle, Address, City, Region, PostalCode, Country, Phone, Fax ) VALUES ('GH100', 'Company100', NULL, NULL, NULL, NULL, NULL, NULL, NULL, '00-100100', NULL ) ;
+INSERT INTO GHTDB.CUSTOMERS ( CustomerID, CompanyName, ContactName, ContactTitle, Address, City, Region, PostalCode, Country, Phone, Fax ) VALUES ('GH200', 'Company200', NULL, NULL, NULL, NULL, NULL, NULL, NULL, '00-200200', NULL ) ;
+INSERT INTO GHTDB.CUSTOMERS ( CustomerID, CompanyName, ContactName, ContactTitle, Address, City, Region, PostalCode, Country, Phone, Fax ) VALUES ('GH300', 'Company300', NULL, NULL, NULL, NULL, NULL, NULL, NULL, '00-300300', NULL ) ;
+INSERT INTO GHTDB.CUSTOMERS ( CustomerID, CompanyName, ContactName, ContactTitle, Address, City, Region, PostalCode, Country, Phone, Fax ) VALUES ('GH400', 'Company400', NULL, NULL, NULL, NULL, NULL, NULL, NULL, '00-400400', NULL ) ;
+INSERT INTO GHTDB.CUSTOMERS ( CustomerID, CompanyName, ContactName, ContactTitle, Address, City, Region, PostalCode, Country, Phone, Fax ) VALUES ('GH500', 'Company500', NULL, NULL, NULL, NULL, NULL, NULL, NULL, '00-500500', NULL ) ;
+INSERT INTO GHTDB.CUSTOMERS ( CustomerID, CompanyName, ContactName, ContactTitle, Address, City, Region, PostalCode, Country, Phone, Fax ) VALUES ('GH600', 'Company600', NULL, NULL, NULL, NULL, NULL, NULL, NULL, '00-600600', NULL ) ;
+INSERT INTO GHTDB.CUSTOMERS ( CustomerID, CompanyName, ContactName, ContactTitle, Address, City, Region, PostalCode, Country, Phone, Fax ) VALUES ('GH700', 'Company700', NULL, NULL, NULL, NULL, NULL, NULL, NULL, '00-700700', NULL ) ;
+INSERT INTO GHTDB.CUSTOMERS ( CustomerID, CompanyName, ContactName, ContactTitle, Address, City, Region, PostalCode, Country, Phone, Fax ) VALUES ('GODOS', 'Godos Cocina Típica', 'José Pedro Freyre', 'Sales Manager', 'C/ Romero, 33', 'Sevilla', NULL, '41101', 'Spain', '(95) 555 82 82', NULL ) ;
+INSERT INTO GHTDB.CUSTOMERS ( CustomerID, CompanyName, ContactName, ContactTitle, Address, City, Region, PostalCode, Country, Phone, Fax ) VALUES ('GOURL', 'Gourmet Lanchonetes', 'André Fonseca', 'Sales Associate', 'Av. Brasil, 442', 'Campinas', 'SP', '04876-786', 'Brazil', '(11) 555-9482', NULL ) ;
+INSERT INTO GHTDB.CUSTOMERS ( CustomerID, CompanyName, ContactName, ContactTitle, Address, City, Region, PostalCode, Country, Phone, Fax ) VALUES ('GREAL', 'Great Lakes Food Market', 'Howard Snyder', 'Marketing Manager', '2732 Baker Blvd.', 'Eugene', 'OR', '97403', 'USA', '(503) 555-7555', NULL ) ;
+INSERT INTO GHTDB.CUSTOMERS ( CustomerID, CompanyName, ContactName, ContactTitle, Address, City, Region, PostalCode, Country, Phone, Fax ) VALUES ('GROSR', 'GROSELLA-Restaurante', 'Manuel Pereira', 'Owner', '5ª Ave. Los Palos Grandes', 'Caracas', 'DF', '1081', 'Venezuela', '(2) 283-2951', '(2) 283-3397' ) ;
+INSERT INTO GHTDB.CUSTOMERS ( CustomerID, CompanyName, ContactName, ContactTitle, Address, City, Region, PostalCode, Country, Phone, Fax ) VALUES ('HANAR', 'Hanari Carnes', 'Mario Pontes', 'Accounting Manager', 'Rua do Paço, 67', 'Rio de Janeiro', 'RJ', '05454-876', 'Brazil', '(21) 555-0091', '(21) 555-8765' ) ;
+INSERT INTO GHTDB.CUSTOMERS ( CustomerID, CompanyName, ContactName, ContactTitle, Address, City, Region, PostalCode, Country, Phone, Fax ) VALUES ('HILAA', 'HILARION-Abastos', 'Carlos Hernández', 'Sales Representative', 'Carrera 22 con Ave. Carlos Soublette #8-35', 'San Cristóbal', 'Táchira', '5022', 'Venezuela', '(5) 555-1340', '(5) 555-1948' ) ;
+INSERT INTO GHTDB.CUSTOMERS ( CustomerID, CompanyName, ContactName, ContactTitle, Address, City, Region, PostalCode, Country, Phone, Fax ) VALUES ('HUNGC', 'Hungry Coyote Import Store', 'Yoshi Latimer', 'Sales Representative', 'City Center Plaza 516 Main St.', 'Elgin', 'OR', '97827', 'USA', '(503) 555-6874', '(503) 555-2376' ) ;
+INSERT INTO GHTDB.CUSTOMERS ( CustomerID, CompanyName, ContactName, ContactTitle, Address, City, Region, PostalCode, Country, Phone, Fax ) VALUES ('HUNGO', 'Hungry Owl All-Night Grocers', 'Patricia McKenna', 'Sales Associate', '8 Johnstown Road', 'Cork', 'Co. Cork', NULL, 'Ireland', '2967 542', '2967 3333' ) ;
+INSERT INTO GHTDB.CUSTOMERS ( CustomerID, CompanyName, ContactName, ContactTitle, Address, City, Region, PostalCode, Country, Phone, Fax ) VALUES ('ISLAT', 'Island Trading', 'Helen Bennett', 'Marketing Manager', 'Garden House Crowther Way', 'Cowes', 'Isle of Wight', 'PO31 7PJ', 'UK', '(198) 555-8888', NULL ) ;
+INSERT INTO GHTDB.CUSTOMERS ( CustomerID, CompanyName, ContactName, ContactTitle, Address, City, Region, PostalCode, Country, Phone, Fax ) VALUES ('KOENE', 'Königlich Essen', 'Philip Cramer', 'Sales Associate', 'Maubelstr. 90', 'Brandenburg', NULL, '14776', 'Germany', '0555-09876', NULL ) ;
+INSERT INTO GHTDB.CUSTOMERS ( CustomerID, CompanyName, ContactName, ContactTitle, Address, City, Region, PostalCode, Country, Phone, Fax ) VALUES ('LACOR', 'La corne d''abondance', 'Daniel Tonini', 'Sales Representative', '67, avenue de l''Europe', 'Versailles', NULL, '78000', 'France', '30.59.84.10', '30.59.85.11' ) ;
+INSERT INTO GHTDB.CUSTOMERS ( CustomerID, CompanyName, ContactName, ContactTitle, Address, City, Region, PostalCode, Country, Phone, Fax ) VALUES ('LAMAI', 'La maison d''Asie', 'Annette Roulet', 'Sales Manager', '1 rue Alsace-Lorraine', 'Toulouse', NULL, '31000', 'France', '61.77.61.10', '61.77.61.11' ) ;
+INSERT INTO GHTDB.CUSTOMERS ( CustomerID, CompanyName, ContactName, ContactTitle, Address, City, Region, PostalCode, Country, Phone, Fax ) VALUES ('LAUGB', 'Laughing Bacchus Wine Cellars', 'Yoshi Tannamuri', 'Marketing Assistant', '1900 Oak St.', 'Vancouver', 'BC', 'V3F 2K1', 'Canada', '(604) 555-3392', '(604) 555-7293' ) ;
+INSERT INTO GHTDB.CUSTOMERS ( CustomerID, CompanyName, ContactName, ContactTitle, Address, City, Region, PostalCode, Country, Phone, Fax ) VALUES ('LAZYK', 'Lazy K Kountry Store', 'John Steel', 'Marketing Manager', '12 Orchestra Terrace', 'Walla Walla', 'WA', '99362', 'USA', '(509) 555-7969', '(509) 555-6221' ) ;
+INSERT INTO GHTDB.CUSTOMERS ( CustomerID, CompanyName, ContactName, ContactTitle, Address, City, Region, PostalCode, Country, Phone, Fax ) VALUES ('LEHMS', 'Lehmanns Marktstand', 'Renate Messner', 'Sales Representative', 'Magazinweg 7', 'Frankfurt a.M.', NULL, '60528', 'Germany', '069-0245984', '069-0245874' ) ;
+INSERT INTO GHTDB.CUSTOMERS ( CustomerID, CompanyName, ContactName, ContactTitle, Address, City, Region, PostalCode, Country, Phone, Fax ) VALUES ('LETSS', 'Let''s Stop N Shop', 'Jaime Yorres', 'Owner', '87 Polk St. Suite 5', 'San Francisco', 'CA', '94117', 'USA', '(415) 555-5938', NULL ) ;
+INSERT INTO GHTDB.CUSTOMERS ( CustomerID, CompanyName, ContactName, ContactTitle, Address, City, Region, PostalCode, Country, Phone, Fax ) VALUES ('LILAS', 'LILA-Supermercado', 'Carlos González', 'Accounting Manager', 'Carrera 52 con Ave. Bolívar #65-98 Llano Largo', 'Barquisimeto', 'Lara', '3508', 'Venezuela', '(9) 331-6954', '(9) 331-7256' ) ;
+INSERT INTO GHTDB.CUSTOMERS ( CustomerID, CompanyName, ContactName, ContactTitle, Address, City, Region, PostalCode, Country, Phone, Fax ) VALUES ('LINOD', 'LINO-Delicateses', 'Felipe Izquierdo', 'Owner', 'Ave. 5 de Mayo Porlamar', 'I. de Margarita', 'Nueva Esparta', '4980', 'Venezuela', '(8) 34-56-12', '(8) 34-93-93' ) ;
+INSERT INTO GHTDB.CUSTOMERS ( CustomerID, CompanyName, ContactName, ContactTitle, Address, City, Region, PostalCode, Country, Phone, Fax ) VALUES ('LONEP', 'Lonesome Pine Restaurant', 'Fran Wilson', 'Sales Manager', '89 Chiaroscuro Rd.', 'Portland', 'OR', '97219', 'USA', '(503) 555-9573', '(503) 555-9646' ) ;
+INSERT INTO GHTDB.CUSTOMERS ( CustomerID, CompanyName, ContactName, ContactTitle, Address, City, Region, PostalCode, Country, Phone, Fax ) VALUES ('MAGAA', 'Magazzini Alimentari Riuniti', 'Giovanni Rovelli', 'Marketing Manager', 'Via Ludovico il Moro 22', 'Bergamo', NULL, '24100', 'Italy', '035-640230', '035-640231' ) ;
+INSERT INTO GHTDB.CUSTOMERS ( CustomerID, CompanyName, ContactName, ContactTitle, Address, City, Region, PostalCode, Country, Phone, Fax ) VALUES ('MAISD', 'Maison Dewey', 'Catherine Dewey', 'Sales Agent', 'Rue Joseph-Bens 532', 'Bruxelles', NULL, 'B-1180', 'Belgium', '(02) 201 24 67', '(02) 201 24 68' ) ;
+INSERT INTO GHTDB.CUSTOMERS ( CustomerID, CompanyName, ContactName, ContactTitle, Address, City, Region, PostalCode, Country, Phone, Fax ) VALUES ('MEREP', 'Mère Paillarde', 'Jean Fresnière', 'Marketing Assistant', '43 rue St. Laurent', 'Montréal', 'Québec', 'H1J 1C3', 'Canada', '(514) 555-8054', '(514) 555-8055' ) ;
+INSERT INTO GHTDB.CUSTOMERS ( CustomerID, CompanyName, ContactName, ContactTitle, Address, City, Region, PostalCode, Country, Phone, Fax ) VALUES ('MORGK', 'Morgenstern Gesundkost', 'Alexander Feuer', 'Marketing Assistant', 'Heerstr. 22', 'Leipzig', NULL, '04179', 'Germany', '0342-023176', NULL ) ;
+INSERT INTO GHTDB.CUSTOMERS ( CustomerID, CompanyName, ContactName, ContactTitle, Address, City, Region, PostalCode, Country, Phone, Fax ) VALUES ('NORTS', 'North/South', 'Simon Crowther', 'Sales Associate', 'South House 300 Queensbridge', 'London', NULL, 'SW7 1RZ', 'UK', '(171) 555-7733', '(171) 555-2530' ) ;
+INSERT INTO GHTDB.CUSTOMERS ( CustomerID, CompanyName, ContactName, ContactTitle, Address, City, Region, PostalCode, Country, Phone, Fax ) VALUES ('OCEAN', 'Océano Atlántico Ltda.', 'Yvonne Moncada', 'Sales Agent', 'Ing. Gustavo Moncada 8585 Piso 20-A', 'Buenos Aires', NULL, '1010', 'Argentina', '(1) 135-5333', '(1) 135-5535' ) ;
+INSERT INTO GHTDB.CUSTOMERS ( CustomerID, CompanyName, ContactName, ContactTitle, Address, City, Region, PostalCode, Country, Phone, Fax ) VALUES ('OLDWO', 'Old World Delicatessen', 'Rene Phillips', 'Sales Representative', '2743 Bering St.', 'Anchorage', 'AK', '99508', 'USA', '(907) 555-7584', '(907) 555-2880' ) ;
+INSERT INTO GHTDB.CUSTOMERS ( CustomerID, CompanyName, ContactName, ContactTitle, Address, City, Region, PostalCode, Country, Phone, Fax ) VALUES ('OTTIK', 'Ottilies Käseladen', 'Henriette Pfalzheim', 'Owner', 'Mehrheimerstr. 369', 'Köln', NULL, '50739', 'Germany', '0221-0644327', '0221-0765721' ) ;
+INSERT INTO GHTDB.CUSTOMERS ( CustomerID, CompanyName, ContactName, ContactTitle, Address, City, Region, PostalCode, Country, Phone, Fax ) VALUES ('PARIS', 'Paris spécialités', 'Marie Bertrand', 'Owner', '265, boulevard Charonne', 'Paris', NULL, '75012', 'France', '(1) 42.34.22.66', '(1) 42.34.22.77' ) ;
+INSERT INTO GHTDB.CUSTOMERS ( CustomerID, CompanyName, ContactName, ContactTitle, Address, City, Region, PostalCode, Country, Phone, Fax ) VALUES ('PERIC', 'Pericles Comidas clásicas', 'Guillermo Fernández', 'Sales Representative', 'Calle Dr. Jorge Cash 321', 'México D.F.', NULL, '05033', 'Mexico', '(5) 552-3745', '(5) 545-3745' ) ;
+INSERT INTO GHTDB.CUSTOMERS ( CustomerID, CompanyName, ContactName, ContactTitle, Address, City, Region, PostalCode, Country, Phone, Fax ) VALUES ('PICCO', 'Piccolo und mehr', 'Georg Pipps', 'Sales Manager', 'Geislweg 14', 'Salzburg', NULL, '5020', 'Austria', '6562-9722', '6562-9723' ) ;
+INSERT INTO GHTDB.CUSTOMERS ( CustomerID, CompanyName, ContactName, ContactTitle, Address, City, Region, PostalCode, Country, Phone, Fax ) VALUES ('PRINI', 'Princesa Isabel Vinhos', 'Isabel de Castro', 'Sales Representative', 'Estrada da saúde n. 58', 'Lisboa', NULL, '1756', 'Portugal', '(1) 356-5634', NULL ) ;
+INSERT INTO GHTDB.CUSTOMERS ( CustomerID, CompanyName, ContactName, ContactTitle, Address, City, Region, PostalCode, Country, Phone, Fax ) VALUES ('QUEDE', 'Que Delícia', 'Bernardo Batista', 'Accounting Manager', 'Rua da Panificadora, 12', 'Rio de Janeiro', 'RJ', '02389-673', 'Brazil', '(21) 555-4252', '(21) 555-4545' ) ;
+INSERT INTO GHTDB.CUSTOMERS ( CustomerID, CompanyName, ContactName, ContactTitle, Address, City, Region, PostalCode, Country, Phone, Fax ) VALUES ('QUEEN', 'Queen Cozinha', 'Lúcia Carvalho', 'Marketing Assistant', 'Alameda dos Canàrios, 891', 'Sao Paulo', 'SP', '05487-020', 'Brazil', '(11) 555-1189', NULL ) ;
+INSERT INTO GHTDB.CUSTOMERS ( CustomerID, CompanyName, ContactName, ContactTitle, Address, City, Region, PostalCode, Country, Phone, Fax ) VALUES ('QUICK', 'QUICK-Stop', 'Horst Kloss', 'Accounting Manager', 'Taucherstraße 10', 'Cunewalde', NULL, '01307', 'Germany', '0372-035188', NULL ) ;
+INSERT INTO GHTDB.CUSTOMERS ( CustomerID, CompanyName, ContactName, ContactTitle, Address, City, Region, PostalCode, Country, Phone, Fax ) VALUES ('RANCH', 'Rancho grande', 'Sergio Gutiérrez', 'Sales Representative', 'Av. del Libertador 900', 'Buenos Aires', NULL, '1010', 'Argentina', '(1) 123-5555', '(1) 123-5556' ) ;
+INSERT INTO GHTDB.CUSTOMERS ( CustomerID, CompanyName, ContactName, ContactTitle, Address, City, Region, PostalCode, Country, Phone, Fax ) VALUES ('RATTC', 'Rattlesnake Canyon Grocery', 'Paula Wilson', 'Assistant Sales Representative', '2817 Milton Dr.', 'Albuquerque', 'NM', '87110', 'USA', '(505) 555-5939', '(505) 555-3620' ) ;
+INSERT INTO GHTDB.CUSTOMERS ( CustomerID, CompanyName, ContactName, ContactTitle, Address, City, Region, PostalCode, Country, Phone, Fax ) VALUES ('REGGC', 'Reggiani Caseifici', 'Maurizio Moroni', 'Sales Associate', 'Strada Provinciale 124', 'Reggio Emilia', NULL, '42100', 'Italy', '0522-556721', '0522-556722' ) ;
+INSERT INTO GHTDB.CUSTOMERS ( CustomerID, CompanyName, ContactName, ContactTitle, Address, City, Region, PostalCode, Country, Phone, Fax ) VALUES ('RICAR', 'Ricardo Adocicados', 'Janete Limeira', 'Assistant Sales Agent', 'Av. Copacabana, 267', 'Rio de Janeiro', 'RJ', '02389-890', 'Brazil', '(21) 555-3412', NULL ) ;
+INSERT INTO GHTDB.CUSTOMERS ( CustomerID, CompanyName, ContactName, ContactTitle, Address, City, Region, PostalCode, Country, Phone, Fax ) VALUES ('RICSU', 'Richter Supermarkt', 'Michael Holz', 'Sales Manager', 'Grenzacherweg 237', 'Genève', NULL, '1203', 'Switzerland', '0897-034214', NULL ) ;
+INSERT INTO GHTDB.CUSTOMERS ( CustomerID, CompanyName, ContactName, ContactTitle, Address, City, Region, PostalCode, Country, Phone, Fax ) VALUES ('ROMEY', 'Romero y tomillo', 'Alejandra Camino', 'Accounting Manager', 'Gran Vía, 1', 'Madrid', NULL, '28001', 'Spain', '(91) 745 6200', '(91) 745 6210' ) ;
+INSERT INTO GHTDB.CUSTOMERS ( CustomerID, CompanyName, ContactName, ContactTitle, Address, City, Region, PostalCode, Country, Phone, Fax ) VALUES ('SANTG', 'Santé Gourmet', 'Jonas Bergulfsen', 'Owner', 'Erling Skakkes gate 78', 'Stavern', NULL, '4110', 'Norway', '07-98 92 35', '07-98 92 47' ) ;
+INSERT INTO GHTDB.CUSTOMERS ( CustomerID, CompanyName, ContactName, ContactTitle, Address, City, Region, PostalCode, Country, Phone, Fax ) VALUES ('SAVEA', 'Save-a-lot Markets', 'Jose Pavarotti', 'Sales Representative', '187 Suffolk Ln.', 'Boise', 'ID', '83720', 'USA', '(208) 555-8097', NULL ) ;
+INSERT INTO GHTDB.CUSTOMERS ( CustomerID, CompanyName, ContactName, ContactTitle, Address, City, Region, PostalCode, Country, Phone, Fax ) VALUES ('SEVES', 'Seven Seas Imports', 'Hari Kumar', 'Sales Manager', '90 Wadhurst Rd.', 'London', NULL, 'OX15 4NB', 'UK', '(171) 555-1717', '(171) 555-5646' ) ;
+INSERT INTO GHTDB.CUSTOMERS ( CustomerID, CompanyName, ContactName, ContactTitle, Address, City, Region, PostalCode, Country, Phone, Fax ) VALUES ('SIMOB', 'Simons bistro', 'Jytte Petersen', 'Owner', 'Vinbæltet 34', 'Kobenhavn', NULL, '1734', 'Denmark', '31 12 34 56', '31 13 35 57' ) ;
+INSERT INTO GHTDB.CUSTOMERS ( CustomerID, CompanyName, ContactName, ContactTitle, Address, City, Region, PostalCode, Country, Phone, Fax ) VALUES ('SPECD', 'Spécialités du monde', 'Dominique Perrier', 'Marketing Manager', '25, rue Lauriston', 'Paris', NULL, '75016', 'France', '(1) 47.55.60.10', '(1) 47.55.60.20' ) ;
+INSERT INTO GHTDB.CUSTOMERS ( CustomerID, CompanyName, ContactName, ContactTitle, Address, City, Region, PostalCode, Country, Phone, Fax ) VALUES ('SPLIR', 'Split Rail Beer & Ale', 'Art Braunschweiger', 'Sales Manager', 'P.O. Box 555', 'Lander', 'WY', '82520', 'USA', '(307) 555-4680', '(307) 555-6525' ) ;
+INSERT INTO GHTDB.CUSTOMERS ( CustomerID, CompanyName, ContactName, ContactTitle, Address, City, Region, PostalCode, Country, Phone, Fax ) VALUES ('SUPRD', 'Suprêmes délices', 'Pascale Cartrain', 'Accounting Manager', 'Boulevard Tirou, 255', 'Charleroi', NULL, 'B-6000', 'Belgium', '(071) 23 67 22 20', '(071) 23 67 22 21' ) ;
+INSERT INTO GHTDB.CUSTOMERS ( CustomerID, CompanyName, ContactName, ContactTitle, Address, City, Region, PostalCode, Country, Phone, Fax ) VALUES ('THEBI', 'The Big Cheese', 'Liz Nixon', 'Marketing Manager', '89 Jefferson Way Suite 2', 'Portland', 'OR', '97201', 'USA', '(503) 555-3612', NULL ) ;
+INSERT INTO GHTDB.CUSTOMERS ( CustomerID, CompanyName, ContactName, ContactTitle, Address, City, Region, PostalCode, Country, Phone, Fax ) VALUES ('THECR', 'The Cracker Box', 'Liu Wong', 'Marketing Assistant', '55 Grizzly Peak Rd.', 'Butte', 'MT', '59801', 'USA', '(406) 555-5834', '(406) 555-8083' ) ;
+INSERT INTO GHTDB.CUSTOMERS ( CustomerID, CompanyName, ContactName, ContactTitle, Address, City, Region, PostalCode, Country, Phone, Fax ) VALUES ('TOMSP', 'Toms Spezialitäten', 'Karin Josephs', 'Marketing Manager', 'Luisenstr. 48', 'Münster', NULL, '44087', 'Germany', '0251-031259', '0251-035695' ) ;
+INSERT INTO GHTDB.CUSTOMERS ( CustomerID, CompanyName, ContactName, ContactTitle, Address, City, Region, PostalCode, Country, Phone, Fax ) VALUES ('TORTU', 'Tortuga Restaurante', 'Miguel Angel Paolino', 'Owner', 'Avda. Azteca 123', 'México D.F.', NULL, '05033', 'Mexico', '(5) 555-2933', NULL ) ;
+INSERT INTO GHTDB.CUSTOMERS ( CustomerID, CompanyName, ContactName, ContactTitle, Address, City, Region, PostalCode, Country, Phone, Fax ) VALUES ('TRADH', 'Tradição Hipermercados', 'Anabela Domingues', 'Sales Representative', 'Av. Inês de Castro, 414', 'Sao Paulo', 'SP', '05634-030', 'Brazil', '(11) 555-2167', '(11) 555-2168' ) ;
+INSERT INTO GHTDB.CUSTOMERS ( CustomerID, CompanyName, ContactName, ContactTitle, Address, City, Region, PostalCode, Country, Phone, Fax ) VALUES ('TRAIH', 'Trail''s Head Gourmet Provisioners', 'Helvetius Nagy', 'Sales Associate', '722 DaVinci Blvd.', 'Kirkland', 'WA', '98034', 'USA', '(206) 555-8257', '(206) 555-2174' ) ;
+INSERT INTO GHTDB.CUSTOMERS ( CustomerID, CompanyName, ContactName, ContactTitle, Address, City, Region, PostalCode, Country, Phone, Fax ) VALUES ('VAFFE', 'Vaffeljernet', 'Palle Ibsen', 'Sales Manager', 'Smagsloget 45', 'Ã…rhus', NULL, '8200', 'Denmark', '86 21 32 43', '86 22 33 44' ) ;
+INSERT INTO GHTDB.CUSTOMERS ( CustomerID, CompanyName, ContactName, ContactTitle, Address, City, Region, PostalCode, Country, Phone, Fax ) VALUES ('VICTE', 'Victuailles en stock', 'Mary Saveley', 'Sales Agent', '2, rue du Commerce', 'Lyon', NULL, '69004', 'France', '78.32.54.86', '78.32.54.87' ) ;
+INSERT INTO GHTDB.CUSTOMERS ( CustomerID, CompanyName, ContactName, ContactTitle, Address, City, Region, PostalCode, Country, Phone, Fax ) VALUES ('VINET', 'Vins et alcools Chevalier', 'Paul Henriot', 'Accounting Manager', '59 rue de l''Abbaye', 'Reims', NULL, '51100', 'France', '26.47.15.10', '26.47.15.11' ) ;
+INSERT INTO GHTDB.CUSTOMERS ( CustomerID, CompanyName, ContactName, ContactTitle, Address, City, Region, PostalCode, Country, Phone, Fax ) VALUES ('WANDK', 'Die Wandernde Kuh', 'Rita Müller', 'Sales Representative', 'Adenauerallee 900', 'Stuttgart', NULL, '70563', 'Germany', '0711-020361', '0711-035428' ) ;
+INSERT INTO GHTDB.CUSTOMERS ( CustomerID, CompanyName, ContactName, ContactTitle, Address, City, Region, PostalCode, Country, Phone, Fax ) VALUES ('WARTH', 'Wartian Herkku', 'Pirkko Koskitalo', 'Accounting Manager', 'Torikatu 38', 'Oulu', NULL, '90110', 'Finland', '981-443655', '981-443655' ) ;
+INSERT INTO GHTDB.CUSTOMERS ( CustomerID, CompanyName, ContactName, ContactTitle, Address, City, Region, PostalCode, Country, Phone, Fax ) VALUES ('WELLI', 'Wellington Importadora', 'Paula Parente', 'Sales Manager', 'Rua do Mercado, 12', 'Resende', 'SP', '08737-363', 'Brazil', '(14) 555-8122', NULL ) ;
+INSERT INTO GHTDB.CUSTOMERS ( CustomerID, CompanyName, ContactName, ContactTitle, Address, City, Region, PostalCode, Country, Phone, Fax ) VALUES ('WHITC', 'White Clover Markets', 'Karl Jablonski', 'Owner', '305 - 14th Ave. S. Suite 3B', 'Seattle', 'WA', '98128', 'USA', '(206) 555-4112', '(206) 555-4115' ) ;
+INSERT INTO GHTDB.CUSTOMERS ( CustomerID, CompanyName, ContactName, ContactTitle, Address, City, Region, PostalCode, Country, Phone, Fax ) VALUES ('WILMK', 'Wilman Kala', 'Matti Karttunen', 'Owner/Marketing Assistant', 'Keskuskatu 45', 'Helsinki', NULL, '21240', 'Finland', '90-224 8858', '90-224 8858' ) ;
+INSERT INTO GHTDB.CUSTOMERS ( CustomerID, CompanyName, ContactName, ContactTitle, Address, City, Region, PostalCode, Country, Phone, Fax ) VALUES ('WOLZA', 'Wolski  Zajazd', 'Zbyszek Piestrzeniewicz', 'Owner', 'ul. Filtrowa 68', 'Warszawa', NULL, '01-012', 'Poland', '(26) 642-7012', '(26) 642-7012' ) ;
+
+INSERT INTO GHTDB.EMPLOYEES ( EmployeeID, LastName, FirstName, Title, TitleOfCourtesy, BirthDate, HireDate, Address, City, Region, PostalCode, Country, HomePhone, Extension, Notes, ReportsTo, PhotoPath ) VALUES (1, 'Yavine', 'Oved', 'Sales Representative', 'Mr', '12/8/1948 12:00:00 AM', '5/1/1992 12:00:00 AM', '507 - 20th Ave. E.Apt. 2A', 'Seattle', 'WA', '98122', 'USA', '(206) 555-9857', '5467', 'Education includes a BA in psychology from Colorado State University in 1970.  She also completed "The Art of the Cold Call."  Nancy is a member of Toastmasters International.', 1, 'http://accweb/emmployees/davolio.bmp' ) ;
+INSERT INTO GHTDB.EMPLOYEES ( EmployeeID, LastName, FirstName, Title, TitleOfCourtesy, BirthDate, HireDate, Address, City, Region, PostalCode, Country, HomePhone, Extension, Notes, ReportsTo, PhotoPath ) VALUES (2, 'Fuller', 'Andrew', 'Vice President, Sales', 'Dr.', '2/19/1952 12:00:00 AM', '8/14/1992 12:00:00 AM', '908 W. Capital Way', 'Tacoma', 'WA', '98401', 'USA', '(206) 555-9482', '3457', 'Andrew received his BTS commercial in 1974 and a Ph.D. in international marketing from the University of Dallas in 1981.  He is fluent in French and Italian and reads German.  He joined the company as a sales representative, was promoted to sales manager in January 1992 and to vice president of sales in March 1993.  Andrew is a member of the Sales Management Roundtable, the Seattle Chamber of Commerce, and the Pacific Rim Importers Association.', 1, 'http://accweb/emmployees/fuller.bmp' ) ;
+INSERT INTO GHTDB.EMPLOYEES ( EmployeeID, LastName, FirstName, Title, TitleOfCourtesy, BirthDate, HireDate, Address, City, Region, PostalCode, Country, HomePhone, Extension, Notes, ReportsTo, PhotoPath ) VALUES (3, 'Leverling', 'Janet', 'Sales Representative', 'Ms.', '8/30/1963 12:00:00 AM', '4/1/1992 12:00:00 AM', '722 Moss Bay Blvd.', 'Kirkland', 'WA', '98033', 'USA', '(206) 555-3412', '3355', 'Janet has a BS degree in chemistry from Boston College (1984).  She has also completed a certificate program in food retailing management.  Janet was hired as a sales associate in 1991 and promoted to sales representative in February 1992.', 2, 'http://accweb/emmployees/leverling.bmp' ) ;
+INSERT INTO GHTDB.EMPLOYEES ( EmployeeID, LastName, FirstName, Title, TitleOfCourtesy, BirthDate, HireDate, Address, City, Region, PostalCode, Country, HomePhone, Extension, Notes, ReportsTo, PhotoPath ) VALUES (4, 'Peacock', 'Margaret', 'Sales Representative', 'Mrs.', '9/19/1937 12:00:00 AM', '5/3/1993 12:00:00 AM', '4110 Old Redmond Rd.', 'Redmond', 'WA', '98052', 'USA', '(206) 555-8122', '5176', 'Margaret holds a BA in English literature from Concordia College (1958) and an MA from the American Institute of Culinary Arts (1966).  She was assigned to the London office temporarily from July through November 1992.', 2, 'http://accweb/emmployees/peacock.bmp' ) ;
+INSERT INTO GHTDB.EMPLOYEES ( EmployeeID, LastName, FirstName, Title, TitleOfCourtesy, BirthDate, HireDate, Address, City, Region, PostalCode, Country, HomePhone, Extension, Notes, ReportsTo, PhotoPath ) VALUES (5, 'Buchanan', 'Steven', 'Sales Manager', 'Mr.', '3/4/1955 12:00:00 AM', '10/17/1993 12:00:00 AM', '14 Garrett Hill', 'London', NULL, 'SW1 8JR', 'UK', '(71) 555-4848', '3453', 'Steven Buchanan graduated from St. Andrews University, Scotland, with a BSC degree in 1976.  Upon joining the company as a sales representative in 1992, he spent 6 months in an orientation program at the Seattle office and then returned to his permanent post in London.  He was promoted to sales manager in March 1993.  Mr. Buchanan has completed the courses "Successful Telemarketing" and "International Sales Management."  He is fluent in French.', 2, 'http://accweb/emmployees/buchanan.bmp' ) ;
+INSERT INTO GHTDB.EMPLOYEES ( EmployeeID, LastName, FirstName, Title, TitleOfCourtesy, BirthDate, HireDate, Address, City, Region, PostalCode, Country, HomePhone, Extension, Notes, ReportsTo, PhotoPath ) VALUES (6, 'Suyama', 'Michael', 'Sales Representative', 'Mr.', '7/2/1963 12:00:00 AM', '10/17/1993 12:00:00 AM', 'Coventry HouseMiner Rd.', 'London', NULL, 'EC2 7JR', 'UK', '(71) 555-7773', '428', 'Michael is a graduate of Sussex University (MA, economics, 1983) and the University of California at Los Angeles (MBA, marketing, 1986).  He has also taken the courses "Multi-Cultural Selling" and "Time Management for the Sales Professional."  He is fluent in Japanese and can read and write French, Portuguese, and Spanish.', 5, 'http://accweb/emmployees/davolio.bmp' ) ;
+INSERT INTO GHTDB.EMPLOYEES ( EmployeeID, LastName, FirstName, Title, TitleOfCourtesy, BirthDate, HireDate, Address, City, Region, PostalCode, Country, HomePhone, Extension, Notes, ReportsTo, PhotoPath ) VALUES (7, 'King', 'Robert', 'Sales Representative', 'Mr.', '5/29/1960 12:00:00 AM', '1/2/1994 12:00:00 AM', 'Edgeham HollowWinchester Way', 'London', NULL, 'RG1 9SP', 'UK', '(71) 555-5598', '465', 'Robert King served in the Peace Corps and traveled extensively before completing his degree in English at the University of Michigan in 1992, the year he joined the company.  After completing a course entitled "Selling in Europe," he was transferred to the London office in March 1993.', 5, 'http://accweb/emmployees/davolio.bmp' ) ;
+INSERT INTO GHTDB.EMPLOYEES ( EmployeeID, LastName, FirstName, Title, TitleOfCourtesy, BirthDate, HireDate, Address, City, Region, PostalCode, Country, HomePhone, Extension, Notes, ReportsTo, PhotoPath ) VALUES (8, 'Callahan', 'Laura', 'Inside Sales Coordinator', 'Ms.', '1/9/1958 12:00:00 AM', '3/5/1994 12:00:00 AM', '4726 - 11th Ave. N.E.', 'Seattle', 'WA', '98105', 'USA', '(206) 555-1189', '2344', 'Laura received a BA in psychology from the University of Washington.  She has also completed a course in business French.  She reads and writes French.', 2, 'http://accweb/emmployees/davolio.bmp' ) ;
+INSERT INTO GHTDB.EMPLOYEES ( EmployeeID, LastName, FirstName, Title, TitleOfCourtesy, BirthDate, HireDate, Address, City, Region, PostalCode, Country, HomePhone, Extension, Notes, ReportsTo, PhotoPath ) VALUES (9, 'Dodsworth', 'Anne', 'Sales Representative', 'Ms.', '1/27/1966 12:00:00 AM', '11/15/1994 12:00:00 AM', '7 Houndstooth Rd.', 'London', NULL, 'WG2 7LT', 'UK', '(71) 555-4444', '452', 'Anne has a BA degree in English from St. Lawrence College.  She is fluent in French and German.', 5, 'http://accweb/emmployees/davolio.bmp' ) ;
+
+INSERT INTO GHTDB.REGION ( RegionID, RegionDescription ) VALUES (1, 'Eastern                                           ' ) ;
+INSERT INTO GHTDB.REGION ( RegionID, RegionDescription ) VALUES (2, 'Western                                           ' ) ;
+INSERT INTO GHTDB.REGION ( RegionID, RegionDescription ) VALUES (3, 'Northern                                          ' ) ;
+INSERT INTO GHTDB.REGION ( RegionID, RegionDescription ) VALUES (4, 'Southern                                          ' ) ;
+
+
+INSERT INTO GHTDB.SHIPPERS ( ShipperID, CompanyName, Phone ) VALUES (1, 'Speedy Express', '(503) 555-9831' ) ;
+INSERT INTO GHTDB.SHIPPERS ( ShipperID, CompanyName, Phone ) VALUES (2, 'Comp2', '(503) 555-3199' ) ;
+INSERT INTO GHTDB.SHIPPERS ( ShipperID, CompanyName, Phone ) VALUES (3, 'Federal Shipping', '(503) 555-9931' ) ;
+
+
+INSERT INTO GHTDB.ORDERS ( OrderID, CustomerID, EmployeeID, OrderDate, RequiredDate, ShippedDate, ShipVia, Freight, ShipName, ShipAddress, ShipCity, ShipRegion, ShipPostalCode, ShipCountry ) VALUES (10248, 'VINET', 5, '7/4/1996 12:00:00 AM', '8/1/1996 12:00:00 AM', '7/16/1996 12:00:00 AM', 3, 255.39, 'Vins et alcools Chevalier', '59 rue de l''Abbaye', 'Reims', NULL, '51100', 'France' ) ;
+INSERT INTO GHTDB.ORDERS ( OrderID, CustomerID, EmployeeID, OrderDate, RequiredDate, ShippedDate, ShipVia, Freight, ShipName, ShipAddress, ShipCity, ShipRegion, ShipPostalCode, ShipCountry ) VALUES (10249, 'TOMSP', 6, '7/5/1996 12:00:00 AM', '8/16/1996 12:00:00 AM', '7/10/1996 12:00:00 AM', 1, 11.61, 'Toms Spezialitäten', 'Luisenstr. 48', 'Münster', NULL, '44087', 'Germany' ) ;
+INSERT INTO GHTDB.ORDERS ( OrderID, CustomerID, EmployeeID, OrderDate, RequiredDate, ShippedDate, ShipVia, Freight, ShipName, ShipAddress, ShipCity, ShipRegion, ShipPostalCode, ShipCountry ) VALUES (10250, 'HANAR', 4, '7/8/1996 12:00:00 AM', '8/5/1996 12:00:00 AM', '7/12/1996 12:00:00 AM', 2, 65.83, 'Hanari Carnes', 'Rua do Paço, 67', 'Rio de Janeiro', 'RJ', '05454-876', 'Brazil' ) ;
+INSERT INTO GHTDB.ORDERS ( OrderID, CustomerID, EmployeeID, OrderDate, RequiredDate, ShippedDate, ShipVia, Freight, ShipName, ShipAddress, ShipCity, ShipRegion, ShipPostalCode, ShipCountry ) VALUES (10251, 'VICTE', 3, '7/8/1996 12:00:00 AM', '8/5/1996 12:00:00 AM', '7/15/1996 12:00:00 AM', 1, 41.34, 'Victuailles en stock', '2, rue du Commerce', 'Lyon', NULL, '69004', 'France' ) ;
+INSERT INTO GHTDB.ORDERS ( OrderID, CustomerID, EmployeeID, OrderDate, RequiredDate, ShippedDate, ShipVia, Freight, ShipName, ShipAddress, ShipCity, ShipRegion, ShipPostalCode, ShipCountry ) VALUES (10252, 'SUPRD', 4, '7/9/1996 12:00:00 AM', '8/6/1996 12:00:00 AM', '7/11/1996 12:00:00 AM', 2, 51.3, 'Suprêmes délices', 'Boulevard Tirou, 255', 'Charleroi', NULL, 'B-6000', 'Belgium' ) ;
+INSERT INTO GHTDB.ORDERS ( OrderID, CustomerID, EmployeeID, OrderDate, RequiredDate, ShippedDate, ShipVia, Freight, ShipName, ShipAddress, ShipCity, ShipRegion, ShipPostalCode, ShipCountry ) VALUES (10253, 'HANAR', 3, '7/10/1996 12:00:00 AM', '7/24/1996 12:00:00 AM', '7/16/1996 12:00:00 AM', 2, 58.17, 'Hanari Carnes', 'Rua do Paço, 67', 'Rio de Janeiro', 'RJ', '05454-876', 'Brazil' ) ;
+INSERT INTO GHTDB.ORDERS ( OrderID, CustomerID, EmployeeID, OrderDate, RequiredDate, ShippedDate, ShipVia, Freight, ShipName, ShipAddress, ShipCity, ShipRegion, ShipPostalCode, ShipCountry ) VALUES (10254, 'CHOPS', 5, '7/11/1996 12:00:00 AM', '8/8/1996 12:00:00 AM', '7/23/1996 12:00:00 AM', 2, 22.98, 'Chop-suey Chinese', 'Hauptstr. 31', 'Bern', NULL, '3012', 'Switzerland' ) ;
+INSERT INTO GHTDB.ORDERS ( OrderID, CustomerID, EmployeeID, OrderDate, RequiredDate, ShippedDate, ShipVia, Freight, ShipName, ShipAddress, ShipCity, ShipRegion, ShipPostalCode, ShipCountry ) VALUES (10255, 'RICSU', 9, '7/12/1996 12:00:00 AM', '8/9/1996 12:00:00 AM', '7/15/1996 12:00:00 AM', 3, 148.33, 'Richter Supermarkt', 'Starenweg 5', 'Genève', NULL, '1204', 'Switzerland' ) ;
+INSERT INTO GHTDB.ORDERS ( OrderID, CustomerID, EmployeeID, OrderDate, RequiredDate, ShippedDate, ShipVia, Freight, ShipName, ShipAddress, ShipCity, ShipRegion, ShipPostalCode, ShipCountry ) VALUES (10256, 'WELLI', 3, '7/15/1996 12:00:00 AM', '8/12/1996 12:00:00 AM', '7/17/1996 12:00:00 AM', 2, 13.97, 'Wellington Importadora', 'Rua do Mercado, 12', 'Resende', 'SP', '08737-363', 'Brazil' ) ;
+INSERT INTO GHTDB.ORDERS ( OrderID, CustomerID, EmployeeID, OrderDate, RequiredDate, ShippedDate, ShipVia, Freight, ShipName, ShipAddress, ShipCity, ShipRegion, ShipPostalCode, ShipCountry ) VALUES (10257, 'HILAA', 4, '7/16/1996 12:00:00 AM', '8/13/1996 12:00:00 AM', '7/22/1996 12:00:00 AM', 3, 81.91, 'HILARION-Abastos', 'Carrera 22 con Ave. Carlos Soublette #8-35', 'San Cristóbal', 'Táchira', '5022', 'Venezuela' ) ;
+INSERT INTO GHTDB.ORDERS ( OrderID, CustomerID, EmployeeID, OrderDate, RequiredDate, ShippedDate, ShipVia, Freight, ShipName, ShipAddress, ShipCity, ShipRegion, ShipPostalCode, ShipCountry ) VALUES (10258, 'ERNSH', 1, '7/17/1996 12:00:00 AM', '8/14/1996 12:00:00 AM', '7/23/1996 12:00:00 AM', 1, 140.51, 'Ernst Handel', 'Kirchgasse 6', 'Graz', NULL, '8010', 'Austria' ) ;
+INSERT INTO GHTDB.ORDERS ( OrderID, CustomerID, EmployeeID, OrderDate, RequiredDate, ShippedDate, ShipVia, Freight, ShipName, ShipAddress, ShipCity, ShipRegion, ShipPostalCode, ShipCountry ) VALUES (10259, 'CENTC', 4, '7/18/1996 12:00:00 AM', '8/15/1996 12:00:00 AM', '7/25/1996 12:00:00 AM', 3, 3.25, 'Centro comercial Moctezuma', 'Sierras de Granada 9993', 'México D.F.', NULL, '05022', 'Mexico' ) ;
+INSERT INTO GHTDB.ORDERS ( OrderID, CustomerID, EmployeeID, OrderDate, RequiredDate, ShippedDate, ShipVia, Freight, ShipName, ShipAddress, ShipCity, ShipRegion, ShipPostalCode, ShipCountry ) VALUES (10260, 'OTTIK', 4, '7/19/1996 12:00:00 AM', '8/16/1996 12:00:00 AM', '7/29/1996 12:00:00 AM', 1, 55.09, 'Ottilies Käseladen', 'Mehrheimerstr. 369', 'Köln', NULL, '50739', 'Germany' ) ;
+INSERT INTO GHTDB.ORDERS ( OrderID, CustomerID, EmployeeID, OrderDate, RequiredDate, ShippedDate, ShipVia, Freight, ShipName, ShipAddress, ShipCity, ShipRegion, ShipPostalCode, ShipCountry ) VALUES (10261, 'QUEDE', 4, '7/19/1996 12:00:00 AM', '8/16/1996 12:00:00 AM', '7/30/1996 12:00:00 AM', 2, 3.05, 'Que Delícia', 'Rua da Panificadora, 12', 'Rio de Janeiro', 'RJ', '02389-673', 'Brazil' ) ;
+INSERT INTO GHTDB.ORDERS ( OrderID, CustomerID, EmployeeID, OrderDate, RequiredDate, ShippedDate, ShipVia, Freight, ShipName, ShipAddress, ShipCity, ShipRegion, ShipPostalCode, ShipCountry ) VALUES (10262, 'RATTC', 8, '7/22/1996 12:00:00 AM', '8/19/1996 12:00:00 AM', '7/25/1996 12:00:00 AM', 3, 48.29, 'Rattlesnake Canyon Grocery', '2817 Milton Dr.', 'Albuquerque', 'NM', '87110', 'USA' ) ;
+INSERT INTO GHTDB.ORDERS ( OrderID, CustomerID, EmployeeID, OrderDate, RequiredDate, ShippedDate, ShipVia, Freight, ShipName, ShipAddress, ShipCity, ShipRegion, ShipPostalCode, ShipCountry ) VALUES (10263, 'ERNSH', 9, '7/23/1996 12:00:00 AM', '8/20/1996 12:00:00 AM', '7/31/1996 12:00:00 AM', 3, 146.06, 'Ernst Handel', 'Kirchgasse 6', 'Graz', NULL, '8010', 'Austria' ) ;
+INSERT INTO GHTDB.ORDERS ( OrderID, CustomerID, EmployeeID, OrderDate, RequiredDate, ShippedDate, ShipVia, Freight, ShipName, ShipAddress, ShipCity, ShipRegion, ShipPostalCode, ShipCountry ) VALUES (10264, 'FOLKO', 6, '7/24/1996 12:00:00 AM', '8/21/1996 12:00:00 AM', '8/23/1996 12:00:00 AM', 3, 3.67, 'Folk och fä HB', 'Ã…kergatan 24', 'Bräcke', NULL, 'S-844 67', 'Sweden' ) ;
+INSERT INTO GHTDB.ORDERS ( OrderID, CustomerID, EmployeeID, OrderDate, RequiredDate, ShippedDate, ShipVia, Freight, ShipName, ShipAddress, ShipCity, ShipRegion, ShipPostalCode, ShipCountry ) VALUES (10265, 'BLONP', 2, '7/25/1996 12:00:00 AM', '8/22/1996 12:00:00 AM', '8/12/1996 12:00:00 AM', 1, 55.28, 'Blondel père et fils', '24, place Kléber', 'Strasbourg', NULL, '67000', 'France' ) ;
+INSERT INTO GHTDB.ORDERS ( OrderID, CustomerID, EmployeeID, OrderDate, RequiredDate, ShippedDate, ShipVia, Freight, ShipName, ShipAddress, ShipCity, ShipRegion, ShipPostalCode, ShipCountry ) VALUES (10266, 'WARTH', 3, '7/26/1996 12:00:00 AM', '9/6/1996 12:00:00 AM', '7/31/1996 12:00:00 AM', 3, 25.73, 'Wartian Herkku', 'Torikatu 38', 'Oulu', NULL, '90110', 'Finland' ) ;
+INSERT INTO GHTDB.ORDERS ( OrderID, CustomerID, EmployeeID, OrderDate, RequiredDate, ShippedDate, ShipVia, Freight, ShipName, ShipAddress, ShipCity, ShipRegion, ShipPostalCode, ShipCountry ) VALUES (10267, 'FRANK', 4, '7/29/1996 12:00:00 AM', '8/26/1996 12:00:00 AM', '8/6/1996 12:00:00 AM', 1, 208.58, 'Frankenversand', 'Berliner Platz 43', 'München', NULL, '80805', 'Germany' ) ;
+INSERT INTO GHTDB.ORDERS ( OrderID, CustomerID, EmployeeID, OrderDate, RequiredDate, ShippedDate, ShipVia, Freight, ShipName, ShipAddress, ShipCity, ShipRegion, ShipPostalCode, ShipCountry ) VALUES (10268, 'GROSR', 8, '7/30/1996 12:00:00 AM', '8/27/1996 12:00:00 AM', '8/2/1996 12:00:00 AM', 3, 66.29, 'GROSELLA-Restaurante', '5ª Ave. Los Palos Grandes', 'Caracas', 'DF', '1081', 'Venezuela' ) ;
+INSERT INTO GHTDB.ORDERS ( OrderID, CustomerID, EmployeeID, OrderDate, RequiredDate, ShippedDate, ShipVia, Freight, ShipName, ShipAddress, ShipCity, ShipRegion, ShipPostalCode, ShipCountry ) VALUES (10269, 'WHITC', 5, '7/31/1996 12:00:00 AM', '8/14/1996 12:00:00 AM', '8/9/1996 12:00:00 AM', 1, 4.56, 'White Clover Markets', '1029 - 12th Ave. S.', 'Seattle', 'WA', '98124', 'USA' ) ;
+INSERT INTO GHTDB.ORDERS ( OrderID, CustomerID, EmployeeID, OrderDate, RequiredDate, ShippedDate, ShipVia, Freight, ShipName, ShipAddress, ShipCity, ShipRegion, ShipPostalCode, ShipCountry ) VALUES (10270, 'WARTH', 1, '8/1/1996 12:00:00 AM', '8/29/1996 12:00:00 AM', '8/2/1996 12:00:00 AM', 1, 136.54, 'Wartian Herkku', 'Torikatu 38', 'Oulu', NULL, '90110', 'Finland' ) ;
+INSERT INTO GHTDB.ORDERS ( OrderID, CustomerID, EmployeeID, OrderDate, RequiredDate, ShippedDate, ShipVia, Freight, ShipName, ShipAddress, ShipCity, ShipRegion, ShipPostalCode, ShipCountry ) VALUES (10271, 'SPLIR', 6, '8/1/1996 12:00:00 AM', '8/29/1996 12:00:00 AM', '8/30/1996 12:00:00 AM', 2, 4.54, 'Split Rail Beer & Ale', 'P.O. Box 555', 'Lander', 'WY', '82520', 'USA' ) ;
+INSERT INTO GHTDB.ORDERS ( OrderID, CustomerID, EmployeeID, OrderDate, RequiredDate, ShippedDate, ShipVia, Freight, ShipName, ShipAddress, ShipCity, ShipRegion, ShipPostalCode, ShipCountry ) VALUES (10272, 'RATTC', 6, '8/2/1996 12:00:00 AM', '8/30/1996 12:00:00 AM', '8/6/1996 12:00:00 AM', 2, 98.03, 'Rattlesnake Canyon Grocery', '2817 Milton Dr.', 'Albuquerque', 'NM', '87110', 'USA' ) ;
+INSERT INTO GHTDB.ORDERS ( OrderID, CustomerID, EmployeeID, OrderDate, RequiredDate, ShippedDate, ShipVia, Freight, ShipName, ShipAddress, ShipCity, ShipRegion, ShipPostalCode, ShipCountry ) VALUES (10273, 'QUICK', 3, '8/5/1996 12:00:00 AM', '9/2/1996 12:00:00 AM', '8/12/1996 12:00:00 AM', 3, 76.07, 'QUICK-Stop', 'Taucherstraße 10', 'Cunewalde', NULL, '01307', 'Germany' ) ;
+INSERT INTO GHTDB.ORDERS ( OrderID, CustomerID, EmployeeID, OrderDate, RequiredDate, ShippedDate, ShipVia, Freight, ShipName, ShipAddress, ShipCity, ShipRegion, ShipPostalCode, ShipCountry ) VALUES (10274, 'VINET', 6, '8/6/1996 12:00:00 AM', '9/3/1996 12:00:00 AM', '8/16/1996 12:00:00 AM', 1, 6.01, 'Vins et alcools Chevalier', '59 rue de l''Abbaye', 'Reims', NULL, '51100', 'France' ) ;
+INSERT INTO GHTDB.ORDERS ( OrderID, CustomerID, EmployeeID, OrderDate, RequiredDate, ShippedDate, ShipVia, Freight, ShipName, ShipAddress, ShipCity, ShipRegion, ShipPostalCode, ShipCountry ) VALUES (10275, 'MAGAA', 1, '8/7/1996 12:00:00 AM', '9/4/1996 12:00:00 AM', '8/9/1996 12:00:00 AM', 1, 26.93, 'Magazzini Alimentari Riuniti', 'Via Ludovico il Moro 22', 'Bergamo', NULL, '24100', 'Italy' ) ;
+INSERT INTO GHTDB.ORDERS ( OrderID, CustomerID, EmployeeID, OrderDate, RequiredDate, ShippedDate, ShipVia, Freight, ShipName, ShipAddress, ShipCity, ShipRegion, ShipPostalCode, ShipCountry ) VALUES (10276, 'TORTU', 8, '8/8/1996 12:00:00 AM', '8/22/1996 12:00:00 AM', '8/14/1996 12:00:00 AM', 3, 13.84, 'Tortuga Restaurante', 'Avda. Azteca 123', 'México D.F.', NULL, '05033', 'Mexico' ) ;
+INSERT INTO GHTDB.ORDERS ( OrderID, CustomerID, EmployeeID, OrderDate, RequiredDate, ShippedDate, ShipVia, Freight, ShipName, ShipAddress, ShipCity, ShipRegion, ShipPostalCode, ShipCountry ) VALUES (10277, 'MORGK', 2, '8/9/1996 12:00:00 AM', '9/6/1996 12:00:00 AM', '8/13/1996 12:00:00 AM', 3, 125.77, 'Morgenstern Gesundkost', 'Heerstr. 22', 'Leipzig', NULL, '04179', 'Germany' ) ;
+INSERT INTO GHTDB.ORDERS ( OrderID, CustomerID, EmployeeID, OrderDate, RequiredDate, ShippedDate, ShipVia, Freight, ShipName, ShipAddress, ShipCity, ShipRegion, ShipPostalCode, ShipCountry ) VALUES (10278, 'BERGS', 8, '8/12/1996 12:00:00 AM', '9/9/1996 12:00:00 AM', '8/16/1996 12:00:00 AM', 2, 92.69, 'Berglunds snabbköp', 'Berguvsvägen  8', 'LuleÃ¥', NULL, 'S-958 22', 'Sweden' ) ;
+INSERT INTO GHTDB.ORDERS ( OrderID, CustomerID, EmployeeID, OrderDate, RequiredDate, ShippedDate, ShipVia, Freight, ShipName, ShipAddress, ShipCity, ShipRegion, ShipPostalCode, ShipCountry ) VALUES (10279, 'LEHMS', 8, '8/13/1996 12:00:00 AM', '9/10/1996 12:00:00 AM', '8/16/1996 12:00:00 AM', 2, 25.83, 'Lehmanns Marktstand', 'Magazinweg 7', 'Frankfurt a.M.', NULL, '60528', 'Germany' ) ;
+INSERT INTO GHTDB.ORDERS ( OrderID, CustomerID, EmployeeID, OrderDate, RequiredDate, ShippedDate, ShipVia, Freight, ShipName, ShipAddress, ShipCity, ShipRegion, ShipPostalCode, ShipCountry ) VALUES (10280, 'BERGS', 2, '8/14/1996 12:00:00 AM', '9/11/1996 12:00:00 AM', '9/12/1996 12:00:00 AM', 1, 8.98, 'Berglunds snabbköp', 'Berguvsvägen  8', 'LuleÃ¥', NULL, 'S-958 22', 'Sweden' ) ;
+INSERT INTO GHTDB.ORDERS ( OrderID, CustomerID, EmployeeID, OrderDate, RequiredDate, ShippedDate, ShipVia, Freight, ShipName, ShipAddress, ShipCity, ShipRegion, ShipPostalCode, ShipCountry ) VALUES (10281, 'ROMEY', 4, '8/14/1996 12:00:00 AM', '8/28/1996 12:00:00 AM', '8/21/1996 12:00:00 AM', 1, 2.94, 'Romero y tomillo', 'Gran Vía, 1', 'Madrid', NULL, '28001', 'Spain' ) ;
+INSERT INTO GHTDB.ORDERS ( OrderID, CustomerID, EmployeeID, OrderDate, RequiredDate, ShippedDate, ShipVia, Freight, ShipName, ShipAddress, ShipCity, ShipRegion, ShipPostalCode, ShipCountry ) VALUES (10282, 'ROMEY', 4, '8/15/1996 12:00:00 AM', '9/12/1996 12:00:00 AM', '8/21/1996 12:00:00 AM', 1, 12.69, 'Romero y tomillo', 'Gran Vía, 1', 'Madrid', NULL, '28001', 'Spain' ) ;
+INSERT INTO GHTDB.ORDERS ( OrderID, CustomerID, EmployeeID, OrderDate, RequiredDate, ShippedDate, ShipVia, Freight, ShipName, ShipAddress, ShipCity, ShipRegion, ShipPostalCode, ShipCountry ) VALUES (10283, 'LILAS', 3, '8/16/1996 12:00:00 AM', '9/13/1996 12:00:00 AM', '8/23/1996 12:00:00 AM', 3, 84.81, 'LILA-Supermercado', 'Carrera 52 con Ave. Bolívar #65-98 Llano Largo', 'Barquisimeto', 'Lara', '3508', 'Venezuela' ) ;
+INSERT INTO GHTDB.ORDERS ( OrderID, CustomerID, EmployeeID, OrderDate, RequiredDate, ShippedDate, ShipVia, Freight, ShipName, ShipAddress, ShipCity, ShipRegion, ShipPostalCode, ShipCountry ) VALUES (10284, 'LEHMS', 4, '8/19/1996 12:00:00 AM', '9/16/1996 12:00:00 AM', '8/27/1996 12:00:00 AM', 1, 76.56, 'Lehmanns Marktstand', 'Magazinweg 7', 'Frankfurt a.M.', NULL, '60528', 'Germany' ) ;
+INSERT INTO GHTDB.ORDERS ( OrderID, CustomerID, EmployeeID, OrderDate, RequiredDate, ShippedDate, ShipVia, Freight, ShipName, ShipAddress, ShipCity, ShipRegion, ShipPostalCode, ShipCountry ) VALUES (10285, 'QUICK', 1, '8/20/1996 12:00:00 AM', '9/17/1996 12:00:00 AM', '8/26/1996 12:00:00 AM', 2, 76.83, 'QUICK-Stop', 'Taucherstraße 10', 'Cunewalde', NULL, '01307', 'Germany' ) ;
+INSERT INTO GHTDB.ORDERS ( OrderID, CustomerID, EmployeeID, OrderDate, RequiredDate, ShippedDate, ShipVia, Freight, ShipName, ShipAddress, ShipCity, ShipRegion, ShipPostalCode, ShipCountry ) VALUES (10286, 'QUICK', 8, '8/21/1996 12:00:00 AM', '9/18/1996 12:00:00 AM', '8/30/1996 12:00:00 AM', 3, 229.24, 'QUICK-Stop', 'Taucherstraße 10', 'Cunewalde', NULL, '01307', 'Germany' ) ;
+INSERT INTO GHTDB.ORDERS ( OrderID, CustomerID, EmployeeID, OrderDate, RequiredDate, ShippedDate, ShipVia, Freight, ShipName, ShipAddress, ShipCity, ShipRegion, ShipPostalCode, ShipCountry ) VALUES (10287, 'RICAR', 8, '8/22/1996 12:00:00 AM', '9/19/1996 12:00:00 AM', '8/28/1996 12:00:00 AM', 3, 12.76, 'Ricardo Adocicados', 'Av. Copacabana, 267', 'Rio de Janeiro', 'RJ', '02389-890', 'Brazil' ) ;
+INSERT INTO GHTDB.ORDERS ( OrderID, CustomerID, EmployeeID, OrderDate, RequiredDate, ShippedDate, ShipVia, Freight, ShipName, ShipAddress, ShipCity, ShipRegion, ShipPostalCode, ShipCountry ) VALUES (10288, 'REGGC', 4, '8/23/1996 12:00:00 AM', '9/20/1996 12:00:00 AM', '9/3/1996 12:00:00 AM', 1, 7.45, 'Reggiani Caseifici', 'Strada Provinciale 124', 'Reggio Emilia', NULL, '42100', 'Italy' ) ;
+INSERT INTO GHTDB.ORDERS ( OrderID, CustomerID, EmployeeID, OrderDate, RequiredDate, ShippedDate, ShipVia, Freight, ShipName, ShipAddress, ShipCity, ShipRegion, ShipPostalCode, ShipCountry ) VALUES (10289, 'BSBEV', 7, '8/26/1996 12:00:00 AM', '9/23/1996 12:00:00 AM', '8/28/1996 12:00:00 AM', 3, 22.77, 'B''s Beverages', 'Fauntleroy Circus', 'London', NULL, 'EC2 5NT', 'UK' ) ;
+INSERT INTO GHTDB.ORDERS ( OrderID, CustomerID, EmployeeID, OrderDate, RequiredDate, ShippedDate, ShipVia, Freight, ShipName, ShipAddress, ShipCity, ShipRegion, ShipPostalCode, ShipCountry ) VALUES (10290, 'COMMI', 8, '8/27/1996 12:00:00 AM', '9/24/1996 12:00:00 AM', '9/3/1996 12:00:00 AM', 1, 79.7, 'Comércio Mineiro', 'Av. dos Lusíadas, 23', 'Sao Paulo', 'SP', '05432-043', 'Brazil' ) ;
+INSERT INTO GHTDB.ORDERS ( OrderID, CustomerID, EmployeeID, OrderDate, RequiredDate, ShippedDate, ShipVia, Freight, ShipName, ShipAddress, ShipCity, ShipRegion, ShipPostalCode, ShipCountry ) VALUES (10291, 'QUEDE', 6, '8/27/1996 12:00:00 AM', '9/24/1996 12:00:00 AM', '9/4/1996 12:00:00 AM', 2, 6.4, 'Que Delícia', 'Rua da Panificadora, 12', 'Rio de Janeiro', 'RJ', '02389-673', 'Brazil' ) ;
+INSERT INTO GHTDB.ORDERS ( OrderID, CustomerID, EmployeeID, OrderDate, RequiredDate, ShippedDate, ShipVia, Freight, ShipName, ShipAddress, ShipCity, ShipRegion, ShipPostalCode, ShipCountry ) VALUES (10292, 'TRADH', 1, '8/28/1996 12:00:00 AM', '9/25/1996 12:00:00 AM', '9/2/1996 12:00:00 AM', 2, 1.35, 'Tradiçao Hipermercados', 'Av. Inês de Castro, 414', 'Sao Paulo', 'SP', '05634-030', 'Brazil' ) ;
+INSERT INTO GHTDB.ORDERS ( OrderID, CustomerID, EmployeeID, OrderDate, RequiredDate, ShippedDate, ShipVia, Freight, ShipName, ShipAddress, ShipCity, ShipRegion, ShipPostalCode, ShipCountry ) VALUES (10293, 'TORTU', 1, '8/29/1996 12:00:00 AM', '9/26/1996 12:00:00 AM', '9/11/1996 12:00:00 AM', 3, 21.18, 'Tortuga Restaurante', 'Avda. Azteca 123', 'México D.F.', NULL, '05033', 'Mexico' ) ;
+INSERT INTO GHTDB.ORDERS ( OrderID, CustomerID, EmployeeID, OrderDate, RequiredDate, ShippedDate, ShipVia, Freight, ShipName, ShipAddress, ShipCity, ShipRegion, ShipPostalCode, ShipCountry ) VALUES (10294, 'RATTC', 4, '8/30/1996 12:00:00 AM', '9/27/1996 12:00:00 AM', '9/5/1996 12:00:00 AM', 2, 147.26, 'Rattlesnake Canyon Grocery', '2817 Milton Dr.', 'Albuquerque', 'NM', '87110', 'USA' ) ;
+INSERT INTO GHTDB.ORDERS ( OrderID, CustomerID, EmployeeID, OrderDate, RequiredDate, ShippedDate, ShipVia, Freight, ShipName, ShipAddress, ShipCity, ShipRegion, ShipPostalCode, ShipCountry ) VALUES (10295, 'VINET', 2, '9/2/1996 12:00:00 AM', '9/30/1996 12:00:00 AM', '9/10/1996 12:00:00 AM', 2, 1.15, 'Vins et alcools Chevalier', '59 rue de l''Abbaye', 'Reims', NULL, '51100', 'France' ) ;
+INSERT INTO GHTDB.ORDERS ( OrderID, CustomerID, EmployeeID, OrderDate, RequiredDate, ShippedDate, ShipVia, Freight, ShipName, ShipAddress, ShipCity, ShipRegion, ShipPostalCode, ShipCountry ) VALUES (10296, 'LILAS', 6, '9/3/1996 12:00:00 AM', '10/1/1996 12:00:00 AM', '9/11/1996 12:00:00 AM', 1, 0.12, 'LILA-Supermercado', 'Carrera 52 con Ave. Bolívar #65-98 Llano Largo', 'Barquisimeto', 'Lara', '3508', 'Venezuela' ) ;
+INSERT INTO GHTDB.ORDERS ( OrderID, CustomerID, EmployeeID, OrderDate, RequiredDate, ShippedDate, ShipVia, Freight, ShipName, ShipAddress, ShipCity, ShipRegion, ShipPostalCode, ShipCountry ) VALUES (10297, 'BLONP', 5, '9/4/1996 12:00:00 AM', '10/16/1996 12:00:00 AM', '9/10/1996 12:00:00 AM', 2, 5.74, 'Blondel père et fils', '24, place Kléber', 'Strasbourg', NULL, '67000', 'France' ) ;
+INSERT INTO GHTDB.ORDERS ( OrderID, CustomerID, EmployeeID, OrderDate, RequiredDate, ShippedDate, ShipVia, Freight, ShipName, ShipAddress, ShipCity, ShipRegion, ShipPostalCode, ShipCountry ) VALUES (10298, 'HUNGO', 6, '9/5/1996 12:00:00 AM', '10/3/1996 12:00:00 AM', '9/11/1996 12:00:00 AM', 2, 168.22, 'Hungry Owl All-Night Grocers', '8 Johnstown Road', 'Cork', 'Co. Cork', NULL, 'Ireland' ) ;
+INSERT INTO GHTDB.ORDERS ( OrderID, CustomerID, EmployeeID, OrderDate, RequiredDate, ShippedDate, ShipVia, Freight, ShipName, ShipAddress, ShipCity, ShipRegion, ShipPostalCode, ShipCountry ) VALUES (10299, 'RICAR', 4, '9/6/1996 12:00:00 AM', '10/4/1996 12:00:00 AM', '9/13/1996 12:00:00 AM', 2, 29.76, 'Ricardo Adocicados', 'Av. Copacabana, 267', 'Rio de Janeiro', 'RJ', '02389-890', 'Brazil' ) ;
+INSERT INTO GHTDB.ORDERS ( OrderID, CustomerID, EmployeeID, OrderDate, RequiredDate, ShippedDate, ShipVia, Freight, ShipName, ShipAddress, ShipCity, ShipRegion, ShipPostalCode, ShipCountry ) VALUES (10300, 'MAGAA', 2, '9/9/1996 12:00:00 AM', '10/7/1996 12:00:00 AM', '9/18/1996 12:00:00 AM', 2, 17.68, 'Magazzini Alimentari Riuniti', 'Via Ludovico il Moro 22', 'Bergamo', NULL, '24100', 'Italy' ) ;
+INSERT INTO GHTDB.ORDERS ( OrderID, CustomerID, EmployeeID, OrderDate, RequiredDate, ShippedDate, ShipVia, Freight, ShipName, ShipAddress, ShipCity, ShipRegion, ShipPostalCode, ShipCountry ) VALUES (10301, 'WANDK', 8, '9/9/1996 12:00:00 AM', '10/7/1996 12:00:00 AM', '9/17/1996 12:00:00 AM', 2, 45.08, 'Die Wandernde Kuh', 'Adenauerallee 900', 'Stuttgart', NULL, '70563', 'Germany' ) ;
+INSERT INTO GHTDB.ORDERS ( OrderID, CustomerID, EmployeeID, OrderDate, RequiredDate, ShippedDate, ShipVia, Freight, ShipName, ShipAddress, ShipCity, ShipRegion, ShipPostalCode, ShipCountry ) VALUES (10302, 'SUPRD', 4, '9/10/1996 12:00:00 AM', '10/8/1996 12:00:00 AM', '10/9/1996 12:00:00 AM', 2, 6.27, 'Suprêmes délices', 'Boulevard Tirou, 255', 'Charleroi', NULL, 'B-6000', 'Belgium' ) ;
+INSERT INTO GHTDB.ORDERS ( OrderID, CustomerID, EmployeeID, OrderDate, RequiredDate, ShippedDate, ShipVia, Freight, ShipName, ShipAddress, ShipCity, ShipRegion, ShipPostalCode, ShipCountry ) VALUES (10303, 'GODOS', 7, '9/11/1996 12:00:00 AM', '10/9/1996 12:00:00 AM', '9/18/1996 12:00:00 AM', 2, 107.83, 'Godos Cocina Típica', 'C/ Romero, 33', 'Sevilla', NULL, '41101', 'Spain' ) ;
+INSERT INTO GHTDB.ORDERS ( OrderID, CustomerID, EmployeeID, OrderDate, RequiredDate, ShippedDate, ShipVia, Freight, ShipName, ShipAddress, ShipCity, ShipRegion, ShipPostalCode, ShipCountry ) VALUES (10304, 'TORTU', 1, '9/12/1996 12:00:00 AM', '10/10/1996 12:00:00 AM', '9/17/1996 12:00:00 AM', 2, 63.79, 'Tortuga Restaurante', 'Avda. Azteca 123', 'México D.F.', NULL, '05033', 'Mexico' ) ;
+INSERT INTO GHTDB.ORDERS ( OrderID, CustomerID, EmployeeID, OrderDate, RequiredDate, ShippedDate, ShipVia, Freight, ShipName, ShipAddress, ShipCity, ShipRegion, ShipPostalCode, ShipCountry ) VALUES (10305, 'OLDWO', 8, '9/13/1996 12:00:00 AM', '10/11/1996 12:00:00 AM', '10/9/1996 12:00:00 AM', 3, 257.62, 'Old World Delicatessen', '2743 Bering St.', 'Anchorage', 'AK', '99508', 'USA' ) ;
+INSERT INTO GHTDB.ORDERS ( OrderID, CustomerID, EmployeeID, OrderDate, RequiredDate, ShippedDate, ShipVia, Freight, ShipName, ShipAddress, ShipCity, ShipRegion, ShipPostalCode, ShipCountry ) VALUES (10306, 'ROMEY', 1, '9/16/1996 12:00:00 AM', '10/14/1996 12:00:00 AM', '9/23/1996 12:00:00 AM', 3, 7.56, 'Romero y tomillo', 'Gran Vía, 1', 'Madrid', NULL, '28001', 'Spain' ) ;
+INSERT INTO GHTDB.ORDERS ( OrderID, CustomerID, EmployeeID, OrderDate, RequiredDate, ShippedDate, ShipVia, Freight, ShipName, ShipAddress, ShipCity, ShipRegion, ShipPostalCode, ShipCountry ) VALUES (10307, 'LONEP', 2, '9/17/1996 12:00:00 AM', '10/15/1996 12:00:00 AM', '9/25/1996 12:00:00 AM', 2, 0.56, 'Lonesome Pine Restaurant', '89 Chiaroscuro Rd.', 'Portland', 'OR', '97219', 'USA' ) ;
+INSERT INTO GHTDB.ORDERS ( OrderID, CustomerID, EmployeeID, OrderDate, RequiredDate, ShippedDate, ShipVia, Freight, ShipName, ShipAddress, ShipCity, ShipRegion, ShipPostalCode, ShipCountry ) VALUES (10308, 'ANATR', 7, '9/18/1996 12:00:00 AM', '10/16/1996 12:00:00 AM', '9/24/1996 12:00:00 AM', 3, 1.61, 'Ana Trujillo Emparedados y helados', 'Avda. de la Constitución 2222', 'México D.F.', NULL, '05021', 'Mexico' ) ;
+INSERT INTO GHTDB.ORDERS ( OrderID, CustomerID, EmployeeID, OrderDate, RequiredDate, ShippedDate, ShipVia, Freight, ShipName, ShipAddress, ShipCity, ShipRegion, ShipPostalCode, ShipCountry ) VALUES (10309, 'HUNGO', 3, '9/19/1996 12:00:00 AM', '10/17/1996 12:00:00 AM', '10/23/1996 12:00:00 AM', 1, 47.3, 'Hungry Owl All-Night Grocers', '8 Johnstown Road', 'Cork', 'Co. Cork', NULL, 'Ireland' ) ;
+INSERT INTO GHTDB.ORDERS ( OrderID, CustomerID, EmployeeID, OrderDate, RequiredDate, ShippedDate, ShipVia, Freight, ShipName, ShipAddress, ShipCity, ShipRegion, ShipPostalCode, ShipCountry ) VALUES (10310, 'THEBI', 8, '9/20/1996 12:00:00 AM', '10/18/1996 12:00:00 AM', '9/27/1996 12:00:00 AM', 2, 17.52, 'The Big Cheese', '89 Jefferson Way Suite 2', 'Portland', 'OR', '97201', 'USA' ) ;
+INSERT INTO GHTDB.ORDERS ( OrderID, CustomerID, EmployeeID, OrderDate, RequiredDate, ShippedDate, ShipVia, Freight, ShipName, ShipAddress, ShipCity, ShipRegion, ShipPostalCode, ShipCountry ) VALUES (10311, 'DUMON', 1, '9/20/1996 12:00:00 AM', '10/4/1996 12:00:00 AM', '9/26/1996 12:00:00 AM', 3, 24.69, 'Du monde entier', '67, rue des Cinquante Otages', 'Nantes', NULL, '44000', 'France' ) ;
+INSERT INTO GHTDB.ORDERS ( OrderID, CustomerID, EmployeeID, OrderDate, RequiredDate, ShippedDate, ShipVia, Freight, ShipName, ShipAddress, ShipCity, ShipRegion, ShipPostalCode, ShipCountry ) VALUES (10312, 'WANDK', 2, '9/23/1996 12:00:00 AM', '10/21/1996 12:00:00 AM', '10/3/1996 12:00:00 AM', 2, 40.26, 'Die Wandernde Kuh', 'Adenauerallee 900', 'Stuttgart', NULL, '70563', 'Germany' ) ;
+INSERT INTO GHTDB.ORDERS ( OrderID, CustomerID, EmployeeID, OrderDate, RequiredDate, ShippedDate, ShipVia, Freight, ShipName, ShipAddress, ShipCity, ShipRegion, ShipPostalCode, ShipCountry ) VALUES (10313, 'QUICK', 2, '9/24/1996 12:00:00 AM', '10/22/1996 12:00:00 AM', '10/4/1996 12:00:00 AM', 2, 1.96, 'QUICK-Stop', 'Taucherstraße 10', 'Cunewalde', NULL, '01307', 'Germany' ) ;
+INSERT INTO GHTDB.ORDERS ( OrderID, CustomerID, EmployeeID, OrderDate, RequiredDate, ShippedDate, ShipVia, Freight, ShipName, ShipAddress, ShipCity, ShipRegion, ShipPostalCode, ShipCountry ) VALUES (10314, 'RATTC', 1, '9/25/1996 12:00:00 AM', '10/23/1996 12:00:00 AM', '10/4/1996 12:00:00 AM', 2, 74.16, 'Rattlesnake Canyon Grocery', '2817 Milton Dr.', 'Albuquerque', 'NM', '87110', 'USA' ) ;
+INSERT INTO GHTDB.ORDERS ( OrderID, CustomerID, EmployeeID, OrderDate, RequiredDate, ShippedDate, ShipVia, Freight, ShipName, ShipAddress, ShipCity, ShipRegion, ShipPostalCode, ShipCountry ) VALUES (10315, 'ISLAT', 4, '9/26/1996 12:00:00 AM', '10/24/1996 12:00:00 AM', '10/3/1996 12:00:00 AM', 2, 41.76, 'Island Trading', 'Garden House Crowther Way', 'Cowes', 'Isle of Wight', 'PO31 7PJ', 'UK' ) ;
+INSERT INTO GHTDB.ORDERS ( OrderID, CustomerID, EmployeeID, OrderDate, RequiredDate, ShippedDate, ShipVia, Freight, ShipName, ShipAddress, ShipCity, ShipRegion, ShipPostalCode, ShipCountry ) VALUES (10316, 'RATTC', 1, '9/27/1996 12:00:00 AM', '10/25/1996 12:00:00 AM', '10/8/1996 12:00:00 AM', 3, 150.15, 'Rattlesnake Canyon Grocery', '2817 Milton Dr.', 'Albuquerque', 'NM', '87110', 'USA' ) ;
+INSERT INTO GHTDB.ORDERS ( OrderID, CustomerID, EmployeeID, OrderDate, RequiredDate, ShippedDate, ShipVia, Freight, ShipName, ShipAddress, ShipCity, ShipRegion, ShipPostalCode, ShipCountry ) VALUES (10317, 'LONEP', 6, '9/30/1996 12:00:00 AM', '10/28/1996 12:00:00 AM', '10/10/1996 12:00:00 AM', 1, 12.69, 'Lonesome Pine Restaurant', '89 Chiaroscuro Rd.', 'Portland', 'OR', '97219', 'USA' ) ;
+INSERT INTO GHTDB.ORDERS ( OrderID, CustomerID, EmployeeID, OrderDate, RequiredDate, ShippedDate, ShipVia, Freight, ShipName, ShipAddress, ShipCity, ShipRegion, ShipPostalCode, ShipCountry ) VALUES (10318, 'ISLAT', 8, '10/1/1996 12:00:00 AM', '10/29/1996 12:00:00 AM', '10/4/1996 12:00:00 AM', 2, 4.73, 'Island Trading', 'Garden House Crowther Way', 'Cowes', 'Isle of Wight', 'PO31 7PJ', 'UK' ) ;
+INSERT INTO GHTDB.ORDERS ( OrderID, CustomerID, EmployeeID, OrderDate, RequiredDate, ShippedDate, ShipVia, Freight, ShipName, ShipAddress, ShipCity, ShipRegion, ShipPostalCode, ShipCountry ) VALUES (10319, 'TORTU', 7, '10/2/1996 12:00:00 AM', '10/30/1996 12:00:00 AM', '10/11/1996 12:00:00 AM', 3, 64.5, 'Tortuga Restaurante', 'Avda. Azteca 123', 'México D.F.', NULL, '05033', 'Mexico' ) ;
+INSERT INTO GHTDB.ORDERS ( OrderID, CustomerID, EmployeeID, OrderDate, RequiredDate, ShippedDate, ShipVia, Freight, ShipName, ShipAddress, ShipCity, ShipRegion, ShipPostalCode, ShipCountry ) VALUES (10320, 'WARTH', 5, '10/3/1996 12:00:00 AM', '10/17/1996 12:00:00 AM', '10/18/1996 12:00:00 AM', 3, 34.57, 'Wartian Herkku', 'Torikatu 38', 'Oulu', NULL, '90110', 'Finland' ) ;
+INSERT INTO GHTDB.ORDERS ( OrderID, CustomerID, EmployeeID, OrderDate, RequiredDate, ShippedDate, ShipVia, Freight, ShipName, ShipAddress, ShipCity, ShipRegion, ShipPostalCode, ShipCountry ) VALUES (10321, 'ISLAT', 3, '10/3/1996 12:00:00 AM', '10/31/1996 12:00:00 AM', '10/11/1996 12:00:00 AM', 2, 3.43, 'Island Trading', 'Garden House Crowther Way', 'Cowes', 'Isle of Wight', 'PO31 7PJ', 'UK' ) ;
+INSERT INTO GHTDB.ORDERS ( OrderID, CustomerID, EmployeeID, OrderDate, RequiredDate, ShippedDate, ShipVia, Freight, ShipName, ShipAddress, ShipCity, ShipRegion, ShipPostalCode, ShipCountry ) VALUES (10322, 'PERIC', 7, '10/4/1996 12:00:00 AM', '11/1/1996 12:00:00 AM', '10/23/1996 12:00:00 AM', 3, 0.4, 'Pericles Comidas clásicas', 'Calle Dr. Jorge Cash 321', 'México D.F.', NULL, '05033', 'Mexico' ) ;
+INSERT INTO GHTDB.ORDERS ( OrderID, CustomerID, EmployeeID, OrderDate, RequiredDate, ShippedDate, ShipVia, Freight, ShipName, ShipAddress, ShipCity, ShipRegion, ShipPostalCode, ShipCountry ) VALUES (10323, 'KOENE', 4, '10/7/1996 12:00:00 AM', '11/4/1996 12:00:00 AM', '10/14/1996 12:00:00 AM', 1, 4.88, 'Königlich Essen', 'Maubelstr. 90', 'Brandenburg', NULL, '14776', 'Germany' ) ;
+INSERT INTO GHTDB.ORDERS ( OrderID, CustomerID, EmployeeID, OrderDate, RequiredDate, ShippedDate, ShipVia, Freight, ShipName, ShipAddress, ShipCity, ShipRegion, ShipPostalCode, ShipCountry ) VALUES (10324, 'SAVEA', 9, '10/8/1996 12:00:00 AM', '11/5/1996 12:00:00 AM', '10/10/1996 12:00:00 AM', 1, 214.27, 'Save-a-lot Markets', '187 Suffolk Ln.', 'Boise', 'ID', '83720', 'USA' ) ;
+INSERT INTO GHTDB.ORDERS ( OrderID, CustomerID, EmployeeID, OrderDate, RequiredDate, ShippedDate, ShipVia, Freight, ShipName, ShipAddress, ShipCity, ShipRegion, ShipPostalCode, ShipCountry ) VALUES (10325, 'KOENE', 1, '10/9/1996 12:00:00 AM', '10/23/1996 12:00:00 AM', '10/14/1996 12:00:00 AM', 3, 64.86, 'Königlich Essen', 'Maubelstr. 90', 'Brandenburg', NULL, '14776', 'Germany' ) ;
+INSERT INTO GHTDB.ORDERS ( OrderID, CustomerID, EmployeeID, OrderDate, RequiredDate, ShippedDate, ShipVia, Freight, ShipName, ShipAddress, ShipCity, ShipRegion, ShipPostalCode, ShipCountry ) VALUES (10326, 'BOLID', 4, '10/10/1996 12:00:00 AM', '11/7/1996 12:00:00 AM', '10/14/1996 12:00:00 AM', 2, 77.92, 'Bólido Comidas preparadas', 'C/ Araquil, 67', 'Madrid', NULL, '28023', 'Spain' ) ;
+INSERT INTO GHTDB.ORDERS ( OrderID, CustomerID, EmployeeID, OrderDate, RequiredDate, ShippedDate, ShipVia, Freight, ShipName, ShipAddress, ShipCity, ShipRegion, ShipPostalCode, ShipCountry ) VALUES (10327, 'FOLKO', 2, '10/11/1996 12:00:00 AM', '11/8/1996 12:00:00 AM', '10/14/1996 12:00:00 AM', 1, 63.36, 'Folk och fä HB', 'Ã…kergatan 24', 'Bräcke', NULL, 'S-844 67', 'Sweden' ) ;
+INSERT INTO GHTDB.ORDERS ( OrderID, CustomerID, EmployeeID, OrderDate, RequiredDate, ShippedDate, ShipVia, Freight, ShipName, ShipAddress, ShipCity, ShipRegion, ShipPostalCode, ShipCountry ) VALUES (10328, 'FURIB', 4, '10/14/1996 12:00:00 AM', '11/11/1996 12:00:00 AM', '10/17/1996 12:00:00 AM', 3, 87.03, 'Furia Bacalhau e Frutos do Mar', 'Jardim das rosas n. 32', 'Lisboa', NULL, '1675', 'Portugal' ) ;
+INSERT INTO GHTDB.ORDERS ( OrderID, CustomerID, EmployeeID, OrderDate, RequiredDate, ShippedDate, ShipVia, Freight, ShipName, ShipAddress, ShipCity, ShipRegion, ShipPostalCode, ShipCountry ) VALUES (10329, 'SPLIR', 4, '10/15/1996 12:00:00 AM', '11/26/1996 12:00:00 AM', '10/23/1996 12:00:00 AM', 2, 191.67, 'Split Rail Beer & Ale', 'P.O. Box 555', 'Lander', 'WY', '82520', 'USA' ) ;
+INSERT INTO GHTDB.ORDERS ( OrderID, CustomerID, EmployeeID, OrderDate, RequiredDate, ShippedDate, ShipVia, Freight, ShipName, ShipAddress, ShipCity, ShipRegion, ShipPostalCode, ShipCountry ) VALUES (10330, 'LILAS', 3, '10/16/1996 12:00:00 AM', '11/13/1996 12:00:00 AM', '10/28/1996 12:00:00 AM', 1, 12.75, 'LILA-Supermercado', 'Carrera 52 con Ave. Bolívar #65-98 Llano Largo', 'Barquisimeto', 'Lara', '3508', 'Venezuela' ) ;
+INSERT INTO GHTDB.ORDERS ( OrderID, CustomerID, EmployeeID, OrderDate, RequiredDate, ShippedDate, ShipVia, Freight, ShipName, ShipAddress, ShipCity, ShipRegion, ShipPostalCode, ShipCountry ) VALUES (10331, 'BONAP', 9, '10/16/1996 12:00:00 AM', '11/27/1996 12:00:00 AM', '10/21/1996 12:00:00 AM', 1, 10.19, 'Bon app''', '12, rue des Bouchers', 'Marseille', NULL, '13008', 'France' ) ;
+INSERT INTO GHTDB.ORDERS ( OrderID, CustomerID, EmployeeID, OrderDate, RequiredDate, ShippedDate, ShipVia, Freight, ShipName, ShipAddress, ShipCity, ShipRegion, ShipPostalCode, ShipCountry ) VALUES (10332, 'MEREP', 3, '10/17/1996 12:00:00 AM', '11/28/1996 12:00:00 AM', '10/21/1996 12:00:00 AM', 2, 52.84, 'Mère Paillarde', '43 rue St. Laurent', 'Montréal', 'Québec', 'H1J 1C3', 'Canada' ) ;
+INSERT INTO GHTDB.ORDERS ( OrderID, CustomerID, EmployeeID, OrderDate, RequiredDate, ShippedDate, ShipVia, Freight, ShipName, ShipAddress, ShipCity, ShipRegion, ShipPostalCode, ShipCountry ) VALUES (10333, 'WARTH', 5, '10/18/1996 12:00:00 AM', '11/15/1996 12:00:00 AM', '10/25/1996 12:00:00 AM', 3, 0.59, 'Wartian Herkku', 'Torikatu 38', 'Oulu', NULL, '90110', 'Finland' ) ;
+INSERT INTO GHTDB.ORDERS ( OrderID, CustomerID, EmployeeID, OrderDate, RequiredDate, ShippedDate, ShipVia, Freight, ShipName, ShipAddress, ShipCity, ShipRegion, ShipPostalCode, ShipCountry ) VALUES (10334, 'VICTE', 8, '10/21/1996 12:00:00 AM', '11/18/1996 12:00:00 AM', '10/28/1996 12:00:00 AM', 2, 8.56, 'Victuailles en stock', '2, rue du Commerce', 'Lyon', NULL, '69004', 'France' ) ;
+INSERT INTO GHTDB.ORDERS ( OrderID, CustomerID, EmployeeID, OrderDate, RequiredDate, ShippedDate, ShipVia, Freight, ShipName, ShipAddress, ShipCity, ShipRegion, ShipPostalCode, ShipCountry ) VALUES (10335, 'HUNGO', 7, '10/22/1996 12:00:00 AM', '11/19/1996 12:00:00 AM', '10/24/1996 12:00:00 AM', 2, 42.11, 'Hungry Owl All-Night Grocers', '8 Johnstown Road', 'Cork', 'Co. Cork', NULL, 'Ireland' ) ;
+INSERT INTO GHTDB.ORDERS ( OrderID, CustomerID, EmployeeID, OrderDate, RequiredDate, ShippedDate, ShipVia, Freight, ShipName, ShipAddress, ShipCity, ShipRegion, ShipPostalCode, ShipCountry ) VALUES (10336, 'PRINI', 7, '10/23/1996 12:00:00 AM', '11/20/1996 12:00:00 AM', '10/25/1996 12:00:00 AM', 2, 15.51, 'Princesa Isabel Vinhos', 'Estrada da saúde n. 58', 'Lisboa', NULL, '1756', 'Portugal' ) ;
+INSERT INTO GHTDB.ORDERS ( OrderID, CustomerID, EmployeeID, OrderDate, RequiredDate, ShippedDate, ShipVia, Freight, ShipName, ShipAddress, ShipCity, ShipRegion, ShipPostalCode, ShipCountry ) VALUES (10337, 'FRANK', 4, '10/24/1996 12:00:00 AM', '11/21/1996 12:00:00 AM', '10/29/1996 12:00:00 AM', 3, 108.26, 'Frankenversand', 'Berliner Platz 43', 'München', NULL, '80805', 'Germany' ) ;
+INSERT INTO GHTDB.ORDERS ( OrderID, CustomerID, EmployeeID, OrderDate, RequiredDate, ShippedDate, ShipVia, Freight, ShipName, ShipAddress, ShipCity, ShipRegion, ShipPostalCode, ShipCountry ) VALUES (10338, 'OLDWO', 4, '10/25/1996 12:00:00 AM', '11/22/1996 12:00:00 AM', '10/29/1996 12:00:00 AM', 3, 84.21, 'Old World Delicatessen', '2743 Bering St.', 'Anchorage', 'AK', '99508', 'USA' ) ;
+INSERT INTO GHTDB.ORDERS ( OrderID, CustomerID, EmployeeID, OrderDate, RequiredDate, ShippedDate, ShipVia, Freight, ShipName, ShipAddress, ShipCity, ShipRegion, ShipPostalCode, ShipCountry ) VALUES (10339, 'MEREP', 2, '10/28/1996 12:00:00 AM', '11/25/1996 12:00:00 AM', '11/4/1996 12:00:00 AM', 2, 15.66, 'Mère Paillarde', '43 rue St. Laurent', 'Montréal', 'Québec', 'H1J 1C3', 'Canada' ) ;
+INSERT INTO GHTDB.ORDERS ( OrderID, CustomerID, EmployeeID, OrderDate, RequiredDate, ShippedDate, ShipVia, Freight, ShipName, ShipAddress, ShipCity, ShipRegion, ShipPostalCode, ShipCountry ) VALUES (10340, 'BONAP', 1, '10/29/1996 12:00:00 AM', '11/26/1996 12:00:00 AM', '11/8/1996 12:00:00 AM', 3, 166.31, 'Bon app''', '12, rue des Bouchers', 'Marseille', NULL, '13008', 'France' ) ;
+INSERT INTO GHTDB.ORDERS ( OrderID, CustomerID, EmployeeID, OrderDate, RequiredDate, ShippedDate, ShipVia, Freight, ShipName, ShipAddress, ShipCity, ShipRegion, ShipPostalCode, ShipCountry ) VALUES (10341, 'SIMOB', 7, '10/29/1996 12:00:00 AM', '11/26/1996 12:00:00 AM', '11/5/1996 12:00:00 AM', 3, 26.78, 'Simons bistro', 'Vinbæltet 34', 'Kobenhavn', NULL, '1734', 'Denmark' ) ;
+INSERT INTO GHTDB.ORDERS ( OrderID, CustomerID, EmployeeID, OrderDate, RequiredDate, ShippedDate, ShipVia, Freight, ShipName, ShipAddress, ShipCity, ShipRegion, ShipPostalCode, ShipCountry ) VALUES (10342, 'FRANK', 4, '10/30/1996 12:00:00 AM', '11/13/1996 12:00:00 AM', '11/4/1996 12:00:00 AM', 2, 54.83, 'Frankenversand', 'Berliner Platz 43', 'München', NULL, '80805', 'Germany' ) ;
+INSERT INTO GHTDB.ORDERS ( OrderID, CustomerID, EmployeeID, OrderDate, RequiredDate, ShippedDate, ShipVia, Freight, ShipName, ShipAddress, ShipCity, ShipRegion, ShipPostalCode, ShipCountry ) VALUES (10343, 'LEHMS', 4, '10/31/1996 12:00:00 AM', '11/28/1996 12:00:00 AM', '11/6/1996 12:00:00 AM', 1, 110.37, 'Lehmanns Marktstand', 'Magazinweg 7', 'Frankfurt a.M.', NULL, '60528', 'Germany' ) ;
+INSERT INTO GHTDB.ORDERS ( OrderID, CustomerID, EmployeeID, OrderDate, RequiredDate, ShippedDate, ShipVia, Freight, ShipName, ShipAddress, ShipCity, ShipRegion, ShipPostalCode, ShipCountry ) VALUES (10344, 'WHITC', 4, '11/1/1996 12:00:00 AM', '11/29/1996 12:00:00 AM', '11/5/1996 12:00:00 AM', 2, 23.29, 'White Clover Markets', '1029 - 12th Ave. S.', 'Seattle', 'WA', '98124', 'USA' ) ;
+INSERT INTO GHTDB.ORDERS ( OrderID, CustomerID, EmployeeID, OrderDate, RequiredDate, ShippedDate, ShipVia, Freight, ShipName, ShipAddress, ShipCity, ShipRegion, ShipPostalCode, ShipCountry ) VALUES (10345, 'QUICK', 2, '11/4/1996 12:00:00 AM', '12/2/1996 12:00:00 AM', '11/11/1996 12:00:00 AM', 2, 249.06, 'QUICK-Stop', 'Taucherstraße 10', 'Cunewalde', NULL, '01307', 'Germany' ) ;
+INSERT INTO GHTDB.ORDERS ( OrderID, CustomerID, EmployeeID, OrderDate, RequiredDate, ShippedDate, ShipVia, Freight, ShipName, ShipAddress, ShipCity, ShipRegion, ShipPostalCode, ShipCountry ) VALUES (10346, 'RATTC', 3, '11/5/1996 12:00:00 AM', '12/17/1996 12:00:00 AM', '11/8/1996 12:00:00 AM', 3, 142.08, 'Rattlesnake Canyon Grocery', '2817 Milton Dr.', 'Albuquerque', 'NM', '87110', 'USA' ) ;
+INSERT INTO GHTDB.ORDERS ( OrderID, CustomerID, EmployeeID, OrderDate, RequiredDate, ShippedDate, ShipVia, Freight, ShipName, ShipAddress, ShipCity, ShipRegion, ShipPostalCode, ShipCountry ) VALUES (10347, 'FAMIA', 4, '11/6/1996 12:00:00 AM', '12/4/1996 12:00:00 AM', '11/8/1996 12:00:00 AM', 3, 3.1, 'Familia Arquibaldo', 'Rua Orós, 92', 'Sao Paulo', 'SP', '05442-030', 'Brazil' ) ;
+INSERT INTO GHTDB.ORDERS ( OrderID, CustomerID, EmployeeID, OrderDate, RequiredDate, ShippedDate, ShipVia, Freight, ShipName, ShipAddress, ShipCity, ShipRegion, ShipPostalCode, ShipCountry ) VALUES (10348, 'WANDK', 4, '11/7/1996 12:00:00 AM', '12/5/1996 12:00:00 AM', '11/15/1996 12:00:00 AM', 2, 0.78, 'Die Wandernde Kuh', 'Adenauerallee 900', 'Stuttgart', NULL, '70563', 'Germany' ) ;
+INSERT INTO GHTDB.ORDERS ( OrderID, CustomerID, EmployeeID, OrderDate, RequiredDate, ShippedDate, ShipVia, Freight, ShipName, ShipAddress, ShipCity, ShipRegion, ShipPostalCode, ShipCountry ) VALUES (10349, 'SPLIR', 7, '11/8/1996 12:00:00 AM', '12/6/1996 12:00:00 AM', '11/15/1996 12:00:00 AM', 1, 8.63, 'Split Rail Beer & Ale', 'P.O. Box 555', 'Lander', 'WY', '82520', 'USA' ) ;
+INSERT INTO GHTDB.ORDERS ( OrderID, CustomerID, EmployeeID, OrderDate, RequiredDate, ShippedDate, ShipVia, Freight, ShipName, ShipAddress, ShipCity, ShipRegion, ShipPostalCode, ShipCountry ) VALUES (10350, 'LAMAI', 6, '11/11/1996 12:00:00 AM', '12/9/1996 12:00:00 AM', '12/3/1996 12:00:00 AM', 2, 64.19, 'La maison d''Asie', '1 rue Alsace-Lorraine', 'Toulouse', NULL, '31000', 'France' ) ;
+INSERT INTO GHTDB.ORDERS ( OrderID, CustomerID, EmployeeID, OrderDate, RequiredDate, ShippedDate, ShipVia, Freight, ShipName, ShipAddress, ShipCity, ShipRegion, ShipPostalCode, ShipCountry ) VALUES (10351, 'ERNSH', 1, '11/11/1996 12:00:00 AM', '12/9/1996 12:00:00 AM', '11/20/1996 12:00:00 AM', 1, 162.33, 'Ernst Handel', 'Kirchgasse 6', 'Graz', NULL, '8010', 'Austria' ) ;
+INSERT INTO GHTDB.ORDERS ( OrderID, CustomerID, EmployeeID, OrderDate, RequiredDate, ShippedDate, ShipVia, Freight, ShipName, ShipAddress, ShipCity, ShipRegion, ShipPostalCode, ShipCountry ) VALUES (10352, 'FURIB', 3, '11/12/1996 12:00:00 AM', '11/26/1996 12:00:00 AM', '11/18/1996 12:00:00 AM', 3, 1.3, 'Furia Bacalhau e Frutos do Mar', 'Jardim das rosas n. 32', 'Lisboa', NULL, '1675', 'Portugal' ) ;
+INSERT INTO GHTDB.ORDERS ( OrderID, CustomerID, EmployeeID, OrderDate, RequiredDate, ShippedDate, ShipVia, Freight, ShipName, ShipAddress, ShipCity, ShipRegion, ShipPostalCode, ShipCountry ) VALUES (10353, 'PICCO', 7, '11/13/1996 12:00:00 AM', '12/11/1996 12:00:00 AM', '11/25/1996 12:00:00 AM', 3, 360.63, 'Piccolo und mehr', 'Geislweg 14', 'Salzburg', NULL, '5020', 'Austria' ) ;
+INSERT INTO GHTDB.ORDERS ( OrderID, CustomerID, EmployeeID, OrderDate, RequiredDate, ShippedDate, ShipVia, Freight, ShipName, ShipAddress, ShipCity, ShipRegion, ShipPostalCode, ShipCountry ) VALUES (10354, 'PERIC', 8, '11/14/1996 12:00:00 AM', '12/12/1996 12:00:00 AM', '11/20/1996 12:00:00 AM', 3, 53.8, 'Pericles Comidas clásicas', 'Calle Dr. Jorge Cash 321', 'México D.F.', NULL, '05033', 'Mexico' ) ;
+INSERT INTO GHTDB.ORDERS ( OrderID, CustomerID, EmployeeID, OrderDate, RequiredDate, ShippedDate, ShipVia, Freight, ShipName, ShipAddress, ShipCity, ShipRegion, ShipPostalCode, ShipCountry ) VALUES (10355, 'AROUT', 6, '11/15/1996 12:00:00 AM', '12/13/1996 12:00:00 AM', '11/20/1996 12:00:00 AM', 1, 41.95, 'Around the Horn', 'Brook Farm Stratford St. Mary', 'Colchester', 'Essex', 'CO7 6JX', 'UK' ) ;
+INSERT INTO GHTDB.ORDERS ( OrderID, CustomerID, EmployeeID, OrderDate, RequiredDate, ShippedDate, ShipVia, Freight, ShipName, ShipAddress, ShipCity, ShipRegion, ShipPostalCode, ShipCountry ) VALUES (10356, 'WANDK', 6, '11/18/1996 12:00:00 AM', '12/16/1996 12:00:00 AM', '11/27/1996 12:00:00 AM', 2, 36.71, 'Die Wandernde Kuh', 'Adenauerallee 900', 'Stuttgart', NULL, '70563', 'Germany' ) ;
+INSERT INTO GHTDB.ORDERS ( OrderID, CustomerID, EmployeeID, OrderDate, RequiredDate, ShippedDate, ShipVia, Freight, ShipName, ShipAddress, ShipCity, ShipRegion, ShipPostalCode, ShipCountry ) VALUES (10357, 'LILAS', 1, '11/19/1996 12:00:00 AM', '12/17/1996 12:00:00 AM', '12/2/1996 12:00:00 AM', 3, 34.88, 'LILA-Supermercado', 'Carrera 52 con Ave. Bolívar #65-98 Llano Largo', 'Barquisimeto', 'Lara', '3508', 'Venezuela' ) ;
+INSERT INTO GHTDB.ORDERS ( OrderID, CustomerID, EmployeeID, OrderDate, RequiredDate, ShippedDate, ShipVia, Freight, ShipName, ShipAddress, ShipCity, ShipRegion, ShipPostalCode, ShipCountry ) VALUES (10358, 'LAMAI', 5, '11/20/1996 12:00:00 AM', '12/18/1996 12:00:00 AM', '11/27/1996 12:00:00 AM', 1, 19.64, 'La maison d''Asie', '1 rue Alsace-Lorraine', 'Toulouse', NULL, '31000', 'France' ) ;
+INSERT INTO GHTDB.ORDERS ( OrderID, CustomerID, EmployeeID, OrderDate, RequiredDate, ShippedDate, ShipVia, Freight, ShipName, ShipAddress, ShipCity, ShipRegion, ShipPostalCode, ShipCountry ) VALUES (10359, 'SEVES', 5, '11/21/1996 12:00:00 AM', '12/19/1996 12:00:00 AM', '11/26/1996 12:00:00 AM', 3, 288.43, 'Seven Seas Imports', '90 Wadhurst Rd.', 'London', NULL, 'OX15 4NB', 'UK' ) ;
+INSERT INTO GHTDB.ORDERS ( OrderID, CustomerID, EmployeeID, OrderDate, RequiredDate, ShippedDate, ShipVia, Freight, ShipName, ShipAddress, ShipCity, ShipRegion, ShipPostalCode, ShipCountry ) VALUES (10360, 'BLONP', 4, '11/22/1996 12:00:00 AM', '12/20/1996 12:00:00 AM', '12/2/1996 12:00:00 AM', 3, 131.7, 'Blondel père et fils', '24, place Kléber', 'Strasbourg', NULL, '67000', 'France' ) ;
+INSERT INTO GHTDB.ORDERS ( OrderID, CustomerID, EmployeeID, OrderDate, RequiredDate, ShippedDate, ShipVia, Freight, ShipName, ShipAddress, ShipCity, ShipRegion, ShipPostalCode, ShipCountry ) VALUES (10361, 'QUICK', 1, '11/22/1996 12:00:00 AM', '12/20/1996 12:00:00 AM', '12/3/1996 12:00:00 AM', 2, 183.17, 'QUICK-Stop', 'Taucherstraße 10', 'Cunewalde', NULL, '01307', 'Germany' ) ;
+INSERT INTO GHTDB.ORDERS ( OrderID, CustomerID, EmployeeID, OrderDate, RequiredDate, ShippedDate, ShipVia, Freight, ShipName, ShipAddress, ShipCity, ShipRegion, ShipPostalCode, ShipCountry ) VALUES (10362, 'BONAP', 3, '11/25/1996 12:00:00 AM', '12/23/1996 12:00:00 AM', '11/28/1996 12:00:00 AM', 1, 96.04, 'Bon app''', '12, rue des Bouchers', 'Marseille', NULL, '13008', 'France' ) ;
+INSERT INTO GHTDB.ORDERS ( OrderID, CustomerID, EmployeeID, OrderDate, RequiredDate, ShippedDate, ShipVia, Freight, ShipName, ShipAddress, ShipCity, ShipRegion, ShipPostalCode, ShipCountry ) VALUES (10363, 'DRACD', 4, '11/26/1996 12:00:00 AM', '12/24/1996 12:00:00 AM', '12/4/1996 12:00:00 AM', 3, 30.54, 'Drachenblut Delikatessen', 'Walserweg 21', 'Aachen', NULL, '52066', 'Germany' ) ;
+INSERT INTO GHTDB.ORDERS ( OrderID, CustomerID, EmployeeID, OrderDate, RequiredDate, ShippedDate, ShipVia, Freight, ShipName, ShipAddress, ShipCity, ShipRegion, ShipPostalCode, ShipCountry ) VALUES (10364, 'EASTC', 1, '11/26/1996 12:00:00 AM', '1/7/1997 12:00:00 AM', '12/4/1996 12:00:00 AM', 1, 71.97, 'Eastern Connection', '35 King George', 'London', NULL, 'WX3 6FW', 'UK' ) ;
+INSERT INTO GHTDB.ORDERS ( OrderID, CustomerID, EmployeeID, OrderDate, RequiredDate, ShippedDate, ShipVia, Freight, ShipName, ShipAddress, ShipCity, ShipRegion, ShipPostalCode, ShipCountry ) VALUES (10365, 'ANTON', 3, '11/27/1996 12:00:00 AM', '12/25/1996 12:00:00 AM', '12/2/1996 12:00:00 AM', 2, 22, 'Antonio Moreno Taquería', 'Mataderos  2312', 'México D.F.', NULL, '05023', 'Mexico' ) ;
+INSERT INTO GHTDB.ORDERS ( OrderID, CustomerID, EmployeeID, OrderDate, RequiredDate, ShippedDate, ShipVia, Freight, ShipName, ShipAddress, ShipCity, ShipRegion, ShipPostalCode, ShipCountry ) VALUES (10366, 'GALED', 8, '11/28/1996 12:00:00 AM', '1/9/1997 12:00:00 AM', '12/30/1996 12:00:00 AM', 2, 10.14, 'Galería del gastronómo', 'Rambla de Cataluña, 23', 'Barcelona', NULL, '8022', 'Spain' ) ;
+INSERT INTO GHTDB.ORDERS ( OrderID, CustomerID, EmployeeID, OrderDate, RequiredDate, ShippedDate, ShipVia, Freight, ShipName, ShipAddress, ShipCity, ShipRegion, ShipPostalCode, ShipCountry ) VALUES (10367, 'VAFFE', 7, '11/28/1996 12:00:00 AM', '12/26/1996 12:00:00 AM', '12/2/1996 12:00:00 AM', 3, 13.55, 'Vaffeljernet', 'Smagsloget 45', 'Ã…rhus', NULL, '8200', 'Denmark' ) ;
+INSERT INTO GHTDB.ORDERS ( OrderID, CustomerID, EmployeeID, OrderDate, RequiredDate, ShippedDate, ShipVia, Freight, ShipName, ShipAddress, ShipCity, ShipRegion, ShipPostalCode, ShipCountry ) VALUES (10368, 'ERNSH', 2, '11/29/1996 12:00:00 AM', '12/27/1996 12:00:00 AM', '12/2/1996 12:00:00 AM', 2, 101.95, 'Ernst Handel', 'Kirchgasse 6', 'Graz', NULL, '8010', 'Austria' ) ;
+INSERT INTO GHTDB.ORDERS ( OrderID, CustomerID, EmployeeID, OrderDate, RequiredDate, ShippedDate, ShipVia, Freight, ShipName, ShipAddress, ShipCity, ShipRegion, ShipPostalCode, ShipCountry ) VALUES (10369, 'SPLIR', 8, '12/2/1996 12:00:00 AM', '12/30/1996 12:00:00 AM', '12/9/1996 12:00:00 AM', 2, 195.68, 'Split Rail Beer & Ale', 'P.O. Box 555', 'Lander', 'WY', '82520', 'USA' ) ;
+INSERT INTO GHTDB.ORDERS ( OrderID, CustomerID, EmployeeID, OrderDate, RequiredDate, ShippedDate, ShipVia, Freight, ShipName, ShipAddress, ShipCity, ShipRegion, ShipPostalCode, ShipCountry ) VALUES (10370, 'CHOPS', 6, '12/3/1996 12:00:00 AM', '12/31/1996 12:00:00 AM', '12/27/1996 12:00:00 AM', 2, 1.17, 'Chop-suey Chinese', 'Hauptstr. 31', 'Bern', NULL, '3012', 'Switzerland' ) ;
+INSERT INTO GHTDB.ORDERS ( OrderID, CustomerID, EmployeeID, OrderDate, RequiredDate, ShippedDate, ShipVia, Freight, ShipName, ShipAddress, ShipCity, ShipRegion, ShipPostalCode, ShipCountry ) VALUES (10371, 'LAMAI', 1, '12/3/1996 12:00:00 AM', '12/31/1996 12:00:00 AM', '12/24/1996 12:00:00 AM', 1, 0.45, 'La maison d''Asie', '1 rue Alsace-Lorraine', 'Toulouse', NULL, '31000', 'France' ) ;
+INSERT INTO GHTDB.ORDERS ( OrderID, CustomerID, EmployeeID, OrderDate, RequiredDate, ShippedDate, ShipVia, Freight, ShipName, ShipAddress, ShipCity, ShipRegion, ShipPostalCode, ShipCountry ) VALUES (10372, 'QUEEN', 5, '12/4/1996 12:00:00 AM', '1/1/1997 12:00:00 AM', '12/9/1996 12:00:00 AM', 2, 890.78, 'Queen Cozinha', 'Alameda dos Canàrios, 891', 'Sao Paulo', 'SP', '05487-020', 'Brazil' ) ;
+INSERT INTO GHTDB.ORDERS ( OrderID, CustomerID, EmployeeID, OrderDate, RequiredDate, ShippedDate, ShipVia, Freight, ShipName, ShipAddress, ShipCity, ShipRegion, ShipPostalCode, ShipCountry ) VALUES (10373, 'HUNGO', 4, '12/5/1996 12:00:00 AM', '1/2/1997 12:00:00 AM', '12/11/1996 12:00:00 AM', 3, 124.12, 'Hungry Owl All-Night Grocers', '8 Johnstown Road', 'Cork', 'Co. Cork', NULL, 'Ireland' ) ;
+INSERT INTO GHTDB.ORDERS ( OrderID, CustomerID, EmployeeID, OrderDate, RequiredDate, ShippedDate, ShipVia, Freight, ShipName, ShipAddress, ShipCity, ShipRegion, ShipPostalCode, ShipCountry ) VALUES (10374, 'WOLZA', 1, '12/5/1996 12:00:00 AM', '1/2/1997 12:00:00 AM', '12/9/1996 12:00:00 AM', 3, 3.94, 'Wolski Zajazd', 'ul. Filtrowa 68', 'Warszawa', NULL, '01-012', 'Poland' ) ;
+INSERT INTO GHTDB.ORDERS ( OrderID, CustomerID, EmployeeID, OrderDate, RequiredDate, ShippedDate, ShipVia, Freight, ShipName, ShipAddress, ShipCity, ShipRegion, ShipPostalCode, ShipCountry ) VALUES (10375, 'HUNGC', 3, '12/6/1996 12:00:00 AM', '1/3/1997 12:00:00 AM', '12/9/1996 12:00:00 AM', 2, 20.12, 'Hungry Coyote Import Store', 'City Center Plaza 516 Main St.', 'Elgin', 'OR', '97827', 'USA' ) ;
+INSERT INTO GHTDB.ORDERS ( OrderID, CustomerID, EmployeeID, OrderDate, RequiredDate, ShippedDate, ShipVia, Freight, ShipName, ShipAddress, ShipCity, ShipRegion, ShipPostalCode, ShipCountry ) VALUES (10376, 'MEREP', 1, '12/9/1996 12:00:00 AM', '1/6/1997 12:00:00 AM', '12/13/1996 12:00:00 AM', 2, 20.39, 'Mère Paillarde', '43 rue St. Laurent', 'Montréal', 'Québec', 'H1J 1C3', 'Canada' ) ;
+INSERT INTO GHTDB.ORDERS ( OrderID, CustomerID, EmployeeID, OrderDate, RequiredDate, ShippedDate, ShipVia, Freight, ShipName, ShipAddress, ShipCity, ShipRegion, ShipPostalCode, ShipCountry ) VALUES (10377, 'SEVES', 1, '12/9/1996 12:00:00 AM', '1/6/1997 12:00:00 AM', '12/13/1996 12:00:00 AM', 3, 22.21, 'Seven Seas Imports', '90 Wadhurst Rd.', 'London', NULL, 'OX15 4NB', 'UK' ) ;
+INSERT INTO GHTDB.ORDERS ( OrderID, CustomerID, EmployeeID, OrderDate, RequiredDate, ShippedDate, ShipVia, Freight, ShipName, ShipAddress, ShipCity, ShipRegion, ShipPostalCode, ShipCountry ) VALUES (10378, 'FOLKO', 5, '12/10/1996 12:00:00 AM', '1/7/1997 12:00:00 AM', '12/19/1996 12:00:00 AM', 3, 5.44, 'Folk och fä HB', 'Ã…kergatan 24', 'Bräcke', NULL, 'S-844 67', 'Sweden' ) ;
+INSERT INTO GHTDB.ORDERS ( OrderID, CustomerID, EmployeeID, OrderDate, RequiredDate, ShippedDate, ShipVia, Freight, ShipName, ShipAddress, ShipCity, ShipRegion, ShipPostalCode, ShipCountry ) VALUES (10379, 'QUEDE', 2, '12/11/1996 12:00:00 AM', '1/8/1997 12:00:00 AM', '12/13/1996 12:00:00 AM', 1, 45.03, 'Que Delícia', 'Rua da Panificadora, 12', 'Rio de Janeiro', 'RJ', '02389-673', 'Brazil' ) ;
+INSERT INTO GHTDB.ORDERS ( OrderID, CustomerID, EmployeeID, OrderDate, RequiredDate, ShippedDate, ShipVia, Freight, ShipName, ShipAddress, ShipCity, ShipRegion, ShipPostalCode, ShipCountry ) VALUES (10380, 'HUNGO', 8, '12/12/1996 12:00:00 AM', '1/9/1997 12:00:00 AM', '1/16/1997 12:00:00 AM', 3, 35.03, 'Hungry Owl All-Night Grocers', '8 Johnstown Road', 'Cork', 'Co. Cork', NULL, 'Ireland' ) ;
+INSERT INTO GHTDB.ORDERS ( OrderID, CustomerID, EmployeeID, OrderDate, RequiredDate, ShippedDate, ShipVia, Freight, ShipName, ShipAddress, ShipCity, ShipRegion, ShipPostalCode, ShipCountry ) VALUES (10381, 'LILAS', 3, '12/12/1996 12:00:00 AM', '1/9/1997 12:00:00 AM', '12/13/1996 12:00:00 AM', 3, 7.99, 'LILA-Supermercado', 'Carrera 52 con Ave. Bolívar #65-98 Llano Largo', 'Barquisimeto', 'Lara', '3508', 'Venezuela' ) ;
+INSERT INTO GHTDB.ORDERS ( OrderID, CustomerID, EmployeeID, OrderDate, RequiredDate, ShippedDate, ShipVia, Freight, ShipName, ShipAddress, ShipCity, ShipRegion, ShipPostalCode, ShipCountry ) VALUES (10382, 'ERNSH', 4, '12/13/1996 12:00:00 AM', '1/10/1997 12:00:00 AM', '12/16/1996 12:00:00 AM', 1, 94.77, 'Ernst Handel', 'Kirchgasse 6', 'Graz', NULL, '8010', 'Austria' ) ;
+INSERT INTO GHTDB.ORDERS ( OrderID, CustomerID, EmployeeID, OrderDate, RequiredDate, ShippedDate, ShipVia, Freight, ShipName, ShipAddress, ShipCity, ShipRegion, ShipPostalCode, ShipCountry ) VALUES (10383, 'AROUT', 8, '12/16/1996 12:00:00 AM', '1/13/1997 12:00:00 AM', '12/18/1996 12:00:00 AM', 3, 34.24, 'Around the Horn', 'Brook Farm Stratford St. Mary', 'Colchester', 'Essex', 'CO7 6JX', 'UK' ) ;
+INSERT INTO GHTDB.ORDERS ( OrderID, CustomerID, EmployeeID, OrderDate, RequiredDate, ShippedDate, ShipVia, Freight, ShipName, ShipAddress, ShipCity, ShipRegion, ShipPostalCode, ShipCountry ) VALUES (10384, 'BERGS', 3, '12/16/1996 12:00:00 AM', '1/13/1997 12:00:00 AM', '12/20/1996 12:00:00 AM', 3, 168.64, 'Berglunds snabbköp', 'Berguvsvägen  8', 'LuleÃ¥', NULL, 'S-958 22', 'Sweden' ) ;
+INSERT INTO GHTDB.ORDERS ( OrderID, CustomerID, EmployeeID, OrderDate, RequiredDate, ShippedDate, ShipVia, Freight, ShipName, ShipAddress, ShipCity, ShipRegion, ShipPostalCode, ShipCountry ) VALUES (10385, 'SPLIR', 1, '12/17/1996 12:00:00 AM', '1/14/1997 12:00:00 AM', '12/23/1996 12:00:00 AM', 2, 30.96, 'Split Rail Beer & Ale', 'P.O. Box 555', 'Lander', 'WY', '82520', 'USA' ) ;
+INSERT INTO GHTDB.ORDERS ( OrderID, CustomerID, EmployeeID, OrderDate, RequiredDate, ShippedDate, ShipVia, Freight, ShipName, ShipAddress, ShipCity, ShipRegion, ShipPostalCode, ShipCountry ) VALUES (10386, 'FAMIA', 9, '12/18/1996 12:00:00 AM', '1/1/1997 12:00:00 AM', '12/25/1996 12:00:00 AM', 3, 13.99, 'Familia Arquibaldo', 'Rua Orós, 92', 'Sao Paulo', 'SP', '05442-030', 'Brazil' ) ;
+INSERT INTO GHTDB.ORDERS ( OrderID, CustomerID, EmployeeID, OrderDate, RequiredDate, ShippedDate, ShipVia, Freight, ShipName, ShipAddress, ShipCity, ShipRegion, ShipPostalCode, ShipCountry ) VALUES (10387, 'SANTG', 1, '12/18/1996 12:00:00 AM', '1/15/1997 12:00:00 AM', '12/20/1996 12:00:00 AM', 2, 93.63, 'Santé Gourmet', 'Erling Skakkes gate 78', 'Stavern', NULL, '4110', 'Norway' ) ;
+INSERT INTO GHTDB.ORDERS ( OrderID, CustomerID, EmployeeID, OrderDate, RequiredDate, ShippedDate, ShipVia, Freight, ShipName, ShipAddress, ShipCity, ShipRegion, ShipPostalCode, ShipCountry ) VALUES (10388, 'SEVES', 2, '12/19/1996 12:00:00 AM', '1/16/1997 12:00:00 AM', '12/20/1996 12:00:00 AM', 1, 34.86, 'Seven Seas Imports', '90 Wadhurst Rd.', 'London', NULL, 'OX15 4NB', 'UK' ) ;
+INSERT INTO GHTDB.ORDERS ( OrderID, CustomerID, EmployeeID, OrderDate, RequiredDate, ShippedDate, ShipVia, Freight, ShipName, ShipAddress, ShipCity, ShipRegion, ShipPostalCode, ShipCountry ) VALUES (10389, 'BOTTM', 4, '12/20/1996 12:00:00 AM', '1/17/1997 12:00:00 AM', '12/24/1996 12:00:00 AM', 2, 47.42, 'Bottom-Dollar Markets', '23 Tsawassen Blvd.', 'Tsawassen', 'BC', 'T2F 8M4', 'Canada' ) ;
+INSERT INTO GHTDB.ORDERS ( OrderID, CustomerID, EmployeeID, OrderDate, RequiredDate, ShippedDate, ShipVia, Freight, ShipName, ShipAddress, ShipCity, ShipRegion, ShipPostalCode, ShipCountry ) VALUES (10390, 'ERNSH', 6, '12/23/1996 12:00:00 AM', '1/20/1997 12:00:00 AM', '12/26/1996 12:00:00 AM', 1, 126.38, 'Ernst Handel', 'Kirchgasse 6', 'Graz', NULL, '8010', 'Austria' ) ;
+INSERT INTO GHTDB.ORDERS ( OrderID, CustomerID, EmployeeID, OrderDate, RequiredDate, ShippedDate, ShipVia, Freight, ShipName, ShipAddress, ShipCity, ShipRegion, ShipPostalCode, ShipCountry ) VALUES (10391, 'DRACD', 3, '12/23/1996 12:00:00 AM', '1/20/1997 12:00:00 AM', '12/31/1996 12:00:00 AM', 3, 5.45, 'Drachenblut Delikatessen', 'Walserweg 21', 'Aachen', NULL, '52066', 'Germany' ) ;
+INSERT INTO GHTDB.ORDERS ( OrderID, CustomerID, EmployeeID, OrderDate, RequiredDate, ShippedDate, ShipVia, Freight, ShipName, ShipAddress, ShipCity, ShipRegion, ShipPostalCode, ShipCountry ) VALUES (10392, 'PICCO', 2, '12/24/1996 12:00:00 AM', '1/21/1997 12:00:00 AM', '1/1/1997 12:00:00 AM', 3, 122.46, 'Piccolo und mehr', 'Geislweg 14', 'Salzburg', NULL, '5020', 'Austria' ) ;
+INSERT INTO GHTDB.ORDERS ( OrderID, CustomerID, EmployeeID, OrderDate, RequiredDate, ShippedDate, ShipVia, Freight, ShipName, ShipAddress, ShipCity, ShipRegion, ShipPostalCode, ShipCountry ) VALUES (10393, 'SAVEA', 1, '12/25/1996 12:00:00 AM', '1/22/1997 12:00:00 AM', '1/3/1997 12:00:00 AM', 3, 126.56, 'Save-a-lot Markets', '187 Suffolk Ln.', 'Boise', 'ID', '83720', 'USA' ) ;
+INSERT INTO GHTDB.ORDERS ( OrderID, CustomerID, EmployeeID, OrderDate, RequiredDate, ShippedDate, ShipVia, Freight, ShipName, ShipAddress, ShipCity, ShipRegion, ShipPostalCode, ShipCountry ) VALUES (10394, 'HUNGC', 1, '12/25/1996 12:00:00 AM', '1/22/1997 12:00:00 AM', '1/3/1997 12:00:00 AM', 3, 30.34, 'Hungry Coyote Import Store', 'City Center Plaza 516 Main St.', 'Elgin', 'OR', '97827', 'USA' ) ;
+INSERT INTO GHTDB.ORDERS ( OrderID, CustomerID, EmployeeID, OrderDate, RequiredDate, ShippedDate, ShipVia, Freight, ShipName, ShipAddress, ShipCity, ShipRegion, ShipPostalCode, ShipCountry ) VALUES (10395, 'HILAA', 6, '12/26/1996 12:00:00 AM', '1/23/1997 12:00:00 AM', '1/3/1997 12:00:00 AM', 1, 184.41, 'HILARION-Abastos', 'Carrera 22 con Ave. Carlos Soublette #8-35', 'San Cristóbal', 'Táchira', '5022', 'Venezuela' ) ;
+INSERT INTO GHTDB.ORDERS ( OrderID, CustomerID, EmployeeID, OrderDate, RequiredDate, ShippedDate, ShipVia, Freight, ShipName, ShipAddress, ShipCity, ShipRegion, ShipPostalCode, ShipCountry ) VALUES (10396, 'FRANK', 1, '12/27/1996 12:00:00 AM', '1/10/1997 12:00:00 AM', '1/6/1997 12:00:00 AM', 3, 135.35, 'Frankenversand', 'Berliner Platz 43', 'München', NULL, '80805', 'Germany' ) ;
+INSERT INTO GHTDB.ORDERS ( OrderID, CustomerID, EmployeeID, OrderDate, RequiredDate, ShippedDate, ShipVia, Freight, ShipName, ShipAddress, ShipCity, ShipRegion, ShipPostalCode, ShipCountry ) VALUES (10397, 'PRINI', 5, '12/27/1996 12:00:00 AM', '1/24/1997 12:00:00 AM', '1/2/1997 12:00:00 AM', 1, 60.26, 'Princesa Isabel Vinhos', 'Estrada da saúde n. 58', 'Lisboa', NULL, '1756', 'Portugal' ) ;
+INSERT INTO GHTDB.ORDERS ( OrderID, CustomerID, EmployeeID, OrderDate, RequiredDate, ShippedDate, ShipVia, Freight, ShipName, ShipAddress, ShipCity, ShipRegion, ShipPostalCode, ShipCountry ) VALUES (10398, 'SAVEA', 2, '12/30/1996 12:00:00 AM', '1/27/1997 12:00:00 AM', '1/9/1997 12:00:00 AM', 3, 89.16, 'Save-a-lot Markets', '187 Suffolk Ln.', 'Boise', 'ID', '83720', 'USA' ) ;
+INSERT INTO GHTDB.ORDERS ( OrderID, CustomerID, EmployeeID, OrderDate, RequiredDate, ShippedDate, ShipVia, Freight, ShipName, ShipAddress, ShipCity, ShipRegion, ShipPostalCode, ShipCountry ) VALUES (10399, 'VAFFE', 8, '12/31/1996 12:00:00 AM', '1/14/1997 12:00:00 AM', '1/8/1997 12:00:00 AM', 3, 27.36, 'Vaffeljernet', 'Smagsloget 45', 'Ã…rhus', NULL, '8200', 'Denmark' ) ;
+INSERT INTO GHTDB.ORDERS ( OrderID, CustomerID, EmployeeID, OrderDate, RequiredDate, ShippedDate, ShipVia, Freight, ShipName, ShipAddress, ShipCity, ShipRegion, ShipPostalCode, ShipCountry ) VALUES (10400, 'EASTC', 1, '1/1/1997 12:00:00 AM', '1/29/1997 12:00:00 AM', '1/16/1997 12:00:00 AM', 3, 83.93, 'Eastern Connection', '35 King George', 'London', NULL, 'WX3 6FW', 'UK' ) ;
+INSERT INTO GHTDB.ORDERS ( OrderID, CustomerID, EmployeeID, OrderDate, RequiredDate, ShippedDate, ShipVia, Freight, ShipName, ShipAddress, ShipCity, ShipRegion, ShipPostalCode, ShipCountry ) VALUES (10401, 'RATTC', 1, '1/1/1997 12:00:00 AM', '1/29/1997 12:00:00 AM', '1/10/1997 12:00:00 AM', 1, 12.51, 'Rattlesnake Canyon Grocery', '2817 Milton Dr.', 'Albuquerque', 'NM', '87110', 'USA' ) ;
+INSERT INTO GHTDB.ORDERS ( OrderID, CustomerID, EmployeeID, OrderDate, RequiredDate, ShippedDate, ShipVia, Freight, ShipName, ShipAddress, ShipCity, ShipRegion, ShipPostalCode, ShipCountry ) VALUES (10402, 'ERNSH', 8, '1/2/1997 12:00:00 AM', '2/13/1997 12:00:00 AM', '1/10/1997 12:00:00 AM', 2, 67.88, 'Ernst Handel', 'Kirchgasse 6', 'Graz', NULL, '8010', 'Austria' ) ;
+INSERT INTO GHTDB.ORDERS ( OrderID, CustomerID, EmployeeID, OrderDate, RequiredDate, ShippedDate, ShipVia, Freight, ShipName, ShipAddress, ShipCity, ShipRegion, ShipPostalCode, ShipCountry ) VALUES (10403, 'ERNSH', 4, '1/3/1997 12:00:00 AM', '1/31/1997 12:00:00 AM', '1/9/1997 12:00:00 AM', 3, 73.79, 'Ernst Handel', 'Kirchgasse 6', 'Graz', NULL, '8010', 'Austria' ) ;
+INSERT INTO GHTDB.ORDERS ( OrderID, CustomerID, EmployeeID, OrderDate, RequiredDate, ShippedDate, ShipVia, Freight, ShipName, ShipAddress, ShipCity, ShipRegion, ShipPostalCode, ShipCountry ) VALUES (10404, 'MAGAA', 2, '1/3/1997 12:00:00 AM', '1/31/1997 12:00:00 AM', '1/8/1997 12:00:00 AM', 1, 155.97, 'Magazzini Alimentari Riuniti', 'Via Ludovico il Moro 22', 'Bergamo', NULL, '24100', 'Italy' ) ;
+INSERT INTO GHTDB.ORDERS ( OrderID, CustomerID, EmployeeID, OrderDate, RequiredDate, ShippedDate, ShipVia, Freight, ShipName, ShipAddress, ShipCity, ShipRegion, ShipPostalCode, ShipCountry ) VALUES (10405, 'LINOD', 1, '1/6/1997 12:00:00 AM', '2/3/1997 12:00:00 AM', '1/22/1997 12:00:00 AM', 1, 34.82, 'LINO-Delicateses', 'Ave. 5 de Mayo Porlamar', 'I. de Margarita', 'Nueva Esparta', '4980', 'Venezuela' ) ;
+INSERT INTO GHTDB.ORDERS ( OrderID, CustomerID, EmployeeID, OrderDate, RequiredDate, ShippedDate, ShipVia, Freight, ShipName, ShipAddress, ShipCity, ShipRegion, ShipPostalCode, ShipCountry ) VALUES (10406, 'QUEEN', 7, '1/7/1997 12:00:00 AM', '2/18/1997 12:00:00 AM', '1/13/1997 12:00:00 AM', 1, 108.04, 'Queen Cozinha', 'Alameda dos Canàrios, 891', 'Sao Paulo', 'SP', '05487-020', 'Brazil' ) ;
+INSERT INTO GHTDB.ORDERS ( OrderID, CustomerID, EmployeeID, OrderDate, RequiredDate, ShippedDate, ShipVia, Freight, ShipName, ShipAddress, ShipCity, ShipRegion, ShipPostalCode, ShipCountry ) VALUES (10407, 'OTTIK', 2, '1/7/1997 12:00:00 AM', '2/4/1997 12:00:00 AM', '1/30/1997 12:00:00 AM', 2, 91.48, 'Ottilies Käseladen', 'Mehrheimerstr. 369', 'Köln', NULL, '50739', 'Germany' ) ;
+INSERT INTO GHTDB.ORDERS ( OrderID, CustomerID, EmployeeID, OrderDate, RequiredDate, ShippedDate, ShipVia, Freight, ShipName, ShipAddress, ShipCity, ShipRegion, ShipPostalCode, ShipCountry ) VALUES (10408, 'FOLIG', 8, '1/8/1997 12:00:00 AM', '2/5/1997 12:00:00 AM', '1/14/1997 12:00:00 AM', 1, 11.26, 'Folies gourmandes', '184, chaussée de Tournai', 'Lille', NULL, '59000', 'France' ) ;
+INSERT INTO GHTDB.ORDERS ( OrderID, CustomerID, EmployeeID, OrderDate, RequiredDate, ShippedDate, ShipVia, Freight, ShipName, ShipAddress, ShipCity, ShipRegion, ShipPostalCode, ShipCountry ) VALUES (10409, 'OCEAN', 3, '1/9/1997 12:00:00 AM', '2/6/1997 12:00:00 AM', '1/14/1997 12:00:00 AM', 1, 29.83, 'Océano Atlántico Ltda.', 'Ing. Gustavo Moncada 8585 Piso 20-A', 'Buenos Aires', NULL, '1010', 'Argentina' ) ;
+INSERT INTO GHTDB.ORDERS ( OrderID, CustomerID, EmployeeID, OrderDate, RequiredDate, ShippedDate, ShipVia, Freight, ShipName, ShipAddress, ShipCity, ShipRegion, ShipPostalCode, ShipCountry ) VALUES (10410, 'BOTTM', 3, '1/10/1997 12:00:00 AM', '2/7/1997 12:00:00 AM', '1/15/1997 12:00:00 AM', 3, 2.4, 'Bottom-Dollar Markets', '23 Tsawassen Blvd.', 'Tsawassen', 'BC', 'T2F 8M4', 'Canada' ) ;
+INSERT INTO GHTDB.ORDERS ( OrderID, CustomerID, EmployeeID, OrderDate, RequiredDate, ShippedDate, ShipVia, Freight, ShipName, ShipAddress, ShipCity, ShipRegion, ShipPostalCode, ShipCountry ) VALUES (10411, 'BOTTM', 9, '1/10/1997 12:00:00 AM', '2/7/1997 12:00:00 AM', '1/21/1997 12:00:00 AM', 3, 23.65, 'Bottom-Dollar Markets', '23 Tsawassen Blvd.', 'Tsawassen', 'BC', 'T2F 8M4', 'Canada' ) ;
+INSERT INTO GHTDB.ORDERS ( OrderID, CustomerID, EmployeeID, OrderDate, RequiredDate, ShippedDate, ShipVia, Freight, ShipName, ShipAddress, ShipCity, ShipRegion, ShipPostalCode, ShipCountry ) VALUES (10412, 'WARTH', 8, '1/13/1997 12:00:00 AM', '2/10/1997 12:00:00 AM', '1/15/1997 12:00:00 AM', 2, 3.77, 'Wartian Herkku', 'Torikatu 38', 'Oulu', NULL, '90110', 'Finland' ) ;
+INSERT INTO GHTDB.ORDERS ( OrderID, CustomerID, EmployeeID, OrderDate, RequiredDate, ShippedDate, ShipVia, Freight, ShipName, ShipAddress, ShipCity, ShipRegion, ShipPostalCode, ShipCountry ) VALUES (10413, 'LAMAI', 3, '1/14/1997 12:00:00 AM', '2/11/1997 12:00:00 AM', '1/16/1997 12:00:00 AM', 2, 95.66, 'La maison d''Asie', '1 rue Alsace-Lorraine', 'Toulouse', NULL, '31000', 'France' ) ;
+INSERT INTO GHTDB.ORDERS ( OrderID, CustomerID, EmployeeID, OrderDate, RequiredDate, ShippedDate, ShipVia, Freight, ShipName, ShipAddress, ShipCity, ShipRegion, ShipPostalCode, ShipCountry ) VALUES (10414, 'FAMIA', 2, '1/14/1997 12:00:00 AM', '2/11/1997 12:00:00 AM', '1/17/1997 12:00:00 AM', 3, 21.48, 'Familia Arquibaldo', 'Rua Orós, 92', 'Sao Paulo', 'SP', '05442-030', 'Brazil' ) ;
+INSERT INTO GHTDB.ORDERS ( OrderID, CustomerID, EmployeeID, OrderDate, RequiredDate, ShippedDate, ShipVia, Freight, ShipName, ShipAddress, ShipCity, ShipRegion, ShipPostalCode, ShipCountry ) VALUES (10415, 'HUNGC', 3, '1/15/1997 12:00:00 AM', '2/12/1997 12:00:00 AM', '1/24/1997 12:00:00 AM', 1, 0.2, 'Hungry Coyote Import Store', 'City Center Plaza 516 Main St.', 'Elgin', 'OR', '97827', 'USA' ) ;
+INSERT INTO GHTDB.ORDERS ( OrderID, CustomerID, EmployeeID, OrderDate, RequiredDate, ShippedDate, ShipVia, Freight, ShipName, ShipAddress, ShipCity, ShipRegion, ShipPostalCode, ShipCountry ) VALUES (10416, 'WARTH', 8, '1/16/1997 12:00:00 AM', '2/13/1997 12:00:00 AM', '1/27/1997 12:00:00 AM', 3, 22.72, 'Wartian Herkku', 'Torikatu 38', 'Oulu', NULL, '90110', 'Finland' ) ;
+INSERT INTO GHTDB.ORDERS ( OrderID, CustomerID, EmployeeID, OrderDate, RequiredDate, ShippedDate, ShipVia, Freight, ShipName, ShipAddress, ShipCity, ShipRegion, ShipPostalCode, ShipCountry ) VALUES (10417, 'SIMOB', 4, '1/16/1997 12:00:00 AM', '2/13/1997 12:00:00 AM', '1/28/1997 12:00:00 AM', 3, 70.29, 'Simons bistro', 'Vinbæltet 34', 'Kobenhavn', NULL, '1734', 'Denmark' ) ;
+INSERT INTO GHTDB.ORDERS ( OrderID, CustomerID, EmployeeID, OrderDate, RequiredDate, ShippedDate, ShipVia, Freight, ShipName, ShipAddress, ShipCity, ShipRegion, ShipPostalCode, ShipCountry ) VALUES (10418, 'QUICK', 4, '1/17/1997 12:00:00 AM', '2/14/1997 12:00:00 AM', '1/24/1997 12:00:00 AM', 1, 17.55, 'QUICK-Stop', 'Taucherstraße 10', 'Cunewalde', NULL, '01307', 'Germany' ) ;
+INSERT INTO GHTDB.ORDERS ( OrderID, CustomerID, EmployeeID, OrderDate, RequiredDate, ShippedDate, ShipVia, Freight, ShipName, ShipAddress, ShipCity, ShipRegion, ShipPostalCode, ShipCountry ) VALUES (10419, 'RICSU', 4, '1/20/1997 12:00:00 AM', '2/17/1997 12:00:00 AM', '1/30/1997 12:00:00 AM', 2, 137.35, 'Richter Supermarkt', 'Starenweg 5', 'Genève', NULL, '1204', 'Switzerland' ) ;
+INSERT INTO GHTDB.ORDERS ( OrderID, CustomerID, EmployeeID, OrderDate, RequiredDate, ShippedDate, ShipVia, Freight, ShipName, ShipAddress, ShipCity, ShipRegion, ShipPostalCode, ShipCountry ) VALUES (10420, 'WELLI', 3, '1/21/1997 12:00:00 AM', '2/18/1997 12:00:00 AM', '1/27/1997 12:00:00 AM', 1, 44.12, 'Wellington Importadora', 'Rua do Mercado, 12', 'Resende', 'SP', '08737-363', 'Brazil' ) ;
+INSERT INTO GHTDB.ORDERS ( OrderID, CustomerID, EmployeeID, OrderDate, RequiredDate, ShippedDate, ShipVia, Freight, ShipName, ShipAddress, ShipCity, ShipRegion, ShipPostalCode, ShipCountry ) VALUES (10421, 'QUEDE', 8, '1/21/1997 12:00:00 AM', '3/4/1997 12:00:00 AM', '1/27/1997 12:00:00 AM', 1, 99.23, 'Que Delícia', 'Rua da Panificadora, 12', 'Rio de Janeiro', 'RJ', '02389-673', 'Brazil' ) ;
+INSERT INTO GHTDB.ORDERS ( OrderID, CustomerID, EmployeeID, OrderDate, RequiredDate, ShippedDate, ShipVia, Freight, ShipName, ShipAddress, ShipCity, ShipRegion, ShipPostalCode, ShipCountry ) VALUES (10422, 'FRANS', 2, '1/22/1997 12:00:00 AM', '2/19/1997 12:00:00 AM', '1/31/1997 12:00:00 AM', 1, 3.02, 'Franchi S.p.A.', 'Via Monte Bianco 34', 'Torino', NULL, '10100', 'Italy' ) ;
+INSERT INTO GHTDB.ORDERS ( OrderID, CustomerID, EmployeeID, OrderDate, RequiredDate, ShippedDate, ShipVia, Freight, ShipName, ShipAddress, ShipCity, ShipRegion, ShipPostalCode, ShipCountry ) VALUES (10423, 'GOURL', 6, '1/23/1997 12:00:00 AM', '2/6/1997 12:00:00 AM', '2/24/1997 12:00:00 AM', 3, 24.5, 'Gourmet Lanchonetes', 'Av. Brasil, 442', 'Campinas', 'SP', '04876-786', 'Brazil' ) ;
+INSERT INTO GHTDB.ORDERS ( OrderID, CustomerID, EmployeeID, OrderDate, RequiredDate, ShippedDate, ShipVia, Freight, ShipName, ShipAddress, ShipCity, ShipRegion, ShipPostalCode, ShipCountry ) VALUES (10424, 'MEREP', 7, '1/23/1997 12:00:00 AM', '2/20/1997 12:00:00 AM', '1/27/1997 12:00:00 AM', 2, 370.61, 'Mère Paillarde', '43 rue St. Laurent', 'Montréal', 'Québec', 'H1J 1C3', 'Canada' ) ;
+INSERT INTO GHTDB.ORDERS ( OrderID, CustomerID, EmployeeID, OrderDate, RequiredDate, ShippedDate, ShipVia, Freight, ShipName, ShipAddress, ShipCity, ShipRegion, ShipPostalCode, ShipCountry ) VALUES (10425, 'LAMAI', 6, '1/24/1997 12:00:00 AM', '2/21/1997 12:00:00 AM', '2/14/1997 12:00:00 AM', 2, 7.93, 'La maison d''Asie', '1 rue Alsace-Lorraine', 'Toulouse', NULL, '31000', 'France' ) ;
+INSERT INTO GHTDB.ORDERS ( OrderID, CustomerID, EmployeeID, OrderDate, RequiredDate, ShippedDate, ShipVia, Freight, ShipName, ShipAddress, ShipCity, ShipRegion, ShipPostalCode, ShipCountry ) VALUES (10426, 'GALED', 4, '1/27/1997 12:00:00 AM', '2/24/1997 12:00:00 AM', '2/6/1997 12:00:00 AM', 1, 18.69, 'Galería del gastronómo', 'Rambla de Cataluña, 23', 'Barcelona', NULL, '8022', 'Spain' ) ;
+INSERT INTO GHTDB.ORDERS ( OrderID, CustomerID, EmployeeID, OrderDate, RequiredDate, ShippedDate, ShipVia, Freight, ShipName, ShipAddress, ShipCity, ShipRegion, ShipPostalCode, ShipCountry ) VALUES (10427, 'PICCO', 4, '1/27/1997 12:00:00 AM', '2/24/1997 12:00:00 AM', '3/3/1997 12:00:00 AM', 2, 31.29, 'Piccolo und mehr', 'Geislweg 14', 'Salzburg', NULL, '5020', 'Austria' ) ;
+INSERT INTO GHTDB.ORDERS ( OrderID, CustomerID, EmployeeID, OrderDate, RequiredDate, ShippedDate, ShipVia, Freight, ShipName, ShipAddress, ShipCity, ShipRegion, ShipPostalCode, ShipCountry ) VALUES (10428, 'REGGC', 7, '1/28/1997 12:00:00 AM', '2/25/1997 12:00:00 AM', '2/4/1997 12:00:00 AM', 1, 11.09, 'Reggiani Caseifici', 'Strada Provinciale 124', 'Reggio Emilia', NULL, '42100', 'Italy' ) ;
+INSERT INTO GHTDB.ORDERS ( OrderID, CustomerID, EmployeeID, OrderDate, RequiredDate, ShippedDate, ShipVia, Freight, ShipName, ShipAddress, ShipCity, ShipRegion, ShipPostalCode, ShipCountry ) VALUES (10429, 'HUNGO', 3, '1/29/1997 12:00:00 AM', '3/12/1997 12:00:00 AM', '2/7/1997 12:00:00 AM', 2, 56.63, 'Hungry Owl All-Night Grocers', '8 Johnstown Road', 'Cork', 'Co. Cork', NULL, 'Ireland' ) ;
+INSERT INTO GHTDB.ORDERS ( OrderID, CustomerID, EmployeeID, OrderDate, RequiredDate, ShippedDate, ShipVia, Freight, ShipName, ShipAddress, ShipCity, ShipRegion, ShipPostalCode, ShipCountry ) VALUES (10430, 'ERNSH', 4, '1/30/1997 12:00:00 AM', '2/13/1997 12:00:00 AM', '2/3/1997 12:00:00 AM', 1, 458.78, 'Ernst Handel', 'Kirchgasse 6', 'Graz', NULL, '8010', 'Austria' ) ;
+INSERT INTO GHTDB.ORDERS ( OrderID, CustomerID, EmployeeID, OrderDate, RequiredDate, ShippedDate, ShipVia, Freight, ShipName, ShipAddress, ShipCity, ShipRegion, ShipPostalCode, ShipCountry ) VALUES (10431, 'BOTTM', 4, '1/30/1997 12:00:00 AM', '2/13/1997 12:00:00 AM', '2/7/1997 12:00:00 AM', 2, 44.17, 'Bottom-Dollar Markets', '23 Tsawassen Blvd.', 'Tsawassen', 'BC', 'T2F 8M4', 'Canada' ) ;
+INSERT INTO GHTDB.ORDERS ( OrderID, CustomerID, EmployeeID, OrderDate, RequiredDate, ShippedDate, ShipVia, Freight, ShipName, ShipAddress, ShipCity, ShipRegion, ShipPostalCode, ShipCountry ) VALUES (10432, 'SPLIR', 3, '1/31/1997 12:00:00 AM', '2/14/1997 12:00:00 AM', '2/7/1997 12:00:00 AM', 2, 4.34, 'Split Rail Beer & Ale', 'P.O. Box 555', 'Lander', 'WY', '82520', 'USA' ) ;
+INSERT INTO GHTDB.ORDERS ( OrderID, CustomerID, EmployeeID, OrderDate, RequiredDate, ShippedDate, ShipVia, Freight, ShipName, ShipAddress, ShipCity, ShipRegion, ShipPostalCode, ShipCountry ) VALUES (10433, 'PRINI', 3, '2/3/1997 12:00:00 AM', '3/3/1997 12:00:00 AM', '3/4/1997 12:00:00 AM', 3, 73.83, 'Princesa Isabel Vinhos', 'Estrada da saúde n. 58', 'Lisboa', NULL, '1756', 'Portugal' ) ;
+INSERT INTO GHTDB.ORDERS ( OrderID, CustomerID, EmployeeID, OrderDate, RequiredDate, ShippedDate, ShipVia, Freight, ShipName, ShipAddress, ShipCity, ShipRegion, ShipPostalCode, ShipCountry ) VALUES (10434, 'FOLKO', 3, '2/3/1997 12:00:00 AM', '3/3/1997 12:00:00 AM', '2/13/1997 12:00:00 AM', 2, 17.92, 'Folk och fä HB', 'Ã…kergatan 24', 'Bräcke', NULL, 'S-844 67', 'Sweden' ) ;
+INSERT INTO GHTDB.ORDERS ( OrderID, CustomerID, EmployeeID, OrderDate, RequiredDate, ShippedDate, ShipVia, Freight, ShipName, ShipAddress, ShipCity, ShipRegion, ShipPostalCode, ShipCountry ) VALUES (10435, 'CONSH', 8, '2/4/1997 12:00:00 AM', '3/18/1997 12:00:00 AM', '2/7/1997 12:00:00 AM', 2, 9.21, 'Consolidated Holdings', 'Berkeley Gardens 12  Brewery', 'London', NULL, 'WX1 6LT', 'UK' ) ;
+INSERT INTO GHTDB.ORDERS ( OrderID, CustomerID, EmployeeID, OrderDate, RequiredDate, ShippedDate, ShipVia, Freight, ShipName, ShipAddress, ShipCity, ShipRegion, ShipPostalCode, ShipCountry ) VALUES (10436, 'BLONP', 3, '2/5/1997 12:00:00 AM', '3/5/1997 12:00:00 AM', '2/11/1997 12:00:00 AM', 2, 156.66, 'Blondel père et fils', '24, place Kléber', 'Strasbourg', NULL, '67000', 'France' ) ;
+INSERT INTO GHTDB.ORDERS ( OrderID, CustomerID, EmployeeID, OrderDate, RequiredDate, ShippedDate, ShipVia, Freight, ShipName, ShipAddress, ShipCity, ShipRegion, ShipPostalCode, ShipCountry ) VALUES (10437, 'WARTH', 8, '2/5/1997 12:00:00 AM', '3/5/1997 12:00:00 AM', '2/12/1997 12:00:00 AM', 1, 19.97, 'Wartian Herkku', 'Torikatu 38', 'Oulu', NULL, '90110', 'Finland' ) ;
+INSERT INTO GHTDB.ORDERS ( OrderID, CustomerID, EmployeeID, OrderDate, RequiredDate, ShippedDate, ShipVia, Freight, ShipName, ShipAddress, ShipCity, ShipRegion, ShipPostalCode, ShipCountry ) VALUES (10438, 'TOMSP', 3, '2/6/1997 12:00:00 AM', '3/6/1997 12:00:00 AM', '2/14/1997 12:00:00 AM', 2, 8.24, 'Toms Spezialitäten', 'Luisenstr. 48', 'Münster', NULL, '44087', 'Germany' ) ;
+INSERT INTO GHTDB.ORDERS ( OrderID, CustomerID, EmployeeID, OrderDate, RequiredDate, ShippedDate, ShipVia, Freight, ShipName, ShipAddress, ShipCity, ShipRegion, ShipPostalCode, ShipCountry ) VALUES (10439, 'MEREP', 6, '2/7/1997 12:00:00 AM', '3/7/1997 12:00:00 AM', '2/10/1997 12:00:00 AM', 3, 4.07, 'Mère Paillarde', '43 rue St. Laurent', 'Montréal', 'Québec', 'H1J 1C3', 'Canada' ) ;
+INSERT INTO GHTDB.ORDERS ( OrderID, CustomerID, EmployeeID, OrderDate, RequiredDate, ShippedDate, ShipVia, Freight, ShipName, ShipAddress, ShipCity, ShipRegion, ShipPostalCode, ShipCountry ) VALUES (10440, 'SAVEA', 4, '2/10/1997 12:00:00 AM', '3/10/1997 12:00:00 AM', '2/28/1997 12:00:00 AM', 2, 86.53, 'Save-a-lot Markets', '187 Suffolk Ln.', 'Boise', 'ID', '83720', 'USA' ) ;
+INSERT INTO GHTDB.ORDERS ( OrderID, CustomerID, EmployeeID, OrderDate, RequiredDate, ShippedDate, ShipVia, Freight, ShipName, ShipAddress, ShipCity, ShipRegion, ShipPostalCode, ShipCountry ) VALUES (10441, 'OLDWO', 3, '2/10/1997 12:00:00 AM', '3/24/1997 12:00:00 AM', '3/14/1997 12:00:00 AM', 2, 73.02, 'Old World Delicatessen', '2743 Bering St.', 'Anchorage', 'AK', '99508', 'USA' ) ;
+INSERT INTO GHTDB.ORDERS ( OrderID, CustomerID, EmployeeID, OrderDate, RequiredDate, ShippedDate, ShipVia, Freight, ShipName, ShipAddress, ShipCity, ShipRegion, ShipPostalCode, ShipCountry ) VALUES (10442, 'ERNSH', 3, '2/11/1997 12:00:00 AM', '3/11/1997 12:00:00 AM', '2/18/1997 12:00:00 AM', 2, 47.94, 'Ernst Handel', 'Kirchgasse 6', 'Graz', NULL, '8010', 'Austria' ) ;
+INSERT INTO GHTDB.ORDERS ( OrderID, CustomerID, EmployeeID, OrderDate, RequiredDate, ShippedDate, ShipVia, Freight, ShipName, ShipAddress, ShipCity, ShipRegion, ShipPostalCode, ShipCountry ) VALUES (10443, 'REGGC', 8, '2/12/1997 12:00:00 AM', '3/12/1997 12:00:00 AM', '2/14/1997 12:00:00 AM', 1, 13.95, 'Reggiani Caseifici', 'Strada Provinciale 124', 'Reggio Emilia', NULL, '42100', 'Italy' ) ;
+INSERT INTO GHTDB.ORDERS ( OrderID, CustomerID, EmployeeID, OrderDate, RequiredDate, ShippedDate, ShipVia, Freight, ShipName, ShipAddress, ShipCity, ShipRegion, ShipPostalCode, ShipCountry ) VALUES (10444, 'BERGS', 3, '2/12/1997 12:00:00 AM', '3/12/1997 12:00:00 AM', '2/21/1997 12:00:00 AM', 3, 3.5, 'Berglunds snabbköp', 'Berguvsvägen  8', 'LuleÃ¥', NULL, 'S-958 22', 'Sweden' ) ;
+INSERT INTO GHTDB.ORDERS ( OrderID, CustomerID, EmployeeID, OrderDate, RequiredDate, ShippedDate, ShipVia, Freight, ShipName, ShipAddress, ShipCity, ShipRegion, ShipPostalCode, ShipCountry ) VALUES (10445, 'BERGS', 3, '2/13/1997 12:00:00 AM', '3/13/1997 12:00:00 AM', '2/20/1997 12:00:00 AM', 1, 9.3, 'Berglunds snabbköp', 'Berguvsvägen  8', 'LuleÃ¥', NULL, 'S-958 22', 'Sweden' ) ;
+INSERT INTO GHTDB.ORDERS ( OrderID, CustomerID, EmployeeID, OrderDate, RequiredDate, ShippedDate, ShipVia, Freight, ShipName, ShipAddress, ShipCity, ShipRegion, ShipPostalCode, ShipCountry ) VALUES (10446, 'TOMSP', 6, '2/14/1997 12:00:00 AM', '3/14/1997 12:00:00 AM', '2/19/1997 12:00:00 AM', 1, 14.68, 'Toms Spezialitäten', 'Luisenstr. 48', 'Münster', NULL, '44087', 'Germany' ) ;
+INSERT INTO GHTDB.ORDERS ( OrderID, CustomerID, EmployeeID, OrderDate, RequiredDate, ShippedDate, ShipVia, Freight, ShipName, ShipAddress, ShipCity, ShipRegion, ShipPostalCode, ShipCountry ) VALUES (10447, 'RICAR', 4, '2/14/1997 12:00:00 AM', '3/14/1997 12:00:00 AM', '3/7/1997 12:00:00 AM', 2, 68.66, 'Ricardo Adocicados', 'Av. Copacabana, 267', 'Rio de Janeiro', 'RJ', '02389-890', 'Brazil' ) ;
+INSERT INTO GHTDB.ORDERS ( OrderID, CustomerID, EmployeeID, OrderDate, RequiredDate, ShippedDate, ShipVia, Freight, ShipName, ShipAddress, ShipCity, ShipRegion, ShipPostalCode, ShipCountry ) VALUES (10448, 'RANCH', 4, '2/17/1997 12:00:00 AM', '3/17/1997 12:00:00 AM', '2/24/1997 12:00:00 AM', 2, 38.82, 'Rancho grande', 'Av. del Libertador 900', 'Buenos Aires', NULL, '1010', 'Argentina' ) ;
+INSERT INTO GHTDB.ORDERS ( OrderID, CustomerID, EmployeeID, OrderDate, RequiredDate, ShippedDate, ShipVia, Freight, ShipName, ShipAddress, ShipCity, ShipRegion, ShipPostalCode, ShipCountry ) VALUES (10449, 'BLONP', 3, '2/18/1997 12:00:00 AM', '3/18/1997 12:00:00 AM', '2/27/1997 12:00:00 AM', 2, 53.3, 'Blondel père et fils', '24, place Kléber', 'Strasbourg', NULL, '67000', 'France' ) ;
+INSERT INTO GHTDB.ORDERS ( OrderID, CustomerID, EmployeeID, OrderDate, RequiredDate, ShippedDate, ShipVia, Freight, ShipName, ShipAddress, ShipCity, ShipRegion, ShipPostalCode, ShipCountry ) VALUES (10450, 'VICTE', 8, '2/19/1997 12:00:00 AM', '3/19/1997 12:00:00 AM', '3/11/1997 12:00:00 AM', 2, 7.23, 'Victuailles en stock', '2, rue du Commerce', 'Lyon', NULL, '69004', 'France' ) ;
+INSERT INTO GHTDB.ORDERS ( OrderID, CustomerID, EmployeeID, OrderDate, RequiredDate, ShippedDate, ShipVia, Freight, ShipName, ShipAddress, ShipCity, ShipRegion, ShipPostalCode, ShipCountry ) VALUES (10451, 'QUICK', 4, '2/19/1997 12:00:00 AM', '3/5/1997 12:00:00 AM', '3/12/1997 12:00:00 AM', 3, 189.09, 'QUICK-Stop', 'Taucherstraße 10', 'Cunewalde', NULL, '01307', 'Germany' ) ;
+INSERT INTO GHTDB.ORDERS ( OrderID, CustomerID, EmployeeID, OrderDate, RequiredDate, ShippedDate, ShipVia, Freight, ShipName, ShipAddress, ShipCity, ShipRegion, ShipPostalCode, ShipCountry ) VALUES (10452, 'SAVEA', 8, '2/20/1997 12:00:00 AM', '3/20/1997 12:00:00 AM', '2/26/1997 12:00:00 AM', 1, 140.26, 'Save-a-lot Markets', '187 Suffolk Ln.', 'Boise', 'ID', '83720', 'USA' ) ;
+INSERT INTO GHTDB.ORDERS ( OrderID, CustomerID, EmployeeID, OrderDate, RequiredDate, ShippedDate, ShipVia, Freight, ShipName, ShipAddress, ShipCity, ShipRegion, ShipPostalCode, ShipCountry ) VALUES (10453, 'AROUT', 1, '2/21/1997 12:00:00 AM', '3/21/1997 12:00:00 AM', '2/26/1997 12:00:00 AM', 2, 25.36, 'Around the Horn', 'Brook Farm Stratford St. Mary', 'Colchester', 'Essex', 'CO7 6JX', 'UK' ) ;
+INSERT INTO GHTDB.ORDERS ( OrderID, CustomerID, EmployeeID, OrderDate, RequiredDate, ShippedDate, ShipVia, Freight, ShipName, ShipAddress, ShipCity, ShipRegion, ShipPostalCode, ShipCountry ) VALUES (10454, 'LAMAI', 4, '2/21/1997 12:00:00 AM', '3/21/1997 12:00:00 AM', '2/25/1997 12:00:00 AM', 3, 2.74, 'La maison d''Asie', '1 rue Alsace-Lorraine', 'Toulouse', NULL, '31000', 'France' ) ;
+INSERT INTO GHTDB.ORDERS ( OrderID, CustomerID, EmployeeID, OrderDate, RequiredDate, ShippedDate, ShipVia, Freight, ShipName, ShipAddress, ShipCity, ShipRegion, ShipPostalCode, ShipCountry ) VALUES (10455, 'WARTH', 8, '2/24/1997 12:00:00 AM', '4/7/1997 12:00:00 AM', '3/3/1997 12:00:00 AM', 2, 180.45, 'Wartian Herkku', 'Torikatu 38', 'Oulu', NULL, '90110', 'Finland' ) ;
+INSERT INTO GHTDB.ORDERS ( OrderID, CustomerID, EmployeeID, OrderDate, RequiredDate, ShippedDate, ShipVia, Freight, ShipName, ShipAddress, ShipCity, ShipRegion, ShipPostalCode, ShipCountry ) VALUES (10456, 'KOENE', 8, '2/25/1997 12:00:00 AM', '4/8/1997 12:00:00 AM', '2/28/1997 12:00:00 AM', 2, 8.12, 'Königlich Essen', 'Maubelstr. 90', 'Brandenburg', NULL, '14776', 'Germany' ) ;
+INSERT INTO GHTDB.ORDERS ( OrderID, CustomerID, EmployeeID, OrderDate, RequiredDate, ShippedDate, ShipVia, Freight, ShipName, ShipAddress, ShipCity, ShipRegion, ShipPostalCode, ShipCountry ) VALUES (10457, 'KOENE', 2, '2/25/1997 12:00:00 AM', '3/25/1997 12:00:00 AM', '3/3/1997 12:00:00 AM', 1, 11.57, 'Königlich Essen', 'Maubelstr. 90', 'Brandenburg', NULL, '14776', 'Germany' ) ;
+INSERT INTO GHTDB.ORDERS ( OrderID, CustomerID, EmployeeID, OrderDate, RequiredDate, ShippedDate, ShipVia, Freight, ShipName, ShipAddress, ShipCity, ShipRegion, ShipPostalCode, ShipCountry ) VALUES (10458, 'SUPRD', 7, '2/26/1997 12:00:00 AM', '3/26/1997 12:00:00 AM', '3/4/1997 12:00:00 AM', 3, 147.06, 'Suprêmes délices', 'Boulevard Tirou, 255', 'Charleroi', NULL, 'B-6000', 'Belgium' ) ;
+INSERT INTO GHTDB.ORDERS ( OrderID, CustomerID, EmployeeID, OrderDate, RequiredDate, ShippedDate, ShipVia, Freight, ShipName, ShipAddress, ShipCity, ShipRegion, ShipPostalCode, ShipCountry ) VALUES (10459, 'VICTE', 4, '2/27/1997 12:00:00 AM', '3/27/1997 12:00:00 AM', '2/28/1997 12:00:00 AM', 2, 25.09, 'Victuailles en stock', '2, rue du Commerce', 'Lyon', NULL, '69004', 'France' ) ;
+INSERT INTO GHTDB.ORDERS ( OrderID, CustomerID, EmployeeID, OrderDate, RequiredDate, ShippedDate, ShipVia, Freight, ShipName, ShipAddress, ShipCity, ShipRegion, ShipPostalCode, ShipCountry ) VALUES (10460, 'FOLKO', 8, '2/28/1997 12:00:00 AM', '3/28/1997 12:00:00 AM', '3/3/1997 12:00:00 AM', 1, 16.27, 'Folk och fä HB', 'Ã…kergatan 24', 'Bräcke', NULL, 'S-844 67', 'Sweden' ) ;
+INSERT INTO GHTDB.ORDERS ( OrderID, CustomerID, EmployeeID, OrderDate, RequiredDate, ShippedDate, ShipVia, Freight, ShipName, ShipAddress, ShipCity, ShipRegion, ShipPostalCode, ShipCountry ) VALUES (10461, 'LILAS', 1, '2/28/1997 12:00:00 AM', '3/28/1997 12:00:00 AM', '3/5/1997 12:00:00 AM', 3, 148.61, 'LILA-Supermercado', 'Carrera 52 con Ave. Bolívar #65-98 Llano Largo', 'Barquisimeto', 'Lara', '3508', 'Venezuela' ) ;
+INSERT INTO GHTDB.ORDERS ( OrderID, CustomerID, EmployeeID, OrderDate, RequiredDate, ShippedDate, ShipVia, Freight, ShipName, ShipAddress, ShipCity, ShipRegion, ShipPostalCode, ShipCountry ) VALUES (10462, 'CONSH', 2, '3/3/1997 12:00:00 AM', '3/31/1997 12:00:00 AM', '3/18/1997 12:00:00 AM', 1, 6.17, 'Consolidated Holdings', 'Berkeley Gardens 12  Brewery', 'London', NULL, 'WX1 6LT', 'UK' ) ;
+INSERT INTO GHTDB.ORDERS ( OrderID, CustomerID, EmployeeID, OrderDate, RequiredDate, ShippedDate, ShipVia, Freight, ShipName, ShipAddress, ShipCity, ShipRegion, ShipPostalCode, ShipCountry ) VALUES (10463, 'SUPRD', 5, '3/4/1997 12:00:00 AM', '4/1/1997 12:00:00 AM', '3/6/1997 12:00:00 AM', 3, 14.78, 'Suprêmes délices', 'Boulevard Tirou, 255', 'Charleroi', NULL, 'B-6000', 'Belgium' ) ;
+INSERT INTO GHTDB.ORDERS ( OrderID, CustomerID, EmployeeID, OrderDate, RequiredDate, ShippedDate, ShipVia, Freight, ShipName, ShipAddress, ShipCity, ShipRegion, ShipPostalCode, ShipCountry ) VALUES (10464, 'FURIB', 4, '3/4/1997 12:00:00 AM', '4/1/1997 12:00:00 AM', '3/14/1997 12:00:00 AM', 2, 89, 'Furia Bacalhau e Frutos do Mar', 'Jardim das rosas n. 32', 'Lisboa', NULL, '1675', 'Portugal' ) ;
+INSERT INTO GHTDB.ORDERS ( OrderID, CustomerID, EmployeeID, OrderDate, RequiredDate, ShippedDate, ShipVia, Freight, ShipName, ShipAddress, ShipCity, ShipRegion, ShipPostalCode, ShipCountry ) VALUES (10465, 'VAFFE', 1, '3/5/1997 12:00:00 AM', '4/2/1997 12:00:00 AM', '3/14/1997 12:00:00 AM', 3, 145.04, 'Vaffeljernet', 'Smagsloget 45', 'Ã…rhus', NULL, '8200', 'Denmark' ) ;
+INSERT INTO GHTDB.ORDERS ( OrderID, CustomerID, EmployeeID, OrderDate, RequiredDate, ShippedDate, ShipVia, Freight, ShipName, ShipAddress, ShipCity, ShipRegion, ShipPostalCode, ShipCountry ) VALUES (10466, 'COMMI', 4, '3/6/1997 12:00:00 AM', '4/3/1997 12:00:00 AM', '3/13/1997 12:00:00 AM', 1, 11.93, 'Comércio Mineiro', 'Av. dos Lusíadas, 23', 'Sao Paulo', 'SP', '05432-043', 'Brazil' ) ;
+INSERT INTO GHTDB.ORDERS ( OrderID, CustomerID, EmployeeID, OrderDate, RequiredDate, ShippedDate, ShipVia, Freight, ShipName, ShipAddress, ShipCity, ShipRegion, ShipPostalCode, ShipCountry ) VALUES (10467, 'MAGAA', 8, '3/6/1997 12:00:00 AM', '4/3/1997 12:00:00 AM', '3/11/1997 12:00:00 AM', 2, 4.93, 'Magazzini Alimentari Riuniti', 'Via Ludovico il Moro 22', 'Bergamo', NULL, '24100', 'Italy' ) ;
+INSERT INTO GHTDB.ORDERS ( OrderID, CustomerID, EmployeeID, OrderDate, RequiredDate, ShippedDate, ShipVia, Freight, ShipName, ShipAddress, ShipCity, ShipRegion, ShipPostalCode, ShipCountry ) VALUES (10468, 'KOENE', 3, '3/7/1997 12:00:00 AM', '4/4/1997 12:00:00 AM', '3/12/1997 12:00:00 AM', 3, 44.12, 'Königlich Essen', 'Maubelstr. 90', 'Brandenburg', NULL, '14776', 'Germany' ) ;
+INSERT INTO GHTDB.ORDERS ( OrderID, CustomerID, EmployeeID, OrderDate, RequiredDate, ShippedDate, ShipVia, Freight, ShipName, ShipAddress, ShipCity, ShipRegion, ShipPostalCode, ShipCountry ) VALUES (10469, 'WHITC', 1, '3/10/1997 12:00:00 AM', '4/7/1997 12:00:00 AM', '3/14/1997 12:00:00 AM', 1, 60.18, 'White Clover Markets', '1029 - 12th Ave. S.', 'Seattle', 'WA', '98124', 'USA' ) ;
+INSERT INTO GHTDB.ORDERS ( OrderID, CustomerID, EmployeeID, OrderDate, RequiredDate, ShippedDate, ShipVia, Freight, ShipName, ShipAddress, ShipCity, ShipRegion, ShipPostalCode, ShipCountry ) VALUES (10470, 'BONAP', 4, '3/11/1997 12:00:00 AM', '4/8/1997 12:00:00 AM', '3/14/1997 12:00:00 AM', 2, 64.56, 'Bon app''', '12, rue des Bouchers', 'Marseille', NULL, '13008', 'France' ) ;
+INSERT INTO GHTDB.ORDERS ( OrderID, CustomerID, EmployeeID, OrderDate, RequiredDate, ShippedDate, ShipVia, Freight, ShipName, ShipAddress, ShipCity, ShipRegion, ShipPostalCode, ShipCountry ) VALUES (10471, 'BSBEV', 2, '3/11/1997 12:00:00 AM', '4/8/1997 12:00:00 AM', '3/18/1997 12:00:00 AM', 3, 45.59, 'B''s Beverages', 'Fauntleroy Circus', 'London', NULL, 'EC2 5NT', 'UK' ) ;
+INSERT INTO GHTDB.ORDERS ( OrderID, CustomerID, EmployeeID, OrderDate, RequiredDate, ShippedDate, ShipVia, Freight, ShipName, ShipAddress, ShipCity, ShipRegion, ShipPostalCode, ShipCountry ) VALUES (10472, 'SEVES', 8, '3/12/1997 12:00:00 AM', '4/9/1997 12:00:00 AM', '3/19/1997 12:00:00 AM', 1, 4.2, 'Seven Seas Imports', '90 Wadhurst Rd.', 'London', NULL, 'OX15 4NB', 'UK' ) ;
+INSERT INTO GHTDB.ORDERS ( OrderID, CustomerID, EmployeeID, OrderDate, RequiredDate, ShippedDate, ShipVia, Freight, ShipName, ShipAddress, ShipCity, ShipRegion, ShipPostalCode, ShipCountry ) VALUES (10473, 'ISLAT', 1, '3/13/1997 12:00:00 AM', '3/27/1997 12:00:00 AM', '3/21/1997 12:00:00 AM', 3, 16.37, 'Island Trading', 'Garden House Crowther Way', 'Cowes', 'Isle of Wight', 'PO31 7PJ', 'UK' ) ;
+INSERT INTO GHTDB.ORDERS ( OrderID, CustomerID, EmployeeID, OrderDate, RequiredDate, ShippedDate, ShipVia, Freight, ShipName, ShipAddress, ShipCity, ShipRegion, ShipPostalCode, ShipCountry ) VALUES (10474, 'PERIC', 5, '3/13/1997 12:00:00 AM', '4/10/1997 12:00:00 AM', '3/21/1997 12:00:00 AM', 2, 83.49, 'Pericles Comidas clásicas', 'Calle Dr. Jorge Cash 321', 'México D.F.', NULL, '05033', 'Mexico' ) ;
+INSERT INTO GHTDB.ORDERS ( OrderID, CustomerID, EmployeeID, OrderDate, RequiredDate, ShippedDate, ShipVia, Freight, ShipName, ShipAddress, ShipCity, ShipRegion, ShipPostalCode, ShipCountry ) VALUES (10475, 'SUPRD', 9, '3/14/1997 12:00:00 AM', '4/11/1997 12:00:00 AM', '4/4/1997 12:00:00 AM', 1, 68.52, 'Suprêmes délices', 'Boulevard Tirou, 255', 'Charleroi', NULL, 'B-6000', 'Belgium' ) ;
+INSERT INTO GHTDB.ORDERS ( OrderID, CustomerID, EmployeeID, OrderDate, RequiredDate, ShippedDate, ShipVia, Freight, ShipName, ShipAddress, ShipCity, ShipRegion, ShipPostalCode, ShipCountry ) VALUES (10476, 'HILAA', 8, '3/17/1997 12:00:00 AM', '4/14/1997 12:00:00 AM', '3/24/1997 12:00:00 AM', 3, 4.41, 'HILARION-Abastos', 'Carrera 22 con Ave. Carlos Soublette #8-35', 'San Cristóbal', 'Táchira', '5022', 'Venezuela' ) ;
+INSERT INTO GHTDB.ORDERS ( OrderID, CustomerID, EmployeeID, OrderDate, RequiredDate, ShippedDate, ShipVia, Freight, ShipName, ShipAddress, ShipCity, ShipRegion, ShipPostalCode, ShipCountry ) VALUES (10477, 'PRINI', 5, '3/17/1997 12:00:00 AM', '4/14/1997 12:00:00 AM', '3/25/1997 12:00:00 AM', 2, 13.02, 'Princesa Isabel Vinhos', 'Estrada da saúde n. 58', 'Lisboa', NULL, '1756', 'Portugal' ) ;
+INSERT INTO GHTDB.ORDERS ( OrderID, CustomerID, EmployeeID, OrderDate, RequiredDate, ShippedDate, ShipVia, Freight, ShipName, ShipAddress, ShipCity, ShipRegion, ShipPostalCode, ShipCountry ) VALUES (10478, 'VICTE', 2, '3/18/1997 12:00:00 AM', '4/1/1997 12:00:00 AM', '3/26/1997 12:00:00 AM', 3, 4.81, 'Victuailles en stock', '2, rue du Commerce', 'Lyon', NULL, '69004', 'France' ) ;
+INSERT INTO GHTDB.ORDERS ( OrderID, CustomerID, EmployeeID, OrderDate, RequiredDate, ShippedDate, ShipVia, Freight, ShipName, ShipAddress, ShipCity, ShipRegion, ShipPostalCode, ShipCountry ) VALUES (10479, 'RATTC', 3, '3/19/1997 12:00:00 AM', '4/16/1997 12:00:00 AM', '3/21/1997 12:00:00 AM', 3, 708.95, 'Rattlesnake Canyon Grocery', '2817 Milton Dr.', 'Albuquerque', 'NM', '87110', 'USA' ) ;
+INSERT INTO GHTDB.ORDERS ( OrderID, CustomerID, EmployeeID, OrderDate, RequiredDate, ShippedDate, ShipVia, Freight, ShipName, ShipAddress, ShipCity, ShipRegion, ShipPostalCode, ShipCountry ) VALUES (10480, 'FOLIG', 6, '3/20/1997 12:00:00 AM', '4/17/1997 12:00:00 AM', '3/24/1997 12:00:00 AM', 2, 1.35, 'Folies gourmandes', '184, chaussée de Tournai', 'Lille', NULL, '59000', 'France' ) ;
+INSERT INTO GHTDB.ORDERS ( OrderID, CustomerID, EmployeeID, OrderDate, RequiredDate, ShippedDate, ShipVia, Freight, ShipName, ShipAddress, ShipCity, ShipRegion, ShipPostalCode, ShipCountry ) VALUES (10481, 'RICAR', 8, '3/20/1997 12:00:00 AM', '4/17/1997 12:00:00 AM', '3/25/1997 12:00:00 AM', 2, 64.33, 'Ricardo Adocicados', 'Av. Copacabana, 267', 'Rio de Janeiro', 'RJ', '02389-890', 'Brazil' ) ;
+INSERT INTO GHTDB.ORDERS ( OrderID, CustomerID, EmployeeID, OrderDate, RequiredDate, ShippedDate, ShipVia, Freight, ShipName, ShipAddress, ShipCity, ShipRegion, ShipPostalCode, ShipCountry ) VALUES (10482, 'LAZYK', 1, '3/21/1997 12:00:00 AM', '4/18/1997 12:00:00 AM', '4/10/1997 12:00:00 AM', 3, 7.48, 'Lazy K Kountry Store', '12 Orchestra Terrace', 'Walla Walla', 'WA', '99362', 'USA' ) ;
+INSERT INTO GHTDB.ORDERS ( OrderID, CustomerID, EmployeeID, OrderDate, RequiredDate, ShippedDate, ShipVia, Freight, ShipName, ShipAddress, ShipCity, ShipRegion, ShipPostalCode, ShipCountry ) VALUES (10483, 'WHITC', 7, '3/24/1997 12:00:00 AM', '4/21/1997 12:00:00 AM', '4/25/1997 12:00:00 AM', 2, 15.28, 'White Clover Markets', '1029 - 12th Ave. S.', 'Seattle', 'WA', '98124', 'USA' ) ;
+INSERT INTO GHTDB.ORDERS ( OrderID, CustomerID, EmployeeID, OrderDate, RequiredDate, ShippedDate, ShipVia, Freight, ShipName, ShipAddress, ShipCity, ShipRegion, ShipPostalCode, ShipCountry ) VALUES (10484, 'BSBEV', 3, '3/24/1997 12:00:00 AM', '4/21/1997 12:00:00 AM', '4/1/1997 12:00:00 AM', 3, 6.88, 'B''s Beverages', 'Fauntleroy Circus', 'London', NULL, 'EC2 5NT', 'UK' ) ;
+INSERT INTO GHTDB.ORDERS ( OrderID, CustomerID, EmployeeID, OrderDate, RequiredDate, ShippedDate, ShipVia, Freight, ShipName, ShipAddress, ShipCity, ShipRegion, ShipPostalCode, ShipCountry ) VALUES (10485, 'LINOD', 4, '3/25/1997 12:00:00 AM', '4/8/1997 12:00:00 AM', '3/31/1997 12:00:00 AM', 2, 64.45, 'LINO-Delicateses', 'Ave. 5 de Mayo Porlamar', 'I. de Margarita', 'Nueva Esparta', '4980', 'Venezuela' ) ;
+INSERT INTO GHTDB.ORDERS ( OrderID, CustomerID, EmployeeID, OrderDate, RequiredDate, ShippedDate, ShipVia, Freight, ShipName, ShipAddress, ShipCity, ShipRegion, ShipPostalCode, ShipCountry ) VALUES (10486, 'HILAA', 1, '3/26/1997 12:00:00 AM', '4/23/1997 12:00:00 AM', '4/2/1997 12:00:00 AM', 2, 30.53, 'HILARION-Abastos', 'Carrera 22 con Ave. Carlos Soublette #8-35', 'San Cristóbal', 'Táchira', '5022', 'Venezuela' ) ;
+INSERT INTO GHTDB.ORDERS ( OrderID, CustomerID, EmployeeID, OrderDate, RequiredDate, ShippedDate, ShipVia, Freight, ShipName, ShipAddress, ShipCity, ShipRegion, ShipPostalCode, ShipCountry ) VALUES (10487, 'QUEEN', 2, '3/26/1997 12:00:00 AM', '4/23/1997 12:00:00 AM', '3/28/1997 12:00:00 AM', 2, 71.07, 'Queen Cozinha', 'Alameda dos Canàrios, 891', 'Sao Paulo', 'SP', '05487-020', 'Brazil' ) ;
+INSERT INTO GHTDB.ORDERS ( OrderID, CustomerID, EmployeeID, OrderDate, RequiredDate, ShippedDate, ShipVia, Freight, ShipName, ShipAddress, ShipCity, ShipRegion, ShipPostalCode, ShipCountry ) VALUES (10488, 'FRANK', 8, '3/27/1997 12:00:00 AM', '4/24/1997 12:00:00 AM', '4/2/1997 12:00:00 AM', 2, 4.93, 'Frankenversand', 'Berliner Platz 43', 'München', NULL, '80805', 'Germany' ) ;
+INSERT INTO GHTDB.ORDERS ( OrderID, CustomerID, EmployeeID, OrderDate, RequiredDate, ShippedDate, ShipVia, Freight, ShipName, ShipAddress, ShipCity, ShipRegion, ShipPostalCode, ShipCountry ) VALUES (10489, 'PICCO', 6, '3/28/1997 12:00:00 AM', '4/25/1997 12:00:00 AM', '4/9/1997 12:00:00 AM', 2, 5.29, 'Piccolo und mehr', 'Geislweg 14', 'Salzburg', NULL, '5020', 'Austria' ) ;
+INSERT INTO GHTDB.ORDERS ( OrderID, CustomerID, EmployeeID, OrderDate, RequiredDate, ShippedDate, ShipVia, Freight, ShipName, ShipAddress, ShipCity, ShipRegion, ShipPostalCode, ShipCountry ) VALUES (10490, 'HILAA', 7, '3/31/1997 12:00:00 AM', '4/28/1997 12:00:00 AM', '4/3/1997 12:00:00 AM', 2, 210.19, 'HILARION-Abastos', 'Carrera 22 con Ave. Carlos Soublette #8-35', 'San Cristóbal', 'Táchira', '5022', 'Venezuela' ) ;
+INSERT INTO GHTDB.ORDERS ( OrderID, CustomerID, EmployeeID, OrderDate, RequiredDate, ShippedDate, ShipVia, Freight, ShipName, ShipAddress, ShipCity, ShipRegion, ShipPostalCode, ShipCountry ) VALUES (10491, 'FURIB', 8, '3/31/1997 12:00:00 AM', '4/28/1997 12:00:00 AM', '4/8/1997 12:00:00 AM', 3, 16.96, 'Furia Bacalhau e Frutos do Mar', 'Jardim das rosas n. 32', 'Lisboa', NULL, '1675', 'Portugal' ) ;
+INSERT INTO GHTDB.ORDERS ( OrderID, CustomerID, EmployeeID, OrderDate, RequiredDate, ShippedDate, ShipVia, Freight, ShipName, ShipAddress, ShipCity, ShipRegion, ShipPostalCode, ShipCountry ) VALUES (10492, 'BOTTM', 3, '4/1/1997 12:00:00 AM', '4/29/1997 12:00:00 AM', '4/11/1997 12:00:00 AM', 1, 62.89, 'Bottom-Dollar Markets', '23 Tsawassen Blvd.', 'Tsawassen', 'BC', 'T2F 8M4', 'Canada' ) ;
+INSERT INTO GHTDB.ORDERS ( OrderID, CustomerID, EmployeeID, OrderDate, RequiredDate, ShippedDate, ShipVia, Freight, ShipName, ShipAddress, ShipCity, ShipRegion, ShipPostalCode, ShipCountry ) VALUES (10493, 'LAMAI', 4, '4/2/1997 12:00:00 AM', '4/30/1997 12:00:00 AM', '4/10/1997 12:00:00 AM', 3, 10.64, 'La maison d''Asie', '1 rue Alsace-Lorraine', 'Toulouse', NULL, '31000', 'France' ) ;
+INSERT INTO GHTDB.ORDERS ( OrderID, CustomerID, EmployeeID, OrderDate, RequiredDate, ShippedDate, ShipVia, Freight, ShipName, ShipAddress, ShipCity, ShipRegion, ShipPostalCode, ShipCountry ) VALUES (10494, 'COMMI', 4, '4/2/1997 12:00:00 AM', '4/30/1997 12:00:00 AM', '4/9/1997 12:00:00 AM', 2, 65.99, 'Comércio Mineiro', 'Av. dos Lusíadas, 23', 'Sao Paulo', 'SP', '05432-043', 'Brazil' ) ;
+INSERT INTO GHTDB.ORDERS ( OrderID, CustomerID, EmployeeID, OrderDate, RequiredDate, ShippedDate, ShipVia, Freight, ShipName, ShipAddress, ShipCity, ShipRegion, ShipPostalCode, ShipCountry ) VALUES (10495, 'LAUGB', 3, '4/3/1997 12:00:00 AM', '5/1/1997 12:00:00 AM', '4/11/1997 12:00:00 AM', 3, 4.65, 'Laughing Bacchus Wine Cellars', '2319 Elm St.', 'Vancouver', 'BC', 'V3F 2K1', 'Canada' ) ;
+INSERT INTO GHTDB.ORDERS ( OrderID, CustomerID, EmployeeID, OrderDate, RequiredDate, ShippedDate, ShipVia, Freight, ShipName, ShipAddress, ShipCity, ShipRegion, ShipPostalCode, ShipCountry ) VALUES (10496, 'TRADH', 7, '4/4/1997 12:00:00 AM', '5/2/1997 12:00:00 AM', '4/7/1997 12:00:00 AM', 2, 46.77, 'Tradiçao Hipermercados', 'Av. Inês de Castro, 414', 'Sao Paulo', 'SP', '05634-030', 'Brazil' ) ;
+INSERT INTO GHTDB.ORDERS ( OrderID, CustomerID, EmployeeID, OrderDate, RequiredDate, ShippedDate, ShipVia, Freight, ShipName, ShipAddress, ShipCity, ShipRegion, ShipPostalCode, ShipCountry ) VALUES (10497, 'LEHMS', 7, '4/4/1997 12:00:00 AM', '5/2/1997 12:00:00 AM', '4/7/1997 12:00:00 AM', 1, 36.21, 'Lehmanns Marktstand', 'Magazinweg 7', 'Frankfurt a.M.', NULL, '60528', 'Germany' ) ;
+INSERT INTO GHTDB.ORDERS ( OrderID, CustomerID, EmployeeID, OrderDate, RequiredDate, ShippedDate, ShipVia, Freight, ShipName, ShipAddress, ShipCity, ShipRegion, ShipPostalCode, ShipCountry ) VALUES (10498, 'HILAA', 8, '4/7/1997 12:00:00 AM', '5/5/1997 12:00:00 AM', '4/11/1997 12:00:00 AM', 2, 29.75, 'HILARION-Abastos', 'Carrera 22 con Ave. Carlos Soublette #8-35', 'San Cristóbal', 'Táchira', '5022', 'Venezuela' ) ;
+INSERT INTO GHTDB.ORDERS ( OrderID, CustomerID, EmployeeID, OrderDate, RequiredDate, ShippedDate, ShipVia, Freight, ShipName, ShipAddress, ShipCity, ShipRegion, ShipPostalCode, ShipCountry ) VALUES (10499, 'LILAS', 4, '4/8/1997 12:00:00 AM', '5/6/1997 12:00:00 AM', '4/16/1997 12:00:00 AM', 2, 102.02, 'LILA-Supermercado', 'Carrera 52 con Ave. Bolívar #65-98 Llano Largo', 'Barquisimeto', 'Lara', '3508', 'Venezuela' ) ;
+INSERT INTO GHTDB.ORDERS ( OrderID, CustomerID, EmployeeID, OrderDate, RequiredDate, ShippedDate, ShipVia, Freight, ShipName, ShipAddress, ShipCity, ShipRegion, ShipPostalCode, ShipCountry ) VALUES (10500, 'LAMAI', 6, '4/9/1997 12:00:00 AM', '5/7/1997 12:00:00 AM', '4/17/1997 12:00:00 AM', 1, 42.68, 'La maison d''Asie', '1 rue Alsace-Lorraine', 'Toulouse', NULL, '31000', 'France' ) ;
+INSERT INTO GHTDB.ORDERS ( OrderID, CustomerID, EmployeeID, OrderDate, RequiredDate, ShippedDate, ShipVia, Freight, ShipName, ShipAddress, ShipCity, ShipRegion, ShipPostalCode, ShipCountry ) VALUES (10501, 'BLAUS', 9, '4/9/1997 12:00:00 AM', '5/7/1997 12:00:00 AM', '4/16/1997 12:00:00 AM', 3, 8.85, 'Blauer See Delikatessen', 'Forsterstr. 57', 'Mannheim', NULL, '68306', 'Germany' ) ;
+INSERT INTO GHTDB.ORDERS ( OrderID, CustomerID, EmployeeID, OrderDate, RequiredDate, ShippedDate, ShipVia, Freight, ShipName, ShipAddress, ShipCity, ShipRegion, ShipPostalCode, ShipCountry ) VALUES (10502, 'PERIC', 2, '4/10/1997 12:00:00 AM', '5/8/1997 12:00:00 AM', '4/29/1997 12:00:00 AM', 1, 69.32, 'Pericles Comidas clásicas', 'Calle Dr. Jorge Cash 321', 'México D.F.', NULL, '05033', 'Mexico' ) ;
+INSERT INTO GHTDB.ORDERS ( OrderID, CustomerID, EmployeeID, OrderDate, RequiredDate, ShippedDate, ShipVia, Freight, ShipName, ShipAddress, ShipCity, ShipRegion, ShipPostalCode, ShipCountry ) VALUES (10503, 'HUNGO', 6, '4/11/1997 12:00:00 AM', '5/9/1997 12:00:00 AM', '4/16/1997 12:00:00 AM', 2, 16.74, 'Hungry Owl All-Night Grocers', '8 Johnstown Road', 'Cork', 'Co. Cork', NULL, 'Ireland' ) ;
+INSERT INTO GHTDB.ORDERS ( OrderID, CustomerID, EmployeeID, OrderDate, RequiredDate, ShippedDate, ShipVia, Freight, ShipName, ShipAddress, ShipCity, ShipRegion, ShipPostalCode, ShipCountry ) VALUES (10504, 'WHITC', 4, '4/11/1997 12:00:00 AM', '5/9/1997 12:00:00 AM', '4/18/1997 12:00:00 AM', 3, 59.13, 'White Clover Markets', '1029 - 12th Ave. S.', 'Seattle', 'WA', '98124', 'USA' ) ;
+INSERT INTO GHTDB.ORDERS ( OrderID, CustomerID, EmployeeID, OrderDate, RequiredDate, ShippedDate, ShipVia, Freight, ShipName, ShipAddress, ShipCity, ShipRegion, ShipPostalCode, ShipCountry ) VALUES (10505, 'MEREP', 3, '4/14/1997 12:00:00 AM', '5/12/1997 12:00:00 AM', '4/21/1997 12:00:00 AM', 3, 7.13, 'Mère Paillarde', '43 rue St. Laurent', 'Montréal', 'Québec', 'H1J 1C3', 'Canada' ) ;
+INSERT INTO GHTDB.ORDERS ( OrderID, CustomerID, EmployeeID, OrderDate, RequiredDate, ShippedDate, ShipVia, Freight, ShipName, ShipAddress, ShipCity, ShipRegion, ShipPostalCode, ShipCountry ) VALUES (10506, 'KOENE', 9, '4/15/1997 12:00:00 AM', '5/13/1997 12:00:00 AM', '5/2/1997 12:00:00 AM', 2, 21.19, 'Königlich Essen', 'Maubelstr. 90', 'Brandenburg', NULL, '14776', 'Germany' ) ;
+INSERT INTO GHTDB.ORDERS ( OrderID, CustomerID, EmployeeID, OrderDate, RequiredDate, ShippedDate, ShipVia, Freight, ShipName, ShipAddress, ShipCity, ShipRegion, ShipPostalCode, ShipCountry ) VALUES (10507, 'ANTON', 7, '4/15/1997 12:00:00 AM', '5/13/1997 12:00:00 AM', '4/22/1997 12:00:00 AM', 1, 47.45, 'Antonio Moreno Taquería', 'Mataderos  2312', 'México D.F.', NULL, '05023', 'Mexico' ) ;
+INSERT INTO GHTDB.ORDERS ( OrderID, CustomerID, EmployeeID, OrderDate, RequiredDate, ShippedDate, ShipVia, Freight, ShipName, ShipAddress, ShipCity, ShipRegion, ShipPostalCode, ShipCountry ) VALUES (10508, 'OTTIK', 1, '4/16/1997 12:00:00 AM', '5/14/1997 12:00:00 AM', '5/13/1997 12:00:00 AM', 2, 4.99, 'Ottilies Käseladen', 'Mehrheimerstr. 369', 'Köln', NULL, '50739', 'Germany' ) ;
+INSERT INTO GHTDB.ORDERS ( OrderID, CustomerID, EmployeeID, OrderDate, RequiredDate, ShippedDate, ShipVia, Freight, ShipName, ShipAddress, ShipCity, ShipRegion, ShipPostalCode, ShipCountry ) VALUES (10509, 'BLAUS', 4, '4/17/1997 12:00:00 AM', '5/15/1997 12:00:00 AM', '4/29/1997 12:00:00 AM', 1, 0.15, 'Blauer See Delikatessen', 'Forsterstr. 57', 'Mannheim', NULL, '68306', 'Germany' ) ;
+INSERT INTO GHTDB.ORDERS ( OrderID, CustomerID, EmployeeID, OrderDate, RequiredDate, ShippedDate, ShipVia, Freight, ShipName, ShipAddress, ShipCity, ShipRegion, ShipPostalCode, ShipCountry ) VALUES (10510, 'SAVEA', 6, '4/18/1997 12:00:00 AM', '5/16/1997 12:00:00 AM', '4/28/1997 12:00:00 AM', 3, 367.63, 'Save-a-lot Markets', '187 Suffolk Ln.', 'Boise', 'ID', '83720', 'USA' ) ;
+INSERT INTO GHTDB.ORDERS ( OrderID, CustomerID, EmployeeID, OrderDate, RequiredDate, ShippedDate, ShipVia, Freight, ShipName, ShipAddress, ShipCity, ShipRegion, ShipPostalCode, ShipCountry ) VALUES (10511, 'BONAP', 4, '4/18/1997 12:00:00 AM', '5/16/1997 12:00:00 AM', '4/21/1997 12:00:00 AM', 3, 350.64, 'Bon app''', '12, rue des Bouchers', 'Marseille', NULL, '13008', 'France' ) ;
+INSERT INTO GHTDB.ORDERS ( OrderID, CustomerID, EmployeeID, OrderDate, RequiredDate, ShippedDate, ShipVia, Freight, ShipName, ShipAddress, ShipCity, ShipRegion, ShipPostalCode, ShipCountry ) VALUES (10512, 'FAMIA', 7, '4/21/1997 12:00:00 AM', '5/19/1997 12:00:00 AM', '4/24/1997 12:00:00 AM', 2, 3.53, 'Familia Arquibaldo', 'Rua Orós, 92', 'Sao Paulo', 'SP', '05442-030', 'Brazil' ) ;
+INSERT INTO GHTDB.ORDERS ( OrderID, CustomerID, EmployeeID, OrderDate, RequiredDate, ShippedDate, ShipVia, Freight, ShipName, ShipAddress, ShipCity, ShipRegion, ShipPostalCode, ShipCountry ) VALUES (10513, 'WANDK', 7, '4/22/1997 12:00:00 AM', '6/3/1997 12:00:00 AM', '4/28/1997 12:00:00 AM', 1, 105.65, 'Die Wandernde Kuh', 'Adenauerallee 900', 'Stuttgart', NULL, '70563', 'Germany' ) ;
+INSERT INTO GHTDB.ORDERS ( OrderID, CustomerID, EmployeeID, OrderDate, RequiredDate, ShippedDate, ShipVia, Freight, ShipName, ShipAddress, ShipCity, ShipRegion, ShipPostalCode, ShipCountry ) VALUES (10514, 'ERNSH', 3, '4/22/1997 12:00:00 AM', '5/20/1997 12:00:00 AM', '5/16/1997 12:00:00 AM', 2, 789.95, 'Ernst Handel', 'Kirchgasse 6', 'Graz', NULL, '8010', 'Austria' ) ;
+INSERT INTO GHTDB.ORDERS ( OrderID, CustomerID, EmployeeID, OrderDate, RequiredDate, ShippedDate, ShipVia, Freight, ShipName, ShipAddress, ShipCity, ShipRegion, ShipPostalCode, ShipCountry ) VALUES (10515, 'QUICK', 2, '4/23/1997 12:00:00 AM', '5/7/1997 12:00:00 AM', '5/23/1997 12:00:00 AM', 1, 204.47, 'QUICK-Stop', 'Taucherstraße 10', 'Cunewalde', NULL, '01307', 'Germany' ) ;
+INSERT INTO GHTDB.ORDERS ( OrderID, CustomerID, EmployeeID, OrderDate, RequiredDate, ShippedDate, ShipVia, Freight, ShipName, ShipAddress, ShipCity, ShipRegion, ShipPostalCode, ShipCountry ) VALUES (10516, 'HUNGO', 2, '4/24/1997 12:00:00 AM', '5/22/1997 12:00:00 AM', '5/1/1997 12:00:00 AM', 3, 62.78, 'Hungry Owl All-Night Grocers', '8 Johnstown Road', 'Cork', 'Co. Cork', NULL, 'Ireland' ) ;
+INSERT INTO GHTDB.ORDERS ( OrderID, CustomerID, EmployeeID, OrderDate, RequiredDate, ShippedDate, ShipVia, Freight, ShipName, ShipAddress, ShipCity, ShipRegion, ShipPostalCode, ShipCountry ) VALUES (10517, 'NORTS', 3, '4/24/1997 12:00:00 AM', '5/22/1997 12:00:00 AM', '4/29/1997 12:00:00 AM', 3, 32.07, 'North/South', 'South House 300 Queensbridge', 'London', NULL, 'SW7 1RZ', 'UK' ) ;
+INSERT INTO GHTDB.ORDERS ( OrderID, CustomerID, EmployeeID, OrderDate, RequiredDate, ShippedDate, ShipVia, Freight, ShipName, ShipAddress, ShipCity, ShipRegion, ShipPostalCode, ShipCountry ) VALUES (10518, 'TORTU', 4, '4/25/1997 12:00:00 AM', '5/9/1997 12:00:00 AM', '5/5/1997 12:00:00 AM', 2, 218.15, 'Tortuga Restaurante', 'Avda. Azteca 123', 'México D.F.', NULL, '05033', 'Mexico' ) ;
+INSERT INTO GHTDB.ORDERS ( OrderID, CustomerID, EmployeeID, OrderDate, RequiredDate, ShippedDate, ShipVia, Freight, ShipName, ShipAddress, ShipCity, ShipRegion, ShipPostalCode, ShipCountry ) VALUES (10519, 'CHOPS', 6, '4/28/1997 12:00:00 AM', '5/26/1997 12:00:00 AM', '5/1/1997 12:00:00 AM', 3, 91.76, 'Chop-suey Chinese', 'Hauptstr. 31', 'Bern', NULL, '3012', 'Switzerland' ) ;
+INSERT INTO GHTDB.ORDERS ( OrderID, CustomerID, EmployeeID, OrderDate, RequiredDate, ShippedDate, ShipVia, Freight, ShipName, ShipAddress, ShipCity, ShipRegion, ShipPostalCode, ShipCountry ) VALUES (10520, 'SANTG', 7, '4/29/1997 12:00:00 AM', '5/27/1997 12:00:00 AM', '5/1/1997 12:00:00 AM', 1, 13.37, 'Santé Gourmet', 'Erling Skakkes gate 78', 'Stavern', NULL, '4110', 'Norway' ) ;
+INSERT INTO GHTDB.ORDERS ( OrderID, CustomerID, EmployeeID, OrderDate, RequiredDate, ShippedDate, ShipVia, Freight, ShipName, ShipAddress, ShipCity, ShipRegion, ShipPostalCode, ShipCountry ) VALUES (10521, 'CACTU', 8, '4/29/1997 12:00:00 AM', '5/27/1997 12:00:00 AM', '5/2/1997 12:00:00 AM', 2, 17.22, 'Cactus Comidas para llevar', 'Cerrito 333', 'Buenos Aires', NULL, '1010', 'Argentina' ) ;
+INSERT INTO GHTDB.ORDERS ( OrderID, CustomerID, EmployeeID, OrderDate, RequiredDate, ShippedDate, ShipVia, Freight, ShipName, ShipAddress, ShipCity, ShipRegion, ShipPostalCode, ShipCountry ) VALUES (10522, 'LEHMS', 4, '4/30/1997 12:00:00 AM', '5/28/1997 12:00:00 AM', '5/6/1997 12:00:00 AM', 1, 45.33, 'Lehmanns Marktstand', 'Magazinweg 7', 'Frankfurt a.M.', NULL, '60528', 'Germany' ) ;
+INSERT INTO GHTDB.ORDERS ( OrderID, CustomerID, EmployeeID, OrderDate, RequiredDate, ShippedDate, ShipVia, Freight, ShipName, ShipAddress, ShipCity, ShipRegion, ShipPostalCode, ShipCountry ) VALUES (10523, 'SEVES', 7, '5/1/1997 12:00:00 AM', '5/29/1997 12:00:00 AM', '5/30/1997 12:00:00 AM', 2, 77.63, 'Seven Seas Imports', '90 Wadhurst Rd.', 'London', NULL, 'OX15 4NB', 'UK' ) ;
+INSERT INTO GHTDB.ORDERS ( OrderID, CustomerID, EmployeeID, OrderDate, RequiredDate, ShippedDate, ShipVia, Freight, ShipName, ShipAddress, ShipCity, ShipRegion, ShipPostalCode, ShipCountry ) VALUES (10524, 'BERGS', 1, '5/1/1997 12:00:00 AM', '5/29/1997 12:00:00 AM', '5/7/1997 12:00:00 AM', 2, 244.79, 'Berglunds snabbköp', 'Berguvsvägen  8', 'LuleÃ¥', NULL, 'S-958 22', 'Sweden' ) ;
+INSERT INTO GHTDB.ORDERS ( OrderID, CustomerID, EmployeeID, OrderDate, RequiredDate, ShippedDate, ShipVia, Freight, ShipName, ShipAddress, ShipCity, ShipRegion, ShipPostalCode, ShipCountry ) VALUES (10525, 'BONAP', 1, '5/2/1997 12:00:00 AM', '5/30/1997 12:00:00 AM', '5/23/1997 12:00:00 AM', 2, 11.06, 'Bon app''', '12, rue des Bouchers', 'Marseille', NULL, '13008', 'France' ) ;
+INSERT INTO GHTDB.ORDERS ( OrderID, CustomerID, EmployeeID, OrderDate, RequiredDate, ShippedDate, ShipVia, Freight, ShipName, ShipAddress, ShipCity, ShipRegion, ShipPostalCode, ShipCountry ) VALUES (10526, 'WARTH', 4, '5/5/1997 12:00:00 AM', '6/2/1997 12:00:00 AM', '5/15/1997 12:00:00 AM', 2, 58.59, 'Wartian Herkku', 'Torikatu 38', 'Oulu', NULL, '90110', 'Finland' ) ;
+INSERT INTO GHTDB.ORDERS ( OrderID, CustomerID, EmployeeID, OrderDate, RequiredDate, ShippedDate, ShipVia, Freight, ShipName, ShipAddress, ShipCity, ShipRegion, ShipPostalCode, ShipCountry ) VALUES (10527, 'QUICK', 7, '5/5/1997 12:00:00 AM', '6/2/1997 12:00:00 AM', '5/7/1997 12:00:00 AM', 1, 41.9, 'QUICK-Stop', 'Taucherstraße 10', 'Cunewalde', NULL, '01307', 'Germany' ) ;
+INSERT INTO GHTDB.ORDERS ( OrderID, CustomerID, EmployeeID, OrderDate, RequiredDate, ShippedDate, ShipVia, Freight, ShipName, ShipAddress, ShipCity, ShipRegion, ShipPostalCode, ShipCountry ) VALUES (10528, 'GREAL', 6, '5/6/1997 12:00:00 AM', '5/20/1997 12:00:00 AM', '5/9/1997 12:00:00 AM', 2, 3.35, 'Great Lakes Food Market', '2732 Baker Blvd.', 'Eugene', 'OR', '97403', 'USA' ) ;
+INSERT INTO GHTDB.ORDERS ( OrderID, CustomerID, EmployeeID, OrderDate, RequiredDate, ShippedDate, ShipVia, Freight, ShipName, ShipAddress, ShipCity, ShipRegion, ShipPostalCode, ShipCountry ) VALUES (10529, 'MAISD', 5, '5/7/1997 12:00:00 AM', '6/4/1997 12:00:00 AM', '5/9/1997 12:00:00 AM', 2, 66.69, 'Maison Dewey', 'Rue Joseph-Bens 532', 'Bruxelles', NULL, 'B-1180', 'Belgium' ) ;
+INSERT INTO GHTDB.ORDERS ( OrderID, CustomerID, EmployeeID, OrderDate, RequiredDate, ShippedDate, ShipVia, Freight, ShipName, ShipAddress, ShipCity, ShipRegion, ShipPostalCode, ShipCountry ) VALUES (10530, 'PICCO', 3, '5/8/1997 12:00:00 AM', '6/5/1997 12:00:00 AM', '5/12/1997 12:00:00 AM', 2, 339.22, 'Piccolo und mehr', 'Geislweg 14', 'Salzburg', NULL, '5020', 'Austria' ) ;
+INSERT INTO GHTDB.ORDERS ( OrderID, CustomerID, EmployeeID, OrderDate, RequiredDate, ShippedDate, ShipVia, Freight, ShipName, ShipAddress, ShipCity, ShipRegion, ShipPostalCode, ShipCountry ) VALUES (10531, 'OCEAN', 7, '5/8/1997 12:00:00 AM', '6/5/1997 12:00:00 AM', '5/19/1997 12:00:00 AM', 1, 8.12, 'Océano Atlántico Ltda.', 'Ing. Gustavo Moncada 8585 Piso 20-A', 'Buenos Aires', NULL, '1010', 'Argentina' ) ;
+INSERT INTO GHTDB.ORDERS ( OrderID, CustomerID, EmployeeID, OrderDate, RequiredDate, ShippedDate, ShipVia, Freight, ShipName, ShipAddress, ShipCity, ShipRegion, ShipPostalCode, ShipCountry ) VALUES (10532, 'EASTC', 7, '5/9/1997 12:00:00 AM', '6/6/1997 12:00:00 AM', '5/12/1997 12:00:00 AM', 3, 74.46, 'Eastern Connection', '35 King George', 'London', NULL, 'WX3 6FW', 'UK' ) ;
+INSERT INTO GHTDB.ORDERS ( OrderID, CustomerID, EmployeeID, OrderDate, RequiredDate, ShippedDate, ShipVia, Freight, ShipName, ShipAddress, ShipCity, ShipRegion, ShipPostalCode, ShipCountry ) VALUES (10533, 'FOLKO', 8, '5/12/1997 12:00:00 AM', '6/9/1997 12:00:00 AM', '5/22/1997 12:00:00 AM', 1, 188.04, 'Folk och fä HB', 'Ã…kergatan 24', 'Bräcke', NULL, 'S-844 67', 'Sweden' ) ;
+INSERT INTO GHTDB.ORDERS ( OrderID, CustomerID, EmployeeID, OrderDate, RequiredDate, ShippedDate, ShipVia, Freight, ShipName, ShipAddress, ShipCity, ShipRegion, ShipPostalCode, ShipCountry ) VALUES (10534, 'LEHMS', 8, '5/12/1997 12:00:00 AM', '6/9/1997 12:00:00 AM', '5/14/1997 12:00:00 AM', 2, 27.94, 'Lehmanns Marktstand', 'Magazinweg 7', 'Frankfurt a.M.', NULL, '60528', 'Germany' ) ;
+INSERT INTO GHTDB.ORDERS ( OrderID, CustomerID, EmployeeID, OrderDate, RequiredDate, ShippedDate, ShipVia, Freight, ShipName, ShipAddress, ShipCity, ShipRegion, ShipPostalCode, ShipCountry ) VALUES (10535, 'ANTON', 4, '5/13/1997 12:00:00 AM', '6/10/1997 12:00:00 AM', '5/21/1997 12:00:00 AM', 1, 15.64, 'Antonio Moreno Taquería', 'Mataderos  2312', 'México D.F.', NULL, '05023', 'Mexico' ) ;
+INSERT INTO GHTDB.ORDERS ( OrderID, CustomerID, EmployeeID, OrderDate, RequiredDate, ShippedDate, ShipVia, Freight, ShipName, ShipAddress, ShipCity, ShipRegion, ShipPostalCode, ShipCountry ) VALUES (10536, 'LEHMS', 3, '5/14/1997 12:00:00 AM', '6/11/1997 12:00:00 AM', '6/6/1997 12:00:00 AM', 2, 58.88, 'Lehmanns Marktstand', 'Magazinweg 7', 'Frankfurt a.M.', NULL, '60528', 'Germany' ) ;
+INSERT INTO GHTDB.ORDERS ( OrderID, CustomerID, EmployeeID, OrderDate, RequiredDate, ShippedDate, ShipVia, Freight, ShipName, ShipAddress, ShipCity, ShipRegion, ShipPostalCode, ShipCountry ) VALUES (10537, 'RICSU', 1, '5/14/1997 12:00:00 AM', '5/28/1997 12:00:00 AM', '5/19/1997 12:00:00 AM', 1, 78.85, 'Richter Supermarkt', 'Starenweg 5', 'Genève', NULL, '1204', 'Switzerland' ) ;
+INSERT INTO GHTDB.ORDERS ( OrderID, CustomerID, EmployeeID, OrderDate, RequiredDate, ShippedDate, ShipVia, Freight, ShipName, ShipAddress, ShipCity, ShipRegion, ShipPostalCode, ShipCountry ) VALUES (10538, 'BSBEV', 9, '5/15/1997 12:00:00 AM', '6/12/1997 12:00:00 AM', '5/16/1997 12:00:00 AM', 3, 4.87, 'B''s Beverages', 'Fauntleroy Circus', 'London', NULL, 'EC2 5NT', 'UK' ) ;
+INSERT INTO GHTDB.ORDERS ( OrderID, CustomerID, EmployeeID, OrderDate, RequiredDate, ShippedDate, ShipVia, Freight, ShipName, ShipAddress, ShipCity, ShipRegion, ShipPostalCode, ShipCountry ) VALUES (10539, 'BSBEV', 6, '5/16/1997 12:00:00 AM', '6/13/1997 12:00:00 AM', '5/23/1997 12:00:00 AM', 3, 12.36, 'B''s Beverages', 'Fauntleroy Circus', 'London', NULL, 'EC2 5NT', 'UK' ) ;
+INSERT INTO GHTDB.ORDERS ( OrderID, CustomerID, EmployeeID, OrderDate, RequiredDate, ShippedDate, ShipVia, Freight, ShipName, ShipAddress, ShipCity, ShipRegion, ShipPostalCode, ShipCountry ) VALUES (10540, 'QUICK', 3, '5/19/1997 12:00:00 AM', '6/16/1997 12:00:00 AM', '6/13/1997 12:00:00 AM', 3, 1007.64, 'QUICK-Stop', 'Taucherstraße 10', 'Cunewalde', NULL, '01307', 'Germany' ) ;
+INSERT INTO GHTDB.ORDERS ( OrderID, CustomerID, EmployeeID, OrderDate, RequiredDate, ShippedDate, ShipVia, Freight, ShipName, ShipAddress, ShipCity, ShipRegion, ShipPostalCode, ShipCountry ) VALUES (10541, 'HANAR', 2, '5/19/1997 12:00:00 AM', '6/16/1997 12:00:00 AM', '5/29/1997 12:00:00 AM', 1, 68.65, 'Hanari Carnes', 'Rua do Paço, 67', 'Rio de Janeiro', 'RJ', '05454-876', 'Brazil' ) ;
+INSERT INTO GHTDB.ORDERS ( OrderID, CustomerID, EmployeeID, OrderDate, RequiredDate, ShippedDate, ShipVia, Freight, ShipName, ShipAddress, ShipCity, ShipRegion, ShipPostalCode, ShipCountry ) VALUES (10542, 'KOENE', 1, '5/20/1997 12:00:00 AM', '6/17/1997 12:00:00 AM', '5/26/1997 12:00:00 AM', 3, 10.95, 'Königlich Essen', 'Maubelstr. 90', 'Brandenburg', NULL, '14776', 'Germany' ) ;
+INSERT INTO GHTDB.ORDERS ( OrderID, CustomerID, EmployeeID, OrderDate, RequiredDate, ShippedDate, ShipVia, Freight, ShipName, ShipAddress, ShipCity, ShipRegion, ShipPostalCode, ShipCountry ) VALUES (10543, 'LILAS', 8, '5/21/1997 12:00:00 AM', '6/18/1997 12:00:00 AM', '5/23/1997 12:00:00 AM', 2, 48.17, 'LILA-Supermercado', 'Carrera 52 con Ave. Bolívar #65-98 Llano Largo', 'Barquisimeto', 'Lara', '3508', 'Venezuela' ) ;
+INSERT INTO GHTDB.ORDERS ( OrderID, CustomerID, EmployeeID, OrderDate, RequiredDate, ShippedDate, ShipVia, Freight, ShipName, ShipAddress, ShipCity, ShipRegion, ShipPostalCode, ShipCountry ) VALUES (10544, 'LONEP', 4, '5/21/1997 12:00:00 AM', '6/18/1997 12:00:00 AM', '5/30/1997 12:00:00 AM', 1, 24.91, 'Lonesome Pine Restaurant', '89 Chiaroscuro Rd.', 'Portland', 'OR', '97219', 'USA' ) ;
+INSERT INTO GHTDB.ORDERS ( OrderID, CustomerID, EmployeeID, OrderDate, RequiredDate, ShippedDate, ShipVia, Freight, ShipName, ShipAddress, ShipCity, ShipRegion, ShipPostalCode, ShipCountry ) VALUES (10545, 'LAZYK', 8, '5/22/1997 12:00:00 AM', '6/19/1997 12:00:00 AM', '6/26/1997 12:00:00 AM', 2, 11.92, 'Lazy K Kountry Store', '12 Orchestra Terrace', 'Walla Walla', 'WA', '99362', 'USA' ) ;
+INSERT INTO GHTDB.ORDERS ( OrderID, CustomerID, EmployeeID, OrderDate, RequiredDate, ShippedDate, ShipVia, Freight, ShipName, ShipAddress, ShipCity, ShipRegion, ShipPostalCode, ShipCountry ) VALUES (10546, 'VICTE', 1, '5/23/1997 12:00:00 AM', '6/20/1997 12:00:00 AM', '5/27/1997 12:00:00 AM', 3, 194.72, 'Victuailles en stock', '2, rue du Commerce', 'Lyon', NULL, '69004', 'France' ) ;
+INSERT INTO GHTDB.ORDERS ( OrderID, CustomerID, EmployeeID, OrderDate, RequiredDate, ShippedDate, ShipVia, Freight, ShipName, ShipAddress, ShipCity, ShipRegion, ShipPostalCode, ShipCountry ) VALUES (10547, 'SEVES', 3, '5/23/1997 12:00:00 AM', '6/20/1997 12:00:00 AM', '6/2/1997 12:00:00 AM', 2, 178.43, 'Seven Seas Imports', '90 Wadhurst Rd.', 'London', NULL, 'OX15 4NB', 'UK' ) ;
+INSERT INTO GHTDB.ORDERS ( OrderID, CustomerID, EmployeeID, OrderDate, RequiredDate, ShippedDate, ShipVia, Freight, ShipName, ShipAddress, ShipCity, ShipRegion, ShipPostalCode, ShipCountry ) VALUES (10548, 'TOMSP', 3, '5/26/1997 12:00:00 AM', '6/23/1997 12:00:00 AM', '6/2/1997 12:00:00 AM', 2, 1.43, 'Toms Spezialitäten', 'Luisenstr. 48', 'Münster', NULL, '44087', 'Germany' ) ;
+INSERT INTO GHTDB.ORDERS ( OrderID, CustomerID, EmployeeID, OrderDate, RequiredDate, ShippedDate, ShipVia, Freight, ShipName, ShipAddress, ShipCity, ShipRegion, ShipPostalCode, ShipCountry ) VALUES (10549, 'QUICK', 5, '5/27/1997 12:00:00 AM', '6/10/1997 12:00:00 AM', '5/30/1997 12:00:00 AM', 1, 171.24, 'QUICK-Stop', 'Taucherstraße 10', 'Cunewalde', NULL, '01307', 'Germany' ) ;
+INSERT INTO GHTDB.ORDERS ( OrderID, CustomerID, EmployeeID, OrderDate, RequiredDate, ShippedDate, ShipVia, Freight, ShipName, ShipAddress, ShipCity, ShipRegion, ShipPostalCode, ShipCountry ) VALUES (10550, 'GODOS', 7, '5/28/1997 12:00:00 AM', '6/25/1997 12:00:00 AM', '6/6/1997 12:00:00 AM', 3, 4.32, 'Godos Cocina Típica', 'C/ Romero, 33', 'Sevilla', NULL, '41101', 'Spain' ) ;
+INSERT INTO GHTDB.ORDERS ( OrderID, CustomerID, EmployeeID, OrderDate, RequiredDate, ShippedDate, ShipVia, Freight, ShipName, ShipAddress, ShipCity, ShipRegion, ShipPostalCode, ShipCountry ) VALUES (10551, 'FURIB', 4, '5/28/1997 12:00:00 AM', '7/9/1997 12:00:00 AM', '6/6/1997 12:00:00 AM', 3, 72.95, 'Furia Bacalhau e Frutos do Mar', 'Jardim das rosas n. 32', 'Lisboa', NULL, '1675', 'Portugal' ) ;
+INSERT INTO GHTDB.ORDERS ( OrderID, CustomerID, EmployeeID, OrderDate, RequiredDate, ShippedDate, ShipVia, Freight, ShipName, ShipAddress, ShipCity, ShipRegion, ShipPostalCode, ShipCountry ) VALUES (10552, 'HILAA', 2, '5/29/1997 12:00:00 AM', '6/26/1997 12:00:00 AM', '6/5/1997 12:00:00 AM', 1, 83.22, 'HILARION-Abastos', 'Carrera 22 con Ave. Carlos Soublette #8-35', 'San Cristóbal', 'Táchira', '5022', 'Venezuela' ) ;
+INSERT INTO GHTDB.ORDERS ( OrderID, CustomerID, EmployeeID, OrderDate, RequiredDate, ShippedDate, ShipVia, Freight, ShipName, ShipAddress, ShipCity, ShipRegion, ShipPostalCode, ShipCountry ) VALUES (10553, 'WARTH', 2, '5/30/1997 12:00:00 AM', '6/27/1997 12:00:00 AM', '6/3/1997 12:00:00 AM', 2, 149.49, 'Wartian Herkku', 'Torikatu 38', 'Oulu', NULL, '90110', 'Finland' ) ;
+INSERT INTO GHTDB.ORDERS ( OrderID, CustomerID, EmployeeID, OrderDate, RequiredDate, ShippedDate, ShipVia, Freight, ShipName, ShipAddress, ShipCity, ShipRegion, ShipPostalCode, ShipCountry ) VALUES (10554, 'OTTIK', 4, '5/30/1997 12:00:00 AM', '6/27/1997 12:00:00 AM', '6/5/1997 12:00:00 AM', 3, 120.97, 'Ottilies Käseladen', 'Mehrheimerstr. 369', 'Köln', NULL, '50739', 'Germany' ) ;
+INSERT INTO GHTDB.ORDERS ( OrderID, CustomerID, EmployeeID, OrderDate, RequiredDate, ShippedDate, ShipVia, Freight, ShipName, ShipAddress, ShipCity, ShipRegion, ShipPostalCode, ShipCountry ) VALUES (10555, 'SAVEA', 6, '6/2/1997 12:00:00 AM', '6/30/1997 12:00:00 AM', '6/4/1997 12:00:00 AM', 3, 252.49, 'Save-a-lot Markets', '187 Suffolk Ln.', 'Boise', 'ID', '83720', 'USA' ) ;
+INSERT INTO GHTDB.ORDERS ( OrderID, CustomerID, EmployeeID, OrderDate, RequiredDate, ShippedDate, ShipVia, Freight, ShipName, ShipAddress, ShipCity, ShipRegion, ShipPostalCode, ShipCountry ) VALUES (10556, 'SIMOB', 2, '6/3/1997 12:00:00 AM', '7/15/1997 12:00:00 AM', '6/13/1997 12:00:00 AM', 1, 9.8, 'Simons bistro', 'Vinbæltet 34', 'Kobenhavn', NULL, '1734', 'Denmark' ) ;
+INSERT INTO GHTDB.ORDERS ( OrderID, CustomerID, EmployeeID, OrderDate, RequiredDate, ShippedDate, ShipVia, Freight, ShipName, ShipAddress, ShipCity, ShipRegion, ShipPostalCode, ShipCountry ) VALUES (10557, 'LEHMS', 9, '6/3/1997 12:00:00 AM', '6/17/1997 12:00:00 AM', '6/6/1997 12:00:00 AM', 2, 96.72, 'Lehmanns Marktstand', 'Magazinweg 7', 'Frankfurt a.M.', NULL, '60528', 'Germany' ) ;
+INSERT INTO GHTDB.ORDERS ( OrderID, CustomerID, EmployeeID, OrderDate, RequiredDate, ShippedDate, ShipVia, Freight, ShipName, ShipAddress, ShipCity, ShipRegion, ShipPostalCode, ShipCountry ) VALUES (10558, 'AROUT', 1, '6/4/1997 12:00:00 AM', '7/2/1997 12:00:00 AM', '6/10/1997 12:00:00 AM', 2, 72.97, 'Around the Horn', 'Brook Farm Stratford St. Mary', 'Colchester', 'Essex', 'CO7 6JX', 'UK' ) ;
+INSERT INTO GHTDB.ORDERS ( OrderID, CustomerID, EmployeeID, OrderDate, RequiredDate, ShippedDate, ShipVia, Freight, ShipName, ShipAddress, ShipCity, ShipRegion, ShipPostalCode, ShipCountry ) VALUES (10559, 'BLONP', 6, '6/5/1997 12:00:00 AM', '7/3/1997 12:00:00 AM', '6/13/1997 12:00:00 AM', 1, 8.05, 'Blondel père et fils', '24, place Kléber', 'Strasbourg', NULL, '67000', 'France' ) ;
+INSERT INTO GHTDB.ORDERS ( OrderID, CustomerID, EmployeeID, OrderDate, RequiredDate, ShippedDate, ShipVia, Freight, ShipName, ShipAddress, ShipCity, ShipRegion, ShipPostalCode, ShipCountry ) VALUES (10560, 'FRANK', 8, '6/6/1997 12:00:00 AM', '7/4/1997 12:00:00 AM', '6/9/1997 12:00:00 AM', 1, 36.65, 'Frankenversand', 'Berliner Platz 43', 'München', NULL, '80805', 'Germany' ) ;
+INSERT INTO GHTDB.ORDERS ( OrderID, CustomerID, EmployeeID, OrderDate, RequiredDate, ShippedDate, ShipVia, Freight, ShipName, ShipAddress, ShipCity, ShipRegion, ShipPostalCode, ShipCountry ) VALUES (10561, 'FOLKO', 2, '6/6/1997 12:00:00 AM', '7/4/1997 12:00:00 AM', '6/9/1997 12:00:00 AM', 2, 242.21, 'Folk och fä HB', 'Ã…kergatan 24', 'Bräcke', NULL, 'S-844 67', 'Sweden' ) ;
+INSERT INTO GHTDB.ORDERS ( OrderID, CustomerID, EmployeeID, OrderDate, RequiredDate, ShippedDate, ShipVia, Freight, ShipName, ShipAddress, ShipCity, ShipRegion, ShipPostalCode, ShipCountry ) VALUES (10562, 'REGGC', 1, '6/9/1997 12:00:00 AM', '7/7/1997 12:00:00 AM', '6/12/1997 12:00:00 AM', 1, 22.95, 'Reggiani Caseifici', 'Strada Provinciale 124', 'Reggio Emilia', NULL, '42100', 'Italy' ) ;
+INSERT INTO GHTDB.ORDERS ( OrderID, CustomerID, EmployeeID, OrderDate, RequiredDate, ShippedDate, ShipVia, Freight, ShipName, ShipAddress, ShipCity, ShipRegion, ShipPostalCode, ShipCountry ) VALUES (10563, 'RICAR', 2, '6/10/1997 12:00:00 AM', '7/22/1997 12:00:00 AM', '6/24/1997 12:00:00 AM', 2, 60.43, 'Ricardo Adocicados', 'Av. Copacabana, 267', 'Rio de Janeiro', 'RJ', '02389-890', 'Brazil' ) ;
+INSERT INTO GHTDB.ORDERS ( OrderID, CustomerID, EmployeeID, OrderDate, RequiredDate, ShippedDate, ShipVia, Freight, ShipName, ShipAddress, ShipCity, ShipRegion, ShipPostalCode, ShipCountry ) VALUES (10564, 'RATTC', 4, '6/10/1997 12:00:00 AM', '7/8/1997 12:00:00 AM', '6/16/1997 12:00:00 AM', 3, 13.75, 'Rattlesnake Canyon Grocery', '2817 Milton Dr.', 'Albuquerque', 'NM', '87110', 'USA' ) ;
+INSERT INTO GHTDB.ORDERS ( OrderID, CustomerID, EmployeeID, OrderDate, RequiredDate, ShippedDate, ShipVia, Freight, ShipName, ShipAddress, ShipCity, ShipRegion, ShipPostalCode, ShipCountry ) VALUES (10565, 'MEREP', 8, '6/11/1997 12:00:00 AM', '7/9/1997 12:00:00 AM', '6/18/1997 12:00:00 AM', 2, 7.15, 'Mère Paillarde', '43 rue St. Laurent', 'Montréal', 'Québec', 'H1J 1C3', 'Canada' ) ;
+INSERT INTO GHTDB.ORDERS ( OrderID, CustomerID, EmployeeID, OrderDate, RequiredDate, ShippedDate, ShipVia, Freight, ShipName, ShipAddress, ShipCity, ShipRegion, ShipPostalCode, ShipCountry ) VALUES (10566, 'BLONP', 9, '6/12/1997 12:00:00 AM', '7/10/1997 12:00:00 AM', '6/18/1997 12:00:00 AM', 1, 88.4, 'Blondel père et fils', '24, place Kléber', 'Strasbourg', NULL, '67000', 'France' ) ;
+INSERT INTO GHTDB.ORDERS ( OrderID, CustomerID, EmployeeID, OrderDate, RequiredDate, ShippedDate, ShipVia, Freight, ShipName, ShipAddress, ShipCity, ShipRegion, ShipPostalCode, ShipCountry ) VALUES (10567, 'HUNGO', 1, '6/12/1997 12:00:00 AM', '7/10/1997 12:00:00 AM', '6/17/1997 12:00:00 AM', 1, 33.97, 'Hungry Owl All-Night Grocers', '8 Johnstown Road', 'Cork', 'Co. Cork', NULL, 'Ireland' ) ;
+INSERT INTO GHTDB.ORDERS ( OrderID, CustomerID, EmployeeID, OrderDate, RequiredDate, ShippedDate, ShipVia, Freight, ShipName, ShipAddress, ShipCity, ShipRegion, ShipPostalCode, ShipCountry ) VALUES (10568, 'GALED', 3, '6/13/1997 12:00:00 AM', '7/11/1997 12:00:00 AM', '7/9/1997 12:00:00 AM', 3, 6.54, 'Galería del gastronómo', 'Rambla de Cataluña, 23', 'Barcelona', NULL, '8022', 'Spain' ) ;
+INSERT INTO GHTDB.ORDERS ( OrderID, CustomerID, EmployeeID, OrderDate, RequiredDate, ShippedDate, ShipVia, Freight, ShipName, ShipAddress, ShipCity, ShipRegion, ShipPostalCode, ShipCountry ) VALUES (10569, 'RATTC', 5, '6/16/1997 12:00:00 AM', '7/14/1997 12:00:00 AM', '7/11/1997 12:00:00 AM', 1, 58.98, 'Rattlesnake Canyon Grocery', '2817 Milton Dr.', 'Albuquerque', 'NM', '87110', 'USA' ) ;
+INSERT INTO GHTDB.ORDERS ( OrderID, CustomerID, EmployeeID, OrderDate, RequiredDate, ShippedDate, ShipVia, Freight, ShipName, ShipAddress, ShipCity, ShipRegion, ShipPostalCode, ShipCountry ) VALUES (10570, 'MEREP', 3, '6/17/1997 12:00:00 AM', '7/15/1997 12:00:00 AM', '6/19/1997 12:00:00 AM', 3, 188.99, 'Mère Paillarde', '43 rue St. Laurent', 'Montréal', 'Québec', 'H1J 1C3', 'Canada' ) ;
+INSERT INTO GHTDB.ORDERS ( OrderID, CustomerID, EmployeeID, OrderDate, RequiredDate, ShippedDate, ShipVia, Freight, ShipName, ShipAddress, ShipCity, ShipRegion, ShipPostalCode, ShipCountry ) VALUES (10571, 'ERNSH', 8, '6/17/1997 12:00:00 AM', '7/29/1997 12:00:00 AM', '7/4/1997 12:00:00 AM', 3, 26.06, 'Ernst Handel', 'Kirchgasse 6', 'Graz', NULL, '8010', 'Austria' ) ;
+INSERT INTO GHTDB.ORDERS ( OrderID, CustomerID, EmployeeID, OrderDate, RequiredDate, ShippedDate, ShipVia, Freight, ShipName, ShipAddress, ShipCity, ShipRegion, ShipPostalCode, ShipCountry ) VALUES (10572, 'BERGS', 3, '6/18/1997 12:00:00 AM', '7/16/1997 12:00:00 AM', '6/25/1997 12:00:00 AM', 2, 116.43, 'Berglunds snabbköp', 'Berguvsvägen  8', 'LuleÃ¥', NULL, 'S-958 22', 'Sweden' ) ;
+INSERT INTO GHTDB.ORDERS ( OrderID, CustomerID, EmployeeID, OrderDate, RequiredDate, ShippedDate, ShipVia, Freight, ShipName, ShipAddress, ShipCity, ShipRegion, ShipPostalCode, ShipCountry ) VALUES (10573, 'ANTON', 7, '6/19/1997 12:00:00 AM', '7/17/1997 12:00:00 AM', '6/20/1997 12:00:00 AM', 3, 84.84, 'Antonio Moreno Taquería', 'Mataderos  2312', 'México D.F.', NULL, '05023', 'Mexico' ) ;
+INSERT INTO GHTDB.ORDERS ( OrderID, CustomerID, EmployeeID, OrderDate, RequiredDate, ShippedDate, ShipVia, Freight, ShipName, ShipAddress, ShipCity, ShipRegion, ShipPostalCode, ShipCountry ) VALUES (10574, 'TRAIH', 4, '6/19/1997 12:00:00 AM', '7/17/1997 12:00:00 AM', '6/30/1997 12:00:00 AM', 2, 37.6, 'Trail''s Head Gourmet Provisioners', '722 DaVinci Blvd.', 'Kirkland', 'WA', '98034', 'USA' ) ;
+INSERT INTO GHTDB.ORDERS ( OrderID, CustomerID, EmployeeID, OrderDate, RequiredDate, ShippedDate, ShipVia, Freight, ShipName, ShipAddress, ShipCity, ShipRegion, ShipPostalCode, ShipCountry ) VALUES (10575, 'MORGK', 5, '6/20/1997 12:00:00 AM', '7/4/1997 12:00:00 AM', '6/30/1997 12:00:00 AM', 1, 127.34, 'Morgenstern Gesundkost', 'Heerstr. 22', 'Leipzig', NULL, '04179', 'Germany' ) ;
+INSERT INTO GHTDB.ORDERS ( OrderID, CustomerID, EmployeeID, OrderDate, RequiredDate, ShippedDate, ShipVia, Freight, ShipName, ShipAddress, ShipCity, ShipRegion, ShipPostalCode, ShipCountry ) VALUES (10576, 'TORTU', 3, '6/23/1997 12:00:00 AM', '7/7/1997 12:00:00 AM', '6/30/1997 12:00:00 AM', 3, 18.56, 'Tortuga Restaurante', 'Avda. Azteca 123', 'México D.F.', NULL, '05033', 'Mexico' ) ;
+INSERT INTO GHTDB.ORDERS ( OrderID, CustomerID, EmployeeID, OrderDate, RequiredDate, ShippedDate, ShipVia, Freight, ShipName, ShipAddress, ShipCity, ShipRegion, ShipPostalCode, ShipCountry ) VALUES (10577, 'TRAIH', 9, '6/23/1997 12:00:00 AM', '8/4/1997 12:00:00 AM', '6/30/1997 12:00:00 AM', 2, 25.41, 'Trail''s Head Gourmet Provisioners', '722 DaVinci Blvd.', 'Kirkland', 'WA', '98034', 'USA' ) ;
+INSERT INTO GHTDB.ORDERS ( OrderID, CustomerID, EmployeeID, OrderDate, RequiredDate, ShippedDate, ShipVia, Freight, ShipName, ShipAddress, ShipCity, ShipRegion, ShipPostalCode, ShipCountry ) VALUES (10578, 'BSBEV', 4, '6/24/1997 12:00:00 AM', '7/22/1997 12:00:00 AM', '7/25/1997 12:00:00 AM', 3, 29.6, 'B''s Beverages', 'Fauntleroy Circus', 'London', NULL, 'EC2 5NT', 'UK' ) ;
+INSERT INTO GHTDB.ORDERS ( OrderID, CustomerID, EmployeeID, OrderDate, RequiredDate, ShippedDate, ShipVia, Freight, ShipName, ShipAddress, ShipCity, ShipRegion, ShipPostalCode, ShipCountry ) VALUES (10579, 'LETSS', 1, '6/25/1997 12:00:00 AM', '7/23/1997 12:00:00 AM', '7/4/1997 12:00:00 AM', 2, 13.73, 'Let''s Stop N Shop', '87 Polk St. Suite 5', 'San Francisco', 'CA', '94117', 'USA' ) ;
+INSERT INTO GHTDB.ORDERS ( OrderID, CustomerID, EmployeeID, OrderDate, RequiredDate, ShippedDate, ShipVia, Freight, ShipName, ShipAddress, ShipCity, ShipRegion, ShipPostalCode, ShipCountry ) VALUES (10580, 'OTTIK', 4, '6/26/1997 12:00:00 AM', '7/24/1997 12:00:00 AM', '7/1/1997 12:00:00 AM', 3, 75.89, 'Ottilies Käseladen', 'Mehrheimerstr. 369', 'Köln', NULL, '50739', 'Germany' ) ;
+INSERT INTO GHTDB.ORDERS ( OrderID, CustomerID, EmployeeID, OrderDate, RequiredDate, ShippedDate, ShipVia, Freight, ShipName, ShipAddress, ShipCity, ShipRegion, ShipPostalCode, ShipCountry ) VALUES (10581, 'FAMIA', 3, '6/26/1997 12:00:00 AM', '7/24/1997 12:00:00 AM', '7/2/1997 12:00:00 AM', 1, 3.01, 'Familia Arquibaldo', 'Rua Orós, 92', 'Sao Paulo', 'SP', '05442-030', 'Brazil' ) ;
+INSERT INTO GHTDB.ORDERS ( OrderID, CustomerID, EmployeeID, OrderDate, RequiredDate, ShippedDate, ShipVia, Freight, ShipName, ShipAddress, ShipCity, ShipRegion, ShipPostalCode, ShipCountry ) VALUES (10582, 'BLAUS', 3, '6/27/1997 12:00:00 AM', '7/25/1997 12:00:00 AM', '7/14/1997 12:00:00 AM', 2, 27.71, 'Blauer See Delikatessen', 'Forsterstr. 57', 'Mannheim', NULL, '68306', 'Germany' ) ;
+INSERT INTO GHTDB.ORDERS ( OrderID, CustomerID, EmployeeID, OrderDate, RequiredDate, ShippedDate, ShipVia, Freight, ShipName, ShipAddress, ShipCity, ShipRegion, ShipPostalCode, ShipCountry ) VALUES (10583, 'WARTH', 2, '6/30/1997 12:00:00 AM', '7/28/1997 12:00:00 AM', '7/4/1997 12:00:00 AM', 2, 7.28, 'Wartian Herkku', 'Torikatu 38', 'Oulu', NULL, '90110', 'Finland' ) ;
+INSERT INTO GHTDB.ORDERS ( OrderID, CustomerID, EmployeeID, OrderDate, RequiredDate, ShippedDate, ShipVia, Freight, ShipName, ShipAddress, ShipCity, ShipRegion, ShipPostalCode, ShipCountry ) VALUES (10584, 'BLONP', 4, '6/30/1997 12:00:00 AM', '7/28/1997 12:00:00 AM', '7/4/1997 12:00:00 AM', 1, 59.14, 'Blondel père et fils', '24, place Kléber', 'Strasbourg', NULL, '67000', 'France' ) ;
+INSERT INTO GHTDB.ORDERS ( OrderID, CustomerID, EmployeeID, OrderDate, RequiredDate, ShippedDate, ShipVia, Freight, ShipName, ShipAddress, ShipCity, ShipRegion, ShipPostalCode, ShipCountry ) VALUES (10585, 'WELLI', 7, '7/1/1997 12:00:00 AM', '7/29/1997 12:00:00 AM', '7/10/1997 12:00:00 AM', 1, 13.41, 'Wellington Importadora', 'Rua do Mercado, 12', 'Resende', 'SP', '08737-363', 'Brazil' ) ;
+INSERT INTO GHTDB.ORDERS ( OrderID, CustomerID, EmployeeID, OrderDate, RequiredDate, ShippedDate, ShipVia, Freight, ShipName, ShipAddress, ShipCity, ShipRegion, ShipPostalCode, ShipCountry ) VALUES (10586, 'REGGC', 9, '7/2/1997 12:00:00 AM', '7/30/1997 12:00:00 AM', '7/9/1997 12:00:00 AM', 1, 0.48, 'Reggiani Caseifici', 'Strada Provinciale 124', 'Reggio Emilia', NULL, '42100', 'Italy' ) ;
+INSERT INTO GHTDB.ORDERS ( OrderID, CustomerID, EmployeeID, OrderDate, RequiredDate, ShippedDate, ShipVia, Freight, ShipName, ShipAddress, ShipCity, ShipRegion, ShipPostalCode, ShipCountry ) VALUES (10587, 'QUEDE', 1, '7/2/1997 12:00:00 AM', '7/30/1997 12:00:00 AM', '7/9/1997 12:00:00 AM', 1, 62.52, 'Que Delícia', 'Rua da Panificadora, 12', 'Rio de Janeiro', 'RJ', '02389-673', 'Brazil' ) ;
+INSERT INTO GHTDB.ORDERS ( OrderID, CustomerID, EmployeeID, OrderDate, RequiredDate, ShippedDate, ShipVia, Freight, ShipName, ShipAddress, ShipCity, ShipRegion, ShipPostalCode, ShipCountry ) VALUES (10588, 'QUICK', 2, '7/3/1997 12:00:00 AM', '7/31/1997 12:00:00 AM', '7/10/1997 12:00:00 AM', 3, 194.67, 'QUICK-Stop', 'Taucherstraße 10', 'Cunewalde', NULL, '01307', 'Germany' ) ;
+INSERT INTO GHTDB.ORDERS ( OrderID, CustomerID, EmployeeID, OrderDate, RequiredDate, ShippedDate, ShipVia, Freight, ShipName, ShipAddress, ShipCity, ShipRegion, ShipPostalCode, ShipCountry ) VALUES (10589, 'GREAL', 8, '7/4/1997 12:00:00 AM', '8/1/1997 12:00:00 AM', '7/14/1997 12:00:00 AM', 2, 4.42, 'Great Lakes Food Market', '2732 Baker Blvd.', 'Eugene', 'OR', '97403', 'USA' ) ;
+INSERT INTO GHTDB.ORDERS ( OrderID, CustomerID, EmployeeID, OrderDate, RequiredDate, ShippedDate, ShipVia, Freight, ShipName, ShipAddress, ShipCity, ShipRegion, ShipPostalCode, ShipCountry ) VALUES (10590, 'MEREP', 4, '7/7/1997 12:00:00 AM', '8/4/1997 12:00:00 AM', '7/14/1997 12:00:00 AM', 3, 44.77, 'Mère Paillarde', '43 rue St. Laurent', 'Montréal', 'Québec', 'H1J 1C3', 'Canada' ) ;
+INSERT INTO GHTDB.ORDERS ( OrderID, CustomerID, EmployeeID, OrderDate, RequiredDate, ShippedDate, ShipVia, Freight, ShipName, ShipAddress, ShipCity, ShipRegion, ShipPostalCode, ShipCountry ) VALUES (10591, 'VAFFE', 1, '7/7/1997 12:00:00 AM', '7/21/1997 12:00:00 AM', '7/16/1997 12:00:00 AM', 1, 55.92, 'Vaffeljernet', 'Smagsloget 45', 'Ã…rhus', NULL, '8200', 'Denmark' ) ;
+INSERT INTO GHTDB.ORDERS ( OrderID, CustomerID, EmployeeID, OrderDate, RequiredDate, ShippedDate, ShipVia, Freight, ShipName, ShipAddress, ShipCity, ShipRegion, ShipPostalCode, ShipCountry ) VALUES (10592, 'LEHMS', 3, '7/8/1997 12:00:00 AM', '8/5/1997 12:00:00 AM', '7/16/1997 12:00:00 AM', 1, 32.1, 'Lehmanns Marktstand', 'Magazinweg 7', 'Frankfurt a.M.', NULL, '60528', 'Germany' ) ;
+INSERT INTO GHTDB.ORDERS ( OrderID, CustomerID, EmployeeID, OrderDate, RequiredDate, ShippedDate, ShipVia, Freight, ShipName, ShipAddress, ShipCity, ShipRegion, ShipPostalCode, ShipCountry ) VALUES (10593, 'LEHMS', 7, '7/9/1997 12:00:00 AM', '8/6/1997 12:00:00 AM', '8/13/1997 12:00:00 AM', 2, 174.2, 'Lehmanns Marktstand', 'Magazinweg 7', 'Frankfurt a.M.', NULL, '60528', 'Germany' ) ;
+INSERT INTO GHTDB.ORDERS ( OrderID, CustomerID, EmployeeID, OrderDate, RequiredDate, ShippedDate, ShipVia, Freight, ShipName, ShipAddress, ShipCity, ShipRegion, ShipPostalCode, ShipCountry ) VALUES (10594, 'OLDWO', 3, '7/9/1997 12:00:00 AM', '8/6/1997 12:00:00 AM', '7/16/1997 12:00:00 AM', 2, 5.24, 'Old World Delicatessen', '2743 Bering St.', 'Anchorage', 'AK', '99508', 'USA' ) ;
+INSERT INTO GHTDB.ORDERS ( OrderID, CustomerID, EmployeeID, OrderDate, RequiredDate, ShippedDate, ShipVia, Freight, ShipName, ShipAddress, ShipCity, ShipRegion, ShipPostalCode, ShipCountry ) VALUES (10595, 'ERNSH', 2, '7/10/1997 12:00:00 AM', '8/7/1997 12:00:00 AM', '7/14/1997 12:00:00 AM', 1, 96.78, 'Ernst Handel', 'Kirchgasse 6', 'Graz', NULL, '8010', 'Austria' ) ;
+INSERT INTO GHTDB.ORDERS ( OrderID, CustomerID, EmployeeID, OrderDate, RequiredDate, ShippedDate, ShipVia, Freight, ShipName, ShipAddress, ShipCity, ShipRegion, ShipPostalCode, ShipCountry ) VALUES (10596, 'WHITC', 8, '7/11/1997 12:00:00 AM', '8/8/1997 12:00:00 AM', '8/12/1997 12:00:00 AM', 1, 16.34, 'White Clover Markets', '1029 - 12th Ave. S.', 'Seattle', 'WA', '98124', 'USA' ) ;
+INSERT INTO GHTDB.ORDERS ( OrderID, CustomerID, EmployeeID, OrderDate, RequiredDate, ShippedDate, ShipVia, Freight, ShipName, ShipAddress, ShipCity, ShipRegion, ShipPostalCode, ShipCountry ) VALUES (10597, 'PICCO', 7, '7/11/1997 12:00:00 AM', '8/8/1997 12:00:00 AM', '7/18/1997 12:00:00 AM', 3, 35.12, 'Piccolo und mehr', 'Geislweg 14', 'Salzburg', NULL, '5020', 'Austria' ) ;
+INSERT INTO GHTDB.ORDERS ( OrderID, CustomerID, EmployeeID, OrderDate, RequiredDate, ShippedDate, ShipVia, Freight, ShipName, ShipAddress, ShipCity, ShipRegion, ShipPostalCode, ShipCountry ) VALUES (10598, 'RATTC', 1, '7/14/1997 12:00:00 AM', '8/11/1997 12:00:00 AM', '7/18/1997 12:00:00 AM', 3, 44.42, 'Rattlesnake Canyon Grocery', '2817 Milton Dr.', 'Albuquerque', 'NM', '87110', 'USA' ) ;
+INSERT INTO GHTDB.ORDERS ( OrderID, CustomerID, EmployeeID, OrderDate, RequiredDate, ShippedDate, ShipVia, Freight, ShipName, ShipAddress, ShipCity, ShipRegion, ShipPostalCode, ShipCountry ) VALUES (10599, 'BSBEV', 6, '7/15/1997 12:00:00 AM', '8/26/1997 12:00:00 AM', '7/21/1997 12:00:00 AM', 3, 29.98, 'B''s Beverages', 'Fauntleroy Circus', 'London', NULL, 'EC2 5NT', 'UK' ) ;
+INSERT INTO GHTDB.ORDERS ( OrderID, CustomerID, EmployeeID, OrderDate, RequiredDate, ShippedDate, ShipVia, Freight, ShipName, ShipAddress, ShipCity, ShipRegion, ShipPostalCode, ShipCountry ) VALUES (10600, 'HUNGC', 4, '7/16/1997 12:00:00 AM', '8/13/1997 12:00:00 AM', '7/21/1997 12:00:00 AM', 1, 45.13, 'Hungry Coyote Import Store', 'City Center Plaza 516 Main St.', 'Elgin', 'OR', '97827', 'USA' ) ;
+INSERT INTO GHTDB.ORDERS ( OrderID, CustomerID, EmployeeID, OrderDate, RequiredDate, ShippedDate, ShipVia, Freight, ShipName, ShipAddress, ShipCity, ShipRegion, ShipPostalCode, ShipCountry ) VALUES (10601, 'HILAA', 7, '7/16/1997 12:00:00 AM', '8/27/1997 12:00:00 AM', '7/22/1997 12:00:00 AM', 1, 58.3, 'HILARION-Abastos', 'Carrera 22 con Ave. Carlos Soublette #8-35', 'San Cristóbal', 'Táchira', '5022', 'Venezuela' ) ;
+INSERT INTO GHTDB.ORDERS ( OrderID, CustomerID, EmployeeID, OrderDate, RequiredDate, ShippedDate, ShipVia, Freight, ShipName, ShipAddress, ShipCity, ShipRegion, ShipPostalCode, ShipCountry ) VALUES (10602, 'VAFFE', 8, '7/17/1997 12:00:00 AM', '8/14/1997 12:00:00 AM', '7/22/1997 12:00:00 AM', 2, 2.92, 'Vaffeljernet', 'Smagsloget 45', 'Ã…rhus', NULL, '8200', 'Denmark' ) ;
+INSERT INTO GHTDB.ORDERS ( OrderID, CustomerID, EmployeeID, OrderDate, RequiredDate, ShippedDate, ShipVia, Freight, ShipName, ShipAddress, ShipCity, ShipRegion, ShipPostalCode, ShipCountry ) VALUES (10603, 'SAVEA', 8, '7/18/1997 12:00:00 AM', '8/15/1997 12:00:00 AM', '8/8/1997 12:00:00 AM', 2, 48.77, 'Save-a-lot Markets', '187 Suffolk Ln.', 'Boise', 'ID', '83720', 'USA' ) ;
+INSERT INTO GHTDB.ORDERS ( OrderID, CustomerID, EmployeeID, OrderDate, RequiredDate, ShippedDate, ShipVia, Freight, ShipName, ShipAddress, ShipCity, ShipRegion, ShipPostalCode, ShipCountry ) VALUES (10604, 'FURIB', 1, '7/18/1997 12:00:00 AM', '8/15/1997 12:00:00 AM', '7/29/1997 12:00:00 AM', 1, 7.46, 'Furia Bacalhau e Frutos do Mar', 'Jardim das rosas n. 32', 'Lisboa', NULL, '1675', 'Portugal' ) ;
+INSERT INTO GHTDB.ORDERS ( OrderID, CustomerID, EmployeeID, OrderDate, RequiredDate, ShippedDate, ShipVia, Freight, ShipName, ShipAddress, ShipCity, ShipRegion, ShipPostalCode, ShipCountry ) VALUES (10605, 'MEREP', 1, '7/21/1997 12:00:00 AM', '8/18/1997 12:00:00 AM', '7/29/1997 12:00:00 AM', 2, 379.13, 'Mère Paillarde', '43 rue St. Laurent', 'Montréal', 'Québec', 'H1J 1C3', 'Canada' ) ;
+INSERT INTO GHTDB.ORDERS ( OrderID, CustomerID, EmployeeID, OrderDate, RequiredDate, ShippedDate, ShipVia, Freight, ShipName, ShipAddress, ShipCity, ShipRegion, ShipPostalCode, ShipCountry ) VALUES (10606, 'TRADH', 4, '7/22/1997 12:00:00 AM', '8/19/1997 12:00:00 AM', '7/31/1997 12:00:00 AM', 3, 79.4, 'Tradiçao Hipermercados', 'Av. Inês de Castro, 414', 'Sao Paulo', 'SP', '05634-030', 'Brazil' ) ;
+INSERT INTO GHTDB.ORDERS ( OrderID, CustomerID, EmployeeID, OrderDate, RequiredDate, ShippedDate, ShipVia, Freight, ShipName, ShipAddress, ShipCity, ShipRegion, ShipPostalCode, ShipCountry ) VALUES (10607, 'SAVEA', 5, '7/22/1997 12:00:00 AM', '8/19/1997 12:00:00 AM', '7/25/1997 12:00:00 AM', 1, 200.24, 'Save-a-lot Markets', '187 Suffolk Ln.', 'Boise', 'ID', '83720', 'USA' ) ;
+INSERT INTO GHTDB.ORDERS ( OrderID, CustomerID, EmployeeID, OrderDate, RequiredDate, ShippedDate, ShipVia, Freight, ShipName, ShipAddress, ShipCity, ShipRegion, ShipPostalCode, ShipCountry ) VALUES (10608, 'TOMSP', 4, '7/23/1997 12:00:00 AM', '8/20/1997 12:00:00 AM', '8/1/1997 12:00:00 AM', 2, 27.79, 'Toms Spezialitäten', 'Luisenstr. 48', 'Münster', NULL, '44087', 'Germany' ) ;
+INSERT INTO GHTDB.ORDERS ( OrderID, CustomerID, EmployeeID, OrderDate, RequiredDate, ShippedDate, ShipVia, Freight, ShipName, ShipAddress, ShipCity, ShipRegion, ShipPostalCode, ShipCountry ) VALUES (10609, 'DUMON', 7, '7/24/1997 12:00:00 AM', '8/21/1997 12:00:00 AM', '7/30/1997 12:00:00 AM', 2, 1.85, 'Du monde entier', '67, rue des Cinquante Otages', 'Nantes', NULL, '44000', 'France' ) ;
+INSERT INTO GHTDB.ORDERS ( OrderID, CustomerID, EmployeeID, OrderDate, RequiredDate, ShippedDate, ShipVia, Freight, ShipName, ShipAddress, ShipCity, ShipRegion, ShipPostalCode, ShipCountry ) VALUES (10610, 'LAMAI', 8, '7/25/1997 12:00:00 AM', '8/22/1997 12:00:00 AM', '8/6/1997 12:00:00 AM', 1, 26.78, 'La maison d''Asie', '1 rue Alsace-Lorraine', 'Toulouse', NULL, '31000', 'France' ) ;
+INSERT INTO GHTDB.ORDERS ( OrderID, CustomerID, EmployeeID, OrderDate, RequiredDate, ShippedDate, ShipVia, Freight, ShipName, ShipAddress, ShipCity, ShipRegion, ShipPostalCode, ShipCountry ) VALUES (10611, 'WOLZA', 6, '7/25/1997 12:00:00 AM', '8/22/1997 12:00:00 AM', '8/1/1997 12:00:00 AM', 2, 80.65, 'Wolski Zajazd', 'ul. Filtrowa 68', 'Warszawa', NULL, '01-012', 'Poland' ) ;
+INSERT INTO GHTDB.ORDERS ( OrderID, CustomerID, EmployeeID, OrderDate, RequiredDate, ShippedDate, ShipVia, Freight, ShipName, ShipAddress, ShipCity, ShipRegion, ShipPostalCode, ShipCountry ) VALUES (10612, 'SAVEA', 1, '7/28/1997 12:00:00 AM', '8/25/1997 12:00:00 AM', '8/1/1997 12:00:00 AM', 2, 544.08, 'Save-a-lot Markets', '187 Suffolk Ln.', 'Boise', 'ID', '83720', 'USA' ) ;
+INSERT INTO GHTDB.ORDERS ( OrderID, CustomerID, EmployeeID, OrderDate, RequiredDate, ShippedDate, ShipVia, Freight, ShipName, ShipAddress, ShipCity, ShipRegion, ShipPostalCode, ShipCountry ) VALUES (10613, 'HILAA', 4, '7/29/1997 12:00:00 AM', '8/26/1997 12:00:00 AM', '8/1/1997 12:00:00 AM', 2, 8.11, 'HILARION-Abastos', 'Carrera 22 con Ave. Carlos Soublette #8-35', 'San Cristóbal', 'Táchira', '5022', 'Venezuela' ) ;
+INSERT INTO GHTDB.ORDERS ( OrderID, CustomerID, EmployeeID, OrderDate, RequiredDate, ShippedDate, ShipVia, Freight, ShipName, ShipAddress, ShipCity, ShipRegion, ShipPostalCode, ShipCountry ) VALUES (10614, 'BLAUS', 8, '7/29/1997 12:00:00 AM', '8/26/1997 12:00:00 AM', '8/1/1997 12:00:00 AM', 3, 1.93, 'Blauer See Delikatessen', 'Forsterstr. 57', 'Mannheim', NULL, '68306', 'Germany' ) ;
+INSERT INTO GHTDB.ORDERS ( OrderID, CustomerID, EmployeeID, OrderDate, RequiredDate, ShippedDate, ShipVia, Freight, ShipName, ShipAddress, ShipCity, ShipRegion, ShipPostalCode, ShipCountry ) VALUES (10615, 'WILMK', 2, '7/30/1997 12:00:00 AM', '8/27/1997 12:00:00 AM', '8/6/1997 12:00:00 AM', 3, 0.75, 'Wilman Kala', 'Keskuskatu 45', 'Helsinki', NULL, '21240', 'Finland' ) ;
+INSERT INTO GHTDB.ORDERS ( OrderID, CustomerID, EmployeeID, OrderDate, RequiredDate, ShippedDate, ShipVia, Freight, ShipName, ShipAddress, ShipCity, ShipRegion, ShipPostalCode, ShipCountry ) VALUES (10616, 'GREAL', 1, '7/31/1997 12:00:00 AM', '8/28/1997 12:00:00 AM', '8/5/1997 12:00:00 AM', 2, 116.53, 'Great Lakes Food Market', '2732 Baker Blvd.', 'Eugene', 'OR', '97403', 'USA' ) ;
+INSERT INTO GHTDB.ORDERS ( OrderID, CustomerID, EmployeeID, OrderDate, RequiredDate, ShippedDate, ShipVia, Freight, ShipName, ShipAddress, ShipCity, ShipRegion, ShipPostalCode, ShipCountry ) VALUES (10617, 'GREAL', 4, '7/31/1997 12:00:00 AM', '8/28/1997 12:00:00 AM', '8/4/1997 12:00:00 AM', 2, 18.53, 'Great Lakes Food Market', '2732 Baker Blvd.', 'Eugene', 'OR', '97403', 'USA' ) ;
+INSERT INTO GHTDB.ORDERS ( OrderID, CustomerID, EmployeeID, OrderDate, RequiredDate, ShippedDate, ShipVia, Freight, ShipName, ShipAddress, ShipCity, ShipRegion, ShipPostalCode, ShipCountry ) VALUES (10618, 'MEREP', 1, '8/1/1997 12:00:00 AM', '9/12/1997 12:00:00 AM', '8/8/1997 12:00:00 AM', 1, 154.68, 'Mère Paillarde', '43 rue St. Laurent', 'Montréal', 'Québec', 'H1J 1C3', 'Canada' ) ;
+INSERT INTO GHTDB.ORDERS ( OrderID, CustomerID, EmployeeID, OrderDate, RequiredDate, ShippedDate, ShipVia, Freight, ShipName, ShipAddress, ShipCity, ShipRegion, ShipPostalCode, ShipCountry ) VALUES (10619, 'MEREP', 3, '8/4/1997 12:00:00 AM', '9/1/1997 12:00:00 AM', '8/7/1997 12:00:00 AM', 3, 91.05, 'Mère Paillarde', '43 rue St. Laurent', 'Montréal', 'Québec', 'H1J 1C3', 'Canada' ) ;
+INSERT INTO GHTDB.ORDERS ( OrderID, CustomerID, EmployeeID, OrderDate, RequiredDate, ShippedDate, ShipVia, Freight, ShipName, ShipAddress, ShipCity, ShipRegion, ShipPostalCode, ShipCountry ) VALUES (10620, 'LAUGB', 2, '8/5/1997 12:00:00 AM', '9/2/1997 12:00:00 AM', '8/14/1997 12:00:00 AM', 3, 0.94, 'Laughing Bacchus Wine Cellars', '2319 Elm St.', 'Vancouver', 'BC', 'V3F 2K1', 'Canada' ) ;
+INSERT INTO GHTDB.ORDERS ( OrderID, CustomerID, EmployeeID, OrderDate, RequiredDate, ShippedDate, ShipVia, Freight, ShipName, ShipAddress, ShipCity, ShipRegion, ShipPostalCode, ShipCountry ) VALUES (10621, 'ISLAT', 4, '8/5/1997 12:00:00 AM', '9/2/1997 12:00:00 AM', '8/11/1997 12:00:00 AM', 2, 23.73, 'Island Trading', 'Garden House Crowther Way', 'Cowes', 'Isle of Wight', 'PO31 7PJ', 'UK' ) ;
+INSERT INTO GHTDB.ORDERS ( OrderID, CustomerID, EmployeeID, OrderDate, RequiredDate, ShippedDate, ShipVia, Freight, ShipName, ShipAddress, ShipCity, ShipRegion, ShipPostalCode, ShipCountry ) VALUES (10622, 'RICAR', 4, '8/6/1997 12:00:00 AM', '9/3/1997 12:00:00 AM', '8/11/1997 12:00:00 AM', 3, 50.97, 'Ricardo Adocicados', 'Av. Copacabana, 267', 'Rio de Janeiro', 'RJ', '02389-890', 'Brazil' ) ;
+INSERT INTO GHTDB.ORDERS ( OrderID, CustomerID, EmployeeID, OrderDate, RequiredDate, ShippedDate, ShipVia, Freight, ShipName, ShipAddress, ShipCity, ShipRegion, ShipPostalCode, ShipCountry ) VALUES (10623, 'FRANK', 8, '8/7/1997 12:00:00 AM', '9/4/1997 12:00:00 AM', '8/12/1997 12:00:00 AM', 2, 97.18, 'Frankenversand', 'Berliner Platz 43', 'München', NULL, '80805', 'Germany' ) ;
+INSERT INTO GHTDB.ORDERS ( OrderID, CustomerID, EmployeeID, OrderDate, RequiredDate, ShippedDate, ShipVia, Freight, ShipName, ShipAddress, ShipCity, ShipRegion, ShipPostalCode, ShipCountry ) VALUES (10624, 'THECR', 4, '8/7/1997 12:00:00 AM', '9/4/1997 12:00:00 AM', '8/19/1997 12:00:00 AM', 2, 94.8, 'The Cracker Box', '55 Grizzly Peak Rd.', 'Butte', 'MT', '59801', 'USA' ) ;
+INSERT INTO GHTDB.ORDERS ( OrderID, CustomerID, EmployeeID, OrderDate, RequiredDate, ShippedDate, ShipVia, Freight, ShipName, ShipAddress, ShipCity, ShipRegion, ShipPostalCode, ShipCountry ) VALUES (10625, 'ANATR', 3, '8/8/1997 12:00:00 AM', '9/5/1997 12:00:00 AM', '8/14/1997 12:00:00 AM', 1, 43.9, 'Ana Trujillo Emparedados y helados', 'Avda. de la Constitución 2222', 'México D.F.', NULL, '05021', 'Mexico' ) ;
+INSERT INTO GHTDB.ORDERS ( OrderID, CustomerID, EmployeeID, OrderDate, RequiredDate, ShippedDate, ShipVia, Freight, ShipName, ShipAddress, ShipCity, ShipRegion, ShipPostalCode, ShipCountry ) VALUES (10626, 'BERGS', 1, '8/11/1997 12:00:00 AM', '9/8/1997 12:00:00 AM', '8/20/1997 12:00:00 AM', 2, 138.69, 'Berglunds snabbköp', 'Berguvsvägen  8', 'LuleÃ¥', NULL, 'S-958 22', 'Sweden' ) ;
+INSERT INTO GHTDB.ORDERS ( OrderID, CustomerID, EmployeeID, OrderDate, RequiredDate, ShippedDate, ShipVia, Freight, ShipName, ShipAddress, ShipCity, ShipRegion, ShipPostalCode, ShipCountry ) VALUES (10627, 'SAVEA', 8, '8/11/1997 12:00:00 AM', '9/22/1997 12:00:00 AM', '8/21/1997 12:00:00 AM', 3, 107.46, 'Save-a-lot Markets', '187 Suffolk Ln.', 'Boise', 'ID', '83720', 'USA' ) ;
+INSERT INTO GHTDB.ORDERS ( OrderID, CustomerID, EmployeeID, OrderDate, RequiredDate, ShippedDate, ShipVia, Freight, ShipName, ShipAddress, ShipCity, ShipRegion, ShipPostalCode, ShipCountry ) VALUES (10628, 'BLONP', 4, '8/12/1997 12:00:00 AM', '9/9/1997 12:00:00 AM', '8/20/1997 12:00:00 AM', 3, 30.36, 'Blondel père et fils', '24, place Kléber', 'Strasbourg', NULL, '67000', 'France' ) ;
+INSERT INTO GHTDB.ORDERS ( OrderID, CustomerID, EmployeeID, OrderDate, RequiredDate, ShippedDate, ShipVia, Freight, ShipName, ShipAddress, ShipCity, ShipRegion, ShipPostalCode, ShipCountry ) VALUES (10629, 'GODOS', 4, '8/12/1997 12:00:00 AM', '9/9/1997 12:00:00 AM', '8/20/1997 12:00:00 AM', 3, 85.46, 'Godos Cocina Típica', 'C/ Romero, 33', 'Sevilla', NULL, '41101', 'Spain' ) ;
+INSERT INTO GHTDB.ORDERS ( OrderID, CustomerID, EmployeeID, OrderDate, RequiredDate, ShippedDate, ShipVia, Freight, ShipName, ShipAddress, ShipCity, ShipRegion, ShipPostalCode, ShipCountry ) VALUES (10630, 'KOENE', 1, '8/13/1997 12:00:00 AM', '9/10/1997 12:00:00 AM', '8/19/1997 12:00:00 AM', 2, 32.35, 'Königlich Essen', 'Maubelstr. 90', 'Brandenburg', NULL, '14776', 'Germany' ) ;
+INSERT INTO GHTDB.ORDERS ( OrderID, CustomerID, EmployeeID, OrderDate, RequiredDate, ShippedDate, ShipVia, Freight, ShipName, ShipAddress, ShipCity, ShipRegion, ShipPostalCode, ShipCountry ) VALUES (10631, 'LAMAI', 8, '8/14/1997 12:00:00 AM', '9/11/1997 12:00:00 AM', '8/15/1997 12:00:00 AM', 1, 0.87, 'La maison d''Asie', '1 rue Alsace-Lorraine', 'Toulouse', NULL, '31000', 'France' ) ;
+INSERT INTO GHTDB.ORDERS ( OrderID, CustomerID, EmployeeID, OrderDate, RequiredDate, ShippedDate, ShipVia, Freight, ShipName, ShipAddress, ShipCity, ShipRegion, ShipPostalCode, ShipCountry ) VALUES (10632, 'WANDK', 8, '8/14/1997 12:00:00 AM', '9/11/1997 12:00:00 AM', '8/19/1997 12:00:00 AM', 1, 41.38, 'Die Wandernde Kuh', 'Adenauerallee 900', 'Stuttgart', NULL, '70563', 'Germany' ) ;
+INSERT INTO GHTDB.ORDERS ( OrderID, CustomerID, EmployeeID, OrderDate, RequiredDate, ShippedDate, ShipVia, Freight, ShipName, ShipAddress, ShipCity, ShipRegion, ShipPostalCode, ShipCountry ) VALUES (10633, 'ERNSH', 7, '8/15/1997 12:00:00 AM', '9/12/1997 12:00:00 AM', '8/18/1997 12:00:00 AM', 3, 477.9, 'Ernst Handel', 'Kirchgasse 6', 'Graz', NULL, '8010', 'Austria' ) ;
+INSERT INTO GHTDB.ORDERS ( OrderID, CustomerID, EmployeeID, OrderDate, RequiredDate, ShippedDate, ShipVia, Freight, ShipName, ShipAddress, ShipCity, ShipRegion, ShipPostalCode, ShipCountry ) VALUES (10634, 'FOLIG', 4, '8/15/1997 12:00:00 AM', '9/12/1997 12:00:00 AM', '8/21/1997 12:00:00 AM', 3, 487.38, 'Folies gourmandes', '184, chaussée de Tournai', 'Lille', NULL, '59000', 'France' ) ;
+INSERT INTO GHTDB.ORDERS ( OrderID, CustomerID, EmployeeID, OrderDate, RequiredDate, ShippedDate, ShipVia, Freight, ShipName, ShipAddress, ShipCity, ShipRegion, ShipPostalCode, ShipCountry ) VALUES (10635, 'MAGAA', 8, '8/18/1997 12:00:00 AM', '9/15/1997 12:00:00 AM', '8/21/1997 12:00:00 AM', 3, 47.46, 'Magazzini Alimentari Riuniti', 'Via Ludovico il Moro 22', 'Bergamo', NULL, '24100', 'Italy' ) ;
+INSERT INTO GHTDB.ORDERS ( OrderID, CustomerID, EmployeeID, OrderDate, RequiredDate, ShippedDate, ShipVia, Freight, ShipName, ShipAddress, ShipCity, ShipRegion, ShipPostalCode, ShipCountry ) VALUES (10636, 'WARTH', 4, '8/19/1997 12:00:00 AM', '9/16/1997 12:00:00 AM', '8/26/1997 12:00:00 AM', 1, 1.15, 'Wartian Herkku', 'Torikatu 38', 'Oulu', NULL, '90110', 'Finland' ) ;
+INSERT INTO GHTDB.ORDERS ( OrderID, CustomerID, EmployeeID, OrderDate, RequiredDate, ShippedDate, ShipVia, Freight, ShipName, ShipAddress, ShipCity, ShipRegion, ShipPostalCode, ShipCountry ) VALUES (10637, 'QUEEN', 6, '8/19/1997 12:00:00 AM', '9/16/1997 12:00:00 AM', '8/26/1997 12:00:00 AM', 1, 201.29, 'Queen Cozinha', 'Alameda dos Canàrios, 891', 'Sao Paulo', 'SP', '05487-020', 'Brazil' ) ;
+INSERT INTO GHTDB.ORDERS ( OrderID, CustomerID, EmployeeID, OrderDate, RequiredDate, ShippedDate, ShipVia, Freight, ShipName, ShipAddress, ShipCity, ShipRegion, ShipPostalCode, ShipCountry ) VALUES (10638, 'LINOD', 3, '8/20/1997 12:00:00 AM', '9/17/1997 12:00:00 AM', '9/1/1997 12:00:00 AM', 1, 158.44, 'LINO-Delicateses', 'Ave. 5 de Mayo Porlamar', 'I. de Margarita', 'Nueva Esparta', '4980', 'Venezuela' ) ;
+INSERT INTO GHTDB.ORDERS ( OrderID, CustomerID, EmployeeID, OrderDate, RequiredDate, ShippedDate, ShipVia, Freight, ShipName, ShipAddress, ShipCity, ShipRegion, ShipPostalCode, ShipCountry ) VALUES (10639, 'SANTG', 7, '8/20/1997 12:00:00 AM', '9/17/1997 12:00:00 AM', '8/27/1997 12:00:00 AM', 3, 38.64, 'Santé Gourmet', 'Erling Skakkes gate 78', 'Stavern', NULL, '4110', 'Norway' ) ;
+INSERT INTO GHTDB.ORDERS ( OrderID, CustomerID, EmployeeID, OrderDate, RequiredDate, ShippedDate, ShipVia, Freight, ShipName, ShipAddress, ShipCity, ShipRegion, ShipPostalCode, ShipCountry ) VALUES (10640, 'WANDK', 4, '8/21/1997 12:00:00 AM', '9/18/1997 12:00:00 AM', '8/28/1997 12:00:00 AM', 1, 23.55, 'Die Wandernde Kuh', 'Adenauerallee 900', 'Stuttgart', NULL, '70563', 'Germany' ) ;
+INSERT INTO GHTDB.ORDERS ( OrderID, CustomerID, EmployeeID, OrderDate, RequiredDate, ShippedDate, ShipVia, Freight, ShipName, ShipAddress, ShipCity, ShipRegion, ShipPostalCode, ShipCountry ) VALUES (10641, 'HILAA', 4, '8/22/1997 12:00:00 AM', '9/19/1997 12:00:00 AM', '8/26/1997 12:00:00 AM', 2, 179.61, 'HILARION-Abastos', 'Carrera 22 con Ave. Carlos Soublette #8-35', 'San Cristóbal', 'Táchira', '5022', 'Venezuela' ) ;
+INSERT INTO GHTDB.ORDERS ( OrderID, CustomerID, EmployeeID, OrderDate, RequiredDate, ShippedDate, ShipVia, Freight, ShipName, ShipAddress, ShipCity, ShipRegion, ShipPostalCode, ShipCountry ) VALUES (10642, 'SIMOB', 7, '8/22/1997 12:00:00 AM', '9/19/1997 12:00:00 AM', '9/5/1997 12:00:00 AM', 3, 41.89, 'Simons bistro', 'Vinbæltet 34', 'Kobenhavn', NULL, '1734', 'Denmark' ) ;
+INSERT INTO GHTDB.ORDERS ( OrderID, CustomerID, EmployeeID, OrderDate, RequiredDate, ShippedDate, ShipVia, Freight, ShipName, ShipAddress, ShipCity, ShipRegion, ShipPostalCode, ShipCountry ) VALUES (10643, 'ALFKI', 6, '8/25/1997 12:00:00 AM', '9/22/1997 12:00:00 AM', '9/2/1997 12:00:00 AM', 1, 29.46, 'Alfreds Futterkiste', 'Obere Str. 57', 'Berlin', NULL, '12209', 'Germany' ) ;
+INSERT INTO GHTDB.ORDERS ( OrderID, CustomerID, EmployeeID, OrderDate, RequiredDate, ShippedDate, ShipVia, Freight, ShipName, ShipAddress, ShipCity, ShipRegion, ShipPostalCode, ShipCountry ) VALUES (10644, 'WELLI', 3, '8/25/1997 12:00:00 AM', '9/22/1997 12:00:00 AM', '9/1/1997 12:00:00 AM', 2, 0.14, 'Wellington Importadora', 'Rua do Mercado, 12', 'Resende', 'SP', '08737-363', 'Brazil' ) ;
+INSERT INTO GHTDB.ORDERS ( OrderID, CustomerID, EmployeeID, OrderDate, RequiredDate, ShippedDate, ShipVia, Freight, ShipName, ShipAddress, ShipCity, ShipRegion, ShipPostalCode, ShipCountry ) VALUES (10645, 'HANAR', 4, '8/26/1997 12:00:00 AM', '9/23/1997 12:00:00 AM', '9/2/1997 12:00:00 AM', 1, 12.41, 'Hanari Carnes', 'Rua do Paço, 67', 'Rio de Janeiro', 'RJ', '05454-876', 'Brazil' ) ;
+INSERT INTO GHTDB.ORDERS ( OrderID, CustomerID, EmployeeID, OrderDate, RequiredDate, ShippedDate, ShipVia, Freight, ShipName, ShipAddress, ShipCity, ShipRegion, ShipPostalCode, ShipCountry ) VALUES (10646, 'HUNGO', 9, '8/27/1997 12:00:00 AM', '10/8/1997 12:00:00 AM', '9/3/1997 12:00:00 AM', 3, 142.33, 'Hungry Owl All-Night Grocers', '8 Johnstown Road', 'Cork', 'Co. Cork', NULL, 'Ireland' ) ;
+INSERT INTO GHTDB.ORDERS ( OrderID, CustomerID, EmployeeID, OrderDate, RequiredDate, ShippedDate, ShipVia, Freight, ShipName, ShipAddress, ShipCity, ShipRegion, ShipPostalCode, ShipCountry ) VALUES (10647, 'QUEDE', 4, '8/27/1997 12:00:00 AM', '9/10/1997 12:00:00 AM', '9/3/1997 12:00:00 AM', 2, 45.54, 'Que Delícia', 'Rua da Panificadora, 12', 'Rio de Janeiro', 'RJ', '02389-673', 'Brazil' ) ;
+INSERT INTO GHTDB.ORDERS ( OrderID, CustomerID, EmployeeID, OrderDate, RequiredDate, ShippedDate, ShipVia, Freight, ShipName, ShipAddress, ShipCity, ShipRegion, ShipPostalCode, ShipCountry ) VALUES (10648, 'RICAR', 5, '8/28/1997 12:00:00 AM', '10/9/1997 12:00:00 AM', '9/9/1997 12:00:00 AM', 2, 14.25, 'Ricardo Adocicados', 'Av. Copacabana, 267', 'Rio de Janeiro', 'RJ', '02389-890', 'Brazil' ) ;
+INSERT INTO GHTDB.ORDERS ( OrderID, CustomerID, EmployeeID, OrderDate, RequiredDate, ShippedDate, ShipVia, Freight, ShipName, ShipAddress, ShipCity, ShipRegion, ShipPostalCode, ShipCountry ) VALUES (10649, 'MAISD', 5, '8/28/1997 12:00:00 AM', '9/25/1997 12:00:00 AM', '8/29/1997 12:00:00 AM', 3, 6.2, 'Maison Dewey', 'Rue Joseph-Bens 532', 'Bruxelles', NULL, 'B-1180', 'Belgium' ) ;
+INSERT INTO GHTDB.ORDERS ( OrderID, CustomerID, EmployeeID, OrderDate, RequiredDate, ShippedDate, ShipVia, Freight, ShipName, ShipAddress, ShipCity, ShipRegion, ShipPostalCode, ShipCountry ) VALUES (10650, 'FAMIA', 5, '8/29/1997 12:00:00 AM', '9/26/1997 12:00:00 AM', '9/3/1997 12:00:00 AM', 3, 176.81, 'Familia Arquibaldo', 'Rua Orós, 92', 'Sao Paulo', 'SP', '05442-030', 'Brazil' ) ;
+INSERT INTO GHTDB.ORDERS ( OrderID, CustomerID, EmployeeID, OrderDate, RequiredDate, ShippedDate, ShipVia, Freight, ShipName, ShipAddress, ShipCity, ShipRegion, ShipPostalCode, ShipCountry ) VALUES (10651, 'WANDK', 8, '9/1/1997 12:00:00 AM', '9/29/1997 12:00:00 AM', '9/11/1997 12:00:00 AM', 2, 20.6, 'Die Wandernde Kuh', 'Adenauerallee 900', 'Stuttgart', NULL, '70563', 'Germany' ) ;
+INSERT INTO GHTDB.ORDERS ( OrderID, CustomerID, EmployeeID, OrderDate, RequiredDate, ShippedDate, ShipVia, Freight, ShipName, ShipAddress, ShipCity, ShipRegion, ShipPostalCode, ShipCountry ) VALUES (10652, 'GOURL', 4, '9/1/1997 12:00:00 AM', '9/29/1997 12:00:00 AM', '9/8/1997 12:00:00 AM', 2, 7.14, 'Gourmet Lanchonetes', 'Av. Brasil, 442', 'Campinas', 'SP', '04876-786', 'Brazil' ) ;
+INSERT INTO GHTDB.ORDERS ( OrderID, CustomerID, EmployeeID, OrderDate, RequiredDate, ShippedDate, ShipVia, Freight, ShipName, ShipAddress, ShipCity, ShipRegion, ShipPostalCode, ShipCountry ) VALUES (10653, 'FRANK', 1, '9/2/1997 12:00:00 AM', '9/30/1997 12:00:00 AM', '9/19/1997 12:00:00 AM', 1, 93.25, 'Frankenversand', 'Berliner Platz 43', 'München', NULL, '80805', 'Germany' ) ;
+INSERT INTO GHTDB.ORDERS ( OrderID, CustomerID, EmployeeID, OrderDate, RequiredDate, ShippedDate, ShipVia, Freight, ShipName, ShipAddress, ShipCity, ShipRegion, ShipPostalCode, ShipCountry ) VALUES (10654, 'BERGS', 5, '9/2/1997 12:00:00 AM', '9/30/1997 12:00:00 AM', '9/11/1997 12:00:00 AM', 1, 55.26, 'Berglunds snabbköp', 'Berguvsvägen  8', 'LuleÃ¥', NULL, 'S-958 22', 'Sweden' ) ;
+INSERT INTO GHTDB.ORDERS ( OrderID, CustomerID, EmployeeID, OrderDate, RequiredDate, ShippedDate, ShipVia, Freight, ShipName, ShipAddress, ShipCity, ShipRegion, ShipPostalCode, ShipCountry ) VALUES (10655, 'REGGC', 1, '9/3/1997 12:00:00 AM', '10/1/1997 12:00:00 AM', '9/11/1997 12:00:00 AM', 2, 4.41, 'Reggiani Caseifici', 'Strada Provinciale 124', 'Reggio Emilia', NULL, '42100', 'Italy' ) ;
+INSERT INTO GHTDB.ORDERS ( OrderID, CustomerID, EmployeeID, OrderDate, RequiredDate, ShippedDate, ShipVia, Freight, ShipName, ShipAddress, ShipCity, ShipRegion, ShipPostalCode, ShipCountry ) VALUES (10656, 'GREAL', 6, '9/4/1997 12:00:00 AM', '10/2/1997 12:00:00 AM', '9/10/1997 12:00:00 AM', 1, 57.15, 'Great Lakes Food Market', '2732 Baker Blvd.', 'Eugene', 'OR', '97403', 'USA' ) ;
+INSERT INTO GHTDB.ORDERS ( OrderID, CustomerID, EmployeeID, OrderDate, RequiredDate, ShippedDate, ShipVia, Freight, ShipName, ShipAddress, ShipCity, ShipRegion, ShipPostalCode, ShipCountry ) VALUES (10657, 'SAVEA', 2, '9/4/1997 12:00:00 AM', '10/2/1997 12:00:00 AM', '9/15/1997 12:00:00 AM', 2, 352.69, 'Save-a-lot Markets', '187 Suffolk Ln.', 'Boise', 'ID', '83720', 'USA' ) ;
+INSERT INTO GHTDB.ORDERS ( OrderID, CustomerID, EmployeeID, OrderDate, RequiredDate, ShippedDate, ShipVia, Freight, ShipName, ShipAddress, ShipCity, ShipRegion, ShipPostalCode, ShipCountry ) VALUES (10658, 'QUICK', 4, '9/5/1997 12:00:00 AM', '10/3/1997 12:00:00 AM', '9/8/1997 12:00:00 AM', 1, 364.15, 'QUICK-Stop', 'Taucherstraße 10', 'Cunewalde', NULL, '01307', 'Germany' ) ;
+INSERT INTO GHTDB.ORDERS ( OrderID, CustomerID, EmployeeID, OrderDate, RequiredDate, ShippedDate, ShipVia, Freight, ShipName, ShipAddress, ShipCity, ShipRegion, ShipPostalCode, ShipCountry ) VALUES (10659, 'QUEEN', 7, '9/5/1997 12:00:00 AM', '10/3/1997 12:00:00 AM', '9/10/1997 12:00:00 AM', 2, 105.81, 'Queen Cozinha', 'Alameda dos Canàrios, 891', 'Sao Paulo', 'SP', '05487-020', 'Brazil' ) ;
+INSERT INTO GHTDB.ORDERS ( OrderID, CustomerID, EmployeeID, OrderDate, RequiredDate, ShippedDate, ShipVia, Freight, ShipName, ShipAddress, ShipCity, ShipRegion, ShipPostalCode, ShipCountry ) VALUES (10660, 'HUNGC', 8, '9/8/1997 12:00:00 AM', '10/6/1997 12:00:00 AM', '10/15/1997 12:00:00 AM', 1, 111.29, 'Hungry Coyote Import Store', 'City Center Plaza 516 Main St.', 'Elgin', 'OR', '97827', 'USA' ) ;
+INSERT INTO GHTDB.ORDERS ( OrderID, CustomerID, EmployeeID, OrderDate, RequiredDate, ShippedDate, ShipVia, Freight, ShipName, ShipAddress, ShipCity, ShipRegion, ShipPostalCode, ShipCountry ) VALUES (10661, 'HUNGO', 7, '9/9/1997 12:00:00 AM', '10/7/1997 12:00:00 AM', '9/15/1997 12:00:00 AM', 3, 17.55, 'Hungry Owl All-Night Grocers', '8 Johnstown Road', 'Cork', 'Co. Cork', NULL, 'Ireland' ) ;
+INSERT INTO GHTDB.ORDERS ( OrderID, CustomerID, EmployeeID, OrderDate, RequiredDate, ShippedDate, ShipVia, Freight, ShipName, ShipAddress, ShipCity, ShipRegion, ShipPostalCode, ShipCountry ) VALUES (10662, 'LONEP', 3, '9/9/1997 12:00:00 AM', '10/7/1997 12:00:00 AM', '9/18/1997 12:00:00 AM', 2, 1.28, 'Lonesome Pine Restaurant', '89 Chiaroscuro Rd.', 'Portland', 'OR', '97219', 'USA' ) ;
+INSERT INTO GHTDB.ORDERS ( OrderID, CustomerID, EmployeeID, OrderDate, RequiredDate, ShippedDate, ShipVia, Freight, ShipName, ShipAddress, ShipCity, ShipRegion, ShipPostalCode, ShipCountry ) VALUES (10663, 'BONAP', 2, '9/10/1997 12:00:00 AM', '9/24/1997 12:00:00 AM', '10/3/1997 12:00:00 AM', 2, 113.15, 'Bon app''', '12, rue des Bouchers', 'Marseille', NULL, '13008', 'France' ) ;
+INSERT INTO GHTDB.ORDERS ( OrderID, CustomerID, EmployeeID, OrderDate, RequiredDate, ShippedDate, ShipVia, Freight, ShipName, ShipAddress, ShipCity, ShipRegion, ShipPostalCode, ShipCountry ) VALUES (10664, 'FURIB', 1, '9/10/1997 12:00:00 AM', '10/8/1997 12:00:00 AM', '9/19/1997 12:00:00 AM', 3, 1.27, 'Furia Bacalhau e Frutos do Mar', 'Jardim das rosas n. 32', 'Lisboa', NULL, '1675', 'Portugal' ) ;
+INSERT INTO GHTDB.ORDERS ( OrderID, CustomerID, EmployeeID, OrderDate, RequiredDate, ShippedDate, ShipVia, Freight, ShipName, ShipAddress, ShipCity, ShipRegion, ShipPostalCode, ShipCountry ) VALUES (10665, 'LONEP', 1, '9/11/1997 12:00:00 AM', '10/9/1997 12:00:00 AM', '9/17/1997 12:00:00 AM', 2, 26.31, 'Lonesome Pine Restaurant', '89 Chiaroscuro Rd.', 'Portland', 'OR', '97219', 'USA' ) ;
+INSERT INTO GHTDB.ORDERS ( OrderID, CustomerID, EmployeeID, OrderDate, RequiredDate, ShippedDate, ShipVia, Freight, ShipName, ShipAddress, ShipCity, ShipRegion, ShipPostalCode, ShipCountry ) VALUES (10666, 'RICSU', 7, '9/12/1997 12:00:00 AM', '10/10/1997 12:00:00 AM', '9/22/1997 12:00:00 AM', 2, 232.42, 'Richter Supermarkt', 'Starenweg 5', 'Genève', NULL, '1204', 'Switzerland' ) ;
+INSERT INTO GHTDB.ORDERS ( OrderID, CustomerID, EmployeeID, OrderDate, RequiredDate, ShippedDate, ShipVia, Freight, ShipName, ShipAddress, ShipCity, ShipRegion, ShipPostalCode, ShipCountry ) VALUES (10667, 'ERNSH', 7, '9/12/1997 12:00:00 AM', '10/10/1997 12:00:00 AM', '9/19/1997 12:00:00 AM', 1, 78.09, 'Ernst Handel', 'Kirchgasse 6', 'Graz', NULL, '8010', 'Austria' ) ;
+INSERT INTO GHTDB.ORDERS ( OrderID, CustomerID, EmployeeID, OrderDate, RequiredDate, ShippedDate, ShipVia, Freight, ShipName, ShipAddress, ShipCity, ShipRegion, ShipPostalCode, ShipCountry ) VALUES (10668, 'WANDK', 1, '9/15/1997 12:00:00 AM', '10/13/1997 12:00:00 AM', '9/23/1997 12:00:00 AM', 2, 47.22, 'Die Wandernde Kuh', 'Adenauerallee 900', 'Stuttgart', NULL, '70563', 'Germany' ) ;
+INSERT INTO GHTDB.ORDERS ( OrderID, CustomerID, EmployeeID, OrderDate, RequiredDate, ShippedDate, ShipVia, Freight, ShipName, ShipAddress, ShipCity, ShipRegion, ShipPostalCode, ShipCountry ) VALUES (10669, 'SIMOB', 2, '9/15/1997 12:00:00 AM', '10/13/1997 12:00:00 AM', '9/22/1997 12:00:00 AM', 1, 24.39, 'Simons bistro', 'Vinbæltet 34', 'Kobenhavn', NULL, '1734', 'Denmark' ) ;
+INSERT INTO GHTDB.ORDERS ( OrderID, CustomerID, EmployeeID, OrderDate, RequiredDate, ShippedDate, ShipVia, Freight, ShipName, ShipAddress, ShipCity, ShipRegion, ShipPostalCode, ShipCountry ) VALUES (10670, 'FRANK', 4, '9/16/1997 12:00:00 AM', '10/14/1997 12:00:00 AM', '9/18/1997 12:00:00 AM', 1, 203.48, 'Frankenversand', 'Berliner Platz 43', 'München', NULL, '80805', 'Germany' ) ;
+INSERT INTO GHTDB.ORDERS ( OrderID, CustomerID, EmployeeID, OrderDate, RequiredDate, ShippedDate, ShipVia, Freight, ShipName, ShipAddress, ShipCity, ShipRegion, ShipPostalCode, ShipCountry ) VALUES (10671, 'FRANR', 1, '9/17/1997 12:00:00 AM', '10/15/1997 12:00:00 AM', '9/24/1997 12:00:00 AM', 1, 30.34, 'France restauration', '54, rue Royale', 'Nantes', NULL, '44000', 'France' ) ;
+INSERT INTO GHTDB.ORDERS ( OrderID, CustomerID, EmployeeID, OrderDate, RequiredDate, ShippedDate, ShipVia, Freight, ShipName, ShipAddress, ShipCity, ShipRegion, ShipPostalCode, ShipCountry ) VALUES (10672, 'BERGS', 9, '9/17/1997 12:00:00 AM', '10/1/1997 12:00:00 AM', '9/26/1997 12:00:00 AM', 2, 95.75, 'Berglunds snabbköp', 'Berguvsvägen  8', 'LuleÃ¥', NULL, 'S-958 22', 'Sweden' ) ;
+INSERT INTO GHTDB.ORDERS ( OrderID, CustomerID, EmployeeID, OrderDate, RequiredDate, ShippedDate, ShipVia, Freight, ShipName, ShipAddress, ShipCity, ShipRegion, ShipPostalCode, ShipCountry ) VALUES (10673, 'WILMK', 2, '9/18/1997 12:00:00 AM', '10/16/1997 12:00:00 AM', '9/19/1997 12:00:00 AM', 1, 22.76, 'Wilman Kala', 'Keskuskatu 45', 'Helsinki', NULL, '21240', 'Finland' ) ;
+INSERT INTO GHTDB.ORDERS ( OrderID, CustomerID, EmployeeID, OrderDate, RequiredDate, ShippedDate, ShipVia, Freight, ShipName, ShipAddress, ShipCity, ShipRegion, ShipPostalCode, ShipCountry ) VALUES (10674, 'ISLAT', 4, '9/18/1997 12:00:00 AM', '10/16/1997 12:00:00 AM', '9/30/1997 12:00:00 AM', 2, 0.9, 'Island Trading', 'Garden House Crowther Way', 'Cowes', 'Isle of Wight', 'PO31 7PJ', 'UK' ) ;
+INSERT INTO GHTDB.ORDERS ( OrderID, CustomerID, EmployeeID, OrderDate, RequiredDate, ShippedDate, ShipVia, Freight, ShipName, ShipAddress, ShipCity, ShipRegion, ShipPostalCode, ShipCountry ) VALUES (10675, 'FRANK', 5, '9/19/1997 12:00:00 AM', '10/17/1997 12:00:00 AM', '9/23/1997 12:00:00 AM', 2, 31.85, 'Frankenversand', 'Berliner Platz 43', 'München', NULL, '80805', 'Germany' ) ;
+INSERT INTO GHTDB.ORDERS ( OrderID, CustomerID, EmployeeID, OrderDate, RequiredDate, ShippedDate, ShipVia, Freight, ShipName, ShipAddress, ShipCity, ShipRegion, ShipPostalCode, ShipCountry ) VALUES (10676, 'TORTU', 2, '9/22/1997 12:00:00 AM', '10/20/1997 12:00:00 AM', '9/29/1997 12:00:00 AM', 2, 2.01, 'Tortuga Restaurante', 'Avda. Azteca 123', 'México D.F.', NULL, '05033', 'Mexico' ) ;
+INSERT INTO GHTDB.ORDERS ( OrderID, CustomerID, EmployeeID, OrderDate, RequiredDate, ShippedDate, ShipVia, Freight, ShipName, ShipAddress, ShipCity, ShipRegion, ShipPostalCode, ShipCountry ) VALUES (10677, 'ANTON', 1, '9/22/1997 12:00:00 AM', '10/20/1997 12:00:00 AM', '9/26/1997 12:00:00 AM', 3, 4.03, 'Antonio Moreno Taquería', 'Mataderos  2312', 'México D.F.', NULL, '05023', 'Mexico' ) ;
+INSERT INTO GHTDB.ORDERS ( OrderID, CustomerID, EmployeeID, OrderDate, RequiredDate, ShippedDate, ShipVia, Freight, ShipName, ShipAddress, ShipCity, ShipRegion, ShipPostalCode, ShipCountry ) VALUES (10678, 'SAVEA', 7, '9/23/1997 12:00:00 AM', '10/21/1997 12:00:00 AM', '10/16/1997 12:00:00 AM', 3, 388.98, 'Save-a-lot Markets', '187 Suffolk Ln.', 'Boise', 'ID', '83720', 'USA' ) ;
+INSERT INTO GHTDB.ORDERS ( OrderID, CustomerID, EmployeeID, OrderDate, RequiredDate, ShippedDate, ShipVia, Freight, ShipName, ShipAddress, ShipCity, ShipRegion, ShipPostalCode, ShipCountry ) VALUES (10679, 'BLONP', 8, '9/23/1997 12:00:00 AM', '10/21/1997 12:00:00 AM', '9/30/1997 12:00:00 AM', 3, 27.94, 'Blondel père et fils', '24, place Kléber', 'Strasbourg', NULL, '67000', 'France' ) ;
+INSERT INTO GHTDB.ORDERS ( OrderID, CustomerID, EmployeeID, OrderDate, RequiredDate, ShippedDate, ShipVia, Freight, ShipName, ShipAddress, ShipCity, ShipRegion, ShipPostalCode, ShipCountry ) VALUES (10680, 'OLDWO', 1, '9/24/1997 12:00:00 AM', '10/22/1997 12:00:00 AM', '9/26/1997 12:00:00 AM', 1, 26.61, 'Old World Delicatessen', '2743 Bering St.', 'Anchorage', 'AK', '99508', 'USA' ) ;
+INSERT INTO GHTDB.ORDERS ( OrderID, CustomerID, EmployeeID, OrderDate, RequiredDate, ShippedDate, ShipVia, Freight, ShipName, ShipAddress, ShipCity, ShipRegion, ShipPostalCode, ShipCountry ) VALUES (10681, 'GREAL', 3, '9/25/1997 12:00:00 AM', '10/23/1997 12:00:00 AM', '9/30/1997 12:00:00 AM', 3, 76.13, 'Great Lakes Food Market', '2732 Baker Blvd.', 'Eugene', 'OR', '97403', 'USA' ) ;
+INSERT INTO GHTDB.ORDERS ( OrderID, CustomerID, EmployeeID, OrderDate, RequiredDate, ShippedDate, ShipVia, Freight, ShipName, ShipAddress, ShipCity, ShipRegion, ShipPostalCode, ShipCountry ) VALUES (10682, 'ANTON', 3, '9/25/1997 12:00:00 AM', '10/23/1997 12:00:00 AM', '10/1/1997 12:00:00 AM', 2, 36.13, 'Antonio Moreno Taquería', 'Mataderos  2312', 'México D.F.', NULL, '05023', 'Mexico' ) ;
+INSERT INTO GHTDB.ORDERS ( OrderID, CustomerID, EmployeeID, OrderDate, RequiredDate, ShippedDate, ShipVia, Freight, ShipName, ShipAddress, ShipCity, ShipRegion, ShipPostalCode, ShipCountry ) VALUES (10683, 'DUMON', 2, '9/26/1997 12:00:00 AM', '10/24/1997 12:00:00 AM', '10/1/1997 12:00:00 AM', 1, 4.4, 'Du monde entier', '67, rue des Cinquante Otages', 'Nantes', NULL, '44000', 'France' ) ;
+INSERT INTO GHTDB.ORDERS ( OrderID, CustomerID, EmployeeID, OrderDate, RequiredDate, ShippedDate, ShipVia, Freight, ShipName, ShipAddress, ShipCity, ShipRegion, ShipPostalCode, ShipCountry ) VALUES (10684, 'OTTIK', 3, '9/26/1997 12:00:00 AM', '10/24/1997 12:00:00 AM', '9/30/1997 12:00:00 AM', 1, 145.63, 'Ottilies Käseladen', 'Mehrheimerstr. 369', 'Köln', NULL, '50739', 'Germany' ) ;
+INSERT INTO GHTDB.ORDERS ( OrderID, CustomerID, EmployeeID, OrderDate, RequiredDate, ShippedDate, ShipVia, Freight, ShipName, ShipAddress, ShipCity, ShipRegion, ShipPostalCode, ShipCountry ) VALUES (10685, 'GOURL', 4, '9/29/1997 12:00:00 AM', '10/13/1997 12:00:00 AM', '10/3/1997 12:00:00 AM', 2, 33.75, 'Gourmet Lanchonetes', 'Av. Brasil, 442', 'Campinas', 'SP', '04876-786', 'Brazil' ) ;
+INSERT INTO GHTDB.ORDERS ( OrderID, CustomerID, EmployeeID, OrderDate, RequiredDate, ShippedDate, ShipVia, Freight, ShipName, ShipAddress, ShipCity, ShipRegion, ShipPostalCode, ShipCountry ) VALUES (10686, 'PICCO', 2, '9/30/1997 12:00:00 AM', '10/28/1997 12:00:00 AM', '10/8/1997 12:00:00 AM', 1, 96.5, 'Piccolo und mehr', 'Geislweg 14', 'Salzburg', NULL, '5020', 'Austria' ) ;
+INSERT INTO GHTDB.ORDERS ( OrderID, CustomerID, EmployeeID, OrderDate, RequiredDate, ShippedDate, ShipVia, Freight, ShipName, ShipAddress, ShipCity, ShipRegion, ShipPostalCode, ShipCountry ) VALUES (10687, 'HUNGO', 9, '9/30/1997 12:00:00 AM', '10/28/1997 12:00:00 AM', '10/30/1997 12:00:00 AM', 2, 296.43, 'Hungry Owl All-Night Grocers', '8 Johnstown Road', 'Cork', 'Co. Cork', NULL, 'Ireland' ) ;
+INSERT INTO GHTDB.ORDERS ( OrderID, CustomerID, EmployeeID, OrderDate, RequiredDate, ShippedDate, ShipVia, Freight, ShipName, ShipAddress, ShipCity, ShipRegion, ShipPostalCode, ShipCountry ) VALUES (10688, 'VAFFE', 4, '10/1/1997 12:00:00 AM', '10/15/1997 12:00:00 AM', '10/7/1997 12:00:00 AM', 2, 299.09, 'Vaffeljernet', 'Smagsloget 45', 'Ã…rhus', NULL, '8200', 'Denmark' ) ;
+INSERT INTO GHTDB.ORDERS ( OrderID, CustomerID, EmployeeID, OrderDate, RequiredDate, ShippedDate, ShipVia, Freight, ShipName, ShipAddress, ShipCity, ShipRegion, ShipPostalCode, ShipCountry ) VALUES (10689, 'BERGS', 1, '10/1/1997 12:00:00 AM', '10/29/1997 12:00:00 AM', '10/7/1997 12:00:00 AM', 2, 13.42, 'Berglunds snabbköp', 'Berguvsvägen  8', 'LuleÃ¥', NULL, 'S-958 22', 'Sweden' ) ;
+INSERT INTO GHTDB.ORDERS ( OrderID, CustomerID, EmployeeID, OrderDate, RequiredDate, ShippedDate, ShipVia, Freight, ShipName, ShipAddress, ShipCity, ShipRegion, ShipPostalCode, ShipCountry ) VALUES (10690, 'HANAR', 1, '10/2/1997 12:00:00 AM', '10/30/1997 12:00:00 AM', '10/3/1997 12:00:00 AM', 1, 15.8, 'Hanari Carnes', 'Rua do Paço, 67', 'Rio de Janeiro', 'RJ', '05454-876', 'Brazil' ) ;
+INSERT INTO GHTDB.ORDERS ( OrderID, CustomerID, EmployeeID, OrderDate, RequiredDate, ShippedDate, ShipVia, Freight, ShipName, ShipAddress, ShipCity, ShipRegion, ShipPostalCode, ShipCountry ) VALUES (10691, 'QUICK', 2, '10/3/1997 12:00:00 AM', '11/14/1997 12:00:00 AM', '10/22/1997 12:00:00 AM', 2, 810.05, 'QUICK-Stop', 'Taucherstraße 10', 'Cunewalde', NULL, '01307', 'Germany' ) ;
+INSERT INTO GHTDB.ORDERS ( OrderID, CustomerID, EmployeeID, OrderDate, RequiredDate, ShippedDate, ShipVia, Freight, ShipName, ShipAddress, ShipCity, ShipRegion, ShipPostalCode, ShipCountry ) VALUES (10692, 'ALFKI', 4, '10/3/1997 12:00:00 AM', '10/31/1997 12:00:00 AM', '10/13/1997 12:00:00 AM', 2, 61.02, 'Alfred''s Futterkiste', 'Obere Str. 57', 'Berlin', NULL, '12209', 'Germany' ) ;
+INSERT INTO GHTDB.ORDERS ( OrderID, CustomerID, EmployeeID, OrderDate, RequiredDate, ShippedDate, ShipVia, Freight, ShipName, ShipAddress, ShipCity, ShipRegion, ShipPostalCode, ShipCountry ) VALUES (10693, 'WHITC', 3, '10/6/1997 12:00:00 AM', '10/20/1997 12:00:00 AM', '10/10/1997 12:00:00 AM', 3, 139.34, 'White Clover Markets', '1029 - 12th Ave. S.', 'Seattle', 'WA', '98124', 'USA' ) ;
+INSERT INTO GHTDB.ORDERS ( OrderID, CustomerID, EmployeeID, OrderDate, RequiredDate, ShippedDate, ShipVia, Freight, ShipName, ShipAddress, ShipCity, ShipRegion, ShipPostalCode, ShipCountry ) VALUES (10694, 'QUICK', 8, '10/6/1997 12:00:00 AM', '11/3/1997 12:00:00 AM', '10/9/1997 12:00:00 AM', 3, 398.36, 'QUICK-Stop', 'Taucherstraße 10', 'Cunewalde', NULL, '01307', 'Germany' ) ;
+INSERT INTO GHTDB.ORDERS ( OrderID, CustomerID, EmployeeID, OrderDate, RequiredDate, ShippedDate, ShipVia, Freight, ShipName, ShipAddress, ShipCity, ShipRegion, ShipPostalCode, ShipCountry ) VALUES (10695, 'WILMK', 7, '10/7/1997 12:00:00 AM', '11/18/1997 12:00:00 AM', '10/14/1997 12:00:00 AM', 1, 16.72, 'Wilman Kala', 'Keskuskatu 45', 'Helsinki', NULL, '21240', 'Finland' ) ;
+INSERT INTO GHTDB.ORDERS ( OrderID, CustomerID, EmployeeID, OrderDate, RequiredDate, ShippedDate, ShipVia, Freight, ShipName, ShipAddress, ShipCity, ShipRegion, ShipPostalCode, ShipCountry ) VALUES (10696, 'WHITC', 8, '10/8/1997 12:00:00 AM', '11/19/1997 12:00:00 AM', '10/14/1997 12:00:00 AM', 3, 102.55, 'White Clover Markets', '1029 - 12th Ave. S.', 'Seattle', 'WA', '98124', 'USA' ) ;
+INSERT INTO GHTDB.ORDERS ( OrderID, CustomerID, EmployeeID, OrderDate, RequiredDate, ShippedDate, ShipVia, Freight, ShipName, ShipAddress, ShipCity, ShipRegion, ShipPostalCode, ShipCountry ) VALUES (10697, 'LINOD', 3, '10/8/1997 12:00:00 AM', '11/5/1997 12:00:00 AM', '10/14/1997 12:00:00 AM', 1, 45.52, 'LINO-Delicateses', 'Ave. 5 de Mayo Porlamar', 'I. de Margarita', 'Nueva Esparta', '4980', 'Venezuela' ) ;
+INSERT INTO GHTDB.ORDERS ( OrderID, CustomerID, EmployeeID, OrderDate, RequiredDate, ShippedDate, ShipVia, Freight, ShipName, ShipAddress, ShipCity, ShipRegion, ShipPostalCode, ShipCountry ) VALUES (10698, 'ERNSH', 4, '10/9/1997 12:00:00 AM', '11/6/1997 12:00:00 AM', '10/17/1997 12:00:00 AM', 1, 272.47, 'Ernst Handel', 'Kirchgasse 6', 'Graz', NULL, '8010', 'Austria' ) ;
+INSERT INTO GHTDB.ORDERS ( OrderID, CustomerID, EmployeeID, OrderDate, RequiredDate, ShippedDate, ShipVia, Freight, ShipName, ShipAddress, ShipCity, ShipRegion, ShipPostalCode, ShipCountry ) VALUES (10699, 'MORGK', 3, '10/9/1997 12:00:00 AM', '11/6/1997 12:00:00 AM', '10/13/1997 12:00:00 AM', 3, 0.58, 'Morgenstern Gesundkost', 'Heerstr. 22', 'Leipzig', NULL, '04179', 'Germany' ) ;
+INSERT INTO GHTDB.ORDERS ( OrderID, CustomerID, EmployeeID, OrderDate, RequiredDate, ShippedDate, ShipVia, Freight, ShipName, ShipAddress, ShipCity, ShipRegion, ShipPostalCode, ShipCountry ) VALUES (10700, 'SAVEA', 3, '10/10/1997 12:00:00 AM', '11/7/1997 12:00:00 AM', '10/16/1997 12:00:00 AM', 1, 65.1, 'Save-a-lot Markets', '187 Suffolk Ln.', 'Boise', 'ID', '83720', 'USA' ) ;
+INSERT INTO GHTDB.ORDERS ( OrderID, CustomerID, EmployeeID, OrderDate, RequiredDate, ShippedDate, ShipVia, Freight, ShipName, ShipAddress, ShipCity, ShipRegion, ShipPostalCode, ShipCountry ) VALUES (10701, 'HUNGO', 6, '10/13/1997 12:00:00 AM', '10/27/1997 12:00:00 AM', '10/15/1997 12:00:00 AM', 3, 220.31, 'Hungry Owl All-Night Grocers', '8 Johnstown Road', 'Cork', 'Co. Cork', NULL, 'Ireland' ) ;
+INSERT INTO GHTDB.ORDERS ( OrderID, CustomerID, EmployeeID, OrderDate, RequiredDate, ShippedDate, ShipVia, Freight, ShipName, ShipAddress, ShipCity, ShipRegion, ShipPostalCode, ShipCountry ) VALUES (10702, 'ALFKI', 4, '10/13/1997 12:00:00 AM', '11/24/1997 12:00:00 AM', '10/21/1997 12:00:00 AM', 1, 23.94, 'Alfred''s Futterkiste', 'Obere Str. 57', 'Berlin', NULL, '12209', 'Germany' ) ;
+INSERT INTO GHTDB.ORDERS ( OrderID, CustomerID, EmployeeID, OrderDate, RequiredDate, ShippedDate, ShipVia, Freight, ShipName, ShipAddress, ShipCity, ShipRegion, ShipPostalCode, ShipCountry ) VALUES (10703, 'FOLKO', 6, '10/14/1997 12:00:00 AM', '11/11/1997 12:00:00 AM', '10/20/1997 12:00:00 AM', 2, 152.3, 'Folk och fä HB', 'Ã…kergatan 24', 'Bräcke', NULL, 'S-844 67', 'Sweden' ) ;
+INSERT INTO GHTDB.ORDERS ( OrderID, CustomerID, EmployeeID, OrderDate, RequiredDate, ShippedDate, ShipVia, Freight, ShipName, ShipAddress, ShipCity, ShipRegion, ShipPostalCode, ShipCountry ) VALUES (10704, 'QUEEN', 6, '10/14/1997 12:00:00 AM', '11/11/1997 12:00:00 AM', '11/7/1997 12:00:00 AM', 1, 4.78, 'Queen Cozinha', 'Alameda dos Canàrios, 891', 'Sao Paulo', 'SP', '05487-020', 'Brazil' ) ;
+INSERT INTO GHTDB.ORDERS ( OrderID, CustomerID, EmployeeID, OrderDate, RequiredDate, ShippedDate, ShipVia, Freight, ShipName, ShipAddress, ShipCity, ShipRegion, ShipPostalCode, ShipCountry ) VALUES (10705, 'HILAA', 9, '10/15/1997 12:00:00 AM', '11/12/1997 12:00:00 AM', '11/18/1997 12:00:00 AM', 2, 3.52, 'HILARION-Abastos', 'Carrera 22 con Ave. Carlos Soublette #8-35', 'San Cristóbal', 'Táchira', '5022', 'Venezuela' ) ;
+INSERT INTO GHTDB.ORDERS ( OrderID, CustomerID, EmployeeID, OrderDate, RequiredDate, ShippedDate, ShipVia, Freight, ShipName, ShipAddress, ShipCity, ShipRegion, ShipPostalCode, ShipCountry ) VALUES (10706, 'OLDWO', 8, '10/16/1997 12:00:00 AM', '11/13/1997 12:00:00 AM', '10/21/1997 12:00:00 AM', 3, 135.63, 'Old World Delicatessen', '2743 Bering St.', 'Anchorage', 'AK', '99508', 'USA' ) ;
+INSERT INTO GHTDB.ORDERS ( OrderID, CustomerID, EmployeeID, OrderDate, RequiredDate, ShippedDate, ShipVia, Freight, ShipName, ShipAddress, ShipCity, ShipRegion, ShipPostalCode, ShipCountry ) VALUES (10707, 'AROUT', 4, '10/16/1997 12:00:00 AM', '10/30/1997 12:00:00 AM', '10/23/1997 12:00:00 AM', 3, 21.74, 'Around the Horn', 'Brook Farm Stratford St. Mary', 'Colchester', 'Essex', 'CO7 6JX', 'UK' ) ;
+INSERT INTO GHTDB.ORDERS ( OrderID, CustomerID, EmployeeID, OrderDate, RequiredDate, ShippedDate, ShipVia, Freight, ShipName, ShipAddress, ShipCity, ShipRegion, ShipPostalCode, ShipCountry ) VALUES (10708, 'THEBI', 6, '10/17/1997 12:00:00 AM', '11/28/1997 12:00:00 AM', '11/5/1997 12:00:00 AM', 2, 2.96, 'The Big Cheese', '89 Jefferson Way Suite 2', 'Portland', 'OR', '97201', 'USA' ) ;
+INSERT INTO GHTDB.ORDERS ( OrderID, CustomerID, EmployeeID, OrderDate, RequiredDate, ShippedDate, ShipVia, Freight, ShipName, ShipAddress, ShipCity, ShipRegion, ShipPostalCode, ShipCountry ) VALUES (10709, 'GOURL', 1, '10/17/1997 12:00:00 AM', '11/14/1997 12:00:00 AM', '11/20/1997 12:00:00 AM', 3, 210.8, 'Gourmet Lanchonetes', 'Av. Brasil, 442', 'Campinas', 'SP', '04876-786', 'Brazil' ) ;
+INSERT INTO GHTDB.ORDERS ( OrderID, CustomerID, EmployeeID, OrderDate, RequiredDate, ShippedDate, ShipVia, Freight, ShipName, ShipAddress, ShipCity, ShipRegion, ShipPostalCode, ShipCountry ) VALUES (10710, 'FRANS', 1, '10/20/1997 12:00:00 AM', '11/17/1997 12:00:00 AM', '10/23/1997 12:00:00 AM', 1, 4.98, 'Franchi S.p.A.', 'Via Monte Bianco 34', 'Torino', NULL, '10100', 'Italy' ) ;
+INSERT INTO GHTDB.ORDERS ( OrderID, CustomerID, EmployeeID, OrderDate, RequiredDate, ShippedDate, ShipVia, Freight, ShipName, ShipAddress, ShipCity, ShipRegion, ShipPostalCode, ShipCountry ) VALUES (10711, 'SAVEA', 5, '10/21/1997 12:00:00 AM', '12/2/1997 12:00:00 AM', '10/29/1997 12:00:00 AM', 2, 52.41, 'Save-a-lot Markets', '187 Suffolk Ln.', 'Boise', 'ID', '83720', 'USA' ) ;
+INSERT INTO GHTDB.ORDERS ( OrderID, CustomerID, EmployeeID, OrderDate, RequiredDate, ShippedDate, ShipVia, Freight, ShipName, ShipAddress, ShipCity, ShipRegion, ShipPostalCode, ShipCountry ) VALUES (10712, 'HUNGO', 3, '10/21/1997 12:00:00 AM', '11/18/1997 12:00:00 AM', '10/31/1997 12:00:00 AM', 1, 89.93, 'Hungry Owl All-Night Grocers', '8 Johnstown Road', 'Cork', 'Co. Cork', NULL, 'Ireland' ) ;
+INSERT INTO GHTDB.ORDERS ( OrderID, CustomerID, EmployeeID, OrderDate, RequiredDate, ShippedDate, ShipVia, Freight, ShipName, ShipAddress, ShipCity, ShipRegion, ShipPostalCode, ShipCountry ) VALUES (10713, 'SAVEA', 1, '10/22/1997 12:00:00 AM', '11/19/1997 12:00:00 AM', '10/24/1997 12:00:00 AM', 1, 167.05, 'Save-a-lot Markets', '187 Suffolk Ln.', 'Boise', 'ID', '83720', 'USA' ) ;
+INSERT INTO GHTDB.ORDERS ( OrderID, CustomerID, EmployeeID, OrderDate, RequiredDate, ShippedDate, ShipVia, Freight, ShipName, ShipAddress, ShipCity, ShipRegion, ShipPostalCode, ShipCountry ) VALUES (10714, 'SAVEA', 5, '10/22/1997 12:00:00 AM', '11/19/1997 12:00:00 AM', '10/27/1997 12:00:00 AM', 3, 24.49, 'Save-a-lot Markets', '187 Suffolk Ln.', 'Boise', 'ID', '83720', 'USA' ) ;
+INSERT INTO GHTDB.ORDERS ( OrderID, CustomerID, EmployeeID, OrderDate, RequiredDate, ShippedDate, ShipVia, Freight, ShipName, ShipAddress, ShipCity, ShipRegion, ShipPostalCode, ShipCountry ) VALUES (10715, 'BONAP', 3, '10/23/1997 12:00:00 AM', '11/6/1997 12:00:00 AM', '10/29/1997 12:00:00 AM', 1, 63.2, 'Bon app''', '12, rue des Bouchers', 'Marseille', NULL, '13008', 'France' ) ;
+INSERT INTO GHTDB.ORDERS ( OrderID, CustomerID, EmployeeID, OrderDate, RequiredDate, ShippedDate, ShipVia, Freight, ShipName, ShipAddress, ShipCity, ShipRegion, ShipPostalCode, ShipCountry ) VALUES (10716, 'RANCH', 4, '10/24/1997 12:00:00 AM', '11/21/1997 12:00:00 AM', '10/27/1997 12:00:00 AM', 2, 22.57, 'Rancho grande', 'Av. del Libertador 900', 'Buenos Aires', NULL, '1010', 'Argentina' ) ;
+INSERT INTO GHTDB.ORDERS ( OrderID, CustomerID, EmployeeID, OrderDate, RequiredDate, ShippedDate, ShipVia, Freight, ShipName, ShipAddress, ShipCity, ShipRegion, ShipPostalCode, ShipCountry ) VALUES (10717, 'FRANK', 1, '10/24/1997 12:00:00 AM', '11/21/1997 12:00:00 AM', '10/29/1997 12:00:00 AM', 2, 59.25, 'Frankenversand', 'Berliner Platz 43', 'München', NULL, '80805', 'Germany' ) ;
+INSERT INTO GHTDB.ORDERS ( OrderID, CustomerID, EmployeeID, OrderDate, RequiredDate, ShippedDate, ShipVia, Freight, ShipName, ShipAddress, ShipCity, ShipRegion, ShipPostalCode, ShipCountry ) VALUES (10718, 'KOENE', 1, '10/27/1997 12:00:00 AM', '11/24/1997 12:00:00 AM', '10/29/1997 12:00:00 AM', 3, 170.88, 'Königlich Essen', 'Maubelstr. 90', 'Brandenburg', NULL, '14776', 'Germany' ) ;
+INSERT INTO GHTDB.ORDERS ( OrderID, CustomerID, EmployeeID, OrderDate, RequiredDate, ShippedDate, ShipVia, Freight, ShipName, ShipAddress, ShipCity, ShipRegion, ShipPostalCode, ShipCountry ) VALUES (10719, 'LETSS', 8, '10/27/1997 12:00:00 AM', '11/24/1997 12:00:00 AM', '11/5/1997 12:00:00 AM', 2, 51.44, 'Let''s Stop N Shop', '87 Polk St. Suite 5', 'San Francisco', 'CA', '94117', 'USA' ) ;
+INSERT INTO GHTDB.ORDERS ( OrderID, CustomerID, EmployeeID, OrderDate, RequiredDate, ShippedDate, ShipVia, Freight, ShipName, ShipAddress, ShipCity, ShipRegion, ShipPostalCode, ShipCountry ) VALUES (10720, 'QUEDE', 8, '10/28/1997 12:00:00 AM', '11/11/1997 12:00:00 AM', '11/5/1997 12:00:00 AM', 2, 9.53, 'Que Delícia', 'Rua da Panificadora, 12', 'Rio de Janeiro', 'RJ', '02389-673', 'Brazil' ) ;
+INSERT INTO GHTDB.ORDERS ( OrderID, CustomerID, EmployeeID, OrderDate, RequiredDate, ShippedDate, ShipVia, Freight, ShipName, ShipAddress, ShipCity, ShipRegion, ShipPostalCode, ShipCountry ) VALUES (10721, 'QUICK', 5, '10/29/1997 12:00:00 AM', '11/26/1997 12:00:00 AM', '10/31/1997 12:00:00 AM', 3, 48.92, 'QUICK-Stop', 'Taucherstraße 10', 'Cunewalde', NULL, '01307', 'Germany' ) ;
+INSERT INTO GHTDB.ORDERS ( OrderID, CustomerID, EmployeeID, OrderDate, RequiredDate, ShippedDate, ShipVia, Freight, ShipName, ShipAddress, ShipCity, ShipRegion, ShipPostalCode, ShipCountry ) VALUES (10722, 'SAVEA', 8, '10/29/1997 12:00:00 AM', '12/10/1997 12:00:00 AM', '11/4/1997 12:00:00 AM', 1, 74.58, 'Save-a-lot Markets', '187 Suffolk Ln.', 'Boise', 'ID', '83720', 'USA' ) ;
+INSERT INTO GHTDB.ORDERS ( OrderID, CustomerID, EmployeeID, OrderDate, RequiredDate, ShippedDate, ShipVia, Freight, ShipName, ShipAddress, ShipCity, ShipRegion, ShipPostalCode, ShipCountry ) VALUES (10723, 'WHITC', 3, '10/30/1997 12:00:00 AM', '11/27/1997 12:00:00 AM', '11/25/1997 12:00:00 AM', 1, 21.72, 'White Clover Markets', '1029 - 12th Ave. S.', 'Seattle', 'WA', '98124', 'USA' ) ;
+INSERT INTO GHTDB.ORDERS ( OrderID, CustomerID, EmployeeID, OrderDate, RequiredDate, ShippedDate, ShipVia, Freight, ShipName, ShipAddress, ShipCity, ShipRegion, ShipPostalCode, ShipCountry ) VALUES (10724, 'MEREP', 8, '10/30/1997 12:00:00 AM', '12/11/1997 12:00:00 AM', '11/5/1997 12:00:00 AM', 2, 57.75, 'Mère Paillarde', '43 rue St. Laurent', 'Montréal', 'Québec', 'H1J 1C3', 'Canada' ) ;
+INSERT INTO GHTDB.ORDERS ( OrderID, CustomerID, EmployeeID, OrderDate, RequiredDate, ShippedDate, ShipVia, Freight, ShipName, ShipAddress, ShipCity, ShipRegion, ShipPostalCode, ShipCountry ) VALUES (10725, 'FAMIA', 4, '10/31/1997 12:00:00 AM', '11/28/1997 12:00:00 AM', '11/5/1997 12:00:00 AM', 3, 10.83, 'Familia Arquibaldo', 'Rua Orós, 92', 'Sao Paulo', 'SP', '05442-030', 'Brazil' ) ;
+INSERT INTO GHTDB.ORDERS ( OrderID, CustomerID, EmployeeID, OrderDate, RequiredDate, ShippedDate, ShipVia, Freight, ShipName, ShipAddress, ShipCity, ShipRegion, ShipPostalCode, ShipCountry ) VALUES (10726, 'EASTC', 4, '11/3/1997 12:00:00 AM', '11/17/1997 12:00:00 AM', '12/5/1997 12:00:00 AM', 1, 16.56, 'Eastern Connection', '35 King George', 'London', NULL, 'WX3 6FW', 'UK' ) ;
+INSERT INTO GHTDB.ORDERS ( OrderID, CustomerID, EmployeeID, OrderDate, RequiredDate, ShippedDate, ShipVia, Freight, ShipName, ShipAddress, ShipCity, ShipRegion, ShipPostalCode, ShipCountry ) VALUES (10727, 'REGGC', 2, '11/3/1997 12:00:00 AM', '12/1/1997 12:00:00 AM', '12/5/1997 12:00:00 AM', 1, 89.9, 'Reggiani Caseifici', 'Strada Provinciale 124', 'Reggio Emilia', NULL, '42100', 'Italy' ) ;
+INSERT INTO GHTDB.ORDERS ( OrderID, CustomerID, EmployeeID, OrderDate, RequiredDate, ShippedDate, ShipVia, Freight, ShipName, ShipAddress, ShipCity, ShipRegion, ShipPostalCode, ShipCountry ) VALUES (10728, 'QUEEN', 4, '11/4/1997 12:00:00 AM', '12/2/1997 12:00:00 AM', '11/11/1997 12:00:00 AM', 2, 58.33, 'Queen Cozinha', 'Alameda dos Canàrios, 891', 'Sao Paulo', 'SP', '05487-020', 'Brazil' ) ;
+INSERT INTO GHTDB.ORDERS ( OrderID, CustomerID, EmployeeID, OrderDate, RequiredDate, ShippedDate, ShipVia, Freight, ShipName, ShipAddress, ShipCity, ShipRegion, ShipPostalCode, ShipCountry ) VALUES (10729, 'LINOD', 8, '11/4/1997 12:00:00 AM', '12/16/1997 12:00:00 AM', '11/14/1997 12:00:00 AM', 3, 141.06, 'LINO-Delicateses', 'Ave. 5 de Mayo Porlamar', 'I. de Margarita', 'Nueva Esparta', '4980', 'Venezuela' ) ;
+INSERT INTO GHTDB.ORDERS ( OrderID, CustomerID, EmployeeID, OrderDate, RequiredDate, ShippedDate, ShipVia, Freight, ShipName, ShipAddress, ShipCity, ShipRegion, ShipPostalCode, ShipCountry ) VALUES (10730, 'BONAP', 5, '11/5/1997 12:00:00 AM', '12/3/1997 12:00:00 AM', '11/14/1997 12:00:00 AM', 1, 20.12, 'Bon app''', '12, rue des Bouchers', 'Marseille', NULL, '13008', 'France' ) ;
+INSERT INTO GHTDB.ORDERS ( OrderID, CustomerID, EmployeeID, OrderDate, RequiredDate, ShippedDate, ShipVia, Freight, ShipName, ShipAddress, ShipCity, ShipRegion, ShipPostalCode, ShipCountry ) VALUES (10731, 'CHOPS', 7, '11/6/1997 12:00:00 AM', '12/4/1997 12:00:00 AM', '11/14/1997 12:00:00 AM', 1, 96.65, 'Chop-suey Chinese', 'Hauptstr. 31', 'Bern', NULL, '3012', 'Switzerland' ) ;
+INSERT INTO GHTDB.ORDERS ( OrderID, CustomerID, EmployeeID, OrderDate, RequiredDate, ShippedDate, ShipVia, Freight, ShipName, ShipAddress, ShipCity, ShipRegion, ShipPostalCode, ShipCountry ) VALUES (10732, 'BONAP', 3, '11/6/1997 12:00:00 AM', '12/4/1997 12:00:00 AM', '11/7/1997 12:00:00 AM', 1, 16.97, 'Bon app''', '12, rue des Bouchers', 'Marseille', NULL, '13008', 'France' ) ;
+INSERT INTO GHTDB.ORDERS ( OrderID, CustomerID, EmployeeID, OrderDate, RequiredDate, ShippedDate, ShipVia, Freight, ShipName, ShipAddress, ShipCity, ShipRegion, ShipPostalCode, ShipCountry ) VALUES (10733, 'BERGS', 1, '11/7/1997 12:00:00 AM', '12/5/1997 12:00:00 AM', '11/10/1997 12:00:00 AM', 3, 110.11, 'Berglunds snabbköp', 'Berguvsvägen  8', 'LuleÃ¥', NULL, 'S-958 22', 'Sweden' ) ;
+INSERT INTO GHTDB.ORDERS ( OrderID, CustomerID, EmployeeID, OrderDate, RequiredDate, ShippedDate, ShipVia, Freight, ShipName, ShipAddress, ShipCity, ShipRegion, ShipPostalCode, ShipCountry ) VALUES (10734, 'GOURL', 2, '11/7/1997 12:00:00 AM', '12/5/1997 12:00:00 AM', '11/12/1997 12:00:00 AM', 3, 1.63, 'Gourmet Lanchonetes', 'Av. Brasil, 442', 'Campinas', 'SP', '04876-786', 'Brazil' ) ;
+INSERT INTO GHTDB.ORDERS ( OrderID, CustomerID, EmployeeID, OrderDate, RequiredDate, ShippedDate, ShipVia, Freight, ShipName, ShipAddress, ShipCity, ShipRegion, ShipPostalCode, ShipCountry ) VALUES (10735, 'LETSS', 6, '11/10/1997 12:00:00 AM', '12/8/1997 12:00:00 AM', '11/21/1997 12:00:00 AM', 2, 45.97, 'Let''s Stop N Shop', '87 Polk St. Suite 5', 'San Francisco', 'CA', '94117', 'USA' ) ;
+INSERT INTO GHTDB.ORDERS ( OrderID, CustomerID, EmployeeID, OrderDate, RequiredDate, ShippedDate, ShipVia, Freight, ShipName, ShipAddress, ShipCity, ShipRegion, ShipPostalCode, ShipCountry ) VALUES (10736, 'HUNGO', 9, '11/11/1997 12:00:00 AM', '12/9/1997 12:00:00 AM', '11/21/1997 12:00:00 AM', 2, 44.1, 'Hungry Owl All-Night Grocers', '8 Johnstown Road', 'Cork', 'Co. Cork', NULL, 'Ireland' ) ;
+INSERT INTO GHTDB.ORDERS ( OrderID, CustomerID, EmployeeID, OrderDate, RequiredDate, ShippedDate, ShipVia, Freight, ShipName, ShipAddress, ShipCity, ShipRegion, ShipPostalCode, ShipCountry ) VALUES (10737, 'VINET', 2, '11/11/1997 12:00:00 AM', '12/9/1997 12:00:00 AM', '11/18/1997 12:00:00 AM', 2, 7.79, 'Vins et alcools Chevalier', '59 rue de l''Abbaye', 'Reims', NULL, '51100', 'France' ) ;
+INSERT INTO GHTDB.ORDERS ( OrderID, CustomerID, EmployeeID, OrderDate, RequiredDate, ShippedDate, ShipVia, Freight, ShipName, ShipAddress, ShipCity, ShipRegion, ShipPostalCode, ShipCountry ) VALUES (10738, 'SPECD', 2, '11/12/1997 12:00:00 AM', '12/10/1997 12:00:00 AM', '11/18/1997 12:00:00 AM', 1, 2.91, 'Spécialités du monde', '25, rue Lauriston', 'Paris', NULL, '75016', 'France' ) ;
+INSERT INTO GHTDB.ORDERS ( OrderID, CustomerID, EmployeeID, OrderDate, RequiredDate, ShippedDate, ShipVia, Freight, ShipName, ShipAddress, ShipCity, ShipRegion, ShipPostalCode, ShipCountry ) VALUES (10739, 'VINET', 3, '11/12/1997 12:00:00 AM', '12/10/1997 12:00:00 AM', '11/17/1997 12:00:00 AM', 3, 11.08, 'Vins et alcools Chevalier', '59 rue de l''Abbaye', 'Reims', NULL, '51100', 'France' ) ;
+INSERT INTO GHTDB.ORDERS ( OrderID, CustomerID, EmployeeID, OrderDate, RequiredDate, ShippedDate, ShipVia, Freight, ShipName, ShipAddress, ShipCity, ShipRegion, ShipPostalCode, ShipCountry ) VALUES (10740, 'WHITC', 4, '11/13/1997 12:00:00 AM', '12/11/1997 12:00:00 AM', '11/25/1997 12:00:00 AM', 2, 81.88, 'White Clover Markets', '1029 - 12th Ave. S.', 'Seattle', 'WA', '98124', 'USA' ) ;
+INSERT INTO GHTDB.ORDERS ( OrderID, CustomerID, EmployeeID, OrderDate, RequiredDate, ShippedDate, ShipVia, Freight, ShipName, ShipAddress, ShipCity, ShipRegion, ShipPostalCode, ShipCountry ) VALUES (10741, 'AROUT', 4, '11/14/1997 12:00:00 AM', '11/28/1997 12:00:00 AM', '11/18/1997 12:00:00 AM', 3, 10.96, 'Around the Horn', 'Brook Farm Stratford St. Mary', 'Colchester', 'Essex', 'CO7 6JX', 'UK' ) ;
+INSERT INTO GHTDB.ORDERS ( OrderID, CustomerID, EmployeeID, OrderDate, RequiredDate, ShippedDate, ShipVia, Freight, ShipName, ShipAddress, ShipCity, ShipRegion, ShipPostalCode, ShipCountry ) VALUES (10742, 'BOTTM', 3, '11/14/1997 12:00:00 AM', '12/12/1997 12:00:00 AM', '11/18/1997 12:00:00 AM', 3, 243.73, 'Bottom-Dollar Markets', '23 Tsawassen Blvd.', 'Tsawassen', 'BC', 'T2F 8M4', 'Canada' ) ;
+INSERT INTO GHTDB.ORDERS ( OrderID, CustomerID, EmployeeID, OrderDate, RequiredDate, ShippedDate, ShipVia, Freight, ShipName, ShipAddress, ShipCity, ShipRegion, ShipPostalCode, ShipCountry ) VALUES (10743, 'AROUT', 1, '11/17/1997 12:00:00 AM', '12/15/1997 12:00:00 AM', '11/21/1997 12:00:00 AM', 2, 23.72, 'Around the Horn', 'Brook Farm Stratford St. Mary', 'Colchester', 'Essex', 'CO7 6JX', 'UK' ) ;
+INSERT INTO GHTDB.ORDERS ( OrderID, CustomerID, EmployeeID, OrderDate, RequiredDate, ShippedDate, ShipVia, Freight, ShipName, ShipAddress, ShipCity, ShipRegion, ShipPostalCode, ShipCountry ) VALUES (10744, 'VAFFE', 6, '11/17/1997 12:00:00 AM', '12/15/1997 12:00:00 AM', '11/24/1997 12:00:00 AM', 1, 69.19, 'Vaffeljernet', 'Smagsloget 45', 'Ã…rhus', NULL, '8200', 'Denmark' ) ;
+INSERT INTO GHTDB.ORDERS ( OrderID, CustomerID, EmployeeID, OrderDate, RequiredDate, ShippedDate, ShipVia, Freight, ShipName, ShipAddress, ShipCity, ShipRegion, ShipPostalCode, ShipCountry ) VALUES (10745, 'QUICK', 9, '11/18/1997 12:00:00 AM', '12/16/1997 12:00:00 AM', '11/27/1997 12:00:00 AM', 1, 3.52, 'QUICK-Stop', 'Taucherstraße 10', 'Cunewalde', NULL, '01307', 'Germany' ) ;
+INSERT INTO GHTDB.ORDERS ( OrderID, CustomerID, EmployeeID, OrderDate, RequiredDate, ShippedDate, ShipVia, Freight, ShipName, ShipAddress, ShipCity, ShipRegion, ShipPostalCode, ShipCountry ) VALUES (10746, 'CHOPS', 1, '11/19/1997 12:00:00 AM', '12/17/1997 12:00:00 AM', '11/21/1997 12:00:00 AM', 3, 31.43, 'Chop-suey Chinese', 'Hauptstr. 31', 'Bern', NULL, '3012', 'Switzerland' ) ;
+INSERT INTO GHTDB.ORDERS ( OrderID, CustomerID, EmployeeID, OrderDate, RequiredDate, ShippedDate, ShipVia, Freight, ShipName, ShipAddress, ShipCity, ShipRegion, ShipPostalCode, ShipCountry ) VALUES (10747, 'PICCO', 6, '11/19/1997 12:00:00 AM', '12/17/1997 12:00:00 AM', '11/26/1997 12:00:00 AM', 1, 117.33, 'Piccolo und mehr', 'Geislweg 14', 'Salzburg', NULL, '5020', 'Austria' ) ;
+INSERT INTO GHTDB.ORDERS ( OrderID, CustomerID, EmployeeID, OrderDate, RequiredDate, ShippedDate, ShipVia, Freight, ShipName, ShipAddress, ShipCity, ShipRegion, ShipPostalCode, ShipCountry ) VALUES (10748, 'SAVEA', 3, '11/20/1997 12:00:00 AM', '12/18/1997 12:00:00 AM', '11/28/1997 12:00:00 AM', 1, 232.55, 'Save-a-lot Markets', '187 Suffolk Ln.', 'Boise', 'ID', '83720', 'USA' ) ;
+INSERT INTO GHTDB.ORDERS ( OrderID, CustomerID, EmployeeID, OrderDate, RequiredDate, ShippedDate, ShipVia, Freight, ShipName, ShipAddress, ShipCity, ShipRegion, ShipPostalCode, ShipCountry ) VALUES (10749, 'ISLAT', 4, '11/20/1997 12:00:00 AM', '12/18/1997 12:00:00 AM', '12/19/1997 12:00:00 AM', 2, 61.53, 'Island Trading', 'Garden House Crowther Way', 'Cowes', 'Isle of Wight', 'PO31 7PJ', 'UK' ) ;
+INSERT INTO GHTDB.ORDERS ( OrderID, CustomerID, EmployeeID, OrderDate, RequiredDate, ShippedDate, ShipVia, Freight, ShipName, ShipAddress, ShipCity, ShipRegion, ShipPostalCode, ShipCountry ) VALUES (10750, 'WARTH', 9, '11/21/1997 12:00:00 AM', '12/19/1997 12:00:00 AM', '11/24/1997 12:00:00 AM', 1, 79.3, 'Wartian Herkku', 'Torikatu 38', 'Oulu', NULL, '90110', 'Finland' ) ;
+INSERT INTO GHTDB.ORDERS ( OrderID, CustomerID, EmployeeID, OrderDate, RequiredDate, ShippedDate, ShipVia, Freight, ShipName, ShipAddress, ShipCity, ShipRegion, ShipPostalCode, ShipCountry ) VALUES (10751, 'RICSU', 3, '11/24/1997 12:00:00 AM', '12/22/1997 12:00:00 AM', '12/3/1997 12:00:00 AM', 3, 130.79, 'Richter Supermarkt', 'Starenweg 5', 'Genève', NULL, '1204', 'Switzerland' ) ;
+INSERT INTO GHTDB.ORDERS ( OrderID, CustomerID, EmployeeID, OrderDate, RequiredDate, ShippedDate, ShipVia, Freight, ShipName, ShipAddress, ShipCity, ShipRegion, ShipPostalCode, ShipCountry ) VALUES (10752, 'NORTS', 2, '11/24/1997 12:00:00 AM', '12/22/1997 12:00:00 AM', '11/28/1997 12:00:00 AM', 3, 1.39, 'North/South', 'South House 300 Queensbridge', 'London', NULL, 'SW7 1RZ', 'UK' ) ;
+INSERT INTO GHTDB.ORDERS ( OrderID, CustomerID, EmployeeID, OrderDate, RequiredDate, ShippedDate, ShipVia, Freight, ShipName, ShipAddress, ShipCity, ShipRegion, ShipPostalCode, ShipCountry ) VALUES (10753, 'FRANS', 3, '11/25/1997 12:00:00 AM', '12/23/1997 12:00:00 AM', '11/27/1997 12:00:00 AM', 1, 7.7, 'Franchi S.p.A.', 'Via Monte Bianco 34', 'Torino', NULL, '10100', 'Italy' ) ;
+INSERT INTO GHTDB.ORDERS ( OrderID, CustomerID, EmployeeID, OrderDate, RequiredDate, ShippedDate, ShipVia, Freight, ShipName, ShipAddress, ShipCity, ShipRegion, ShipPostalCode, ShipCountry ) VALUES (10754, 'MAGAA', 6, '11/25/1997 12:00:00 AM', '12/23/1997 12:00:00 AM', '11/27/1997 12:00:00 AM', 3, 2.38, 'Magazzini Alimentari Riuniti', 'Via Ludovico il Moro 22', 'Bergamo', NULL, '24100', 'Italy' ) ;
+INSERT INTO GHTDB.ORDERS ( OrderID, CustomerID, EmployeeID, OrderDate, RequiredDate, ShippedDate, ShipVia, Freight, ShipName, ShipAddress, ShipCity, ShipRegion, ShipPostalCode, ShipCountry ) VALUES (10755, 'BONAP', 4, '11/26/1997 12:00:00 AM', '12/24/1997 12:00:00 AM', '11/28/1997 12:00:00 AM', 2, 16.71, 'Bon app''', '12, rue des Bouchers', 'Marseille', NULL, '13008', 'France' ) ;
+INSERT INTO GHTDB.ORDERS ( OrderID, CustomerID, EmployeeID, OrderDate, RequiredDate, ShippedDate, ShipVia, Freight, ShipName, ShipAddress, ShipCity, ShipRegion, ShipPostalCode, ShipCountry ) VALUES (10756, 'SPLIR', 8, '11/27/1997 12:00:00 AM', '12/25/1997 12:00:00 AM', '12/2/1997 12:00:00 AM', 2, 73.21, 'Split Rail Beer & Ale', 'P.O. Box 555', 'Lander', 'WY', '82520', 'USA' ) ;
+INSERT INTO GHTDB.ORDERS ( OrderID, CustomerID, EmployeeID, OrderDate, RequiredDate, ShippedDate, ShipVia, Freight, ShipName, ShipAddress, ShipCity, ShipRegion, ShipPostalCode, ShipCountry ) VALUES (10757, 'SAVEA', 6, '11/27/1997 12:00:00 AM', '12/25/1997 12:00:00 AM', '12/15/1997 12:00:00 AM', 1, 8.19, 'Save-a-lot Markets', '187 Suffolk Ln.', 'Boise', 'ID', '83720', 'USA' ) ;
+INSERT INTO GHTDB.ORDERS ( OrderID, CustomerID, EmployeeID, OrderDate, RequiredDate, ShippedDate, ShipVia, Freight, ShipName, ShipAddress, ShipCity, ShipRegion, ShipPostalCode, ShipCountry ) VALUES (10758, 'RICSU', 3, '11/28/1997 12:00:00 AM', '12/26/1997 12:00:00 AM', '12/4/1997 12:00:00 AM', 3, 138.17, 'Richter Supermarkt', 'Starenweg 5', 'Genève', NULL, '1204', 'Switzerland' ) ;
+INSERT INTO GHTDB.ORDERS ( OrderID, CustomerID, EmployeeID, OrderDate, RequiredDate, ShippedDate, ShipVia, Freight, ShipName, ShipAddress, ShipCity, ShipRegion, ShipPostalCode, ShipCountry ) VALUES (10759, 'ANATR', 3, '11/28/1997 12:00:00 AM', '12/26/1997 12:00:00 AM', '12/12/1997 12:00:00 AM', 3, 11.99, 'Ana Trujillo Emparedados y helados', 'Avda. de la Constitución 2222', 'México D.F.', NULL, '05021', 'Mexico' ) ;
+INSERT INTO GHTDB.ORDERS ( OrderID, CustomerID, EmployeeID, OrderDate, RequiredDate, ShippedDate, ShipVia, Freight, ShipName, ShipAddress, ShipCity, ShipRegion, ShipPostalCode, ShipCountry ) VALUES (10760, 'MAISD', 4, '12/1/1997 12:00:00 AM', '12/29/1997 12:00:00 AM', '12/10/1997 12:00:00 AM', 1, 155.64, 'Maison Dewey', 'Rue Joseph-Bens 532', 'Bruxelles', NULL, 'B-1180', 'Belgium' ) ;
+INSERT INTO GHTDB.ORDERS ( OrderID, CustomerID, EmployeeID, OrderDate, RequiredDate, ShippedDate, ShipVia, Freight, ShipName, ShipAddress, ShipCity, ShipRegion, ShipPostalCode, ShipCountry ) VALUES (10761, 'RATTC', 5, '12/2/1997 12:00:00 AM', '12/30/1997 12:00:00 AM', '12/8/1997 12:00:00 AM', 2, 18.66, 'Rattlesnake Canyon Grocery', '2817 Milton Dr.', 'Albuquerque', 'NM', '87110', 'USA' ) ;
+INSERT INTO GHTDB.ORDERS ( OrderID, CustomerID, EmployeeID, OrderDate, RequiredDate, ShippedDate, ShipVia, Freight, ShipName, ShipAddress, ShipCity, ShipRegion, ShipPostalCode, ShipCountry ) VALUES (10762, 'FOLKO', 3, '12/2/1997 12:00:00 AM', '12/30/1997 12:00:00 AM', '12/9/1997 12:00:00 AM', 1, 328.74, 'Folk och fä HB', 'Ã…kergatan 24', 'Bräcke', NULL, 'S-844 67', 'Sweden' ) ;
+INSERT INTO GHTDB.ORDERS ( OrderID, CustomerID, EmployeeID, OrderDate, RequiredDate, ShippedDate, ShipVia, Freight, ShipName, ShipAddress, ShipCity, ShipRegion, ShipPostalCode, ShipCountry ) VALUES (10763, 'FOLIG', 3, '12/3/1997 12:00:00 AM', '12/31/1997 12:00:00 AM', '12/8/1997 12:00:00 AM', 3, 37.35, 'Folies gourmandes', '184, chaussée de Tournai', 'Lille', NULL, '59000', 'France' ) ;
+INSERT INTO GHTDB.ORDERS ( OrderID, CustomerID, EmployeeID, OrderDate, RequiredDate, ShippedDate, ShipVia, Freight, ShipName, ShipAddress, ShipCity, ShipRegion, ShipPostalCode, ShipCountry ) VALUES (10764, 'ERNSH', 6, '12/3/1997 12:00:00 AM', '12/31/1997 12:00:00 AM', '12/8/1997 12:00:00 AM', 3, 145.45, 'Ernst Handel', 'Kirchgasse 6', 'Graz', NULL, '8010', 'Austria' ) ;
+INSERT INTO GHTDB.ORDERS ( OrderID, CustomerID, EmployeeID, OrderDate, RequiredDate, ShippedDate, ShipVia, Freight, ShipName, ShipAddress, ShipCity, ShipRegion, ShipPostalCode, ShipCountry ) VALUES (10765, 'QUICK', 3, '12/4/1997 12:00:00 AM', '1/1/1998 12:00:00 AM', '12/9/1997 12:00:00 AM', 3, 42.74, 'QUICK-Stop', 'Taucherstraße 10', 'Cunewalde', NULL, '01307', 'Germany' ) ;
+INSERT INTO GHTDB.ORDERS ( OrderID, CustomerID, EmployeeID, OrderDate, RequiredDate, ShippedDate, ShipVia, Freight, ShipName, ShipAddress, ShipCity, ShipRegion, ShipPostalCode, ShipCountry ) VALUES (10766, 'OTTIK', 4, '12/5/1997 12:00:00 AM', '1/2/1998 12:00:00 AM', '12/9/1997 12:00:00 AM', 1, 157.55, 'Ottilies Käseladen', 'Mehrheimerstr. 369', 'Köln', NULL, '50739', 'Germany' ) ;
+INSERT INTO GHTDB.ORDERS ( OrderID, CustomerID, EmployeeID, OrderDate, RequiredDate, ShippedDate, ShipVia, Freight, ShipName, ShipAddress, ShipCity, ShipRegion, ShipPostalCode, ShipCountry ) VALUES (10767, 'SUPRD', 4, '12/5/1997 12:00:00 AM', '1/2/1998 12:00:00 AM', '12/15/1997 12:00:00 AM', 3, 1.59, 'Suprêmes délices', 'Boulevard Tirou, 255', 'Charleroi', NULL, 'B-6000', 'Belgium' ) ;
+INSERT INTO GHTDB.ORDERS ( OrderID, CustomerID, EmployeeID, OrderDate, RequiredDate, ShippedDate, ShipVia, Freight, ShipName, ShipAddress, ShipCity, ShipRegion, ShipPostalCode, ShipCountry ) VALUES (10768, 'AROUT', 3, '12/8/1997 12:00:00 AM', '1/5/1998 12:00:00 AM', '12/15/1997 12:00:00 AM', 2, 146.32, 'Around the Horn', 'Brook Farm Stratford St. Mary', 'Colchester', 'Essex', 'CO7 6JX', 'UK' ) ;
+INSERT INTO GHTDB.ORDERS ( OrderID, CustomerID, EmployeeID, OrderDate, RequiredDate, ShippedDate, ShipVia, Freight, ShipName, ShipAddress, ShipCity, ShipRegion, ShipPostalCode, ShipCountry ) VALUES (10769, 'VAFFE', 3, '12/8/1997 12:00:00 AM', '1/5/1998 12:00:00 AM', '12/12/1997 12:00:00 AM', 1, 65.06, 'Vaffeljernet', 'Smagsloget 45', 'Ã…rhus', NULL, '8200', 'Denmark' ) ;
+INSERT INTO GHTDB.ORDERS ( OrderID, CustomerID, EmployeeID, OrderDate, RequiredDate, ShippedDate, ShipVia, Freight, ShipName, ShipAddress, ShipCity, ShipRegion, ShipPostalCode, ShipCountry ) VALUES (10770, 'HANAR', 8, '12/9/1997 12:00:00 AM', '1/6/1998 12:00:00 AM', '12/17/1997 12:00:00 AM', 3, 5.32, 'Hanari Carnes', 'Rua do Paço, 67', 'Rio de Janeiro', 'RJ', '05454-876', 'Brazil' ) ;
+INSERT INTO GHTDB.ORDERS ( OrderID, CustomerID, EmployeeID, OrderDate, RequiredDate, ShippedDate, ShipVia, Freight, ShipName, ShipAddress, ShipCity, ShipRegion, ShipPostalCode, ShipCountry ) VALUES (10771, 'ERNSH', 9, '12/10/1997 12:00:00 AM', '1/7/1998 12:00:00 AM', '1/2/1998 12:00:00 AM', 2, 11.19, 'Ernst Handel', 'Kirchgasse 6', 'Graz', NULL, '8010', 'Austria' ) ;
+INSERT INTO GHTDB.ORDERS ( OrderID, CustomerID, EmployeeID, OrderDate, RequiredDate, ShippedDate, ShipVia, Freight, ShipName, ShipAddress, ShipCity, ShipRegion, ShipPostalCode, ShipCountry ) VALUES (10772, 'LEHMS', 3, '12/10/1997 12:00:00 AM', '1/7/1998 12:00:00 AM', '12/19/1997 12:00:00 AM', 2, 91.28, 'Lehmanns Marktstand', 'Magazinweg 7', 'Frankfurt a.M.', NULL, '60528', 'Germany' ) ;
+INSERT INTO GHTDB.ORDERS ( OrderID, CustomerID, EmployeeID, OrderDate, RequiredDate, ShippedDate, ShipVia, Freight, ShipName, ShipAddress, ShipCity, ShipRegion, ShipPostalCode, ShipCountry ) VALUES (10773, 'ERNSH', 1, '12/11/1997 12:00:00 AM', '1/8/1998 12:00:00 AM', '12/16/1997 12:00:00 AM', 3, 96.43, 'Ernst Handel', 'Kirchgasse 6', 'Graz', NULL, '8010', 'Austria' ) ;
+INSERT INTO GHTDB.ORDERS ( OrderID, CustomerID, EmployeeID, OrderDate, RequiredDate, ShippedDate, ShipVia, Freight, ShipName, ShipAddress, ShipCity, ShipRegion, ShipPostalCode, ShipCountry ) VALUES (10774, 'FOLKO', 4, '12/11/1997 12:00:00 AM', '12/25/1997 12:00:00 AM', '12/12/1997 12:00:00 AM', 1, 48.2, 'Folk och fä HB', 'Ã…kergatan 24', 'Bräcke', NULL, 'S-844 67', 'Sweden' ) ;
+INSERT INTO GHTDB.ORDERS ( OrderID, CustomerID, EmployeeID, OrderDate, RequiredDate, ShippedDate, ShipVia, Freight, ShipName, ShipAddress, ShipCity, ShipRegion, ShipPostalCode, ShipCountry ) VALUES (10775, 'THECR', 7, '12/12/1997 12:00:00 AM', '1/9/1998 12:00:00 AM', '12/26/1997 12:00:00 AM', 1, 20.25, 'The Cracker Box', '55 Grizzly Peak Rd.', 'Butte', 'MT', '59801', 'USA' ) ;
+INSERT INTO GHTDB.ORDERS ( OrderID, CustomerID, EmployeeID, OrderDate, RequiredDate, ShippedDate, ShipVia, Freight, ShipName, ShipAddress, ShipCity, ShipRegion, ShipPostalCode, ShipCountry ) VALUES (10776, 'ERNSH', 1, '12/15/1997 12:00:00 AM', '1/12/1998 12:00:00 AM', '12/18/1997 12:00:00 AM', 3, 351.53, 'Ernst Handel', 'Kirchgasse 6', 'Graz', NULL, '8010', 'Austria' ) ;
+INSERT INTO GHTDB.ORDERS ( OrderID, CustomerID, EmployeeID, OrderDate, RequiredDate, ShippedDate, ShipVia, Freight, ShipName, ShipAddress, ShipCity, ShipRegion, ShipPostalCode, ShipCountry ) VALUES (10777, 'GOURL', 7, '12/15/1997 12:00:00 AM', '12/29/1997 12:00:00 AM', '1/21/1998 12:00:00 AM', 2, 3.01, 'Gourmet Lanchonetes', 'Av. Brasil, 442', 'Campinas', 'SP', '04876-786', 'Brazil' ) ;
+INSERT INTO GHTDB.ORDERS ( OrderID, CustomerID, EmployeeID, OrderDate, RequiredDate, ShippedDate, ShipVia, Freight, ShipName, ShipAddress, ShipCity, ShipRegion, ShipPostalCode, ShipCountry ) VALUES (10778, 'BERGS', 3, '12/16/1997 12:00:00 AM', '1/13/1998 12:00:00 AM', '12/24/1997 12:00:00 AM', 1, 6.79, 'Berglunds snabbköp', 'Berguvsvägen  8', 'LuleÃ¥', NULL, 'S-958 22', 'Sweden' ) ;
+INSERT INTO GHTDB.ORDERS ( OrderID, CustomerID, EmployeeID, OrderDate, RequiredDate, ShippedDate, ShipVia, Freight, ShipName, ShipAddress, ShipCity, ShipRegion, ShipPostalCode, ShipCountry ) VALUES (10779, 'MORGK', 3, '12/16/1997 12:00:00 AM', '1/13/1998 12:00:00 AM', '1/14/1998 12:00:00 AM', 2, 58.13, 'Morgenstern Gesundkost', 'Heerstr. 22', 'Leipzig', NULL, '04179', 'Germany' ) ;
+INSERT INTO GHTDB.ORDERS ( OrderID, CustomerID, EmployeeID, OrderDate, RequiredDate, ShippedDate, ShipVia, Freight, ShipName, ShipAddress, ShipCity, ShipRegion, ShipPostalCode, ShipCountry ) VALUES (10780, 'LILAS', 2, '12/16/1997 12:00:00 AM', '12/30/1997 12:00:00 AM', '12/25/1997 12:00:00 AM', 1, 42.13, 'LILA-Supermercado', 'Carrera 52 con Ave. Bolívar #65-98 Llano Largo', 'Barquisimeto', 'Lara', '3508', 'Venezuela' ) ;
+INSERT INTO GHTDB.ORDERS ( OrderID, CustomerID, EmployeeID, OrderDate, RequiredDate, ShippedDate, ShipVia, Freight, ShipName, ShipAddress, ShipCity, ShipRegion, ShipPostalCode, ShipCountry ) VALUES (10781, 'WARTH', 2, '12/17/1997 12:00:00 AM', '1/14/1998 12:00:00 AM', '12/19/1997 12:00:00 AM', 3, 73.16, 'Wartian Herkku', 'Torikatu 38', 'Oulu', NULL, '90110', 'Finland' ) ;
+INSERT INTO GHTDB.ORDERS ( OrderID, CustomerID, EmployeeID, OrderDate, RequiredDate, ShippedDate, ShipVia, Freight, ShipName, ShipAddress, ShipCity, ShipRegion, ShipPostalCode, ShipCountry ) VALUES (10782, 'CACTU', 9, '12/17/1997 12:00:00 AM', '1/14/1998 12:00:00 AM', '12/22/1997 12:00:00 AM', 3, 1.1, 'Cactus Comidas para llevar', 'Cerrito 333', 'Buenos Aires', NULL, '1010', 'Argentina' ) ;
+INSERT INTO GHTDB.ORDERS ( OrderID, CustomerID, EmployeeID, OrderDate, RequiredDate, ShippedDate, ShipVia, Freight, ShipName, ShipAddress, ShipCity, ShipRegion, ShipPostalCode, ShipCountry ) VALUES (10783, 'HANAR', 4, '12/18/1997 12:00:00 AM', '1/15/1998 12:00:00 AM', '12/19/1997 12:00:00 AM', 2, 124.98, 'Hanari Carnes', 'Rua do Paço, 67', 'Rio de Janeiro', 'RJ', '05454-876', 'Brazil' ) ;
+INSERT INTO GHTDB.ORDERS ( OrderID, CustomerID, EmployeeID, OrderDate, RequiredDate, ShippedDate, ShipVia, Freight, ShipName, ShipAddress, ShipCity, ShipRegion, ShipPostalCode, ShipCountry ) VALUES (10784, 'MAGAA', 4, '12/18/1997 12:00:00 AM', '1/15/1998 12:00:00 AM', '12/22/1997 12:00:00 AM', 3, 70.09, 'Magazzini Alimentari Riuniti', 'Via Ludovico il Moro 22', 'Bergamo', NULL, '24100', 'Italy' ) ;
+INSERT INTO GHTDB.ORDERS ( OrderID, CustomerID, EmployeeID, OrderDate, RequiredDate, ShippedDate, ShipVia, Freight, ShipName, ShipAddress, ShipCity, ShipRegion, ShipPostalCode, ShipCountry ) VALUES (10785, 'GROSR', 1, '12/18/1997 12:00:00 AM', '1/15/1998 12:00:00 AM', '12/24/1997 12:00:00 AM', 3, 1.51, 'GROSELLA-Restaurante', '5ª Ave. Los Palos Grandes', 'Caracas', 'DF', '1081', 'Venezuela' ) ;
+INSERT INTO GHTDB.ORDERS ( OrderID, CustomerID, EmployeeID, OrderDate, RequiredDate, ShippedDate, ShipVia, Freight, ShipName, ShipAddress, ShipCity, ShipRegion, ShipPostalCode, ShipCountry ) VALUES (10786, 'QUEEN', 8, '12/19/1997 12:00:00 AM', '1/16/1998 12:00:00 AM', '12/23/1997 12:00:00 AM', 1, 110.87, 'Queen Cozinha', 'Alameda dos Canàrios, 891', 'Sao Paulo', 'SP', '05487-020', 'Brazil' ) ;
+INSERT INTO GHTDB.ORDERS ( OrderID, CustomerID, EmployeeID, OrderDate, RequiredDate, ShippedDate, ShipVia, Freight, ShipName, ShipAddress, ShipCity, ShipRegion, ShipPostalCode, ShipCountry ) VALUES (10787, 'LAMAI', 2, '12/19/1997 12:00:00 AM', '1/2/1998 12:00:00 AM', '12/26/1997 12:00:00 AM', 1, 249.93, 'La maison d''Asie', '1 rue Alsace-Lorraine', 'Toulouse', NULL, '31000', 'France' ) ;
+INSERT INTO GHTDB.ORDERS ( OrderID, CustomerID, EmployeeID, OrderDate, RequiredDate, ShippedDate, ShipVia, Freight, ShipName, ShipAddress, ShipCity, ShipRegion, ShipPostalCode, ShipCountry ) VALUES (10788, 'QUICK', 1, '12/22/1997 12:00:00 AM', '1/19/1998 12:00:00 AM', '1/19/1998 12:00:00 AM', 2, 42.7, 'QUICK-Stop', 'Taucherstraße 10', 'Cunewalde', NULL, '01307', 'Germany' ) ;
+INSERT INTO GHTDB.ORDERS ( OrderID, CustomerID, EmployeeID, OrderDate, RequiredDate, ShippedDate, ShipVia, Freight, ShipName, ShipAddress, ShipCity, ShipRegion, ShipPostalCode, ShipCountry ) VALUES (10789, 'FOLIG', 1, '12/22/1997 12:00:00 AM', '1/19/1998 12:00:00 AM', '12/31/1997 12:00:00 AM', 2, 100.6, 'Folies gourmandes', '184, chaussée de Tournai', 'Lille', NULL, '59000', 'France' ) ;
+INSERT INTO GHTDB.ORDERS ( OrderID, CustomerID, EmployeeID, OrderDate, RequiredDate, ShippedDate, ShipVia, Freight, ShipName, ShipAddress, ShipCity, ShipRegion, ShipPostalCode, ShipCountry ) VALUES (10790, 'GOURL', 6, '12/22/1997 12:00:00 AM', '1/19/1998 12:00:00 AM', '12/26/1997 12:00:00 AM', 1, 28.23, 'Gourmet Lanchonetes', 'Av. Brasil, 442', 'Campinas', 'SP', '04876-786', 'Brazil' ) ;
+INSERT INTO GHTDB.ORDERS ( OrderID, CustomerID, EmployeeID, OrderDate, RequiredDate, ShippedDate, ShipVia, Freight, ShipName, ShipAddress, ShipCity, ShipRegion, ShipPostalCode, ShipCountry ) VALUES (10791, 'FRANK', 6, '12/23/1997 12:00:00 AM', '1/20/1998 12:00:00 AM', '1/1/1998 12:00:00 AM', 2, 16.85, 'Frankenversand', 'Berliner Platz 43', 'München', NULL, '80805', 'Germany' ) ;
+INSERT INTO GHTDB.ORDERS ( OrderID, CustomerID, EmployeeID, OrderDate, RequiredDate, ShippedDate, ShipVia, Freight, ShipName, ShipAddress, ShipCity, ShipRegion, ShipPostalCode, ShipCountry ) VALUES (10792, 'WOLZA', 1, '12/23/1997 12:00:00 AM', '1/20/1998 12:00:00 AM', '12/31/1997 12:00:00 AM', 3, 23.79, 'Wolski Zajazd', 'ul. Filtrowa 68', 'Warszawa', NULL, '01-012', 'Poland' ) ;
+INSERT INTO GHTDB.ORDERS ( OrderID, CustomerID, EmployeeID, OrderDate, RequiredDate, ShippedDate, ShipVia, Freight, ShipName, ShipAddress, ShipCity, ShipRegion, ShipPostalCode, ShipCountry ) VALUES (10793, 'AROUT', 3, '12/24/1997 12:00:00 AM', '1/21/1998 12:00:00 AM', '1/8/1998 12:00:00 AM', 3, 4.52, 'Around the Horn', 'Brook Farm Stratford St. Mary', 'Colchester', 'Essex', 'CO7 6JX', 'UK' ) ;
+INSERT INTO GHTDB.ORDERS ( OrderID, CustomerID, EmployeeID, OrderDate, RequiredDate, ShippedDate, ShipVia, Freight, ShipName, ShipAddress, ShipCity, ShipRegion, ShipPostalCode, ShipCountry ) VALUES (10794, 'QUEDE', 6, '12/24/1997 12:00:00 AM', '1/21/1998 12:00:00 AM', '1/2/1998 12:00:00 AM', 1, 21.49, 'Que Delícia', 'Rua da Panificadora, 12', 'Rio de Janeiro', 'RJ', '02389-673', 'Brazil' ) ;
+INSERT INTO GHTDB.ORDERS ( OrderID, CustomerID, EmployeeID, OrderDate, RequiredDate, ShippedDate, ShipVia, Freight, ShipName, ShipAddress, ShipCity, ShipRegion, ShipPostalCode, ShipCountry ) VALUES (10795, 'ERNSH', 8, '12/24/1997 12:00:00 AM', '1/21/1998 12:00:00 AM', '1/20/1998 12:00:00 AM', 2, 126.66, 'Ernst Handel', 'Kirchgasse 6', 'Graz', NULL, '8010', 'Austria' ) ;
+INSERT INTO GHTDB.ORDERS ( OrderID, CustomerID, EmployeeID, OrderDate, RequiredDate, ShippedDate, ShipVia, Freight, ShipName, ShipAddress, ShipCity, ShipRegion, ShipPostalCode, ShipCountry ) VALUES (10796, 'HILAA', 3, '12/25/1997 12:00:00 AM', '1/22/1998 12:00:00 AM', '1/14/1998 12:00:00 AM', 1, 26.52, 'HILARION-Abastos', 'Carrera 22 con Ave. Carlos Soublette #8-35', 'San Cristóbal', 'Táchira', '5022', 'Venezuela' ) ;
+INSERT INTO GHTDB.ORDERS ( OrderID, CustomerID, EmployeeID, OrderDate, RequiredDate, ShippedDate, ShipVia, Freight, ShipName, ShipAddress, ShipCity, ShipRegion, ShipPostalCode, ShipCountry ) VALUES (10797, 'DRACD', 7, '12/25/1997 12:00:00 AM', '1/22/1998 12:00:00 AM', '1/5/1998 12:00:00 AM', 2, 33.35, 'Drachenblut Delikatessen', 'Walserweg 21', 'Aachen', NULL, '52066', 'Germany' ) ;
+INSERT INTO GHTDB.ORDERS ( OrderID, CustomerID, EmployeeID, OrderDate, RequiredDate, ShippedDate, ShipVia, Freight, ShipName, ShipAddress, ShipCity, ShipRegion, ShipPostalCode, ShipCountry ) VALUES (10798, 'ISLAT', 2, '12/26/1997 12:00:00 AM', '1/23/1998 12:00:00 AM', '1/5/1998 12:00:00 AM', 1, 2.33, 'Island Trading', 'Garden House Crowther Way', 'Cowes', 'Isle of Wight', 'PO31 7PJ', 'UK' ) ;
+INSERT INTO GHTDB.ORDERS ( OrderID, CustomerID, EmployeeID, OrderDate, RequiredDate, ShippedDate, ShipVia, Freight, ShipName, ShipAddress, ShipCity, ShipRegion, ShipPostalCode, ShipCountry ) VALUES (10799, 'KOENE', 9, '12/26/1997 12:00:00 AM', '2/6/1998 12:00:00 AM', '1/5/1998 12:00:00 AM', 3, 30.76, 'Königlich Essen', 'Maubelstr. 90', 'Brandenburg', NULL, '14776', 'Germany' ) ;
+INSERT INTO GHTDB.ORDERS ( OrderID, CustomerID, EmployeeID, OrderDate, RequiredDate, ShippedDate, ShipVia, Freight, ShipName, ShipAddress, ShipCity, ShipRegion, ShipPostalCode, ShipCountry ) VALUES (10800, 'SEVES', 1, '12/26/1997 12:00:00 AM', '1/23/1998 12:00:00 AM', '1/5/1998 12:00:00 AM', 3, 137.44, 'Seven Seas Imports', '90 Wadhurst Rd.', 'London', NULL, 'OX15 4NB', 'UK' ) ;
+INSERT INTO GHTDB.ORDERS ( OrderID, CustomerID, EmployeeID, OrderDate, RequiredDate, ShippedDate, ShipVia, Freight, ShipName, ShipAddress, ShipCity, ShipRegion, ShipPostalCode, ShipCountry ) VALUES (10801, 'BOLID', 4, '12/29/1997 12:00:00 AM', '1/26/1998 12:00:00 AM', '12/31/1997 12:00:00 AM', 2, 97.09, 'Bólido Comidas preparadas', 'C/ Araquil, 67', 'Madrid', NULL, '28023', 'Spain' ) ;
+INSERT INTO GHTDB.ORDERS ( OrderID, CustomerID, EmployeeID, OrderDate, RequiredDate, ShippedDate, ShipVia, Freight, ShipName, ShipAddress, ShipCity, ShipRegion, ShipPostalCode, ShipCountry ) VALUES (10802, 'SIMOB', 4, '12/29/1997 12:00:00 AM', '1/26/1998 12:00:00 AM', '1/2/1998 12:00:00 AM', 2, 257.26, 'Simons bistro', 'Vinbæltet 34', 'Kobenhavn', NULL, '1734', 'Denmark' ) ;
+INSERT INTO GHTDB.ORDERS ( OrderID, CustomerID, EmployeeID, OrderDate, RequiredDate, ShippedDate, ShipVia, Freight, ShipName, ShipAddress, ShipCity, ShipRegion, ShipPostalCode, ShipCountry ) VALUES (10803, 'WELLI', 4, '12/30/1997 12:00:00 AM', '1/27/1998 12:00:00 AM', '1/6/1998 12:00:00 AM', 1, 55.23, 'Wellington Importadora', 'Rua do Mercado, 12', 'Resende', 'SP', '08737-363', 'Brazil' ) ;
+INSERT INTO GHTDB.ORDERS ( OrderID, CustomerID, EmployeeID, OrderDate, RequiredDate, ShippedDate, ShipVia, Freight, ShipName, ShipAddress, ShipCity, ShipRegion, ShipPostalCode, ShipCountry ) VALUES (10804, 'SEVES', 6, '12/30/1997 12:00:00 AM', '1/27/1998 12:00:00 AM', '1/7/1998 12:00:00 AM', 2, 27.33, 'Seven Seas Imports', '90 Wadhurst Rd.', 'London', NULL, 'OX15 4NB', 'UK' ) ;
+INSERT INTO GHTDB.ORDERS ( OrderID, CustomerID, EmployeeID, OrderDate, RequiredDate, ShippedDate, ShipVia, Freight, ShipName, ShipAddress, ShipCity, ShipRegion, ShipPostalCode, ShipCountry ) VALUES (10805, 'THEBI', 2, '12/30/1997 12:00:00 AM', '1/27/1998 12:00:00 AM', '1/9/1998 12:00:00 AM', 3, 237.34, 'The Big Cheese', '89 Jefferson Way Suite 2', 'Portland', 'OR', '97201', 'USA' ) ;
+INSERT INTO GHTDB.ORDERS ( OrderID, CustomerID, EmployeeID, OrderDate, RequiredDate, ShippedDate, ShipVia, Freight, ShipName, ShipAddress, ShipCity, ShipRegion, ShipPostalCode, ShipCountry ) VALUES (10806, 'VICTE', 3, '12/31/1997 12:00:00 AM', '1/28/1998 12:00:00 AM', '1/5/1998 12:00:00 AM', 2, 22.11, 'Victuailles en stock', '2, rue du Commerce', 'Lyon', NULL, '69004', 'France' ) ;
+INSERT INTO GHTDB.ORDERS ( OrderID, CustomerID, EmployeeID, OrderDate, RequiredDate, ShippedDate, ShipVia, Freight, ShipName, ShipAddress, ShipCity, ShipRegion, ShipPostalCode, ShipCountry ) VALUES (10807, 'FRANS', 4, '12/31/1997 12:00:00 AM', '1/28/1998 12:00:00 AM', '1/30/1998 12:00:00 AM', 1, 1.36, 'Franchi S.p.A.', 'Via Monte Bianco 34', 'Torino', NULL, '10100', 'Italy' ) ;
+INSERT INTO GHTDB.ORDERS ( OrderID, CustomerID, EmployeeID, OrderDate, RequiredDate, ShippedDate, ShipVia, Freight, ShipName, ShipAddress, ShipCity, ShipRegion, ShipPostalCode, ShipCountry ) VALUES (10808, 'OLDWO', 2, '1/1/1998 12:00:00 AM', '1/29/1998 12:00:00 AM', '1/9/1998 12:00:00 AM', 3, 45.53, 'Old World Delicatessen', '2743 Bering St.', 'Anchorage', 'AK', '99508', 'USA' ) ;
+INSERT INTO GHTDB.ORDERS ( OrderID, CustomerID, EmployeeID, OrderDate, RequiredDate, ShippedDate, ShipVia, Freight, ShipName, ShipAddress, ShipCity, ShipRegion, ShipPostalCode, ShipCountry ) VALUES (10809, 'WELLI', 7, '1/1/1998 12:00:00 AM', '1/29/1998 12:00:00 AM', '1/7/1998 12:00:00 AM', 1, 4.87, 'Wellington Importadora', 'Rua do Mercado, 12', 'Resende', 'SP', '08737-363', 'Brazil' ) ;
+INSERT INTO GHTDB.ORDERS ( OrderID, CustomerID, EmployeeID, OrderDate, RequiredDate, ShippedDate, ShipVia, Freight, ShipName, ShipAddress, ShipCity, ShipRegion, ShipPostalCode, ShipCountry ) VALUES (10810, 'LAUGB', 2, '1/1/1998 12:00:00 AM', '1/29/1998 12:00:00 AM', '1/7/1998 12:00:00 AM', 3, 4.33, 'Laughing Bacchus Wine Cellars', '2319 Elm St.', 'Vancouver', 'BC', 'V3F 2K1', 'Canada' ) ;
+INSERT INTO GHTDB.ORDERS ( OrderID, CustomerID, EmployeeID, OrderDate, RequiredDate, ShippedDate, ShipVia, Freight, ShipName, ShipAddress, ShipCity, ShipRegion, ShipPostalCode, ShipCountry ) VALUES (10811, 'LINOD', 8, '1/2/1998 12:00:00 AM', '1/30/1998 12:00:00 AM', '1/8/1998 12:00:00 AM', 1, 31.22, 'LINO-Delicateses', 'Ave. 5 de Mayo Porlamar', 'I. de Margarita', 'Nueva Esparta', '4980', 'Venezuela' ) ;
+INSERT INTO GHTDB.ORDERS ( OrderID, CustomerID, EmployeeID, OrderDate, RequiredDate, ShippedDate, ShipVia, Freight, ShipName, ShipAddress, ShipCity, ShipRegion, ShipPostalCode, ShipCountry ) VALUES (10812, 'REGGC', 5, '1/2/1998 12:00:00 AM', '1/30/1998 12:00:00 AM', '1/12/1998 12:00:00 AM', 1, 59.78, 'Reggiani Caseifici', 'Strada Provinciale 124', 'Reggio Emilia', NULL, '42100', 'Italy' ) ;
+INSERT INTO GHTDB.ORDERS ( OrderID, CustomerID, EmployeeID, OrderDate, RequiredDate, ShippedDate, ShipVia, Freight, ShipName, ShipAddress, ShipCity, ShipRegion, ShipPostalCode, ShipCountry ) VALUES (10813, 'RICAR', 1, '1/5/1998 12:00:00 AM', '2/2/1998 12:00:00 AM', '1/9/1998 12:00:00 AM', 1, 47.38, 'Ricardo Adocicados', 'Av. Copacabana, 267', 'Rio de Janeiro', 'RJ', '02389-890', 'Brazil' ) ;
+INSERT INTO GHTDB.ORDERS ( OrderID, CustomerID, EmployeeID, OrderDate, RequiredDate, ShippedDate, ShipVia, Freight, ShipName, ShipAddress, ShipCity, ShipRegion, ShipPostalCode, ShipCountry ) VALUES (10814, 'VICTE', 3, '1/5/1998 12:00:00 AM', '2/2/1998 12:00:00 AM', '1/14/1998 12:00:00 AM', 3, 130.94, 'Victuailles en stock', '2, rue du Commerce', 'Lyon', NULL, '69004', 'France' ) ;
+INSERT INTO GHTDB.ORDERS ( OrderID, CustomerID, EmployeeID, OrderDate, RequiredDate, ShippedDate, ShipVia, Freight, ShipName, ShipAddress, ShipCity, ShipRegion, ShipPostalCode, ShipCountry ) VALUES (10815, 'SAVEA', 2, '1/5/1998 12:00:00 AM', '2/2/1998 12:00:00 AM', '1/14/1998 12:00:00 AM', 3, 14.62, 'Save-a-lot Markets', '187 Suffolk Ln.', 'Boise', 'ID', '83720', 'USA' ) ;
+INSERT INTO GHTDB.ORDERS ( OrderID, CustomerID, EmployeeID, OrderDate, RequiredDate, ShippedDate, ShipVia, Freight, ShipName, ShipAddress, ShipCity, ShipRegion, ShipPostalCode, ShipCountry ) VALUES (10816, 'GREAL', 4, '1/6/1998 12:00:00 AM', '2/3/1998 12:00:00 AM', '2/4/1998 12:00:00 AM', 2, 719.78, 'Great Lakes Food Market', '2732 Baker Blvd.', 'Eugene', 'OR', '97403', 'USA' ) ;
+INSERT INTO GHTDB.ORDERS ( OrderID, CustomerID, EmployeeID, OrderDate, RequiredDate, ShippedDate, ShipVia, Freight, ShipName, ShipAddress, ShipCity, ShipRegion, ShipPostalCode, ShipCountry ) VALUES (10817, 'KOENE', 3, '1/6/1998 12:00:00 AM', '1/20/1998 12:00:00 AM', '1/13/1998 12:00:00 AM', 2, 306.07, 'Königlich Essen', 'Maubelstr. 90', 'Brandenburg', NULL, '14776', 'Germany' ) ;
+INSERT INTO GHTDB.ORDERS ( OrderID, CustomerID, EmployeeID, OrderDate, RequiredDate, ShippedDate, ShipVia, Freight, ShipName, ShipAddress, ShipCity, ShipRegion, ShipPostalCode, ShipCountry ) VALUES (10818, 'MAGAA', 7, '1/7/1998 12:00:00 AM', '2/4/1998 12:00:00 AM', '1/12/1998 12:00:00 AM', 3, 65.48, 'Magazzini Alimentari Riuniti', 'Via Ludovico il Moro 22', 'Bergamo', NULL, '24100', 'Italy' ) ;
+INSERT INTO GHTDB.ORDERS ( OrderID, CustomerID, EmployeeID, OrderDate, RequiredDate, ShippedDate, ShipVia, Freight, ShipName, ShipAddress, ShipCity, ShipRegion, ShipPostalCode, ShipCountry ) VALUES (10819, 'CACTU', 2, '1/7/1998 12:00:00 AM', '2/4/1998 12:00:00 AM', '1/16/1998 12:00:00 AM', 3, 19.76, 'Cactus Comidas para llevar', 'Cerrito 333', 'Buenos Aires', NULL, '1010', 'Argentina' ) ;
+INSERT INTO GHTDB.ORDERS ( OrderID, CustomerID, EmployeeID, OrderDate, RequiredDate, ShippedDate, ShipVia, Freight, ShipName, ShipAddress, ShipCity, ShipRegion, ShipPostalCode, ShipCountry ) VALUES (10820, 'RATTC', 3, '1/7/1998 12:00:00 AM', '2/4/1998 12:00:00 AM', '1/13/1998 12:00:00 AM', 2, 37.52, 'Rattlesnake Canyon Grocery', '2817 Milton Dr.', 'Albuquerque', 'NM', '87110', 'USA' ) ;
+INSERT INTO GHTDB.ORDERS ( OrderID, CustomerID, EmployeeID, OrderDate, RequiredDate, ShippedDate, ShipVia, Freight, ShipName, ShipAddress, ShipCity, ShipRegion, ShipPostalCode, ShipCountry ) VALUES (10821, 'SPLIR', 1, '1/8/1998 12:00:00 AM', '2/5/1998 12:00:00 AM', '1/15/1998 12:00:00 AM', 1, 36.68, 'Split Rail Beer & Ale', 'P.O. Box 555', 'Lander', 'WY', '82520', 'USA' ) ;
+INSERT INTO GHTDB.ORDERS ( OrderID, CustomerID, EmployeeID, OrderDate, RequiredDate, ShippedDate, ShipVia, Freight, ShipName, ShipAddress, ShipCity, ShipRegion, ShipPostalCode, ShipCountry ) VALUES (10822, 'TRAIH', 6, '1/8/1998 12:00:00 AM', '2/5/1998 12:00:00 AM', '1/16/1998 12:00:00 AM', 3, 7, 'Trail''s Head Gourmet Provisioners', '722 DaVinci Blvd.', 'Kirkland', 'WA', '98034', 'USA' ) ;
+INSERT INTO GHTDB.ORDERS ( OrderID, CustomerID, EmployeeID, OrderDate, RequiredDate, ShippedDate, ShipVia, Freight, ShipName, ShipAddress, ShipCity, ShipRegion, ShipPostalCode, ShipCountry ) VALUES (10823, 'LILAS', 5, '1/9/1998 12:00:00 AM', '2/6/1998 12:00:00 AM', '1/13/1998 12:00:00 AM', 2, 163.97, 'LILA-Supermercado', 'Carrera 52 con Ave. Bolívar #65-98 Llano Largo', 'Barquisimeto', 'Lara', '3508', 'Venezuela' ) ;
+INSERT INTO GHTDB.ORDERS ( OrderID, CustomerID, EmployeeID, OrderDate, RequiredDate, ShippedDate, ShipVia, Freight, ShipName, ShipAddress, ShipCity, ShipRegion, ShipPostalCode, ShipCountry ) VALUES (10824, 'FOLKO', 8, '1/9/1998 12:00:00 AM', '2/6/1998 12:00:00 AM', '1/30/1998 12:00:00 AM', 1, 1.23, 'Folk och fä HB', 'Ã…kergatan 24', 'Bräcke', NULL, 'S-844 67', 'Sweden' ) ;
+INSERT INTO GHTDB.ORDERS ( OrderID, CustomerID, EmployeeID, OrderDate, RequiredDate, ShippedDate, ShipVia, Freight, ShipName, ShipAddress, ShipCity, ShipRegion, ShipPostalCode, ShipCountry ) VALUES (10825, 'DRACD', 1, '1/9/1998 12:00:00 AM', '2/6/1998 12:00:00 AM', '1/14/1998 12:00:00 AM', 1, 79.25, 'Drachenblut Delikatessen', 'Walserweg 21', 'Aachen', NULL, '52066', 'Germany' ) ;
+INSERT INTO GHTDB.ORDERS ( OrderID, CustomerID, EmployeeID, OrderDate, RequiredDate, ShippedDate, ShipVia, Freight, ShipName, ShipAddress, ShipCity, ShipRegion, ShipPostalCode, ShipCountry ) VALUES (10826, 'BLONP', 6, '1/12/1998 12:00:00 AM', '2/9/1998 12:00:00 AM', '2/6/1998 12:00:00 AM', 1, 7.09, 'Blondel père et fils', '24, place Kléber', 'Strasbourg', NULL, '67000', 'France' ) ;
+INSERT INTO GHTDB.ORDERS ( OrderID, CustomerID, EmployeeID, OrderDate, RequiredDate, ShippedDate, ShipVia, Freight, ShipName, ShipAddress, ShipCity, ShipRegion, ShipPostalCode, ShipCountry ) VALUES (10827, 'BONAP', 1, '1/12/1998 12:00:00 AM', '1/26/1998 12:00:00 AM', '2/6/1998 12:00:00 AM', 2, 63.54, 'Bon app''', '12, rue des Bouchers', 'Marseille', NULL, '13008', 'France' ) ;
+INSERT INTO GHTDB.ORDERS ( OrderID, CustomerID, EmployeeID, OrderDate, RequiredDate, ShippedDate, ShipVia, Freight, ShipName, ShipAddress, ShipCity, ShipRegion, ShipPostalCode, ShipCountry ) VALUES (10828, 'RANCH', 9, '1/13/1998 12:00:00 AM', '1/27/1998 12:00:00 AM', '2/4/1998 12:00:00 AM', 1, 90.85, 'Rancho grande', 'Av. del Libertador 900', 'Buenos Aires', NULL, '1010', 'Argentina' ) ;
+INSERT INTO GHTDB.ORDERS ( OrderID, CustomerID, EmployeeID, OrderDate, RequiredDate, ShippedDate, ShipVia, Freight, ShipName, ShipAddress, ShipCity, ShipRegion, ShipPostalCode, ShipCountry ) VALUES (10829, 'ISLAT', 9, '1/13/1998 12:00:00 AM', '2/10/1998 12:00:00 AM', '1/23/1998 12:00:00 AM', 1, 154.72, 'Island Trading', 'Garden House Crowther Way', 'Cowes', 'Isle of Wight', 'PO31 7PJ', 'UK' ) ;
+INSERT INTO GHTDB.ORDERS ( OrderID, CustomerID, EmployeeID, OrderDate, RequiredDate, ShippedDate, ShipVia, Freight, ShipName, ShipAddress, ShipCity, ShipRegion, ShipPostalCode, ShipCountry ) VALUES (10830, 'TRADH', 4, '1/13/1998 12:00:00 AM', '2/24/1998 12:00:00 AM', '1/21/1998 12:00:00 AM', 2, 81.83, 'Tradiçao Hipermercados', 'Av. Inês de Castro, 414', 'Sao Paulo', 'SP', '05634-030', 'Brazil' ) ;
+INSERT INTO GHTDB.ORDERS ( OrderID, CustomerID, EmployeeID, OrderDate, RequiredDate, ShippedDate, ShipVia, Freight, ShipName, ShipAddress, ShipCity, ShipRegion, ShipPostalCode, ShipCountry ) VALUES (10831, 'SANTG', 3, '1/14/1998 12:00:00 AM', '2/11/1998 12:00:00 AM', '1/23/1998 12:00:00 AM', 2, 72.19, 'Santé Gourmet', 'Erling Skakkes gate 78', 'Stavern', NULL, '4110', 'Norway' ) ;
+INSERT INTO GHTDB.ORDERS ( OrderID, CustomerID, EmployeeID, OrderDate, RequiredDate, ShippedDate, ShipVia, Freight, ShipName, ShipAddress, ShipCity, ShipRegion, ShipPostalCode, ShipCountry ) VALUES (10832, 'LAMAI', 2, '1/14/1998 12:00:00 AM', '2/11/1998 12:00:00 AM', '1/19/1998 12:00:00 AM', 2, 43.26, 'La maison d''Asie', '1 rue Alsace-Lorraine', 'Toulouse', NULL, '31000', 'France' ) ;
+INSERT INTO GHTDB.ORDERS ( OrderID, CustomerID, EmployeeID, OrderDate, RequiredDate, ShippedDate, ShipVia, Freight, ShipName, ShipAddress, ShipCity, ShipRegion, ShipPostalCode, ShipCountry ) VALUES (10833, 'OTTIK', 6, '1/15/1998 12:00:00 AM', '2/12/1998 12:00:00 AM', '1/23/1998 12:00:00 AM', 2, 71.49, 'Ottilies Käseladen', 'Mehrheimerstr. 369', 'Köln', NULL, '50739', 'Germany' ) ;
+INSERT INTO GHTDB.ORDERS ( OrderID, CustomerID, EmployeeID, OrderDate, RequiredDate, ShippedDate, ShipVia, Freight, ShipName, ShipAddress, ShipCity, ShipRegion, ShipPostalCode, ShipCountry ) VALUES (10834, 'TRADH', 1, '1/15/1998 12:00:00 AM', '2/12/1998 12:00:00 AM', '1/19/1998 12:00:00 AM', 3, 29.78, 'Tradiçao Hipermercados', 'Av. Inês de Castro, 414', 'Sao Paulo', 'SP', '05634-030', 'Brazil' ) ;
+INSERT INTO GHTDB.ORDERS ( OrderID, CustomerID, EmployeeID, OrderDate, RequiredDate, ShippedDate, ShipVia, Freight, ShipName, ShipAddress, ShipCity, ShipRegion, ShipPostalCode, ShipCountry ) VALUES (10835, 'ALFKI', 1, '1/15/1998 12:00:00 AM', '2/12/1998 12:00:00 AM', '1/21/1998 12:00:00 AM', 3, 69.53, 'Alfred''s Futterkiste', 'Obere Str. 57', 'Berlin', NULL, '12209', 'Germany' ) ;
+INSERT INTO GHTDB.ORDERS ( OrderID, CustomerID, EmployeeID, OrderDate, RequiredDate, ShippedDate, ShipVia, Freight, ShipName, ShipAddress, ShipCity, ShipRegion, ShipPostalCode, ShipCountry ) VALUES (10836, 'ERNSH', 7, '1/16/1998 12:00:00 AM', '2/13/1998 12:00:00 AM', '1/21/1998 12:00:00 AM', 1, 411.88, 'Ernst Handel', 'Kirchgasse 6', 'Graz', NULL, '8010', 'Austria' ) ;
+INSERT INTO GHTDB.ORDERS ( OrderID, CustomerID, EmployeeID, OrderDate, RequiredDate, ShippedDate, ShipVia, Freight, ShipName, ShipAddress, ShipCity, ShipRegion, ShipPostalCode, ShipCountry ) VALUES (10837, 'BERGS', 9, '1/16/1998 12:00:00 AM', '2/13/1998 12:00:00 AM', '1/23/1998 12:00:00 AM', 3, 13.32, 'Berglunds snabbköp', 'Berguvsvägen  8', 'LuleÃ¥', NULL, 'S-958 22', 'Sweden' ) ;
+INSERT INTO GHTDB.ORDERS ( OrderID, CustomerID, EmployeeID, OrderDate, RequiredDate, ShippedDate, ShipVia, Freight, ShipName, ShipAddress, ShipCity, ShipRegion, ShipPostalCode, ShipCountry ) VALUES (10838, 'LINOD', 3, '1/19/1998 12:00:00 AM', '2/16/1998 12:00:00 AM', '1/23/1998 12:00:00 AM', 3, 59.28, 'LINO-Delicateses', 'Ave. 5 de Mayo Porlamar', 'I. de Margarita', 'Nueva Esparta', '4980', 'Venezuela' ) ;
+INSERT INTO GHTDB.ORDERS ( OrderID, CustomerID, EmployeeID, OrderDate, RequiredDate, ShippedDate, ShipVia, Freight, ShipName, ShipAddress, ShipCity, ShipRegion, ShipPostalCode, ShipCountry ) VALUES (10839, 'TRADH', 3, '1/19/1998 12:00:00 AM', '2/16/1998 12:00:00 AM', '1/22/1998 12:00:00 AM', 3, 35.43, 'Tradiçao Hipermercados', 'Av. Inês de Castro, 414', 'Sao Paulo', 'SP', '05634-030', 'Brazil' ) ;
+INSERT INTO GHTDB.ORDERS ( OrderID, CustomerID, EmployeeID, OrderDate, RequiredDate, ShippedDate, ShipVia, Freight, ShipName, ShipAddress, ShipCity, ShipRegion, ShipPostalCode, ShipCountry ) VALUES (10840, 'LINOD', 4, '1/19/1998 12:00:00 AM', '3/2/1998 12:00:00 AM', '2/16/1998 12:00:00 AM', 2, 2.71, 'LINO-Delicateses', 'Ave. 5 de Mayo Porlamar', 'I. de Margarita', 'Nueva Esparta', '4980', 'Venezuela' ) ;
+INSERT INTO GHTDB.ORDERS ( OrderID, CustomerID, EmployeeID, OrderDate, RequiredDate, ShippedDate, ShipVia, Freight, ShipName, ShipAddress, ShipCity, ShipRegion, ShipPostalCode, ShipCountry ) VALUES (10841, 'SUPRD', 5, '1/20/1998 12:00:00 AM', '2/17/1998 12:00:00 AM', '1/29/1998 12:00:00 AM', 2, 424.3, 'Suprêmes délices', 'Boulevard Tirou, 255', 'Charleroi', NULL, 'B-6000', 'Belgium' ) ;
+INSERT INTO GHTDB.ORDERS ( OrderID, CustomerID, EmployeeID, OrderDate, RequiredDate, ShippedDate, ShipVia, Freight, ShipName, ShipAddress, ShipCity, ShipRegion, ShipPostalCode, ShipCountry ) VALUES (10842, 'TORTU', 1, '1/20/1998 12:00:00 AM', '2/17/1998 12:00:00 AM', '1/29/1998 12:00:00 AM', 3, 54.42, 'Tortuga Restaurante', 'Avda. Azteca 123', 'México D.F.', NULL, '05033', 'Mexico' ) ;
+INSERT INTO GHTDB.ORDERS ( OrderID, CustomerID, EmployeeID, OrderDate, RequiredDate, ShippedDate, ShipVia, Freight, ShipName, ShipAddress, ShipCity, ShipRegion, ShipPostalCode, ShipCountry ) VALUES (10843, 'VICTE', 4, '1/21/1998 12:00:00 AM', '2/18/1998 12:00:00 AM', '1/26/1998 12:00:00 AM', 2, 9.26, 'Victuailles en stock', '2, rue du Commerce', 'Lyon', NULL, '69004', 'France' ) ;
+INSERT INTO GHTDB.ORDERS ( OrderID, CustomerID, EmployeeID, OrderDate, RequiredDate, ShippedDate, ShipVia, Freight, ShipName, ShipAddress, ShipCity, ShipRegion, ShipPostalCode, ShipCountry ) VALUES (10844, 'PICCO', 8, '1/21/1998 12:00:00 AM', '2/18/1998 12:00:00 AM', '1/26/1998 12:00:00 AM', 2, 25.22, 'Piccolo und mehr', 'Geislweg 14', 'Salzburg', NULL, '5020', 'Austria' ) ;
+INSERT INTO GHTDB.ORDERS ( OrderID, CustomerID, EmployeeID, OrderDate, RequiredDate, ShippedDate, ShipVia, Freight, ShipName, ShipAddress, ShipCity, ShipRegion, ShipPostalCode, ShipCountry ) VALUES (10845, 'QUICK', 8, '1/21/1998 12:00:00 AM', '2/4/1998 12:00:00 AM', '1/30/1998 12:00:00 AM', 1, 212.98, 'QUICK-Stop', 'Taucherstraße 10', 'Cunewalde', NULL, '01307', 'Germany' ) ;
+INSERT INTO GHTDB.ORDERS ( OrderID, CustomerID, EmployeeID, OrderDate, RequiredDate, ShippedDate, ShipVia, Freight, ShipName, ShipAddress, ShipCity, ShipRegion, ShipPostalCode, ShipCountry ) VALUES (10846, 'SUPRD', 2, '1/22/1998 12:00:00 AM', '3/5/1998 12:00:00 AM', '1/23/1998 12:00:00 AM', 3, 56.46, 'Suprêmes délices', 'Boulevard Tirou, 255', 'Charleroi', NULL, 'B-6000', 'Belgium' ) ;
+INSERT INTO GHTDB.ORDERS ( OrderID, CustomerID, EmployeeID, OrderDate, RequiredDate, ShippedDate, ShipVia, Freight, ShipName, ShipAddress, ShipCity, ShipRegion, ShipPostalCode, ShipCountry ) VALUES (10847, 'SAVEA', 4, '1/22/1998 12:00:00 AM', '2/5/1998 12:00:00 AM', '2/10/1998 12:00:00 AM', 3, 487.57, 'Save-a-lot Markets', '187 Suffolk Ln.', 'Boise', 'ID', '83720', 'USA' ) ;
+INSERT INTO GHTDB.ORDERS ( OrderID, CustomerID, EmployeeID, OrderDate, RequiredDate, ShippedDate, ShipVia, Freight, ShipName, ShipAddress, ShipCity, ShipRegion, ShipPostalCode, ShipCountry ) VALUES (10848, 'CONSH', 7, '1/23/1998 12:00:00 AM', '2/20/1998 12:00:00 AM', '1/29/1998 12:00:00 AM', 2, 38.24, 'Consolidated Holdings', 'Berkeley Gardens 12  Brewery', 'London', NULL, 'WX1 6LT', 'UK' ) ;
+INSERT INTO GHTDB.ORDERS ( OrderID, CustomerID, EmployeeID, OrderDate, RequiredDate, ShippedDate, ShipVia, Freight, ShipName, ShipAddress, ShipCity, ShipRegion, ShipPostalCode, ShipCountry ) VALUES (10849, 'KOENE', 9, '1/23/1998 12:00:00 AM', '2/20/1998 12:00:00 AM', '1/30/1998 12:00:00 AM', 2, 0.56, 'Königlich Essen', 'Maubelstr. 90', 'Brandenburg', NULL, '14776', 'Germany' ) ;
+INSERT INTO GHTDB.ORDERS ( OrderID, CustomerID, EmployeeID, OrderDate, RequiredDate, ShippedDate, ShipVia, Freight, ShipName, ShipAddress, ShipCity, ShipRegion, ShipPostalCode, ShipCountry ) VALUES (10850, 'VICTE', 1, '1/23/1998 12:00:00 AM', '3/6/1998 12:00:00 AM', '1/30/1998 12:00:00 AM', 1, 49.19, 'Victuailles en stock', '2, rue du Commerce', 'Lyon', NULL, '69004', 'France' ) ;
+INSERT INTO GHTDB.ORDERS ( OrderID, CustomerID, EmployeeID, OrderDate, RequiredDate, ShippedDate, ShipVia, Freight, ShipName, ShipAddress, ShipCity, ShipRegion, ShipPostalCode, ShipCountry ) VALUES (10851, 'RICAR', 5, '1/26/1998 12:00:00 AM', '2/23/1998 12:00:00 AM', '2/2/1998 12:00:00 AM', 1, 160.55, 'Ricardo Adocicados', 'Av. Copacabana, 267', 'Rio de Janeiro', 'RJ', '02389-890', 'Brazil' ) ;
+INSERT INTO GHTDB.ORDERS ( OrderID, CustomerID, EmployeeID, OrderDate, RequiredDate, ShippedDate, ShipVia, Freight, ShipName, ShipAddress, ShipCity, ShipRegion, ShipPostalCode, ShipCountry ) VALUES (10852, 'RATTC', 8, '1/26/1998 12:00:00 AM', '2/9/1998 12:00:00 AM', '1/30/1998 12:00:00 AM', 1, 174.05, 'Rattlesnake Canyon Grocery', '2817 Milton Dr.', 'Albuquerque', 'NM', '87110', 'USA' ) ;
+INSERT INTO GHTDB.ORDERS ( OrderID, CustomerID, EmployeeID, OrderDate, RequiredDate, ShippedDate, ShipVia, Freight, ShipName, ShipAddress, ShipCity, ShipRegion, ShipPostalCode, ShipCountry ) VALUES (10853, 'BLAUS', 9, '1/27/1998 12:00:00 AM', '2/24/1998 12:00:00 AM', '2/3/1998 12:00:00 AM', 2, 53.83, 'Blauer See Delikatessen', 'Forsterstr. 57', 'Mannheim', NULL, '68306', 'Germany' ) ;
+INSERT INTO GHTDB.ORDERS ( OrderID, CustomerID, EmployeeID, OrderDate, RequiredDate, ShippedDate, ShipVia, Freight, ShipName, ShipAddress, ShipCity, ShipRegion, ShipPostalCode, ShipCountry ) VALUES (10854, 'ERNSH', 3, '1/27/1998 12:00:00 AM', '2/24/1998 12:00:00 AM', '2/5/1998 12:00:00 AM', 2, 100.22, 'Ernst Handel', 'Kirchgasse 6', 'Graz', NULL, '8010', 'Austria' ) ;
+INSERT INTO GHTDB.ORDERS ( OrderID, CustomerID, EmployeeID, OrderDate, RequiredDate, ShippedDate, ShipVia, Freight, ShipName, ShipAddress, ShipCity, ShipRegion, ShipPostalCode, ShipCountry ) VALUES (10855, 'OLDWO', 3, '1/27/1998 12:00:00 AM', '2/24/1998 12:00:00 AM', '2/4/1998 12:00:00 AM', 1, 170.97, 'Old World Delicatessen', '2743 Bering St.', 'Anchorage', 'AK', '99508', 'USA' ) ;
+INSERT INTO GHTDB.ORDERS ( OrderID, CustomerID, EmployeeID, OrderDate, RequiredDate, ShippedDate, ShipVia, Freight, ShipName, ShipAddress, ShipCity, ShipRegion, ShipPostalCode, ShipCountry ) VALUES (10856, 'ANTON', 3, '1/28/1998 12:00:00 AM', '2/25/1998 12:00:00 AM', '2/10/1998 12:00:00 AM', 2, 58.43, 'Antonio Moreno Taquería', 'Mataderos  2312', 'México D.F.', NULL, '05023', 'Mexico' ) ;
+INSERT INTO GHTDB.ORDERS ( OrderID, CustomerID, EmployeeID, OrderDate, RequiredDate, ShippedDate, ShipVia, Freight, ShipName, ShipAddress, ShipCity, ShipRegion, ShipPostalCode, ShipCountry ) VALUES (10857, 'BERGS', 8, '1/28/1998 12:00:00 AM', '2/25/1998 12:00:00 AM', '2/6/1998 12:00:00 AM', 2, 188.85, 'Berglunds snabbköp', 'Berguvsvägen  8', 'LuleÃ¥', NULL, 'S-958 22', 'Sweden' ) ;
+INSERT INTO GHTDB.ORDERS ( OrderID, CustomerID, EmployeeID, OrderDate, RequiredDate, ShippedDate, ShipVia, Freight, ShipName, ShipAddress, ShipCity, ShipRegion, ShipPostalCode, ShipCountry ) VALUES (10858, 'LACOR', 2, '1/29/1998 12:00:00 AM', '2/26/1998 12:00:00 AM', '2/3/1998 12:00:00 AM', 1, 52.51, 'La corne d''abondance', '67, avenue de l''Europe', 'Versailles', NULL, '78000', 'France' ) ;
+INSERT INTO GHTDB.ORDERS ( OrderID, CustomerID, EmployeeID, OrderDate, RequiredDate, ShippedDate, ShipVia, Freight, ShipName, ShipAddress, ShipCity, ShipRegion, ShipPostalCode, ShipCountry ) VALUES (10859, 'FRANK', 1, '1/29/1998 12:00:00 AM', '2/26/1998 12:00:00 AM', '2/2/1998 12:00:00 AM', 2, 76.1, 'Frankenversand', 'Berliner Platz 43', 'München', NULL, '80805', 'Germany' ) ;
+INSERT INTO GHTDB.ORDERS ( OrderID, CustomerID, EmployeeID, OrderDate, RequiredDate, ShippedDate, ShipVia, Freight, ShipName, ShipAddress, ShipCity, ShipRegion, ShipPostalCode, ShipCountry ) VALUES (10860, 'FRANR', 3, '1/29/1998 12:00:00 AM', '2/26/1998 12:00:00 AM', '2/4/1998 12:00:00 AM', 3, 19.26, 'France restauration', '54, rue Royale', 'Nantes', NULL, '44000', 'France' ) ;
+INSERT INTO GHTDB.ORDERS ( OrderID, CustomerID, EmployeeID, OrderDate, RequiredDate, ShippedDate, ShipVia, Freight, ShipName, ShipAddress, ShipCity, ShipRegion, ShipPostalCode, ShipCountry ) VALUES (10861, 'WHITC', 4, '1/30/1998 12:00:00 AM', '2/27/1998 12:00:00 AM', '2/17/1998 12:00:00 AM', 2, 14.93, 'White Clover Markets', '1029 - 12th Ave. S.', 'Seattle', 'WA', '98124', 'USA' ) ;
+INSERT INTO GHTDB.ORDERS ( OrderID, CustomerID, EmployeeID, OrderDate, RequiredDate, ShippedDate, ShipVia, Freight, ShipName, ShipAddress, ShipCity, ShipRegion, ShipPostalCode, ShipCountry ) VALUES (10862, 'LEHMS', 8, '1/30/1998 12:00:00 AM', '3/13/1998 12:00:00 AM', '2/2/1998 12:00:00 AM', 2, 53.23, 'Lehmanns Marktstand', 'Magazinweg 7', 'Frankfurt a.M.', NULL, '60528', 'Germany' ) ;
+INSERT INTO GHTDB.ORDERS ( OrderID, CustomerID, EmployeeID, OrderDate, RequiredDate, ShippedDate, ShipVia, Freight, ShipName, ShipAddress, ShipCity, ShipRegion, ShipPostalCode, ShipCountry ) VALUES (10863, 'HILAA', 4, '2/2/1998 12:00:00 AM', '3/2/1998 12:00:00 AM', '2/17/1998 12:00:00 AM', 2, 30.26, 'HILARION-Abastos', 'Carrera 22 con Ave. Carlos Soublette #8-35', 'San Cristóbal', 'Táchira', '5022', 'Venezuela' ) ;
+INSERT INTO GHTDB.ORDERS ( OrderID, CustomerID, EmployeeID, OrderDate, RequiredDate, ShippedDate, ShipVia, Freight, ShipName, ShipAddress, ShipCity, ShipRegion, ShipPostalCode, ShipCountry ) VALUES (10864, 'AROUT', 4, '2/2/1998 12:00:00 AM', '3/2/1998 12:00:00 AM', '2/9/1998 12:00:00 AM', 2, 3.04, 'Around the Horn', 'Brook Farm Stratford St. Mary', 'Colchester', 'Essex', 'CO7 6JX', 'UK' ) ;
+INSERT INTO GHTDB.ORDERS ( OrderID, CustomerID, EmployeeID, OrderDate, RequiredDate, ShippedDate, ShipVia, Freight, ShipName, ShipAddress, ShipCity, ShipRegion, ShipPostalCode, ShipCountry ) VALUES (10865, 'QUICK', 2, '2/2/1998 12:00:00 AM', '2/16/1998 12:00:00 AM', '2/12/1998 12:00:00 AM', 1, 348.14, 'QUICK-Stop', 'Taucherstraße 10', 'Cunewalde', NULL, '01307', 'Germany' ) ;
+INSERT INTO GHTDB.ORDERS ( OrderID, CustomerID, EmployeeID, OrderDate, RequiredDate, ShippedDate, ShipVia, Freight, ShipName, ShipAddress, ShipCity, ShipRegion, ShipPostalCode, ShipCountry ) VALUES (10866, 'BERGS', 5, '2/3/1998 12:00:00 AM', '3/3/1998 12:00:00 AM', '2/12/1998 12:00:00 AM', 1, 109.11, 'Berglunds snabbköp', 'Berguvsvägen  8', 'LuleÃ¥', NULL, 'S-958 22', 'Sweden' ) ;
+INSERT INTO GHTDB.ORDERS ( OrderID, CustomerID, EmployeeID, OrderDate, RequiredDate, ShippedDate, ShipVia, Freight, ShipName, ShipAddress, ShipCity, ShipRegion, ShipPostalCode, ShipCountry ) VALUES (10867, 'LONEP', 6, '2/3/1998 12:00:00 AM', '3/17/1998 12:00:00 AM', '2/11/1998 12:00:00 AM', 1, 1.93, 'Lonesome Pine Restaurant', '89 Chiaroscuro Rd.', 'Portland', 'OR', '97219', 'USA' ) ;
+INSERT INTO GHTDB.ORDERS ( OrderID, CustomerID, EmployeeID, OrderDate, RequiredDate, ShippedDate, ShipVia, Freight, ShipName, ShipAddress, ShipCity, ShipRegion, ShipPostalCode, ShipCountry ) VALUES (10868, 'QUEEN', 7, '2/4/1998 12:00:00 AM', '3/4/1998 12:00:00 AM', '2/23/1998 12:00:00 AM', 2, 191.27, 'Queen Cozinha', 'Alameda dos Canàrios, 891', 'Sao Paulo', 'SP', '05487-020', 'Brazil' ) ;
+INSERT INTO GHTDB.ORDERS ( OrderID, CustomerID, EmployeeID, OrderDate, RequiredDate, ShippedDate, ShipVia, Freight, ShipName, ShipAddress, ShipCity, ShipRegion, ShipPostalCode, ShipCountry ) VALUES (10869, 'SEVES', 5, '2/4/1998 12:00:00 AM', '3/4/1998 12:00:00 AM', '2/9/1998 12:00:00 AM', 1, 143.28, 'Seven Seas Imports', '90 Wadhurst Rd.', 'London', NULL, 'OX15 4NB', 'UK' ) ;
+INSERT INTO GHTDB.ORDERS ( OrderID, CustomerID, EmployeeID, OrderDate, RequiredDate, ShippedDate, ShipVia, Freight, ShipName, ShipAddress, ShipCity, ShipRegion, ShipPostalCode, ShipCountry ) VALUES (10870, 'WOLZA', 5, '2/4/1998 12:00:00 AM', '3/4/1998 12:00:00 AM', '2/13/1998 12:00:00 AM', 3, 12.04, 'Wolski Zajazd', 'ul. Filtrowa 68', 'Warszawa', NULL, '01-012', 'Poland' ) ;
+INSERT INTO GHTDB.ORDERS ( OrderID, CustomerID, EmployeeID, OrderDate, RequiredDate, ShippedDate, ShipVia, Freight, ShipName, ShipAddress, ShipCity, ShipRegion, ShipPostalCode, ShipCountry ) VALUES (10871, 'BONAP', 9, '2/5/1998 12:00:00 AM', '3/5/1998 12:00:00 AM', '2/10/1998 12:00:00 AM', 2, 112.27, 'Bon app''', '12, rue des Bouchers', 'Marseille', NULL, '13008', 'France' ) ;
+INSERT INTO GHTDB.ORDERS ( OrderID, CustomerID, EmployeeID, OrderDate, RequiredDate, ShippedDate, ShipVia, Freight, ShipName, ShipAddress, ShipCity, ShipRegion, ShipPostalCode, ShipCountry ) VALUES (10872, 'GODOS', 5, '2/5/1998 12:00:00 AM', '3/5/1998 12:00:00 AM', '2/9/1998 12:00:00 AM', 2, 175.32, 'Godos Cocina Típica', 'C/ Romero, 33', 'Sevilla', NULL, '41101', 'Spain' ) ;
+INSERT INTO GHTDB.ORDERS ( OrderID, CustomerID, EmployeeID, OrderDate, RequiredDate, ShippedDate, ShipVia, Freight, ShipName, ShipAddress, ShipCity, ShipRegion, ShipPostalCode, ShipCountry ) VALUES (10873, 'WILMK', 4, '2/6/1998 12:00:00 AM', '3/6/1998 12:00:00 AM', '2/9/1998 12:00:00 AM', 1, 0.82, 'Wilman Kala', 'Keskuskatu 45', 'Helsinki', NULL, '21240', 'Finland' ) ;
+INSERT INTO GHTDB.ORDERS ( OrderID, CustomerID, EmployeeID, OrderDate, RequiredDate, ShippedDate, ShipVia, Freight, ShipName, ShipAddress, ShipCity, ShipRegion, ShipPostalCode, ShipCountry ) VALUES (10874, 'GODOS', 5, '2/6/1998 12:00:00 AM', '3/6/1998 12:00:00 AM', '2/11/1998 12:00:00 AM', 2, 19.58, 'Godos Cocina Típica', 'C/ Romero, 33', 'Sevilla', NULL, '41101', 'Spain' ) ;
+INSERT INTO GHTDB.ORDERS ( OrderID, CustomerID, EmployeeID, OrderDate, RequiredDate, ShippedDate, ShipVia, Freight, ShipName, ShipAddress, ShipCity, ShipRegion, ShipPostalCode, ShipCountry ) VALUES (10875, 'BERGS', 4, '2/6/1998 12:00:00 AM', '3/6/1998 12:00:00 AM', '3/3/1998 12:00:00 AM', 2, 32.37, 'Berglunds snabbköp', 'Berguvsvägen  8', 'LuleÃ¥', NULL, 'S-958 22', 'Sweden' ) ;
+INSERT INTO GHTDB.ORDERS ( OrderID, CustomerID, EmployeeID, OrderDate, RequiredDate, ShippedDate, ShipVia, Freight, ShipName, ShipAddress, ShipCity, ShipRegion, ShipPostalCode, ShipCountry ) VALUES (10876, 'BONAP', 7, '2/9/1998 12:00:00 AM', '3/9/1998 12:00:00 AM', '2/12/1998 12:00:00 AM', 3, 60.42, 'Bon app''', '12, rue des Bouchers', 'Marseille', NULL, '13008', 'France' ) ;
+INSERT INTO GHTDB.ORDERS ( OrderID, CustomerID, EmployeeID, OrderDate, RequiredDate, ShippedDate, ShipVia, Freight, ShipName, ShipAddress, ShipCity, ShipRegion, ShipPostalCode, ShipCountry ) VALUES (10877, 'RICAR', 1, '2/9/1998 12:00:00 AM', '3/9/1998 12:00:00 AM', '2/19/1998 12:00:00 AM', 1, 38.06, 'Ricardo Adocicados', 'Av. Copacabana, 267', 'Rio de Janeiro', 'RJ', '02389-890', 'Brazil' ) ;
+INSERT INTO GHTDB.ORDERS ( OrderID, CustomerID, EmployeeID, OrderDate, RequiredDate, ShippedDate, ShipVia, Freight, ShipName, ShipAddress, ShipCity, ShipRegion, ShipPostalCode, ShipCountry ) VALUES (10878, 'QUICK', 4, '2/10/1998 12:00:00 AM', '3/10/1998 12:00:00 AM', '2/12/1998 12:00:00 AM', 1, 46.69, 'QUICK-Stop', 'Taucherstraße 10', 'Cunewalde', NULL, '01307', 'Germany' ) ;
+INSERT INTO GHTDB.ORDERS ( OrderID, CustomerID, EmployeeID, OrderDate, RequiredDate, ShippedDate, ShipVia, Freight, ShipName, ShipAddress, ShipCity, ShipRegion, ShipPostalCode, ShipCountry ) VALUES (10879, 'WILMK', 3, '2/10/1998 12:00:00 AM', '3/10/1998 12:00:00 AM', '2/12/1998 12:00:00 AM', 3, 8.5, 'Wilman Kala', 'Keskuskatu 45', 'Helsinki', NULL, '21240', 'Finland' ) ;
+INSERT INTO GHTDB.ORDERS ( OrderID, CustomerID, EmployeeID, OrderDate, RequiredDate, ShippedDate, ShipVia, Freight, ShipName, ShipAddress, ShipCity, ShipRegion, ShipPostalCode, ShipCountry ) VALUES (10880, 'FOLKO', 7, '2/10/1998 12:00:00 AM', '3/24/1998 12:00:00 AM', '2/18/1998 12:00:00 AM', 1, 88.01, 'Folk och fä HB', 'Ã…kergatan 24', 'Bräcke', NULL, 'S-844 67', 'Sweden' ) ;
+INSERT INTO GHTDB.ORDERS ( OrderID, CustomerID, EmployeeID, OrderDate, RequiredDate, ShippedDate, ShipVia, Freight, ShipName, ShipAddress, ShipCity, ShipRegion, ShipPostalCode, ShipCountry ) VALUES (10881, 'CACTU', 4, '2/11/1998 12:00:00 AM', '3/11/1998 12:00:00 AM', '2/18/1998 12:00:00 AM', 1, 2.84, 'Cactus Comidas para llevar', 'Cerrito 333', 'Buenos Aires', NULL, '1010', 'Argentina' ) ;
+INSERT INTO GHTDB.ORDERS ( OrderID, CustomerID, EmployeeID, OrderDate, RequiredDate, ShippedDate, ShipVia, Freight, ShipName, ShipAddress, ShipCity, ShipRegion, ShipPostalCode, ShipCountry ) VALUES (10882, 'SAVEA', 4, '2/11/1998 12:00:00 AM', '3/11/1998 12:00:00 AM', '2/20/1998 12:00:00 AM', 3, 23.1, 'Save-a-lot Markets', '187 Suffolk Ln.', 'Boise', 'ID', '83720', 'USA' ) ;
+INSERT INTO GHTDB.ORDERS ( OrderID, CustomerID, EmployeeID, OrderDate, RequiredDate, ShippedDate, ShipVia, Freight, ShipName, ShipAddress, ShipCity, ShipRegion, ShipPostalCode, ShipCountry ) VALUES (10883, 'LONEP', 8, '2/12/1998 12:00:00 AM', '3/12/1998 12:00:00 AM', '2/20/1998 12:00:00 AM', 3, 0.53, 'Lonesome Pine Restaurant', '89 Chiaroscuro Rd.', 'Portland', 'OR', '97219', 'USA' ) ;
+INSERT INTO GHTDB.ORDERS ( OrderID, CustomerID, EmployeeID, OrderDate, RequiredDate, ShippedDate, ShipVia, Freight, ShipName, ShipAddress, ShipCity, ShipRegion, ShipPostalCode, ShipCountry ) VALUES (10884, 'LETSS', 4, '2/12/1998 12:00:00 AM', '3/12/1998 12:00:00 AM', '2/13/1998 12:00:00 AM', 2, 90.97, 'Let''s Stop N Shop', '87 Polk St. Suite 5', 'San Francisco', 'CA', '94117', 'USA' ) ;
+INSERT INTO GHTDB.ORDERS ( OrderID, CustomerID, EmployeeID, OrderDate, RequiredDate, ShippedDate, ShipVia, Freight, ShipName, ShipAddress, ShipCity, ShipRegion, ShipPostalCode, ShipCountry ) VALUES (10885, 'SUPRD', 6, '2/12/1998 12:00:00 AM', '3/12/1998 12:00:00 AM', '2/18/1998 12:00:00 AM', 3, 5.64, 'Suprêmes délices', 'Boulevard Tirou, 255', 'Charleroi', NULL, 'B-6000', 'Belgium' ) ;
+INSERT INTO GHTDB.ORDERS ( OrderID, CustomerID, EmployeeID, OrderDate, RequiredDate, ShippedDate, ShipVia, Freight, ShipName, ShipAddress, ShipCity, ShipRegion, ShipPostalCode, ShipCountry ) VALUES (10886, 'HANAR', 1, '2/13/1998 12:00:00 AM', '3/13/1998 12:00:00 AM', '3/2/1998 12:00:00 AM', 1, 4.99, 'Hanari Carnes', 'Rua do Paço, 67', 'Rio de Janeiro', 'RJ', '05454-876', 'Brazil' ) ;
+INSERT INTO GHTDB.ORDERS ( OrderID, CustomerID, EmployeeID, OrderDate, RequiredDate, ShippedDate, ShipVia, Freight, ShipName, ShipAddress, ShipCity, ShipRegion, ShipPostalCode, ShipCountry ) VALUES (10887, 'GALED', 8, '2/13/1998 12:00:00 AM', '3/13/1998 12:00:00 AM', '2/16/1998 12:00:00 AM', 3, 1.25, 'Galería del gastronómo', 'Rambla de Cataluña, 23', 'Barcelona', NULL, '8022', 'Spain' ) ;
+INSERT INTO GHTDB.ORDERS ( OrderID, CustomerID, EmployeeID, OrderDate, RequiredDate, ShippedDate, ShipVia, Freight, ShipName, ShipAddress, ShipCity, ShipRegion, ShipPostalCode, ShipCountry ) VALUES (10888, 'GODOS', 1, '2/16/1998 12:00:00 AM', '3/16/1998 12:00:00 AM', '2/23/1998 12:00:00 AM', 2, 51.87, 'Godos Cocina Típica', 'C/ Romero, 33', 'Sevilla', NULL, '41101', 'Spain' ) ;
+INSERT INTO GHTDB.ORDERS ( OrderID, CustomerID, EmployeeID, OrderDate, RequiredDate, ShippedDate, ShipVia, Freight, ShipName, ShipAddress, ShipCity, ShipRegion, ShipPostalCode, ShipCountry ) VALUES (10889, 'RATTC', 9, '2/16/1998 12:00:00 AM', '3/16/1998 12:00:00 AM', '2/23/1998 12:00:00 AM', 3, 280.61, 'Rattlesnake Canyon Grocery', '2817 Milton Dr.', 'Albuquerque', 'NM', '87110', 'USA' ) ;
+INSERT INTO GHTDB.ORDERS ( OrderID, CustomerID, EmployeeID, OrderDate, RequiredDate, ShippedDate, ShipVia, Freight, ShipName, ShipAddress, ShipCity, ShipRegion, ShipPostalCode, ShipCountry ) VALUES (10890, 'DUMON', 7, '2/16/1998 12:00:00 AM', '3/16/1998 12:00:00 AM', '2/18/1998 12:00:00 AM', 1, 32.76, 'Du monde entier', '67, rue des Cinquante Otages', 'Nantes', NULL, '44000', 'France' ) ;
+INSERT INTO GHTDB.ORDERS ( OrderID, CustomerID, EmployeeID, OrderDate, RequiredDate, ShippedDate, ShipVia, Freight, ShipName, ShipAddress, ShipCity, ShipRegion, ShipPostalCode, ShipCountry ) VALUES (10891, 'LEHMS', 7, '2/17/1998 12:00:00 AM', '3/17/1998 12:00:00 AM', '2/19/1998 12:00:00 AM', 2, 20.37, 'Lehmanns Marktstand', 'Magazinweg 7', 'Frankfurt a.M.', NULL, '60528', 'Germany' ) ;
+INSERT INTO GHTDB.ORDERS ( OrderID, CustomerID, EmployeeID, OrderDate, RequiredDate, ShippedDate, ShipVia, Freight, ShipName, ShipAddress, ShipCity, ShipRegion, ShipPostalCode, ShipCountry ) VALUES (10892, 'MAISD', 4, '2/17/1998 12:00:00 AM', '3/17/1998 12:00:00 AM', '2/19/1998 12:00:00 AM', 2, 120.27, 'Maison Dewey', 'Rue Joseph-Bens 532', 'Bruxelles', NULL, 'B-1180', 'Belgium' ) ;
+INSERT INTO GHTDB.ORDERS ( OrderID, CustomerID, EmployeeID, OrderDate, RequiredDate, ShippedDate, ShipVia, Freight, ShipName, ShipAddress, ShipCity, ShipRegion, ShipPostalCode, ShipCountry ) VALUES (10893, 'KOENE', 9, '2/18/1998 12:00:00 AM', '3/18/1998 12:00:00 AM', '2/20/1998 12:00:00 AM', 2, 77.78, 'Königlich Essen', 'Maubelstr. 90', 'Brandenburg', NULL, '14776', 'Germany' ) ;
+INSERT INTO GHTDB.ORDERS ( OrderID, CustomerID, EmployeeID, OrderDate, RequiredDate, ShippedDate, ShipVia, Freight, ShipName, ShipAddress, ShipCity, ShipRegion, ShipPostalCode, ShipCountry ) VALUES (10894, 'SAVEA', 1, '2/18/1998 12:00:00 AM', '3/18/1998 12:00:00 AM', '2/20/1998 12:00:00 AM', 1, 116.13, 'Save-a-lot Markets', '187 Suffolk Ln.', 'Boise', 'ID', '83720', 'USA' ) ;
+INSERT INTO GHTDB.ORDERS ( OrderID, CustomerID, EmployeeID, OrderDate, RequiredDate, ShippedDate, ShipVia, Freight, ShipName, ShipAddress, ShipCity, ShipRegion, ShipPostalCode, ShipCountry ) VALUES (10895, 'ERNSH', 3, '2/18/1998 12:00:00 AM', '3/18/1998 12:00:00 AM', '2/23/1998 12:00:00 AM', 1, 162.75, 'Ernst Handel', 'Kirchgasse 6', 'Graz', NULL, '8010', 'Austria' ) ;
+INSERT INTO GHTDB.ORDERS ( OrderID, CustomerID, EmployeeID, OrderDate, RequiredDate, ShippedDate, ShipVia, Freight, ShipName, ShipAddress, ShipCity, ShipRegion, ShipPostalCode, ShipCountry ) VALUES (10896, 'MAISD', 7, '2/19/1998 12:00:00 AM', '3/19/1998 12:00:00 AM', '2/27/1998 12:00:00 AM', 3, 32.45, 'Maison Dewey', 'Rue Joseph-Bens 532', 'Bruxelles', NULL, 'B-1180', 'Belgium' ) ;
+INSERT INTO GHTDB.ORDERS ( OrderID, CustomerID, EmployeeID, OrderDate, RequiredDate, ShippedDate, ShipVia, Freight, ShipName, ShipAddress, ShipCity, ShipRegion, ShipPostalCode, ShipCountry ) VALUES (10897, 'HUNGO', 3, '2/19/1998 12:00:00 AM', '3/19/1998 12:00:00 AM', '2/25/1998 12:00:00 AM', 2, 603.54, 'Hungry Owl All-Night Grocers', '8 Johnstown Road', 'Cork', 'Co. Cork', NULL, 'Ireland' ) ;
+INSERT INTO GHTDB.ORDERS ( OrderID, CustomerID, EmployeeID, OrderDate, RequiredDate, ShippedDate, ShipVia, Freight, ShipName, ShipAddress, ShipCity, ShipRegion, ShipPostalCode, ShipCountry ) VALUES (10898, 'OCEAN', 4, '2/20/1998 12:00:00 AM', '3/20/1998 12:00:00 AM', '3/6/1998 12:00:00 AM', 2, 1.27, 'Océano Atlántico Ltda.', 'Ing. Gustavo Moncada 8585 Piso 20-A', 'Buenos Aires', NULL, '1010', 'Argentina' ) ;
+INSERT INTO GHTDB.ORDERS ( OrderID, CustomerID, EmployeeID, OrderDate, RequiredDate, ShippedDate, ShipVia, Freight, ShipName, ShipAddress, ShipCity, ShipRegion, ShipPostalCode, ShipCountry ) VALUES (10899, 'LILAS', 5, '2/20/1998 12:00:00 AM', '3/20/1998 12:00:00 AM', '2/26/1998 12:00:00 AM', 3, 1.21, 'LILA-Supermercado', 'Carrera 52 con Ave. Bolívar #65-98 Llano Largo', 'Barquisimeto', 'Lara', '3508', 'Venezuela' ) ;
+INSERT INTO GHTDB.ORDERS ( OrderID, CustomerID, EmployeeID, OrderDate, RequiredDate, ShippedDate, ShipVia, Freight, ShipName, ShipAddress, ShipCity, ShipRegion, ShipPostalCode, ShipCountry ) VALUES (10900, 'WELLI', 1, '2/20/1998 12:00:00 AM', '3/20/1998 12:00:00 AM', '3/4/1998 12:00:00 AM', 2, 1.66, 'Wellington Importadora', 'Rua do Mercado, 12', 'Resende', 'SP', '08737-363', 'Brazil' ) ;
+INSERT INTO GHTDB.ORDERS ( OrderID, CustomerID, EmployeeID, OrderDate, RequiredDate, ShippedDate, ShipVia, Freight, ShipName, ShipAddress, ShipCity, ShipRegion, ShipPostalCode, ShipCountry ) VALUES (10901, 'HILAA', 4, '2/23/1998 12:00:00 AM', '3/23/1998 12:00:00 AM', '2/26/1998 12:00:00 AM', 1, 62.09, 'HILARION-Abastos', 'Carrera 22 con Ave. Carlos Soublette #8-35', 'San Cristóbal', 'Táchira', '5022', 'Venezuela' ) ;
+INSERT INTO GHTDB.ORDERS ( OrderID, CustomerID, EmployeeID, OrderDate, RequiredDate, ShippedDate, ShipVia, Freight, ShipName, ShipAddress, ShipCity, ShipRegion, ShipPostalCode, ShipCountry ) VALUES (10902, 'FOLKO', 1, '2/23/1998 12:00:00 AM', '3/23/1998 12:00:00 AM', '3/3/1998 12:00:00 AM', 1, 44.15, 'Folk och fä HB', 'Ã…kergatan 24', 'Bräcke', NULL, 'S-844 67', 'Sweden' ) ;
+INSERT INTO GHTDB.ORDERS ( OrderID, CustomerID, EmployeeID, OrderDate, RequiredDate, ShippedDate, ShipVia, Freight, ShipName, ShipAddress, ShipCity, ShipRegion, ShipPostalCode, ShipCountry ) VALUES (10903, 'HANAR', 3, '2/24/1998 12:00:00 AM', '3/24/1998 12:00:00 AM', '3/4/1998 12:00:00 AM', 3, 36.71, 'Hanari Carnes', 'Rua do Paço, 67', 'Rio de Janeiro', 'RJ', '05454-876', 'Brazil' ) ;
+INSERT INTO GHTDB.ORDERS ( OrderID, CustomerID, EmployeeID, OrderDate, RequiredDate, ShippedDate, ShipVia, Freight, ShipName, ShipAddress, ShipCity, ShipRegion, ShipPostalCode, ShipCountry ) VALUES (10904, 'WHITC', 3, '2/24/1998 12:00:00 AM', '3/24/1998 12:00:00 AM', '2/27/1998 12:00:00 AM', 3, 162.95, 'White Clover Markets', '1029 - 12th Ave. S.', 'Seattle', 'WA', '98124', 'USA' ) ;
+INSERT INTO GHTDB.ORDERS ( OrderID, CustomerID, EmployeeID, OrderDate, RequiredDate, ShippedDate, ShipVia, Freight, ShipName, ShipAddress, ShipCity, ShipRegion, ShipPostalCode, ShipCountry ) VALUES (10905, 'WELLI', 9, '2/24/1998 12:00:00 AM', '3/24/1998 12:00:00 AM', '3/6/1998 12:00:00 AM', 2, 13.72, 'Wellington Importadora', 'Rua do Mercado, 12', 'Resende', 'SP', '08737-363', 'Brazil' ) ;
+INSERT INTO GHTDB.ORDERS ( OrderID, CustomerID, EmployeeID, OrderDate, RequiredDate, ShippedDate, ShipVia, Freight, ShipName, ShipAddress, ShipCity, ShipRegion, ShipPostalCode, ShipCountry ) VALUES (10906, 'WOLZA', 4, '2/25/1998 12:00:00 AM', '3/11/1998 12:00:00 AM', '3/3/1998 12:00:00 AM', 3, 26.29, 'Wolski Zajazd', 'ul. Filtrowa 68', 'Warszawa', NULL, '01-012', 'Poland' ) ;
+INSERT INTO GHTDB.ORDERS ( OrderID, CustomerID, EmployeeID, OrderDate, RequiredDate, ShippedDate, ShipVia, Freight, ShipName, ShipAddress, ShipCity, ShipRegion, ShipPostalCode, ShipCountry ) VALUES (10907, 'SPECD', 6, '2/25/1998 12:00:00 AM', '3/25/1998 12:00:00 AM', '2/27/1998 12:00:00 AM', 3, 9.19, 'Spécialités du monde', '25, rue Lauriston', 'Paris', NULL, '75016', 'France' ) ;
+INSERT INTO GHTDB.ORDERS ( OrderID, CustomerID, EmployeeID, OrderDate, RequiredDate, ShippedDate, ShipVia, Freight, ShipName, ShipAddress, ShipCity, ShipRegion, ShipPostalCode, ShipCountry ) VALUES (10908, 'REGGC', 4, '2/26/1998 12:00:00 AM', '3/26/1998 12:00:00 AM', '3/6/1998 12:00:00 AM', 2, 32.96, 'Reggiani Caseifici', 'Strada Provinciale 124', 'Reggio Emilia', NULL, '42100', 'Italy' ) ;
+INSERT INTO GHTDB.ORDERS ( OrderID, CustomerID, EmployeeID, OrderDate, RequiredDate, ShippedDate, ShipVia, Freight, ShipName, ShipAddress, ShipCity, ShipRegion, ShipPostalCode, ShipCountry ) VALUES (10909, 'SANTG', 1, '2/26/1998 12:00:00 AM', '3/26/1998 12:00:00 AM', '3/10/1998 12:00:00 AM', 2, 53.05, 'Santé Gourmet', 'Erling Skakkes gate 78', 'Stavern', NULL, '4110', 'Norway' ) ;
+INSERT INTO GHTDB.ORDERS ( OrderID, CustomerID, EmployeeID, OrderDate, RequiredDate, ShippedDate, ShipVia, Freight, ShipName, ShipAddress, ShipCity, ShipRegion, ShipPostalCode, ShipCountry ) VALUES (10910, 'WILMK', 1, '2/26/1998 12:00:00 AM', '3/26/1998 12:00:00 AM', '3/4/1998 12:00:00 AM', 3, 38.11, 'Wilman Kala', 'Keskuskatu 45', 'Helsinki', NULL, '21240', 'Finland' ) ;
+INSERT INTO GHTDB.ORDERS ( OrderID, CustomerID, EmployeeID, OrderDate, RequiredDate, ShippedDate, ShipVia, Freight, ShipName, ShipAddress, ShipCity, ShipRegion, ShipPostalCode, ShipCountry ) VALUES (10911, 'GODOS', 3, '2/26/1998 12:00:00 AM', '3/26/1998 12:00:00 AM', '3/5/1998 12:00:00 AM', 1, 38.19, 'Godos Cocina Típica', 'C/ Romero, 33', 'Sevilla', NULL, '41101', 'Spain' ) ;
+INSERT INTO GHTDB.ORDERS ( OrderID, CustomerID, EmployeeID, OrderDate, RequiredDate, ShippedDate, ShipVia, Freight, ShipName, ShipAddress, ShipCity, ShipRegion, ShipPostalCode, ShipCountry ) VALUES (10912, 'HUNGO', 2, '2/26/1998 12:00:00 AM', '3/26/1998 12:00:00 AM', '3/18/1998 12:00:00 AM', 2, 580.91, 'Hungry Owl All-Night Grocers', '8 Johnstown Road', 'Cork', 'Co. Cork', NULL, 'Ireland' ) ;
+INSERT INTO GHTDB.ORDERS ( OrderID, CustomerID, EmployeeID, OrderDate, RequiredDate, ShippedDate, ShipVia, Freight, ShipName, ShipAddress, ShipCity, ShipRegion, ShipPostalCode, ShipCountry ) VALUES (10913, 'QUEEN', 4, '2/26/1998 12:00:00 AM', '3/26/1998 12:00:00 AM', '3/4/1998 12:00:00 AM', 1, 33.05, 'Queen Cozinha', 'Alameda dos Canàrios, 891', 'Sao Paulo', 'SP', '05487-020', 'Brazil' ) ;
+INSERT INTO GHTDB.ORDERS ( OrderID, CustomerID, EmployeeID, OrderDate, RequiredDate, ShippedDate, ShipVia, Freight, ShipName, ShipAddress, ShipCity, ShipRegion, ShipPostalCode, ShipCountry ) VALUES (10914, 'QUEEN', 6, '2/27/1998 12:00:00 AM', '3/27/1998 12:00:00 AM', '3/2/1998 12:00:00 AM', 1, 21.19, 'Queen Cozinha', 'Alameda dos Canàrios, 891', 'Sao Paulo', 'SP', '05487-020', 'Brazil' ) ;
+INSERT INTO GHTDB.ORDERS ( OrderID, CustomerID, EmployeeID, OrderDate, RequiredDate, ShippedDate, ShipVia, Freight, ShipName, ShipAddress, ShipCity, ShipRegion, ShipPostalCode, ShipCountry ) VALUES (10915, 'TORTU', 2, '2/27/1998 12:00:00 AM', '3/27/1998 12:00:00 AM', '3/2/1998 12:00:00 AM', 2, 3.51, 'Tortuga Restaurante', 'Avda. Azteca 123', 'México D.F.', NULL, '05033', 'Mexico' ) ;
+INSERT INTO GHTDB.ORDERS ( OrderID, CustomerID, EmployeeID, OrderDate, RequiredDate, ShippedDate, ShipVia, Freight, ShipName, ShipAddress, ShipCity, ShipRegion, ShipPostalCode, ShipCountry ) VALUES (10916, 'RANCH', 1, '2/27/1998 12:00:00 AM', '3/27/1998 12:00:00 AM', '3/9/1998 12:00:00 AM', 2, 63.77, 'Rancho grande', 'Av. del Libertador 900', 'Buenos Aires', NULL, '1010', 'Argentina' ) ;
+INSERT INTO GHTDB.ORDERS ( OrderID, CustomerID, EmployeeID, OrderDate, RequiredDate, ShippedDate, ShipVia, Freight, ShipName, ShipAddress, ShipCity, ShipRegion, ShipPostalCode, ShipCountry ) VALUES (10917, 'ROMEY', 4, '3/2/1998 12:00:00 AM', '3/30/1998 12:00:00 AM', '3/11/1998 12:00:00 AM', 2, 8.29, 'Romero y tomillo', 'Gran Vía, 1', 'Madrid', NULL, '28001', 'Spain' ) ;
+INSERT INTO GHTDB.ORDERS ( OrderID, CustomerID, EmployeeID, OrderDate, RequiredDate, ShippedDate, ShipVia, Freight, ShipName, ShipAddress, ShipCity, ShipRegion, ShipPostalCode, ShipCountry ) VALUES (10918, 'BOTTM', 3, '3/2/1998 12:00:00 AM', '3/30/1998 12:00:00 AM', '3/11/1998 12:00:00 AM', 3, 48.83, 'Bottom-Dollar Markets', '23 Tsawassen Blvd.', 'Tsawassen', 'BC', 'T2F 8M4', 'Canada' ) ;
+INSERT INTO GHTDB.ORDERS ( OrderID, CustomerID, EmployeeID, OrderDate, RequiredDate, ShippedDate, ShipVia, Freight, ShipName, ShipAddress, ShipCity, ShipRegion, ShipPostalCode, ShipCountry ) VALUES (10919, 'LINOD', 2, '3/2/1998 12:00:00 AM', '3/30/1998 12:00:00 AM', '3/4/1998 12:00:00 AM', 2, 19.8, 'LINO-Delicateses', 'Ave. 5 de Mayo Porlamar', 'I. de Margarita', 'Nueva Esparta', '4980', 'Venezuela' ) ;
+INSERT INTO GHTDB.ORDERS ( OrderID, CustomerID, EmployeeID, OrderDate, RequiredDate, ShippedDate, ShipVia, Freight, ShipName, ShipAddress, ShipCity, ShipRegion, ShipPostalCode, ShipCountry ) VALUES (10920, 'AROUT', 4, '3/3/1998 12:00:00 AM', '3/31/1998 12:00:00 AM', '3/9/1998 12:00:00 AM', 2, 29.61, 'Around the Horn', 'Brook Farm Stratford St. Mary', 'Colchester', 'Essex', 'CO7 6JX', 'UK' ) ;
+INSERT INTO GHTDB.ORDERS ( OrderID, CustomerID, EmployeeID, OrderDate, RequiredDate, ShippedDate, ShipVia, Freight, ShipName, ShipAddress, ShipCity, ShipRegion, ShipPostalCode, ShipCountry ) VALUES (10921, 'VAFFE', 1, '3/3/1998 12:00:00 AM', '4/14/1998 12:00:00 AM', '3/9/1998 12:00:00 AM', 1, 176.48, 'Vaffeljernet', 'Smagsloget 45', 'Ã…rhus', NULL, '8200', 'Denmark' ) ;
+INSERT INTO GHTDB.ORDERS ( OrderID, CustomerID, EmployeeID, OrderDate, RequiredDate, ShippedDate, ShipVia, Freight, ShipName, ShipAddress, ShipCity, ShipRegion, ShipPostalCode, ShipCountry ) VALUES (10922, 'HANAR', 5, '3/3/1998 12:00:00 AM', '3/31/1998 12:00:00 AM', '3/5/1998 12:00:00 AM', 3, 62.74, 'Hanari Carnes', 'Rua do Paço, 67', 'Rio de Janeiro', 'RJ', '05454-876', 'Brazil' ) ;
+INSERT INTO GHTDB.ORDERS ( OrderID, CustomerID, EmployeeID, OrderDate, RequiredDate, ShippedDate, ShipVia, Freight, ShipName, ShipAddress, ShipCity, ShipRegion, ShipPostalCode, ShipCountry ) VALUES (10923, 'LAMAI', 7, '3/3/1998 12:00:00 AM', '4/14/1998 12:00:00 AM', '3/13/1998 12:00:00 AM', 3, 68.26, 'La maison d''Asie', '1 rue Alsace-Lorraine', 'Toulouse', NULL, '31000', 'France' ) ;
+INSERT INTO GHTDB.ORDERS ( OrderID, CustomerID, EmployeeID, OrderDate, RequiredDate, ShippedDate, ShipVia, Freight, ShipName, ShipAddress, ShipCity, ShipRegion, ShipPostalCode, ShipCountry ) VALUES (10924, 'BERGS', 3, '3/4/1998 12:00:00 AM', '4/1/1998 12:00:00 AM', '4/8/1998 12:00:00 AM', 2, 151.52, 'Berglunds snabbköp', 'Berguvsvägen  8', 'LuleÃ¥', NULL, 'S-958 22', 'Sweden' ) ;
+INSERT INTO GHTDB.ORDERS ( OrderID, CustomerID, EmployeeID, OrderDate, RequiredDate, ShippedDate, ShipVia, Freight, ShipName, ShipAddress, ShipCity, ShipRegion, ShipPostalCode, ShipCountry ) VALUES (10925, 'HANAR', 3, '3/4/1998 12:00:00 AM', '4/1/1998 12:00:00 AM', '3/13/1998 12:00:00 AM', 1, 2.27, 'Hanari Carnes', 'Rua do Paço, 67', 'Rio de Janeiro', 'RJ', '05454-876', 'Brazil' ) ;
+INSERT INTO GHTDB.ORDERS ( OrderID, CustomerID, EmployeeID, OrderDate, RequiredDate, ShippedDate, ShipVia, Freight, ShipName, ShipAddress, ShipCity, ShipRegion, ShipPostalCode, ShipCountry ) VALUES (10926, 'ANATR', 4, '3/4/1998 12:00:00 AM', '4/1/1998 12:00:00 AM', '3/11/1998 12:00:00 AM', 3, 39.92, 'Ana Trujillo Emparedados y helados', 'Avda. de la Constitución 2222', 'México D.F.', NULL, '05021', 'Mexico' ) ;
+INSERT INTO GHTDB.ORDERS ( OrderID, CustomerID, EmployeeID, OrderDate, RequiredDate, ShippedDate, ShipVia, Freight, ShipName, ShipAddress, ShipCity, ShipRegion, ShipPostalCode, ShipCountry ) VALUES (10927, 'LACOR', 4, '3/5/1998 12:00:00 AM', '4/2/1998 12:00:00 AM', '4/8/1998 12:00:00 AM', 1, 19.79, 'La corne d''abondance', '67, avenue de l''Europe', 'Versailles', NULL, '78000', 'France' ) ;
+INSERT INTO GHTDB.ORDERS ( OrderID, CustomerID, EmployeeID, OrderDate, RequiredDate, ShippedDate, ShipVia, Freight, ShipName, ShipAddress, ShipCity, ShipRegion, ShipPostalCode, ShipCountry ) VALUES (10928, 'GALED', 1, '3/5/1998 12:00:00 AM', '4/2/1998 12:00:00 AM', '3/18/1998 12:00:00 AM', 1, 1.36, 'Galería del gastronómo', 'Rambla de Cataluña, 23', 'Barcelona', NULL, '8022', 'Spain' ) ;
+INSERT INTO GHTDB.ORDERS ( OrderID, CustomerID, EmployeeID, OrderDate, RequiredDate, ShippedDate, ShipVia, Freight, ShipName, ShipAddress, ShipCity, ShipRegion, ShipPostalCode, ShipCountry ) VALUES (10929, 'FRANK', 6, '3/5/1998 12:00:00 AM', '4/2/1998 12:00:00 AM', '3/12/1998 12:00:00 AM', 1, 33.93, 'Frankenversand', 'Berliner Platz 43', 'München', NULL, '80805', 'Germany' ) ;
+INSERT INTO GHTDB.ORDERS ( OrderID, CustomerID, EmployeeID, OrderDate, RequiredDate, ShippedDate, ShipVia, Freight, ShipName, ShipAddress, ShipCity, ShipRegion, ShipPostalCode, ShipCountry ) VALUES (10930, 'SUPRD', 4, '3/6/1998 12:00:00 AM', '4/17/1998 12:00:00 AM', '3/18/1998 12:00:00 AM', 3, 15.55, 'Suprêmes délices', 'Boulevard Tirou, 255', 'Charleroi', NULL, 'B-6000', 'Belgium' ) ;
+INSERT INTO GHTDB.ORDERS ( OrderID, CustomerID, EmployeeID, OrderDate, RequiredDate, ShippedDate, ShipVia, Freight, ShipName, ShipAddress, ShipCity, ShipRegion, ShipPostalCode, ShipCountry ) VALUES (10931, 'RICSU', 4, '3/6/1998 12:00:00 AM', '3/20/1998 12:00:00 AM', '3/19/1998 12:00:00 AM', 2, 13.6, 'Richter Supermarkt', 'Starenweg 5', 'Genève', NULL, '1204', 'Switzerland' ) ;
+INSERT INTO GHTDB.ORDERS ( OrderID, CustomerID, EmployeeID, OrderDate, RequiredDate, ShippedDate, ShipVia, Freight, ShipName, ShipAddress, ShipCity, ShipRegion, ShipPostalCode, ShipCountry ) VALUES (10932, 'BONAP', 8, '3/6/1998 12:00:00 AM', '4/3/1998 12:00:00 AM', '3/24/1998 12:00:00 AM', 1, 134.64, 'Bon app''', '12, rue des Bouchers', 'Marseille', NULL, '13008', 'France' ) ;
+INSERT INTO GHTDB.ORDERS ( OrderID, CustomerID, EmployeeID, OrderDate, RequiredDate, ShippedDate, ShipVia, Freight, ShipName, ShipAddress, ShipCity, ShipRegion, ShipPostalCode, ShipCountry ) VALUES (10933, 'ISLAT', 6, '3/6/1998 12:00:00 AM', '4/3/1998 12:00:00 AM', '3/16/1998 12:00:00 AM', 3, 54.15, 'Island Trading', 'Garden House Crowther Way', 'Cowes', 'Isle of Wight', 'PO31 7PJ', 'UK' ) ;
+INSERT INTO GHTDB.ORDERS ( OrderID, CustomerID, EmployeeID, OrderDate, RequiredDate, ShippedDate, ShipVia, Freight, ShipName, ShipAddress, ShipCity, ShipRegion, ShipPostalCode, ShipCountry ) VALUES (10934, 'LEHMS', 3, '3/9/1998 12:00:00 AM', '4/6/1998 12:00:00 AM', '3/12/1998 12:00:00 AM', 3, 32.01, 'Lehmanns Marktstand', 'Magazinweg 7', 'Frankfurt a.M.', NULL, '60528', 'Germany' ) ;
+INSERT INTO GHTDB.ORDERS ( OrderID, CustomerID, EmployeeID, OrderDate, RequiredDate, ShippedDate, ShipVia, Freight, ShipName, ShipAddress, ShipCity, ShipRegion, ShipPostalCode, ShipCountry ) VALUES (10935, 'WELLI', 4, '3/9/1998 12:00:00 AM', '4/6/1998 12:00:00 AM', '3/18/1998 12:00:00 AM', 3, 47.59, 'Wellington Importadora', 'Rua do Mercado, 12', 'Resende', 'SP', '08737-363', 'Brazil' ) ;
+INSERT INTO GHTDB.ORDERS ( OrderID, CustomerID, EmployeeID, OrderDate, RequiredDate, ShippedDate, ShipVia, Freight, ShipName, ShipAddress, ShipCity, ShipRegion, ShipPostalCode, ShipCountry ) VALUES (10936, 'GREAL', 3, '3/9/1998 12:00:00 AM', '4/6/1998 12:00:00 AM', '3/18/1998 12:00:00 AM', 2, 33.68, 'Great Lakes Food Market', '2732 Baker Blvd.', 'Eugene', 'OR', '97403', 'USA' ) ;
+INSERT INTO GHTDB.ORDERS ( OrderID, CustomerID, EmployeeID, OrderDate, RequiredDate, ShippedDate, ShipVia, Freight, ShipName, ShipAddress, ShipCity, ShipRegion, ShipPostalCode, ShipCountry ) VALUES (10937, 'CACTU', 7, '3/10/1998 12:00:00 AM', '3/24/1998 12:00:00 AM', '3/13/1998 12:00:00 AM', 3, 31.51, 'Cactus Comidas para llevar', 'Cerrito 333', 'Buenos Aires', NULL, '1010', 'Argentina' ) ;
+INSERT INTO GHTDB.ORDERS ( OrderID, CustomerID, EmployeeID, OrderDate, RequiredDate, ShippedDate, ShipVia, Freight, ShipName, ShipAddress, ShipCity, ShipRegion, ShipPostalCode, ShipCountry ) VALUES (10938, 'QUICK', 3, '3/10/1998 12:00:00 AM', '4/7/1998 12:00:00 AM', '3/16/1998 12:00:00 AM', 2, 31.89, 'QUICK-Stop', 'Taucherstraße 10', 'Cunewalde', NULL, '01307', 'Germany' ) ;
+INSERT INTO GHTDB.ORDERS ( OrderID, CustomerID, EmployeeID, OrderDate, RequiredDate, ShippedDate, ShipVia, Freight, ShipName, ShipAddress, ShipCity, ShipRegion, ShipPostalCode, ShipCountry ) VALUES (10939, 'MAGAA', 2, '3/10/1998 12:00:00 AM', '4/7/1998 12:00:00 AM', '3/13/1998 12:00:00 AM', 2, 76.33, 'Magazzini Alimentari Riuniti', 'Via Ludovico il Moro 22', 'Bergamo', NULL, '24100', 'Italy' ) ;
+INSERT INTO GHTDB.ORDERS ( OrderID, CustomerID, EmployeeID, OrderDate, RequiredDate, ShippedDate, ShipVia, Freight, ShipName, ShipAddress, ShipCity, ShipRegion, ShipPostalCode, ShipCountry ) VALUES (10940, 'BONAP', 8, '3/11/1998 12:00:00 AM', '4/8/1998 12:00:00 AM', '3/23/1998 12:00:00 AM', 3, 19.77, 'Bon app''', '12, rue des Bouchers', 'Marseille', NULL, '13008', 'France' ) ;
+INSERT INTO GHTDB.ORDERS ( OrderID, CustomerID, EmployeeID, OrderDate, RequiredDate, ShippedDate, ShipVia, Freight, ShipName, ShipAddress, ShipCity, ShipRegion, ShipPostalCode, ShipCountry ) VALUES (10941, 'SAVEA', 7, '3/11/1998 12:00:00 AM', '4/8/1998 12:00:00 AM', '3/20/1998 12:00:00 AM', 2, 400.81, 'Save-a-lot Markets', '187 Suffolk Ln.', 'Boise', 'ID', '83720', 'USA' ) ;
+INSERT INTO GHTDB.ORDERS ( OrderID, CustomerID, EmployeeID, OrderDate, RequiredDate, ShippedDate, ShipVia, Freight, ShipName, ShipAddress, ShipCity, ShipRegion, ShipPostalCode, ShipCountry ) VALUES (10942, 'REGGC', 9, '3/11/1998 12:00:00 AM', '4/8/1998 12:00:00 AM', '3/18/1998 12:00:00 AM', 3, 17.95, 'Reggiani Caseifici', 'Strada Provinciale 124', 'Reggio Emilia', NULL, '42100', 'Italy' ) ;
+INSERT INTO GHTDB.ORDERS ( OrderID, CustomerID, EmployeeID, OrderDate, RequiredDate, ShippedDate, ShipVia, Freight, ShipName, ShipAddress, ShipCity, ShipRegion, ShipPostalCode, ShipCountry ) VALUES (10943, 'BSBEV', 4, '3/11/1998 12:00:00 AM', '4/8/1998 12:00:00 AM', '3/19/1998 12:00:00 AM', 2, 2.17, 'B''s Beverages', 'Fauntleroy Circus', 'London', NULL, 'EC2 5NT', 'UK' ) ;
+INSERT INTO GHTDB.ORDERS ( OrderID, CustomerID, EmployeeID, OrderDate, RequiredDate, ShippedDate, ShipVia, Freight, ShipName, ShipAddress, ShipCity, ShipRegion, ShipPostalCode, ShipCountry ) VALUES (10944, 'BOTTM', 6, '3/12/1998 12:00:00 AM', '3/26/1998 12:00:00 AM', '3/13/1998 12:00:00 AM', 3, 52.92, 'Bottom-Dollar Markets', '23 Tsawassen Blvd.', 'Tsawassen', 'BC', 'T2F 8M4', 'Canada' ) ;
+INSERT INTO GHTDB.ORDERS ( OrderID, CustomerID, EmployeeID, OrderDate, RequiredDate, ShippedDate, ShipVia, Freight, ShipName, ShipAddress, ShipCity, ShipRegion, ShipPostalCode, ShipCountry ) VALUES (10945, 'MORGK', 4, '3/12/1998 12:00:00 AM', '4/9/1998 12:00:00 AM', '3/18/1998 12:00:00 AM', 1, 10.22, 'Morgenstern Gesundkost', 'Heerstr. 22', 'Leipzig', NULL, '04179', 'Germany' ) ;
+INSERT INTO GHTDB.ORDERS ( OrderID, CustomerID, EmployeeID, OrderDate, RequiredDate, ShippedDate, ShipVia, Freight, ShipName, ShipAddress, ShipCity, ShipRegion, ShipPostalCode, ShipCountry ) VALUES (10946, 'VAFFE', 1, '3/12/1998 12:00:00 AM', '4/9/1998 12:00:00 AM', '3/19/1998 12:00:00 AM', 2, 27.2, 'Vaffeljernet', 'Smagsloget 45', 'Ã…rhus', NULL, '8200', 'Denmark' ) ;
+INSERT INTO GHTDB.ORDERS ( OrderID, CustomerID, EmployeeID, OrderDate, RequiredDate, ShippedDate, ShipVia, Freight, ShipName, ShipAddress, ShipCity, ShipRegion, ShipPostalCode, ShipCountry ) VALUES (10947, 'BSBEV', 3, '3/13/1998 12:00:00 AM', '4/10/1998 12:00:00 AM', '3/16/1998 12:00:00 AM', 2, 3.26, 'B''s Beverages', 'Fauntleroy Circus', 'London', NULL, 'EC2 5NT', 'UK' ) ;
+INSERT INTO GHTDB.ORDERS ( OrderID, CustomerID, EmployeeID, OrderDate, RequiredDate, ShippedDate, ShipVia, Freight, ShipName, ShipAddress, ShipCity, ShipRegion, ShipPostalCode, ShipCountry ) VALUES (10948, 'GODOS', 3, '3/13/1998 12:00:00 AM', '4/10/1998 12:00:00 AM', '3/19/1998 12:00:00 AM', 3, 23.39, 'Godos Cocina Típica', 'C/ Romero, 33', 'Sevilla', NULL, '41101', 'Spain' ) ;
+INSERT INTO GHTDB.ORDERS ( OrderID, CustomerID, EmployeeID, OrderDate, RequiredDate, ShippedDate, ShipVia, Freight, ShipName, ShipAddress, ShipCity, ShipRegion, ShipPostalCode, ShipCountry ) VALUES (10949, 'BOTTM', 2, '3/13/1998 12:00:00 AM', '4/10/1998 12:00:00 AM', '3/17/1998 12:00:00 AM', 3, 74.44, 'Bottom-Dollar Markets', '23 Tsawassen Blvd.', 'Tsawassen', 'BC', 'T2F 8M4', 'Canada' ) ;
+INSERT INTO GHTDB.ORDERS ( OrderID, CustomerID, EmployeeID, OrderDate, RequiredDate, ShippedDate, ShipVia, Freight, ShipName, ShipAddress, ShipCity, ShipRegion, ShipPostalCode, ShipCountry ) VALUES (10950, 'MAGAA', 1, '3/16/1998 12:00:00 AM', '4/13/1998 12:00:00 AM', '3/23/1998 12:00:00 AM', 2, 2.5, 'Magazzini Alimentari Riuniti', 'Via Ludovico il Moro 22', 'Bergamo', NULL, '24100', 'Italy' ) ;
+INSERT INTO GHTDB.ORDERS ( OrderID, CustomerID, EmployeeID, OrderDate, RequiredDate, ShippedDate, ShipVia, Freight, ShipName, ShipAddress, ShipCity, ShipRegion, ShipPostalCode, ShipCountry ) VALUES (10951, 'RICSU', 9, '3/16/1998 12:00:00 AM', '4/27/1998 12:00:00 AM', '4/7/1998 12:00:00 AM', 2, 30.85, 'Richter Supermarkt', 'Starenweg 5', 'Genève', NULL, '1204', 'Switzerland' ) ;
+INSERT INTO GHTDB.ORDERS ( OrderID, CustomerID, EmployeeID, OrderDate, RequiredDate, ShippedDate, ShipVia, Freight, ShipName, ShipAddress, ShipCity, ShipRegion, ShipPostalCode, ShipCountry ) VALUES (10952, 'ALFKI', 1, '3/16/1998 12:00:00 AM', '4/27/1998 12:00:00 AM', '3/24/1998 12:00:00 AM', 1, 40.42, 'Alfred''s Futterkiste', 'Obere Str. 57', 'Berlin', NULL, '12209', 'Germany' ) ;
+INSERT INTO GHTDB.ORDERS ( OrderID, CustomerID, EmployeeID, OrderDate, RequiredDate, ShippedDate, ShipVia, Freight, ShipName, ShipAddress, ShipCity, ShipRegion, ShipPostalCode, ShipCountry ) VALUES (10953, 'AROUT', 9, '3/16/1998 12:00:00 AM', '3/30/1998 12:00:00 AM', '3/25/1998 12:00:00 AM', 2, 23.72, 'Around the Horn', 'Brook Farm Stratford St. Mary', 'Colchester', 'Essex', 'CO7 6JX', 'UK' ) ;
+INSERT INTO GHTDB.ORDERS ( OrderID, CustomerID, EmployeeID, OrderDate, RequiredDate, ShippedDate, ShipVia, Freight, ShipName, ShipAddress, ShipCity, ShipRegion, ShipPostalCode, ShipCountry ) VALUES (10954, 'LINOD', 5, '3/17/1998 12:00:00 AM', '4/28/1998 12:00:00 AM', '3/20/1998 12:00:00 AM', 1, 27.91, 'LINO-Delicateses', 'Ave. 5 de Mayo Porlamar', 'I. de Margarita', 'Nueva Esparta', '4980', 'Venezuela' ) ;
+INSERT INTO GHTDB.ORDERS ( OrderID, CustomerID, EmployeeID, OrderDate, RequiredDate, ShippedDate, ShipVia, Freight, ShipName, ShipAddress, ShipCity, ShipRegion, ShipPostalCode, ShipCountry ) VALUES (10955, 'FOLKO', 8, '3/17/1998 12:00:00 AM', '4/14/1998 12:00:00 AM', '3/20/1998 12:00:00 AM', 2, 3.26, 'Folk och fä HB', 'Ã…kergatan 24', 'Bräcke', NULL, 'S-844 67', 'Sweden' ) ;
+INSERT INTO GHTDB.ORDERS ( OrderID, CustomerID, EmployeeID, OrderDate, RequiredDate, ShippedDate, ShipVia, Freight, ShipName, ShipAddress, ShipCity, ShipRegion, ShipPostalCode, ShipCountry ) VALUES (10956, 'BLAUS', 6, '3/17/1998 12:00:00 AM', '4/28/1998 12:00:00 AM', '3/20/1998 12:00:00 AM', 2, 44.65, 'Blauer See Delikatessen', 'Forsterstr. 57', 'Mannheim', NULL, '68306', 'Germany' ) ;
+INSERT INTO GHTDB.ORDERS ( OrderID, CustomerID, EmployeeID, OrderDate, RequiredDate, ShippedDate, ShipVia, Freight, ShipName, ShipAddress, ShipCity, ShipRegion, ShipPostalCode, ShipCountry ) VALUES (10957, 'HILAA', 8, '3/18/1998 12:00:00 AM', '4/15/1998 12:00:00 AM', '3/27/1998 12:00:00 AM', 3, 105.36, 'HILARION-Abastos', 'Carrera 22 con Ave. Carlos Soublette #8-35', 'San Cristóbal', 'Táchira', '5022', 'Venezuela' ) ;
+INSERT INTO GHTDB.ORDERS ( OrderID, CustomerID, EmployeeID, OrderDate, RequiredDate, ShippedDate, ShipVia, Freight, ShipName, ShipAddress, ShipCity, ShipRegion, ShipPostalCode, ShipCountry ) VALUES (10958, 'OCEAN', 7, '3/18/1998 12:00:00 AM', '4/15/1998 12:00:00 AM', '3/27/1998 12:00:00 AM', 2, 49.56, 'Océano Atlántico Ltda.', 'Ing. Gustavo Moncada 8585 Piso 20-A', 'Buenos Aires', NULL, '1010', 'Argentina' ) ;
+INSERT INTO GHTDB.ORDERS ( OrderID, CustomerID, EmployeeID, OrderDate, RequiredDate, ShippedDate, ShipVia, Freight, ShipName, ShipAddress, ShipCity, ShipRegion, ShipPostalCode, ShipCountry ) VALUES (10959, 'GOURL', 6, '3/18/1998 12:00:00 AM', '4/29/1998 12:00:00 AM', '3/23/1998 12:00:00 AM', 2, 4.98, 'Gourmet Lanchonetes', 'Av. Brasil, 442', 'Campinas', 'SP', '04876-786', 'Brazil' ) ;
+INSERT INTO GHTDB.ORDERS ( OrderID, CustomerID, EmployeeID, OrderDate, RequiredDate, ShippedDate, ShipVia, Freight, ShipName, ShipAddress, ShipCity, ShipRegion, ShipPostalCode, ShipCountry ) VALUES (10960, 'HILAA', 3, '3/19/1998 12:00:00 AM', '4/2/1998 12:00:00 AM', '4/8/1998 12:00:00 AM', 1, 2.08, 'HILARION-Abastos', 'Carrera 22 con Ave. Carlos Soublette #8-35', 'San Cristóbal', 'Táchira', '5022', 'Venezuela' ) ;
+INSERT INTO GHTDB.ORDERS ( OrderID, CustomerID, EmployeeID, OrderDate, RequiredDate, ShippedDate, ShipVia, Freight, ShipName, ShipAddress, ShipCity, ShipRegion, ShipPostalCode, ShipCountry ) VALUES (10961, 'QUEEN', 8, '3/19/1998 12:00:00 AM', '4/16/1998 12:00:00 AM', '3/30/1998 12:00:00 AM', 1, 104.47, 'Queen Cozinha', 'Alameda dos Canàrios, 891', 'Sao Paulo', 'SP', '05487-020', 'Brazil' ) ;
+INSERT INTO GHTDB.ORDERS ( OrderID, CustomerID, EmployeeID, OrderDate, RequiredDate, ShippedDate, ShipVia, Freight, ShipName, ShipAddress, ShipCity, ShipRegion, ShipPostalCode, ShipCountry ) VALUES (10962, 'QUICK', 8, '3/19/1998 12:00:00 AM', '4/16/1998 12:00:00 AM', '3/23/1998 12:00:00 AM', 2, 275.79, 'QUICK-Stop', 'Taucherstraße 10', 'Cunewalde', NULL, '01307', 'Germany' ) ;
+INSERT INTO GHTDB.ORDERS ( OrderID, CustomerID, EmployeeID, OrderDate, RequiredDate, ShippedDate, ShipVia, Freight, ShipName, ShipAddress, ShipCity, ShipRegion, ShipPostalCode, ShipCountry ) VALUES (10963, 'FURIB', 9, '3/19/1998 12:00:00 AM', '4/16/1998 12:00:00 AM', '3/26/1998 12:00:00 AM', 3, 2.7, 'Furia Bacalhau e Frutos do Mar', 'Jardim das rosas n. 32', 'Lisboa', NULL, '1675', 'Portugal' ) ;
+INSERT INTO GHTDB.ORDERS ( OrderID, CustomerID, EmployeeID, OrderDate, RequiredDate, ShippedDate, ShipVia, Freight, ShipName, ShipAddress, ShipCity, ShipRegion, ShipPostalCode, ShipCountry ) VALUES (10964, 'SPECD', 3, '3/20/1998 12:00:00 AM', '4/17/1998 12:00:00 AM', '3/24/1998 12:00:00 AM', 2, 87.38, 'Spécialités du monde', '25, rue Lauriston', 'Paris', NULL, '75016', 'France' ) ;
+INSERT INTO GHTDB.ORDERS ( OrderID, CustomerID, EmployeeID, OrderDate, RequiredDate, ShippedDate, ShipVia, Freight, ShipName, ShipAddress, ShipCity, ShipRegion, ShipPostalCode, ShipCountry ) VALUES (10965, 'OLDWO', 6, '3/20/1998 12:00:00 AM', '4/17/1998 12:00:00 AM', '3/30/1998 12:00:00 AM', 3, 144.38, 'Old World Delicatessen', '2743 Bering St.', 'Anchorage', 'AK', '99508', 'USA' ) ;
+INSERT INTO GHTDB.ORDERS ( OrderID, CustomerID, EmployeeID, OrderDate, RequiredDate, ShippedDate, ShipVia, Freight, ShipName, ShipAddress, ShipCity, ShipRegion, ShipPostalCode, ShipCountry ) VALUES (10966, 'CHOPS', 4, '3/20/1998 12:00:00 AM', '4/17/1998 12:00:00 AM', '4/8/1998 12:00:00 AM', 1, 27.19, 'Chop-suey Chinese', 'Hauptstr. 31', 'Bern', NULL, '3012', 'Switzerland' ) ;
+INSERT INTO GHTDB.ORDERS ( OrderID, CustomerID, EmployeeID, OrderDate, RequiredDate, ShippedDate, ShipVia, Freight, ShipName, ShipAddress, ShipCity, ShipRegion, ShipPostalCode, ShipCountry ) VALUES (10967, 'TOMSP', 2, '3/23/1998 12:00:00 AM', '4/20/1998 12:00:00 AM', '4/2/1998 12:00:00 AM', 2, 62.22, 'Toms Spezialitäten', 'Luisenstr. 48', 'Münster', NULL, '44087', 'Germany' ) ;
+INSERT INTO GHTDB.ORDERS ( OrderID, CustomerID, EmployeeID, OrderDate, RequiredDate, ShippedDate, ShipVia, Freight, ShipName, ShipAddress, ShipCity, ShipRegion, ShipPostalCode, ShipCountry ) VALUES (10968, 'ERNSH', 1, '3/23/1998 12:00:00 AM', '4/20/1998 12:00:00 AM', '4/1/1998 12:00:00 AM', 3, 74.6, 'Ernst Handel', 'Kirchgasse 6', 'Graz', NULL, '8010', 'Austria' ) ;
+INSERT INTO GHTDB.ORDERS ( OrderID, CustomerID, EmployeeID, OrderDate, RequiredDate, ShippedDate, ShipVia, Freight, ShipName, ShipAddress, ShipCity, ShipRegion, ShipPostalCode, ShipCountry ) VALUES (10969, 'COMMI', 1, '3/23/1998 12:00:00 AM', '4/20/1998 12:00:00 AM', '3/30/1998 12:00:00 AM', 2, 0.21, 'Comércio Mineiro', 'Av. dos Lusíadas, 23', 'Sao Paulo', 'SP', '05432-043', 'Brazil' ) ;
+INSERT INTO GHTDB.ORDERS ( OrderID, CustomerID, EmployeeID, OrderDate, RequiredDate, ShippedDate, ShipVia, Freight, ShipName, ShipAddress, ShipCity, ShipRegion, ShipPostalCode, ShipCountry ) VALUES (10970, 'BOLID', 9, '3/24/1998 12:00:00 AM', '4/7/1998 12:00:00 AM', '4/24/1998 12:00:00 AM', 1, 16.16, 'Bólido Comidas preparadas', 'C/ Araquil, 67', 'Madrid', NULL, '28023', 'Spain' ) ;
+INSERT INTO GHTDB.ORDERS ( OrderID, CustomerID, EmployeeID, OrderDate, RequiredDate, ShippedDate, ShipVia, Freight, ShipName, ShipAddress, ShipCity, ShipRegion, ShipPostalCode, ShipCountry ) VALUES (10971, 'FRANR', 2, '3/24/1998 12:00:00 AM', '4/21/1998 12:00:00 AM', '4/2/1998 12:00:00 AM', 2, 121.82, 'France restauration', '54, rue Royale', 'Nantes', NULL, '44000', 'France' ) ;
+INSERT INTO GHTDB.ORDERS ( OrderID, CustomerID, EmployeeID, OrderDate, RequiredDate, ShippedDate, ShipVia, Freight, ShipName, ShipAddress, ShipCity, ShipRegion, ShipPostalCode, ShipCountry ) VALUES (10972, 'LACOR', 4, '3/24/1998 12:00:00 AM', '4/21/1998 12:00:00 AM', '3/26/1998 12:00:00 AM', 2, 0.02, 'La corne d''abondance', '67, avenue de l''Europe', 'Versailles', NULL, '78000', 'France' ) ;
+INSERT INTO GHTDB.ORDERS ( OrderID, CustomerID, EmployeeID, OrderDate, RequiredDate, ShippedDate, ShipVia, Freight, ShipName, ShipAddress, ShipCity, ShipRegion, ShipPostalCode, ShipCountry ) VALUES (10973, 'LACOR', 6, '3/24/1998 12:00:00 AM', '4/21/1998 12:00:00 AM', '3/27/1998 12:00:00 AM', 2, 15.17, 'La corne d''abondance', '67, avenue de l''Europe', 'Versailles', NULL, '78000', 'France' ) ;
+INSERT INTO GHTDB.ORDERS ( OrderID, CustomerID, EmployeeID, OrderDate, RequiredDate, ShippedDate, ShipVia, Freight, ShipName, ShipAddress, ShipCity, ShipRegion, ShipPostalCode, ShipCountry ) VALUES (10974, 'SPLIR', 3, '3/25/1998 12:00:00 AM', '4/8/1998 12:00:00 AM', '4/3/1998 12:00:00 AM', 3, 12.96, 'Split Rail Beer & Ale', 'P.O. Box 555', 'Lander', 'WY', '82520', 'USA' ) ;
+INSERT INTO GHTDB.ORDERS ( OrderID, CustomerID, EmployeeID, OrderDate, RequiredDate, ShippedDate, ShipVia, Freight, ShipName, ShipAddress, ShipCity, ShipRegion, ShipPostalCode, ShipCountry ) VALUES (10975, 'BOTTM', 1, '3/25/1998 12:00:00 AM', '4/22/1998 12:00:00 AM', '3/27/1998 12:00:00 AM', 3, 32.27, 'Bottom-Dollar Markets', '23 Tsawassen Blvd.', 'Tsawassen', 'BC', 'T2F 8M4', 'Canada' ) ;
+INSERT INTO GHTDB.ORDERS ( OrderID, CustomerID, EmployeeID, OrderDate, RequiredDate, ShippedDate, ShipVia, Freight, ShipName, ShipAddress, ShipCity, ShipRegion, ShipPostalCode, ShipCountry ) VALUES (10976, 'HILAA', 1, '3/25/1998 12:00:00 AM', '5/6/1998 12:00:00 AM', '4/3/1998 12:00:00 AM', 1, 37.97, 'HILARION-Abastos', 'Carrera 22 con Ave. Carlos Soublette #8-35', 'San Cristóbal', 'Táchira', '5022', 'Venezuela' ) ;
+INSERT INTO GHTDB.ORDERS ( OrderID, CustomerID, EmployeeID, OrderDate, RequiredDate, ShippedDate, ShipVia, Freight, ShipName, ShipAddress, ShipCity, ShipRegion, ShipPostalCode, ShipCountry ) VALUES (10977, 'FOLKO', 8, '3/26/1998 12:00:00 AM', '4/23/1998 12:00:00 AM', '4/10/1998 12:00:00 AM', 3, 208.5, 'Folk och fä HB', 'Ã…kergatan 24', 'Bräcke', NULL, 'S-844 67', 'Sweden' ) ;
+INSERT INTO GHTDB.ORDERS ( OrderID, CustomerID, EmployeeID, OrderDate, RequiredDate, ShippedDate, ShipVia, Freight, ShipName, ShipAddress, ShipCity, ShipRegion, ShipPostalCode, ShipCountry ) VALUES (10978, 'MAISD', 9, '3/26/1998 12:00:00 AM', '4/23/1998 12:00:00 AM', '4/23/1998 12:00:00 AM', 2, 32.82, 'Maison Dewey', 'Rue Joseph-Bens 532', 'Bruxelles', NULL, 'B-1180', 'Belgium' ) ;
+INSERT INTO GHTDB.ORDERS ( OrderID, CustomerID, EmployeeID, OrderDate, RequiredDate, ShippedDate, ShipVia, Freight, ShipName, ShipAddress, ShipCity, ShipRegion, ShipPostalCode, ShipCountry ) VALUES (10979, 'ERNSH', 8, '3/26/1998 12:00:00 AM', '4/23/1998 12:00:00 AM', '3/31/1998 12:00:00 AM', 2, 353.07, 'Ernst Handel', 'Kirchgasse 6', 'Graz', NULL, '8010', 'Austria' ) ;
+INSERT INTO GHTDB.ORDERS ( OrderID, CustomerID, EmployeeID, OrderDate, RequiredDate, ShippedDate, ShipVia, Freight, ShipName, ShipAddress, ShipCity, ShipRegion, ShipPostalCode, ShipCountry ) VALUES (10980, 'FOLKO', 4, '3/27/1998 12:00:00 AM', '5/8/1998 12:00:00 AM', '4/17/1998 12:00:00 AM', 1, 1.26, 'Folk och fä HB', 'Ã…kergatan 24', 'Bräcke', NULL, 'S-844 67', 'Sweden' ) ;
+INSERT INTO GHTDB.ORDERS ( OrderID, CustomerID, EmployeeID, OrderDate, RequiredDate, ShippedDate, ShipVia, Freight, ShipName, ShipAddress, ShipCity, ShipRegion, ShipPostalCode, ShipCountry ) VALUES (10981, 'HANAR', 1, '3/27/1998 12:00:00 AM', '4/24/1998 12:00:00 AM', '4/2/1998 12:00:00 AM', 2, 193.37, 'Hanari Carnes', 'Rua do Paço, 67', 'Rio de Janeiro', 'RJ', '05454-876', 'Brazil' ) ;
+INSERT INTO GHTDB.ORDERS ( OrderID, CustomerID, EmployeeID, OrderDate, RequiredDate, ShippedDate, ShipVia, Freight, ShipName, ShipAddress, ShipCity, ShipRegion, ShipPostalCode, ShipCountry ) VALUES (10982, 'BOTTM', 2, '3/27/1998 12:00:00 AM', '4/24/1998 12:00:00 AM', '4/8/1998 12:00:00 AM', 1, 14.01, 'Bottom-Dollar Markets', '23 Tsawassen Blvd.', 'Tsawassen', 'BC', 'T2F 8M4', 'Canada' ) ;
+INSERT INTO GHTDB.ORDERS ( OrderID, CustomerID, EmployeeID, OrderDate, RequiredDate, ShippedDate, ShipVia, Freight, ShipName, ShipAddress, ShipCity, ShipRegion, ShipPostalCode, ShipCountry ) VALUES (10983, 'SAVEA', 2, '3/27/1998 12:00:00 AM', '4/24/1998 12:00:00 AM', '4/6/1998 12:00:00 AM', 2, 657.54, 'Save-a-lot Markets', '187 Suffolk Ln.', 'Boise', 'ID', '83720', 'USA' ) ;
+INSERT INTO GHTDB.ORDERS ( OrderID, CustomerID, EmployeeID, OrderDate, RequiredDate, ShippedDate, ShipVia, Freight, ShipName, ShipAddress, ShipCity, ShipRegion, ShipPostalCode, ShipCountry ) VALUES (10984, 'SAVEA', 1, '3/30/1998 12:00:00 AM', '4/27/1998 12:00:00 AM', '4/3/1998 12:00:00 AM', 3, 211.22, 'Save-a-lot Markets', '187 Suffolk Ln.', 'Boise', 'ID', '83720', 'USA' ) ;
+INSERT INTO GHTDB.ORDERS ( OrderID, CustomerID, EmployeeID, OrderDate, RequiredDate, ShippedDate, ShipVia, Freight, ShipName, ShipAddress, ShipCity, ShipRegion, ShipPostalCode, ShipCountry ) VALUES (10985, 'HUNGO', 2, '3/30/1998 12:00:00 AM', '4/27/1998 12:00:00 AM', '4/2/1998 12:00:00 AM', 1, 91.51, 'Hungry Owl All-Night Grocers', '8 Johnstown Road', 'Cork', 'Co. Cork', NULL, 'Ireland' ) ;
+INSERT INTO GHTDB.ORDERS ( OrderID, CustomerID, EmployeeID, OrderDate, RequiredDate, ShippedDate, ShipVia, Freight, ShipName, ShipAddress, ShipCity, ShipRegion, ShipPostalCode, ShipCountry ) VALUES (10986, 'OCEAN', 8, '3/30/1998 12:00:00 AM', '4/27/1998 12:00:00 AM', '4/21/1998 12:00:00 AM', 2, 217.86, 'Océano Atlántico Ltda.', 'Ing. Gustavo Moncada 8585 Piso 20-A', 'Buenos Aires', NULL, '1010', 'Argentina' ) ;
+INSERT INTO GHTDB.ORDERS ( OrderID, CustomerID, EmployeeID, OrderDate, RequiredDate, ShippedDate, ShipVia, Freight, ShipName, ShipAddress, ShipCity, ShipRegion, ShipPostalCode, ShipCountry ) VALUES (10987, 'EASTC', 8, '3/31/1998 12:00:00 AM', '4/28/1998 12:00:00 AM', '4/6/1998 12:00:00 AM', 1, 185.48, 'Eastern Connection', '35 King George', 'London', NULL, 'WX3 6FW', 'UK' ) ;
+INSERT INTO GHTDB.ORDERS ( OrderID, CustomerID, EmployeeID, OrderDate, RequiredDate, ShippedDate, ShipVia, Freight, ShipName, ShipAddress, ShipCity, ShipRegion, ShipPostalCode, ShipCountry ) VALUES (10988, 'RATTC', 3, '3/31/1998 12:00:00 AM', '4/28/1998 12:00:00 AM', '4/10/1998 12:00:00 AM', 2, 61.14, 'Rattlesnake Canyon Grocery', '2817 Milton Dr.', 'Albuquerque', 'NM', '87110', 'USA' ) ;
+INSERT INTO GHTDB.ORDERS ( OrderID, CustomerID, EmployeeID, OrderDate, RequiredDate, ShippedDate, ShipVia, Freight, ShipName, ShipAddress, ShipCity, ShipRegion, ShipPostalCode, ShipCountry ) VALUES (10989, 'QUEDE', 2, '3/31/1998 12:00:00 AM', '4/28/1998 12:00:00 AM', '4/2/1998 12:00:00 AM', 1, 34.76, 'Que Delícia', 'Rua da Panificadora, 12', 'Rio de Janeiro', 'RJ', '02389-673', 'Brazil' ) ;
+INSERT INTO GHTDB.ORDERS ( OrderID, CustomerID, EmployeeID, OrderDate, RequiredDate, ShippedDate, ShipVia, Freight, ShipName, ShipAddress, ShipCity, ShipRegion, ShipPostalCode, ShipCountry ) VALUES (10990, 'ERNSH', 2, '4/1/1998 12:00:00 AM', '5/13/1998 12:00:00 AM', '4/7/1998 12:00:00 AM', 3, 117.61, 'Ernst Handel', 'Kirchgasse 6', 'Graz', NULL, '8010', 'Austria' ) ;
+INSERT INTO GHTDB.ORDERS ( OrderID, CustomerID, EmployeeID, OrderDate, RequiredDate, ShippedDate, ShipVia, Freight, ShipName, ShipAddress, ShipCity, ShipRegion, ShipPostalCode, ShipCountry ) VALUES (10991, 'QUICK', 1, '4/1/1998 12:00:00 AM', '4/29/1998 12:00:00 AM', '4/7/1998 12:00:00 AM', 1, 38.51, 'QUICK-Stop', 'Taucherstraße 10', 'Cunewalde', NULL, '01307', 'Germany' ) ;
+INSERT INTO GHTDB.ORDERS ( OrderID, CustomerID, EmployeeID, OrderDate, RequiredDate, ShippedDate, ShipVia, Freight, ShipName, ShipAddress, ShipCity, ShipRegion, ShipPostalCode, ShipCountry ) VALUES (10992, 'THEBI', 1, '4/1/1998 12:00:00 AM', '4/29/1998 12:00:00 AM', '4/3/1998 12:00:00 AM', 3, 4.27, 'The Big Cheese', '89 Jefferson Way Suite 2', 'Portland', 'OR', '97201', 'USA' ) ;
+INSERT INTO GHTDB.ORDERS ( OrderID, CustomerID, EmployeeID, OrderDate, RequiredDate, ShippedDate, ShipVia, Freight, ShipName, ShipAddress, ShipCity, ShipRegion, ShipPostalCode, ShipCountry ) VALUES (10993, 'FOLKO', 7, '4/1/1998 12:00:00 AM', '4/29/1998 12:00:00 AM', '4/10/1998 12:00:00 AM', 3, 8.81, 'Folk och fä HB', 'Ã…kergatan 24', 'Bräcke', NULL, 'S-844 67', 'Sweden' ) ;
+INSERT INTO GHTDB.ORDERS ( OrderID, CustomerID, EmployeeID, OrderDate, RequiredDate, ShippedDate, ShipVia, Freight, ShipName, ShipAddress, ShipCity, ShipRegion, ShipPostalCode, ShipCountry ) VALUES (10994, 'VAFFE', 2, '4/2/1998 12:00:00 AM', '4/16/1998 12:00:00 AM', '4/9/1998 12:00:00 AM', 3, 65.53, 'Vaffeljernet', 'Smagsloget 45', 'Ã…rhus', NULL, '8200', 'Denmark' ) ;
+INSERT INTO GHTDB.ORDERS ( OrderID, CustomerID, EmployeeID, OrderDate, RequiredDate, ShippedDate, ShipVia, Freight, ShipName, ShipAddress, ShipCity, ShipRegion, ShipPostalCode, ShipCountry ) VALUES (10995, 'PERIC', 1, '4/2/1998 12:00:00 AM', '4/30/1998 12:00:00 AM', '4/6/1998 12:00:00 AM', 3, 46, 'Pericles Comidas clásicas', 'Calle Dr. Jorge Cash 321', 'México D.F.', NULL, '05033', 'Mexico' ) ;
+INSERT INTO GHTDB.ORDERS ( OrderID, CustomerID, EmployeeID, OrderDate, RequiredDate, ShippedDate, ShipVia, Freight, ShipName, ShipAddress, ShipCity, ShipRegion, ShipPostalCode, ShipCountry ) VALUES (10996, 'QUICK', 4, '4/2/1998 12:00:00 AM', '4/30/1998 12:00:00 AM', '4/10/1998 12:00:00 AM', 2, 1.12, 'QUICK-Stop', 'Taucherstraße 10', 'Cunewalde', NULL, '01307', 'Germany' ) ;
+INSERT INTO GHTDB.ORDERS ( OrderID, CustomerID, EmployeeID, OrderDate, RequiredDate, ShippedDate, ShipVia, Freight, ShipName, ShipAddress, ShipCity, ShipRegion, ShipPostalCode, ShipCountry ) VALUES (10997, 'LILAS', 8, '4/3/1998 12:00:00 AM', '5/15/1998 12:00:00 AM', '4/13/1998 12:00:00 AM', 2, 73.91, 'LILA-Supermercado', 'Carrera 52 con Ave. Bolívar #65-98 Llano Largo', 'Barquisimeto', 'Lara', '3508', 'Venezuela' ) ;
+INSERT INTO GHTDB.ORDERS ( OrderID, CustomerID, EmployeeID, OrderDate, RequiredDate, ShippedDate, ShipVia, Freight, ShipName, ShipAddress, ShipCity, ShipRegion, ShipPostalCode, ShipCountry ) VALUES (10998, 'WOLZA', 8, '4/3/1998 12:00:00 AM', '4/17/1998 12:00:00 AM', '4/17/1998 12:00:00 AM', 2, 20.31, 'Wolski Zajazd', 'ul. Filtrowa 68', 'Warszawa', NULL, '01-012', 'Poland' ) ;
+INSERT INTO GHTDB.ORDERS ( OrderID, CustomerID, EmployeeID, OrderDate, RequiredDate, ShippedDate, ShipVia, Freight, ShipName, ShipAddress, ShipCity, ShipRegion, ShipPostalCode, ShipCountry ) VALUES (10999, 'OTTIK', 6, '4/3/1998 12:00:00 AM', '5/1/1998 12:00:00 AM', '4/10/1998 12:00:00 AM', 2, 96.35, 'Ottilies Käseladen', 'Mehrheimerstr. 369', 'Köln', NULL, '50739', 'Germany' ) ;
+INSERT INTO GHTDB.ORDERS ( OrderID, CustomerID, EmployeeID, OrderDate, RequiredDate, ShippedDate, ShipVia, Freight, ShipName, ShipAddress, ShipCity, ShipRegion, ShipPostalCode, ShipCountry ) VALUES (11000, 'RATTC', 2, '4/6/1998 12:00:00 AM', '5/4/1998 12:00:00 AM', '4/14/1998 12:00:00 AM', 3, 55.12, 'Rattlesnake Canyon Grocery', '2817 Milton Dr.', 'Albuquerque', 'NM', '87110', 'USA' ) ;
+INSERT INTO GHTDB.ORDERS ( OrderID, CustomerID, EmployeeID, OrderDate, RequiredDate, ShippedDate, ShipVia, Freight, ShipName, ShipAddress, ShipCity, ShipRegion, ShipPostalCode, ShipCountry ) VALUES (11001, 'FOLKO', 2, '4/6/1998 12:00:00 AM', '5/4/1998 12:00:00 AM', '4/14/1998 12:00:00 AM', 2, 197.3, 'Folk och fä HB', 'Ã…kergatan 24', 'Bräcke', NULL, 'S-844 67', 'Sweden' ) ;
+INSERT INTO GHTDB.ORDERS ( OrderID, CustomerID, EmployeeID, OrderDate, RequiredDate, ShippedDate, ShipVia, Freight, ShipName, ShipAddress, ShipCity, ShipRegion, ShipPostalCode, ShipCountry ) VALUES (11002, 'SAVEA', 4, '4/6/1998 12:00:00 AM', '5/4/1998 12:00:00 AM', '4/16/1998 12:00:00 AM', 1, 141.16, 'Save-a-lot Markets', '187 Suffolk Ln.', 'Boise', 'ID', '83720', 'USA' ) ;
+INSERT INTO GHTDB.ORDERS ( OrderID, CustomerID, EmployeeID, OrderDate, RequiredDate, ShippedDate, ShipVia, Freight, ShipName, ShipAddress, ShipCity, ShipRegion, ShipPostalCode, ShipCountry ) VALUES (11003, 'THECR', 3, '4/6/1998 12:00:00 AM', '5/4/1998 12:00:00 AM', '4/8/1998 12:00:00 AM', 3, 14.91, 'The Cracker Box', '55 Grizzly Peak Rd.', 'Butte', 'MT', '59801', 'USA' ) ;
+INSERT INTO GHTDB.ORDERS ( OrderID, CustomerID, EmployeeID, OrderDate, RequiredDate, ShippedDate, ShipVia, Freight, ShipName, ShipAddress, ShipCity, ShipRegion, ShipPostalCode, ShipCountry ) VALUES (11004, 'MAISD', 3, '4/7/1998 12:00:00 AM', '5/5/1998 12:00:00 AM', '4/20/1998 12:00:00 AM', 1, 44.84, 'Maison Dewey', 'Rue Joseph-Bens 532', 'Bruxelles', NULL, 'B-1180', 'Belgium' ) ;
+INSERT INTO GHTDB.ORDERS ( OrderID, CustomerID, EmployeeID, OrderDate, RequiredDate, ShippedDate, ShipVia, Freight, ShipName, ShipAddress, ShipCity, ShipRegion, ShipPostalCode, ShipCountry ) VALUES (11005, 'WILMK', 2, '4/7/1998 12:00:00 AM', '5/5/1998 12:00:00 AM', '4/10/1998 12:00:00 AM', 1, 0.75, 'Wilman Kala', 'Keskuskatu 45', 'Helsinki', NULL, '21240', 'Finland' ) ;
+INSERT INTO GHTDB.ORDERS ( OrderID, CustomerID, EmployeeID, OrderDate, RequiredDate, ShippedDate, ShipVia, Freight, ShipName, ShipAddress, ShipCity, ShipRegion, ShipPostalCode, ShipCountry ) VALUES (11006, 'GREAL', 3, '4/7/1998 12:00:00 AM', '5/5/1998 12:00:00 AM', '4/15/1998 12:00:00 AM', 2, 25.19, 'Great Lakes Food Market', '2732 Baker Blvd.', 'Eugene', 'OR', '97403', 'USA' ) ;
+INSERT INTO GHTDB.ORDERS ( OrderID, CustomerID, EmployeeID, OrderDate, RequiredDate, ShippedDate, ShipVia, Freight, ShipName, ShipAddress, ShipCity, ShipRegion, ShipPostalCode, ShipCountry ) VALUES (11007, 'PRINI', 8, '4/8/1998 12:00:00 AM', '5/6/1998 12:00:00 AM', '4/13/1998 12:00:00 AM', 2, 202.24, 'Princesa Isabel Vinhos', 'Estrada da saúde n. 58', 'Lisboa', NULL, '1756', 'Portugal' ) ;
+INSERT INTO GHTDB.ORDERS ( OrderID, CustomerID, EmployeeID, OrderDate, RequiredDate, ShippedDate, ShipVia, Freight, ShipName, ShipAddress, ShipCity, ShipRegion, ShipPostalCode, ShipCountry ) VALUES (11008, 'ERNSH', 7, '4/8/1998 12:00:00 AM', '5/6/1998 12:00:00 AM', NULL, 3, 79.46, 'Ernst Handel', 'Kirchgasse 6', 'Graz', NULL, '8010', 'Austria' ) ;
+INSERT INTO GHTDB.ORDERS ( OrderID, CustomerID, EmployeeID, OrderDate, RequiredDate, ShippedDate, ShipVia, Freight, ShipName, ShipAddress, ShipCity, ShipRegion, ShipPostalCode, ShipCountry ) VALUES (11009, 'GODOS', 2, '4/8/1998 12:00:00 AM', '5/6/1998 12:00:00 AM', '4/10/1998 12:00:00 AM', 1, 59.11, 'Godos Cocina Típica', 'C/ Romero, 33', 'Sevilla', NULL, '41101', 'Spain' ) ;
+INSERT INTO GHTDB.ORDERS ( OrderID, CustomerID, EmployeeID, OrderDate, RequiredDate, ShippedDate, ShipVia, Freight, ShipName, ShipAddress, ShipCity, ShipRegion, ShipPostalCode, ShipCountry ) VALUES (11010, 'REGGC', 2, '4/9/1998 12:00:00 AM', '5/7/1998 12:00:00 AM', '4/21/1998 12:00:00 AM', 2, 28.71, 'Reggiani Caseifici', 'Strada Provinciale 124', 'Reggio Emilia', NULL, '42100', 'Italy' ) ;
+INSERT INTO GHTDB.ORDERS ( OrderID, CustomerID, EmployeeID, OrderDate, RequiredDate, ShippedDate, ShipVia, Freight, ShipName, ShipAddress, ShipCity, ShipRegion, ShipPostalCode, ShipCountry ) VALUES (11011, 'ALFKI', 3, '4/9/1998 12:00:00 AM', '5/7/1998 12:00:00 AM', '4/13/1998 12:00:00 AM', 1, 1.21, 'Alfred''s Futterkiste', 'Obere Str. 57', 'Berlin', NULL, '12209', 'Germany' ) ;
+INSERT INTO GHTDB.ORDERS ( OrderID, CustomerID, EmployeeID, OrderDate, RequiredDate, ShippedDate, ShipVia, Freight, ShipName, ShipAddress, ShipCity, ShipRegion, ShipPostalCode, ShipCountry ) VALUES (11012, 'FRANK', 1, '4/9/1998 12:00:00 AM', '4/23/1998 12:00:00 AM', '4/17/1998 12:00:00 AM', 3, 242.95, 'Frankenversand', 'Berliner Platz 43', 'München', NULL, '80805', 'Germany' ) ;
+INSERT INTO GHTDB.ORDERS ( OrderID, CustomerID, EmployeeID, OrderDate, RequiredDate, ShippedDate, ShipVia, Freight, ShipName, ShipAddress, ShipCity, ShipRegion, ShipPostalCode, ShipCountry ) VALUES (11013, 'ROMEY', 2, '4/9/1998 12:00:00 AM', '5/7/1998 12:00:00 AM', '4/10/1998 12:00:00 AM', 1, 32.99, 'Romero y tomillo', 'Gran Vía, 1', 'Madrid', NULL, '28001', 'Spain' ) ;
+INSERT INTO GHTDB.ORDERS ( OrderID, CustomerID, EmployeeID, OrderDate, RequiredDate, ShippedDate, ShipVia, Freight, ShipName, ShipAddress, ShipCity, ShipRegion, ShipPostalCode, ShipCountry ) VALUES (11014, 'LINOD', 2, '4/10/1998 12:00:00 AM', '5/8/1998 12:00:00 AM', '4/15/1998 12:00:00 AM', 3, 23.6, 'LINO-Delicateses', 'Ave. 5 de Mayo Porlamar', 'I. de Margarita', 'Nueva Esparta', '4980', 'Venezuela' ) ;
+INSERT INTO GHTDB.ORDERS ( OrderID, CustomerID, EmployeeID, OrderDate, RequiredDate, ShippedDate, ShipVia, Freight, ShipName, ShipAddress, ShipCity, ShipRegion, ShipPostalCode, ShipCountry ) VALUES (11015, 'SANTG', 2, '4/10/1998 12:00:00 AM', '4/24/1998 12:00:00 AM', '4/20/1998 12:00:00 AM', 2, 4.62, 'Santé Gourmet', 'Erling Skakkes gate 78', 'Stavern', NULL, '4110', 'Norway' ) ;
+INSERT INTO GHTDB.ORDERS ( OrderID, CustomerID, EmployeeID, OrderDate, RequiredDate, ShippedDate, ShipVia, Freight, ShipName, ShipAddress, ShipCity, ShipRegion, ShipPostalCode, ShipCountry ) VALUES (11016, 'AROUT', 9, '4/10/1998 12:00:00 AM', '5/8/1998 12:00:00 AM', '4/13/1998 12:00:00 AM', 2, 33.8, 'Around the Horn', 'Brook Farm Stratford St. Mary', 'Colchester', 'Essex', 'CO7 6JX', 'UK' ) ;
+INSERT INTO GHTDB.ORDERS ( OrderID, CustomerID, EmployeeID, OrderDate, RequiredDate, ShippedDate, ShipVia, Freight, ShipName, ShipAddress, ShipCity, ShipRegion, ShipPostalCode, ShipCountry ) VALUES (11017, 'ERNSH', 9, '4/13/1998 12:00:00 AM', '5/11/1998 12:00:00 AM', '4/20/1998 12:00:00 AM', 2, 754.26, 'Ernst Handel', 'Kirchgasse 6', 'Graz', NULL, '8010', 'Austria' ) ;
+INSERT INTO GHTDB.ORDERS ( OrderID, CustomerID, EmployeeID, OrderDate, RequiredDate, ShippedDate, ShipVia, Freight, ShipName, ShipAddress, ShipCity, ShipRegion, ShipPostalCode, ShipCountry ) VALUES (11018, 'LONEP', 4, '4/13/1998 12:00:00 AM', '5/11/1998 12:00:00 AM', '4/16/1998 12:00:00 AM', 2, 11.65, 'Lonesome Pine Restaurant', '89 Chiaroscuro Rd.', 'Portland', 'OR', '97219', 'USA' ) ;
+INSERT INTO GHTDB.ORDERS ( OrderID, CustomerID, EmployeeID, OrderDate, RequiredDate, ShippedDate, ShipVia, Freight, ShipName, ShipAddress, ShipCity, ShipRegion, ShipPostalCode, ShipCountry ) VALUES (11019, 'RANCH', 6, '4/13/1998 12:00:00 AM', '5/11/1998 12:00:00 AM', NULL, 3, 3.17, 'Rancho grande', 'Av. del Libertador 900', 'Buenos Aires', NULL, '1010', 'Argentina' ) ;
+INSERT INTO GHTDB.ORDERS ( OrderID, CustomerID, EmployeeID, OrderDate, RequiredDate, ShippedDate, ShipVia, Freight, ShipName, ShipAddress, ShipCity, ShipRegion, ShipPostalCode, ShipCountry ) VALUES (11020, 'OTTIK', 2, '4/14/1998 12:00:00 AM', '5/12/1998 12:00:00 AM', '4/16/1998 12:00:00 AM', 2, 43.3, 'Ottilies Käseladen', 'Mehrheimerstr. 369', 'Köln', NULL, '50739', 'Germany' ) ;
+INSERT INTO GHTDB.ORDERS ( OrderID, CustomerID, EmployeeID, OrderDate, RequiredDate, ShippedDate, ShipVia, Freight, ShipName, ShipAddress, ShipCity, ShipRegion, ShipPostalCode, ShipCountry ) VALUES (11021, 'QUICK', 3, '4/14/1998 12:00:00 AM', '5/12/1998 12:00:00 AM', '4/21/1998 12:00:00 AM', 1, 297.18, 'QUICK-Stop', 'Taucherstraße 10', 'Cunewalde', NULL, '01307', 'Germany' ) ;
+INSERT INTO GHTDB.ORDERS ( OrderID, CustomerID, EmployeeID, OrderDate, RequiredDate, ShippedDate, ShipVia, Freight, ShipName, ShipAddress, ShipCity, ShipRegion, ShipPostalCode, ShipCountry ) VALUES (11022, 'HANAR', 9, '4/14/1998 12:00:00 AM', '5/12/1998 12:00:00 AM', '5/4/1998 12:00:00 AM', 2, 6.27, 'Hanari Carnes', 'Rua do Paço, 67', 'Rio de Janeiro', 'RJ', '05454-876', 'Brazil' ) ;
+INSERT INTO GHTDB.ORDERS ( OrderID, CustomerID, EmployeeID, OrderDate, RequiredDate, ShippedDate, ShipVia, Freight, ShipName, ShipAddress, ShipCity, ShipRegion, ShipPostalCode, ShipCountry ) VALUES (11023, 'BSBEV', 1, '4/14/1998 12:00:00 AM', '4/28/1998 12:00:00 AM', '4/24/1998 12:00:00 AM', 2, 123.83, 'B''s Beverages', 'Fauntleroy Circus', 'London', NULL, 'EC2 5NT', 'UK' ) ;
+INSERT INTO GHTDB.ORDERS ( OrderID, CustomerID, EmployeeID, OrderDate, RequiredDate, ShippedDate, ShipVia, Freight, ShipName, ShipAddress, ShipCity, ShipRegion, ShipPostalCode, ShipCountry ) VALUES (11024, 'EASTC', 4, '4/15/1998 12:00:00 AM', '5/13/1998 12:00:00 AM', '4/20/1998 12:00:00 AM', 1, 74.36, 'Eastern Connection', '35 King George', 'London', NULL, 'WX3 6FW', 'UK' ) ;
+INSERT INTO GHTDB.ORDERS ( OrderID, CustomerID, EmployeeID, OrderDate, RequiredDate, ShippedDate, ShipVia, Freight, ShipName, ShipAddress, ShipCity, ShipRegion, ShipPostalCode, ShipCountry ) VALUES (11025, 'WARTH', 6, '4/15/1998 12:00:00 AM', '5/13/1998 12:00:00 AM', '4/24/1998 12:00:00 AM', 3, 29.17, 'Wartian Herkku', 'Torikatu 38', 'Oulu', NULL, '90110', 'Finland' ) ;
+INSERT INTO GHTDB.ORDERS ( OrderID, CustomerID, EmployeeID, OrderDate, RequiredDate, ShippedDate, ShipVia, Freight, ShipName, ShipAddress, ShipCity, ShipRegion, ShipPostalCode, ShipCountry ) VALUES (11026, 'FRANS', 4, '4/15/1998 12:00:00 AM', '5/13/1998 12:00:00 AM', '4/28/1998 12:00:00 AM', 1, 47.09, 'Franchi S.p.A.', 'Via Monte Bianco 34', 'Torino', NULL, '10100', 'Italy' ) ;
+INSERT INTO GHTDB.ORDERS ( OrderID, CustomerID, EmployeeID, OrderDate, RequiredDate, ShippedDate, ShipVia, Freight, ShipName, ShipAddress, ShipCity, ShipRegion, ShipPostalCode, ShipCountry ) VALUES (11027, 'BOTTM', 1, '4/16/1998 12:00:00 AM', '5/14/1998 12:00:00 AM', '4/20/1998 12:00:00 AM', 1, 52.52, 'Bottom-Dollar Markets', '23 Tsawassen Blvd.', 'Tsawassen', 'BC', 'T2F 8M4', 'Canada' ) ;
+INSERT INTO GHTDB.ORDERS ( OrderID, CustomerID, EmployeeID, OrderDate, RequiredDate, ShippedDate, ShipVia, Freight, ShipName, ShipAddress, ShipCity, ShipRegion, ShipPostalCode, ShipCountry ) VALUES (11028, 'KOENE', 2, '4/16/1998 12:00:00 AM', '5/14/1998 12:00:00 AM', '4/22/1998 12:00:00 AM', 1, 29.59, 'Königlich Essen', 'Maubelstr. 90', 'Brandenburg', NULL, '14776', 'Germany' ) ;
+INSERT INTO GHTDB.ORDERS ( OrderID, CustomerID, EmployeeID, OrderDate, RequiredDate, ShippedDate, ShipVia, Freight, ShipName, ShipAddress, ShipCity, ShipRegion, ShipPostalCode, ShipCountry ) VALUES (11029, 'CHOPS', 4, '4/16/1998 12:00:00 AM', '5/14/1998 12:00:00 AM', '4/27/1998 12:00:00 AM', 1, 47.84, 'Chop-suey Chinese', 'Hauptstr. 31', 'Bern', NULL, '3012', 'Switzerland' ) ;
+INSERT INTO GHTDB.ORDERS ( OrderID, CustomerID, EmployeeID, OrderDate, RequiredDate, ShippedDate, ShipVia, Freight, ShipName, ShipAddress, ShipCity, ShipRegion, ShipPostalCode, ShipCountry ) VALUES (11030, 'SAVEA', 7, '4/17/1998 12:00:00 AM', '5/15/1998 12:00:00 AM', '4/27/1998 12:00:00 AM', 2, 830.75, 'Save-a-lot Markets', '187 Suffolk Ln.', 'Boise', 'ID', '83720', 'USA' ) ;
+INSERT INTO GHTDB.ORDERS ( OrderID, CustomerID, EmployeeID, OrderDate, RequiredDate, ShippedDate, ShipVia, Freight, ShipName, ShipAddress, ShipCity, ShipRegion, ShipPostalCode, ShipCountry ) VALUES (11031, 'SAVEA', 6, '4/17/1998 12:00:00 AM', '5/15/1998 12:00:00 AM', '4/24/1998 12:00:00 AM', 2, 227.22, 'Save-a-lot Markets', '187 Suffolk Ln.', 'Boise', 'ID', '83720', 'USA' ) ;
+INSERT INTO GHTDB.ORDERS ( OrderID, CustomerID, EmployeeID, OrderDate, RequiredDate, ShippedDate, ShipVia, Freight, ShipName, ShipAddress, ShipCity, ShipRegion, ShipPostalCode, ShipCountry ) VALUES (11032, 'WHITC', 2, '4/17/1998 12:00:00 AM', '5/15/1998 12:00:00 AM', '4/23/1998 12:00:00 AM', 3, 606.19, 'White Clover Markets', '1029 - 12th Ave. S.', 'Seattle', 'WA', '98124', 'USA' ) ;
+INSERT INTO GHTDB.ORDERS ( OrderID, CustomerID, EmployeeID, OrderDate, RequiredDate, ShippedDate, ShipVia, Freight, ShipName, ShipAddress, ShipCity, ShipRegion, ShipPostalCode, ShipCountry ) VALUES (11033, 'RICSU', 7, '4/17/1998 12:00:00 AM', '5/15/1998 12:00:00 AM', '4/23/1998 12:00:00 AM', 3, 84.74, 'Richter Supermarkt', 'Starenweg 5', 'Genève', NULL, '1204', 'Switzerland' ) ;
+INSERT INTO GHTDB.ORDERS ( OrderID, CustomerID, EmployeeID, OrderDate, RequiredDate, ShippedDate, ShipVia, Freight, ShipName, ShipAddress, ShipCity, ShipRegion, ShipPostalCode, ShipCountry ) VALUES (11034, 'OLDWO', 8, '4/20/1998 12:00:00 AM', '6/1/1998 12:00:00 AM', '4/27/1998 12:00:00 AM', 1, 40.32, 'Old World Delicatessen', '2743 Bering St.', 'Anchorage', 'AK', '99508', 'USA' ) ;
+INSERT INTO GHTDB.ORDERS ( OrderID, CustomerID, EmployeeID, OrderDate, RequiredDate, ShippedDate, ShipVia, Freight, ShipName, ShipAddress, ShipCity, ShipRegion, ShipPostalCode, ShipCountry ) VALUES (11035, 'SUPRD', 2, '4/20/1998 12:00:00 AM', '5/18/1998 12:00:00 AM', '4/24/1998 12:00:00 AM', 2, 0.17, 'Suprêmes délices', 'Boulevard Tirou, 255', 'Charleroi', NULL, 'B-6000', 'Belgium' ) ;
+INSERT INTO GHTDB.ORDERS ( OrderID, CustomerID, EmployeeID, OrderDate, RequiredDate, ShippedDate, ShipVia, Freight, ShipName, ShipAddress, ShipCity, ShipRegion, ShipPostalCode, ShipCountry ) VALUES (11036, 'DRACD', 8, '4/20/1998 12:00:00 AM', '5/18/1998 12:00:00 AM', '4/22/1998 12:00:00 AM', 3, 149.47, 'Drachenblut Delikatessen', 'Walserweg 21', 'Aachen', NULL, '52066', 'Germany' ) ;
+INSERT INTO GHTDB.ORDERS ( OrderID, CustomerID, EmployeeID, OrderDate, RequiredDate, ShippedDate, ShipVia, Freight, ShipName, ShipAddress, ShipCity, ShipRegion, ShipPostalCode, ShipCountry ) VALUES (11037, 'GODOS', 7, '4/21/1998 12:00:00 AM', '5/19/1998 12:00:00 AM', '4/27/1998 12:00:00 AM', 1, 3.2, 'Godos Cocina Típica', 'C/ Romero, 33', 'Sevilla', NULL, '41101', 'Spain' ) ;
+INSERT INTO GHTDB.ORDERS ( OrderID, CustomerID, EmployeeID, OrderDate, RequiredDate, ShippedDate, ShipVia, Freight, ShipName, ShipAddress, ShipCity, ShipRegion, ShipPostalCode, ShipCountry ) VALUES (11038, 'SUPRD', 1, '4/21/1998 12:00:00 AM', '5/19/1998 12:00:00 AM', '4/30/1998 12:00:00 AM', 2, 29.59, 'Suprêmes délices', 'Boulevard Tirou, 255', 'Charleroi', NULL, 'B-6000', 'Belgium' ) ;
+INSERT INTO GHTDB.ORDERS ( OrderID, CustomerID, EmployeeID, OrderDate, RequiredDate, ShippedDate, ShipVia, Freight, ShipName, ShipAddress, ShipCity, ShipRegion, ShipPostalCode, ShipCountry ) VALUES (11039, 'LINOD', 1, '4/21/1998 12:00:00 AM', '5/19/1998 12:00:00 AM', NULL, 2, 65, 'LINO-Delicateses', 'Ave. 5 de Mayo Porlamar', 'I. de Margarita', 'Nueva Esparta', '4980', 'Venezuela' ) ;
+INSERT INTO GHTDB.ORDERS ( OrderID, CustomerID, EmployeeID, OrderDate, RequiredDate, ShippedDate, ShipVia, Freight, ShipName, ShipAddress, ShipCity, ShipRegion, ShipPostalCode, ShipCountry ) VALUES (11040, 'GREAL', 4, '4/22/1998 12:00:00 AM', '5/20/1998 12:00:00 AM', NULL, 3, 18.84, 'Great Lakes Food Market', '2732 Baker Blvd.', 'Eugene', 'OR', '97403', 'USA' ) ;
+INSERT INTO GHTDB.ORDERS ( OrderID, CustomerID, EmployeeID, OrderDate, RequiredDate, ShippedDate, ShipVia, Freight, ShipName, ShipAddress, ShipCity, ShipRegion, ShipPostalCode, ShipCountry ) VALUES (11041, 'CHOPS', 3, '4/22/1998 12:00:00 AM', '5/20/1998 12:00:00 AM', '4/28/1998 12:00:00 AM', 2, 48.22, 'Chop-suey Chinese', 'Hauptstr. 31', 'Bern', NULL, '3012', 'Switzerland' ) ;
+INSERT INTO GHTDB.ORDERS ( OrderID, CustomerID, EmployeeID, OrderDate, RequiredDate, ShippedDate, ShipVia, Freight, ShipName, ShipAddress, ShipCity, ShipRegion, ShipPostalCode, ShipCountry ) VALUES (11042, 'COMMI', 2, '4/22/1998 12:00:00 AM', '5/6/1998 12:00:00 AM', '5/1/1998 12:00:00 AM', 1, 29.99, 'Comércio Mineiro', 'Av. dos Lusíadas, 23', 'Sao Paulo', 'SP', '05432-043', 'Brazil' ) ;
+INSERT INTO GHTDB.ORDERS ( OrderID, CustomerID, EmployeeID, OrderDate, RequiredDate, ShippedDate, ShipVia, Freight, ShipName, ShipAddress, ShipCity, ShipRegion, ShipPostalCode, ShipCountry ) VALUES (11043, 'SPECD', 5, '4/22/1998 12:00:00 AM', '5/20/1998 12:00:00 AM', '4/29/1998 12:00:00 AM', 2, 8.8, 'Spécialités du monde', '25, rue Lauriston', 'Paris', NULL, '75016', 'France' ) ;
+INSERT INTO GHTDB.ORDERS ( OrderID, CustomerID, EmployeeID, OrderDate, RequiredDate, ShippedDate, ShipVia, Freight, ShipName, ShipAddress, ShipCity, ShipRegion, ShipPostalCode, ShipCountry ) VALUES (11044, 'WOLZA', 4, '4/23/1998 12:00:00 AM', '5/21/1998 12:00:00 AM', '5/1/1998 12:00:00 AM', 1, 8.72, 'Wolski Zajazd', 'ul. Filtrowa 68', 'Warszawa', NULL, '01-012', 'Poland' ) ;
+INSERT INTO GHTDB.ORDERS ( OrderID, CustomerID, EmployeeID, OrderDate, RequiredDate, ShippedDate, ShipVia, Freight, ShipName, ShipAddress, ShipCity, ShipRegion, ShipPostalCode, ShipCountry ) VALUES (11045, 'BOTTM', 6, '4/23/1998 12:00:00 AM', '5/21/1998 12:00:00 AM', NULL, 2, 70.58, 'Bottom-Dollar Markets', '23 Tsawassen Blvd.', 'Tsawassen', 'BC', 'T2F 8M4', 'Canada' ) ;
+INSERT INTO GHTDB.ORDERS ( OrderID, CustomerID, EmployeeID, OrderDate, RequiredDate, ShippedDate, ShipVia, Freight, ShipName, ShipAddress, ShipCity, ShipRegion, ShipPostalCode, ShipCountry ) VALUES (11046, 'WANDK', 8, '4/23/1998 12:00:00 AM', '5/21/1998 12:00:00 AM', '4/24/1998 12:00:00 AM', 2, 71.64, 'Die Wandernde Kuh', 'Adenauerallee 900', 'Stuttgart', NULL, '70563', 'Germany' ) ;
+INSERT INTO GHTDB.ORDERS ( OrderID, CustomerID, EmployeeID, OrderDate, RequiredDate, ShippedDate, ShipVia, Freight, ShipName, ShipAddress, ShipCity, ShipRegion, ShipPostalCode, ShipCountry ) VALUES (11047, 'EASTC', 7, '4/24/1998 12:00:00 AM', '5/22/1998 12:00:00 AM', '5/1/1998 12:00:00 AM', 3, 46.62, 'Eastern Connection', '35 King George', 'London', NULL, 'WX3 6FW', 'UK' ) ;
+INSERT INTO GHTDB.ORDERS ( OrderID, CustomerID, EmployeeID, OrderDate, RequiredDate, ShippedDate, ShipVia, Freight, ShipName, ShipAddress, ShipCity, ShipRegion, ShipPostalCode, ShipCountry ) VALUES (11048, 'BOTTM', 7, '4/24/1998 12:00:00 AM', '5/22/1998 12:00:00 AM', '4/30/1998 12:00:00 AM', 3, 24.12, 'Bottom-Dollar Markets', '23 Tsawassen Blvd.', 'Tsawassen', 'BC', 'T2F 8M4', 'Canada' ) ;
+INSERT INTO GHTDB.ORDERS ( OrderID, CustomerID, EmployeeID, OrderDate, RequiredDate, ShippedDate, ShipVia, Freight, ShipName, ShipAddress, ShipCity, ShipRegion, ShipPostalCode, ShipCountry ) VALUES (11049, 'GOURL', 3, '4/24/1998 12:00:00 AM', '5/22/1998 12:00:00 AM', '5/4/1998 12:00:00 AM', 1, 8.34, 'Gourmet Lanchonetes', 'Av. Brasil, 442', 'Campinas', 'SP', '04876-786', 'Brazil' ) ;
+INSERT INTO GHTDB.ORDERS ( OrderID, CustomerID, EmployeeID, OrderDate, RequiredDate, ShippedDate, ShipVia, Freight, ShipName, ShipAddress, ShipCity, ShipRegion, ShipPostalCode, ShipCountry ) VALUES (11050, 'FOLKO', 8, '4/27/1998 12:00:00 AM', '5/25/1998 12:00:00 AM', '5/5/1998 12:00:00 AM', 2, 59.41, 'Folk och fä HB', 'Ã…kergatan 24', 'Bräcke', NULL, 'S-844 67', 'Sweden' ) ;
+INSERT INTO GHTDB.ORDERS ( OrderID, CustomerID, EmployeeID, OrderDate, RequiredDate, ShippedDate, ShipVia, Freight, ShipName, ShipAddress, ShipCity, ShipRegion, ShipPostalCode, ShipCountry ) VALUES (11051, 'LAMAI', 7, '4/27/1998 12:00:00 AM', '5/25/1998 12:00:00 AM', NULL, 3, 2.79, 'La maison d''Asie', '1 rue Alsace-Lorraine', 'Toulouse', NULL, '31000', 'France' ) ;
+INSERT INTO GHTDB.ORDERS ( OrderID, CustomerID, EmployeeID, OrderDate, RequiredDate, ShippedDate, ShipVia, Freight, ShipName, ShipAddress, ShipCity, ShipRegion, ShipPostalCode, ShipCountry ) VALUES (11052, 'HANAR', 3, '4/27/1998 12:00:00 AM', '5/25/1998 12:00:00 AM', '5/1/1998 12:00:00 AM', 1, 67.26, 'Hanari Carnes', 'Rua do Paço, 67', 'Rio de Janeiro', 'RJ', '05454-876', 'Brazil' ) ;
+INSERT INTO GHTDB.ORDERS ( OrderID, CustomerID, EmployeeID, OrderDate, RequiredDate, ShippedDate, ShipVia, Freight, ShipName, ShipAddress, ShipCity, ShipRegion, ShipPostalCode, ShipCountry ) VALUES (11053, 'PICCO', 2, '4/27/1998 12:00:00 AM', '5/25/1998 12:00:00 AM', '4/29/1998 12:00:00 AM', 2, 53.05, 'Piccolo und mehr', 'Geislweg 14', 'Salzburg', NULL, '5020', 'Austria' ) ;
+INSERT INTO GHTDB.ORDERS ( OrderID, CustomerID, EmployeeID, OrderDate, RequiredDate, ShippedDate, ShipVia, Freight, ShipName, ShipAddress, ShipCity, ShipRegion, ShipPostalCode, ShipCountry ) VALUES (11054, 'CACTU', 8, '4/28/1998 12:00:00 AM', '5/26/1998 12:00:00 AM', NULL, 1, 0.33, 'Cactus Comidas para llevar', 'Cerrito 333', 'Buenos Aires', NULL, '1010', 'Argentina' ) ;
+INSERT INTO GHTDB.ORDERS ( OrderID, CustomerID, EmployeeID, OrderDate, RequiredDate, ShippedDate, ShipVia, Freight, ShipName, ShipAddress, ShipCity, ShipRegion, ShipPostalCode, ShipCountry ) VALUES (11055, 'HILAA', 7, '4/28/1998 12:00:00 AM', '5/26/1998 12:00:00 AM', '5/5/1998 12:00:00 AM', 2, 120.92, 'HILARION-Abastos', 'Carrera 22 con Ave. Carlos Soublette #8-35', 'San Cristóbal', 'Táchira', '5022', 'Venezuela' ) ;
+INSERT INTO GHTDB.ORDERS ( OrderID, CustomerID, EmployeeID, OrderDate, RequiredDate, ShippedDate, ShipVia, Freight, ShipName, ShipAddress, ShipCity, ShipRegion, ShipPostalCode, ShipCountry ) VALUES (11056, 'EASTC', 8, '4/28/1998 12:00:00 AM', '5/12/1998 12:00:00 AM', '5/1/1998 12:00:00 AM', 2, 278.96, 'Eastern Connection', '35 King George', 'London', NULL, 'WX3 6FW', 'UK' ) ;
+INSERT INTO GHTDB.ORDERS ( OrderID, CustomerID, EmployeeID, OrderDate, RequiredDate, ShippedDate, ShipVia, Freight, ShipName, ShipAddress, ShipCity, ShipRegion, ShipPostalCode, ShipCountry ) VALUES (11057, 'NORTS', 3, '4/29/1998 12:00:00 AM', '5/27/1998 12:00:00 AM', '5/1/1998 12:00:00 AM', 3, 4.13, 'North/South', 'South House 300 Queensbridge', 'London', NULL, 'SW7 1RZ', 'UK' ) ;
+INSERT INTO GHTDB.ORDERS ( OrderID, CustomerID, EmployeeID, OrderDate, RequiredDate, ShippedDate, ShipVia, Freight, ShipName, ShipAddress, ShipCity, ShipRegion, ShipPostalCode, ShipCountry ) VALUES (11058, 'BLAUS', 9, '4/29/1998 12:00:00 AM', '5/27/1998 12:00:00 AM', NULL, 3, 31.14, 'Blauer See Delikatessen', 'Forsterstr. 57', 'Mannheim', NULL, '68306', 'Germany' ) ;
+INSERT INTO GHTDB.ORDERS ( OrderID, CustomerID, EmployeeID, OrderDate, RequiredDate, ShippedDate, ShipVia, Freight, ShipName, ShipAddress, ShipCity, ShipRegion, ShipPostalCode, ShipCountry ) VALUES (11059, 'RICAR', 2, '4/29/1998 12:00:00 AM', '6/10/1998 12:00:00 AM', NULL, 2, 85.8, 'Ricardo Adocicados', 'Av. Copacabana, 267', 'Rio de Janeiro', 'RJ', '02389-890', 'Brazil' ) ;
+INSERT INTO GHTDB.ORDERS ( OrderID, CustomerID, EmployeeID, OrderDate, RequiredDate, ShippedDate, ShipVia, Freight, ShipName, ShipAddress, ShipCity, ShipRegion, ShipPostalCode, ShipCountry ) VALUES (11060, 'FRANS', 2, '4/30/1998 12:00:00 AM', '5/28/1998 12:00:00 AM', '5/4/1998 12:00:00 AM', 2, 10.98, 'Franchi S.p.A.', 'Via Monte Bianco 34', 'Torino', NULL, '10100', 'Italy' ) ;
+INSERT INTO GHTDB.ORDERS ( OrderID, CustomerID, EmployeeID, OrderDate, RequiredDate, ShippedDate, ShipVia, Freight, ShipName, ShipAddress, ShipCity, ShipRegion, ShipPostalCode, ShipCountry ) VALUES (11061, 'GREAL', 4, '4/30/1998 12:00:00 AM', '6/11/1998 12:00:00 AM', NULL, 3, 14.01, 'Great Lakes Food Market', '2732 Baker Blvd.', 'Eugene', 'OR', '97403', 'USA' ) ;
+INSERT INTO GHTDB.ORDERS ( OrderID, CustomerID, EmployeeID, OrderDate, RequiredDate, ShippedDate, ShipVia, Freight, ShipName, ShipAddress, ShipCity, ShipRegion, ShipPostalCode, ShipCountry ) VALUES (11062, 'REGGC', 4, '4/30/1998 12:00:00 AM', '5/28/1998 12:00:00 AM', NULL, 2, 29.93, 'Reggiani Caseifici', 'Strada Provinciale 124', 'Reggio Emilia', NULL, '42100', 'Italy' ) ;
+INSERT INTO GHTDB.ORDERS ( OrderID, CustomerID, EmployeeID, OrderDate, RequiredDate, ShippedDate, ShipVia, Freight, ShipName, ShipAddress, ShipCity, ShipRegion, ShipPostalCode, ShipCountry ) VALUES (11063, 'HUNGO', 3, '4/30/1998 12:00:00 AM', '5/28/1998 12:00:00 AM', '5/6/1998 12:00:00 AM', 2, 81.73, 'Hungry Owl All-Night Grocers', '8 Johnstown Road', 'Cork', 'Co. Cork', NULL, 'Ireland' ) ;
+INSERT INTO GHTDB.ORDERS ( OrderID, CustomerID, EmployeeID, OrderDate, RequiredDate, ShippedDate, ShipVia, Freight, ShipName, ShipAddress, ShipCity, ShipRegion, ShipPostalCode, ShipCountry ) VALUES (11064, 'SAVEA', 1, '5/1/1998 12:00:00 AM', '5/29/1998 12:00:00 AM', '5/4/1998 12:00:00 AM', 1, 30.09, 'Save-a-lot Markets', '187 Suffolk Ln.', 'Boise', 'ID', '83720', 'USA' ) ;
+INSERT INTO GHTDB.ORDERS ( OrderID, CustomerID, EmployeeID, OrderDate, RequiredDate, ShippedDate, ShipVia, Freight, ShipName, ShipAddress, ShipCity, ShipRegion, ShipPostalCode, ShipCountry ) VALUES (11065, 'LILAS', 8, '5/1/1998 12:00:00 AM', '5/29/1998 12:00:00 AM', NULL, 1, 12.91, 'LILA-Supermercado', 'Carrera 52 con Ave. Bolívar #65-98 Llano Largo', 'Barquisimeto', 'Lara', '3508', 'Venezuela' ) ;
+INSERT INTO GHTDB.ORDERS ( OrderID, CustomerID, EmployeeID, OrderDate, RequiredDate, ShippedDate, ShipVia, Freight, ShipName, ShipAddress, ShipCity, ShipRegion, ShipPostalCode, ShipCountry ) VALUES (11066, 'WHITC', 7, '5/1/1998 12:00:00 AM', '5/29/1998 12:00:00 AM', '5/4/1998 12:00:00 AM', 2, 44.72, 'White Clover Markets', '1029 - 12th Ave. S.', 'Seattle', 'WA', '98124', 'USA' ) ;
+INSERT INTO GHTDB.ORDERS ( OrderID, CustomerID, EmployeeID, OrderDate, RequiredDate, ShippedDate, ShipVia, Freight, ShipName, ShipAddress, ShipCity, ShipRegion, ShipPostalCode, ShipCountry ) VALUES (11067, 'DRACD', 1, '5/4/1998 12:00:00 AM', '5/18/1998 12:00:00 AM', '5/6/1998 12:00:00 AM', 2, 7.98, 'Drachenblut Delikatessen', 'Walserweg 21', 'Aachen', NULL, '52066', 'Germany' ) ;
+INSERT INTO GHTDB.ORDERS ( OrderID, CustomerID, EmployeeID, OrderDate, RequiredDate, ShippedDate, ShipVia, Freight, ShipName, ShipAddress, ShipCity, ShipRegion, ShipPostalCode, ShipCountry ) VALUES (11068, 'QUEEN', 8, '5/4/1998 12:00:00 AM', '6/1/1998 12:00:00 AM', NULL, 2, 81.75, 'Queen Cozinha', 'Alameda dos Canàrios, 891', 'Sao Paulo', 'SP', '05487-020', 'Brazil' ) ;
+INSERT INTO GHTDB.ORDERS ( OrderID, CustomerID, EmployeeID, OrderDate, RequiredDate, ShippedDate, ShipVia, Freight, ShipName, ShipAddress, ShipCity, ShipRegion, ShipPostalCode, ShipCountry ) VALUES (11069, 'TORTU', 1, '5/4/1998 12:00:00 AM', '6/1/1998 12:00:00 AM', '5/6/1998 12:00:00 AM', 2, 15.67, 'Tortuga Restaurante', 'Avda. Azteca 123', 'México D.F.', NULL, '05033', 'Mexico' ) ;
+INSERT INTO GHTDB.ORDERS ( OrderID, CustomerID, EmployeeID, OrderDate, RequiredDate, ShippedDate, ShipVia, Freight, ShipName, ShipAddress, ShipCity, ShipRegion, ShipPostalCode, ShipCountry ) VALUES (11070, 'LEHMS', 2, '5/5/1998 12:00:00 AM', '6/2/1998 12:00:00 AM', NULL, 1, 136, 'Lehmanns Marktstand', 'Magazinweg 7', 'Frankfurt a.M.', NULL, '60528', 'Germany' ) ;
+INSERT INTO GHTDB.ORDERS ( OrderID, CustomerID, EmployeeID, OrderDate, RequiredDate, ShippedDate, ShipVia, Freight, ShipName, ShipAddress, ShipCity, ShipRegion, ShipPostalCode, ShipCountry ) VALUES (11071, 'LILAS', 1, '5/5/1998 12:00:00 AM', '6/2/1998 12:00:00 AM', NULL, 1, 0.93, 'LILA-Supermercado', 'Carrera 52 con Ave. Bolívar #65-98 Llano Largo', 'Barquisimeto', 'Lara', '3508', 'Venezuela' ) ;
+INSERT INTO GHTDB.ORDERS ( OrderID, CustomerID, EmployeeID, OrderDate, RequiredDate, ShippedDate, ShipVia, Freight, ShipName, ShipAddress, ShipCity, ShipRegion, ShipPostalCode, ShipCountry ) VALUES (11072, 'ERNSH', 4, '5/5/1998 12:00:00 AM', '6/2/1998 12:00:00 AM', NULL, 2, 258.64, 'Ernst Handel', 'Kirchgasse 6', 'Graz', NULL, '8010', 'Austria' ) ;
+INSERT INTO GHTDB.ORDERS ( OrderID, CustomerID, EmployeeID, OrderDate, RequiredDate, ShippedDate, ShipVia, Freight, ShipName, ShipAddress, ShipCity, ShipRegion, ShipPostalCode, ShipCountry ) VALUES (11073, 'PERIC', 2, '5/5/1998 12:00:00 AM', '6/2/1998 12:00:00 AM', NULL, 2, 24.95, 'Pericles Comidas clásicas', 'Calle Dr. Jorge Cash 321', 'México D.F.', NULL, '05033', 'Mexico' ) ;
+INSERT INTO GHTDB.ORDERS ( OrderID, CustomerID, EmployeeID, OrderDate, RequiredDate, ShippedDate, ShipVia, Freight, ShipName, ShipAddress, ShipCity, ShipRegion, ShipPostalCode, ShipCountry ) VALUES (11074, 'SIMOB', 7, '5/6/1998 12:00:00 AM', '6/3/1998 12:00:00 AM', NULL, 2, 18.44, 'Simons bistro', 'Vinbæltet 34', 'Kobenhavn', NULL, '1734', 'Denmark' ) ;
+INSERT INTO GHTDB.ORDERS ( OrderID, CustomerID, EmployeeID, OrderDate, RequiredDate, ShippedDate, ShipVia, Freight, ShipName, ShipAddress, ShipCity, ShipRegion, ShipPostalCode, ShipCountry ) VALUES (11075, 'RICSU', 8, '5/6/1998 12:00:00 AM', '6/3/1998 12:00:00 AM', NULL, 2, 6.19, 'Richter Supermarkt', 'Starenweg 5', 'Genève', NULL, '1204', 'Switzerland' ) ;
+INSERT INTO GHTDB.ORDERS ( OrderID, CustomerID, EmployeeID, OrderDate, RequiredDate, ShippedDate, ShipVia, Freight, ShipName, ShipAddress, ShipCity, ShipRegion, ShipPostalCode, ShipCountry ) VALUES (11076, 'BONAP', 4, '5/6/1998 12:00:00 AM', '6/3/1998 12:00:00 AM', NULL, 2, 38.28, 'Bon app''', '12, rue des Bouchers', 'Marseille', NULL, '13008', 'France' ) ;
+INSERT INTO GHTDB.ORDERS ( OrderID, CustomerID, EmployeeID, OrderDate, RequiredDate, ShippedDate, ShipVia, Freight, ShipName, ShipAddress, ShipCity, ShipRegion, ShipPostalCode, ShipCountry ) VALUES (11077, 'RATTC', 1, '5/6/1998 12:00:00 AM', '6/3/1998 12:00:00 AM', NULL, 2, 8.53, 'Rattlesnake Canyon Grocery', '2817 Milton Dr.', 'Albuquerque', 'NM', '87110', 'USA' ) ;
+
+INSERT INTO GHTDB.SUPPLIERS ( SupplierID, CompanyName, ContactName, ContactTitle, Address, City, Region, PostalCode, Country, Phone, Fax, HomePage ) VALUES (1, 'Exotic Liquids', 'Charlotte Cooper', 'Purchasing Manager', '49 Gilbert St.', 'London', NULL, 'EC1 4SD', 'UK', '(171) 555-2222', NULL, NULL ) ;
+INSERT INTO GHTDB.SUPPLIERS ( SupplierID, CompanyName, ContactName, ContactTitle, Address, City, Region, PostalCode, Country, Phone, Fax, HomePage ) VALUES (2, 'New Orleans Cajun Delights', 'Shelley Burke', 'Order Administrator', 'P.O. Box 78934', 'New Orleans', 'LA', '70117', 'USA', '(100) 555-4822', NULL, '#CAJUN.HTM#' ) ;
+INSERT INTO GHTDB.SUPPLIERS ( SupplierID, CompanyName, ContactName, ContactTitle, Address, City, Region, PostalCode, Country, Phone, Fax, HomePage ) VALUES (3, 'Grandma Kelly''s Homestead', 'Regina Murphy', 'Sales Representative', '707 Oxford Rd.', 'Ann Arbor', 'MI', '48104', 'USA', '(313) 555-5735', '(313) 555-3349', NULL ) ;
+INSERT INTO GHTDB.SUPPLIERS ( SupplierID, CompanyName, ContactName, ContactTitle, Address, City, Region, PostalCode, Country, Phone, Fax, HomePage ) VALUES (4, 'Tokyo Traders', 'Yoshi Nagase', 'Marketing Manager', '9-8 Sekimai Musashino-shi', 'Tokyo', NULL, '100', 'Japan', '(03) 3555-5011', NULL, NULL ) ;
+INSERT INTO GHTDB.SUPPLIERS ( SupplierID, CompanyName, ContactName, ContactTitle, Address, City, Region, PostalCode, Country, Phone, Fax, HomePage ) VALUES (5, 'Cooperativa de Quesos ''Las Cabras''', 'Antonio del Valle Saavedra', 'Export Administrator', 'Calle del Rosal 4', 'Oviedo', 'Asturias', '33007', 'Spain', '(98) 598 76 54', NULL, NULL ) ;
+INSERT INTO GHTDB.SUPPLIERS ( SupplierID, CompanyName, ContactName, ContactTitle, Address, City, Region, PostalCode, Country, Phone, Fax, HomePage ) VALUES (6, 'Mayumi''s', 'Mayumi Ohno', 'Marketing Representative', '92 Setsuko Chuo-ku', 'Osaka', NULL, '545', 'Japan', '(06) 431-7877', NULL, 'Mayumi''s (on the World Wide Web)#http://www.microsoft.com/accessdev/sampleapps/mayumi.htm#' ) ;
+INSERT INTO GHTDB.SUPPLIERS ( SupplierID, CompanyName, ContactName, ContactTitle, Address, City, Region, PostalCode, Country, Phone, Fax, HomePage ) VALUES (7, 'Pavlova, Ltd.', 'Ian Devling', 'Marketing Manager', '74 Rose St. Moonie Ponds', 'Melbourne', 'Victoria', '3058', 'Australia', '(03) 444-2343', '(03) 444-6588', NULL ) ;
+INSERT INTO GHTDB.SUPPLIERS ( SupplierID, CompanyName, ContactName, ContactTitle, Address, City, Region, PostalCode, Country, Phone, Fax, HomePage ) VALUES (8, 'Specialty Biscuits, Ltd.', 'Peter Wilson', 'Sales Representative', '29 King''s Way', 'Manchester', NULL, 'M14 GSD', 'UK', '(161) 555-4448', NULL, NULL ) ;
+INSERT INTO GHTDB.SUPPLIERS ( SupplierID, CompanyName, ContactName, ContactTitle, Address, City, Region, PostalCode, Country, Phone, Fax, HomePage ) VALUES (9, 'PB Knäckebröd AB', 'Lars Peterson', 'Sales Agent', 'Kaloadagatan 13', 'Göteborg', NULL, 'S-345 67', 'Sweden', '031-987 65 43', '031-987 65 91', NULL ) ;
+INSERT INTO GHTDB.SUPPLIERS ( SupplierID, CompanyName, ContactName, ContactTitle, Address, City, Region, PostalCode, Country, Phone, Fax, HomePage ) VALUES (10, 'Refrescos Americanas LTDA', 'Carlos Diaz', 'Marketing Manager', 'Av. das Americanas 12.890', 'Sao Paulo', NULL, '5442', 'Brazil', '(11) 555 4640', NULL, NULL ) ;
+INSERT INTO GHTDB.SUPPLIERS ( SupplierID, CompanyName, ContactName, ContactTitle, Address, City, Region, PostalCode, Country, Phone, Fax, HomePage ) VALUES (11, 'Heli Süßwaren GmbH & Co. KG', 'Petra Winkler', 'Sales Manager', 'Tiergartenstraße 5', 'Berlin', NULL, '10785', 'Germany', '(010) 9984510', NULL, NULL ) ;
+INSERT INTO GHTDB.SUPPLIERS ( SupplierID, CompanyName, ContactName, ContactTitle, Address, City, Region, PostalCode, Country, Phone, Fax, HomePage ) VALUES (12, 'Plutzer Lebensmittelgroßmärkte AG', 'Martin Bein', 'International Marketing Mgr.', 'Bogenallee 51', 'Frankfurt', NULL, '60439', 'Germany', '(069) 992755', NULL, 'Plutzer (on the World Wide Web)#http://www.microsoft.com/accessdev/sampleapps/plutzer.htm#' ) ;
+INSERT INTO GHTDB.SUPPLIERS ( SupplierID, CompanyName, ContactName, ContactTitle, Address, City, Region, PostalCode, Country, Phone, Fax, HomePage ) VALUES (13, 'Nord-Ost-Fisch Handelsgesellschaft mbH', 'Sven Petersen', 'Coordinator Foreign Markets', 'Frahmredder 112a', 'Cuxhaven', NULL, '27478', 'Germany', '(04721) 8713', '(04721) 8714', NULL ) ;
+INSERT INTO GHTDB.SUPPLIERS ( SupplierID, CompanyName, ContactName, ContactTitle, Address, City, Region, PostalCode, Country, Phone, Fax, HomePage ) VALUES (14, 'Formaggi Fortini s.r.l.', 'Elio Rossi', 'Sales Representative', 'Viale Dante, 75', 'Ravenna', NULL, '48100', 'Italy', '(0544) 60323', '(0544) 60603', '#FORMAGGI.HTM#' ) ;
+INSERT INTO GHTDB.SUPPLIERS ( SupplierID, CompanyName, ContactName, ContactTitle, Address, City, Region, PostalCode, Country, Phone, Fax, HomePage ) VALUES (15, 'Norske Meierier', 'Beate Vileid', 'Marketing Manager', 'Hatlevegen 5', 'Sandvika', NULL, '1320', 'Norway', '(0)2-953010', NULL, NULL ) ;
+INSERT INTO GHTDB.SUPPLIERS ( SupplierID, CompanyName, ContactName, ContactTitle, Address, City, Region, PostalCode, Country, Phone, Fax, HomePage ) VALUES (16, 'Bigfoot Breweries', 'Cheryl Saylor', 'Regional Account Rep.', '3400 - 8th Avenue Suite 210', 'Bend', 'OR', '97101', 'USA', '(503) 555-9931', NULL, NULL ) ;
+INSERT INTO GHTDB.SUPPLIERS ( SupplierID, CompanyName, ContactName, ContactTitle, Address, City, Region, PostalCode, Country, Phone, Fax, HomePage ) VALUES (17, 'Svensk Sjöföda AB', 'Michael Björn', 'Sales Representative', 'Brovallavägen 231', 'Stockholm', NULL, 'S-123 45', 'Sweden', '08-123 45 67', NULL, NULL ) ;
+INSERT INTO GHTDB.SUPPLIERS ( SupplierID, CompanyName, ContactName, ContactTitle, Address, City, Region, PostalCode, Country, Phone, Fax, HomePage ) VALUES (18, 'Aux joyeux ecclésiastiques', 'Guylène Nodier', 'Sales Manager', '203, Rue des Francs-Bourgeois', 'Paris', NULL, '75004', 'France', '(1) 03.83.00.68', '(1) 03.83.00.62', NULL ) ;
+INSERT INTO GHTDB.SUPPLIERS ( SupplierID, CompanyName, ContactName, ContactTitle, Address, City, Region, PostalCode, Country, Phone, Fax, HomePage ) VALUES (19, 'New England Seafood Cannery', 'Robb Merchant', 'Wholesale Account Agent', 'Order Processing Dept. 2100 Paul Revere Blvd.', 'Boston', 'MA', '02134', 'USA', '(617) 555-3267', '(617) 555-3389', NULL ) ;
+INSERT INTO GHTDB.SUPPLIERS ( SupplierID, CompanyName, ContactName, ContactTitle, Address, City, Region, PostalCode, Country, Phone, Fax, HomePage ) VALUES (20, 'Leka Trading', 'Chandra Leka', 'Owner', '471 Serangoon Loop, Suite #402', 'Singapore', NULL, '0512', 'Singapore', '555-8787', NULL, NULL ) ;
+INSERT INTO GHTDB.SUPPLIERS ( SupplierID, CompanyName, ContactName, ContactTitle, Address, City, Region, PostalCode, Country, Phone, Fax, HomePage ) VALUES (21, 'Lyngbysild', 'Niels Petersen', 'Sales Manager', 'Lyngbysild Fiskebakken 10', 'Lyngby', NULL, '2800', 'Denmark', '43844108', '43844115', NULL ) ;
+INSERT INTO GHTDB.SUPPLIERS ( SupplierID, CompanyName, ContactName, ContactTitle, Address, City, Region, PostalCode, Country, Phone, Fax, HomePage ) VALUES (22, 'Zaanse Snoepfabriek', 'Dirk Luchte', 'Accounting Manager', 'Verkoop Rijnweg 22', 'Zaandam', NULL, '9999 ZZ', 'Netherlands', '(12345) 1212', '(12345) 1210', NULL ) ;
+INSERT INTO GHTDB.SUPPLIERS ( SupplierID, CompanyName, ContactName, ContactTitle, Address, City, Region, PostalCode, Country, Phone, Fax, HomePage ) VALUES (23, 'Karkki Oy', 'Anne Heikkonen', 'Product Manager', 'Valtakatu 12', 'Lappeenranta', NULL, '53120', 'Finland', '(953) 10956', NULL, NULL ) ;
+INSERT INTO GHTDB.SUPPLIERS ( SupplierID, CompanyName, ContactName, ContactTitle, Address, City, Region, PostalCode, Country, Phone, Fax, HomePage ) VALUES (24, 'G''day, Mate', 'Wendy Mackenzie', 'Sales Representative', '170 Prince Edward Parade Hunter''s Hill', 'Sydney', 'NSW', '2042', 'Australia', '(02) 555-5914', '(02) 555-4873', 'G''day Mate (on the World Wide Web)#http://www.microsoft.com/accessdev/sampleapps/gdaymate.htm#' ) ;
+INSERT INTO GHTDB.SUPPLIERS ( SupplierID, CompanyName, ContactName, ContactTitle, Address, City, Region, PostalCode, Country, Phone, Fax, HomePage ) VALUES (25, 'Ma Maison', 'Jean-Guy Lauzon', 'Marketing Manager', '2960 Rue St. Laurent', 'Montréal', 'Québec', 'H1J 1C3', 'Canada', '(514) 555-9022', NULL, NULL ) ;
+INSERT INTO GHTDB.SUPPLIERS ( SupplierID, CompanyName, ContactName, ContactTitle, Address, City, Region, PostalCode, Country, Phone, Fax, HomePage ) VALUES (26, 'Pasta Buttini s.r.l.', 'Giovanni Giudici', 'Order Administrator', 'Via dei Gelsomini, 153', 'Salerno', NULL, '84100', 'Italy', '(089) 6547665', '(089) 6547667', NULL ) ;
+INSERT INTO GHTDB.SUPPLIERS ( SupplierID, CompanyName, ContactName, ContactTitle, Address, City, Region, PostalCode, Country, Phone, Fax, HomePage ) VALUES (27, 'Escargots Nouveaux', 'Marie Delamare', 'Sales Manager', '22, rue H. Voiron', 'Montceau', NULL, '71300', 'France', '85.57.00.07', NULL, NULL ) ;
+INSERT INTO GHTDB.SUPPLIERS ( SupplierID, CompanyName, ContactName, ContactTitle, Address, City, Region, PostalCode, Country, Phone, Fax, HomePage ) VALUES (28, 'Gai pâturage', 'Eliane Noz', 'Sales Representative', 'Bat. B 3, rue des Alpes', 'Annecy', NULL, '74000', 'France', '38.76.98.06', '38.76.98.58', NULL ) ;
+INSERT INTO GHTDB.SUPPLIERS ( SupplierID, CompanyName, ContactName, ContactTitle, Address, City, Region, PostalCode, Country, Phone, Fax, HomePage ) VALUES (29, 'Forêts d''érables', 'Chantal Goulet', 'Accounting Manager', '148 rue Chasseur', 'Ste-Hyacinthe', 'Québec', 'J2S 7S8', 'Canada', '(514) 555-2955', '(514) 555-2921', NULL ) ;
+
+
+INSERT INTO GHTDB.PRODUCTS ( ProductID, ProductName, SupplierID, CategoryID, QuantityPerUnit, UnitPrice, UnitsInStock, UnitsOnOrder, ReorderLevel, Discontinued ) VALUES (1, 'Chai', 1, 1, '10 boxes x 20 bags', 18, 520, 0, 10, 0 ) ;
+INSERT INTO GHTDB.PRODUCTS ( ProductID, ProductName, SupplierID, CategoryID, QuantityPerUnit, UnitPrice, UnitsInStock, UnitsOnOrder, ReorderLevel, Discontinued ) VALUES (2, 'Chang', 1, 1, '24 - 12 oz bottles', 19, 522, 40, 25, 0 ) ;
+INSERT INTO GHTDB.PRODUCTS ( ProductID, ProductName, SupplierID, CategoryID, QuantityPerUnit, UnitPrice, UnitsInStock, UnitsOnOrder, ReorderLevel, Discontinued ) VALUES (3, 'Aniseed Syrup', 1, 2, '12 - 550 ml bottles', 10, 13, 70, 25, 0 ) ;
+INSERT INTO GHTDB.PRODUCTS ( ProductID, ProductName, SupplierID, CategoryID, QuantityPerUnit, UnitPrice, UnitsInStock, UnitsOnOrder, ReorderLevel, Discontinued ) VALUES (4, 'Chef Anton''s Cajun Seasoning', 2, 2, '48 - 6 oz jars', 22, 53, 0, 0, 0 ) ;
+INSERT INTO GHTDB.PRODUCTS ( ProductID, ProductName, SupplierID, CategoryID, QuantityPerUnit, UnitPrice, UnitsInStock, UnitsOnOrder, ReorderLevel, Discontinued ) VALUES (5, 'Chef Anton''s Gumbo Mix', 2, 2, '36 boxes', 21.35, 0, 0, 0, 1 ) ;
+INSERT INTO GHTDB.PRODUCTS ( ProductID, ProductName, SupplierID, CategoryID, QuantityPerUnit, UnitPrice, UnitsInStock, UnitsOnOrder, ReorderLevel, Discontinued ) VALUES (6, 'Grandma''s Boysenberry Spread', 3, 2, '12 - 8 oz jars', 25, 120, 0, 25, 0 ) ;
+INSERT INTO GHTDB.PRODUCTS ( ProductID, ProductName, SupplierID, CategoryID, QuantityPerUnit, UnitPrice, UnitsInStock, UnitsOnOrder, ReorderLevel, Discontinued ) VALUES (7, 'Uncle Bob''s Organic Dried Pears', 3, 7, '12 - 1 lb pkgs.', 30, 15, 0, 10, 0 ) ;
+INSERT INTO GHTDB.PRODUCTS ( ProductID, ProductName, SupplierID, CategoryID, QuantityPerUnit, UnitPrice, UnitsInStock, UnitsOnOrder, ReorderLevel, Discontinued ) VALUES (8, 'Northwoods Cranberry Sauce', 3, 2, '12 - 12 oz jars', 40, 6, 0, 0, 0 ) ;
+INSERT INTO GHTDB.PRODUCTS ( ProductID, ProductName, SupplierID, CategoryID, QuantityPerUnit, UnitPrice, UnitsInStock, UnitsOnOrder, ReorderLevel, Discontinued ) VALUES (9, 'Mishi Kobe Niku', 4, 6, '18 - 500 g pkgs.', 97, 29, 0, 0, 1 ) ;
+INSERT INTO GHTDB.PRODUCTS ( ProductID, ProductName, SupplierID, CategoryID, QuantityPerUnit, UnitPrice, UnitsInStock, UnitsOnOrder, ReorderLevel, Discontinued ) VALUES (10, 'Ikura', 4, 8, '12 - 200 ml jars', 31, 31, 0, 0, 0 ) ;
+INSERT INTO GHTDB.PRODUCTS ( ProductID, ProductName, SupplierID, CategoryID, QuantityPerUnit, UnitPrice, UnitsInStock, UnitsOnOrder, ReorderLevel, Discontinued ) VALUES (11, 'Queso Cabrales', 5, 4, '1 kg pkg.', 21, 22, 30, 30, 0 ) ;
+INSERT INTO GHTDB.PRODUCTS ( ProductID, ProductName, SupplierID, CategoryID, QuantityPerUnit, UnitPrice, UnitsInStock, UnitsOnOrder, ReorderLevel, Discontinued ) VALUES (12, 'Queso Manchego La Pastora', 5, 4, '10 - 500 g pkgs.', 38, 86, 0, 0, 0 ) ;
+INSERT INTO GHTDB.PRODUCTS ( ProductID, ProductName, SupplierID, CategoryID, QuantityPerUnit, UnitPrice, UnitsInStock, UnitsOnOrder, ReorderLevel, Discontinued ) VALUES (13, 'Konbu', 6, 8, '2 kg box', 6, 24, 0, 5, 0 ) ;
+INSERT INTO GHTDB.PRODUCTS ( ProductID, ProductName, SupplierID, CategoryID, QuantityPerUnit, UnitPrice, UnitsInStock, UnitsOnOrder, ReorderLevel, Discontinued ) VALUES (14, 'Tofu', 6, 7, '40 - 100 g pkgs.', 23.25, 35, 0, 0, 0 ) ;
+INSERT INTO GHTDB.PRODUCTS ( ProductID, ProductName, SupplierID, CategoryID, QuantityPerUnit, UnitPrice, UnitsInStock, UnitsOnOrder, ReorderLevel, Discontinued ) VALUES (15, 'Genen Shouyu', 6, 2, '24 - 250 ml bottles', 15.5, 39, 0, 5, 0 ) ;
+INSERT INTO GHTDB.PRODUCTS ( ProductID, ProductName, SupplierID, CategoryID, QuantityPerUnit, UnitPrice, UnitsInStock, UnitsOnOrder, ReorderLevel, Discontinued ) VALUES (16, 'Pavlova', 7, 3, '32 - 500 g boxes', 17.45, 29, 0, 10, 0 ) ;
+INSERT INTO GHTDB.PRODUCTS ( ProductID, ProductName, SupplierID, CategoryID, QuantityPerUnit, UnitPrice, UnitsInStock, UnitsOnOrder, ReorderLevel, Discontinued ) VALUES (17, 'Alice Mutton', 7, 6, '20 - 1 kg tins', 39, 0, 0, 0, 1 ) ;
+INSERT INTO GHTDB.PRODUCTS ( ProductID, ProductName, SupplierID, CategoryID, QuantityPerUnit, UnitPrice, UnitsInStock, UnitsOnOrder, ReorderLevel, Discontinued ) VALUES (18, 'Carnarvon Tigers', 7, 8, '16 kg pkg.', 62.5, 42, 0, 0, 0 ) ;
+INSERT INTO GHTDB.PRODUCTS ( ProductID, ProductName, SupplierID, CategoryID, QuantityPerUnit, UnitPrice, UnitsInStock, UnitsOnOrder, ReorderLevel, Discontinued ) VALUES (19, 'Teatime Chocolate Biscuits', 8, 3, '10 boxes x 12 pieces', 9.2, 25, 0, 5, 0 ) ;
+INSERT INTO GHTDB.PRODUCTS ( ProductID, ProductName, SupplierID, CategoryID, QuantityPerUnit, UnitPrice, UnitsInStock, UnitsOnOrder, ReorderLevel, Discontinued ) VALUES (20, 'Sir Rodney''s Marmalade', 8, 3, '30 gift boxes', 81, 40, 0, 0, 0 ) ;
+INSERT INTO GHTDB.PRODUCTS ( ProductID, ProductName, SupplierID, CategoryID, QuantityPerUnit, UnitPrice, UnitsInStock, UnitsOnOrder, ReorderLevel, Discontinued ) VALUES (21, 'Sir Rodney''s Scones', 8, 3, '24 pkgs. x 4 pieces', 10, 3, 40, 5, 0 ) ;
+INSERT INTO GHTDB.PRODUCTS ( ProductID, ProductName, SupplierID, CategoryID, QuantityPerUnit, UnitPrice, UnitsInStock, UnitsOnOrder, ReorderLevel, Discontinued ) VALUES (22, 'Gustaf''s Knäckebröd', 9, 5, '24 - 500 g pkgs.', 21, 104, 0, 25, 0 ) ;
+INSERT INTO GHTDB.PRODUCTS ( ProductID, ProductName, SupplierID, CategoryID, QuantityPerUnit, UnitPrice, UnitsInStock, UnitsOnOrder, ReorderLevel, Discontinued ) VALUES (23, 'Tunnbröd', 9, 5, '12 - 250 g pkgs.', 9, 61, 0, 25, 0 ) ;
+INSERT INTO GHTDB.PRODUCTS ( ProductID, ProductName, SupplierID, CategoryID, QuantityPerUnit, UnitPrice, UnitsInStock, UnitsOnOrder, ReorderLevel, Discontinued ) VALUES (24, 'Guaraná Fantástica', 10, 1, '12 - 355 ml cans', 4.5, 20, 0, 0, 1 ) ;
+INSERT INTO GHTDB.PRODUCTS ( ProductID, ProductName, SupplierID, CategoryID, QuantityPerUnit, UnitPrice, UnitsInStock, UnitsOnOrder, ReorderLevel, Discontinued ) VALUES (25, 'NuNuCa Nuß-Nougat-Creme', 11, 3, '20 - 450 g glasses', 14, 76, 0, 30, 0 ) ;
+INSERT INTO GHTDB.PRODUCTS ( ProductID, ProductName, SupplierID, CategoryID, QuantityPerUnit, UnitPrice, UnitsInStock, UnitsOnOrder, ReorderLevel, Discontinued ) VALUES (26, 'Gumbär Gummibärchen', 11, 3, '100 - 250 g bags', 31.23, 15, 0, 0, 0 ) ;
+INSERT INTO GHTDB.PRODUCTS ( ProductID, ProductName, SupplierID, CategoryID, QuantityPerUnit, UnitPrice, UnitsInStock, UnitsOnOrder, ReorderLevel, Discontinued ) VALUES (27, 'Schoggi Schokolade', 11, 3, '100 - 100 g pieces', 43.9, 49, 0, 30, 0 ) ;
+INSERT INTO GHTDB.PRODUCTS ( ProductID, ProductName, SupplierID, CategoryID, QuantityPerUnit, UnitPrice, UnitsInStock, UnitsOnOrder, ReorderLevel, Discontinued ) VALUES (28, 'Rössle Sauerkraut', 12, 7, '25 - 825 g cans', 45.6, 26, 0, 0, 1 ) ;
+INSERT INTO GHTDB.PRODUCTS ( ProductID, ProductName, SupplierID, CategoryID, QuantityPerUnit, UnitPrice, UnitsInStock, UnitsOnOrder, ReorderLevel, Discontinued ) VALUES (29, 'Thüringer Rostbratwurst', 12, 6, '50 bags x 30 sausgs.', 123.79, 0, 0, 0, 1 ) ;
+INSERT INTO GHTDB.PRODUCTS ( ProductID, ProductName, SupplierID, CategoryID, QuantityPerUnit, UnitPrice, UnitsInStock, UnitsOnOrder, ReorderLevel, Discontinued ) VALUES (30, 'Nord-Ost Matjeshering', 13, 8, '10 - 200 g glasses', 25.89, 10, 0, 15, 0 ) ;
+INSERT INTO GHTDB.PRODUCTS ( ProductID, ProductName, SupplierID, CategoryID, QuantityPerUnit, UnitPrice, UnitsInStock, UnitsOnOrder, ReorderLevel, Discontinued ) VALUES (31, 'Gorgonzola Telino', 14, 4, '12 - 100 g pkgs', 12.5, 0, 70, 20, 0 ) ;
+INSERT INTO GHTDB.PRODUCTS ( ProductID, ProductName, SupplierID, CategoryID, QuantityPerUnit, UnitPrice, UnitsInStock, UnitsOnOrder, ReorderLevel, Discontinued ) VALUES (32, 'Mascarpone Fabioli', 14, 4, '24 - 200 g pkgs.', 32, 9, 40, 25, 0 ) ;
+INSERT INTO GHTDB.PRODUCTS ( ProductID, ProductName, SupplierID, CategoryID, QuantityPerUnit, UnitPrice, UnitsInStock, UnitsOnOrder, ReorderLevel, Discontinued ) VALUES (33, 'Geitost', 15, 4, '500 g', 2.5, 112, 0, 20, 0 ) ;
+INSERT INTO GHTDB.PRODUCTS ( ProductID, ProductName, SupplierID, CategoryID, QuantityPerUnit, UnitPrice, UnitsInStock, UnitsOnOrder, ReorderLevel, Discontinued ) VALUES (34, 'Sasquatch Ale', 16, 1, '24 - 12 oz bottles', 14, 111, 0, 15, 0 ) ;
+INSERT INTO GHTDB.PRODUCTS ( ProductID, ProductName, SupplierID, CategoryID, QuantityPerUnit, UnitPrice, UnitsInStock, UnitsOnOrder, ReorderLevel, Discontinued ) VALUES (35, 'Steeleye Stout', 16, 1, '24 - 12 oz bottles', 18, 20, 0, 15, 0 ) ;
+INSERT INTO GHTDB.PRODUCTS ( ProductID, ProductName, SupplierID, CategoryID, QuantityPerUnit, UnitPrice, UnitsInStock, UnitsOnOrder, ReorderLevel, Discontinued ) VALUES (36, 'Inlagd Sill', 17, 8, '24 - 250 g  jars', 19, 112, 0, 20, 0 ) ;
+INSERT INTO GHTDB.PRODUCTS ( ProductID, ProductName, SupplierID, CategoryID, QuantityPerUnit, UnitPrice, UnitsInStock, UnitsOnOrder, ReorderLevel, Discontinued ) VALUES (37, 'Gravad lax', 17, 8, '12 - 500 g pkgs.', 26, 11, 50, 25, 0 ) ;
+INSERT INTO GHTDB.PRODUCTS ( ProductID, ProductName, SupplierID, CategoryID, QuantityPerUnit, UnitPrice, UnitsInStock, UnitsOnOrder, ReorderLevel, Discontinued ) VALUES (38, 'Côte de Blaye', 18, 1, '12 - 75 cl bottles', 263.5, 17, 0, 15, 0 ) ;
+INSERT INTO GHTDB.PRODUCTS ( ProductID, ProductName, SupplierID, CategoryID, QuantityPerUnit, UnitPrice, UnitsInStock, UnitsOnOrder, ReorderLevel, Discontinued ) VALUES (39, 'Chartreuse verte', 18, 1, '750 cc per bottle', 18, 69, 0, 5, 0 ) ;
+INSERT INTO GHTDB.PRODUCTS ( ProductID, ProductName, SupplierID, CategoryID, QuantityPerUnit, UnitPrice, UnitsInStock, UnitsOnOrder, ReorderLevel, Discontinued ) VALUES (40, 'Boston Crab Meat', 19, 8, '24 - 4 oz tins', 18.4, 123, 0, 30, 0 ) ;
+INSERT INTO GHTDB.PRODUCTS ( ProductID, ProductName, SupplierID, CategoryID, QuantityPerUnit, UnitPrice, UnitsInStock, UnitsOnOrder, ReorderLevel, Discontinued ) VALUES (41, 'Jack''s New England Clam Chowder', 19, 8, '12 - 12 oz cans', 9.65, 85, 0, 10, 0 ) ;
+INSERT INTO GHTDB.PRODUCTS ( ProductID, ProductName, SupplierID, CategoryID, QuantityPerUnit, UnitPrice, UnitsInStock, UnitsOnOrder, ReorderLevel, Discontinued ) VALUES (42, 'Singaporean Hokkien Fried Mee', 20, 5, '32 - 1 kg pkgs.', 14, 26, 0, 0, 1 ) ;
+INSERT INTO GHTDB.PRODUCTS ( ProductID, ProductName, SupplierID, CategoryID, QuantityPerUnit, UnitPrice, UnitsInStock, UnitsOnOrder, ReorderLevel, Discontinued ) VALUES (43, 'Ipoh Coffee', 20, 1, '16 - 500 g tins', 46, 17, 10, 25, 0 ) ;
+INSERT INTO GHTDB.PRODUCTS ( ProductID, ProductName, SupplierID, CategoryID, QuantityPerUnit, UnitPrice, UnitsInStock, UnitsOnOrder, ReorderLevel, Discontinued ) VALUES (44, 'Gula Malacca', 20, 2, '20 - 2 kg bags', 19.45, 27, 0, 15, 0 ) ;
+INSERT INTO GHTDB.PRODUCTS ( ProductID, ProductName, SupplierID, CategoryID, QuantityPerUnit, UnitPrice, UnitsInStock, UnitsOnOrder, ReorderLevel, Discontinued ) VALUES (45, 'Rogede sild', 21, 8, '1k pkg.', 9.5, 5, 70, 15, 0 ) ;
+INSERT INTO GHTDB.PRODUCTS ( ProductID, ProductName, SupplierID, CategoryID, QuantityPerUnit, UnitPrice, UnitsInStock, UnitsOnOrder, ReorderLevel, Discontinued ) VALUES (46, 'Spegesild', 21, 8, '4 - 450 g glasses', 12, 95, 0, 0, 0 ) ;
+INSERT INTO GHTDB.PRODUCTS ( ProductID, ProductName, SupplierID, CategoryID, QuantityPerUnit, UnitPrice, UnitsInStock, UnitsOnOrder, ReorderLevel, Discontinued ) VALUES (47, 'Zaanse koeken', 22, 3, '10 - 4 oz boxes', 9.5, 36, 0, 0, 0 ) ;
+INSERT INTO GHTDB.PRODUCTS ( ProductID, ProductName, SupplierID, CategoryID, QuantityPerUnit, UnitPrice, UnitsInStock, UnitsOnOrder, ReorderLevel, Discontinued ) VALUES (48, 'Chocolade', 22, 3, '10 pkgs.', 12.75, 15, 70, 25, 0 ) ;
+INSERT INTO GHTDB.PRODUCTS ( ProductID, ProductName, SupplierID, CategoryID, QuantityPerUnit, UnitPrice, UnitsInStock, UnitsOnOrder, ReorderLevel, Discontinued ) VALUES (49, 'Maxilaku', 23, 3, '24 - 50 g pkgs.', 20, 10, 60, 15, 0 ) ;
+INSERT INTO GHTDB.PRODUCTS ( ProductID, ProductName, SupplierID, CategoryID, QuantityPerUnit, UnitPrice, UnitsInStock, UnitsOnOrder, ReorderLevel, Discontinued ) VALUES (50, 'Valkoinen suklaa', 23, 3, '12 - 100 g bars', 16.25, 65, 0, 30, 0 ) ;
+INSERT INTO GHTDB.PRODUCTS ( ProductID, ProductName, SupplierID, CategoryID, QuantityPerUnit, UnitPrice, UnitsInStock, UnitsOnOrder, ReorderLevel, Discontinued ) VALUES (51, 'Manjimup Dried Apples', 24, 7, '50 - 300 g pkgs.', 53, 20, 0, 10, 0 ) ;
+INSERT INTO GHTDB.PRODUCTS ( ProductID, ProductName, SupplierID, CategoryID, QuantityPerUnit, UnitPrice, UnitsInStock, UnitsOnOrder, ReorderLevel, Discontinued ) VALUES (52, 'Filo Mix', 24, 5, '16 - 2 kg boxes', 7, 38, 0, 25, 0 ) ;
+INSERT INTO GHTDB.PRODUCTS ( ProductID, ProductName, SupplierID, CategoryID, QuantityPerUnit, UnitPrice, UnitsInStock, UnitsOnOrder, ReorderLevel, Discontinued ) VALUES (53, 'Perth Pasties', 24, 6, '48 pieces', 32.8, 0, 0, 0, 1 ) ;
+INSERT INTO GHTDB.PRODUCTS ( ProductID, ProductName, SupplierID, CategoryID, QuantityPerUnit, UnitPrice, UnitsInStock, UnitsOnOrder, ReorderLevel, Discontinued ) VALUES (54, 'Tourtière', 25, 6, '16 pies', 7.45, 21, 0, 10, 0 ) ;
+INSERT INTO GHTDB.PRODUCTS ( ProductID, ProductName, SupplierID, CategoryID, QuantityPerUnit, UnitPrice, UnitsInStock, UnitsOnOrder, ReorderLevel, Discontinued ) VALUES (55, 'Pâté chinois', 25, 6, '24 boxes x 2 pies', 24, 115, 0, 20, 0 ) ;
+INSERT INTO GHTDB.PRODUCTS ( ProductID, ProductName, SupplierID, CategoryID, QuantityPerUnit, UnitPrice, UnitsInStock, UnitsOnOrder, ReorderLevel, Discontinued ) VALUES (56, 'Gnocchi di nonna Alice', 26, 5, '24 - 250 g pkgs.', 38, 21, 10, 30, 0 ) ;
+INSERT INTO GHTDB.PRODUCTS ( ProductID, ProductName, SupplierID, CategoryID, QuantityPerUnit, UnitPrice, UnitsInStock, UnitsOnOrder, ReorderLevel, Discontinued ) VALUES (57, 'Ravioli Angelo', 26, 5, '24 - 250 g pkgs.', 19.5, 36, 0, 20, 0 ) ;
+INSERT INTO GHTDB.PRODUCTS ( ProductID, ProductName, SupplierID, CategoryID, QuantityPerUnit, UnitPrice, UnitsInStock, UnitsOnOrder, ReorderLevel, Discontinued ) VALUES (58, 'Escargots de Bourgogne', 27, 8, '24 pieces', 13.25, 62, 0, 20, 0 ) ;
+INSERT INTO GHTDB.PRODUCTS ( ProductID, ProductName, SupplierID, CategoryID, QuantityPerUnit, UnitPrice, UnitsInStock, UnitsOnOrder, ReorderLevel, Discontinued ) VALUES (59, 'Raclette Courdavault', 28, 4, '5 kg pkg.', 55, 79, 0, 0, 0 ) ;
+INSERT INTO GHTDB.PRODUCTS ( ProductID, ProductName, SupplierID, CategoryID, QuantityPerUnit, UnitPrice, UnitsInStock, UnitsOnOrder, ReorderLevel, Discontinued ) VALUES (60, 'Camembert Pierrot', 28, 4, '15 - 300 g rounds', 34, 19, 0, 0, 0 ) ;
+INSERT INTO GHTDB.PRODUCTS ( ProductID, ProductName, SupplierID, CategoryID, QuantityPerUnit, UnitPrice, UnitsInStock, UnitsOnOrder, ReorderLevel, Discontinued ) VALUES (61, 'Sirop d''érable', 29, 2, '24 - 500 ml bottles', 28.5, 113, 0, 25, 0 ) ;
+INSERT INTO GHTDB.PRODUCTS ( ProductID, ProductName, SupplierID, CategoryID, QuantityPerUnit, UnitPrice, UnitsInStock, UnitsOnOrder, ReorderLevel, Discontinued ) VALUES (62, 'Tarte au sucre', 29, 3, '48 pies', 49.3, 17, 0, 0, 0 ) ;
+INSERT INTO GHTDB.PRODUCTS ( ProductID, ProductName, SupplierID, CategoryID, QuantityPerUnit, UnitPrice, UnitsInStock, UnitsOnOrder, ReorderLevel, Discontinued ) VALUES (63, 'Vegie-spread', 7, 2, '15 - 625 g jars', 43.9, 24, 0, 5, 0 ) ;
+INSERT INTO GHTDB.PRODUCTS ( ProductID, ProductName, SupplierID, CategoryID, QuantityPerUnit, UnitPrice, UnitsInStock, UnitsOnOrder, ReorderLevel, Discontinued ) VALUES (64, 'Wimmers gute Semmelknödel', 12, 5, '20 bags x 4 pieces', 33.25, 22, 80, 30, 0 ) ;
+INSERT INTO GHTDB.PRODUCTS ( ProductID, ProductName, SupplierID, CategoryID, QuantityPerUnit, UnitPrice, UnitsInStock, UnitsOnOrder, ReorderLevel, Discontinued ) VALUES (65, 'Louisiana Fiery Hot Pepper Sauce', 2, 2, '32 - 8 oz bottles', 21.05, 76, 0, 0, 0 ) ;
+INSERT INTO GHTDB.PRODUCTS ( ProductID, ProductName, SupplierID, CategoryID, QuantityPerUnit, UnitPrice, UnitsInStock, UnitsOnOrder, ReorderLevel, Discontinued ) VALUES (66, 'Louisiana Hot Spiced Okra', 2, 2, '24 - 8 oz jars', 17, 4, 100, 20, 0 ) ;
+INSERT INTO GHTDB.PRODUCTS ( ProductID, ProductName, SupplierID, CategoryID, QuantityPerUnit, UnitPrice, UnitsInStock, UnitsOnOrder, ReorderLevel, Discontinued ) VALUES (67, 'Laughing Lumberjack Lager', 16, 1, '24 - 12 oz bottles', 14, 52, 0, 10, 0 ) ;
+INSERT INTO GHTDB.PRODUCTS ( ProductID, ProductName, SupplierID, CategoryID, QuantityPerUnit, UnitPrice, UnitsInStock, UnitsOnOrder, ReorderLevel, Discontinued ) VALUES (68, 'Scottish Longbreads', 8, 3, '10 boxes x 8 pieces', 12.5, 6, 10, 15, 0 ) ;
+INSERT INTO GHTDB.PRODUCTS ( ProductID, ProductName, SupplierID, CategoryID, QuantityPerUnit, UnitPrice, UnitsInStock, UnitsOnOrder, ReorderLevel, Discontinued ) VALUES (69, 'Gudbrandsdalsost', 15, 4, '10 kg pkg.', 36, 26, 0, 15, 0 ) ;
+INSERT INTO GHTDB.PRODUCTS ( ProductID, ProductName, SupplierID, CategoryID, QuantityPerUnit, UnitPrice, UnitsInStock, UnitsOnOrder, ReorderLevel, Discontinued ) VALUES (70, 'Outback Lager', 7, 1, '24 - 355 ml bottles', 15, 15, 10, 30, 0 ) ;
+INSERT INTO GHTDB.PRODUCTS ( ProductID, ProductName, SupplierID, CategoryID, QuantityPerUnit, UnitPrice, UnitsInStock, UnitsOnOrder, ReorderLevel, Discontinued ) VALUES (71, 'Flotemysost', 15, 4, '10 - 500 g pkgs.', 21.5, 26, 0, 0, 0 ) ;
+INSERT INTO GHTDB.PRODUCTS ( ProductID, ProductName, SupplierID, CategoryID, QuantityPerUnit, UnitPrice, UnitsInStock, UnitsOnOrder, ReorderLevel, Discontinued ) VALUES (72, 'Mozzarella di Giovanni', 14, 4, '24 - 200 g pkgs.', 34.8, 14, 0, 0, 0 ) ;
+INSERT INTO GHTDB.PRODUCTS ( ProductID, ProductName, SupplierID, CategoryID, QuantityPerUnit, UnitPrice, UnitsInStock, UnitsOnOrder, ReorderLevel, Discontinued ) VALUES (73, 'Röd Kaviar', 17, 8, '24 - 150 g jars', 15, 101, 0, 5, 0 ) ;
+INSERT INTO GHTDB.PRODUCTS ( ProductID, ProductName, SupplierID, CategoryID, QuantityPerUnit, UnitPrice, UnitsInStock, UnitsOnOrder, ReorderLevel, Discontinued ) VALUES (74, 'Longlife Tofu', 4, 7, '5 kg pkg.', 10, 4, 20, 5, 0 ) ;
+INSERT INTO GHTDB.PRODUCTS ( ProductID, ProductName, SupplierID, CategoryID, QuantityPerUnit, UnitPrice, UnitsInStock, UnitsOnOrder, ReorderLevel, Discontinued ) VALUES (75, 'Rhönbräu Klosterbier', 12, 1, '24 - 0.5 l bottles', 7.75, 125, 0, 25, 0 ) ;
+INSERT INTO GHTDB.PRODUCTS ( ProductID, ProductName, SupplierID, CategoryID, QuantityPerUnit, UnitPrice, UnitsInStock, UnitsOnOrder, ReorderLevel, Discontinued ) VALUES (76, 'Lakkalikööri', 23, 1, '500 ml', 18, 57, 0, 20, 0 ) ;
+INSERT INTO GHTDB.PRODUCTS ( ProductID, ProductName, SupplierID, CategoryID, QuantityPerUnit, UnitPrice, UnitsInStock, UnitsOnOrder, ReorderLevel, Discontinued ) VALUES (77, 'Original Frankfurter grüne Soße', 12, 2, '12 boxes', 13, 32, 0, 15, 0 ) ;
+
+
+INSERT INTO GHTDB.TERRITORIES ( TerritoryID, TerritoryDescription, RegionID ) VALUES  ('01581','Westboro',1) ;
+INSERT INTO GHTDB.TERRITORIES ( TerritoryID, TerritoryDescription, RegionID ) VALUES  ('01730','Bedford',1) ;
+INSERT INTO GHTDB.TERRITORIES ( TerritoryID, TerritoryDescription, RegionID ) VALUES  ('01833','Georgetow',1) ;
+INSERT INTO GHTDB.TERRITORIES ( TerritoryID, TerritoryDescription, RegionID ) VALUES  ('02116','Boston',1) ;
+INSERT INTO GHTDB.TERRITORIES ( TerritoryID, TerritoryDescription, RegionID ) VALUES  ('02139','Cambridge',1) ;
+INSERT INTO GHTDB.TERRITORIES ( TerritoryID, TerritoryDescription, RegionID ) VALUES  ('02184','Braintree',1) ;
+INSERT INTO GHTDB.TERRITORIES ( TerritoryID, TerritoryDescription, RegionID ) VALUES  ('02903','Providence',1) ;
+INSERT INTO GHTDB.TERRITORIES ( TerritoryID, TerritoryDescription, RegionID ) VALUES  ('03049','Hollis',3) ;
+INSERT INTO GHTDB.TERRITORIES ( TerritoryID, TerritoryDescription, RegionID ) VALUES  ('03801','Portsmouth',3) ;
+INSERT INTO GHTDB.TERRITORIES ( TerritoryID, TerritoryDescription, RegionID ) VALUES  ('06897','Wilton',1) ;
+INSERT INTO GHTDB.TERRITORIES ( TerritoryID, TerritoryDescription, RegionID ) VALUES  ('07960','Morristown',1) ;
+INSERT INTO GHTDB.TERRITORIES ( TerritoryID, TerritoryDescription, RegionID ) VALUES  ('08837','Edison',1) ;
+INSERT INTO GHTDB.TERRITORIES ( TerritoryID, TerritoryDescription, RegionID ) VALUES  ('10019','New York',1) ;
+INSERT INTO GHTDB.TERRITORIES ( TerritoryID, TerritoryDescription, RegionID ) VALUES  ('10038','New York',1) ;
+INSERT INTO GHTDB.TERRITORIES ( TerritoryID, TerritoryDescription, RegionID ) VALUES  ('11747','Mellvile',1) ;
+INSERT INTO GHTDB.TERRITORIES ( TerritoryID, TerritoryDescription, RegionID ) VALUES  ('14450','Fairport',1) ;
+INSERT INTO GHTDB.TERRITORIES ( TerritoryID, TerritoryDescription, RegionID ) VALUES  ('19428','Philadelphia',3) ;
+INSERT INTO GHTDB.TERRITORIES ( TerritoryID, TerritoryDescription, RegionID ) VALUES  ('19713','Neward',1) ;
+INSERT INTO GHTDB.TERRITORIES ( TerritoryID, TerritoryDescription, RegionID ) VALUES  ('20852','Rockville',1) ;
+INSERT INTO GHTDB.TERRITORIES ( TerritoryID, TerritoryDescription, RegionID ) VALUES  ('27403','Greensboro',1) ;
+INSERT INTO GHTDB.TERRITORIES ( TerritoryID, TerritoryDescription, RegionID ) VALUES  ('27511','Cary',1) ;
+INSERT INTO GHTDB.TERRITORIES ( TerritoryID, TerritoryDescription, RegionID ) VALUES  ('29202','Columbia',4) ;
+INSERT INTO GHTDB.TERRITORIES ( TerritoryID, TerritoryDescription, RegionID ) VALUES  ('30346','Atlanta',4) ;
+INSERT INTO GHTDB.TERRITORIES ( TerritoryID, TerritoryDescription, RegionID ) VALUES  ('31406','Savannah',4) ;
+INSERT INTO GHTDB.TERRITORIES ( TerritoryID, TerritoryDescription, RegionID ) VALUES  ('32859','Orlando',4) ;
+INSERT INTO GHTDB.TERRITORIES ( TerritoryID, TerritoryDescription, RegionID ) VALUES  ('33607','Tampa',4) ;
+INSERT INTO GHTDB.TERRITORIES ( TerritoryID, TerritoryDescription, RegionID ) VALUES  ('40222','Louisville',1) ;
+INSERT INTO GHTDB.TERRITORIES ( TerritoryID, TerritoryDescription, RegionID ) VALUES  ('44122','Beachwood',3) ;
+INSERT INTO GHTDB.TERRITORIES ( TerritoryID, TerritoryDescription, RegionID ) VALUES  ('45839','Findlay',3) ;
+INSERT INTO GHTDB.TERRITORIES ( TerritoryID, TerritoryDescription, RegionID ) VALUES  ('48075','Southfield',3) ;
+INSERT INTO GHTDB.TERRITORIES ( TerritoryID, TerritoryDescription, RegionID ) VALUES  ('48084','Troy',3) ;
+INSERT INTO GHTDB.TERRITORIES ( TerritoryID, TerritoryDescription, RegionID ) VALUES  ('48304','Bloomfield Hills',3) ;
+INSERT INTO GHTDB.TERRITORIES ( TerritoryID, TerritoryDescription, RegionID ) VALUES  ('53404','Racine',3) ;
+INSERT INTO GHTDB.TERRITORIES ( TerritoryID, TerritoryDescription, RegionID ) VALUES  ('55113','Roseville',3) ;
+INSERT INTO GHTDB.TERRITORIES ( TerritoryID, TerritoryDescription, RegionID ) VALUES  ('55439','Minneapolis',3) ;
+INSERT INTO GHTDB.TERRITORIES ( TerritoryID, TerritoryDescription, RegionID ) VALUES  ('60179','Hoffman Estates',2) ;
+INSERT INTO GHTDB.TERRITORIES ( TerritoryID, TerritoryDescription, RegionID ) VALUES  ('60601','Chicago',2) ;
+INSERT INTO GHTDB.TERRITORIES ( TerritoryID, TerritoryDescription, RegionID ) VALUES  ('72716','Bentonville',4) ;
+INSERT INTO GHTDB.TERRITORIES ( TerritoryID, TerritoryDescription, RegionID ) VALUES  ('75234','Dallas',4) ;
+INSERT INTO GHTDB.TERRITORIES ( TerritoryID, TerritoryDescription, RegionID ) VALUES  ('78759','Austin',4) ;
+INSERT INTO GHTDB.TERRITORIES ( TerritoryID, TerritoryDescription, RegionID ) VALUES  ('80202','Denver',2) ;
+INSERT INTO GHTDB.TERRITORIES ( TerritoryID, TerritoryDescription, RegionID ) VALUES  ('80909','Colorado Springs',2) ;
+INSERT INTO GHTDB.TERRITORIES ( TerritoryID, TerritoryDescription, RegionID ) VALUES  ('85014','Phoenix',2) ;
+INSERT INTO GHTDB.TERRITORIES ( TerritoryID, TerritoryDescription, RegionID ) VALUES  ('85251','Scottsdale',2) ;
+INSERT INTO GHTDB.TERRITORIES ( TerritoryID, TerritoryDescription, RegionID ) VALUES  ('90405','Santa Monica',2) ;
+INSERT INTO GHTDB.TERRITORIES ( TerritoryID, TerritoryDescription, RegionID ) VALUES  ('94025','Menlo Park',2) ;
+INSERT INTO GHTDB.TERRITORIES ( TerritoryID, TerritoryDescription, RegionID ) VALUES  ('94105','San Francisco',2) ;
+INSERT INTO GHTDB.TERRITORIES ( TerritoryID, TerritoryDescription, RegionID ) VALUES  ('95008','Campbell',2) ;
+INSERT INTO GHTDB.TERRITORIES ( TerritoryID, TerritoryDescription, RegionID ) VALUES  ('95054','Santa Clara',2) ;
+INSERT INTO GHTDB.TERRITORIES ( TerritoryID, TerritoryDescription, RegionID ) VALUES  ('95060','Santa Cruz',2) ;
+INSERT INTO GHTDB.TERRITORIES ( TerritoryID, TerritoryDescription, RegionID ) VALUES  ('98004','Bellevue',2) ;
+INSERT INTO GHTDB.TERRITORIES ( TerritoryID, TerritoryDescription, RegionID ) VALUES  ('98052','Redmond',2) ;
+INSERT INTO GHTDB.TERRITORIES ( TerritoryID, TerritoryDescription, RegionID ) VALUES  ('98104','Seattle',2) ;
+
+INSERT INTO GHTDB.EMPLOYEETERRITORIES ( EmployeeID, TerritoryID ) VALUES (1, '06897' ) ;
+INSERT INTO GHTDB.EMPLOYEETERRITORIES ( EmployeeID, TerritoryID ) VALUES (1, '19713' ) ;
+INSERT INTO GHTDB.EMPLOYEETERRITORIES ( EmployeeID, TerritoryID ) VALUES (2, '01581' ) ;
+INSERT INTO GHTDB.EMPLOYEETERRITORIES ( EmployeeID, TerritoryID ) VALUES (2, '01730' ) ;
+INSERT INTO GHTDB.EMPLOYEETERRITORIES ( EmployeeID, TerritoryID ) VALUES (2, '01833' ) ;
+INSERT INTO GHTDB.EMPLOYEETERRITORIES ( EmployeeID, TerritoryID ) VALUES (2, '02116' ) ;
+INSERT INTO GHTDB.EMPLOYEETERRITORIES ( EmployeeID, TerritoryID ) VALUES (2, '02139' ) ;
+INSERT INTO GHTDB.EMPLOYEETERRITORIES ( EmployeeID, TerritoryID ) VALUES (2, '02184' ) ;
+INSERT INTO GHTDB.EMPLOYEETERRITORIES ( EmployeeID, TerritoryID ) VALUES (2, '40222' ) ;
+INSERT INTO GHTDB.EMPLOYEETERRITORIES ( EmployeeID, TerritoryID ) VALUES (3, '30346' ) ;
+INSERT INTO GHTDB.EMPLOYEETERRITORIES ( EmployeeID, TerritoryID ) VALUES (3, '31406' ) ;
+INSERT INTO GHTDB.EMPLOYEETERRITORIES ( EmployeeID, TerritoryID ) VALUES (3, '32859' ) ;
+INSERT INTO GHTDB.EMPLOYEETERRITORIES ( EmployeeID, TerritoryID ) VALUES (3, '33607' ) ;
+INSERT INTO GHTDB.EMPLOYEETERRITORIES ( EmployeeID, TerritoryID ) VALUES (4, '20852' ) ;
+INSERT INTO GHTDB.EMPLOYEETERRITORIES ( EmployeeID, TerritoryID ) VALUES (4, '27403' ) ;
+INSERT INTO GHTDB.EMPLOYEETERRITORIES ( EmployeeID, TerritoryID ) VALUES (4, '27511' ) ;
+INSERT INTO GHTDB.EMPLOYEETERRITORIES ( EmployeeID, TerritoryID ) VALUES (5, '02903' ) ;
+INSERT INTO GHTDB.EMPLOYEETERRITORIES ( EmployeeID, TerritoryID ) VALUES (5, '07960' ) ;
+INSERT INTO GHTDB.EMPLOYEETERRITORIES ( EmployeeID, TerritoryID ) VALUES (5, '08837' ) ;
+INSERT INTO GHTDB.EMPLOYEETERRITORIES ( EmployeeID, TerritoryID ) VALUES (5, '10019' ) ;
+INSERT INTO GHTDB.EMPLOYEETERRITORIES ( EmployeeID, TerritoryID ) VALUES (5, '10038' ) ;
+INSERT INTO GHTDB.EMPLOYEETERRITORIES ( EmployeeID, TerritoryID ) VALUES (5, '11747' ) ;
+INSERT INTO GHTDB.EMPLOYEETERRITORIES ( EmployeeID, TerritoryID ) VALUES (5, '14450' ) ;
+INSERT INTO GHTDB.EMPLOYEETERRITORIES ( EmployeeID, TerritoryID ) VALUES (6, '85014' ) ;
+INSERT INTO GHTDB.EMPLOYEETERRITORIES ( EmployeeID, TerritoryID ) VALUES (6, '85251' ) ;
+INSERT INTO GHTDB.EMPLOYEETERRITORIES ( EmployeeID, TerritoryID ) VALUES (6, '98004' ) ;
+INSERT INTO GHTDB.EMPLOYEETERRITORIES ( EmployeeID, TerritoryID ) VALUES (6, '98052' ) ;
+INSERT INTO GHTDB.EMPLOYEETERRITORIES ( EmployeeID, TerritoryID ) VALUES (6, '98104' ) ;
+INSERT INTO GHTDB.EMPLOYEETERRITORIES ( EmployeeID, TerritoryID ) VALUES (7, '60179' ) ;
+INSERT INTO GHTDB.EMPLOYEETERRITORIES ( EmployeeID, TerritoryID ) VALUES (7, '60601' ) ;
+INSERT INTO GHTDB.EMPLOYEETERRITORIES ( EmployeeID, TerritoryID ) VALUES (7, '80202' ) ;
+INSERT INTO GHTDB.EMPLOYEETERRITORIES ( EmployeeID, TerritoryID ) VALUES (7, '80909' ) ;
+INSERT INTO GHTDB.EMPLOYEETERRITORIES ( EmployeeID, TerritoryID ) VALUES (7, '90405' ) ;
+INSERT INTO GHTDB.EMPLOYEETERRITORIES ( EmployeeID, TerritoryID ) VALUES (7, '94025' ) ;
+INSERT INTO GHTDB.EMPLOYEETERRITORIES ( EmployeeID, TerritoryID ) VALUES (7, '94105' ) ;
+INSERT INTO GHTDB.EMPLOYEETERRITORIES ( EmployeeID, TerritoryID ) VALUES (7, '95008' ) ;
+INSERT INTO GHTDB.EMPLOYEETERRITORIES ( EmployeeID, TerritoryID ) VALUES (7, '95054' ) ;
+INSERT INTO GHTDB.EMPLOYEETERRITORIES ( EmployeeID, TerritoryID ) VALUES (7, '95060' ) ;
+INSERT INTO GHTDB.EMPLOYEETERRITORIES ( EmployeeID, TerritoryID ) VALUES (8, '19428' ) ;
+INSERT INTO GHTDB.EMPLOYEETERRITORIES ( EmployeeID, TerritoryID ) VALUES (8, '44122' ) ;
+INSERT INTO GHTDB.EMPLOYEETERRITORIES ( EmployeeID, TerritoryID ) VALUES (8, '45839' ) ;
+INSERT INTO GHTDB.EMPLOYEETERRITORIES ( EmployeeID, TerritoryID ) VALUES (8, '53404' ) ;
+INSERT INTO GHTDB.EMPLOYEETERRITORIES ( EmployeeID, TerritoryID ) VALUES (9, '03049' ) ;
+INSERT INTO GHTDB.EMPLOYEETERRITORIES ( EmployeeID, TerritoryID ) VALUES (9, '03801' ) ;
+INSERT INTO GHTDB.EMPLOYEETERRITORIES ( EmployeeID, TerritoryID ) VALUES (9, '48075' ) ;
+INSERT INTO GHTDB.EMPLOYEETERRITORIES ( EmployeeID, TerritoryID ) VALUES (9, '48084' ) ;
+INSERT INTO GHTDB.EMPLOYEETERRITORIES ( EmployeeID, TerritoryID ) VALUES (9, '48304' ) ;
+INSERT INTO GHTDB.EMPLOYEETERRITORIES ( EmployeeID, TerritoryID ) VALUES (9, '55113' ) ;
+INSERT INTO GHTDB.EMPLOYEETERRITORIES ( EmployeeID, TerritoryID ) VALUES (9, '55439' ) ;
+
+
+
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (10248, 11, 14, 12, 0 ) ;
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (10248, 42, 9.8, 10, 0 ) ;
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (10248, 72, 34.8, 5, 0 ) ;
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (10249, 14, 18.6, 9, 0 ) ;
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (10249, 51, 42.4, 40, 0 ) ;
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (10250, 41, 7.7, 10, 0 ) ;
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (10250, 51, 42.4, 35, 0.15 ) ;
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (10250, 65, 16.8, 15, 0.15 ) ;
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (10251, 22, 16.8, 6, 0.05 ) ;
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (10251, 57, 15.6, 15, 0.05 ) ;
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (10251, 65, 16.8, 20, 0 ) ;
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (10252, 20, 64.8, 40, 0.05 ) ;
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (10252, 33, 2, 25, 0.05 ) ;
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (10252, 60, 27.2, 40, 0 ) ;
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (10253, 31, 10, 20, 0 ) ;
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (10253, 39, 14.4, 42, 0 ) ;
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (10253, 49, 16, 40, 0 ) ;
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (10254, 24, 3.6, 15, 0.15 ) ;
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (10254, 55, 19.2, 21, 0.15 ) ;
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (10254, 74, 8, 21, 0 ) ;
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (10255, 2, 15.2, 20, 0 ) ;
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (10255, 16, 13.9, 35, 0 ) ;
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (10255, 36, 15.2, 25, 0 ) ;
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (10255, 59, 44, 30, 0 ) ;
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (10256, 53, 26.2, 15, 0 ) ;
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (10256, 77, 10.4, 12, 0 ) ;
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (10257, 27, 35.1, 25, 0 ) ;
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (10257, 39, 14.4, 6, 0 ) ;
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (10257, 77, 10.4, 15, 0 ) ;
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (10258, 2, 15.2, 50, 0.2 ) ;
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (10258, 5, 17, 65, 0.2 ) ;
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (10258, 32, 25.6, 6, 0.2 ) ;
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (10259, 21, 8, 10, 0 ) ;
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (10259, 37, 20.8, 1, 0 ) ;
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (10260, 41, 7.7, 16, 0.25 ) ;
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (10260, 57, 15.6, 50, 0 ) ;
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (10260, 62, 39.4, 15, 0.25 ) ;
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (10260, 70, 12, 21, 0.25 ) ;
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (10261, 21, 8, 20, 0 ) ;
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (10261, 35, 14.4, 20, 0 ) ;
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (10262, 5, 17, 12, 0.2 ) ;
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (10262, 7, 24, 15, 0 ) ;
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (10262, 56, 30.4, 2, 0 ) ;
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (10263, 16, 13.9, 60, 0.25 ) ;
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (10263, 24, 3.6, 28, 0 ) ;
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (10263, 30, 20.7, 60, 0.25 ) ;
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (10263, 74, 8, 36, 0.25 ) ;
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (10264, 2, 15.2, 35, 0 ) ;
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (10264, 41, 7.7, 25, 0.15 ) ;
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (10265, 17, 31.2, 30, 0 ) ;
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (10265, 70, 12, 20, 0 ) ;
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (10266, 12, 30.4, 12, 0.05 ) ;
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (10267, 40, 14.7, 50, 0 ) ;
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (10267, 59, 44, 70, 0.15 ) ;
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (10267, 76, 14.4, 15, 0.15 ) ;
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (10268, 29, 99, 10, 0 ) ;
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (10268, 72, 27.8, 4, 0 ) ;
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (10269, 33, 2, 60, 0.05 ) ;
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (10269, 72, 27.8, 20, 0.05 ) ;
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (10270, 36, 15.2, 30, 0 ) ;
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (10270, 43, 36.8, 25, 0 ) ;
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (10271, 33, 2, 24, 0 ) ;
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (10272, 20, 64.8, 6, 0 ) ;
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (10272, 31, 10, 40, 0 ) ;
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (10272, 72, 27.8, 24, 0 ) ;
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (10273, 10, 24.8, 24, 0.05 ) ;
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (10273, 31, 10, 15, 0.05 ) ;
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (10273, 33, 2, 20, 0 ) ;
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (10273, 40, 14.7, 60, 0.05 ) ;
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (10273, 76, 14.4, 33, 0.05 ) ;
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (10274, 71, 17.2, 20, 0 ) ;
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (10274, 72, 27.8, 7, 0 ) ;
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (10275, 24, 3.6, 12, 0.05 ) ;
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (10275, 59, 44, 6, 0.05 ) ;
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (10276, 10, 24.8, 15, 0 ) ;
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (10276, 13, 4.8, 10, 0 ) ;
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (10277, 28, 36.4, 20, 0 ) ;
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (10277, 62, 39.4, 12, 0 ) ;
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (10278, 44, 15.5, 16, 0 ) ;
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (10278, 59, 44, 15, 0 ) ;
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (10278, 63, 35.1, 8, 0 ) ;
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (10278, 73, 12, 25, 0 ) ;
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (10279, 17, 31.2, 15, 0.25 ) ;
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (10280, 24, 3.6, 12, 0 ) ;
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (10280, 55, 19.2, 20, 0 ) ;
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (10280, 75, 6.2, 30, 0 ) ;
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (10281, 19, 7.3, 1, 0 ) ;
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (10281, 24, 3.6, 6, 0 ) ;
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (10281, 35, 14.4, 4, 0 ) ;
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (10282, 30, 20.7, 6, 0 ) ;
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (10282, 57, 15.6, 2, 0 ) ;
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (10283, 15, 12.4, 20, 0 ) ;
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (10283, 19, 7.3, 18, 0 ) ;
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (10283, 60, 27.2, 35, 0 ) ;
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (10283, 72, 27.8, 3, 0 ) ;
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (10284, 27, 35.1, 15, 0.25 ) ;
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (10284, 44, 15.5, 21, 0 ) ;
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (10284, 60, 27.2, 20, 0.25 ) ;
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (10284, 67, 11.2, 5, 0.25 ) ;
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (10285, 1, 14.4, 45, 0.2 ) ;
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (10285, 40, 14.7, 40, 0.2 ) ;
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (10285, 53, 26.2, 36, 0.2 ) ;
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (10286, 35, 14.4, 100, 0 ) ;
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (10286, 62, 39.4, 40, 0 ) ;
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (10287, 16, 13.9, 40, 0.15 ) ;
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (10287, 34, 11.2, 20, 0 ) ;
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (10287, 46, 9.6, 15, 0.15 ) ;
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (10288, 54, 5.9, 10, 0.1 ) ;
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (10288, 68, 10, 3, 0.1 ) ;
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (10289, 3, 8, 30, 0 ) ;
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (10289, 64, 26.6, 9, 0 ) ;
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (10290, 5, 17, 20, 0 ) ;
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (10290, 29, 99, 15, 0 ) ;
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (10290, 49, 16, 15, 0 ) ;
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (10290, 77, 10.4, 10, 0 ) ;
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (10291, 13, 4.8, 20, 0.1 ) ;
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (10291, 44, 15.5, 24, 0.1 ) ;
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (10291, 51, 42.4, 2, 0.1 ) ;
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (10292, 20, 64.8, 20, 0 ) ;
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (10293, 18, 50, 12, 0 ) ;
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (10293, 24, 3.6, 10, 0 ) ;
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (10293, 63, 35.1, 5, 0 ) ;
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (10293, 75, 6.2, 6, 0 ) ;
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (10294, 1, 14.4, 18, 0 ) ;
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (10294, 17, 31.2, 15, 0 ) ;
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (10294, 43, 36.8, 15, 0 ) ;
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (10294, 60, 27.2, 21, 0 ) ;
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (10294, 75, 6.2, 6, 0 ) ;
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (10295, 56, 30.4, 4, 0 ) ;
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (10296, 11, 16.8, 12, 0 ) ;
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (10296, 16, 13.9, 30, 0 ) ;
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (10296, 69, 28.8, 15, 0 ) ;
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (10297, 39, 14.4, 60, 0 ) ;
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (10297, 72, 27.8, 20, 0 ) ;
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (10298, 2, 15.2, 40, 0 ) ;
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (10298, 36, 15.2, 40, 0.25 ) ;
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (10298, 59, 44, 30, 0.25 ) ;
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (10298, 62, 39.4, 15, 0 ) ;
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (10299, 19, 7.3, 15, 0 ) ;
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (10299, 70, 12, 20, 0 ) ;
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (10300, 66, 13.6, 30, 0 ) ;
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (10300, 68, 10, 20, 0 ) ;
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (10301, 40, 14.7, 10, 0 ) ;
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (10301, 56, 30.4, 20, 0 ) ;
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (10302, 17, 31.2, 40, 0 ) ;
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (10302, 28, 36.4, 28, 0 ) ;
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (10302, 43, 36.8, 12, 0 ) ;
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (10303, 40, 14.7, 40, 0.1 ) ;
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (10303, 65, 16.8, 30, 0.1 ) ;
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (10303, 68, 10, 15, 0.1 ) ;
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (10304, 49, 16, 30, 0 ) ;
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (10304, 59, 44, 10, 0 ) ;
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (10304, 71, 17.2, 2, 0 ) ;
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (10305, 18, 50, 25, 0.1 ) ;
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (10305, 29, 99, 25, 0.1 ) ;
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (10305, 39, 14.4, 30, 0.1 ) ;
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (10306, 30, 20.7, 10, 0 ) ;
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (10306, 53, 26.2, 10, 0 ) ;
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (10306, 54, 5.9, 5, 0 ) ;
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (10307, 62, 39.4, 10, 0 ) ;
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (10307, 68, 10, 3, 0 ) ;
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (10308, 69, 28.8, 1, 0 ) ;
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (10308, 70, 12, 5, 0 ) ;
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (10309, 4, 17.6, 20, 0 ) ;
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (10309, 6, 20, 30, 0 ) ;
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (10309, 42, 11.2, 2, 0 ) ;
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (10309, 43, 36.8, 20, 0 ) ;
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (10309, 71, 17.2, 3, 0 ) ;
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (10310, 16, 13.9, 10, 0 ) ;
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (10310, 62, 39.4, 5, 0 ) ;
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (10311, 42, 11.2, 6, 0 ) ;
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (10311, 69, 28.8, 7, 0 ) ;
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (10312, 28, 36.4, 4, 0 ) ;
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (10312, 43, 36.8, 24, 0 ) ;
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (10312, 53, 26.2, 20, 0 ) ;
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (10312, 75, 6.2, 10, 0 ) ;
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (10313, 36, 15.2, 12, 0 ) ;
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (10314, 32, 25.6, 40, 0.1 ) ;
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (10314, 58, 10.6, 30, 0.1 ) ;
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (10314, 62, 39.4, 25, 0.1 ) ;
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (10315, 34, 11.2, 14, 0 ) ;
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (10315, 70, 12, 30, 0 ) ;
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (10316, 41, 7.7, 10, 0 ) ;
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (10316, 62, 39.4, 70, 0 ) ;
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (10317, 1, 14.4, 20, 0 ) ;
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (10318, 41, 7.7, 20, 0 ) ;
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (10318, 76, 14.4, 6, 0 ) ;
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (10319, 17, 31.2, 8, 0 ) ;
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (10319, 28, 36.4, 14, 0 ) ;
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (10319, 76, 14.4, 30, 0 ) ;
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (10320, 71, 17.2, 30, 0 ) ;
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (10321, 35, 14.4, 10, 0 ) ;
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (10322, 52, 5.6, 20, 0 ) ;
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (10323, 15, 12.4, 5, 0 ) ;
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (10323, 25, 11.2, 4, 0 ) ;
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (10323, 39, 14.4, 4, 0 ) ;
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (10324, 16, 13.9, 21, 0.15 ) ;
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (10324, 35, 14.4, 70, 0.15 ) ;
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (10324, 46, 9.6, 30, 0 ) ;
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (10324, 59, 44, 40, 0.15 ) ;
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (10324, 63, 35.1, 80, 0.15 ) ;
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (10325, 6, 20, 6, 0 ) ;
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (10325, 13, 4.8, 12, 0 ) ;
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (10325, 14, 18.6, 9, 0 ) ;
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (10325, 31, 10, 4, 0 ) ;
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (10325, 72, 27.8, 40, 0 ) ;
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (10326, 4, 17.6, 24, 0 ) ;
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (10326, 57, 15.6, 16, 0 ) ;
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (10326, 75, 6.2, 50, 0 ) ;
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (10327, 2, 15.2, 25, 0.2 ) ;
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (10327, 11, 16.8, 50, 0.2 ) ;
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (10327, 30, 20.7, 35, 0.2 ) ;
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (10327, 58, 10.6, 30, 0.2 ) ;
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (10328, 59, 44, 9, 0 ) ;
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (10328, 65, 16.8, 40, 0 ) ;
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (10328, 68, 10, 10, 0 ) ;
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (10329, 19, 7.3, 10, 0.05 ) ;
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (10329, 30, 20.7, 8, 0.05 ) ;
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (10329, 38, 210.8, 20, 0.05 ) ;
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (10329, 56, 30.4, 12, 0.05 ) ;
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (10330, 26, 24.9, 50, 0.15 ) ;
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (10330, 72, 27.8, 25, 0.15 ) ;
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (10331, 54, 5.9, 15, 0 ) ;
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (10332, 18, 50, 40, 0.2 ) ;
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (10332, 42, 11.2, 10, 0.2 ) ;
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (10332, 47, 7.6, 16, 0.2 ) ;
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (10333, 14, 18.6, 10, 0 ) ;
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (10333, 21, 8, 10, 0.1 ) ;
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (10333, 71, 17.2, 40, 0.1 ) ;
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (10334, 52, 5.6, 8, 0 ) ;
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (10334, 68, 10, 10, 0 ) ;
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (10335, 2, 15.2, 7, 0.2 ) ;
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (10335, 31, 10, 25, 0.2 ) ;
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (10335, 32, 25.6, 6, 0.2 ) ;
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (10335, 51, 42.4, 48, 0.2 ) ;
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (10336, 4, 17.6, 18, 0.1 ) ;
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (10337, 23, 7.2, 40, 0 ) ;
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (10337, 26, 24.9, 24, 0 ) ;
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (10337, 36, 15.2, 20, 0 ) ;
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (10337, 37, 20.8, 28, 0 ) ;
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (10337, 72, 27.8, 25, 0 ) ;
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (10338, 17, 31.2, 20, 0 ) ;
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (10338, 30, 20.7, 15, 0 ) ;
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (10339, 4, 17.6, 10, 0 ) ;
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (10339, 17, 31.2, 70, 0.05 ) ;
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (10339, 62, 39.4, 28, 0 ) ;
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (10340, 18, 50, 20, 0.05 ) ;
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (10340, 41, 7.7, 12, 0.05 ) ;
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (10340, 43, 36.8, 40, 0.05 ) ;
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (10341, 33, 2, 8, 0 ) ;
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (10341, 59, 44, 9, 0.15 ) ;
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (10342, 2, 15.2, 24, 0.2 ) ;
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (10342, 31, 10, 56, 0.2 ) ;
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (10342, 36, 15.2, 40, 0.2 ) ;
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (10342, 55, 19.2, 40, 0.2 ) ;
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (10343, 64, 26.6, 50, 0 ) ;
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (10343, 68, 10, 4, 0.05 ) ;
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (10343, 76, 14.4, 15, 0 ) ;
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (10344, 4, 17.6, 35, 0 ) ;
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (10344, 8, 32, 70, 0.25 ) ;
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (10345, 8, 32, 70, 0 ) ;
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (10345, 19, 7.3, 80, 0 ) ;
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (10345, 42, 11.2, 9, 0 ) ;
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (10346, 17, 31.2, 36, 0.1 ) ;
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (10346, 56, 30.4, 20, 0 ) ;
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (10347, 25, 11.2, 10, 0 ) ;
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (10347, 39, 14.4, 50, 0.15 ) ;
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (10347, 40, 14.7, 4, 0 ) ;
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (10347, 75, 6.2, 6, 0.15 ) ;
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (10348, 1, 14.4, 15, 0.15 ) ;
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (10348, 23, 7.2, 25, 0 ) ;
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (10349, 54, 5.9, 24, 0 ) ;
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (10350, 50, 13, 15, 0.1 ) ;
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (10350, 69, 28.8, 18, 0.1 ) ;
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (10351, 38, 210.8, 20, 0.05 ) ;
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (10351, 41, 7.7, 13, 0 ) ;
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (10351, 44, 15.5, 77, 0.05 ) ;
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (10351, 65, 16.8, 10, 0.05 ) ;
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (10352, 24, 3.6, 10, 0 ) ;
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (10352, 54, 5.9, 20, 0.15 ) ;
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (10353, 11, 16.8, 12, 0.2 ) ;
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (10353, 38, 210.8, 50, 0.2 ) ;
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (10354, 1, 14.4, 12, 0 ) ;
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (10354, 29, 99, 4, 0 ) ;
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (10355, 24, 3.6, 25, 0 ) ;
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (10355, 57, 15.6, 25, 0 ) ;
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (10356, 31, 10, 30, 0 ) ;
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (10356, 55, 19.2, 12, 0 ) ;
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (10356, 69, 28.8, 20, 0 ) ;
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (10357, 10, 24.8, 30, 0.2 ) ;
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (10357, 26, 24.9, 16, 0 ) ;
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (10357, 60, 27.2, 8, 0.2 ) ;
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (10358, 24, 3.6, 10, 0.05 ) ;
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (10358, 34, 11.2, 10, 0.05 ) ;
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (10358, 36, 15.2, 20, 0.05 ) ;
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (10359, 16, 13.9, 56, 0.05 ) ;
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (10359, 31, 10, 70, 0.05 ) ;
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (10359, 60, 27.2, 80, 0.05 ) ;
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (10360, 28, 36.4, 30, 0 ) ;
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (10360, 29, 99, 35, 0 ) ;
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (10360, 38, 210.8, 10, 0 ) ;
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (10360, 49, 16, 35, 0 ) ;
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (10360, 54, 5.9, 28, 0 ) ;
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (10361, 39, 14.4, 54, 0.1 ) ;
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (10361, 60, 27.2, 55, 0.1 ) ;
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (10362, 25, 11.2, 50, 0 ) ;
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (10362, 51, 42.4, 20, 0 ) ;
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (10362, 54, 5.9, 24, 0 ) ;
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (10363, 31, 10, 20, 0 ) ;
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (10363, 75, 6.2, 12, 0 ) ;
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (10363, 76, 14.4, 12, 0 ) ;
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (10364, 69, 28.8, 30, 0 ) ;
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (10364, 71, 17.2, 5, 0 ) ;
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (10365, 11, 16.8, 24, 0 ) ;
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (10366, 65, 16.8, 5, 0 ) ;
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (10366, 77, 10.4, 5, 0 ) ;
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (10367, 34, 11.2, 36, 0 ) ;
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (10367, 54, 5.9, 18, 0 ) ;
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (10367, 65, 16.8, 15, 0 ) ;
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (10367, 77, 10.4, 7, 0 ) ;
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (10368, 21, 8, 5, 0.1 ) ;
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (10368, 28, 36.4, 13, 0.1 ) ;
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (10368, 57, 15.6, 25, 0 ) ;
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (10368, 64, 26.6, 35, 0.1 ) ;
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (10369, 29, 99, 20, 0 ) ;
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (10369, 56, 30.4, 18, 0.25 ) ;
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (10370, 1, 14.4, 15, 0.15 ) ;
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (10370, 64, 26.6, 30, 0 ) ;
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (10370, 74, 8, 20, 0.15 ) ;
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (10371, 36, 15.2, 6, 0.2 ) ;
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (10372, 20, 64.8, 12, 0.25 ) ;
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (10372, 38, 210.8, 40, 0.25 ) ;
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (10372, 60, 27.2, 70, 0.25 ) ;
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (10372, 72, 27.8, 42, 0.25 ) ;
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (10373, 58, 10.6, 80, 0.2 ) ;
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (10373, 71, 17.2, 50, 0.2 ) ;
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (10374, 31, 10, 30, 0 ) ;
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (10374, 58, 10.6, 15, 0 ) ;
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (10375, 14, 18.6, 15, 0 ) ;
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (10375, 54, 5.9, 10, 0 ) ;
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (10376, 31, 10, 42, 0.05 ) ;
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (10377, 28, 36.4, 20, 0.15 ) ;
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (10377, 39, 14.4, 20, 0.15 ) ;
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (10378, 71, 17.2, 6, 0 ) ;
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (10379, 41, 7.7, 8, 0.1 ) ;
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (10379, 63, 35.1, 16, 0.1 ) ;
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (10379, 65, 16.8, 20, 0.1 ) ;
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (10380, 30, 20.7, 18, 0.1 ) ;
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (10380, 53, 26.2, 20, 0.1 ) ;
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (10380, 60, 27.2, 6, 0.1 ) ;
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (10380, 70, 12, 30, 0 ) ;
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (10381, 74, 8, 14, 0 ) ;
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (10382, 5, 17, 32, 0 ) ;
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (10382, 18, 50, 9, 0 ) ;
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (10382, 29, 99, 14, 0 ) ;
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (10382, 33, 2, 60, 0 ) ;
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (10382, 74, 8, 50, 0 ) ;
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (10383, 13, 4.8, 20, 0 ) ;
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (10383, 50, 13, 15, 0 ) ;
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (10383, 56, 30.4, 20, 0 ) ;
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (10384, 20, 64.8, 28, 0 ) ;
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (10384, 60, 27.2, 15, 0 ) ;
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (10385, 7, 24, 10, 0.2 ) ;
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (10385, 60, 27.2, 20, 0.2 ) ;
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (10385, 68, 10, 8, 0.2 ) ;
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (10386, 24, 3.6, 15, 0 ) ;
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (10386, 34, 11.2, 10, 0 ) ;
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (10387, 24, 3.6, 15, 0 ) ;
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (10387, 28, 36.4, 6, 0 ) ;
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (10387, 59, 44, 12, 0 ) ;
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (10387, 71, 17.2, 15, 0 ) ;
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (10388, 45, 7.6, 15, 0.2 ) ;
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (10388, 52, 5.6, 20, 0.2 ) ;
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (10388, 53, 26.2, 40, 0 ) ;
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (10389, 10, 24.8, 16, 0 ) ;
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (10389, 55, 19.2, 15, 0 ) ;
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (10389, 62, 39.4, 20, 0 ) ;
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (10389, 70, 12, 30, 0 ) ;
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (10390, 31, 10, 60, 0.1 ) ;
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (10390, 35, 14.4, 40, 0.1 ) ;
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (10390, 46, 9.6, 45, 0 ) ;
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (10390, 72, 27.8, 24, 0.1 ) ;
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (10391, 13, 4.8, 18, 0 ) ;
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (10392, 69, 28.8, 50, 0 ) ;
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (10393, 2, 15.2, 25, 0.25 ) ;
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (10393, 14, 18.6, 42, 0.25 ) ;
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (10393, 25, 11.2, 7, 0.25 ) ;
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (10393, 26, 24.9, 70, 0.25 ) ;
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (10393, 31, 10, 32, 0 ) ;
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (10394, 13, 4.8, 10, 0 ) ;
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (10394, 62, 39.4, 10, 0 ) ;
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (10395, 46, 9.6, 28, 0.1 ) ;
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (10395, 53, 26.2, 70, 0.1 ) ;
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (10395, 69, 28.8, 8, 0 ) ;
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (10396, 23, 7.2, 40, 0 ) ;
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (10396, 71, 17.2, 60, 0 ) ;
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (10396, 72, 27.8, 21, 0 ) ;
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (10397, 21, 8, 10, 0.15 ) ;
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (10397, 51, 42.4, 18, 0.15 ) ;
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (10398, 35, 14.4, 30, 0 ) ;
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (10398, 55, 19.2, 120, 0.1 ) ;
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (10399, 68, 10, 60, 0 ) ;
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (10399, 71, 17.2, 30, 0 ) ;
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (10399, 76, 14.4, 35, 0 ) ;
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (10399, 77, 10.4, 14, 0 ) ;
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (10400, 29, 99, 21, 0 ) ;
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (10400, 35, 14.4, 35, 0 ) ;
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (10400, 49, 16, 30, 0 ) ;
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (10401, 30, 20.7, 18, 0 ) ;
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (10401, 56, 30.4, 70, 0 ) ;
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (10401, 65, 16.8, 20, 0 ) ;
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (10401, 71, 17.2, 60, 0 ) ;
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (10402, 23, 7.2, 60, 0 ) ;
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (10402, 63, 35.1, 65, 0 ) ;
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (10403, 16, 13.9, 21, 0.15 ) ;
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (10403, 48, 10.2, 70, 0.15 ) ;
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (10404, 26, 24.9, 30, 0.05 ) ;
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (10404, 42, 11.2, 40, 0.05 ) ;
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (10404, 49, 16, 30, 0.05 ) ;
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (10405, 3, 8, 50, 0 ) ;
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (10406, 1, 14.4, 10, 0 ) ;
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (10406, 21, 8, 30, 0.1 ) ;
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (10406, 28, 36.4, 42, 0.1 ) ;
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (10406, 36, 15.2, 5, 0.1 ) ;
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (10406, 40, 14.7, 2, 0.1 ) ;
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (10407, 11, 16.8, 30, 0 ) ;
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (10407, 69, 28.8, 15, 0 ) ;
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (10407, 71, 17.2, 15, 0 ) ;
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (10408, 37, 20.8, 10, 0 ) ;
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (10408, 54, 5.9, 6, 0 ) ;
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (10408, 62, 39.4, 35, 0 ) ;
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (10409, 14, 18.6, 12, 0 ) ;
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (10409, 21, 8, 12, 0 ) ;
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (10410, 33, 2, 49, 0 ) ;
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (10410, 59, 44, 16, 0 ) ;
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (10411, 41, 7.7, 25, 0.2 ) ;
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (10411, 44, 15.5, 40, 0.2 ) ;
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (10411, 59, 44, 9, 0.2 ) ;
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (10412, 14, 18.6, 20, 0.1 ) ;
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (10413, 1, 14.4, 24, 0 ) ;
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (10413, 62, 39.4, 40, 0 ) ;
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (10413, 76, 14.4, 14, 0 ) ;
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (10414, 19, 7.3, 18, 0.05 ) ;
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (10414, 33, 2, 50, 0 ) ;
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (10415, 17, 31.2, 2, 0 ) ;
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (10415, 33, 2, 20, 0 ) ;
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (10416, 19, 7.3, 20, 0 ) ;
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (10416, 53, 26.2, 10, 0 ) ;
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (10416, 57, 15.6, 20, 0 ) ;
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (10417, 38, 210.8, 50, 0 ) ;
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (10417, 46, 9.6, 2, 0.25 ) ;
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (10417, 68, 10, 36, 0.25 ) ;
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (10417, 77, 10.4, 35, 0 ) ;
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (10418, 2, 15.2, 60, 0 ) ;
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (10418, 47, 7.6, 55, 0 ) ;
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (10418, 61, 22.8, 16, 0 ) ;
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (10418, 74, 8, 15, 0 ) ;
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (10419, 60, 27.2, 60, 0.05 ) ;
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (10419, 69, 28.8, 20, 0.05 ) ;
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (10420, 9, 77.6, 20, 0.1 ) ;
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (10420, 13, 4.8, 2, 0.1 ) ;
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (10420, 70, 12, 8, 0.1 ) ;
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (10420, 73, 12, 20, 0.1 ) ;
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (10421, 19, 7.3, 4, 0.15 ) ;
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (10421, 26, 24.9, 30, 0 ) ;
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (10421, 53, 26.2, 15, 0.15 ) ;
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (10421, 77, 10.4, 10, 0.15 ) ;
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (10422, 26, 24.9, 2, 0 ) ;
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (10423, 31, 10, 14, 0 ) ;
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (10423, 59, 44, 20, 0 ) ;
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (10424, 35, 14.4, 60, 0.2 ) ;
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (10424, 38, 210.8, 49, 0.2 ) ;
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (10424, 68, 10, 30, 0.2 ) ;
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (10425, 55, 19.2, 10, 0.25 ) ;
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (10425, 76, 14.4, 20, 0.25 ) ;
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (10426, 56, 30.4, 5, 0 ) ;
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (10426, 64, 26.6, 7, 0 ) ;
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (10427, 14, 18.6, 35, 0 ) ;
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (10428, 46, 9.6, 20, 0 ) ;
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (10429, 50, 13, 40, 0 ) ;
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (10429, 63, 35.1, 35, 0.25 ) ;
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (10430, 17, 31.2, 45, 0.2 ) ;
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (10430, 21, 8, 50, 0 ) ;
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (10430, 56, 30.4, 30, 0 ) ;
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (10430, 59, 44, 70, 0.2 ) ;
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (10431, 17, 31.2, 50, 0.25 ) ;
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (10431, 40, 14.7, 50, 0.25 ) ;
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (10431, 47, 7.6, 30, 0.25 ) ;
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (10432, 26, 24.9, 10, 0 ) ;
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (10432, 54, 5.9, 40, 0 ) ;
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (10433, 56, 30.4, 28, 0 ) ;
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (10434, 11, 16.8, 6, 0 ) ;
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (10434, 76, 14.4, 18, 0.15 ) ;
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (10435, 2, 15.2, 10, 0 ) ;
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (10435, 22, 16.8, 12, 0 ) ;
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (10435, 72, 27.8, 10, 0 ) ;
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (10436, 46, 9.6, 5, 0 ) ;
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (10436, 56, 30.4, 40, 0.1 ) ;
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (10436, 64, 26.6, 30, 0.1 ) ;
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (10436, 75, 6.2, 24, 0.1 ) ;
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (10437, 53, 26.2, 15, 0 ) ;
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (10438, 19, 7.3, 15, 0.2 ) ;
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (10438, 34, 11.2, 20, 0.2 ) ;
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (10438, 57, 15.6, 15, 0.2 ) ;
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (10439, 12, 30.4, 15, 0 ) ;
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (10439, 16, 13.9, 16, 0 ) ;
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (10439, 64, 26.6, 6, 0 ) ;
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (10439, 74, 8, 30, 0 ) ;
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (10440, 2, 15.2, 45, 0.15 ) ;
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (10440, 16, 13.9, 49, 0.15 ) ;
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (10440, 29, 99, 24, 0.15 ) ;
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (10440, 61, 22.8, 90, 0.15 ) ;
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (10441, 27, 35.1, 50, 0 ) ;
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (10442, 11, 16.8, 30, 0 ) ;
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (10442, 54, 5.9, 80, 0 ) ;
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (10442, 66, 13.6, 60, 0 ) ;
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (10443, 11, 16.8, 6, 0.2 ) ;
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (10443, 28, 36.4, 12, 0 ) ;
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (10444, 17, 31.2, 10, 0 ) ;
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (10444, 26, 24.9, 15, 0 ) ;
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (10444, 35, 14.4, 8, 0 ) ;
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (10444, 41, 7.7, 30, 0 ) ;
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (10445, 39, 14.4, 6, 0 ) ;
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (10445, 54, 5.9, 15, 0 ) ;
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (10446, 19, 7.3, 12, 0.1 ) ;
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (10446, 24, 3.6, 20, 0.1 ) ;
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (10446, 31, 10, 3, 0.1 ) ;
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (10446, 52, 5.6, 15, 0.1 ) ;
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (10447, 19, 7.3, 40, 0 ) ;
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (10447, 65, 16.8, 35, 0 ) ;
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (10447, 71, 17.2, 2, 0 ) ;
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (10448, 26, 24.9, 6, 0 ) ;
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (10448, 40, 14.7, 20, 0 ) ;
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (10449, 10, 24.8, 14, 0 ) ;
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (10449, 52, 5.6, 20, 0 ) ;
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (10449, 62, 39.4, 35, 0 ) ;
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (10450, 10, 24.8, 20, 0.2 ) ;
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (10450, 54, 5.9, 6, 0.2 ) ;
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (10451, 55, 19.2, 120, 0.1 ) ;
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (10451, 64, 26.6, 35, 0.1 ) ;
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (10451, 65, 16.8, 28, 0.1 ) ;
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (10451, 77, 10.4, 55, 0.1 ) ;
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (10452, 28, 36.4, 15, 0 ) ;
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (10452, 44, 15.5, 100, 0.05 ) ;
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (10453, 48, 10.2, 15, 0.1 ) ;
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (10453, 70, 12, 25, 0.1 ) ;
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (10454, 16, 13.9, 20, 0.2 ) ;
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (10454, 33, 2, 20, 0.2 ) ;
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (10454, 46, 9.6, 10, 0.2 ) ;
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (10455, 39, 14.4, 20, 0 ) ;
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (10455, 53, 26.2, 50, 0 ) ;
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (10455, 61, 22.8, 25, 0 ) ;
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (10455, 71, 17.2, 30, 0 ) ;
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (10456, 21, 8, 40, 0.15 ) ;
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (10456, 49, 16, 21, 0.15 ) ;
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (10457, 59, 44, 36, 0 ) ;
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (10458, 26, 24.9, 30, 0 ) ;
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (10458, 28, 36.4, 30, 0 ) ;
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (10458, 43, 36.8, 20, 0 ) ;
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (10458, 56, 30.4, 15, 0 ) ;
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (10458, 71, 17.2, 50, 0 ) ;
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (10459, 7, 24, 16, 0.05 ) ;
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (10459, 46, 9.6, 20, 0.05 ) ;
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (10459, 72, 27.8, 40, 0 ) ;
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (10460, 68, 10, 21, 0.25 ) ;
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (10460, 75, 6.2, 4, 0.25 ) ;
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (10461, 21, 8, 40, 0.25 ) ;
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (10461, 30, 20.7, 28, 0.25 ) ;
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (10461, 55, 19.2, 60, 0.25 ) ;
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (10462, 13, 4.8, 1, 0 ) ;
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (10462, 23, 7.2, 21, 0 ) ;
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (10463, 19, 7.3, 21, 0 ) ;
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (10463, 42, 11.2, 50, 0 ) ;
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (10464, 4, 17.6, 16, 0.2 ) ;
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (10464, 43, 36.8, 3, 0 ) ;
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (10464, 56, 30.4, 30, 0.2 ) ;
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (10464, 60, 27.2, 20, 0 ) ;
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (10465, 24, 3.6, 25, 0 ) ;
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (10465, 29, 99, 18, 0.1 ) ;
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (10465, 40, 14.7, 20, 0 ) ;
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (10465, 45, 7.6, 30, 0.1 ) ;
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (10465, 50, 13, 25, 0 ) ;
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (10466, 11, 16.8, 10, 0 ) ;
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (10466, 46, 9.6, 5, 0 ) ;
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (10467, 24, 3.6, 28, 0 ) ;
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (10467, 25, 11.2, 12, 0 ) ;
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (10468, 30, 20.7, 8, 0 ) ;
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (10468, 43, 36.8, 15, 0 ) ;
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (10469, 2, 15.2, 40, 0.15 ) ;
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (10469, 16, 13.9, 35, 0.15 ) ;
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (10469, 44, 15.5, 2, 0.15 ) ;
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (10470, 18, 50, 30, 0 ) ;
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (10470, 23, 7.2, 15, 0 ) ;
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (10470, 64, 26.6, 8, 0 ) ;
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (10471, 7, 24, 30, 0 ) ;
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (10471, 56, 30.4, 20, 0 ) ;
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (10472, 24, 3.6, 80, 0.05 ) ;
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (10472, 51, 42.4, 18, 0 ) ;
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (10473, 33, 2, 12, 0 ) ;
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (10473, 71, 17.2, 12, 0 ) ;
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (10474, 14, 18.6, 12, 0 ) ;
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (10474, 28, 36.4, 18, 0 ) ;
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (10474, 40, 14.7, 21, 0 ) ;
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (10474, 75, 6.2, 10, 0 ) ;
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (10475, 31, 10, 35, 0.15 ) ;
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (10475, 66, 13.6, 60, 0.15 ) ;
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (10475, 76, 14.4, 42, 0.15 ) ;
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (10476, 55, 19.2, 2, 0.05 ) ;
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (10476, 70, 12, 12, 0 ) ;
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (10477, 1, 14.4, 15, 0 ) ;
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (10477, 21, 8, 21, 0.25 ) ;
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (10477, 39, 14.4, 20, 0.25 ) ;
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (10478, 10, 24.8, 20, 0.05 ) ;
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (10479, 38, 210.8, 30, 0 ) ;
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (10479, 53, 26.2, 28, 0 ) ;
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (10479, 59, 44, 60, 0 ) ;
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (10479, 64, 26.6, 30, 0 ) ;
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (10480, 47, 7.6, 30, 0 ) ;
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (10480, 59, 44, 12, 0 ) ;
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (10481, 49, 16, 24, 0 ) ;
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (10481, 60, 27.2, 40, 0 ) ;
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (10482, 40, 14.7, 10, 0 ) ;
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (10483, 34, 11.2, 35, 0.05 ) ;
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (10483, 77, 10.4, 30, 0.05 ) ;
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (10484, 21, 8, 14, 0 ) ;
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (10484, 40, 14.7, 10, 0 ) ;
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (10484, 51, 42.4, 3, 0 ) ;
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (10485, 2, 15.2, 20, 0.1 ) ;
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (10485, 3, 8, 20, 0.1 ) ;
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (10485, 55, 19.2, 30, 0.1 ) ;
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (10485, 70, 12, 60, 0.1 ) ;
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (10486, 11, 16.8, 5, 0 ) ;
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (10486, 51, 42.4, 25, 0 ) ;
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (10486, 74, 8, 16, 0 ) ;
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (10487, 19, 7.3, 5, 0 ) ;
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (10487, 26, 24.9, 30, 0 ) ;
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (10487, 54, 5.9, 24, 0.25 ) ;
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (10488, 59, 44, 30, 0 ) ;
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (10488, 73, 12, 20, 0.2 ) ;
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (10489, 11, 16.8, 15, 0.25 ) ;
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (10489, 16, 13.9, 18, 0 ) ;
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (10490, 59, 44, 60, 0 ) ;
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (10490, 68, 10, 30, 0 ) ;
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (10490, 75, 6.2, 36, 0 ) ;
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (10491, 44, 15.5, 15, 0.15 ) ;
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (10491, 77, 10.4, 7, 0.15 ) ;
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (10492, 25, 11.2, 60, 0.05 ) ;
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (10492, 42, 11.2, 20, 0.05 ) ;
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (10493, 65, 16.8, 15, 0.1 ) ;
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (10493, 66, 13.6, 10, 0.1 ) ;
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (10493, 69, 28.8, 10, 0.1 ) ;
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (10494, 56, 30.4, 30, 0 ) ;
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (10495, 23, 7.2, 10, 0 ) ;
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (10495, 41, 7.7, 20, 0 ) ;
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (10495, 77, 10.4, 5, 0 ) ;
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (10496, 31, 10, 20, 0.05 ) ;
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (10497, 56, 30.4, 14, 0 ) ;
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (10497, 72, 27.8, 25, 0 ) ;
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (10497, 77, 10.4, 25, 0 ) ;
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (10498, 24, 4.5, 14, 0 ) ;
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (10498, 40, 18.4, 5, 0 ) ;
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (10498, 42, 14, 30, 0 ) ;
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (10499, 28, 45.6, 20, 0 ) ;
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (10499, 49, 20, 25, 0 ) ;
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (10500, 15, 15.5, 12, 0.05 ) ;
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (10500, 28, 45.6, 8, 0.05 ) ;
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (10501, 54, 7.45, 20, 0 ) ;
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (10502, 45, 9.5, 21, 0 ) ;
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (10502, 53, 32.8, 6, 0 ) ;
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (10502, 67, 14, 30, 0 ) ;
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (10503, 14, 23.25, 70, 0 ) ;
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (10503, 65, 21.05, 20, 0 ) ;
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (10504, 2, 19, 12, 0 ) ;
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (10504, 21, 10, 12, 0 ) ;
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (10504, 53, 32.8, 10, 0 ) ;
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (10504, 61, 28.5, 25, 0 ) ;
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (10505, 62, 49.3, 3, 0 ) ;
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (10506, 25, 14, 18, 0.1 ) ;
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (10506, 70, 15, 14, 0.1 ) ;
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (10507, 43, 46, 15, 0.15 ) ;
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (10507, 48, 12.75, 15, 0.15 ) ;
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (10508, 13, 6, 10, 0 ) ;
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (10508, 39, 18, 10, 0 ) ;
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (10509, 28, 45.6, 3, 0 ) ;
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (10510, 29, 123.79, 36, 0 ) ;
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (10510, 75, 7.75, 36, 0.1 ) ;
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (10511, 4, 22, 50, 0.15 ) ;
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (10511, 7, 30, 50, 0.15 ) ;
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (10511, 8, 40, 10, 0.15 ) ;
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (10512, 24, 4.5, 10, 0.15 ) ;
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (10512, 46, 12, 9, 0.15 ) ;
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (10512, 47, 9.5, 6, 0.15 ) ;
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (10512, 60, 34, 12, 0.15 ) ;
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (10513, 21, 10, 40, 0.2 ) ;
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (10513, 32, 32, 50, 0.2 ) ;
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (10513, 61, 28.5, 15, 0.2 ) ;
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (10514, 20, 81, 39, 0 ) ;
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (10514, 28, 45.6, 35, 0 ) ;
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (10514, 56, 38, 70, 0 ) ;
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (10514, 65, 21.05, 39, 0 ) ;
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (10514, 75, 7.75, 50, 0 ) ;
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (10515, 9, 97, 16, 0.15 ) ;
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (10515, 16, 17.45, 50, 0 ) ;
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (10515, 27, 43.9, 120, 0 ) ;
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (10515, 33, 2.5, 16, 0.15 ) ;
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (10515, 60, 34, 84, 0.15 ) ;
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (10516, 18, 62.5, 25, 0.1 ) ;
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (10516, 41, 9.65, 80, 0.1 ) ;
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (10516, 42, 14, 20, 0 ) ;
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (10517, 52, 7, 6, 0 ) ;
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (10517, 59, 55, 4, 0 ) ;
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (10517, 70, 15, 6, 0 ) ;
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (10518, 24, 4.5, 5, 0 ) ;
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (10518, 38, 263.5, 15, 0 ) ;
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (10518, 44, 19.45, 9, 0 ) ;
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (10519, 10, 31, 16, 0.05 ) ;
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (10519, 56, 38, 40, 0 ) ;
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (10519, 60, 34, 10, 0.05 ) ;
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (10520, 24, 4.5, 8, 0 ) ;
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (10520, 53, 32.8, 5, 0 ) ;
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (10521, 35, 18, 3, 0 ) ;
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (10521, 41, 9.65, 10, 0 ) ;
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (10521, 68, 12.5, 6, 0 ) ;
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (10522, 1, 18, 40, 0.2 ) ;
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (10522, 8, 40, 24, 0 ) ;
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (10522, 30, 25.89, 20, 0.2 ) ;
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (10522, 40, 18.4, 25, 0.2 ) ;
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (10523, 17, 39, 25, 0.1 ) ;
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (10523, 20, 81, 15, 0.1 ) ;
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (10523, 37, 26, 18, 0.1 ) ;
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (10523, 41, 9.65, 6, 0.1 ) ;
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (10524, 10, 31, 2, 0 ) ;
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (10524, 30, 25.89, 10, 0 ) ;
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (10524, 43, 46, 60, 0 ) ;
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (10524, 54, 7.45, 15, 0 ) ;
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (10525, 36, 19, 30, 0 ) ;
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (10525, 40, 18.4, 15, 0.1 ) ;
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (10526, 1, 18, 8, 0.15 ) ;
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (10526, 13, 6, 10, 0 ) ;
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (10526, 56, 38, 30, 0.15 ) ;
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (10527, 4, 22, 50, 0.1 ) ;
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (10527, 36, 19, 30, 0.1 ) ;
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (10528, 11, 21, 3, 0 ) ;
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (10528, 33, 2.5, 8, 0.2 ) ;
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (10528, 72, 34.8, 9, 0 ) ;
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (10529, 55, 24, 14, 0 ) ;
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (10529, 68, 12.5, 20, 0 ) ;
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (10529, 69, 36, 10, 0 ) ;
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (10530, 17, 39, 40, 0 ) ;
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (10530, 43, 46, 25, 0 ) ;
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (10530, 61, 28.5, 20, 0 ) ;
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (10530, 76, 18, 50, 0 ) ;
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (10531, 59, 55, 2, 0 ) ;
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (10532, 30, 25.89, 15, 0 ) ;
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (10532, 66, 17, 24, 0 ) ;
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (10533, 4, 22, 50, 0.05 ) ;
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (10533, 72, 34.8, 24, 0 ) ;
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (10533, 73, 15, 24, 0.05 ) ;
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (10534, 30, 25.89, 10, 0 ) ;
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (10534, 40, 18.4, 10, 0.2 ) ;
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (10534, 54, 7.45, 10, 0.2 ) ;
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (10535, 11, 21, 50, 0.1 ) ;
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (10535, 40, 18.4, 10, 0.1 ) ;
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (10535, 57, 19.5, 5, 0.1 ) ;
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (10535, 59, 55, 15, 0.1 ) ;
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (10536, 12, 38, 15, 0.25 ) ;
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (10536, 31, 12.5, 20, 0 ) ;
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (10536, 33, 2.5, 30, 0 ) ;
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (10536, 60, 34, 35, 0.25 ) ;
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (10537, 31, 12.5, 30, 0 ) ;
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (10537, 51, 53, 6, 0 ) ;
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (10537, 58, 13.25, 20, 0 ) ;
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (10537, 72, 34.8, 21, 0 ) ;
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (10537, 73, 15, 9, 0 ) ;
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (10538, 70, 15, 7, 0 ) ;
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (10538, 72, 34.8, 1, 0 ) ;
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (10539, 13, 6, 8, 0 ) ;
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (10539, 21, 10, 15, 0 ) ;
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (10539, 33, 2.5, 15, 0 ) ;
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (10539, 49, 20, 6, 0 ) ;
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (10540, 3, 10, 60, 0 ) ;
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (10540, 26, 31.23, 40, 0 ) ;
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (10540, 38, 263.5, 30, 0 ) ;
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (10540, 68, 12.5, 35, 0 ) ;
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (10541, 24, 4.5, 35, 0.1 ) ;
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (10541, 38, 263.5, 4, 0.1 ) ;
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (10541, 65, 21.05, 36, 0.1 ) ;
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (10541, 71, 21.5, 9, 0.1 ) ;
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (10542, 11, 21, 15, 0.05 ) ;
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (10542, 54, 7.45, 24, 0.05 ) ;
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (10543, 12, 38, 30, 0.15 ) ;
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (10543, 23, 9, 70, 0.15 ) ;
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (10544, 28, 45.6, 7, 0 ) ;
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (10544, 67, 14, 7, 0 ) ;
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (10545, 11, 21, 10, 0 ) ;
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (10546, 7, 30, 10, 0 ) ;
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (10546, 35, 18, 30, 0 ) ;
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (10546, 62, 49.3, 40, 0 ) ;
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (10547, 32, 32, 24, 0.15 ) ;
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (10547, 36, 19, 60, 0 ) ;
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (10548, 34, 14, 10, 0.25 ) ;
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (10548, 41, 9.65, 14, 0 ) ;
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (10549, 31, 12.5, 55, 0.15 ) ;
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (10549, 45, 9.5, 100, 0.15 ) ;
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (10549, 51, 53, 48, 0.15 ) ;
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (10550, 17, 39, 8, 0.1 ) ;
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (10550, 19, 9.2, 10, 0 ) ;
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (10550, 21, 10, 6, 0.1 ) ;
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (10550, 61, 28.5, 10, 0.1 ) ;
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (10551, 16, 17.45, 40, 0.15 ) ;
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (10551, 35, 18, 20, 0.15 ) ;
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (10551, 44, 19.45, 40, 0 ) ;
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (10552, 69, 36, 18, 0 ) ;
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (10552, 75, 7.75, 30, 0 ) ;
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (10553, 11, 21, 15, 0 ) ;
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (10553, 16, 17.45, 14, 0 ) ;
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (10553, 22, 21, 24, 0 ) ;
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (10553, 31, 12.5, 30, 0 ) ;
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (10553, 35, 18, 6, 0 ) ;
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (10554, 16, 17.45, 30, 0.05 ) ;
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (10554, 23, 9, 20, 0.05 ) ;
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (10554, 62, 49.3, 20, 0.05 ) ;
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (10554, 77, 13, 10, 0.05 ) ;
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (10555, 14, 23.25, 30, 0.2 ) ;
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (10555, 19, 9.2, 35, 0.2 ) ;
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (10555, 24, 4.5, 18, 0.2 ) ;
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (10555, 51, 53, 20, 0.2 ) ;
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (10555, 56, 38, 40, 0.2 ) ;
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (10556, 72, 34.8, 24, 0 ) ;
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (10557, 64, 33.25, 30, 0 ) ;
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (10557, 75, 7.75, 20, 0 ) ;
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (10558, 47, 9.5, 25, 0 ) ;
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (10558, 51, 53, 20, 0 ) ;
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (10558, 52, 7, 30, 0 ) ;
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (10558, 53, 32.8, 18, 0 ) ;
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (10558, 73, 15, 3, 0 ) ;
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (10559, 41, 9.65, 12, 0.05 ) ;
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (10559, 55, 24, 18, 0.05 ) ;
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (10560, 30, 25.89, 20, 0 ) ;
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (10560, 62, 49.3, 15, 0.25 ) ;
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (10561, 44, 19.45, 10, 0 ) ;
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (10561, 51, 53, 50, 0 ) ;
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (10562, 33, 2.5, 20, 0.1 ) ;
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (10562, 62, 49.3, 10, 0.1 ) ;
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (10563, 36, 19, 25, 0 ) ;
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (10563, 52, 7, 70, 0 ) ;
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (10564, 17, 39, 16, 0.05 ) ;
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (10564, 31, 12.5, 6, 0.05 ) ;
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (10564, 55, 24, 25, 0.05 ) ;
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (10565, 24, 4.5, 25, 0.1 ) ;
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (10565, 64, 33.25, 18, 0.1 ) ;
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (10566, 11, 21, 35, 0.15 ) ;
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (10566, 18, 62.5, 18, 0.15 ) ;
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (10566, 76, 18, 10, 0 ) ;
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (10567, 31, 12.5, 60, 0.2 ) ;
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (10567, 51, 53, 3, 0 ) ;
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (10567, 59, 55, 40, 0.2 ) ;
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (10568, 10, 31, 5, 0 ) ;
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (10569, 31, 12.5, 35, 0.2 ) ;
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (10569, 76, 18, 30, 0 ) ;
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (10570, 11, 21, 15, 0.05 ) ;
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (10570, 56, 38, 60, 0.05 ) ;
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (10571, 14, 23.25, 11, 0.15 ) ;
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (10571, 42, 14, 28, 0.15 ) ;
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (10572, 16, 17.45, 12, 0.1 ) ;
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (10572, 32, 32, 10, 0.1 ) ;
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (10572, 40, 18.4, 50, 0 ) ;
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (10572, 75, 7.75, 15, 0.1 ) ;
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (10573, 17, 39, 18, 0 ) ;
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (10573, 34, 14, 40, 0 ) ;
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (10573, 53, 32.8, 25, 0 ) ;
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (10574, 33, 2.5, 14, 0 ) ;
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (10574, 40, 18.4, 2, 0 ) ;
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (10574, 62, 49.3, 10, 0 ) ;
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (10574, 64, 33.25, 6, 0 ) ;
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (10575, 59, 55, 12, 0 ) ;
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (10575, 63, 43.9, 6, 0 ) ;
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (10575, 72, 34.8, 30, 0 ) ;
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (10575, 76, 18, 10, 0 ) ;
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (10576, 1, 18, 10, 0 ) ;
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (10576, 31, 12.5, 20, 0 ) ;
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (10576, 44, 19.45, 21, 0 ) ;
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (10577, 39, 18, 10, 0 ) ;
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (10577, 75, 7.75, 20, 0 ) ;
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (10577, 77, 13, 18, 0 ) ;
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (10578, 35, 18, 20, 0 ) ;
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (10578, 57, 19.5, 6, 0 ) ;
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (10579, 15, 15.5, 10, 0 ) ;
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (10579, 75, 7.75, 21, 0 ) ;
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (10580, 14, 23.25, 15, 0.05 ) ;
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (10580, 41, 9.65, 9, 0.05 ) ;
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (10580, 65, 21.05, 30, 0.05 ) ;
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (10581, 75, 7.75, 50, 0.2 ) ;
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (10582, 57, 19.5, 4, 0 ) ;
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (10582, 76, 18, 14, 0 ) ;
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (10583, 29, 123.79, 10, 0 ) ;
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (10583, 60, 34, 24, 0.15 ) ;
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (10583, 69, 36, 10, 0.15 ) ;
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (10584, 31, 12.5, 50, 0.05 ) ;
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (10585, 47, 9.5, 15, 0 ) ;
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (10586, 52, 7, 4, 0.15 ) ;
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (10587, 26, 31.23, 6, 0 ) ;
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (10587, 35, 18, 20, 0 ) ;
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (10587, 77, 13, 20, 0 ) ;
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (10588, 18, 62.5, 40, 0.2 ) ;
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (10588, 42, 14, 100, 0.2 ) ;
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (10589, 35, 18, 4, 0 ) ;
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (10590, 1, 18, 20, 0 ) ;
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (10590, 77, 13, 60, 0.05 ) ;
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (10591, 3, 10, 14, 0 ) ;
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (10591, 7, 30, 10, 0 ) ;
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (10591, 54, 7.45, 50, 0 ) ;
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (10592, 15, 15.5, 25, 0.05 ) ;
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (10592, 26, 31.23, 5, 0.05 ) ;
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (10593, 20, 81, 21, 0.2 ) ;
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (10593, 69, 36, 20, 0.2 ) ;
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (10593, 76, 18, 4, 0.2 ) ;
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (10594, 52, 7, 24, 0 ) ;
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (10594, 58, 13.25, 30, 0 ) ;
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (10595, 35, 18, 30, 0.25 ) ;
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (10595, 61, 28.5, 120, 0.25 ) ;
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (10595, 69, 36, 65, 0.25 ) ;
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (10596, 56, 38, 5, 0.2 ) ;
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (10596, 63, 43.9, 24, 0.2 ) ;
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (10596, 75, 7.75, 30, 0.2 ) ;
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (10597, 24, 4.5, 35, 0.2 ) ;
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (10597, 57, 19.5, 20, 0 ) ;
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (10597, 65, 21.05, 12, 0.2 ) ;
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (10598, 27, 43.9, 50, 0 ) ;
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (10598, 71, 21.5, 9, 0 ) ;
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (10599, 62, 49.3, 10, 0 ) ;
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (10600, 54, 7.45, 4, 0 ) ;
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (10600, 73, 15, 30, 0 ) ;
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (10601, 13, 6, 60, 0 ) ;
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (10601, 59, 55, 35, 0 ) ;
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (10602, 77, 13, 5, 0.25 ) ;
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (10603, 22, 21, 48, 0 ) ;
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (10603, 49, 20, 25, 0.05 ) ;
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (10604, 48, 12.75, 6, 0.1 ) ;
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (10604, 76, 18, 10, 0.1 ) ;
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (10605, 16, 17.45, 30, 0.05 ) ;
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (10605, 59, 55, 20, 0.05 ) ;
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (10605, 60, 34, 70, 0.05 ) ;
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (10605, 71, 21.5, 15, 0.05 ) ;
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (10606, 4, 22, 20, 0.2 ) ;
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (10606, 55, 24, 20, 0.2 ) ;
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (10606, 62, 49.3, 10, 0.2 ) ;
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (10607, 7, 30, 45, 0 ) ;
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (10607, 17, 39, 100, 0 ) ;
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (10607, 33, 2.5, 14, 0 ) ;
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (10607, 40, 18.4, 42, 0 ) ;
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (10607, 72, 34.8, 12, 0 ) ;
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (10608, 56, 38, 28, 0 ) ;
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (10609, 1, 18, 3, 0 ) ;
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (10609, 10, 31, 10, 0 ) ;
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (10609, 21, 10, 6, 0 ) ;
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (10610, 36, 19, 21, 0.25 ) ;
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (10611, 1, 18, 6, 0 ) ;
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (10611, 2, 19, 10, 0 ) ;
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (10611, 60, 34, 15, 0 ) ;
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (10612, 10, 31, 70, 0 ) ;
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (10612, 36, 19, 55, 0 ) ;
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (10612, 49, 20, 18, 0 ) ;
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (10612, 60, 34, 40, 0 ) ;
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (10612, 76, 18, 80, 0 ) ;
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (10613, 13, 6, 8, 0.1 ) ;
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (10613, 75, 7.75, 40, 0 ) ;
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (10614, 11, 21, 14, 0 ) ;
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (10614, 21, 10, 8, 0 ) ;
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (10614, 39, 18, 5, 0 ) ;
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (10615, 55, 24, 5, 0 ) ;
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (10616, 38, 263.5, 15, 0.05 ) ;
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (10616, 56, 38, 14, 0 ) ;
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (10616, 70, 15, 15, 0.05 ) ;
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (10616, 71, 21.5, 15, 0.05 ) ;
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (10617, 59, 55, 30, 0.15 ) ;
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (10618, 6, 25, 70, 0 ) ;
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (10618, 56, 38, 20, 0 ) ;
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (10618, 68, 12.5, 15, 0 ) ;
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (10619, 21, 10, 42, 0 ) ;
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (10619, 22, 21, 40, 0 ) ;
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (10620, 24, 4.5, 5, 0 ) ;
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (10620, 52, 7, 5, 0 ) ;
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (10621, 19, 9.2, 5, 0 ) ;
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (10621, 23, 9, 10, 0 ) ;
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (10621, 70, 15, 20, 0 ) ;
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (10621, 71, 21.5, 15, 0 ) ;
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (10622, 2, 19, 20, 0 ) ;
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (10622, 68, 12.5, 18, 0.2 ) ;
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (10623, 14, 23.25, 21, 0 ) ;
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (10623, 19, 9.2, 15, 0.1 ) ;
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (10623, 21, 10, 25, 0.1 ) ;
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (10623, 24, 4.5, 3, 0 ) ;
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (10623, 35, 18, 30, 0.1 ) ;
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (10624, 28, 45.6, 10, 0 ) ;
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (10624, 29, 123.79, 6, 0 ) ;
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (10624, 44, 19.45, 10, 0 ) ;
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (10625, 14, 23.25, 3, 0 ) ;
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (10625, 42, 14, 5, 0 ) ;
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (10625, 60, 34, 10, 0 ) ;
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (10626, 53, 32.8, 12, 0 ) ;
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (10626, 60, 34, 20, 0 ) ;
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (10626, 71, 21.5, 20, 0 ) ;
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (10627, 62, 49.3, 15, 0 ) ;
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (10627, 73, 15, 35, 0.15 ) ;
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (10628, 1, 18, 25, 0 ) ;
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (10629, 29, 123.79, 20, 0 ) ;
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (10629, 64, 33.25, 9, 0 ) ;
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (10630, 55, 24, 12, 0.05 ) ;
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (10630, 76, 18, 35, 0 ) ;
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (10631, 75, 7.75, 8, 0.1 ) ;
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (10632, 2, 19, 30, 0.05 ) ;
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (10632, 33, 2.5, 20, 0.05 ) ;
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (10633, 12, 38, 36, 0.15 ) ;
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (10633, 13, 6, 13, 0.15 ) ;
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (10633, 26, 31.23, 35, 0.15 ) ;
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (10633, 62, 49.3, 80, 0.15 ) ;
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (10634, 7, 30, 35, 0 ) ;
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (10634, 18, 62.5, 50, 0 ) ;
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (10634, 51, 53, 15, 0 ) ;
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (10634, 75, 7.75, 2, 0 ) ;
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (10635, 4, 22, 10, 0.1 ) ;
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (10635, 5, 21.35, 15, 0.1 ) ;
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (10635, 22, 21, 40, 0 ) ;
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (10636, 4, 22, 25, 0 ) ;
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (10636, 58, 13.25, 6, 0 ) ;
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (10637, 11, 21, 10, 0 ) ;
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (10637, 50, 16.25, 25, 0.05 ) ;
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (10637, 56, 38, 60, 0.05 ) ;
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (10638, 45, 9.5, 20, 0 ) ;
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (10638, 65, 21.05, 21, 0 ) ;
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (10638, 72, 34.8, 60, 0 ) ;
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (10639, 18, 62.5, 8, 0 ) ;
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (10640, 69, 36, 20, 0.25 ) ;
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (10640, 70, 15, 15, 0.25 ) ;
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (10641, 2, 19, 50, 0 ) ;
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (10641, 40, 18.4, 60, 0 ) ;
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (10642, 21, 10, 30, 0.2 ) ;
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (10642, 61, 28.5, 20, 0.2 ) ;
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (10643, 28, 45.6, 15, 0.25 ) ;
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (10643, 39, 18, 21, 0.25 ) ;
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (10643, 46, 12, 2, 0.25 ) ;
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (10644, 18, 62.5, 4, 0.1 ) ;
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (10644, 43, 46, 20, 0 ) ;
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (10644, 46, 12, 21, 0.1 ) ;
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (10645, 18, 62.5, 20, 0 ) ;
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (10645, 36, 19, 15, 0 ) ;
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (10646, 1, 18, 15, 0.25 ) ;
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (10646, 10, 31, 18, 0.25 ) ;
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (10646, 71, 21.5, 30, 0.25 ) ;
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (10646, 77, 13, 35, 0.25 ) ;
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (10647, 19, 9.2, 30, 0 ) ;
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (10647, 39, 18, 20, 0 ) ;
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (10648, 22, 21, 15, 0 ) ;
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (10648, 24, 4.5, 15, 0.15 ) ;
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (10649, 28, 45.6, 20, 0 ) ;
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (10649, 72, 34.8, 15, 0 ) ;
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (10650, 30, 25.89, 30, 0 ) ;
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (10650, 53, 32.8, 25, 0.05 ) ;
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (10650, 54, 7.45, 30, 0 ) ;
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (10651, 19, 9.2, 12, 0.25 ) ;
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (10651, 22, 21, 20, 0.25 ) ;
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (10652, 30, 25.89, 2, 0.25 ) ;
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (10652, 42, 14, 20, 0 ) ;
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (10653, 16, 17.45, 30, 0.1 ) ;
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (10653, 60, 34, 20, 0.1 ) ;
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (10654, 4, 22, 12, 0.1 ) ;
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (10654, 39, 18, 20, 0.1 ) ;
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (10654, 54, 7.45, 6, 0.1 ) ;
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (10655, 41, 9.65, 20, 0.2 ) ;
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (10656, 14, 23.25, 3, 0.1 ) ;
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (10656, 44, 19.45, 28, 0.1 ) ;
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (10656, 47, 9.5, 6, 0.1 ) ;
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (10657, 15, 15.5, 50, 0 ) ;
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (10657, 41, 9.65, 24, 0 ) ;
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (10657, 46, 12, 45, 0 ) ;
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (10657, 47, 9.5, 10, 0 ) ;
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (10657, 56, 38, 45, 0 ) ;
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (10657, 60, 34, 30, 0 ) ;
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (10658, 21, 10, 60, 0 ) ;
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (10658, 40, 18.4, 70, 0.05 ) ;
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (10658, 60, 34, 55, 0.05 ) ;
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (10658, 77, 13, 70, 0.05 ) ;
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (10659, 31, 12.5, 20, 0.05 ) ;
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (10659, 40, 18.4, 24, 0.05 ) ;
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (10659, 70, 15, 40, 0.05 ) ;
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (10660, 20, 81, 21, 0 ) ;
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (10661, 39, 18, 3, 0.2 ) ;
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (10661, 58, 13.25, 49, 0.2 ) ;
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (10662, 68, 12.5, 10, 0 ) ;
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (10663, 40, 18.4, 30, 0.05 ) ;
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (10663, 42, 14, 30, 0.05 ) ;
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (10663, 51, 53, 20, 0.05 ) ;
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (10664, 10, 31, 24, 0.15 ) ;
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (10664, 56, 38, 12, 0.15 ) ;
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (10664, 65, 21.05, 15, 0.15 ) ;
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (10665, 51, 53, 20, 0 ) ;
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (10665, 59, 55, 1, 0 ) ;
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (10665, 76, 18, 10, 0 ) ;
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (10666, 29, 123.79, 36, 0 ) ;
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (10666, 65, 21.05, 10, 0 ) ;
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (10667, 69, 36, 45, 0.2 ) ;
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (10667, 71, 21.5, 14, 0.2 ) ;
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (10668, 31, 12.5, 8, 0.1 ) ;
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (10668, 55, 24, 4, 0.1 ) ;
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (10668, 64, 33.25, 15, 0.1 ) ;
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (10669, 36, 19, 30, 0 ) ;
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (10670, 23, 9, 32, 0 ) ;
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (10670, 46, 12, 60, 0 ) ;
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (10670, 67, 14, 25, 0 ) ;
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (10670, 73, 15, 50, 0 ) ;
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (10670, 75, 7.75, 25, 0 ) ;
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (10671, 16, 17.45, 10, 0 ) ;
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (10671, 62, 49.3, 10, 0 ) ;
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (10671, 65, 21.05, 12, 0 ) ;
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (10672, 38, 263.5, 15, 0.1 ) ;
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (10672, 71, 21.5, 12, 0 ) ;
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (10673, 16, 17.45, 3, 0 ) ;
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (10673, 42, 14, 6, 0 ) ;
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (10673, 43, 46, 6, 0 ) ;
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (10674, 23, 9, 5, 0 ) ;
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (10675, 14, 23.25, 30, 0 ) ;
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (10675, 53, 32.8, 10, 0 ) ;
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (10675, 58, 13.25, 30, 0 ) ;
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (10676, 10, 31, 2, 0 ) ;
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (10676, 19, 9.2, 7, 0 ) ;
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (10676, 44, 19.45, 21, 0 ) ;
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (10677, 26, 31.23, 30, 0.15 ) ;
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (10677, 33, 2.5, 8, 0.15 ) ;
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (10678, 12, 38, 100, 0 ) ;
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (10678, 33, 2.5, 30, 0 ) ;
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (10678, 41, 9.65, 120, 0 ) ;
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (10678, 54, 7.45, 30, 0 ) ;
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (10679, 59, 55, 12, 0 ) ;
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (10680, 16, 17.45, 50, 0.25 ) ;
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (10680, 31, 12.5, 20, 0.25 ) ;
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (10680, 42, 14, 40, 0.25 ) ;
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (10681, 19, 9.2, 30, 0.1 ) ;
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (10681, 21, 10, 12, 0.1 ) ;
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (10681, 64, 33.25, 28, 0 ) ;
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (10682, 33, 2.5, 30, 0 ) ;
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (10682, 66, 17, 4, 0 ) ;
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (10682, 75, 7.75, 30, 0 ) ;
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (10683, 52, 7, 9, 0 ) ;
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (10684, 40, 18.4, 20, 0 ) ;
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (10684, 47, 9.5, 40, 0 ) ;
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (10684, 60, 34, 30, 0 ) ;
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (10685, 10, 31, 20, 0 ) ;
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (10685, 41, 9.65, 4, 0 ) ;
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (10685, 47, 9.5, 15, 0 ) ;
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (10686, 17, 39, 30, 0.2 ) ;
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (10686, 26, 31.23, 15, 0 ) ;
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (10687, 9, 97, 50, 0.25 ) ;
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (10687, 29, 123.79, 10, 0 ) ;
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (10687, 36, 19, 6, 0.25 ) ;
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (10688, 10, 31, 18, 0.1 ) ;
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (10688, 28, 45.6, 60, 0.1 ) ;
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (10688, 34, 14, 14, 0 ) ;
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (10689, 1, 18, 35, 0.25 ) ;
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (10690, 56, 38, 20, 0.25 ) ;
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (10690, 77, 13, 30, 0.25 ) ;
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (10691, 1, 18, 30, 0 ) ;
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (10691, 29, 123.79, 40, 0 ) ;
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (10691, 43, 46, 40, 0 ) ;
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (10691, 44, 19.45, 24, 0 ) ;
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (10691, 62, 49.3, 48, 0 ) ;
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (10692, 63, 43.9, 20, 0 ) ;
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (10693, 9, 97, 6, 0 ) ;
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (10693, 54, 7.45, 60, 0.15 ) ;
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (10693, 69, 36, 30, 0.15 ) ;
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (10693, 73, 15, 15, 0.15 ) ;
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (10694, 7, 30, 90, 0 ) ;
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (10694, 59, 55, 25, 0 ) ;
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (10694, 70, 15, 50, 0 ) ;
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (10695, 8, 40, 10, 0 ) ;
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (10695, 12, 38, 4, 0 ) ;
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (10695, 24, 4.5, 20, 0 ) ;
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (10696, 17, 39, 20, 0 ) ;
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (10696, 46, 12, 18, 0 ) ;
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (10697, 19, 9.2, 7, 0.25 ) ;
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (10697, 35, 18, 9, 0.25 ) ;
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (10697, 58, 13.25, 30, 0.25 ) ;
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (10697, 70, 15, 30, 0.25 ) ;
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (10698, 11, 21, 15, 0 ) ;
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (10698, 17, 39, 8, 0.05 ) ;
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (10698, 29, 123.79, 12, 0.05 ) ;
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (10698, 65, 21.05, 65, 0.05 ) ;
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (10698, 70, 15, 8, 0.05 ) ;
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (10699, 47, 9.5, 12, 0 ) ;
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (10700, 1, 18, 5, 0.2 ) ;
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (10700, 34, 14, 12, 0.2 ) ;
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (10700, 68, 12.5, 40, 0.2 ) ;
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (10700, 71, 21.5, 60, 0.2 ) ;
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (10701, 59, 55, 42, 0.15 ) ;
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (10701, 71, 21.5, 20, 0.15 ) ;
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (10701, 76, 18, 35, 0.15 ) ;
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (10702, 3, 10, 6, 0 ) ;
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (10702, 76, 18, 15, 0 ) ;
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (10703, 2, 19, 5, 0 ) ;
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (10703, 59, 55, 35, 0 ) ;
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (10703, 73, 15, 35, 0 ) ;
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (10704, 4, 22, 6, 0 ) ;
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (10704, 24, 4.5, 35, 0 ) ;
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (10704, 48, 12.75, 24, 0 ) ;
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (10705, 31, 12.5, 20, 0 ) ;
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (10705, 32, 32, 4, 0 ) ;
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (10706, 16, 17.45, 20, 0 ) ;
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (10706, 43, 46, 24, 0 ) ;
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (10706, 59, 55, 8, 0 ) ;
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (10707, 55, 24, 21, 0 ) ;
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (10707, 57, 19.5, 40, 0 ) ;
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (10707, 70, 15, 28, 0.15 ) ;
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (10708, 5, 21.35, 4, 0 ) ;
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (10708, 36, 19, 5, 0 ) ;
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (10709, 8, 40, 40, 0 ) ;
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (10709, 51, 53, 28, 0 ) ;
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (10709, 60, 34, 10, 0 ) ;
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (10710, 19, 9.2, 5, 0 ) ;
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (10710, 47, 9.5, 5, 0 ) ;
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (10711, 19, 9.2, 12, 0 ) ;
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (10711, 41, 9.65, 42, 0 ) ;
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (10711, 53, 32.8, 120, 0 ) ;
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (10712, 53, 32.8, 3, 0.05 ) ;
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (10712, 56, 38, 30, 0 ) ;
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (10713, 10, 31, 18, 0 ) ;
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (10713, 26, 31.23, 30, 0 ) ;
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (10713, 45, 9.5, 110, 0 ) ;
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (10713, 46, 12, 24, 0 ) ;
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (10714, 2, 19, 30, 0.25 ) ;
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (10714, 17, 39, 27, 0.25 ) ;
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (10714, 47, 9.5, 50, 0.25 ) ;
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (10714, 56, 38, 18, 0.25 ) ;
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (10714, 58, 13.25, 12, 0.25 ) ;
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (10715, 10, 31, 21, 0 ) ;
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (10715, 71, 21.5, 30, 0 ) ;
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (10716, 21, 10, 5, 0 ) ;
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (10716, 51, 53, 7, 0 ) ;
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (10716, 61, 28.5, 10, 0 ) ;
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (10717, 21, 10, 32, 0.05 ) ;
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (10717, 54, 7.45, 15, 0 ) ;
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (10717, 69, 36, 25, 0.05 ) ;
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (10718, 12, 38, 36, 0 ) ;
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (10718, 16, 17.45, 20, 0 ) ;
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (10718, 36, 19, 40, 0 ) ;
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (10718, 62, 49.3, 20, 0 ) ;
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (10719, 18, 62.5, 12, 0.25 ) ;
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (10719, 30, 25.89, 3, 0.25 ) ;
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (10719, 54, 7.45, 40, 0.25 ) ;
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (10720, 35, 18, 21, 0 ) ;
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (10720, 71, 21.5, 8, 0 ) ;
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (10721, 44, 19.45, 50, 0.05 ) ;
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (10722, 2, 19, 3, 0 ) ;
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (10722, 31, 12.5, 50, 0 ) ;
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (10722, 68, 12.5, 45, 0 ) ;
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (10722, 75, 7.75, 42, 0 ) ;
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (10723, 26, 31.23, 15, 0 ) ;
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (10724, 10, 31, 16, 0 ) ;
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (10724, 61, 28.5, 5, 0 ) ;
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (10725, 41, 9.65, 12, 0 ) ;
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (10725, 52, 7, 4, 0 ) ;
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (10725, 55, 24, 6, 0 ) ;
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (10726, 4, 22, 25, 0 ) ;
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (10726, 11, 21, 5, 0 ) ;
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (10727, 17, 39, 20, 0.05 ) ;
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (10727, 56, 38, 10, 0.05 ) ;
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (10727, 59, 55, 10, 0.05 ) ;
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (10728, 30, 25.89, 15, 0 ) ;
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (10728, 40, 18.4, 6, 0 ) ;
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (10728, 55, 24, 12, 0 ) ;
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (10728, 60, 34, 15, 0 ) ;
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (10729, 1, 18, 50, 0 ) ;
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (10729, 21, 10, 30, 0 ) ;
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (10729, 50, 16.25, 40, 0 ) ;
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (10730, 16, 17.45, 15, 0.05 ) ;
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (10730, 31, 12.5, 3, 0.05 ) ;
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (10730, 65, 21.05, 10, 0.05 ) ;
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (10731, 21, 10, 40, 0.05 ) ;
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (10731, 51, 53, 30, 0.05 ) ;
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (10732, 76, 18, 20, 0 ) ;
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (10733, 14, 23.25, 16, 0 ) ;
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (10733, 28, 45.6, 20, 0 ) ;
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (10733, 52, 7, 25, 0 ) ;
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (10734, 6, 25, 30, 0 ) ;
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (10734, 30, 25.89, 15, 0 ) ;
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (10734, 76, 18, 20, 0 ) ;
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (10735, 61, 28.5, 20, 0.1 ) ;
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (10735, 77, 13, 2, 0.1 ) ;
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (10736, 65, 21.05, 40, 0 ) ;
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (10736, 75, 7.75, 20, 0 ) ;
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (10737, 13, 6, 4, 0 ) ;
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (10737, 41, 9.65, 12, 0 ) ;
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (10738, 16, 17.45, 3, 0 ) ;
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (10739, 36, 19, 6, 0 ) ;
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (10739, 52, 7, 18, 0 ) ;
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (10740, 28, 45.6, 5, 0.2 ) ;
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (10740, 35, 18, 35, 0.2 ) ;
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (10740, 45, 9.5, 40, 0.2 ) ;
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (10740, 56, 38, 14, 0.2 ) ;
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (10741, 2, 19, 15, 0.2 ) ;
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (10742, 3, 10, 20, 0 ) ;
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (10742, 60, 34, 50, 0 ) ;
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (10742, 72, 34.8, 35, 0 ) ;
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (10743, 46, 12, 28, 0.05 ) ;
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (10744, 40, 18.4, 50, 0.2 ) ;
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (10745, 18, 62.5, 24, 0 ) ;
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (10745, 44, 19.45, 16, 0 ) ;
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (10745, 59, 55, 45, 0 ) ;
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (10745, 72, 34.8, 7, 0 ) ;
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (10746, 13, 6, 6, 0 ) ;
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (10746, 42, 14, 28, 0 ) ;
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (10746, 62, 49.3, 9, 0 ) ;
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (10746, 69, 36, 40, 0 ) ;
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (10747, 31, 12.5, 8, 0 ) ;
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (10747, 41, 9.65, 35, 0 ) ;
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (10747, 63, 43.9, 9, 0 ) ;
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (10747, 69, 36, 30, 0 ) ;
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (10748, 23, 9, 44, 0 ) ;
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (10748, 40, 18.4, 40, 0 ) ;
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (10748, 56, 38, 28, 0 ) ;
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (10749, 56, 38, 15, 0 ) ;
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (10749, 59, 55, 6, 0 ) ;
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (10749, 76, 18, 10, 0 ) ;
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (10750, 14, 23.25, 5, 0.15 ) ;
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (10750, 45, 9.5, 40, 0.15 ) ;
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (10750, 59, 55, 25, 0.15 ) ;
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (10751, 26, 31.23, 12, 0.1 ) ;
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (10751, 30, 25.89, 30, 0 ) ;
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (10751, 50, 16.25, 20, 0.1 ) ;
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (10751, 73, 15, 15, 0 ) ;
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (10752, 1, 18, 8, 0 ) ;
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (10752, 69, 36, 3, 0 ) ;
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (10753, 45, 9.5, 4, 0 ) ;
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (10753, 74, 10, 5, 0 ) ;
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (10754, 40, 18.4, 3, 0 ) ;
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (10755, 47, 9.5, 30, 0.25 ) ;
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (10755, 56, 38, 30, 0.25 ) ;
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (10755, 57, 19.5, 14, 0.25 ) ;
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (10755, 69, 36, 25, 0.25 ) ;
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (10756, 18, 62.5, 21, 0.2 ) ;
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (10756, 36, 19, 20, 0.2 ) ;
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (10756, 68, 12.5, 6, 0.2 ) ;
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (10756, 69, 36, 20, 0.2 ) ;
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (10757, 34, 14, 30, 0 ) ;
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (10757, 59, 55, 7, 0 ) ;
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (10757, 62, 49.3, 30, 0 ) ;
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (10757, 64, 33.25, 24, 0 ) ;
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (10758, 26, 31.23, 20, 0 ) ;
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (10758, 52, 7, 60, 0 ) ;
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (10758, 70, 15, 40, 0 ) ;
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (10759, 32, 32, 10, 0 ) ;
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (10760, 25, 14, 12, 0.25 ) ;
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (10760, 27, 43.9, 40, 0 ) ;
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (10760, 43, 46, 30, 0.25 ) ;
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (10761, 25, 14, 35, 0.25 ) ;
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (10761, 75, 7.75, 18, 0 ) ;
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (10762, 39, 18, 16, 0 ) ;
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (10762, 47, 9.5, 30, 0 ) ;
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (10762, 51, 53, 28, 0 ) ;
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (10762, 56, 38, 60, 0 ) ;
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (10763, 21, 10, 40, 0 ) ;
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (10763, 22, 21, 6, 0 ) ;
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (10763, 24, 4.5, 20, 0 ) ;
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (10764, 3, 10, 20, 0.1 ) ;
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (10764, 39, 18, 130, 0.1 ) ;
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (10765, 65, 21.05, 80, 0.1 ) ;
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (10766, 2, 19, 40, 0 ) ;
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (10766, 7, 30, 35, 0 ) ;
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (10766, 68, 12.5, 40, 0 ) ;
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (10767, 42, 14, 2, 0 ) ;
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (10768, 22, 21, 4, 0 ) ;
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (10768, 31, 12.5, 50, 0 ) ;
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (10768, 60, 34, 15, 0 ) ;
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (10768, 71, 21.5, 12, 0 ) ;
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (10769, 41, 9.65, 30, 0.05 ) ;
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (10769, 52, 7, 15, 0.05 ) ;
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (10769, 61, 28.5, 20, 0 ) ;
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (10769, 62, 49.3, 15, 0 ) ;
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (10770, 11, 21, 15, 0.25 ) ;
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (10771, 71, 21.5, 16, 0 ) ;
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (10772, 29, 123.79, 18, 0 ) ;
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (10772, 59, 55, 25, 0 ) ;
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (10773, 17, 39, 33, 0 ) ;
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (10773, 31, 12.5, 70, 0.2 ) ;
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (10773, 75, 7.75, 7, 0.2 ) ;
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (10774, 31, 12.5, 2, 0.25 ) ;
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (10774, 66, 17, 50, 0 ) ;
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (10775, 10, 31, 6, 0 ) ;
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (10775, 67, 14, 3, 0 ) ;
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (10776, 31, 12.5, 16, 0.05 ) ;
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (10776, 42, 14, 12, 0.05 ) ;
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (10776, 45, 9.5, 27, 0.05 ) ;
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (10776, 51, 53, 120, 0.05 ) ;
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (10777, 42, 14, 20, 0.2 ) ;
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (10778, 41, 9.65, 10, 0 ) ;
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (10779, 16, 17.45, 20, 0 ) ;
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (10779, 62, 49.3, 20, 0 ) ;
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (10780, 70, 15, 35, 0 ) ;
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (10780, 77, 13, 15, 0 ) ;
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (10781, 54, 7.45, 3, 0.2 ) ;
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (10781, 56, 38, 20, 0.2 ) ;
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (10781, 74, 10, 35, 0 ) ;
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (10782, 31, 12.5, 1, 0 ) ;
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (10783, 31, 12.5, 10, 0 ) ;
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (10783, 38, 263.5, 5, 0 ) ;
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (10784, 36, 19, 30, 0 ) ;
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (10784, 39, 18, 2, 0.15 ) ;
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (10784, 72, 34.8, 30, 0.15 ) ;
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (10785, 10, 31, 10, 0 ) ;
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (10785, 75, 7.75, 10, 0 ) ;
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (10786, 8, 40, 30, 0.2 ) ;
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (10786, 30, 25.89, 15, 0.2 ) ;
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (10786, 75, 7.75, 42, 0.2 ) ;
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (10787, 2, 19, 15, 0.05 ) ;
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (10787, 29, 123.79, 20, 0.05 ) ;
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (10788, 19, 9.2, 50, 0.05 ) ;
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (10788, 75, 7.75, 40, 0.05 ) ;
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (10789, 18, 62.5, 30, 0 ) ;
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (10789, 35, 18, 15, 0 ) ;
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (10789, 63, 43.9, 30, 0 ) ;
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (10789, 68, 12.5, 18, 0 ) ;
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (10790, 7, 30, 3, 0.15 ) ;
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (10790, 56, 38, 20, 0.15 ) ;
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (10791, 29, 123.79, 14, 0.05 ) ;
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (10791, 41, 9.65, 20, 0.05 ) ;
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (10792, 2, 19, 10, 0 ) ;
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (10792, 54, 7.45, 3, 0 ) ;
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (10792, 68, 12.5, 15, 0 ) ;
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (10793, 41, 9.65, 14, 0 ) ;
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (10793, 52, 7, 8, 0 ) ;
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (10794, 14, 23.25, 15, 0.2 ) ;
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (10794, 54, 7.45, 6, 0.2 ) ;
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (10795, 16, 17.45, 65, 0 ) ;
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (10795, 17, 39, 35, 0.25 ) ;
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (10796, 26, 31.23, 21, 0.2 ) ;
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (10796, 44, 19.45, 10, 0 ) ;
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (10796, 64, 33.25, 35, 0.2 ) ;
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (10796, 69, 36, 24, 0.2 ) ;
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (10797, 11, 21, 20, 0 ) ;
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (10798, 62, 49.3, 2, 0 ) ;
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (10798, 72, 34.8, 10, 0 ) ;
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (10799, 13, 6, 20, 0.15 ) ;
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (10799, 24, 4.5, 20, 0.15 ) ;
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (10799, 59, 55, 25, 0 ) ;
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (10800, 11, 21, 50, 0.1 ) ;
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (10800, 51, 53, 10, 0.1 ) ;
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (10800, 54, 7.45, 7, 0.1 ) ;
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (10801, 17, 39, 40, 0.25 ) ;
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (10801, 29, 123.79, 20, 0.25 ) ;
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (10802, 30, 25.89, 25, 0.25 ) ;
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (10802, 51, 53, 30, 0.25 ) ;
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (10802, 55, 24, 60, 0.25 ) ;
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (10802, 62, 49.3, 5, 0.25 ) ;
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (10803, 19, 9.2, 24, 0.05 ) ;
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (10803, 25, 14, 15, 0.05 ) ;
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (10803, 59, 55, 15, 0.05 ) ;
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (10804, 10, 31, 36, 0 ) ;
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (10804, 28, 45.6, 24, 0 ) ;
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (10804, 49, 20, 4, 0.15 ) ;
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (10805, 34, 14, 10, 0 ) ;
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (10805, 38, 263.5, 10, 0 ) ;
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (10806, 2, 19, 20, 0.25 ) ;
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (10806, 65, 21.05, 2, 0 ) ;
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (10806, 74, 10, 15, 0.25 ) ;
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (10807, 40, 18.4, 1, 0 ) ;
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (10808, 56, 38, 20, 0.15 ) ;
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (10808, 76, 18, 50, 0.15 ) ;
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (10809, 52, 7, 20, 0 ) ;
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (10810, 13, 6, 7, 0 ) ;
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (10810, 25, 14, 5, 0 ) ;
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (10810, 70, 15, 5, 0 ) ;
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (10811, 19, 9.2, 15, 0 ) ;
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (10811, 23, 9, 18, 0 ) ;
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (10811, 40, 18.4, 30, 0 ) ;
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (10812, 31, 12.5, 16, 0.1 ) ;
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (10812, 72, 34.8, 40, 0.1 ) ;
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (10812, 77, 13, 20, 0 ) ;
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (10813, 2, 19, 12, 0.2 ) ;
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (10813, 46, 12, 35, 0 ) ;
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (10814, 41, 9.65, 20, 0 ) ;
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (10814, 43, 46, 20, 0.15 ) ;
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (10814, 48, 12.75, 8, 0.15 ) ;
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (10814, 61, 28.5, 30, 0.15 ) ;
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (10815, 33, 2.5, 16, 0 ) ;
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (10816, 38, 263.5, 30, 0.05 ) ;
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (10816, 62, 49.3, 20, 0.05 ) ;
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (10817, 26, 31.23, 40, 0.15 ) ;
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (10817, 38, 263.5, 30, 0 ) ;
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (10817, 40, 18.4, 60, 0.15 ) ;
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (10817, 62, 49.3, 25, 0.15 ) ;
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (10818, 32, 32, 20, 0 ) ;
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (10818, 41, 9.65, 20, 0 ) ;
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (10819, 43, 46, 7, 0 ) ;
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (10819, 75, 7.75, 20, 0 ) ;
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (10820, 56, 38, 30, 0 ) ;
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (10821, 35, 18, 20, 0 ) ;
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (10821, 51, 53, 6, 0 ) ;
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (10822, 62, 49.3, 3, 0 ) ;
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (10822, 70, 15, 6, 0 ) ;
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (10823, 11, 21, 20, 0.1 ) ;
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (10823, 57, 19.5, 15, 0 ) ;
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (10823, 59, 55, 40, 0.1 ) ;
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (10823, 77, 13, 15, 0.1 ) ;
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (10824, 41, 9.65, 12, 0 ) ;
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (10824, 70, 15, 9, 0 ) ;
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (10825, 26, 31.23, 12, 0 ) ;
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (10825, 53, 32.8, 20, 0 ) ;
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (10826, 31, 12.5, 35, 0 ) ;
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (10826, 57, 19.5, 15, 0 ) ;
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (10827, 10, 31, 15, 0 ) ;
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (10827, 39, 18, 21, 0 ) ;
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (10828, 20, 81, 5, 0 ) ;
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (10828, 38, 263.5, 2, 0 ) ;
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (10829, 2, 19, 10, 0 ) ;
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (10829, 8, 40, 20, 0 ) ;
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (10829, 13, 6, 10, 0 ) ;
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (10829, 60, 34, 21, 0 ) ;
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (10830, 6, 25, 6, 0 ) ;
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (10830, 39, 18, 28, 0 ) ;
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (10830, 60, 34, 30, 0 ) ;
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (10830, 68, 12.5, 24, 0 ) ;
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (10831, 19, 9.2, 2, 0 ) ;
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (10831, 35, 18, 8, 0 ) ;
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (10831, 38, 263.5, 8, 0 ) ;
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (10831, 43, 46, 9, 0 ) ;
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (10832, 13, 6, 3, 0.2 ) ;
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (10832, 25, 14, 10, 0.2 ) ;
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (10832, 44, 19.45, 16, 0.2 ) ;
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (10832, 64, 33.25, 3, 0 ) ;
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (10833, 7, 30, 20, 0.1 ) ;
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (10833, 31, 12.5, 9, 0.1 ) ;
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (10833, 53, 32.8, 9, 0.1 ) ;
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (10834, 29, 123.79, 8, 0.05 ) ;
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (10834, 30, 25.89, 20, 0.05 ) ;
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (10835, 59, 55, 15, 0 ) ;
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (10835, 77, 13, 2, 0.2 ) ;
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (10836, 22, 21, 52, 0 ) ;
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (10836, 35, 18, 6, 0 ) ;
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (10836, 57, 19.5, 24, 0 ) ;
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (10836, 60, 34, 60, 0 ) ;
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (10836, 64, 33.25, 30, 0 ) ;
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (10837, 13, 6, 6, 0 ) ;
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (10837, 40, 18.4, 25, 0 ) ;
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (10837, 47, 9.5, 40, 0.25 ) ;
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (10837, 76, 18, 21, 0.25 ) ;
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (10838, 1, 18, 4, 0.25 ) ;
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (10838, 18, 62.5, 25, 0.25 ) ;
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (10838, 36, 19, 50, 0.25 ) ;
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (10839, 58, 13.25, 30, 0.1 ) ;
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (10839, 72, 34.8, 15, 0.1 ) ;
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (10840, 25, 14, 6, 0.2 ) ;
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (10840, 39, 18, 10, 0.2 ) ;
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (10841, 10, 31, 16, 0 ) ;
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (10841, 56, 38, 30, 0 ) ;
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (10841, 59, 55, 50, 0 ) ;
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (10841, 77, 13, 15, 0 ) ;
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (10842, 11, 21, 15, 0 ) ;
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (10842, 43, 46, 5, 0 ) ;
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (10842, 68, 12.5, 20, 0 ) ;
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (10842, 70, 15, 12, 0 ) ;
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (10843, 51, 53, 4, 0.25 ) ;
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (10844, 22, 21, 35, 0 ) ;
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (10845, 23, 9, 70, 0.1 ) ;
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (10845, 35, 18, 25, 0.1 ) ;
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (10845, 42, 14, 42, 0.1 ) ;
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (10845, 58, 13.25, 60, 0.1 ) ;
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (10845, 64, 33.25, 48, 0 ) ;
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (10846, 4, 22, 21, 0 ) ;
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (10846, 70, 15, 30, 0 ) ;
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (10846, 74, 10, 20, 0 ) ;
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (10847, 1, 18, 80, 0.2 ) ;
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (10847, 19, 9.2, 12, 0.2 ) ;
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (10847, 37, 26, 60, 0.2 ) ;
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (10847, 45, 9.5, 36, 0.2 ) ;
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (10847, 60, 34, 45, 0.2 ) ;
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (10847, 71, 21.5, 55, 0.2 ) ;
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (10848, 5, 21.35, 30, 0 ) ;
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (10848, 9, 97, 3, 0 ) ;
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (10849, 3, 10, 49, 0 ) ;
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (10849, 26, 31.23, 18, 0.15 ) ;
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (10850, 25, 14, 20, 0.15 ) ;
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (10850, 33, 2.5, 4, 0.15 ) ;
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (10850, 70, 15, 30, 0.15 ) ;
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (10851, 2, 19, 5, 0.05 ) ;
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (10851, 25, 14, 10, 0.05 ) ;
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (10851, 57, 19.5, 10, 0.05 ) ;
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (10851, 59, 55, 42, 0.05 ) ;
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (10852, 2, 19, 15, 0 ) ;
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (10852, 17, 39, 6, 0 ) ;
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (10852, 62, 49.3, 50, 0 ) ;
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (10853, 18, 62.5, 10, 0 ) ;
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (10854, 10, 31, 100, 0.15 ) ;
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (10854, 13, 6, 65, 0.15 ) ;
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (10855, 16, 17.45, 50, 0 ) ;
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (10855, 31, 12.5, 14, 0 ) ;
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (10855, 56, 38, 24, 0 ) ;
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (10855, 65, 21.05, 15, 0.15 ) ;
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (10856, 2, 19, 20, 0 ) ;
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (10856, 42, 14, 20, 0 ) ;
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (10857, 3, 10, 30, 0 ) ;
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (10857, 26, 31.23, 35, 0.25 ) ;
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (10857, 29, 123.79, 10, 0.25 ) ;
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (10858, 7, 30, 5, 0 ) ;
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (10858, 27, 43.9, 10, 0 ) ;
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (10858, 70, 15, 4, 0 ) ;
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (10859, 24, 4.5, 40, 0.25 ) ;
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (10859, 54, 7.45, 35, 0.25 ) ;
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (10859, 64, 33.25, 30, 0.25 ) ;
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (10860, 51, 53, 3, 0 ) ;
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (10860, 76, 18, 20, 0 ) ;
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (10861, 17, 39, 42, 0 ) ;
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (10861, 18, 62.5, 20, 0 ) ;
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (10861, 21, 10, 40, 0 ) ;
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (10861, 33, 2.5, 35, 0 ) ;
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (10861, 62, 49.3, 3, 0 ) ;
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (10862, 11, 21, 25, 0 ) ;
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (10862, 52, 7, 8, 0 ) ;
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (10863, 1, 18, 20, 0.15 ) ;
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (10863, 58, 13.25, 12, 0.15 ) ;
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (10864, 35, 18, 4, 0 ) ;
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (10864, 67, 14, 15, 0 ) ;
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (10865, 38, 263.5, 60, 0.05 ) ;
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (10865, 39, 18, 80, 0.05 ) ;
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (10866, 2, 19, 21, 0.25 ) ;
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (10866, 24, 4.5, 6, 0.25 ) ;
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (10866, 30, 25.89, 40, 0.25 ) ;
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (10867, 53, 32.8, 3, 0 ) ;
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (10868, 26, 31.23, 20, 0 ) ;
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (10868, 35, 18, 30, 0 ) ;
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (10868, 49, 20, 42, 0.1 ) ;
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (10869, 1, 18, 40, 0 ) ;
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (10869, 11, 21, 10, 0 ) ;
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (10869, 23, 9, 50, 0 ) ;
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (10869, 68, 12.5, 20, 0 ) ;
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (10870, 35, 18, 3, 0 ) ;
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (10870, 51, 53, 2, 0 ) ;
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (10871, 6, 25, 50, 0.05 ) ;
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (10871, 16, 17.45, 12, 0.05 ) ;
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (10871, 17, 39, 16, 0.05 ) ;
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (10872, 55, 24, 10, 0.05 ) ;
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (10872, 62, 49.3, 20, 0.05 ) ;
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (10872, 64, 33.25, 15, 0.05 ) ;
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (10872, 65, 21.05, 21, 0.05 ) ;
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (10873, 21, 10, 20, 0 ) ;
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (10873, 28, 45.6, 3, 0 ) ;
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (10874, 10, 31, 10, 0 ) ;
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (10875, 19, 9.2, 25, 0 ) ;
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (10875, 47, 9.5, 21, 0.1 ) ;
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (10875, 49, 20, 15, 0 ) ;
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (10876, 46, 12, 21, 0 ) ;
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (10876, 64, 33.25, 20, 0 ) ;
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (10877, 16, 17.45, 30, 0.25 ) ;
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (10877, 18, 62.5, 25, 0 ) ;
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (10878, 20, 81, 20, 0.05 ) ;
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (10879, 40, 18.4, 12, 0 ) ;
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (10879, 65, 21.05, 10, 0 ) ;
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (10879, 76, 18, 10, 0 ) ;
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (10880, 23, 9, 30, 0.2 ) ;
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (10880, 61, 28.5, 30, 0.2 ) ;
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (10880, 70, 15, 50, 0.2 ) ;
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (10881, 73, 15, 10, 0 ) ;
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (10882, 42, 14, 25, 0 ) ;
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (10882, 49, 20, 20, 0.15 ) ;
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (10882, 54, 7.45, 32, 0.15 ) ;
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (10883, 24, 4.5, 8, 0 ) ;
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (10884, 21, 10, 40, 0.05 ) ;
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (10884, 56, 38, 21, 0.05 ) ;
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (10884, 65, 21.05, 12, 0.05 ) ;
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (10885, 2, 19, 20, 0 ) ;
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (10885, 24, 4.5, 12, 0 ) ;
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (10885, 70, 15, 30, 0 ) ;
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (10885, 77, 13, 25, 0 ) ;
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (10886, 10, 31, 70, 0 ) ;
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (10886, 31, 12.5, 35, 0 ) ;
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (10886, 77, 13, 40, 0 ) ;
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (10887, 25, 14, 5, 0 ) ;
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (10888, 2, 19, 20, 0 ) ;
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (10888, 68, 12.5, 18, 0 ) ;
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (10889, 11, 21, 40, 0 ) ;
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (10889, 38, 263.5, 40, 0 ) ;
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (10890, 17, 39, 15, 0 ) ;
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (10890, 34, 14, 10, 0 ) ;
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (10890, 41, 9.65, 14, 0 ) ;
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (10891, 30, 25.89, 15, 0.05 ) ;
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (10892, 59, 55, 40, 0.05 ) ;
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (10893, 8, 40, 30, 0 ) ;
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (10893, 24, 4.5, 10, 0 ) ;
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (10893, 29, 123.79, 24, 0 ) ;
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (10893, 30, 25.89, 35, 0 ) ;
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (10893, 36, 19, 20, 0 ) ;
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (10894, 13, 6, 28, 0.05 ) ;
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (10894, 69, 36, 50, 0.05 ) ;
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (10894, 75, 7.75, 120, 0.05 ) ;
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (10895, 24, 4.5, 110, 0 ) ;
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (10895, 39, 18, 45, 0 ) ;
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (10895, 40, 18.4, 91, 0 ) ;
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (10895, 60, 34, 100, 0 ) ;
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (10896, 45, 9.5, 15, 0 ) ;
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (10896, 56, 38, 16, 0 ) ;
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (10897, 29, 123.79, 80, 0 ) ;
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (10897, 30, 25.89, 36, 0 ) ;
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (10898, 13, 6, 5, 0 ) ;
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (10899, 39, 18, 8, 0.15 ) ;
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (10900, 70, 15, 3, 0.25 ) ;
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (10901, 41, 9.65, 30, 0 ) ;
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (10901, 71, 21.5, 30, 0 ) ;
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (10902, 55, 24, 30, 0.15 ) ;
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (10902, 62, 49.3, 6, 0.15 ) ;
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (10903, 13, 6, 40, 0 ) ;
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (10903, 65, 21.05, 21, 0 ) ;
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (10903, 68, 12.5, 20, 0 ) ;
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (10904, 58, 13.25, 15, 0 ) ;
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (10904, 62, 49.3, 35, 0 ) ;
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (10905, 1, 18, 20, 0.05 ) ;
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (10906, 61, 28.5, 15, 0 ) ;
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (10907, 75, 7.75, 14, 0 ) ;
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (10908, 7, 30, 20, 0.05 ) ;
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (10908, 52, 7, 14, 0.05 ) ;
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (10909, 7, 30, 12, 0 ) ;
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (10909, 16, 17.45, 15, 0 ) ;
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (10909, 41, 9.65, 5, 0 ) ;
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (10910, 19, 9.2, 12, 0 ) ;
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (10910, 49, 20, 10, 0 ) ;
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (10910, 61, 28.5, 5, 0 ) ;
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (10911, 1, 18, 10, 0 ) ;
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (10911, 17, 39, 12, 0 ) ;
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (10911, 67, 14, 15, 0 ) ;
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (10912, 11, 21, 40, 0.25 ) ;
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (10912, 29, 123.79, 60, 0.25 ) ;
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (10913, 4, 22, 30, 0.25 ) ;
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (10913, 33, 2.5, 40, 0.25 ) ;
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (10913, 58, 13.25, 15, 0 ) ;
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (10914, 71, 21.5, 25, 0 ) ;
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (10915, 17, 39, 10, 0 ) ;
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (10915, 33, 2.5, 30, 0 ) ;
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (10915, 54, 7.45, 10, 0 ) ;
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (10916, 16, 17.45, 6, 0 ) ;
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (10916, 32, 32, 6, 0 ) ;
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (10916, 57, 19.5, 20, 0 ) ;
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (10917, 30, 25.89, 1, 0 ) ;
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (10917, 60, 34, 10, 0 ) ;
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (10918, 1, 18, 60, 0.25 ) ;
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (10918, 60, 34, 25, 0.25 ) ;
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (10919, 16, 17.45, 24, 0 ) ;
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (10919, 25, 14, 24, 0 ) ;
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (10919, 40, 18.4, 20, 0 ) ;
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (10920, 50, 16.25, 24, 0 ) ;
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (10921, 35, 18, 10, 0 ) ;
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (10921, 63, 43.9, 40, 0 ) ;
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (10922, 17, 39, 15, 0 ) ;
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (10922, 24, 4.5, 35, 0 ) ;
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (10923, 42, 14, 10, 0.2 ) ;
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (10923, 43, 46, 10, 0.2 ) ;
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (10923, 67, 14, 24, 0.2 ) ;
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (10924, 10, 31, 20, 0.1 ) ;
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (10924, 28, 45.6, 30, 0.1 ) ;
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (10924, 75, 7.75, 6, 0 ) ;
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (10925, 36, 19, 25, 0.15 ) ;
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (10925, 52, 7, 12, 0.15 ) ;
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (10926, 11, 21, 2, 0 ) ;
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (10926, 13, 6, 10, 0 ) ;
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (10926, 19, 9.2, 7, 0 ) ;
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (10926, 72, 34.8, 10, 0 ) ;
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (10927, 20, 81, 5, 0 ) ;
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (10927, 52, 7, 5, 0 ) ;
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (10927, 76, 18, 20, 0 ) ;
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (10928, 47, 9.5, 5, 0 ) ;
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (10928, 76, 18, 5, 0 ) ;
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (10929, 21, 10, 60, 0 ) ;
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (10929, 75, 7.75, 49, 0 ) ;
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (10929, 77, 13, 15, 0 ) ;
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (10930, 21, 10, 36, 0 ) ;
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (10930, 27, 43.9, 25, 0 ) ;
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (10930, 55, 24, 25, 0.2 ) ;
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (10930, 58, 13.25, 30, 0.2 ) ;
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (10931, 13, 6, 42, 0.15 ) ;
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (10931, 57, 19.5, 30, 0 ) ;
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (10932, 16, 17.45, 30, 0.1 ) ;
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (10932, 62, 49.3, 14, 0.1 ) ;
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (10932, 72, 34.8, 16, 0 ) ;
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (10932, 75, 7.75, 20, 0.1 ) ;
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (10933, 53, 32.8, 2, 0 ) ;
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (10933, 61, 28.5, 30, 0 ) ;
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (10934, 6, 25, 20, 0 ) ;
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (10935, 1, 18, 21, 0 ) ;
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (10935, 18, 62.5, 4, 0.25 ) ;
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (10935, 23, 9, 8, 0.25 ) ;
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (10936, 36, 19, 30, 0.2 ) ;
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (10937, 28, 45.6, 8, 0 ) ;
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (10937, 34, 14, 20, 0 ) ;
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (10938, 13, 6, 20, 0.25 ) ;
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (10938, 43, 46, 24, 0.25 ) ;
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (10938, 60, 34, 49, 0.25 ) ;
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (10938, 71, 21.5, 35, 0.25 ) ;
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (10939, 2, 19, 10, 0.15 ) ;
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (10939, 67, 14, 40, 0.15 ) ;
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (10940, 7, 30, 8, 0 ) ;
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (10940, 13, 6, 20, 0 ) ;
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (10941, 31, 12.5, 44, 0.25 ) ;
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (10941, 62, 49.3, 30, 0.25 ) ;
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (10941, 68, 12.5, 80, 0.25 ) ;
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (10941, 72, 34.8, 50, 0 ) ;
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (10942, 49, 20, 28, 0 ) ;
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (10943, 13, 6, 15, 0 ) ;
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (10943, 22, 21, 21, 0 ) ;
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (10943, 46, 12, 15, 0 ) ;
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (10944, 11, 21, 5, 0.25 ) ;
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (10944, 44, 19.45, 18, 0.25 ) ;
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (10944, 56, 38, 18, 0 ) ;
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (10945, 13, 6, 20, 0 ) ;
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (10945, 31, 12.5, 10, 0 ) ;
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (10946, 10, 31, 25, 0 ) ;
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (10946, 24, 4.5, 25, 0 ) ;
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (10946, 77, 13, 40, 0 ) ;
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (10947, 59, 55, 4, 0 ) ;
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (10948, 50, 16.25, 9, 0 ) ;
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (10948, 51, 53, 40, 0 ) ;
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (10948, 55, 24, 4, 0 ) ;
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (10949, 6, 25, 12, 0 ) ;
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (10949, 10, 31, 30, 0 ) ;
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (10949, 17, 39, 6, 0 ) ;
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (10949, 62, 49.3, 60, 0 ) ;
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (10950, 4, 22, 5, 0 ) ;
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (10951, 33, 2.5, 15, 0.05 ) ;
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (10951, 41, 9.65, 6, 0.05 ) ;
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (10951, 75, 7.75, 50, 0.05 ) ;
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (10952, 6, 25, 16, 0.05 ) ;
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (10952, 28, 45.6, 2, 0 ) ;
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (10953, 20, 81, 50, 0.05 ) ;
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (10953, 31, 12.5, 50, 0.05 ) ;
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (10954, 16, 17.45, 28, 0.15 ) ;
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (10954, 31, 12.5, 25, 0.15 ) ;
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (10954, 45, 9.5, 30, 0 ) ;
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (10954, 60, 34, 24, 0.15 ) ;
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (10955, 75, 7.75, 12, 0.2 ) ;
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (10956, 21, 10, 12, 0 ) ;
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (10956, 47, 9.5, 14, 0 ) ;
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (10956, 51, 53, 8, 0 ) ;
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (10957, 30, 25.89, 30, 0 ) ;
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (10957, 35, 18, 40, 0 ) ;
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (10957, 64, 33.25, 8, 0 ) ;
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (10958, 5, 21.35, 20, 0 ) ;
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (10958, 7, 30, 6, 0 ) ;
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (10958, 72, 34.8, 5, 0 ) ;
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (10959, 75, 7.75, 20, 0.15 ) ;
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (10960, 24, 4.5, 10, 0.25 ) ;
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (10960, 41, 9.65, 24, 0 ) ;
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (10961, 52, 7, 6, 0.05 ) ;
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (10961, 76, 18, 60, 0 ) ;
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (10962, 7, 30, 45, 0 ) ;
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (10962, 13, 6, 77, 0 ) ;
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (10962, 53, 32.8, 20, 0 ) ;
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (10962, 69, 36, 9, 0 ) ;
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (10962, 76, 18, 44, 0 ) ;
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (10963, 60, 34, 2, 0.15 ) ;
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (10964, 18, 62.5, 6, 0 ) ;
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (10964, 38, 263.5, 5, 0 ) ;
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (10964, 69, 36, 10, 0 ) ;
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (10965, 51, 53, 16, 0 ) ;
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (10966, 37, 26, 8, 0 ) ;
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (10966, 56, 38, 12, 0.15 ) ;
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (10966, 62, 49.3, 12, 0.15 ) ;
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (10967, 19, 9.2, 12, 0 ) ;
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (10967, 49, 20, 40, 0 ) ;
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (10968, 12, 38, 30, 0 ) ;
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (10968, 24, 4.5, 30, 0 ) ;
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (10968, 64, 33.25, 4, 0 ) ;
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (10969, 46, 12, 9, 0 ) ;
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (10970, 52, 7, 40, 0.2 ) ;
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (10971, 29, 123.79, 14, 0 ) ;
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (10972, 17, 39, 6, 0 ) ;
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (10972, 33, 2.5, 7, 0 ) ;
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (10973, 26, 31.23, 5, 0 ) ;
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (10973, 41, 9.65, 6, 0 ) ;
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (10973, 75, 7.75, 10, 0 ) ;
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (10974, 63, 43.9, 10, 0 ) ;
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (10975, 8, 40, 16, 0 ) ;
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (10975, 75, 7.75, 10, 0 ) ;
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (10976, 28, 45.6, 20, 0 ) ;
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (10977, 39, 18, 30, 0 ) ;
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (10977, 47, 9.5, 30, 0 ) ;
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (10977, 51, 53, 10, 0 ) ;
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (10977, 63, 43.9, 20, 0 ) ;
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (10978, 8, 40, 20, 0.15 ) ;
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (10978, 21, 10, 40, 0.15 ) ;
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (10978, 40, 18.4, 10, 0 ) ;
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (10978, 44, 19.45, 6, 0.15 ) ;
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (10979, 7, 30, 18, 0 ) ;
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (10979, 12, 38, 20, 0 ) ;
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (10979, 24, 4.5, 80, 0 ) ;
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (10979, 27, 43.9, 30, 0 ) ;
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (10979, 31, 12.5, 24, 0 ) ;
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (10979, 63, 43.9, 35, 0 ) ;
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (10980, 75, 7.75, 40, 0.2 ) ;
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (10981, 38, 263.5, 60, 0 ) ;
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (10982, 7, 30, 20, 0 ) ;
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (10982, 43, 46, 9, 0 ) ;
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (10983, 13, 6, 84, 0.15 ) ;
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (10983, 57, 19.5, 15, 0 ) ;
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (10984, 16, 17.45, 55, 0 ) ;
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (10984, 24, 4.5, 20, 0 ) ;
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (10984, 36, 19, 40, 0 ) ;
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (10985, 16, 17.45, 36, 0.1 ) ;
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (10985, 18, 62.5, 8, 0.1 ) ;
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (10985, 32, 32, 35, 0.1 ) ;
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (10986, 11, 21, 30, 0 ) ;
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (10986, 20, 81, 15, 0 ) ;
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (10986, 76, 18, 10, 0 ) ;
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (10986, 77, 13, 15, 0 ) ;
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (10987, 7, 30, 60, 0 ) ;
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (10987, 43, 46, 6, 0 ) ;
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (10987, 72, 34.8, 20, 0 ) ;
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (10988, 7, 30, 60, 0 ) ;
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (10988, 62, 49.3, 40, 0.1 ) ;
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (10989, 6, 25, 40, 0 ) ;
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (10989, 11, 21, 15, 0 ) ;
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (10989, 41, 9.65, 4, 0 ) ;
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (10990, 21, 10, 65, 0 ) ;
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (10990, 34, 14, 60, 0.15 ) ;
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (10990, 55, 24, 65, 0.15 ) ;
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (10990, 61, 28.5, 66, 0.15 ) ;
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (10991, 2, 19, 50, 0.2 ) ;
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (10991, 70, 15, 20, 0.2 ) ;
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (10991, 76, 18, 90, 0.2 ) ;
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (10992, 72, 34.8, 2, 0 ) ;
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (10993, 29, 123.79, 50, 0.25 ) ;
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (10993, 41, 9.65, 35, 0.25 ) ;
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (10994, 59, 55, 18, 0.05 ) ;
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (10995, 51, 53, 20, 0 ) ;
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (10995, 60, 34, 4, 0 ) ;
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (10996, 42, 14, 40, 0 ) ;
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (10997, 32, 32, 50, 0 ) ;
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (10997, 46, 12, 20, 0.25 ) ;
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (10997, 52, 7, 20, 0.25 ) ;
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (10998, 24, 4.5, 12, 0 ) ;
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (10998, 61, 28.5, 7, 0 ) ;
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (10998, 74, 10, 20, 0 ) ;
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (10998, 75, 7.75, 30, 0 ) ;
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (10999, 41, 9.65, 20, 0.05 ) ;
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (10999, 51, 53, 15, 0.05 ) ;
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (10999, 77, 13, 21, 0.05 ) ;
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (11000, 4, 22, 25, 0.25 ) ;
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (11000, 24, 4.5, 30, 0.25 ) ;
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (11000, 77, 13, 30, 0 ) ;
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (11001, 7, 30, 60, 0 ) ;
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (11001, 22, 21, 25, 0 ) ;
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (11001, 46, 12, 25, 0 ) ;
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (11001, 55, 24, 6, 0 ) ;
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (11002, 13, 6, 56, 0 ) ;
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (11002, 35, 18, 15, 0.15 ) ;
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (11002, 42, 14, 24, 0.15 ) ;
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (11002, 55, 24, 40, 0 ) ;
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (11003, 1, 18, 4, 0 ) ;
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (11003, 40, 18.4, 10, 0 ) ;
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (11003, 52, 7, 10, 0 ) ;
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (11004, 26, 31.23, 6, 0 ) ;
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (11004, 76, 18, 6, 0 ) ;
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (11005, 1, 18, 2, 0 ) ;
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (11005, 59, 55, 10, 0 ) ;
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (11006, 1, 18, 8, 0 ) ;
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (11006, 29, 123.79, 2, 0.25 ) ;
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (11007, 8, 40, 30, 0 ) ;
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (11007, 29, 123.79, 10, 0 ) ;
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (11007, 42, 14, 14, 0 ) ;
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (11008, 28, 45.6, 70, 0.05 ) ;
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (11008, 34, 14, 90, 0.05 ) ;
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (11008, 71, 21.5, 21, 0 ) ;
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (11009, 24, 4.5, 12, 0 ) ;
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (11009, 36, 19, 18, 0.25 ) ;
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (11009, 60, 34, 9, 0 ) ;
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (11010, 7, 30, 20, 0 ) ;
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (11010, 24, 4.5, 10, 0 ) ;
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (11011, 58, 13.25, 40, 0.05 ) ;
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (11011, 71, 21.5, 20, 0 ) ;
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (11012, 19, 9.2, 50, 0.05 ) ;
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (11012, 60, 34, 36, 0.05 ) ;
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (11012, 71, 21.5, 60, 0.05 ) ;
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (11013, 23, 9, 10, 0 ) ;
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (11013, 42, 14, 4, 0 ) ;
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (11013, 45, 9.5, 20, 0 ) ;
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (11013, 68, 12.5, 2, 0 ) ;
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (11014, 41, 9.65, 28, 0.1 ) ;
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (11015, 30, 25.89, 15, 0 ) ;
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (11015, 77, 13, 18, 0 ) ;
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (11016, 31, 12.5, 15, 0 ) ;
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (11016, 36, 19, 16, 0 ) ;
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (11017, 3, 10, 25, 0 ) ;
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (11017, 59, 55, 110, 0 ) ;
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (11017, 70, 15, 30, 0 ) ;
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (11018, 12, 38, 20, 0 ) ;
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (11018, 18, 62.5, 10, 0 ) ;
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (11018, 56, 38, 5, 0 ) ;
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (11019, 46, 12, 3, 0 ) ;
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (11019, 49, 20, 2, 0 ) ;
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (11020, 10, 31, 24, 0.15 ) ;
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (11021, 2, 19, 11, 0.25 ) ;
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (11021, 20, 81, 15, 0 ) ;
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (11021, 26, 31.23, 63, 0 ) ;
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (11021, 51, 53, 44, 0.25 ) ;
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (11021, 72, 34.8, 35, 0 ) ;
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (11022, 19, 9.2, 35, 0 ) ;
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (11022, 69, 36, 30, 0 ) ;
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (11023, 7, 30, 4, 0 ) ;
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (11023, 43, 46, 30, 0 ) ;
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (11024, 26, 31.23, 12, 0 ) ;
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (11024, 33, 2.5, 30, 0 ) ;
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (11024, 65, 21.05, 21, 0 ) ;
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (11024, 71, 21.5, 50, 0 ) ;
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (11025, 1, 18, 10, 0.1 ) ;
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (11025, 13, 6, 20, 0.1 ) ;
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (11026, 18, 62.5, 8, 0 ) ;
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (11026, 51, 53, 10, 0 ) ;
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (11027, 24, 4.5, 30, 0.25 ) ;
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (11027, 62, 49.3, 21, 0.25 ) ;
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (11028, 55, 24, 35, 0 ) ;
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (11028, 59, 55, 24, 0 ) ;
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (11029, 56, 38, 20, 0 ) ;
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (11029, 63, 43.9, 12, 0 ) ;
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (11030, 2, 19, 100, 0.25 ) ;
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (11030, 5, 21.35, 70, 0 ) ;
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (11030, 29, 123.79, 60, 0.25 ) ;
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (11030, 59, 55, 100, 0.25 ) ;
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (11031, 1, 18, 45, 0 ) ;
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (11031, 13, 6, 80, 0 ) ;
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (11031, 24, 4.5, 21, 0 ) ;
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (11031, 64, 33.25, 20, 0 ) ;
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (11031, 71, 21.5, 16, 0 ) ;
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (11032, 36, 19, 35, 0 ) ;
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (11032, 38, 263.5, 25, 0 ) ;
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (11032, 59, 55, 30, 0 ) ;
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (11033, 53, 32.8, 70, 0.1 ) ;
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (11033, 69, 36, 36, 0.1 ) ;
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (11034, 21, 10, 15, 0.1 ) ;
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (11034, 44, 19.45, 12, 0 ) ;
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (11034, 61, 28.5, 6, 0 ) ;
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (11035, 1, 18, 10, 0 ) ;
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (11035, 35, 18, 60, 0 ) ;
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (11035, 42, 14, 30, 0 ) ;
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (11035, 54, 7.45, 10, 0 ) ;
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (11036, 13, 6, 7, 0 ) ;
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (11036, 59, 55, 30, 0 ) ;
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (11037, 70, 15, 4, 0 ) ;
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (11038, 40, 18.4, 5, 0.2 ) ;
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (11038, 52, 7, 2, 0 ) ;
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (11038, 71, 21.5, 30, 0 ) ;
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (11039, 28, 45.6, 20, 0 ) ;
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (11039, 35, 18, 24, 0 ) ;
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (11039, 49, 20, 60, 0 ) ;
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (11039, 57, 19.5, 28, 0 ) ;
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (11040, 21, 10, 20, 0 ) ;
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (11041, 2, 19, 30, 0.2 ) ;
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (11041, 63, 43.9, 30, 0 ) ;
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (11042, 44, 19.45, 15, 0 ) ;
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (11042, 61, 28.5, 4, 0 ) ;
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (11043, 11, 21, 10, 0 ) ;
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (11044, 62, 49.3, 12, 0 ) ;
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (11045, 33, 2.5, 15, 0 ) ;
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (11045, 51, 53, 24, 0 ) ;
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (11046, 12, 38, 20, 0.05 ) ;
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (11046, 32, 32, 15, 0.05 ) ;
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (11046, 35, 18, 18, 0.05 ) ;
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (11047, 1, 18, 25, 0.25 ) ;
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (11047, 5, 21.35, 30, 0.25 ) ;
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (11048, 68, 12.5, 42, 0 ) ;
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (11049, 2, 19, 10, 0.2 ) ;
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (11049, 12, 38, 4, 0.2 ) ;
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (11050, 76, 18, 50, 0.1 ) ;
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (11051, 24, 4.5, 10, 0.2 ) ;
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (11052, 43, 46, 30, 0.2 ) ;
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (11052, 61, 28.5, 10, 0.2 ) ;
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (11053, 18, 62.5, 35, 0.2 ) ;
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (11053, 32, 32, 20, 0 ) ;
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (11053, 64, 33.25, 25, 0.2 ) ;
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (11054, 33, 2.5, 10, 0 ) ;
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (11054, 67, 14, 20, 0 ) ;
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (11055, 24, 4.5, 15, 0 ) ;
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (11055, 25, 14, 15, 0 ) ;
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (11055, 51, 53, 20, 0 ) ;
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (11055, 57, 19.5, 20, 0 ) ;
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (11056, 7, 30, 40, 0 ) ;
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (11056, 55, 24, 35, 0 ) ;
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (11056, 60, 34, 50, 0 ) ;
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (11057, 70, 15, 3, 0 ) ;
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (11058, 21, 10, 3, 0 ) ;
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (11058, 60, 34, 21, 0 ) ;
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (11058, 61, 28.5, 4, 0 ) ;
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (11059, 13, 6, 30, 0 ) ;
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (11059, 17, 39, 12, 0 ) ;
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (11059, 60, 34, 35, 0 ) ;
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (11060, 60, 34, 4, 0 ) ;
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (11060, 77, 13, 10, 0 ) ;
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (11061, 60, 34, 15, 0 ) ;
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (11062, 53, 32.8, 10, 0.2 ) ;
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (11062, 70, 15, 12, 0.2 ) ;
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (11063, 34, 14, 30, 0 ) ;
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (11063, 40, 18.4, 40, 0.1 ) ;
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (11063, 41, 9.65, 30, 0.1 ) ;
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (11064, 17, 39, 77, 0.1 ) ;
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (11064, 41, 9.65, 12, 0 ) ;
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (11064, 53, 32.8, 25, 0.1 ) ;
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (11064, 55, 24, 4, 0.1 ) ;
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (11064, 68, 12.5, 55, 0 ) ;
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (11065, 30, 25.89, 4, 0.25 ) ;
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (11065, 54, 7.45, 20, 0.25 ) ;
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (11066, 16, 17.45, 3, 0 ) ;
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (11066, 19, 9.2, 42, 0 ) ;
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (11066, 34, 14, 35, 0 ) ;
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (11067, 41, 9.65, 9, 0 ) ;
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (11068, 28, 45.6, 8, 0.15 ) ;
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (11068, 43, 46, 36, 0.15 ) ;
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (11068, 77, 13, 28, 0.15 ) ;
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (11069, 39, 18, 20, 0 ) ;
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (11070, 1, 18, 40, 0.15 ) ;
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (11070, 2, 19, 20, 0.15 ) ;
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (11070, 16, 17.45, 30, 0.15 ) ;
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (11070, 31, 12.5, 20, 0 ) ;
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (11071, 7, 30, 15, 0.05 ) ;
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (11071, 13, 6, 10, 0.05 ) ;
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (11072, 2, 19, 8, 0 ) ;
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (11072, 41, 9.65, 40, 0 ) ;
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (11072, 50, 16.25, 22, 0 ) ;
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (11072, 64, 33.25, 130, 0 ) ;
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (11073, 11, 21, 10, 0 ) ;
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (11073, 24, 4.5, 20, 0 ) ;
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (11074, 16, 17.45, 14, 0.05 ) ;
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (11075, 2, 19, 10, 0.15 ) ;
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (11075, 46, 12, 30, 0.15 ) ;
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (11075, 76, 18, 2, 0.15 ) ;
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (11076, 6, 25, 20, 0.25 ) ;
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (11076, 14, 23.25, 20, 0.25 ) ;
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (11076, 19, 9.2, 10, 0.25 ) ;
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (11077, 2, 19, 24, 0.2 ) ;
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (11077, 3, 10, 4, 0 ) ;
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (11077, 4, 22, 1, 0 ) ;
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (11077, 6, 25, 1, 0.02 ) ;
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (11077, 7, 30, 1, 0.05 ) ;
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (11077, 8, 40, 2, 0.1 ) ;
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (11077, 10, 31, 1, 0 ) ;
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (11077, 12, 38, 2, 0.05 ) ;
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (11077, 13, 6, 4, 0 ) ;
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (11077, 14, 23.25, 1, 0.03 ) ;
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (11077, 16, 17.45, 2, 0.03 ) ;
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (11077, 20, 81, 1, 0.04 ) ;
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (11077, 23, 9, 2, 0 ) ;
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (11077, 32, 32, 1, 0 ) ;
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (11077, 39, 18, 2, 0.05 ) ;
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (11077, 41, 9.65, 3, 0 ) ;
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (11077, 46, 12, 3, 0.02 ) ;
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (11077, 52, 7, 2, 0 ) ;
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (11077, 55, 24, 2, 0 ) ;
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (11077, 60, 34, 2, 0.06 ) ;
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (11077, 64, 33.25, 2, 0.03 ) ;
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (11077, 66, 17, 1, 0 ) ;
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (11077, 73, 15, 2, 0.01 ) ;
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (11077, 75, 7.75, 4, 0 ) ;
+INSERT INTO GHTDB."Order Details" ( OrderID, ProductID, UnitPrice, Quantity, Discount ) VALUES (11077, 77, 13, 2, 0 ) ;
+
+INSERT INTO GHTDB.TYPES_SIMPLE (ID, T_NUMBER, T_LONG, T_FLOAT, T_VARCHAR, T_NVARCHAR, T_CHAR, T_NCHAR) VALUES ('0', 21, 'asdasd', 7.23157, 'heh', 'heh', 'heh', 'heh');
+INSERT INTO GHTDB.TYPES_EXTENDED (ID, T_RAW, T_LONGRAW, T_DATE, T_BLOB, T_CLOB, T_NCLOB) VALUES ('0', HexToRaw('a79d8798cb7987987a'), HexToRaw('a79d8798cb7987987a'), '02/02/02 02:02:02 PM', HexToRaw('a79d8798cb7987987a'), 'heh', 'heh');
+INSERT INTO GHTDB.TYPES_EXTENDED (ID, T_DATE) VALUES ('MIN', '01/01/01 12:00:00 AM');
+
+INSERT INTO GHTDB_EX.CUSTOMERS ( CustomerID, CompanyName, ContactName, ContactTitle, Address, City, Region, PostalCode, Country, Phone, Fax,Picture ) VALUES ('ALFKI', 'Alfreds Futterkiste', 'Maria Anders', 'Sales Representative', 'Obere Str. 57', 'Berlin', NULL, '12209', 'Germany', '030-0074321', '030-0076545',10 ) ;
+INSERT INTO GHTDB_EX.CUSTOMERS ( CustomerID, CompanyName, ContactName, ContactTitle, Address, City, Region, PostalCode, Country, Phone, Fax,Picture ) VALUES ('ANATR', 'Ana Trujillo Emparedados y helados', 'Ana Trujillo', 'Owner', 'Avda. de la Constitución 2222', 'México D.F.', NULL, '05021', 'Mexico', '(5) 555-4729', '(5) 555-3745',20 ) ;
+INSERT INTO GHTDB_EX.CUSTOMERS ( CustomerID, CompanyName, ContactName, ContactTitle, Address, City, Region, PostalCode, Country, Phone, Fax ) VALUES ('ANTON', 'Antonio Moreno Taquería', 'Antonio Moreno', 'Owner', 'Mataderos  2312', 'México D.F.', NULL, '05023', 'Mexico', '(5) 555-3932', NULL ) ;
+INSERT INTO GHTDB_EX.CUSTOMERS ( CustomerID, CompanyName, ContactName, ContactTitle, Address, City, Region, PostalCode, Country, Phone, Fax ) VALUES ('AROUT', 'Around the Horn', 'Thomas Hardy', 'Sales Representative', '120 Hanover Sq.', 'London', NULL, 'WA1 1DP', 'UK', '(171) 555-7788', '(171) 555-6750' ) ;
+INSERT INTO GHTDB_EX.CUSTOMERS ( CustomerID, CompanyName, ContactName, ContactTitle, Address, City, Region, PostalCode, Country, Phone, Fax ) VALUES ('BERGS', 'Berglunds snabbköp', 'Christina Berglund', 'Order Administrator', 'Berguvsvägen  8', 'LuleÃ¥', NULL, 'S-958 22', 'Sweden', '0921-12 34 65', '0921-12 34 67' ) ;
+INSERT INTO GHTDB_EX.CUSTOMERS ( CustomerID, CompanyName, ContactName, ContactTitle, Address, City, Region, PostalCode, Country, Phone, Fax ) VALUES ('BLAUS', 'Blauer See Delikatessen', 'Hanna Moos', 'Sales Representative', 'Forsterstr. 57', 'Mannheim', NULL, '68306', 'Germany', '0621-08460', '0621-08924' ) ;
+INSERT INTO GHTDB_EX.CUSTOMERS ( CustomerID, CompanyName, ContactName, ContactTitle, Address, City, Region, PostalCode, Country, Phone, Fax ) VALUES ('BLONP', 'Blondesddsl père et fils', 'Frédérique Citeaux', 'Marketing Manager', '24, place Kléber', 'Strasbourg', NULL, '67000', 'France', '88.60.15.31', '88.60.15.32' ) ;
+INSERT INTO GHTDB_EX.CUSTOMERS ( CustomerID, CompanyName, ContactName, ContactTitle, Address, City, Region, PostalCode, Country, Phone, Fax ) VALUES ('BOLID', 'Bólido Comidas preparadas', 'Martín Sommer', 'Owner', 'C/ Araquil, 67', 'Madrid', NULL, '28023', 'Spain', '(91) 555 22 82', '(91) 555 91 99' ) ;
+INSERT INTO GHTDB_EX.CUSTOMERS ( CustomerID, CompanyName, ContactName, ContactTitle, Address, City, Region, PostalCode, Country, Phone, Fax ) VALUES ('BONAP', 'Bon app''', 'Laurence Lebihan', 'Owner', '12, rue des Bouchers', 'Marseille', NULL, '13008', 'France', '91.24.45.40', '91.24.45.41' ) ;
+INSERT INTO GHTDB_EX.CUSTOMERS ( CustomerID, CompanyName, ContactName, ContactTitle, Address, City, Region, PostalCode, Country, Phone, Fax ) VALUES ('BOTTM', 'Bottom-Dollar Markets', 'Elizabeth Lincoln', 'Accounting Manager', '23 Tsawassen Blvd.', 'Tsawassen', 'BC', 'T2F 8M4', 'Canada', '(604) 555-4729', '(604) 555-3745' ) ;
+INSERT INTO GHTDB_EX.CUSTOMERS ( CustomerID, CompanyName, ContactName, ContactTitle, Address, City, Region, PostalCode, Country, Phone, Fax ) VALUES ('BSBEV', 'B''s Beverages', 'Victoria Ashworth', 'Sales Representative', 'Fauntleroy Circus', 'London', NULL, 'EC2 5NT', 'UK', '(171) 555-1212', NULL ) ;
+INSERT INTO GHTDB_EX.CUSTOMERS ( CustomerID, CompanyName, ContactName, ContactTitle, Address, City, Region, PostalCode, Country, Phone, Fax ) VALUES ('CACTU', 'Cactus Comidas para llevar', 'Patricio Simpson', 'Sales Agent', 'Cerrito 333', 'Buenos Aires', NULL, '1010', 'Argentina', '(1) 135-5555', '(1) 135-4892' ) ;
+INSERT INTO GHTDB_EX.CUSTOMERS ( CustomerID, CompanyName, ContactName, ContactTitle, Address, City, Region, PostalCode, Country, Phone, Fax ) VALUES ('CENTC', 'Centro comercial Moctezuma', 'Francisco Chang', 'Marketing Manager', 'Sierras de Granada 9993', 'México D.F.', NULL, '05022', 'Mexico', '(5) 555-3392', '(5) 555-7293' ) ;
+INSERT INTO GHTDB_EX.CUSTOMERS ( CustomerID, CompanyName, ContactName, ContactTitle, Address, City, Region, PostalCode, Country, Phone, Fax ) VALUES ('CHOPS', 'Chop-suey Chinese', 'Yang Wang', 'Owner', 'Hauptstr. 29', 'Bern', NULL, '3012', 'Switzerland', '0452-076545', NULL ) ;
+INSERT INTO GHTDB_EX.CUSTOMERS ( CustomerID, CompanyName, ContactName, ContactTitle, Address, City, Region, PostalCode, Country, Phone, Fax ) VALUES ('COMMI', 'Comércio Mineiro', 'Pedro Afonso', 'Sales Associate', 'Av. dos Lusíadas, 23', 'Sao Paulo', 'SP', '05432-043', 'Brazil', '(11) 555-7647', NULL ) ;
+INSERT INTO GHTDB_EX.CUSTOMERS ( CustomerID, CompanyName, ContactName, ContactTitle, Address, City, Region, PostalCode, Country, Phone, Fax ) VALUES ('CONSH', 'Consolidated Holdings', 'Elizabeth Brown', 'Sales Representative', 'Berkeley Gardens 12  Brewery', 'London', NULL, 'WX1 6LT', 'UK', '(171) 555-2282', '(171) 555-9199' ) ;
+INSERT INTO GHTDB_EX.CUSTOMERS ( CustomerID, CompanyName, ContactName, ContactTitle, Address, City, Region, PostalCode, Country, Phone, Fax ) VALUES ('DRACD', 'Drachenblut Delikatessen', 'Sven Ottlieb', 'Order Administrator', 'Walserweg 21', 'Aachen', NULL, '52066', 'Germany', '0241-039123', '0241-059428' ) ;
+INSERT INTO GHTDB_EX.CUSTOMERS ( CustomerID, CompanyName, ContactName, ContactTitle, Address, City, Region, PostalCode, Country, Phone, Fax ) VALUES ('DUMON', 'Du monde entier', 'Janine Labrune', 'Owner', '67, rue des Cinquante Otages', 'Nantes', NULL, '44000', 'France', '40.67.88.88', '40.67.89.89' ) ;
+INSERT INTO GHTDB_EX.CUSTOMERS ( CustomerID, CompanyName, ContactName, ContactTitle, Address, City, Region, PostalCode, Country, Phone, Fax ) VALUES ('EASTC', 'Eastern Connection', 'Ann Devon', 'Sales Agent', '35 King George', 'London', NULL, 'WX3 6FW', 'UK', '(171) 555-0297', '(171) 555-3373' ) ;
+INSERT INTO GHTDB_EX.CUSTOMERS ( CustomerID, CompanyName, ContactName, ContactTitle, Address, City, Region, PostalCode, Country, Phone, Fax ) VALUES ('ERNSH', 'Ernst Handel', 'Roland Mendel', 'Sales Manager', 'Kirchgasse 6', 'Graz', NULL, '8010', 'Austria', '7675-3425', '7675-3426' ) ;
+INSERT INTO GHTDB_EX.CUSTOMERS ( CustomerID, CompanyName, ContactName, ContactTitle, Address, City, Region, PostalCode, Country, Phone, Fax ) VALUES ('FAMIA', 'Familia Arquibaldo', 'Aria Cruz', 'Marketing Assistant', 'Rua Orós, 92', 'Sao Paulo', 'SP', '05442-030', 'Brazil', '(11) 555-9857', NULL ) ;
+INSERT INTO GHTDB_EX.CUSTOMERS ( CustomerID, CompanyName, ContactName, ContactTitle, Address, City, Region, PostalCode, Country, Phone, Fax ) VALUES ('FISSA', 'FISSA Fabrica Inter. Salchichas S.A.', 'Diego Roel', 'Accounting Manager', 'C/ Moralzarzal, 86', 'Madrid', NULL, '28034', 'Spain', '(91) 555 94 44', '(91) 555 55 93' ) ;
+INSERT INTO GHTDB_EX.CUSTOMERS ( CustomerID, CompanyName, ContactName, ContactTitle, Address, City, Region, PostalCode, Country, Phone, Fax ) VALUES ('FOLIG', 'Folies gourmandes', 'Martine Rancé', 'Assistant Sales Agent', '184, chaussée de Tournai', 'Lille', NULL, '59000', 'France', '20.16.10.16', '20.16.10.17' ) ;
+INSERT INTO GHTDB_EX.CUSTOMERS ( CustomerID, CompanyName, ContactName, ContactTitle, Address, City, Region, PostalCode, Country, Phone, Fax ) VALUES ('FOLKO', 'Folk och fä HB', 'Maria Larsson', 'Owner', 'Ã…kergatan 24', 'Bräcke', NULL, 'S-844 67', 'Sweden', '0695-34 67 21', NULL ) ;
+INSERT INTO GHTDB_EX.CUSTOMERS ( CustomerID, CompanyName, ContactName, ContactTitle, Address, City, Region, PostalCode, Country, Phone, Fax ) VALUES ('FRANK', 'Frankenversand', 'Peter Franken', 'Marketing Manager', 'Berliner Platz 43', 'München', NULL, '80805', 'Germany', '089-0877310', '089-0877451' ) ;
+INSERT INTO GHTDB_EX.CUSTOMERS ( CustomerID, CompanyName, ContactName, ContactTitle, Address, City, Region, PostalCode, Country, Phone, Fax ) VALUES ('FRANR', 'France restauration', 'Carine Schmitt', 'Marketing Manager', '54, rue Royale', 'Nantes', NULL, '44000', 'France', '40.32.21.21', '40.32.21.20' ) ;
+INSERT INTO GHTDB_EX.CUSTOMERS ( CustomerID, CompanyName, ContactName, ContactTitle, Address, City, Region, PostalCode, Country, Phone, Fax ) VALUES ('FRANS', 'Franchi S.p.A.', 'Paolo Accorti', 'Sales Representative', 'Via Monte Bianco 34', 'Torino', NULL, '10100', 'Italy', '011-4988260', '011-4988261' ) ;
+INSERT INTO GHTDB_EX.CUSTOMERS ( CustomerID, CompanyName, ContactName, ContactTitle, Address, City, Region, PostalCode, Country, Phone, Fax ) VALUES ('FURIB', 'Furia Bacalhau e Frutos do Mar', 'Lino Rodriguez', 'Sales Manager', 'Jardim das rosas n. 32', 'Lisboa', NULL, '1675', 'Portugal', '(1) 354-2534', '(1) 354-2535' ) ;
+INSERT INTO GHTDB_EX.CUSTOMERS ( CustomerID, CompanyName, ContactName, ContactTitle, Address, City, Region, PostalCode, Country, Phone, Fax ) VALUES ('GALED', 'Galería del gastrónomo', 'Eduardo Saavedra', 'Marketing Manager', 'Rambla de Cataluña, 23', 'Barcelona', NULL, '08022', 'Spain', '(93) 203 4560', '(93) 203 4561' ) ;
+INSERT INTO GHTDB_EX.CUSTOMERS ( CustomerID, CompanyName, ContactName, ContactTitle, Address, City, Region, PostalCode, Country, Phone, Fax ) VALUES ('GH100', 'Company100', NULL, NULL, NULL, NULL, NULL, NULL, NULL, '00-100100', NULL ) ;
+INSERT INTO GHTDB_EX.CUSTOMERS ( CustomerID, CompanyName, ContactName, ContactTitle, Address, City, Region, PostalCode, Country, Phone, Fax ) VALUES ('GH200', 'Company200', NULL, NULL, NULL, NULL, NULL, NULL, NULL, '00-200200', NULL ) ;
+INSERT INTO GHTDB_EX.CUSTOMERS ( CustomerID, CompanyName, ContactName, ContactTitle, Address, City, Region, PostalCode, Country, Phone, Fax ) VALUES ('GH300', 'Company300', NULL, NULL, NULL, NULL, NULL, NULL, NULL, '00-300300', NULL ) ;
+INSERT INTO GHTDB_EX.CUSTOMERS ( CustomerID, CompanyName, ContactName, ContactTitle, Address, City, Region, PostalCode, Country, Phone, Fax ) VALUES ('GH400', 'Company400', NULL, NULL, NULL, NULL, NULL, NULL, NULL, '00-400400', NULL ) ;
+INSERT INTO GHTDB_EX.CUSTOMERS ( CustomerID, CompanyName, ContactName, ContactTitle, Address, City, Region, PostalCode, Country, Phone, Fax ) VALUES ('GH500', 'Company500', NULL, NULL, NULL, NULL, NULL, NULL, NULL, '00-500500', NULL ) ;
+INSERT INTO GHTDB_EX.CUSTOMERS ( CustomerID, CompanyName, ContactName, ContactTitle, Address, City, Region, PostalCode, Country, Phone, Fax ) VALUES ('GH600', 'Company600', NULL, NULL, NULL, NULL, NULL, NULL, NULL, '00-600600', NULL ) ;
+INSERT INTO GHTDB_EX.CUSTOMERS ( CustomerID, CompanyName, ContactName, ContactTitle, Address, City, Region, PostalCode, Country, Phone, Fax ) VALUES ('GH700', 'Company700', NULL, NULL, NULL, NULL, NULL, NULL, NULL, '00-700700', NULL ) ;
+INSERT INTO GHTDB_EX.CUSTOMERS ( CustomerID, CompanyName, ContactName, ContactTitle, Address, City, Region, PostalCode, Country, Phone, Fax ) VALUES ('GODOS', 'Godos Cocina Típica', 'José Pedro Freyre', 'Sales Manager', 'C/ Romero, 33', 'Sevilla', NULL, '41101', 'Spain', '(95) 555 82 82', NULL ) ;
+INSERT INTO GHTDB_EX.CUSTOMERS ( CustomerID, CompanyName, ContactName, ContactTitle, Address, City, Region, PostalCode, Country, Phone, Fax ) VALUES ('GOURL', 'Gourmet Lanchonetes', 'André Fonseca', 'Sales Associate', 'Av. Brasil, 442', 'Campinas', 'SP', '04876-786', 'Brazil', '(11) 555-9482', NULL ) ;
+INSERT INTO GHTDB_EX.CUSTOMERS ( CustomerID, CompanyName, ContactName, ContactTitle, Address, City, Region, PostalCode, Country, Phone, Fax ) VALUES ('GREAL', 'Great Lakes Food Market', 'Howard Snyder', 'Marketing Manager', '2732 Baker Blvd.', 'Eugene', 'OR', '97403', 'USA', '(503) 555-7555', NULL ) ;
+INSERT INTO GHTDB_EX.CUSTOMERS ( CustomerID, CompanyName, ContactName, ContactTitle, Address, City, Region, PostalCode, Country, Phone, Fax ) VALUES ('GROSR', 'GROSELLA-Restaurante', 'Manuel Pereira', 'Owner', '5ª Ave. Los Palos Grandes', 'Caracas', 'DF', '1081', 'Venezuela', '(2) 283-2951', '(2) 283-3397' ) ;
+INSERT INTO GHTDB_EX.CUSTOMERS ( CustomerID, CompanyName, ContactName, ContactTitle, Address, City, Region, PostalCode, Country, Phone, Fax ) VALUES ('HANAR', 'Hanari Carnes', 'Mario Pontes', 'Accounting Manager', 'Rua do Paço, 67', 'Rio de Janeiro', 'RJ', '05454-876', 'Brazil', '(21) 555-0091', '(21) 555-8765' ) ;
+INSERT INTO GHTDB_EX.CUSTOMERS ( CustomerID, CompanyName, ContactName, ContactTitle, Address, City, Region, PostalCode, Country, Phone, Fax ) VALUES ('HILAA', 'HILARION-Abastos', 'Carlos Hernández', 'Sales Representative', 'Carrera 22 con Ave. Carlos Soublette #8-35', 'San Cristóbal', 'Táchira', '5022', 'Venezuela', '(5) 555-1340', '(5) 555-1948' ) ;
+INSERT INTO GHTDB_EX.CUSTOMERS ( CustomerID, CompanyName, ContactName, ContactTitle, Address, City, Region, PostalCode, Country, Phone, Fax ) VALUES ('HUNGC', 'Hungry Coyote Import Store', 'Yoshi Latimer', 'Sales Representative', 'City Center Plaza 516 Main St.', 'Elgin', 'OR', '97827', 'USA', '(503) 555-6874', '(503) 555-2376' ) ;
+INSERT INTO GHTDB_EX.CUSTOMERS ( CustomerID, CompanyName, ContactName, ContactTitle, Address, City, Region, PostalCode, Country, Phone, Fax ) VALUES ('HUNGO', 'Hungry Owl All-Night Grocers', 'Patricia McKenna', 'Sales Associate', '8 Johnstown Road', 'Cork', 'Co. Cork', NULL, 'Ireland', '2967 542', '2967 3333' ) ;
+INSERT INTO GHTDB_EX.CUSTOMERS ( CustomerID, CompanyName, ContactName, ContactTitle, Address, City, Region, PostalCode, Country, Phone, Fax ) VALUES ('ISLAT', 'Island Trading', 'Helen Bennett', 'Marketing Manager', 'Garden House Crowther Way', 'Cowes', 'Isle of Wight', 'PO31 7PJ', 'UK', '(198) 555-8888', NULL ) ;
+INSERT INTO GHTDB_EX.CUSTOMERS ( CustomerID, CompanyName, ContactName, ContactTitle, Address, City, Region, PostalCode, Country, Phone, Fax ) VALUES ('KOENE', 'Königlich Essen', 'Philip Cramer', 'Sales Associate', 'Maubelstr. 90', 'Brandenburg', NULL, '14776', 'Germany', '0555-09876', NULL ) ;
+INSERT INTO GHTDB_EX.CUSTOMERS ( CustomerID, CompanyName, ContactName, ContactTitle, Address, City, Region, PostalCode, Country, Phone, Fax ) VALUES ('LACOR', 'La corne d''abondance', 'Daniel Tonini', 'Sales Representative', '67, avenue de l''Europe', 'Versailles', NULL, '78000', 'France', '30.59.84.10', '30.59.85.11' ) ;
+INSERT INTO GHTDB_EX.CUSTOMERS ( CustomerID, CompanyName, ContactName, ContactTitle, Address, City, Region, PostalCode, Country, Phone, Fax ) VALUES ('LAMAI', 'La maison d''Asie', 'Annette Roulet', 'Sales Manager', '1 rue Alsace-Lorraine', 'Toulouse', NULL, '31000', 'France', '61.77.61.10', '61.77.61.11' ) ;
+INSERT INTO GHTDB_EX.CUSTOMERS ( CustomerID, CompanyName, ContactName, ContactTitle, Address, City, Region, PostalCode, Country, Phone, Fax ) VALUES ('LAUGB', 'Laughing Bacchus Wine Cellars', 'Yoshi Tannamuri', 'Marketing Assistant', '1900 Oak St.', 'Vancouver', 'BC', 'V3F 2K1', 'Canada', '(604) 555-3392', '(604) 555-7293' ) ;
+INSERT INTO GHTDB_EX.CUSTOMERS ( CustomerID, CompanyName, ContactName, ContactTitle, Address, City, Region, PostalCode, Country, Phone, Fax ) VALUES ('LAZYK', 'Lazy K Kountry Store', 'John Steel', 'Marketing Manager', '12 Orchestra Terrace', 'Walla Walla', 'WA', '99362', 'USA', '(509) 555-7969', '(509) 555-6221' ) ;
+INSERT INTO GHTDB_EX.CUSTOMERS ( CustomerID, CompanyName, ContactName, ContactTitle, Address, City, Region, PostalCode, Country, Phone, Fax ) VALUES ('LEHMS', 'Lehmanns Marktstand', 'Renate Messner', 'Sales Representative', 'Magazinweg 7', 'Frankfurt a.M.', NULL, '60528', 'Germany', '069-0245984', '069-0245874' ) ;
+INSERT INTO GHTDB_EX.CUSTOMERS ( CustomerID, CompanyName, ContactName, ContactTitle, Address, City, Region, PostalCode, Country, Phone, Fax ) VALUES ('LETSS', 'Let''s Stop N Shop', 'Jaime Yorres', 'Owner', '87 Polk St. Suite 5', 'San Francisco', 'CA', '94117', 'USA', '(415) 555-5938', NULL ) ;
+INSERT INTO GHTDB_EX.CUSTOMERS ( CustomerID, CompanyName, ContactName, ContactTitle, Address, City, Region, PostalCode, Country, Phone, Fax ) VALUES ('LILAS', 'LILA-Supermercado', 'Carlos González', 'Accounting Manager', 'Carrera 52 con Ave. Bolívar #65-98 Llano Largo', 'Barquisimeto', 'Lara', '3508', 'Venezuela', '(9) 331-6954', '(9) 331-7256' ) ;
+INSERT INTO GHTDB_EX.CUSTOMERS ( CustomerID, CompanyName, ContactName, ContactTitle, Address, City, Region, PostalCode, Country, Phone, Fax ) VALUES ('LINOD', 'LINO-Delicateses', 'Felipe Izquierdo', 'Owner', 'Ave. 5 de Mayo Porlamar', 'I. de Margarita', 'Nueva Esparta', '4980', 'Venezuela', '(8) 34-56-12', '(8) 34-93-93' ) ;
+INSERT INTO GHTDB_EX.CUSTOMERS ( CustomerID, CompanyName, ContactName, ContactTitle, Address, City, Region, PostalCode, Country, Phone, Fax ) VALUES ('LONEP', 'Lonesome Pine Restaurant', 'Fran Wilson', 'Sales Manager', '89 Chiaroscuro Rd.', 'Portland', 'OR', '97219', 'USA', '(503) 555-9573', '(503) 555-9646' ) ;
+INSERT INTO GHTDB_EX.CUSTOMERS ( CustomerID, CompanyName, ContactName, ContactTitle, Address, City, Region, PostalCode, Country, Phone, Fax ) VALUES ('MAGAA', 'Magazzini Alimentari Riuniti', 'Giovanni Rovelli', 'Marketing Manager', 'Via Ludovico il Moro 22', 'Bergamo', NULL, '24100', 'Italy', '035-640230', '035-640231' ) ;
+INSERT INTO GHTDB_EX.CUSTOMERS ( CustomerID, CompanyName, ContactName, ContactTitle, Address, City, Region, PostalCode, Country, Phone, Fax ) VALUES ('MAISD', 'Maison Dewey', 'Catherine Dewey', 'Sales Agent', 'Rue Joseph-Bens 532', 'Bruxelles', NULL, 'B-1180', 'Belgium', '(02) 201 24 67', '(02) 201 24 68' ) ;
+INSERT INTO GHTDB_EX.CUSTOMERS ( CustomerID, CompanyName, ContactName, ContactTitle, Address, City, Region, PostalCode, Country, Phone, Fax ) VALUES ('MEREP', 'Mère Paillarde', 'Jean Fresnière', 'Marketing Assistant', '43 rue St. Laurent', 'Montréal', 'Québec', 'H1J 1C3', 'Canada', '(514) 555-8054', '(514) 555-8055' ) ;
+INSERT INTO GHTDB_EX.CUSTOMERS ( CustomerID, CompanyName, ContactName, ContactTitle, Address, City, Region, PostalCode, Country, Phone, Fax ) VALUES ('MORGK', 'Morgenstern Gesundkost', 'Alexander Feuer', 'Marketing Assistant', 'Heerstr. 22', 'Leipzig', NULL, '04179', 'Germany', '0342-023176', NULL ) ;
+INSERT INTO GHTDB_EX.CUSTOMERS ( CustomerID, CompanyName, ContactName, ContactTitle, Address, City, Region, PostalCode, Country, Phone, Fax ) VALUES ('NORTS', 'North/South', 'Simon Crowther', 'Sales Associate', 'South House 300 Queensbridge', 'London', NULL, 'SW7 1RZ', 'UK', '(171) 555-7733', '(171) 555-2530' ) ;
+INSERT INTO GHTDB_EX.CUSTOMERS ( CustomerID, CompanyName, ContactName, ContactTitle, Address, City, Region, PostalCode, Country, Phone, Fax ) VALUES ('OCEAN', 'Océano Atlántico Ltda.', 'Yvonne Moncada', 'Sales Agent', 'Ing. Gustavo Moncada 8585 Piso 20-A', 'Buenos Aires', NULL, '1010', 'Argentina', '(1) 135-5333', '(1) 135-5535' ) ;
+INSERT INTO GHTDB_EX.CUSTOMERS ( CustomerID, CompanyName, ContactName, ContactTitle, Address, City, Region, PostalCode, Country, Phone, Fax ) VALUES ('OLDWO', 'Old World Delicatessen', 'Rene Phillips', 'Sales Representative', '2743 Bering St.', 'Anchorage', 'AK', '99508', 'USA', '(907) 555-7584', '(907) 555-2880' ) ;
+INSERT INTO GHTDB_EX.CUSTOMERS ( CustomerID, CompanyName, ContactName, ContactTitle, Address, City, Region, PostalCode, Country, Phone, Fax ) VALUES ('OTTIK', 'Ottilies Käseladen', 'Henriette Pfalzheim', 'Owner', 'Mehrheimerstr. 369', 'Köln', NULL, '50739', 'Germany', '0221-0644327', '0221-0765721' ) ;
+INSERT INTO GHTDB_EX.CUSTOMERS ( CustomerID, CompanyName, ContactName, ContactTitle, Address, City, Region, PostalCode, Country, Phone, Fax ) VALUES ('PARIS', 'Paris spécialités', 'Marie Bertrand', 'Owner', '265, boulevard Charonne', 'Paris', NULL, '75012', 'France', '(1) 42.34.22.66', '(1) 42.34.22.77' ) ;
+INSERT INTO GHTDB_EX.CUSTOMERS ( CustomerID, CompanyName, ContactName, ContactTitle, Address, City, Region, PostalCode, Country, Phone, Fax ) VALUES ('PERIC', 'Pericles Comidas clásicas', 'Guillermo Fernández', 'Sales Representative', 'Calle Dr. Jorge Cash 321', 'México D.F.', NULL, '05033', 'Mexico', '(5) 552-3745', '(5) 545-3745' ) ;
+INSERT INTO GHTDB_EX.CUSTOMERS ( CustomerID, CompanyName, ContactName, ContactTitle, Address, City, Region, PostalCode, Country, Phone, Fax ) VALUES ('PICCO', 'Piccolo und mehr', 'Georg Pipps', 'Sales Manager', 'Geislweg 14', 'Salzburg', NULL, '5020', 'Austria', '6562-9722', '6562-9723' ) ;
+INSERT INTO GHTDB_EX.CUSTOMERS ( CustomerID, CompanyName, ContactName, ContactTitle, Address, City, Region, PostalCode, Country, Phone, Fax ) VALUES ('PRINI', 'Princesa Isabel Vinhos', 'Isabel de Castro', 'Sales Representative', 'Estrada da saúde n. 58', 'Lisboa', NULL, '1756', 'Portugal', '(1) 356-5634', NULL ) ;
+INSERT INTO GHTDB_EX.CUSTOMERS ( CustomerID, CompanyName, ContactName, ContactTitle, Address, City, Region, PostalCode, Country, Phone, Fax ) VALUES ('QUEDE', 'Que Delícia', 'Bernardo Batista', 'Accounting Manager', 'Rua da Panificadora, 12', 'Rio de Janeiro', 'RJ', '02389-673', 'Brazil', '(21) 555-4252', '(21) 555-4545' ) ;
+INSERT INTO GHTDB_EX.CUSTOMERS ( CustomerID, CompanyName, ContactName, ContactTitle, Address, City, Region, PostalCode, Country, Phone, Fax ) VALUES ('QUEEN', 'Queen Cozinha', 'Lúcia Carvalho', 'Marketing Assistant', 'Alameda dos Canàrios, 891', 'Sao Paulo', 'SP', '05487-020', 'Brazil', '(11) 555-1189', NULL ) ;
+INSERT INTO GHTDB_EX.CUSTOMERS ( CustomerID, CompanyName, ContactName, ContactTitle, Address, City, Region, PostalCode, Country, Phone, Fax ) VALUES ('QUICK', 'QUICK-Stop', 'Horst Kloss', 'Accounting Manager', 'Taucherstraße 10', 'Cunewalde', NULL, '01307', 'Germany', '0372-035188', NULL ) ;
+INSERT INTO GHTDB_EX.CUSTOMERS ( CustomerID, CompanyName, ContactName, ContactTitle, Address, City, Region, PostalCode, Country, Phone, Fax ) VALUES ('RANCH', 'Rancho grande', 'Sergio Gutiérrez', 'Sales Representative', 'Av. del Libertador 900', 'Buenos Aires', NULL, '1010', 'Argentina', '(1) 123-5555', '(1) 123-5556' ) ;
+INSERT INTO GHTDB_EX.CUSTOMERS ( CustomerID, CompanyName, ContactName, ContactTitle, Address, City, Region, PostalCode, Country, Phone, Fax ) VALUES ('RATTC', 'Rattlesnake Canyon Grocery', 'Paula Wilson', 'Assistant Sales Representative', '2817 Milton Dr.', 'Albuquerque', 'NM', '87110', 'USA', '(505) 555-5939', '(505) 555-3620' ) ;
+INSERT INTO GHTDB_EX.CUSTOMERS ( CustomerID, CompanyName, ContactName, ContactTitle, Address, City, Region, PostalCode, Country, Phone, Fax ) VALUES ('REGGC', 'Reggiani Caseifici', 'Maurizio Moroni', 'Sales Associate', 'Strada Provinciale 124', 'Reggio Emilia', NULL, '42100', 'Italy', '0522-556721', '0522-556722' ) ;
+INSERT INTO GHTDB_EX.CUSTOMERS ( CustomerID, CompanyName, ContactName, ContactTitle, Address, City, Region, PostalCode, Country, Phone, Fax ) VALUES ('RICAR', 'Ricardo Adocicados', 'Janete Limeira', 'Assistant Sales Agent', 'Av. Copacabana, 267', 'Rio de Janeiro', 'RJ', '02389-890', 'Brazil', '(21) 555-3412', NULL ) ;
+INSERT INTO GHTDB_EX.CUSTOMERS ( CustomerID, CompanyName, ContactName, ContactTitle, Address, City, Region, PostalCode, Country, Phone, Fax ) VALUES ('RICSU', 'Richter Supermarkt', 'Michael Holz', 'Sales Manager', 'Grenzacherweg 237', 'Genève', NULL, '1203', 'Switzerland', '0897-034214', NULL ) ;
+INSERT INTO GHTDB_EX.CUSTOMERS ( CustomerID, CompanyName, ContactName, ContactTitle, Address, City, Region, PostalCode, Country, Phone, Fax ) VALUES ('ROMEY', 'Romero y tomillo', 'Alejandra Camino', 'Accounting Manager', 'Gran Vía, 1', 'Madrid', NULL, '28001', 'Spain', '(91) 745 6200', '(91) 745 6210' ) ;
+INSERT INTO GHTDB_EX.CUSTOMERS ( CustomerID, CompanyName, ContactName, ContactTitle, Address, City, Region, PostalCode, Country, Phone, Fax ) VALUES ('SANTG', 'Santé Gourmet', 'Jonas Bergulfsen', 'Owner', 'Erling Skakkes gate 78', 'Stavern', NULL, '4110', 'Norway', '07-98 92 35', '07-98 92 47' ) ;
+INSERT INTO GHTDB_EX.CUSTOMERS ( CustomerID, CompanyName, ContactName, ContactTitle, Address, City, Region, PostalCode, Country, Phone, Fax ) VALUES ('SAVEA', 'Save-a-lot Markets', 'Jose Pavarotti', 'Sales Representative', '187 Suffolk Ln.', 'Boise', 'ID', '83720', 'USA', '(208) 555-8097', NULL ) ;
+INSERT INTO GHTDB_EX.CUSTOMERS ( CustomerID, CompanyName, ContactName, ContactTitle, Address, City, Region, PostalCode, Country, Phone, Fax ) VALUES ('SEVES', 'Seven Seas Imports', 'Hari Kumar', 'Sales Manager', '90 Wadhurst Rd.', 'London', NULL, 'OX15 4NB', 'UK', '(171) 555-1717', '(171) 555-5646' ) ;
+INSERT INTO GHTDB_EX.CUSTOMERS ( CustomerID, CompanyName, ContactName, ContactTitle, Address, City, Region, PostalCode, Country, Phone, Fax ) VALUES ('SIMOB', 'Simons bistro', 'Jytte Petersen', 'Owner', 'Vinbæltet 34', 'Kobenhavn', NULL, '1734', 'Denmark', '31 12 34 56', '31 13 35 57' ) ;
+INSERT INTO GHTDB_EX.CUSTOMERS ( CustomerID, CompanyName, ContactName, ContactTitle, Address, City, Region, PostalCode, Country, Phone, Fax ) VALUES ('SPECD', 'Spécialités du monde', 'Dominique Perrier', 'Marketing Manager', '25, rue Lauriston', 'Paris', NULL, '75016', 'France', '(1) 47.55.60.10', '(1) 47.55.60.20' ) ;
+INSERT INTO GHTDB_EX.CUSTOMERS ( CustomerID, CompanyName, ContactName, ContactTitle, Address, City, Region, PostalCode, Country, Phone, Fax ) VALUES ('SPLIR', 'Split Rail Beer  Ale', 'Art Braunschweiger', 'Sales Manager', 'P.O. Box 555', 'Lander', 'WY', '82520', 'USA', '(307) 555-4680', '(307) 555-6525' ) ;
+INSERT INTO GHTDB_EX.CUSTOMERS ( CustomerID, CompanyName, ContactName, ContactTitle, Address, City, Region, PostalCode, Country, Phone, Fax ) VALUES ('SUPRD', 'Suprêmes délices', 'Pascale Cartrain', 'Accounting Manager', 'Boulevard Tirou, 255', 'Charleroi', NULL, 'B-6000', 'Belgium', '(071) 23 67 22 20', '(071) 23 67 22 21' ) ;
+INSERT INTO GHTDB_EX.CUSTOMERS ( CustomerID, CompanyName, ContactName, ContactTitle, Address, City, Region, PostalCode, Country, Phone, Fax ) VALUES ('THEBI', 'The Big Cheese', 'Liz Nixon', 'Marketing Manager', '89 Jefferson Way Suite 2', 'Portland', 'OR', '97201', 'USA', '(503) 555-3612', NULL ) ;
+INSERT INTO GHTDB_EX.CUSTOMERS ( CustomerID, CompanyName, ContactName, ContactTitle, Address, City, Region, PostalCode, Country, Phone, Fax ) VALUES ('THECR', 'The Cracker Box', 'Liu Wong', 'Marketing Assistant', '55 Grizzly Peak Rd.', 'Butte', 'MT', '59801', 'USA', '(406) 555-5834', '(406) 555-8083' ) ;
+INSERT INTO GHTDB_EX.CUSTOMERS ( CustomerID, CompanyName, ContactName, ContactTitle, Address, City, Region, PostalCode, Country, Phone, Fax ) VALUES ('TOMSP', 'Toms Spezialitäten', 'Karin Josephs', 'Marketing Manager', 'Luisenstr. 48', 'Münster', NULL, '44087', 'Germany', '0251-031259', '0251-035695' ) ;
+INSERT INTO GHTDB_EX.CUSTOMERS ( CustomerID, CompanyName, ContactName, ContactTitle, Address, City, Region, PostalCode, Country, Phone, Fax ) VALUES ('TORTU', 'Tortuga Restaurante', 'Miguel Angel Paolino', 'Owner', 'Avda. Azteca 123', 'México D.F.', NULL, '05033', 'Mexico', '(5) 555-2933', NULL ) ;
+INSERT INTO GHTDB_EX.CUSTOMERS ( CustomerID, CompanyName, ContactName, ContactTitle, Address, City, Region, PostalCode, Country, Phone, Fax ) VALUES ('TRADH', 'Tradição Hipermercados', 'Anabela Domingues', 'Sales Representative', 'Av. Inês de Castro, 414', 'Sao Paulo', 'SP', '05634-030', 'Brazil', '(11) 555-2167', '(11) 555-2168' ) ;
+INSERT INTO GHTDB_EX.CUSTOMERS ( CustomerID, CompanyName, ContactName, ContactTitle, Address, City, Region, PostalCode, Country, Phone, Fax ) VALUES ('TRAIH', 'Trail''s Head Gourmet Provisioners', 'Helvetius Nagy', 'Sales Associate', '722 DaVinci Blvd.', 'Kirkland', 'WA', '98034', 'USA', '(206) 555-8257', '(206) 555-2174' ) ;
+INSERT INTO GHTDB_EX.CUSTOMERS ( CustomerID, CompanyName, ContactName, ContactTitle, Address, City, Region, PostalCode, Country, Phone, Fax ) VALUES ('VAFFE', 'Vaffeljernet', 'Palle Ibsen', 'Sales Manager', 'Smagsloget 45', 'Ã…rhus', NULL, '8200', 'Denmark', '86 21 32 43', '86 22 33 44' ) ;
+INSERT INTO GHTDB_EX.CUSTOMERS ( CustomerID, CompanyName, ContactName, ContactTitle, Address, City, Region, PostalCode, Country, Phone, Fax ) VALUES ('VICTE', 'Victuailles en stock', 'Mary Saveley', 'Sales Agent', '2, rue du Commerce', 'Lyon', NULL, '69004', 'France', '78.32.54.86', '78.32.54.87' ) ;
+INSERT INTO GHTDB_EX.CUSTOMERS ( CustomerID, CompanyName, ContactName, ContactTitle, Address, City, Region, PostalCode, Country, Phone, Fax ) VALUES ('VINET', 'Vins et alcools Chevalier', 'Paul Henriot', 'Accounting Manager', '59 rue de l''Abbaye', 'Reims', NULL, '51100', 'France', '26.47.15.10', '26.47.15.11' ) ;
+INSERT INTO GHTDB_EX.CUSTOMERS ( CustomerID, CompanyName, ContactName, ContactTitle, Address, City, Region, PostalCode, Country, Phone, Fax ) VALUES ('WANDK', 'Die Wandernde Kuh', 'Rita Müller', 'Sales Representative', 'Adenauerallee 900', 'Stuttgart', NULL, '70563', 'Germany', '0711-020361', '0711-035428' ) ;
+INSERT INTO GHTDB_EX.CUSTOMERS ( CustomerID, CompanyName, ContactName, ContactTitle, Address, City, Region, PostalCode, Country, Phone, Fax ) VALUES ('WARTH', 'Wartian Herkku', 'Pirkko Koskitalo', 'Accounting Manager', 'Torikatu 38', 'Oulu', NULL, '90110', 'Finland', '981-443655', '981-443655' ) ;
+INSERT INTO GHTDB_EX.CUSTOMERS ( CustomerID, CompanyName, ContactName, ContactTitle, Address, City, Region, PostalCode, Country, Phone, Fax ) VALUES ('WELLI', 'Wellington Importadora', 'Paula Parente', 'Sales Manager', 'Rua do Mercado, 12', 'Resende', 'SP', '08737-363', 'Brazil', '(14) 555-8122', NULL ) ;
+INSERT INTO GHTDB_EX.CUSTOMERS ( CustomerID, CompanyName, ContactName, ContactTitle, Address, City, Region, PostalCode, Country, Phone, Fax ) VALUES ('WHITC', 'White Clover Markets', 'Karl Jablonski', 'Owner', '305 - 14th Ave. S. Suite 3B', 'Seattle', 'WA', '98128', 'USA', '(206) 555-4112', '(206) 555-4115' ) ;
+INSERT INTO GHTDB_EX.CUSTOMERS ( CustomerID, CompanyName, ContactName, ContactTitle, Address, City, Region, PostalCode, Country, Phone, Fax ) VALUES ('WILMK', 'Wilman Kala', 'Matti Karttunen', 'Owner/Marketing Assistant', 'Keskuskatu 45', 'Helsinki', NULL, '21240', 'Finland', '90-224 8858', '90-224 8858' ) ;
+INSERT INTO GHTDB_EX.CUSTOMERS ( CustomerID, CompanyName, ContactName, ContactTitle, Address, City, Region, PostalCode, Country, Phone, Fax ) VALUES ('WOLZA', 'Wolski  Zajazd', 'Zbyszek Piestrzeniewicz', 'Owner', 'ul. Filtrowa 68', 'Warszawa', NULL, '01-012', 'Poland', '(26) 642-7012', '(26) 642-7012' ) ;
+/
+
+
+commit;
+
+exit
diff --git a/mcs/class/System.Data.OracleClient/Test/System.Data.OracleClient.jvm/GHTDB.ORACLE.sql b/mcs/class/System.Data.OracleClient/Test/System.Data.OracleClient.jvm/GHTDB.ORACLE.sql
new file mode 100755 (executable)
index 0000000..a5feb72
--- /dev/null
@@ -0,0 +1,979 @@
+DROP INDEX GHTDB.categoryname;
+DROP INDEX GHTDB.city;
+DROP INDEX GHTDB.companyname_1;
+DROP INDEX GHTDB.postalcode_2;
+DROP INDEX GHTDB.region;
+DROP INDEX GHTDB.lastname;
+DROP INDEX GHTDB.postalcode_1;
+DROP INDEX GHTDB.categoryid;
+DROP INDEX GHTDB.productname;
+DROP INDEX GHTDB.suppliersproducts;
+DROP INDEX GHTDB.companyname;
+DROP INDEX GHTDB.postalcode;
+
+DROP TABLE GHTDB.TYPES_SIMPLE;
+DROP TABLE GHTDB.TYPES_EXTENDED;
+DROP TABLE GHTDB.TYPES_SPECIFIC;
+DROP TABLE GHTDB.categories;
+DROP TABLE GHTDB.customercustomerdemo;
+DROP TABLE GHTDB.customerdemographics;
+DROP TABLE GHTDB.customers;
+DROP TABLE GHTDB.employees;
+DROP TABLE GHTDB.employeeterritories;
+DROP TABLE GHTDB.gh_emptytable;
+DROP TABLE GHTDB."Order Details";
+DROP TABLE GHTDB.orders;
+DROP TABLE GHTDB.products;
+DROP TABLE GHTDB.region;
+DROP TABLE GHTDB.Results;
+DROP TABLE GHTDB.shippers;
+DROP TABLE GHTDB.shoppingcart;
+DROP TABLE GHTDB.suppliers;
+DROP TABLE GHTDB.territories;
+
+DROP SEQUENCE GHTDB.s_463_1_reviews;
+DROP SEQUENCE GHTDB.s_464_1_shoppingcart;
+DROP SEQUENCE GHTDB.s_59_1_products;
+DROP SEQUENCE GHTDB.s_60_1_orders;
+DROP SEQUENCE GHTDB.s_62_1_suppliers;
+DROP SEQUENCE GHTDB.s_63_1_shippers;
+DROP SEQUENCE GHTDB.s_65_1_employees;
+DROP SEQUENCE GHTDB.s_68_1_categories;
+
+DROP USER GHTDB CASCADE;
+
+CREATE USER "GHTDB"
+    IDENTIFIED BY "GHTDB" DEFAULT TABLESPACE "USERS"
+    TEMPORARY TABLESPACE "TEMP" ;
+
+GRANT CONNECT, RESOURCE, CREATE TABLE  TO "GHTDB";
+
+CREATE OR REPLACE  PACKAGE "GHTDB"."GHTPKG"  AS
+       TYPE RCT1 IS REF CURSOR;
+       IDENTITY INTEGER;
+       
+       procedure ghsp_pkgAmbig(res out rct1);
+       procedure ghsp_inPkg(CustomerIdPrm IN CHAR, result OUT RCT1);
+END;
+/
+
+CREATE TABLE GHTDB.TYPES_SIMPLE (
+       ID CHAR(10) NULL,
+       T_NUMBER NUMBER(10) NULL, 
+       T_LONG LONG NULL, 
+       T_FLOAT FLOAT(10) NULL, 
+       T_VARCHAR VARCHAR2(10) NULL, 
+       T_NVARCHAR NVARCHAR2(10) NULL, 
+       T_CHAR CHAR(10) NULL,
+       T_NCHAR NCHAR(10) NULL
+)
+  TABLESPACE USERS
+/
+
+
+
+CREATE TABLE GHTDB.TYPES_EXTENDED (
+       ID CHAR(10) NULL,
+       T_RAW RAW(10) NULL, 
+       T_LONGRAW LONG RAW NULL, 
+       T_DATE DATE NULL, 
+       T_BLOB BLOB NULL, 
+       T_CLOB CLOB NULL, 
+       T_NCLOB NCLOB NULL
+)
+  TABLESPACE USERS
+/
+
+CREATE TABLE GHTDB.TYPES_SPECIFIC (
+       ID      CHAR(10) NULL,
+       T_ROWID ROWID NULL, 
+       T_UROWID UROWID NULL, 
+       T_BFILE BFILE NULL, 
+       T_XMLTYPE SYS.XMLTYPE NULL
+)
+  TABLESPACE USERS 
+/
+
+CREATE TABLE GHTDB.categories (
+  categoryid   NUMBER(10,0) NOT NULL,
+  categoryname VARCHAR2(30) NOT NULL,
+  description  CLOB         NULL
+)
+  TABLESPACE USERS
+/
+
+
+CREATE INDEX GHTDB.categoryname
+  ON GHTDB.categories (
+    categoryname
+  )
+  TABLESPACE USERS
+/
+
+CREATE TABLE GHTDB.customercustomerdemo (
+  customerid     CHAR(10) NOT NULL,
+  customertypeid CHAR(20) NOT NULL
+)
+  TABLESPACE USERS
+/
+
+
+ALTER TABLE GHTDB.customercustomerdemo
+  ADD CONSTRAINT pk_customercustomerdemo UNIQUE (
+    customerid,
+    customertypeid
+  )
+/
+
+CREATE TABLE GHTDB.customerdemographics (
+  customertypeid CHAR(20) NOT NULL,
+  customerdesc   CLOB     NULL
+)
+  TABLESPACE USERS
+/
+
+
+ALTER TABLE GHTDB.customerdemographics
+  ADD CONSTRAINT pk_customerdemographics UNIQUE (
+    customertypeid
+  )
+/
+
+CREATE TABLE GHTDB.customers (
+  customerid   CHAR(10)      NOT NULL,
+  companyname  VARCHAR2(80)  NOT NULL,
+  contactname  VARCHAR2(60)  NULL,
+  contacttitle VARCHAR2(60)  NULL,
+  address      VARCHAR2(120) NULL,
+  city         VARCHAR2(30)  NULL,
+  region       VARCHAR2(30)  NULL,
+  postalcode   VARCHAR2(20)  NULL,
+  country      VARCHAR2(30)  NULL,
+  phone        VARCHAR2(48)  NULL,
+  fax          VARCHAR2(48)  NULL
+)
+  TABLESPACE USERS
+/
+
+
+CREATE INDEX GHTDB.city
+  ON GHTDB.customers (
+    city
+  )
+/
+
+CREATE INDEX GHTDB.companyname_1
+  ON GHTDB.customers (
+    companyname
+  )
+/
+
+CREATE INDEX GHTDB.postalcode_2
+  ON GHTDB.customers (
+    postalcode
+  )
+/
+
+CREATE INDEX GHTDB.region
+  ON GHTDB.customers (
+    region
+  )
+/
+
+ALTER TABLE GHTDB.customers
+  ADD CONSTRAINT uk_customers_customerid UNIQUE (
+    customerid
+  )
+/
+
+CREATE TABLE GHTDB.employees (
+  employeeid      NUMBER(10,0)  NOT NULL,
+  lastname        VARCHAR2(40)  NOT NULL,
+  firstname       VARCHAR2(20)  NOT NULL,
+  title           VARCHAR2(60)  NULL,
+  titleofcourtesy VARCHAR2(50)  NULL,
+  birthdate       DATE          NULL,
+  hiredate        DATE          NULL,
+  address         VARCHAR2(120) NULL,
+  city            VARCHAR2(30)  NULL,
+  region          VARCHAR2(30)  NULL,
+  postalcode      VARCHAR2(20)  NULL,
+  country         VARCHAR2(30)  NULL,
+  homephone       VARCHAR2(48)  NULL,
+  extension       VARCHAR2(8)   NULL,
+  notes           CLOB          NULL,
+  reportsto       NUMBER(10,0)  NULL,
+  photopath       VARCHAR2(510) NULL,
+  mycolumn        NUMBER(10,0)  NULL
+)
+  TABLESPACE USERS
+/
+
+
+CREATE INDEX GHTDB.lastname
+  ON GHTDB.employees (
+    lastname
+  )
+  TABLESPACE USERS
+/
+
+CREATE INDEX GHTDB.postalcode_1
+  ON GHTDB.employees (
+    postalcode
+  )
+  TABLESPACE USERS
+/
+
+ALTER TABLE GHTDB.employees
+  ADD CONSTRAINT pk_employees UNIQUE (
+    employeeid
+  )
+/
+
+CREATE TABLE GHTDB.employeeterritories (
+  employeeid  NUMBER(10,0) NOT NULL,
+  territoryid VARCHAR2(40) NOT NULL
+)
+  TABLESPACE USERS
+/
+
+
+
+CREATE TABLE GHTDB.gh_emptytable (
+  col1 INTEGER      NULL,
+  col2 VARCHAR2(50) NULL
+)
+  TABLESPACE USERS
+/
+
+
+CREATE TABLE GHTDB."Order Details" (
+  orderid   NUMBER(10,0) NOT NULL,
+  productid NUMBER(10,0) NOT NULL,
+  unitprice NUMBER(19,4) NOT NULL,
+  quantity  NUMBER(5,0)  NOT NULL,
+  discount  FLOAT(126)   NOT NULL
+)
+  TABLESPACE USERS
+/
+
+
+CREATE TABLE GHTDB.orders (
+  orderid        NUMBER(10,0)  NOT NULL,
+  customerid     NCHAR(5)      NULL,
+  employeeid     NUMBER(10,0)  NULL,
+  orderdate      DATE          NULL,
+  requireddate   DATE          NULL,
+  shippeddate    DATE          NULL,
+  shipvia        NUMBER(10,0)  NULL,
+  freight        NUMBER(19,4)  NULL,
+  shipname       NVARCHAR2(40) NULL,
+  shipaddress    NVARCHAR2(60) NULL,
+  shipcity       NVARCHAR2(15) NULL,
+  shipregion     NVARCHAR2(15) NULL,
+  shippostalcode NVARCHAR2(10) NULL,
+  shipcountry    NVARCHAR2(15) NULL
+)
+  TABLESPACE USERS
+/
+
+ALTER TABLE GHTDB.orders
+  ADD CONSTRAINT orders_uk11075049410018 UNIQUE (
+    orderid
+  )
+/
+
+ALTER TABLE GHTDB.orders
+  ADD CONSTRAINT orders_fk21075049699981 FOREIGN KEY (
+    orderid
+  ) REFERENCES GHTDB.orders (
+    orderid
+  )
+/
+
+CREATE TABLE GHTDB.products (
+  productid       NUMBER(10,0) NOT NULL,
+  productname     VARCHAR2(80) NOT NULL,
+  supplierid      NUMBER(10,0) NULL,
+  categoryid      NUMBER(10,0) NULL,
+  quantityperunit VARCHAR2(40) NULL,
+  unitprice       NUMBER(19,4) DEFAULT (0) NULL,
+  unitsinstock    NUMBER(5,0)  DEFAULT (0) NULL,
+  unitsonorder    NUMBER(5,0)  DEFAULT (0) NULL,
+  reorderlevel    NUMBER(5,0)  DEFAULT (0) NULL,
+  discontinued    NUMBER(1,0)  DEFAULT (0) NOT NULL
+)
+  TABLESPACE USERS
+/
+
+
+ALTER TABLE GHTDB.products
+  ADD CONSTRAINT ck_products_unitprice CHECK (
+    UnitPrice >= 0
+  )
+/
+
+ALTER TABLE GHTDB.products
+  ADD CONSTRAINT ck_reorderlevel CHECK (
+    ReorderLevel >= 0
+  )
+/
+
+ALTER TABLE GHTDB.products
+  ADD CONSTRAINT ck_unitsinstock CHECK (
+    UnitsInStock >= 0
+  )
+/
+
+ALTER TABLE GHTDB.products
+  ADD CONSTRAINT ck_unitsonorder CHECK (
+    UnitsOnOrder >= 0
+  )
+/
+
+CREATE INDEX GHTDB.categoryid
+  ON GHTDB.products (
+    categoryid
+  )
+/
+
+CREATE INDEX GHTDB.productname
+  ON GHTDB.products (
+    productname
+  )
+/
+
+CREATE INDEX GHTDB.suppliersproducts
+  ON GHTDB.products (
+    supplierid
+  )
+/
+
+CREATE TABLE GHTDB.region (
+  regionid          NUMBER(10,0) NOT NULL,
+  regiondescription CHAR(100)    NOT NULL
+)
+  TABLESPACE USERS
+/
+
+
+CREATE TABLE GHTDB.Results (
+  employeeid      NUMBER(10,0)  NOT NULL,
+  lastname        VARCHAR2(20)  NOT NULL,
+  firstname       VARCHAR2(10)  NOT NULL,
+  title           VARCHAR2(30)  NULL,
+  titleofcourtesy VARCHAR2(25)  NULL,
+  birthdate       DATE          NULL,
+  hiredate        DATE          NULL,
+  address         VARCHAR2(60)  NULL,
+  city            VARCHAR2(15)  NULL,
+  region          VARCHAR2(15)  NULL,
+  postalcode      VARCHAR2(10)  NULL,
+  country         VARCHAR2(15)  NULL,
+  homephone       VARCHAR2(24)  NULL,
+  extension       VARCHAR2(4)   NULL,
+  notes           CLOB          NULL,
+  reportsto       NUMBER(10,0)  NULL,
+  photopath       VARCHAR2(255) NULL,
+  mycolumn        NUMBER(10,0)  NULL
+)
+  TABLESPACE USERS
+/
+
+
+CREATE TABLE GHTDB.shippers (
+  shipperid   NUMBER(10,0) NOT NULL,
+  companyname VARCHAR2(80) NOT NULL,
+  phone       VARCHAR2(48) NULL
+)
+  TABLESPACE USERS
+/
+
+
+CREATE TABLE GHTDB.shoppingcart (
+  recordid    NUMBER(10,0)  NOT NULL,
+  cartid      VARCHAR2(100) NULL,
+  quantity    NUMBER(10,0)  DEFAULT (1) NOT NULL,
+  productid   NUMBER(10,0)  NOT NULL,
+  datecreated DATE          DEFAULT (SYSDATE) NOT NULL
+)
+  TABLESPACE USERS
+/
+
+
+CREATE TABLE GHTDB.suppliers (
+  supplierid   NUMBER(10,0)  NOT NULL,
+  companyname  VARCHAR2(80)  NOT NULL,
+  contactname  VARCHAR2(60)  NULL,
+  contacttitle VARCHAR2(60)  NULL,
+  address      VARCHAR2(120) NULL,
+  city         VARCHAR2(30)  NULL,
+  region       VARCHAR2(30)  NULL,
+  postalcode   VARCHAR2(20)  NULL,
+  country      VARCHAR2(30)  NULL,
+  phone        VARCHAR2(48)  NULL,
+  fax          VARCHAR2(48)  NULL,
+  homepage     CLOB          NULL
+)
+  TABLESPACE USERS
+/
+
+
+CREATE INDEX GHTDB.companyname
+  ON GHTDB.suppliers (
+    companyname
+  )
+  TABLESPACE USERS
+/
+
+CREATE INDEX GHTDB.postalcode
+  ON GHTDB.suppliers (
+    postalcode
+  )
+  TABLESPACE USERS
+/
+
+CREATE TABLE GHTDB.territories (
+  territoryid          VARCHAR2(40) NOT NULL,
+  territorydescription CHAR(100)    NOT NULL,
+  regionid             NUMBER(10,0) NOT NULL
+)
+  TABLESPACE USERS
+/
+
+
+CREATE SEQUENCE GHTDB.s_463_1_reviews
+  MINVALUE 1
+  MAXVALUE 999999999999999999999999999
+  INCREMENT BY 1
+  NOCYCLE
+  NOORDER
+  CACHE 20
+/
+
+CREATE SEQUENCE GHTDB.s_464_1_shoppingcart
+  MINVALUE 1
+  MAXVALUE 999999999999999999999999999
+  INCREMENT BY 1
+  NOCYCLE
+  NOORDER
+  CACHE 20
+/
+
+CREATE SEQUENCE GHTDB.s_59_1_products
+  MINVALUE 1
+  MAXVALUE 999999999999999999999999999
+  INCREMENT BY 1
+  NOCYCLE
+  NOORDER
+  CACHE 20
+/
+
+CREATE SEQUENCE GHTDB.s_60_1_orders
+  MINVALUE 1
+  MAXVALUE 999999999999999999999999999
+  INCREMENT BY 1
+  NOCYCLE
+  NOORDER
+  CACHE 20
+/
+
+CREATE SEQUENCE GHTDB.s_62_1_suppliers
+  MINVALUE 1
+  MAXVALUE 999999999999999999999999999
+  INCREMENT BY 1
+  NOCYCLE
+  NOORDER
+  CACHE 20
+/
+
+CREATE SEQUENCE GHTDB.s_63_1_shippers
+  MINVALUE 1
+  MAXVALUE 999999999999999999999999999
+  INCREMENT BY 1
+  NOCYCLE
+  NOORDER
+  CACHE 20
+/
+
+CREATE SEQUENCE GHTDB.s_65_1_employees
+  MINVALUE 1
+  MAXVALUE 999999999999999999999999999
+  INCREMENT BY 1
+  NOCYCLE
+  NOORDER
+  CACHE 20
+/
+
+CREATE SEQUENCE GHTDB.s_68_1_categories
+  MINVALUE 1
+  MAXVALUE 999999999999999999999999999
+  INCREMENT BY 1
+  NOCYCLE
+  NOORDER
+  CACHE 20
+/
+
+CREATE OR REPLACE TRIGGER GHTDB.tr_s_464_1_shoppingcart
+BEFORE INSERT
+ON GHTDB.shoppingcart
+FOR EACH ROW
+BEGIN
+ IF (:new.RECORDID IS NULL) THEN
+  SELECT S_464_1_SHOPPINGCART.nextval
+  INTO :NEW.RECORDID
+  FROM dual;
+ END IF;
+END;
+/
+
+CREATE OR REPLACE TRIGGER GHTDB.tr_s_59_1_products
+BEFORE INSERT
+ON GHTDB.products
+FOR EACH ROW
+BEGIN
+ IF (:new.PRODUCTID IS NULL) THEN
+  SELECT S_59_1_PRODUCTS.nextval
+  INTO :NEW.PRODUCTID
+  FROM dual;
+ END IF;
+END;
+/
+
+CREATE OR REPLACE TRIGGER GHTDB.tr_s_62_1_suppliers
+BEFORE INSERT
+ON GHTDB.suppliers
+FOR EACH ROW
+BEGIN
+ IF (:new.SUPPLIERID IS NULL) THEN
+  SELECT S_62_1_SUPPLIERS.nextval
+  INTO :NEW.SUPPLIERID
+  FROM dual;
+ END IF;
+END;
+/
+
+CREATE OR REPLACE TRIGGER GHTDB.tr_s_63_1_shippers
+BEFORE INSERT
+ON GHTDB.shippers
+FOR EACH ROW
+BEGIN
+ IF (:new.SHIPPERID IS NULL) THEN
+  SELECT S_63_1_SHIPPERS.nextval
+  INTO :NEW.SHIPPERID
+  FROM dual;
+ END IF;
+END;
+/
+
+CREATE OR REPLACE TRIGGER GHTDB.tr_s_68_1_categories
+BEFORE INSERT
+ON GHTDB.categories
+FOR EACH ROW
+BEGIN
+ IF (:new.CATEGORYID IS NULL) THEN
+  SELECT S_68_1_CATEGORIES.nextval
+  INTO :NEW.CATEGORYID
+  FROM dual;
+ END IF;
+END;
+/
+
+CREATE OR REPLACE VIEW GHTDB.current_product_list (
+  productid,
+  productname
+) AS
+SELECT  Product_List.ProductID, Product_List.ProductName
+ FROM Products Product_List
+       WHERE
+       (
+       (( Product_List.Discontinued ) = 0))
+/
+
+CREATE OR REPLACE VIEW GHTDB.customer_and_suppliers_by_cit (
+  city,
+  companyname,
+  contactname,
+  relationship
+) AS
+SELECT  City, CompanyName, ContactName, 'Customers' Relationship
+ FROM Customers UNION SELECT  City, CompanyName, ContactName, 'Suppliers'
+ FROM Suppliers
+/
+
+CREATE OR REPLACE VIEW GHTDB.products_above_average_price (
+  productname,
+  unitprice
+) AS
+SELECT  Products.ProductName, Products.UnitPrice
+ FROM Products
+       WHERE Products.UnitPrice > (
+               SELECT  AVG(UnitPrice)
+                FROM Products  )
+/
+
+CREATE OR REPLACE  PACKAGE BODY "GHTDB"."GHTPKG"  AS
+
+--Procedure declerations:
+       procedure ghsp_pkgAmbig(res out rct1) is
+  begin
+          --Return a value which indocates that the procedure 'ghsp_pkgAmbig' was called not from within GHTPKG.
+     declare IN_GHTPKG varchar2(4) := 'TRUE';
+     begin
+          open res for
+          select IN_GHTPKG as IN_PKG from dual;
+          end;
+  end;
+
+  procedure ghsp_inPkg(CustomerIdPrm in char, result out rct1) is
+  begin
+  OPEN result FOR
+  SELECT * FROM Customers where CustomerId=CustomerIdPrm;
+  end;
+  
+END;
+/
+
+CREATE OR REPLACE  PROCEDURE "GHTDB"."GH_MULTIRECORDSETS" (
+    RCT_Employees OUT GHTPKG.RCT1,
+    RCT_Customers OUT GHTPKG.RCT1,
+    RCT_Orders OUT GHTPKG.RCT1
+ )
+ IS
+ -- Declare cursor
+    m_RCT_Employees GHTPKG.RCT1;
+    m_RCT_Customers GHTPKG.RCT1;
+    m_RCT_Orders GHTPKG.RCT1;
+ BEGIN
+    OPEN m_RCT_Employees FOR
+    SELECT EmployeeId, LastName FROM Employees where EmployeeId in (1,2) ORDER BY EMPLOYEEID ASC;
+
+    OPEN m_RCT_Customers FOR
+    SELECT CustomerId, CompanyName,ContactName FROM Customers  where CustomerId in ('MORGK','NORTS') ORDER BY CustomerId ASC;
+    -- return empty result set
+    OPEN m_RCT_Orders FOR
+    SELECT OrderId, ShipAddress,ShipVia, ShipCity FROM Orders where OrderId=-1  ;
+
+    RCT_Employees := m_RCT_Employees;
+    RCT_Customers := m_RCT_Customers;
+    RCT_Orders := m_RCT_Orders;
+END;
+/
+
+CREATE OR REPLACE  PROCEDURE "GHTDB"."GH_INOUT1" (
+INPARAM IN VARCHAR DEFAULT NULL,
+OUTPARAM OUT INTEGER 
+)
+AS
+L_INPARAM VARCHAR(30) := INPARAM;
+BEGIN
+OUTPARAM := 100;
+END;
+/
+
+CREATE OR REPLACE  PROCEDURE "GHTDB"."GH_CREATETABLE"  AS
+Begin
+  --craete a temporary table
+  execute immediate 'Create global temporary Table ghtdb.temp_tbl (Col1 int,Col2 int)';
+  --insert values to the table
+  execute immediate 'insert into ghtdb.temp_tbl values (11,12)';
+  execute immediate 'insert into ghtdb.temp_tbl values (21,22)';
+  execute immediate 'insert into ghtdb.temp_tbl values (31,32)';
+  --execute select on the created table
+  execute immediate 'select col1 as Value1, col2 as Value2 from ghtdb.temp_tbl';
+  execute immediate 'drop table temp_tbl';
+end;
+/
+
+CREATE OR REPLACE  PROCEDURE "GHTDB"."GH_REFCURSOR1" (
+    RCT_Employees OUT GHTPKG.RCT1
+ )
+ IS
+    m_RCT_Employees GHTPKG.RCT1;
+ BEGIN
+    OPEN m_RCT_Employees FOR
+    SELECT EmployeeId, LastName FROM GHTDB.Employees where EmployeeId = 1;
+
+    RCT_Employees := m_RCT_Employees;
+END;
+/
+
+CREATE OR REPLACE  PROCEDURE "GHTDB"."GH_REFCURSOR2" (
+    IN_EMPLOYEEID INTEGER,
+    RCT_Employees OUT GHTPKG.RCT1
+ )
+ IS
+    m_RCT_Employees GHTPKG.RCT1;
+ BEGIN
+    OPEN m_RCT_Employees FOR
+    SELECT EmployeeId, LastName FROM GHTDB.Employees where EmployeeId = IN_EMPLOYEEID;
+
+    RCT_Employees := m_RCT_Employees;
+END;
+/
+
+CREATE OR REPLACE  PROCEDURE "GHTDB"."GH_REFCURSOR3" (
+    IN_LASTNAME VARCHAR2,
+    RCT_Employees OUT GHTPKG.RCT1
+ )
+ IS
+    m_RCT_Employees GHTPKG.RCT1;
+ BEGIN
+    OPEN m_RCT_Employees FOR
+    SELECT EmployeeId, LastName FROM GHTDB.Employees where LastName = IN_LASTNAME;
+
+    RCT_Employees := m_RCT_Employees;
+END;
+/
+
+
+CREATE OR REPLACE PROCEDURE GHTDB.GHSP_TYPES_SIMPLE_1 (
+T_NUMBER   IN NUMBER,
+T_LONG     IN LONG,
+T_FLOAT    IN FLOAT,
+T_VARCHAR  IN VARCHAR2,
+T_NVARCHAR IN NVARCHAR2,
+T_CHAR     IN CHAR,
+T_NCHAR    IN NCHAR,
+RESULT     OUT GHTPKG.RCT1
+)
+AS
+BEGIN
+OPEN RESULT FOR
+SELECT T_NUMBER AS T_NUMBER, T_LONG AS T_LONG, T_FLOAT AS T_FLOAT, T_VARCHAR AS T_VARCHAR, T_NVARCHAR AS T_NVARCHAR, T_CHAR AS T_CHAR, T_NCHAR AS T_NCHAR FROM DUAL;
+RETURN;
+END;
+/
+
+
+
+CREATE OR REPLACE PROCEDURE GHTDB.GHSP_TYPES_SIMPLE_2 (
+T_NUMBER   IN OUT NUMBER,
+T_LONG     IN OUT LONG,
+T_FLOAT    IN OUT FLOAT,
+T_VARCHAR  IN OUT VARCHAR2,
+T_NVARCHAR IN OUT NVARCHAR2,
+T_CHAR     IN OUT CHAR,
+T_NCHAR    IN OUT NCHAR
+)
+AS
+BEGIN
+T_NUMBER := T_NUMBER * 2;
+T_LONG := UPPER(T_LONG);
+T_FLOAT := T_FLOAT * 2;
+T_VARCHAR := UPPER(T_VARCHAR);
+T_NVARCHAR := UPPER(T_NVARCHAR);
+T_CHAR := UPPER(T_CHAR);
+T_NCHAR := UPPER(T_NCHAR);
+END;
+/
+
+
+
+CREATE OR REPLACE PROCEDURE GHTDB.GHSP_TYPES_SIMPLE_3 (
+ID1        IN CHAR,
+P_NUMBER   OUT NUMBER,
+P_LONG     OUT LONG,
+P_FLOAT    OUT FLOAT,
+P_VARCHAR  OUT VARCHAR2,
+P_NVARCHAR OUT NVARCHAR2,
+P_CHAR     OUT CHAR,
+P_NCHAR    OUT NCHAR
+)
+AS
+BEGIN
+SELECT T_NUMBER, T_LONG, T_FLOAT, T_VARCHAR, T_NVARCHAR, T_CHAR, T_NCHAR INTO P_NUMBER, P_LONG, P_FLOAT, P_VARCHAR, P_NVARCHAR, P_CHAR, P_NCHAR FROM TYPES_SIMPLE WHERE ID = ID1;
+RETURN;
+END;
+/
+
+
+
+CREATE OR REPLACE  PROCEDURE GHTDB.GHSP_TYPES_SIMPLE_4  (
+ID1        IN CHAR,
+RESULT     OUT GHTPKG.RCT1,
+RESULT1    OUT GHTPKG.RCT1,
+RESULT2    OUT GHTPKG.RCT1
+)
+IS
+
+m_result  GHTPKG.RCT1;
+m_result1  GHTPKG.RCT1;
+m_result2  GHTPKG.RCT1;
+
+BEGIN
+
+insert into TYPES_SIMPLE(ID,T_NUMBER) values (ID1,50);
+
+OPEN m_result FOR
+SELECT * FROM TYPES_SIMPLE where ID = ID1;
+
+update TYPES_SIMPLE set T_NUMBER=60 where Id = ID1;
+
+OPEN m_result1 FOR
+SELECT * FROM TYPES_SIMPLE where ID = ID1;
+
+delete from TYPES_SIMPLE where ID = ID1;
+
+OPEN m_result2 FOR
+SELECT * FROM TYPES_SIMPLE where ID = ID1;
+
+RESULT := m_result;
+RESULT1 := m_result1;
+RESULT2 := m_result2;
+
+END;
+/
+
+
+
+CREATE OR REPLACE PROCEDURE   GHTDB.GHSP_TYPES_SIMPLE_5(
+RESULT     OUT GHTPKG.RCT1
+)AS
+
+BEGIN
+  DECLARE
+    T_NUMBER    NUMBER(10)    := 21;
+    T_LONG      LONG          := 'abcdefghijklmnopqrstuvwxyz1234567890~!@#$%^&*()_+-=[]\|;:,./<>? ';
+    T_FLOAT     FLOAT(10)     := 1.234;
+    T_VARCHAR   VARCHAR2(10)  := 'qwertasdfg';
+    T_NVARCHAR  NVARCHAR2(10) := 'qwertasdfg';
+    T_CHAR      CHAR(10)      := 'abcdefghij';
+    T_NCHAR     NCHAR(10)     := 'abcdefghij';
+
+  BEGIN
+  OPEN RESULT FOR
+  SELECT T_NUMBER,T_LONG, T_FLOAT, T_VARCHAR, T_NVARCHAR, T_CHAR, T_NCHAR FROM DUAL;
+  RETURN;
+  END;
+
+END;
+/
+
+CREATE OR REPLACE  PROCEDURE "GHTDB"."GHSP_PKGAMBIG"  (
+ res out ghtpkg.rct1
+)
+as
+begin
+        --Return a value which indocates that the procedure 'ghsp_pkgAmbig' was called not from within GHTPKG.
+   declare IN_GHTPKG varchar2(5) := 'FALSE';
+   begin
+        open res for
+          select IN_GHTPKG as IN_PKG from dual;
+        end;
+end;
+/
+
+CREATE OR REPLACE  PROCEDURE "GHTDB"."GH_DUMMY"  (
+ EmployeeIDPrm in NUMBER,
+ result     OUT GHTPKG.RCT1
+)
+as
+begin
+ OPEN result FOR
+  SELECT EMPLOYEEID,
+         LASTNAME, 
+         FIRSTNAME, 
+         TITLE, 
+         TITLEOFCOURTESY, 
+         BIRTHDATE, 
+         HIREDATE, 
+         ADDRESS, 
+         CITY, 
+         REGION, 
+         POSTALCODE, 
+         COUNTRY, 
+         HOMEPHONE, 
+         EXTENSION, 
+         REPORTSTO, 
+         PHOTOPATH, 
+         MYCOLUMN
+  FROM GHTDB.EMPLOYEES where EmployeeID > EmployeeIDPrm;
+RETURN;
+end;
+/
+
+GRANT DELETE,INSERT,SELECT,UPDATE ON GHTDB.categories TO PUBLIC;
+GRANT DELETE,INSERT,SELECT,UPDATE ON GHTDB.current_product_list TO PUBLIC;
+GRANT DELETE,INSERT,SELECT,UPDATE ON GHTDB.customercustomerdemo TO PUBLIC;
+GRANT DELETE,INSERT,SELECT,UPDATE ON GHTDB.customerdemographics TO PUBLIC;
+GRANT DELETE,INSERT,SELECT,UPDATE ON GHTDB.customers TO PUBLIC;
+GRANT EXECUTE ON GHTDB.GH_MULTIRECORDSETS TO PUBLIC;
+--GRANT EXECUTE ON GHTDB.custordersorders TO PUBLIC;
+GRANT DELETE,INSERT,SELECT,UPDATE ON GHTDB.employees TO PUBLIC;
+GRANT DELETE,INSERT,SELECT,UPDATE ON GHTDB.employeeterritories TO PUBLIC;
+GRANT DELETE,INSERT,SELECT,UPDATE ON GHTDB.products TO PUBLIC;
+GRANT DELETE,INSERT,SELECT,UPDATE ON GHTDB.products_above_average_price TO PUBLIC;
+GRANT DELETE,INSERT,SELECT,UPDATE ON GHTDB.region TO PUBLIC;
+--GRANT EXECUTE ON salesbycategory TO PUBLIC;
+GRANT DELETE,INSERT,SELECT,UPDATE ON GHTDB.suppliers TO PUBLIC;
+--GRANT EXECUTE ON ten_most_expensive_products TO PUBLIC;
+GRANT DELETE,INSERT,SELECT,UPDATE ON GHTDB.territories TO PUBLIC;
+
+---------------------------------------------------------------------------------------------------------
+---------------------------------------------------------------------------------------------------------
+---------------------------------------------------------------------------------------------------------
+DROP TABLE GHTDB_EX.CUSTOMERS;
+DROP TABLE GHTDB_EX.categories;
+
+DROP USER GHTDB_EX CASCADE;
+
+CREATE USER "GHTDB_EX"
+    IDENTIFIED BY "GHTDB_EX" DEFAULT TABLESPACE "USERS"
+    TEMPORARY TABLESPACE "TEMP" ;
+
+GRANT CONNECT, RESOURCE TO "GHTDB_EX";
+
+CREATE OR REPLACE PACKAGE GHTDB_EX.GHTPKG
+AS
+       TYPE RCT1 IS REF CURSOR;
+       IDENTITY INTEGER;
+END;
+/
+
+CREATE TABLE GHTDB_EX.CUSTOMERS (
+  customerid   CHAR(10)      NOT NULL,
+  companyname  VARCHAR2(80)  NULL,
+  contactname  VARCHAR2(60)  NULL,
+  contacttitle VARCHAR2(60)  NULL,
+  address      VARCHAR2(120) NULL,
+  city         VARCHAR2(30)  NULL,
+  region       VARCHAR2(30)  NULL,
+  postalcode   VARCHAR2(20)  NULL,
+  country      VARCHAR2(30)  NULL,
+  phone        VARCHAR2(48)  NULL,
+  fax          VARCHAR2(48)  NULL,
+  picture      VARCHAR2(48)  NULL
+)
+  TABLESPACE USERS
+/
+
+CREATE TABLE GHTDB_EX.categories (
+  categoryid   VARCHAR2(20) NOT NULL,
+  categoryname VARCHAR2(30) NOT NULL,
+  description  CLOB         NULL
+)
+  TABLESPACE USERS
+/
+
+
+CREATE OR REPLACE  PROCEDURE "GHTDB_EX"."GH_DUMMY"  
+    (CustomerIdPrm IN CHAR,
+result     OUT GHTPKG.RCT1)
+AS
+BEGIN
+OPEN result FOR
+SELECT * FROM Customers where CustomerID=CustomerIdPrm;
+RETURN;
+END;
+/
+
+GRANT DELETE,INSERT,SELECT,UPDATE ON GHTDB_EX.CUSTOMERS TO PUBLIC;
+GRANT DELETE,INSERT,SELECT,UPDATE ON GHTDB_EX.CATEGORIES TO PUBLIC;
+GRANT EXECUTE ON GHTDB_EX.gh_dummy TO PUBLIC;
+
+
+
+COMMIT;
+
+exit
diff --git a/mcs/class/System.Data.OracleClient/Test/System.Data.OracleClient.jvm/MonoTests.System.Data.Utils/ADONetTesterClass.cs b/mcs/class/System.Data.OracleClient/Test/System.Data.OracleClient.jvm/MonoTests.System.Data.Utils/ADONetTesterClass.cs
new file mode 100755 (executable)
index 0000000..738a772
--- /dev/null
@@ -0,0 +1,1831 @@
+// Authors:
+//   Rafael Mizrahi   <rafim@mainsoft.com>
+//   Erez Lotan       <erezl@mainsoft.com>
+//   Oren Gurfinkel   <oreng@mainsoft.com>
+//   Ofer Borstein
+// 
+// Copyright (c) 2004 Mainsoft Co.
+// 
+// Permission is hereby granted, free of charge, to any person obtaining
+// a copy of this software and associated documentation files (the
+// "Software"), to deal in the Software without restriction, including
+// without limitation the rights to use, copy, modify, merge, publish,
+// distribute, sublicense, and/or sell copies of the Software, and to
+// permit persons to whom the Software is furnished to do so, subject to
+// the following conditions:
+// 
+// The above copyright notice and this permission notice shall be
+// included in all copies or substantial portions of the Software.
+// 
+// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
+// EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
+// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
+// NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
+// LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
+// OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
+// WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
+//
+
+using System;
+using System.Data;
+using System.Data.OracleClient ;
+using System.IO;
+using System.Collections;
+using MonoTests.System.Data.Utils.Data;
+using Sys = System;
+
+namespace MonoTests.System.Data.Utils {
+       public class ADONetTesterClass : GHTBase {
+               #region " Base Constructors "
+               protected ADONetTesterClass(Sys.IO.TextWriter Logger, bool LogOnSuccess) : base(Logger,LogOnSuccess){}
+               protected ADONetTesterClass(bool LogOnSuccess):base(Console.Out, LogOnSuccess){}
+               protected ADONetTesterClass():base(Console.Out, false){}
+
+               #endregion
+
+               private MonoTests.System.Data.Utils.DataBaseServer DBType ;
+
+
+               #region "-----------  Build Update Commands --------------"
+               protected void OracleDataAdapter_BuildUpdateCommands(ref Sys.Data.OracleClient.OracleDataAdapter oleDBda) {
+                       Sys.Data.OracleClient.OracleConnection Conn = oleDBda.SelectCommand.Connection;
+
+                       oleDBda.DeleteCommand = new Sys.Data.OracleClient.OracleCommand();
+                       oleDBda.InsertCommand = new Sys.Data.OracleClient.OracleCommand();
+                       oleDBda.UpdateCommand = new Sys.Data.OracleClient.OracleCommand();
+
+                       oleDBda.DeleteCommand.Connection = Conn;
+                       oleDBda.InsertCommand.Connection = Conn;
+                       oleDBda.UpdateCommand.Connection = Conn;
+
+                       oleDBda.DeleteCommand.Parameters.Add(new Sys.Data.OracleClient.OracleParameter("EmployeeID",Sys.Data.OracleClient.OracleType.Int32)) ;
+                       oleDBda.DeleteCommand.Parameters["EmployeeID"].SourceVersion = DataRowVersion.Original;
+                       oleDBda.DeleteCommand.Parameters["EmployeeID"].SourceColumn = "EmployeeID";
+
+                       oleDBda.InsertCommand.Parameters.Add(new Sys.Data.OracleClient.OracleParameter("LastName",Sys.Data.OracleClient.OracleType.VarChar ,20));
+                       oleDBda.InsertCommand.Parameters.Add(new Sys.Data.OracleClient.OracleParameter("FirstName",Sys.Data.OracleClient.OracleType.VarChar,10));
+                       oleDBda.InsertCommand.Parameters.Add(new Sys.Data.OracleClient.OracleParameter("EmployeeID",Sys.Data.OracleClient.OracleType.Int32));
+                       oleDBda.InsertCommand.Parameters["EmployeeID"].SourceColumn = "EmployeeID";
+                       oleDBda.InsertCommand.Parameters["LastName"].SourceColumn = "LastName";
+                       oleDBda.InsertCommand.Parameters["FirstName"].SourceColumn = "FirstName";
+
+                       oleDBda.UpdateCommand.Parameters.Add(new Sys.Data.OracleClient.OracleParameter("Title",Sys.Data.OracleClient.OracleType.VarChar,30));
+                       oleDBda.UpdateCommand.Parameters.Add(new Sys.Data.OracleClient.OracleParameter("EmployeeID",Sys.Data.OracleClient.OracleType.Int32));
+                       oleDBda.UpdateCommand.Parameters["EmployeeID"].SourceColumn = "EmployeeID";
+                       oleDBda.UpdateCommand.Parameters["Title"].SourceColumn = "Title";
+
+
+                       //for Oracle, ODBC
+                       string deleteSQL = "DELETE FROM Employees WHERE EmployeeID = :EmployeeID";
+                       string insertSQL = "INSERT INTO Employees (EmployeeID, LastName, FirstName) VALUES (:EmployeeID, :LastName, :FirstName)";
+                       string updateSQL = "UPDATE Employees SET Title = :Title WHERE EmployeeID = :EmployeeID";
+
+                       oleDBda.DeleteCommand.CommandText = deleteSQL;
+                       oleDBda.InsertCommand.CommandText = insertSQL;
+                       oleDBda.UpdateCommand.CommandText = updateSQL;
+
+               }
+               
+               #endregion
+
+               #region "-----------  Sys.Data.Common.DBDataAdapter --------------"
+
+               #region " DBDataAdapter - Fill / Fill Schema "
+
+               protected void DbDataAdapter_Fill_Ds(Sys.Data.Common.DbDataAdapter dbDA) {
+                       DataSet dsResult, dsExpected ;
+                       int ExpectedRowsCount,ResultRowsCount;
+                       DataSet ds = new DataSet();
+
+                       ExpectedRowsCount = ReadDBData_Fill(dbDA,ref ds,false);
+
+                       // create expected dataset to compare result to
+                       dsExpected = ds.Copy();
+
+                       //make some changes, the fill method will overides those changes with data from DB.
+                       foreach (DataRow dr in ds.Tables[0].Select())
+                               dr["Country"] = "NeverNeverLand";
+                       ds.Tables[0].Columns.Remove("HomePhone"); //remove column, this column will be addedd during the fill process
+                       //ds.Tables.Remove(ds.Tables[1]); //remove the table, this table will be addedd during the fill process
+                       ds.AcceptChanges();
+       
+                       // create source dataset to be filled
+                       dsResult = ds.Copy();
+               
+                       //execute fill
+                       ResultRowsCount = dbDA.Fill(dsResult);
+               
+                       CompareResults_Fill(dsResult,dsExpected);
+
+                       //close connection
+                       if (  ((IDbDataAdapter)dbDA).SelectCommand.Connection.State != ConnectionState.Closed )
+                               ((IDbDataAdapter)dbDA).SelectCommand.Connection.Close();
+               }
+
+               protected void DbDataAdapter_Fill_Dt(Sys.Data.Common.DbDataAdapter dbDA) {
+                       DataSet dsResult, dsExpected ;
+                       int ExpectedRowsCount,ResultRowsCount;
+                       DataSet ds = new DataSet();
+
+                       ExpectedRowsCount = ReadDBData_Fill(dbDA,ref ds, false);
+
+                       //ds.Tables.Remove(ds.Tables[1]); //remove the table, fill only one table
+
+                       // create expected dataset to compare result to
+                       dsExpected = ds.Copy();
+
+                       //make some changes, the fill method will overides those changes with data from DB.
+                       foreach (DataRow dr in ds.Tables[0].Select())
+                               dr["Country"] = "NeverNeverLand";
+                       ds.Tables[0].Columns.Remove("HomePhone"); //remove column, this column will be addedd during the fill process
+                       ds.AcceptChanges();
+               
+                       // create source dataset to be filled
+                       dsResult = ds.Copy();
+               
+                       //execute fill
+                       ResultRowsCount = dbDA.Fill(dsResult.Tables["Table"]);
+
+                       CompareResults_Fill(dsResult,dsExpected);
+
+                       //close connection
+                       if (  ((IDbDataAdapter)dbDA).SelectCommand.Connection.State != ConnectionState.Closed )
+                               ((IDbDataAdapter)dbDA).SelectCommand.Connection.Close();
+
+
+               }
+
+               protected void DbDataAdapter_Fill_Ds_Str(Sys.Data.Common.DbDataAdapter dbDA) {
+                       DataSet dsResult, dsExpected ;
+                       int ExpectedRowsCount,ResultRowsCount;
+                       DataSet ds = new DataSet();
+
+                       ExpectedRowsCount = ReadDBData_Fill(dbDA,ref ds, false);
+
+                       // create expected dataset to compare result to
+                       dsExpected = ds.Copy();
+
+                       //make some changes, the fill method will overides those changes with data from DB.
+                       foreach (DataRow dr in ds.Tables[0].Select())
+                               dr["Country"] = "NeverNeverLand";
+                       ds.Tables[0].Columns.Remove("HomePhone"); //remove column, this column will be addedd during the fill process
+                       //ds.Tables.Remove(ds.Tables[1]); //remove the table, this table will be addedd during the fill process
+                       ds.AcceptChanges();
+               
+                       // create source dataset to be filled
+                       dsResult = ds.Copy();
+               
+                       //execute fill
+                       ResultRowsCount = dbDA.Fill(dsResult,dsResult.Tables[0].TableName );
+
+                       CompareResults_Fill(dsResult,dsExpected);
+
+                       //close connection
+                       if (  ((IDbDataAdapter)dbDA).SelectCommand.Connection.State != ConnectionState.Closed )
+                               ((IDbDataAdapter)dbDA).SelectCommand.Connection.Close();
+               }
+
+               protected void DbDataAdapter_Fill_Ds_Int_Int_Str(Sys.Data.Common.DbDataAdapter dbDA) {
+                       DataSet dsResult, dsExpected ;
+                       int ExpectedRowsCount,ResultRowsCount;
+                       DataSet ds = new DataSet();
+
+                       ExpectedRowsCount = ReadDBData_Fill(dbDA,ref ds, false);
+                       // create expected dataset to compare result to
+                       dsExpected = ds.Copy();
+
+                       //make some changes, the fill method will overides those changes with data from DB.
+                       foreach (DataRow dr in ds.Tables[0].Select())
+                               dr["Country"] = "NeverNeverLand";       
+                       ds.Tables[0].Columns.Remove("HomePhone"); //remove column, this column will be addedd during the fill process
+                       //ds.Tables.Remove(ds.Tables[1]); //remove the table, this table will be addedd during the fill process
+                       ds.AcceptChanges();
+               
+                       // create source dataset to be filled
+                       dsResult = ds.Copy();
+               
+                       //execute fill
+                       ResultRowsCount = dbDA.Fill(dsResult,0,0,dsResult.Tables[0].TableName);
+                       CompareResults_Fill(dsResult,dsExpected);
+               
+                       dsResult = ds.Copy();
+                       //modify expected dataset to match the expected result
+                       for (int i=0; i < dsExpected.Tables[0].Rows.Count ; i++) {
+                               if (i < 5 || i > 14) {
+                                       dsExpected.Tables[0].Rows[i]["Country"] = "NeverNeverLand";
+                                       dsExpected.Tables[0].Rows[i]["HomePhone"] = DBNull.Value; 
+                               }
+                       }
+                       ResultRowsCount = dbDA.Fill(dsResult,5,10,dsResult.Tables[0].TableName);
+                       CompareResults_Fill(dsResult,dsExpected);
+
+                       //close connection
+                       if (  ((IDbDataAdapter)dbDA).SelectCommand.Connection.State != ConnectionState.Closed )
+                               ((IDbDataAdapter)dbDA).SelectCommand.Connection.Close();
+               }
+
+
+               protected void DbDataAdapter_FillSchema_Ds_SchemaType(Sys.Data.Common.DbDataAdapter dbDA) {
+                       DataSet dsResult = new DataSet(); 
+                       DataSet dsExpected = new DataSet();
+               
+                       // create expected dataset to compare result to
+                       ReadDBData_Fill(dbDA,ref dsExpected ,true);
+
+                       //  Note:   When handling batch SQL statements that return multiple results, 
+                       //      the implementation of FillSchema for the .NET Framework Data Provider for OLEDB 
+                       //      retrieves schema information for only the first result. 
+                       //      To retrieve schema information for multiple results, use Fill with the MissingSchemaAction set to AddWithKey
+                       //                      if (dbDA.GetType() == typeof(Sys.Data.OracleClient.OracleDataAdapter)) 
+                       //                              dsExpected.Tables.Remove(dsExpected.Tables[1]);
+
+                       //execute FillSchema
+
+                       //dsResult = dsExpected.Copy();
+                       DataTable[] dtArr = dbDA.FillSchema(dsResult,SchemaType.Mapped );
+
+                       //************  Fix .Net bug? (FillSchema method add AutoIncrement=true) *******************
+                       dsResult.Tables[0].Columns["EmployeeID"].AutoIncrement = false;
+               
+                       CompareResults_Fill(dsResult,dsExpected);
+
+                       Exception exp = null;
+                       try {
+                               BeginCase("Check return value - Table[0]");
+                               Compare(dtArr[0],dsResult.Tables[0] );
+                       }
+                       catch(Exception ex)     {exp = ex;}
+                       finally {EndCase(exp); exp = null;}
+
+                       //                      if (dbDA.GetType() != typeof(Sys.Data.OracleClient.OracleDataAdapter)) 
+                       //                              try
+                       //                              {
+                       //                                      BeginCase("Check return value - Table[1]");
+                       //                                      Compare(dtArr[1],dsResult.Tables[1]);
+                       //                              }
+                       //                              catch(Exception ex)     {exp = ex;}
+                       //                              finally {EndCase(exp); exp = null;}
+       
+                       //close connection
+                       if (  ((IDbDataAdapter)dbDA).SelectCommand.Connection.State != ConnectionState.Closed )
+                               ((IDbDataAdapter)dbDA).SelectCommand.Connection.Close();
+               }
+
+               protected void DbDataAdapter_FillSchema_Dt_SchemaType(Sys.Data.Common.DbDataAdapter dbDA) {
+                       DataSet dsResult = new DataSet(); 
+                       DataSet dsExpected = new DataSet();
+               
+                       // create expected dataset to compare result to
+                       ReadDBData_Fill(dbDA,ref dsExpected ,true);
+
+                       //dsExpected.Tables.Remove(dsExpected.Tables[1]);
+
+                       //execute FillSchema
+
+                       dsResult.Tables.Add("Table");
+                       DataTable dt = dbDA.FillSchema(dsResult.Tables[0],SchemaType.Mapped );
+
+                       //************  Fix .Net bug? (FillSchema method add AutoIncrement=true) *******************
+                       dsResult.Tables[0].Columns["EmployeeID"].AutoIncrement = false;
+
+                       CompareResults_Fill(dsResult,dsExpected);
+                       Exception exp = null;
+                       try {
+                               BeginCase("Check return value - Table[0]");
+                               Compare(dt,dsResult.Tables[0] );
+                       }
+                       catch(Exception ex)     {exp = ex;}
+                       finally {EndCase(exp); exp = null;}
+
+                       //close connection
+                       if (  ((IDbDataAdapter)dbDA).SelectCommand.Connection.State != ConnectionState.Closed )
+                               ((IDbDataAdapter)dbDA).SelectCommand.Connection.Close();
+               }
+
+               protected void DbDataAdapter_FillSchema_Ds_SchemaType_Str(Sys.Data.Common.DbDataAdapter dbDA) {
+                       DataSet dsResult = new DataSet(); 
+                       DataSet dsExpected = new DataSet();
+               
+                       // create expected dataset to compare result to
+                       ReadDBData_Fill(dbDA,ref dsExpected ,true);
+
+                       //dsExpected.Tables.Remove(dsExpected.Tables[1]);
+
+                       //execute FillSchema
+
+                       dsResult.Tables.Add("Table");
+                       DataTable[] dtArr = dbDA.FillSchema(dsResult,SchemaType.Mapped,dsResult.Tables[0].TableName);
+
+                       //************  Fix .Net bug? (FillSchema method add AutoIncrement=true) *******************
+                       dsResult.Tables[0].Columns["EmployeeID"].AutoIncrement = false;
+
+                       CompareResults_Fill(dsResult,dsExpected);
+                       Exception exp = null;
+                       try {
+                               BeginCase("Check return value - Table[0]");
+                               Compare(dtArr[0],dsResult.Tables[0] );
+                       }
+                       catch(Exception ex)     {exp = ex;}
+                       finally {EndCase(exp); exp = null;}
+
+                       //close connection
+                       if (  ((IDbDataAdapter)dbDA).SelectCommand.Connection.State != ConnectionState.Closed )
+                               ((IDbDataAdapter)dbDA).SelectCommand.Connection.Close();
+               }
+
+
+               private int ReadDBData_Fill(Sys.Data.Common.DbDataAdapter dbDA, ref DataSet ds, bool ReadSchemaOnly) {
+                       int ExpectedRowsCount = 0;
+                       IDbDataAdapter Ida = (IDbDataAdapter)dbDA;
+                       IDbCommand ICmd = Ida.SelectCommand; 
+                       IDbConnection IConn = ICmd.Connection; 
+                       IDataReader Idr;
+                       IConn.ConnectionString = MonoTests.System.Data.Utils.ConnectedDataProvider.ConnectionString;
+                       ICmd.CommandText = "SELECT EmployeeID, LastName, FirstName, Title, Address, City, Region, Country, Extension, HomePhone  FROM Employees "  ;
+                       IConn.Open();
+
+                       //get db type
+                       DBType = ConnectedDataProvider.GetDbType(((IDbDataAdapter)dbDA).SelectCommand.Connection.ConnectionString);
+
+                       // Execute data Reader - Get Expected results
+                       Idr = ICmd.ExecuteReader();
+
+                       // create temp dataset to insert results
+                       ExpectedRowsCount = DataReaderFill_Fill(ref ds,ref Idr,ReadSchemaOnly);
+                       Idr.Close();
+                       return ExpectedRowsCount;
+               }
+               private void CompareResults_Fill(DataSet dsResult,DataSet dsExpected ) {
+                       Exception exp = null;
+
+                       //                      try
+                       //                      {
+                       //                              BeginCase("Compare Rows count");
+                       //                              // ???????   Fill return count for first table only    ??????
+                       //                              Compare(ExpectedRowsCount  ,ResultRowsCount );
+                       //                      }
+                       //                      catch(Exception ex)     {exp = ex;}
+                       //                      finally {EndCase(exp); exp = null;}
+
+                       try {
+                               BeginCase("Compare data");
+                               Compare(dsResult.GetXml() ,dsExpected.GetXml());
+                       }
+                       catch(Exception ex)     {exp = ex;}
+                       finally {EndCase(exp); exp = null;}
+
+                       try {
+                               BeginCase("Compare schema");
+                               Compare(dsResult.GetXmlSchema() ,dsExpected.GetXmlSchema());
+                       }
+                       catch(Exception ex)     {exp = ex;}
+                       finally {EndCase(exp); exp = null;}
+               }
+
+               private int DataReaderFill_Fill(ref DataSet dsExpected, ref IDataReader Idr,bool ReadSchemaOnly) {
+                       bool blnNextResults;
+                       int RowsAffected = 0;
+                       object[] objArr = null;
+                       DataTable SchemaTable = null;
+                       do {
+                               SchemaTable = Idr.GetSchemaTable();
+
+                               //add new table with the right amount of columns, the first table must be named "Table"
+                               if (dsExpected.Tables.Count == 0)
+                                       dsExpected.Tables.Add(new DataTable("Table"));
+                               else
+                                       dsExpected.Tables.Add();
+                               for (int i = 0 ; i < Idr.FieldCount; i++) {
+                                       dsExpected.Tables[dsExpected.Tables.Count-1].Columns.Add(new DataColumn(Idr.GetName(i),Idr.GetFieldType(i)));
+                                       if (ReadSchemaOnly) {   // add schema info
+                                               dsExpected.Tables[dsExpected.Tables.Count-1].Columns[i].AllowDBNull = (bool)SchemaTable.Rows[i]["AllowDBNull"];
+                                               dsExpected.Tables[dsExpected.Tables.Count-1].Columns[i].AutoIncrement = (bool)SchemaTable.Rows[i]["IsAutoIncrement"];
+                                               dsExpected.Tables[dsExpected.Tables.Count-1].Columns[i].ReadOnly = (bool)SchemaTable.Rows[i]["IsReadOnly"];
+                                               dsExpected.Tables[dsExpected.Tables.Count-1].Columns[i].Unique = (bool)SchemaTable.Rows[i]["IsUnique"];
+                                               if (dsExpected.Tables[dsExpected.Tables.Count-1].Columns[i].DataType == typeof(string))
+                                                       dsExpected.Tables[dsExpected.Tables.Count-1].Columns[i].MaxLength = (int)SchemaTable.Rows[i]["ColumnSize"];
+                                       }
+                               }
+
+                               if (!ReadSchemaOnly) {
+                                       //array that holds the current rows values
+                                       objArr = new object[Idr.FieldCount];
+
+                                       //fill the new table
+                                       while (Idr.Read()) {
+                                               Idr.GetValues(objArr);
+                                               //update existing row, if no row is found - add it as new row
+                                               dsExpected.Tables[dsExpected.Tables.Count-1].LoadDataRow(objArr,false);
+                                               RowsAffected++;
+                                       }
+                               }
+
+                               //get next record set 
+                               blnNextResults = Idr.NextResult(); 
+                       } 
+                       while (blnNextResults);
+
+                       // add primary key, fill method will update existing rows instead of insert new ones
+                       dsExpected.Tables[0].PrimaryKey = new DataColumn[] {dsExpected.Tables[0].Columns["EmployeeID"]};
+                       //if (ReadSchemaOnly)   dsExpected.Tables[1].PrimaryKey = new DataColumn[] {dsExpected.Tables[1].Columns["CustomerID"]};
+                       dsExpected.AcceptChanges();
+
+                       return RowsAffected;
+               
+               }
+
+               #endregion
+
+               #region " DBDataAdapter - FillError "
+               private bool blnReadDBData_Fill = false;
+
+               protected void DbDataAdapter_FillError(Sys.Data.Common.DbDataAdapter dbDA) {
+                       Exception exp = null;
+                       IDbDataAdapter Ida = (IDbDataAdapter)dbDA;
+                       IDbCommand ICmd = Ida.SelectCommand; 
+                       IDbConnection IConn = ICmd.Connection; 
+                       IConn.ConnectionString = MonoTests.System.Data.Utils.ConnectedDataProvider.ConnectionString;
+                       ICmd.CommandText = "SELECT CustomerID, CompanyName, City, Country, Phone FROM Customers ";
+                       IConn.Open();
+
+                       DataSet ds = new DataSet();
+                       ds.Tables.Add(new DataTable("Customers"));
+                       ds.Tables[0].Columns.Add("CustomerID",typeof(byte));
+        
+                       //check FillError event
+                       dbDA.FillError += new FillErrorEventHandler(dbDA_FillError);
+                       blnReadDBData_Fill = false;
+                       try {
+                               BeginCase("FillError");
+                               try {
+                                       dbDA.Fill(ds,"Customers");
+                               }
+                               catch (Exception ){};
+                               Compare(blnReadDBData_Fill ,true );
+                       }
+                       catch(Exception ex)     {exp = ex;}
+                       finally {EndCase(exp); exp = null;}
+                       dbDA.FillError -= new FillErrorEventHandler(dbDA_FillError);
+
+                       //close connection
+                       if (  ((IDbDataAdapter)dbDA).SelectCommand.Connection.State != ConnectionState.Closed )
+                               ((IDbDataAdapter)dbDA).SelectCommand.Connection.Close();
+               }
+               private void dbDA_FillError(object sender, FillErrorEventArgs args) {
+                       blnReadDBData_Fill = true;
+                       args.Continue = false;
+               }
+
+               #endregion
+
+               #region " DBDataAdapter - Update "
+               protected void DbDataAdapter_Update_Ds(Sys.Data.Common.DbDataAdapter dbDA) {
+                       int NumberOfAffectedRows = 0;
+                       Exception exp = null;
+
+                       // --------- get data from DB -----------------
+                       DataSet ds = PrepareDBData_Update(dbDA);
+
+                       // --------- prepare dataset for update method -----------------
+                       DataSet dsDB1 = ds.Copy(); 
+               
+                       // --------- prepare dataset for DBConcurrencyException -----------------
+                       DataSet dsDB2 = ds.Copy(); 
+               
+                       //update expecteed dataset
+                       dsDB2.Tables[0].Rows.Add(new object[] {9994,"Ofer", "Borshtein", "Delete"});
+                       dsDB2.Tables[0].Rows.Add(new object[] {9995,"Ofer", "Borshtein", "Update"});
+                       dsDB2.Tables[0].Rows.Find(9996).Delete();
+                       dsDB2.AcceptChanges();
+
+                       //make changes to the DataBase (through the dataset)
+                       dsDB1.Tables[0].Rows.Add(new object[] {9991,"Ofer","Borshtein","Insert"});
+                       dsDB1.Tables[0].Rows.Find(9992).Delete();
+                       dsDB1.Tables[0].Rows.Find(9993)["Title"] = "Jack the ripper"; 
+
+                       //execute update to db
+                       NumberOfAffectedRows = dbDA.Update(dsDB1);
+               
+                       try {
+                               BeginCase("Number Of Affected Rows");
+                               Compare(NumberOfAffectedRows ,3 );
+                       }
+                       catch(Exception ex)     {exp = ex;}
+                       finally {EndCase(exp); exp = null;}
+       
+
+                       //get result from db in order to check them
+                       DataSet dsExpected = new DataSet(); //ds.Reset();
+                       dbDA.Fill(dsExpected);
+                       dsExpected.Tables[0].PrimaryKey = new DataColumn[] {dsExpected.Tables[0].Columns["EmployeeID"]};
+
+                       CompareResults_Update(dsDB1,dsDB2,ref dbDA);
+                       CompareResults_Update_Ds_Exception(dsDB2,ref dbDA);
+
+                       //Create rows which not exists in the DB but exists in the DS with row state = deleted
+                       //this will cause the Update to fail.
+                       dsDB1.Tables[0].Rows.Add(new object[] {9997,"Ofer", "Borshtein", "Delete"});
+                       dsDB1.Tables[0].Rows.Add(new object[] {9998,"Ofer", "Borshtein", "Delete"});
+                       dsDB1.AcceptChanges();
+                       dsDB1.Tables[0].Rows.Find(9997).Delete();
+                       dsDB1.Tables[0].Rows.Find(9998).Delete();
+
+                       //Check Sys.Data.DBConcurrencyException
+                       //The exception that is thrown by the DataAdapter during the update operation if the number of rows affected equals zero.
+                       try {
+                               BeginCase("Check DBConcurrencyException");
+                               try {
+                                       NumberOfAffectedRows = dbDA.Update(dsDB1);
+                               }
+                               catch (DBConcurrencyException ex) {exp=ex;}
+                               Compare(exp.GetType(),typeof(DBConcurrencyException) );
+                               exp = null;
+                       }
+                       catch(Exception ex)     {exp = ex;}
+                       finally {EndCase(exp); exp = null;}
+
+                       //close connection
+                       if (  ((IDbDataAdapter)dbDA).SelectCommand.Connection.State != ConnectionState.Closed )
+                               ((IDbDataAdapter)dbDA).SelectCommand.Connection.Close();
+
+
+               }
+
+               private void CompareResults_Update_Ds_Exception(DataSet dsResultException,ref Sys.Data.Common.DbDataAdapter dbDA) {
+                       int NumberOfAffectedRows = 0;
+                       Exception exp = null;
+                       Exception e = null;
+
+               
+                       // --------- check for DBConcurrencyException /UniqueConstraint -----------------
+                       //      call AcceptChanges after each exception check in order to make sure that we check only the the current row 
+
+
+                       try {
+                               BeginCase("DBConcurrencyException - Delete");
+                               dsResultException.Tables[0].Rows.Find(9994).Delete();
+                               //no row with row version delete exists - records affected = 0
+                               NumberOfAffectedRows = -1;
+                               try {NumberOfAffectedRows = dbDA.Update(dsResultException);}
+                               catch (DBConcurrencyException dbExp){e = dbExp;}
+                               Compare(e.GetType(),typeof(DBConcurrencyException));
+                       }
+                       catch(Exception ex)     {exp = ex;}
+                       finally {EndCase(exp); exp = null; e = null;}
+                       try {
+                               BeginCase("Number Of Affected Rows - Delete Exception");
+                               Compare(NumberOfAffectedRows ,-1 );
+                       }
+                       catch(Exception ex)     {exp = ex;}
+                       finally {EndCase(exp); exp = null;}
+                       dsResultException.AcceptChanges();
+
+                       try {
+                               BeginCase("DBConcurrencyException - Update");
+                               dsResultException.Tables[0].Rows.Find(9995)["Title"] = "Jack the ripper"; 
+                               //no row with row version Update exists - records affected = 0
+                               NumberOfAffectedRows = -1;
+                               try {NumberOfAffectedRows = dbDA.Update(dsResultException);}
+                               catch (DBConcurrencyException dbExp){e = dbExp;}
+                               Compare(e.GetType(),typeof(DBConcurrencyException));
+                       }
+                       catch(Exception ex)     {exp = ex;}
+                       finally {EndCase(exp); exp = null; e = null;}
+                       try {
+                               BeginCase("Number Of Affected Rows - Update Exception");
+                               Compare(NumberOfAffectedRows ,-1 );
+                       }
+                       catch(Exception ex)     {exp = ex;}
+                       finally {EndCase(exp); exp = null;}
+                       dsResultException.AcceptChanges();
+
+
+                       try {
+                               BeginCase("DBConcurrencyException - Insert");
+                               dsResultException.Tables[0].Rows.Add(new object[] {9996,"Ofer","Borshtein","Insert"});
+                               //no row with row version Insert exists - records affected = 0
+                               NumberOfAffectedRows = -1;
+                               try {NumberOfAffectedRows = dbDA.Update(dsResultException);}
+                               catch (Exception dbExp){e = dbExp;} //throw Sys.Exception
+                               Compare(e != null ,true);
+                       }
+                       catch(Exception ex)     {exp = ex;}
+                       finally {EndCase(exp); exp = null; e = null;}
+                       try {
+                               BeginCase("Number Of Affected Rows - Insert Exception");
+                               Compare(NumberOfAffectedRows ,-1 );
+                       }
+                       catch(Exception ex)     {exp = ex;}
+                       finally {EndCase(exp); exp = null;}
+                       dsResultException.AcceptChanges();
+
+
+               }
+       
+
+               protected void DbDataAdapter_Update_Dt(Sys.Data.Common.DbDataAdapter dbDA) {
+                       int NumberOfAffectedRows = 0;
+                       Exception exp = null;
+
+                       // --------- get data from DB -----------------
+                       DataSet ds = PrepareDBData_Update(dbDA);                        
+
+                       // --------- prepare dataset for update method -----------------
+                       DataSet dsDB1 = ds.Copy(); 
+               
+                       // --------- prepare dataset for DBConcurrencyException -----------------
+                       DataSet dsDB2 = ds.Copy(); 
+
+                       //update dataset
+                       dsDB2.Tables[0].Rows.Add(new object[] {9994,"Ofer", "Borshtein", "Delete"});
+                       dsDB2.Tables[0].Rows.Add(new object[] {9995,"Ofer", "Borshtein", "Update"});
+                       dsDB2.Tables[0].Rows.Find(9996).Delete();
+                       dsDB2.AcceptChanges();
+
+               
+                       dsDB1.Tables[0].Rows.Add(new object[] {9991,"Ofer","Borshtein","Insert"});
+                       dsDB1.Tables[0].Rows.Find(9992).Delete();
+                       dsDB1.Tables[0].Rows.Find(9993)["Title"] = "Jack the ripper"; 
+
+                       //execute update to db
+                       NumberOfAffectedRows = dbDA.Update(dsDB1.Tables[0]);
+               
+                       try {
+                               BeginCase("Number Of Affected Rows");
+                               Compare(NumberOfAffectedRows ,3 );
+                       }
+                       catch(Exception ex)     {exp = ex;}
+                       finally {EndCase(exp); exp = null;}
+       
+
+                       //get result from db in order to check them
+                       DataSet dsExpected = new DataSet(); //ds.Reset();
+                       dbDA.Fill(dsExpected);
+                       dsExpected.Tables[0].PrimaryKey = new DataColumn[] {dsExpected.Tables[0].Columns["EmployeeID"]};
+
+                       CompareResults_Update(dsDB1,dsDB2,ref dbDA);
+                       CompareResults_Update_Dt_Exception(dsDB2,ref dbDA);
+
+                       //Create rows which not exists in the DB but exists in the DS with row state = deleted
+                       //this will cause the Update to fail.
+                       dsDB1.Tables[0].Rows.Add(new object[] {9997,"Ofer", "Borshtein", "Delete"});
+                       dsDB1.Tables[0].Rows.Add(new object[] {9998,"Ofer", "Borshtein", "Delete"});
+                       dsDB1.AcceptChanges();
+                       dsDB1.Tables[0].Rows.Find(9997).Delete();
+                       dsDB1.Tables[0].Rows.Find(9998).Delete();
+
+                       //Check Sys.Data.DBConcurrencyException
+                       //The exception that is thrown by the DataAdapter during the update operation if the number of rows affected equals zero.
+                       try {
+                               BeginCase("Check DBConcurrencyException");
+                               try {
+                                       NumberOfAffectedRows = dbDA.Update(dsDB1.Tables[0]);
+                               }
+                               catch (DBConcurrencyException ex) {exp=ex;}
+                               Compare(exp.GetType(),typeof(DBConcurrencyException) );
+                               exp = null;
+                       }
+                       catch(Exception ex)     {exp = ex;}
+                       finally {EndCase(exp); exp = null;}
+
+                       //close connection
+                       if (  ((IDbDataAdapter)dbDA).SelectCommand.Connection.State != ConnectionState.Closed )
+                               ((IDbDataAdapter)dbDA).SelectCommand.Connection.Close();
+
+
+               }
+
+               private void CompareResults_Update_Dt_Exception(DataSet dsResultException,ref Sys.Data.Common.DbDataAdapter dbDA) {
+                       int NumberOfAffectedRows = 0;
+                       Exception exp = null;
+                       Exception e = null;
+
+
+                       // --------- check for DBConcurrencyException /UniqueConstraint -----------------
+                       //      call AcceptChanges after each exception check in order to make sure that we check only the the current row 
+
+
+                       try {
+                               BeginCase("DBConcurrencyException - Delete");
+                               dsResultException.Tables[0].Rows.Find(9994).Delete();
+                               //no row with row version delete exists - records affected = 0
+                               NumberOfAffectedRows = -1;
+                               try {NumberOfAffectedRows = dbDA.Update(dsResultException.Tables[0]);}
+                               catch (DBConcurrencyException dbExp){e = dbExp;}
+                               Compare(e.GetType(),typeof(DBConcurrencyException));
+                       }
+                       catch(Exception ex)     {exp = ex;}
+                       finally {EndCase(exp); exp = null; e = null;}
+                       try {
+                               BeginCase("Number Of Affected Rows - Delete Exception");
+                               Compare(NumberOfAffectedRows ,-1 );
+                       }
+                       catch(Exception ex)     {exp = ex;}
+                       finally {EndCase(exp); exp = null;}
+                       dsResultException.AcceptChanges();
+
+                       try {
+                               BeginCase("DBConcurrencyException - Update");
+                               dsResultException.Tables[0].Rows.Find(9995)["Title"] = "Jack the ripper"; 
+                               //no row with row version Update exists - records affected = 0
+                               NumberOfAffectedRows = -1;
+                               try {NumberOfAffectedRows = dbDA.Update(dsResultException.Tables[0]);}
+                               catch (DBConcurrencyException dbExp){e = dbExp;}
+                               Compare(e.GetType(),typeof(DBConcurrencyException));
+                       }
+                       catch(Exception ex)     {exp = ex;}
+                       finally {EndCase(exp); exp = null; e = null;}
+                       try {
+                               BeginCase("Number Of Affected Rows - Update Exception");
+                               Compare(NumberOfAffectedRows ,-1 );
+                       }
+                       catch(Exception ex)     {exp = ex;}
+                       finally {EndCase(exp); exp = null;}
+                       dsResultException.AcceptChanges();
+
+
+                       try {
+                               BeginCase("DBConcurrencyException - Insert");
+                               dsResultException.Tables[0].Rows.Add(new object[] {9996,"Ofer","Borshtein","Insert"});
+                               //no row with row version Insert exists - records affected = 0
+                               NumberOfAffectedRows = -1;
+                               try {NumberOfAffectedRows = dbDA.Update(dsResultException.Tables[0]);}
+                               catch (Exception dbExp){e = dbExp;} //throw Sys.Exception
+                               Compare(e != null ,true);
+                       }
+                       catch(Exception ex)     {exp = ex;}
+                       finally {EndCase(exp); exp = null; e = null;}
+                       try {
+                               BeginCase("Number Of Affected Rows - Insert Exception");
+                               Compare(NumberOfAffectedRows ,-1 );
+                       }
+                       catch(Exception ex)     {exp = ex;}
+                       finally {EndCase(exp); exp = null;}
+                       dsResultException.AcceptChanges();
+
+               }
+
+
+               protected void DbDataAdapter_Update_Dr(Sys.Data.Common.DbDataAdapter dbDA) {
+                       int NumberOfAffectedRows = 0;
+                       Exception exp = null;
+
+                       // --------- get data from DB -----------------
+                       DataSet ds = PrepareDBData_Update(dbDA);
+
+                       // --------- prepare dataset for update method -----------------
+                       DataSet dsDB1 = ds.Copy(); 
+               
+                       // --------- prepare dataset for DBConcurrencyException -----------------
+                       DataSet dsDB2 = ds.Copy(); 
+
+                       //update dataset
+                       dsDB2.Tables[0].Rows.Add(new object[] {9994,"Ofer", "Borshtein", "Delete"});
+                       dsDB2.Tables[0].Rows.Add(new object[] {9995,"Ofer", "Borshtein", "Update"});
+                       dsDB2.Tables[0].Rows.Find(9996).Delete();
+                       dsDB2.AcceptChanges();
+
+               
+                       dsDB1.Tables[0].Rows.Add(new object[] {9991,"Ofer","Borshtein","Insert"});
+                       dsDB1.Tables[0].Rows.Find(9992).Delete();
+                       dsDB1.Tables[0].Rows.Find(9993)["Title"] = "Jack the ripper"; 
+
+                       //execute update to db
+               
+                       DataRow[] drArr = new DataRow[dsDB1.Tables[0].Rows.Count] ;
+                       dsDB1.Tables[0].Rows.CopyTo(drArr,0);
+                       NumberOfAffectedRows = dbDA.Update(drArr);
+               
+                       try {
+                               BeginCase("Number Of Affected Rows");
+                               Compare(NumberOfAffectedRows ,3 );
+                       }
+                       catch(Exception ex)     {exp = ex;}
+                       finally {EndCase(exp); exp = null;}
+       
+
+                       //get result from db in order to check them
+                       DataSet dsExpected = new DataSet(); //ds.Reset();
+                       dbDA.Fill(dsExpected);
+                       dsExpected.Tables[0].PrimaryKey = new DataColumn[] {dsExpected.Tables[0].Columns["EmployeeID"]};
+
+                       CompareResults_Update(dsDB1,dsDB2,ref dbDA);
+                       CompareResults_Update_Dr_Exception(dsDB2,ref dbDA);
+
+                       //Create rows which not exists in the DB but exists in the DS with row state = deleted
+                       //this will cause the Update to fail.
+                       dsDB1.Tables[0].Rows.Add(new object[] {9997,"Ofer", "Borshtein", "Delete"});
+                       dsDB1.Tables[0].Rows.Add(new object[] {9998,"Ofer", "Borshtein", "Delete"});
+                       dsDB1.AcceptChanges();
+                       dsDB1.Tables[0].Rows.Find(9997).Delete();
+                       dsDB1.Tables[0].Rows.Find(9998)[1] = "Updated!";
+               
+                       drArr = new DataRow[dsDB1.Tables[0].Rows.Count];
+                       dsDB1.Tables[0].Rows.CopyTo(drArr,0);
+
+                       //Check Sys.Data.DBConcurrencyException
+                       //The exception that is thrown by the DataAdapter during the update operation if the number of rows affected equals zero.
+                       try {
+                               BeginCase("Check DBConcurrencyException");
+                               try {
+                                       NumberOfAffectedRows = dbDA.Update(drArr);
+                               }
+                               catch (DBConcurrencyException ex) {exp=ex;}
+                               Compare(exp.GetType(),typeof(DBConcurrencyException) );
+                               exp = null;
+                       }
+                       catch(Exception ex)     {exp = ex;}
+                       finally {EndCase(exp); exp = null;}
+
+                       //close connection
+                       if (  ((IDbDataAdapter)dbDA).SelectCommand.Connection.State != ConnectionState.Closed )
+                               ((IDbDataAdapter)dbDA).SelectCommand.Connection.Close();
+
+
+               }
+
+               private void CompareResults_Update_Dr_Exception(DataSet dsResultException,ref Sys.Data.Common.DbDataAdapter dbDA) {
+                       int NumberOfAffectedRows = 0;
+                       Exception exp = null;
+                       Exception e = null;
+               
+                       DataRow[] drArr = new DataRow[dsResultException.Tables[0].Rows.Count];
+               
+                       // --------- check for DBConcurrencyException /UniqueConstraint -----------------
+                       //      call AcceptChanges after each exception check in order to make sure that we check only the the current row 
+
+                       try {
+                               BeginCase("DBConcurrencyException - Delete");
+                               dsResultException.Tables[0].Rows.Find(9994).Delete();
+                               dsResultException.Tables[0].Rows.CopyTo(drArr,0);
+                               //no row with row version delete exists - records affected = 0
+                               NumberOfAffectedRows = -1;
+                               try {NumberOfAffectedRows = dbDA.Update(drArr);}
+                               catch (DBConcurrencyException dbExp){e = dbExp;}
+                               Compare(e.GetType(),typeof(DBConcurrencyException));
+                       }
+                       catch(Exception ex)     {exp = ex;}
+                       finally {EndCase(exp); exp = null; e = null;}
+                       try {
+                               BeginCase("Number Of Affected Rows - Delete Exception");
+                               Compare(NumberOfAffectedRows ,-1 );
+                       }
+                       catch(Exception ex)     {exp = ex;}
+                       finally {EndCase(exp); exp = null;}
+                       dsResultException.AcceptChanges();
+
+                       try {
+                               BeginCase("DBConcurrencyException - Update");
+                               dsResultException.Tables[0].Rows.Find(9995)["Title"] = "Jack the ripper"; 
+                               dsResultException.Tables[0].Rows.CopyTo(drArr,0);
+                               //no row with row version Update exists - records affected = 0
+                               NumberOfAffectedRows = -1;
+                               try {NumberOfAffectedRows = dbDA.Update(drArr);}
+                               catch (DBConcurrencyException dbExp){e = dbExp;}
+                               Compare(e.GetType(),typeof(DBConcurrencyException));
+                       }
+                       catch(Exception ex)     {exp = ex;}
+                       finally {EndCase(exp); exp = null; e = null;}
+                       try {
+                               BeginCase("Number Of Affected Rows - Update Exception");
+                               Compare(NumberOfAffectedRows ,-1 );
+                       }
+                       catch(Exception ex)     {exp = ex;}
+                       finally {EndCase(exp); exp = null;}
+                       dsResultException.AcceptChanges();
+
+
+                       try {
+                               BeginCase("DBConcurrencyException - Insert");
+                               dsResultException.Tables[0].Rows.Add(new object[] {9996,"Ofer","Borshtein","Insert"});
+                               dsResultException.Tables[0].Rows.CopyTo(drArr,0);
+                               //no row with row version Insert exists - records affected = 0
+                               NumberOfAffectedRows = -1;
+                               try {NumberOfAffectedRows = dbDA.Update(drArr);}
+                               catch (Exception dbExp){e = dbExp;} //throw Sys.Exception
+                               Compare(e != null ,true);
+                       }
+                       catch(Exception ex)     {exp = ex;}
+                       finally {EndCase(exp); exp = null; e = null;}
+                       try {
+                               BeginCase("Number Of Affected Rows - Insert Exception");
+                               Compare(NumberOfAffectedRows ,-1 );
+                       }
+                       catch(Exception ex)     {exp = ex;}
+                       finally {EndCase(exp); exp = null;}
+                       dsResultException.AcceptChanges();
+
+               }
+
+
+               protected void DbDataAdapter_Update_Ds_Str(Sys.Data.Common.DbDataAdapter dbDA) {
+                       int NumberOfAffectedRows = 0;
+                       Exception exp = null;
+
+                       // --------- get data from DB -----------------
+                       DataSet ds = PrepareDBData_Update(dbDA);
+
+                       // --------- prepare dataset for update method -----------------
+                       DataSet dsDB1 = ds.Copy(); 
+               
+                       // --------- prepare dataset for DBConcurrencyException -----------------
+                       DataSet dsDB2 = ds.Copy(); 
+               
+                       //update dataset
+                       dsDB2.Tables[0].Rows.Add(new object[] {9994,"Ofer", "Borshtein", "Delete"});
+                       dsDB2.Tables[0].Rows.Add(new object[] {9995,"Ofer", "Borshtein", "Update"});
+                       dsDB2.Tables[0].Rows.Find(9996).Delete();
+                       dsDB2.AcceptChanges();
+
+               
+                       dsDB1.Tables[0].Rows.Add(new object[] {9991,"Ofer","Borshtein","Insert"});
+                       dsDB1.Tables[0].Rows.Find(9992).Delete();
+                       dsDB1.Tables[0].Rows.Find(9993)["Title"] = "Jack the ripper"; 
+
+                       //execute update to db
+                       NumberOfAffectedRows = dbDA.Update(dsDB1,dsDB1.Tables[0].TableName);
+               
+                       try {
+                               BeginCase("Number Of Affected Rows");
+                               Compare(NumberOfAffectedRows ,3 );
+                       }
+                       catch(Exception ex)     {exp = ex;}
+                       finally {EndCase(exp); exp = null;}
+       
+
+                       //get result from db in order to check them
+                       DataSet dsExpected = new DataSet(); //ds.Reset();
+                       dbDA.Fill(dsExpected);
+                       dsExpected.Tables[0].PrimaryKey = new DataColumn[] {dsExpected.Tables[0].Columns["EmployeeID"]};
+
+                       CompareResults_Update(dsDB1,dsDB2,ref dbDA);
+                       CompareResults_Update_Ds_Str_Exception(dsDB2,ref dbDA);
+
+                       //Create rows which not exists in the DB but exists in the DS with row state = deleted
+                       //this will cause the Update to fail.
+                       dsDB1.Tables[0].Rows.Add(new object[] {9997,"Ofer", "Borshtein", "Delete"});
+                       dsDB1.Tables[0].Rows.Add(new object[] {9998,"Ofer", "Borshtein", "Delete"});
+                       dsDB1.AcceptChanges();
+                       dsDB1.Tables[0].Rows.Find(9997).Delete();
+                       dsDB1.Tables[0].Rows.Find(9998).Delete();
+
+
+                       //Check Sys.Data.DBConcurrencyException
+                       //The exception that is thrown by the DataAdapter during the update operation if the number of rows affected equals zero.
+                       try {
+                               BeginCase("Check DBConcurrencyException");
+                               try {
+                                       NumberOfAffectedRows = dbDA.Update(dsDB1,dsDB1.Tables[0].TableName);
+                               }
+                               catch (DBConcurrencyException ex) {exp=ex;}
+                               Compare(exp.GetType(),typeof(DBConcurrencyException) );
+                               exp = null;
+                       }
+                       catch(Exception ex)     {exp = ex;}
+                       finally {EndCase(exp); exp = null;}
+
+                       //close connection
+                       if (  ((IDbDataAdapter)dbDA).SelectCommand.Connection.State != ConnectionState.Closed )
+                               ((IDbDataAdapter)dbDA).SelectCommand.Connection.Close();
+
+
+               }
+
+               private void CompareResults_Update_Ds_Str_Exception(DataSet dsResultException,ref Sys.Data.Common.DbDataAdapter dbDA) {
+                       int NumberOfAffectedRows = 0;
+                       Exception exp = null;
+                       Exception e = null;
+
+               
+                       // --------- check for DBConcurrencyException /UniqueConstraint -----------------
+                       //      call AcceptChanges after each exception check in order to make sure that we check only the the current row 
+
+
+                       try {
+                               BeginCase("DBConcurrencyException - Delete");
+                               dsResultException.Tables[0].Rows.Find(9994).Delete();
+                               //no row with row version delete exists - records affected = 0
+                               NumberOfAffectedRows = -1;
+                               try {NumberOfAffectedRows = dbDA.Update(dsResultException,dsResultException.Tables[0].TableName);}
+                               catch (DBConcurrencyException dbExp){e = dbExp;}
+                               Compare(e.GetType(),typeof(DBConcurrencyException));
+                       }
+                       catch(Exception ex)     {exp = ex;}
+                       finally {EndCase(exp); exp = null; e = null;}
+                       try {
+                               BeginCase("Number Of Affected Rows - Delete Exception");
+                               Compare(NumberOfAffectedRows ,-1 );
+                       }
+                       catch(Exception ex)     {exp = ex;}
+                       finally {EndCase(exp); exp = null;}
+                       dsResultException.AcceptChanges();
+
+                       try {
+                               BeginCase("DBConcurrencyException - Update");
+                               dsResultException.Tables[0].Rows.Find(9995)["Title"] = "Jack the ripper"; 
+                               //no row with row version Update exists - records affected = 0
+                               NumberOfAffectedRows = -1;
+                               try {NumberOfAffectedRows = dbDA.Update(dsResultException,dsResultException.Tables[0].TableName);}
+                               catch (DBConcurrencyException dbExp){e = dbExp;}
+                               Compare(e.GetType(),typeof(DBConcurrencyException));
+                       }
+                       catch(Exception ex)     {exp = ex;}
+                       finally {EndCase(exp); exp = null; e = null;}
+                       try {
+                               BeginCase("Number Of Affected Rows - Update Exception");
+                               Compare(NumberOfAffectedRows ,-1 );
+                       }
+                       catch(Exception ex)     {exp = ex;}
+                       finally {EndCase(exp); exp = null;}
+                       dsResultException.AcceptChanges();
+
+
+                       try {
+                               BeginCase("DBConcurrencyException - Insert");
+                               dsResultException.Tables[0].Rows.Add(new object[] {9996,"Ofer","Borshtein","Insert"});
+                               //no row with row version Insert exists - records affected = 0
+                               NumberOfAffectedRows = -1;
+                               try {NumberOfAffectedRows = dbDA.Update(dsResultException,dsResultException.Tables[0].TableName);}
+                               catch (Exception dbExp){e = dbExp;} //throw Sys.Exception
+                               Compare(e != null ,true);
+                       }
+                       catch(Exception ex)     {exp = ex;}
+                       finally {EndCase(exp); exp = null; e = null;}
+                       try {
+                               BeginCase("Number Of Affected Rows - Insert Exception");
+                               Compare(NumberOfAffectedRows ,-1 );
+                       }
+                       catch(Exception ex)     {exp = ex;}
+                       finally {EndCase(exp); exp = null;}
+                       dsResultException.AcceptChanges();
+
+
+               }
+
+               /*
+                       * 
+                       * insert/update the database with data that will be used in testings
+                       * 
+                       */
+               protected void PrepareDataForTesting(string ConnectionString) {
+                       int iExists = 0;
+                       try {
+
+                               //create database specific date value
+                               string strBirthDateValue = "";
+                               switch (ConnectedDataProvider.GetDbType(ConnectionString)) {
+                                       case DataBaseServer.DB2:
+                                               strBirthDateValue = "'1988-05-31-15.33.44'";
+                                               break;
+                                       case DataBaseServer.Oracle:
+                                               strBirthDateValue = "to_date('1988-05-31 15:33:44', 'yyyy-mm-dd HH24:mi:ss')";
+                                               break;
+                                       case DataBaseServer.PostgreSQL:
+                                               strBirthDateValue = "to_timestamp('1988-05-31 15:33:44', 'yyyy-mm-dd HH24:mi:ss')";
+                                               break;
+                                       case DataBaseServer.SQLServer:
+                                       case DataBaseServer.Sybase:
+                                               strBirthDateValue = "'1988-May-31 15:33:44'";
+                                               break;
+                               }
+                               OracleConnection con = new OracleConnection(ConnectionString);
+                               try {
+                                       con.Open();
+                               }
+                               catch (Exception ex) {
+                                       throw new Exception("PrepareDataForTesting failed trying to connect to DB using Connection string:" + ConnectionString + "\nException:" +  ex.ToString(),ex);
+                               }
+
+                               OracleCommand cmd = new OracleCommand("",con);
+
+                               //update / insert to table Employees
+                               for (int i = 100; i <= 700; i +=100) {
+                                       cmd.CommandText = "select 1 from Employees where EmployeeID = " + i.ToString();
+                                       iExists =  Sys.Convert.ToInt32(cmd.ExecuteScalar());
+                                       if (iExists != 1) {
+                                               cmd.CommandText = "insert into Employees (EmployeeID, LastName, FirstName, Title, BirthDate) " + 
+                                                       " Values (" + i.ToString() + 
+                                                       ",'Last" + i.ToString() 
+                                                       + "','First" + i.ToString() 
+                                                       + "', null, " 
+                                                       + strBirthDateValue + ")";
+                                               cmd.ExecuteNonQuery();
+                                       }
+                                       else {
+                                               cmd.CommandText = "update Employees set " 
+                                                       + " LastName = 'Last" + i.ToString() 
+                                                       + "', FirstName = 'First" + i.ToString() 
+                                                       + "', Title = null, BirthDate = " 
+                                                       + strBirthDateValue 
+                                                       + " where EmployeeID = " + i.ToString() ;
+                                               Log(cmd.CommandText);
+                                               cmd.ExecuteNonQuery();
+                                       }
+                               }
+
+                               //update / insert to table Customers
+                               for (int i = 100; i <= 700; i +=100) {
+                                       cmd.CommandText = "select 1 from Customers where CustomerID = 'GH" + i.ToString() + "'";
+                                       iExists =  Sys.Convert.ToInt32(cmd.ExecuteScalar());
+                                       if (iExists != 1) {
+                                               cmd.CommandText = "insert into Customers (CustomerID , CompanyName, Phone) Values ('GH" + i.ToString() + "','Company" + i.ToString() + "','00-" + i.ToString() + i.ToString() + "')";
+                                               cmd.ExecuteNonQuery();
+                                       }
+                                       else {
+                                               cmd.CommandText = "update Customers set CompanyName = 'Company" + i.ToString() + "', Phone = '00-" + i.ToString() + i.ToString() + "' where CustomerID = 'GH" + i.ToString() + "'";
+                                               cmd.ExecuteNonQuery();
+                                       }
+                               }
+
+                               cmd.CommandText = "select 1 from Customers where CustomerID = 'GH200'";
+                               iExists =  Sys.Convert.ToInt32(cmd.ExecuteScalar());
+                               if (iExists != 1) {
+                                       cmd.CommandText = "insert into Customers (CustomerID , CompanyName) Values ('GH200','Company200')";
+                                       cmd.ExecuteNonQuery();
+                               }
+                               else {
+                                       cmd.CommandText = "update Customers set CompanyName = 'Company200' where CustomerID = 'GH200'";
+                                       cmd.ExecuteNonQuery();
+                               }
+
+                               con.Close();
+                       }
+                       catch (Exception ex) {
+                               throw new Exception("PrepareDataForTesting failed with exception:" + ex.ToString(),ex);
+                       }
+               }
+
+               /*
+               *       used to insert data to the database in order to check DataAdapter Update metods 
+               */
+               protected DataSet PrepareDBData_Update(Sys.Data.Common.DbDataAdapter dbDA) {
+                       return PrepareDBData_Update(dbDA,false); 
+
+               }
+               protected DataSet PrepareDBData_Update(Sys.Data.Common.DbDataAdapter dbDA,bool sqlConnectionString) {
+                       IDbDataAdapter Ida = (IDbDataAdapter)dbDA;
+                       IDbCommand ICmd = Ida.SelectCommand;
+                       ICmd.CommandText = "SELECT EmployeeID, LastName, FirstName, Title FROM Employees WHERE EmployeeID in (9991,9992,9993,9994,9995,9996)";  
+                       IDbConnection IConn = ICmd.Connection; 
+                       if (!sqlConnectionString) {
+                               IConn.ConnectionString = MonoTests.System.Data.Utils.ConnectedDataProvider.ConnectionString;
+                       }
+                       IConn.Open();
+                                       
+                       //Insert rows to be updated (insert,delete,update)
+                       IDbCommand cmd;
+                       if (sqlConnectionString) {
+                               cmd = new Sys.Data.SqlClient.SqlCommand();
+                               cmd.Connection = (Sys.Data.SqlClient.SqlConnection)IConn; 
+                       }
+                       else {
+                               cmd = new Sys.Data.OracleClient.OracleCommand();
+                               cmd.Connection = (Sys.Data.OracleClient.OracleConnection)IConn;
+                       }
+
+
+                       //run execute after each command because DB2 doesn't support multiple commands
+                       cmd.CommandText =  "DELETE FROM Employees WHERE EmployeeID in (9991,9992,9993,9994,9995,9996,9997,9998)";
+                       cmd.ExecuteNonQuery();
+
+                       //only for SQL Server
+                       DataBaseServer DBType =  ConnectedDataProvider.GetDbType(IConn.ConnectionString);
+
+                       cmd.CommandText = "INSERT INTO Employees (EmployeeID, LastName, FirstName, Title) VALUES(9992, 'Ofer', 'Borshtein', 'delete')";
+                       //if (DBType == DataBaseServer.SQLServer) cmd.CommandText = "SET IDENTITY_INSERT Employees ON;" + cmd.CommandText;
+                       cmd.ExecuteNonQuery();
+                       cmd.CommandText = "INSERT INTO Employees (EmployeeID, LastName, FirstName, Title) VALUES(9993, 'Ofer', 'Borshtein', 'Update')";
+                       //if (DBType == DataBaseServer.SQLServer) cmd.CommandText = "SET IDENTITY_INSERT Employees ON;" + cmd.CommandText;
+                       cmd.ExecuteNonQuery();
+                       cmd.CommandText = "INSERT INTO Employees (EmployeeID, LastName, FirstName, Title) VALUES(9996, 'Ofer', 'Borshtein', 'Exp')";
+                       //if (DBType == DataBaseServer.SQLServer) cmd.CommandText = "SET IDENTITY_INSERT Employees ON;" + cmd.CommandText;
+                       cmd.ExecuteNonQuery();
+
+                       //cmd.CommandText += "INSERT INTO Employees (EmployeeID, LastName, FirstName, Title) VALUES(9991, 'Ofer', 'Borshtein', 'Insert'); ";
+                       //cmd.CommandText += "INSERT INTO Employees (EmployeeID, LastName, FirstName, Title) VALUES(9994, 'Ofer', 'Borshtein', 'Exp'); ";
+                       //cmd.CommandText += "INSERT INTO Employees (EmployeeID, LastName, FirstName, Title) VALUES(9995, 'Ofer', 'Borshtein', 'Exp'); ";
+                       //cmd.CommandText += "INSERT INTO Employees (EmployeeID, LastName, FirstName, Title) VALUES(9997, 'Ofer', 'Borshtein', 'delete'); ";
+                       //cmd.CommandText += "INSERT INTO Employees (EmployeeID, LastName, FirstName, Title) VALUES(9998, 'Ofer', 'Borshtein', 'delete'); ";
+
+                       DataSet ds = new DataSet();
+                       dbDA.Fill(ds);
+                       ds.Tables[0].PrimaryKey = new DataColumn[] {ds.Tables[0].Columns["EmployeeID"]};
+                       return ds;
+
+               }
+
+
+               private void CompareResults_Update(DataSet dsResult,DataSet dsResultException,ref Sys.Data.Common.DbDataAdapter dbDA) {
+                       Exception exp = null;
+               
+                       //----------------- Compare dsDB with dsExcepted -----------------
+                       try {
+                               BeginCase("Insert Row ");
+                               Compare(dsResult.Tables[0].Rows.Find(9991) == null ,false );
+                       }
+                       catch(Exception ex)     {exp = ex;}
+                       finally {EndCase(exp); exp = null;}
+
+                       try {
+                               BeginCase("Update Row ");
+                               Compare(dsResult.Tables[0].Rows.Find(9993)["Title"],"Jack the ripper");
+                       }
+                       catch(Exception ex)     {exp = ex;}
+                       finally {EndCase(exp); exp = null;}
+               
+                       try {
+                               BeginCase("Delete Row ");
+                               Compare(dsResult.Tables[0].Rows.Find(9992) ,null);
+                       }
+                       catch(Exception ex)     {exp = ex;}
+                       finally {EndCase(exp); exp = null;}                     
+
+               }
+
+               #endregion
+
+               protected void DBDataAdapter_DefaultSourceTableName() {
+                       Exception exp = null;
+                       try {
+                               BeginCase("DefaultSourceTableName");
+                               Compare(Sys.Data.Common.DbDataAdapter.DefaultSourceTableName , "Table");
+                       }
+                       catch(Exception ex)     {exp = ex;}
+                       finally {EndCase(exp); exp = null;}
+               }
+
+               #endregion
+
+               #region "-----------  Sys.Data.Common.DataAdapter --------------"
+               protected void DataAdapter_AcceptChangesDuringFill(Sys.Data.Common.DbDataAdapter dbDA) {
+                       Exception exp = null;
+                       IDbDataAdapter Ida = (IDbDataAdapter)dbDA;
+                       IDbCommand ICmd = Ida.SelectCommand; 
+                       IDbConnection IConn = ICmd.Connection; 
+                       IConn.ConnectionString = MonoTests.System.Data.Utils.ConnectedDataProvider.ConnectionString;
+
+                       PrepareDataForTesting( MonoTests.System.Data.Utils.ConnectedDataProvider.ConnectionString);
+                       IConn.Open();
+
+                       //get the total rows count
+                       ICmd.CommandText = "SELECT Count(*) FROM Customers where CustomerID in ('GH100','GH200','GH300','GH400','GH500','GH600','GH700')";
+                       int ExpectedRows = Sys.Convert.ToInt32(ICmd.ExecuteScalar());
+                       try {
+                               BeginCase("Check that Expected rows count > 0");
+                               Compare(ExpectedRows > 0 ,true);
+                       }
+                       catch(Exception ex)     {exp = ex;}
+                       finally {EndCase(exp); exp = null;}
+
+                       ICmd.CommandText = "SELECT CustomerID, CompanyName, City, Country, Phone FROM Customers where CustomerID in ('GH100','GH200','GH300','GH400','GH500','GH600','GH700')";
+
+                       DataSet ds = new DataSet();
+                       dbDA.AcceptChangesDuringFill = false;
+
+        
+                       try {
+                               BeginCase("Execute Fill - check return rows count");
+                               int i = dbDA.Fill(ds);
+                               Compare(i ,ExpectedRows );
+                       }
+                       catch(Exception ex)     {exp = ex;}
+                       finally {EndCase(exp); exp = null;}
+                               
+
+                       bool blnAcceptChanges = false;
+
+                       foreach (DataRow dr in ds.Tables[0].Rows) {
+                               if (dr.RowState != DataRowState.Added ) {
+                                       blnAcceptChanges = true;
+                                       break;
+                               }
+                       }
+                       try {
+                               BeginCase("AcceptChangesDuringFill - false");
+                               Compare(blnAcceptChanges ,false );
+                       }
+                       catch(Exception ex)     {exp = ex;}
+                       finally {EndCase(exp); exp = null;}
+
+                       ds.Reset();
+                       dbDA.AcceptChangesDuringFill = true;
+                       dbDA.Fill(ds);
+                       blnAcceptChanges = false;                               
+                       foreach (DataRow dr in ds.Tables[0].Rows) {
+                               if (dr.RowState != DataRowState.Unchanged ) {
+                                       blnAcceptChanges = true;
+                                       break;
+                               }
+                       }
+                       try {
+                               BeginCase("AcceptChangesDuringFill - true");
+                               Compare(blnAcceptChanges ,false );
+                       }
+                       catch(Exception ex)     {exp = ex;}
+                       finally {EndCase(exp); exp = null;}
+
+                       //close connection
+                       if (  ((IDbDataAdapter)dbDA).SelectCommand.Connection.State != ConnectionState.Closed )
+                               ((IDbDataAdapter)dbDA).SelectCommand.Connection.Close();
+
+               }
+
+               protected void DataAdapter_ContinueUpdateOnError(Sys.Data.Common.DbDataAdapter dbDA) {
+                       /*
+                               !!!!!! Not working (TestName "ContinueUpdateOnError - true, check value 2")!!!!!
+                               If ContinueUpdateOnError is set to true, no exception is thrown when an error occurs during the update of a row. 
+                               The update of the row is skipped and the error information is placed in the RowError property of the row in error. 
+                               The DataAdapter continues to update subsequent rows.
+                               If ContinueUpdateOnError is set to false, an exception is thrown when an error occurs during the update of a row.
+                       */
+                       Exception exp = null;
+
+       
+                       IDbDataAdapter Ida = (IDbDataAdapter)dbDA;
+                       IDbCommand ICmd = Ida.SelectCommand; 
+                       IDbConnection IConn = ICmd.Connection; 
+                       IConn.ConnectionString = MonoTests.System.Data.Utils.ConnectedDataProvider.ConnectionString;
+
+                       PrepareDataForTesting( MonoTests.System.Data.Utils.ConnectedDataProvider.ConnectionString);
+                       IConn.Open();
+
+                       //get the total rows count
+                       ICmd.CommandText = "SELECT Count(*) FROM Customers where CustomerID in ('GH100','GH200','GH300','GH400','GH500','GH600','GH700')";
+                       int ExpectedRows = Sys.Convert.ToInt32(ICmd.ExecuteScalar());
+                       try {
+                               BeginCase("Check that Expected rows count > 0");
+                               Compare(ExpectedRows > 0 ,true);
+                       }
+                       catch(Exception ex)     {exp = ex;}
+                       finally {EndCase(exp); exp = null;}
+
+                       ICmd.CommandText = "SELECT CustomerID, CompanyName, City, Country, Phone FROM Customers where CustomerID in ('GH100','GH200','GH300','GH400','GH500','GH600','GH700')";
+
+
+                       DataSet dsMem = new DataSet();  //Disconected dataset
+                       DataSet dsDB = new DataSet();   //DataBase data
+                       dbDA.AcceptChangesDuringFill = true;
+                       //get data from DB
+                       try {
+                               BeginCase("Execute Fill - check return rows count");
+                               int i = dbDA.Fill(dsMem);
+                               Compare(i ,ExpectedRows );
+                       }
+                       catch(Exception ex)     {exp = ex;}
+                       finally {EndCase(exp); exp = null;}
+               
+
+                       //update data with invalid information (Max. length for Phone is 24)
+                       //                                      123456789012345678901234
+                       string newValue1 = "Very Long String That Will Raise An Error Yep!";
+                       string oldValue1 = dsMem.Tables[0].Rows[3]["Phone"].ToString();
+                       string oldValue2 = dsMem.Tables[0].Rows[4]["Phone"].ToString();
+                       string newValue2 = "03-1234";
+
+
+                       dsMem.Tables[0].Rows[3]["Phone"] = newValue1;
+                       dsMem.Tables[0].Rows[4]["Phone"] = newValue2;
+                       dbDA.ContinueUpdateOnError = true;
+        
+                       //will not throw exception
+                       try {
+                               BeginCase("ContinueUpdateOnError - true, check exception");
+                               try {
+                                       dbDA.Update(dsMem);
+                               }
+                               catch(Exception ex){exp = ex;}
+                               Compare(exp == null,true);
+                               exp = null;
+                       }
+                       catch(Exception ex)     {exp = ex;}
+                       finally {EndCase(exp); exp = null;}
+
+                       dbDA.Fill(dsDB); //get data from DB to check the update operation
+
+                       try {
+                               BeginCase("ContinueUpdateOnError - true, check RowError");
+                               Compare(dsMem.Tables[0].Rows[3].RowError.Length > 0 , true);
+                       }
+                       catch(Exception ex)     {exp = ex;}
+                       finally {EndCase(exp); exp = null;}
+
+                       try {
+                               BeginCase("ContinueUpdateOnError - true, check value 1");
+                               Compare(dsDB.Tables[0].Rows[3]["Phone"] , oldValue1);
+                       }
+                       catch(Exception ex)     {exp = ex;}
+                       finally {EndCase(exp); exp = null;}
+
+
+                       /*              - Test excluded, it is not working in .NET too!
+                                       //should continue the update
+                                       try
+                                       {
+                                               BeginCase("ContinueUpdateOnError - true, check value 2");
+                                               Compare(dsDB.Tables[0].Rows[4]["Phone"] , newValue2);  //--------- NOT WORKING !!! -----------
+                                       }
+                                       catch(Exception ex)     {exp = ex;}
+                                       finally {EndCase(exp); exp = null;}
+                       */
+                       dsMem.Reset();
+                       dsDB.Reset();
+                       dbDA.Fill(dsMem);
+                       dsMem.Tables[0].Rows[3]["Phone"] = newValue1 ;
+                       dsMem.Tables[0].Rows[4]["Phone"] = newValue2;
+                       dbDA.ContinueUpdateOnError = false;
+        
+                       try {
+                               BeginCase("ContinueUpdateOnError - false, check exception");
+                               try {
+                                       dbDA.Update(dsMem);
+                               }
+                               catch(Exception ex){exp = ex;}
+                               Compare(exp == null,false);
+                               exp = null;
+                       }
+                       catch(Exception ex)     {exp = ex;}
+                       finally {EndCase(exp); exp = null;}
+
+                       dbDA.Fill(dsDB); //get data from DB to check the update operation
+                       try {
+                               BeginCase("ContinueUpdateOnError - false,check RowError");
+                               Compare(dsMem.Tables[0].Rows[3].RowError.Length > 0 ,true);
+                       }
+                       catch(Exception ex)     {exp = ex;}
+                       finally {EndCase(exp); exp = null;}
+                       try {
+                               BeginCase("ContinueUpdateOnError - false,check value 1");
+                               Compare(dsDB.Tables[0].Rows[3]["Phone"] , oldValue1 );
+                       }
+                       catch(Exception ex)     {exp = ex;}
+                       finally {EndCase(exp); exp = null;}
+
+
+                       try {
+                               BeginCase("ContinueUpdateOnError - false,check value 2");
+                               Compare(dsDB.Tables[0].Rows[4]["Phone"] , oldValue2 );
+                       }
+                       catch(Exception ex)     {exp = ex;}
+                       finally {EndCase(exp); exp = null;}
+
+                       //close connection
+                       if (  ((IDbDataAdapter)dbDA).SelectCommand.Connection.State != ConnectionState.Closed )
+                               ((IDbDataAdapter)dbDA).SelectCommand.Connection.Close();
+
+               }
+               protected void DataAdapter_MissingMappingAction(Sys.Data.Common.DbDataAdapter dbDA) {
+                       Exception exp = null;
+                       IDbDataAdapter Ida = (IDbDataAdapter)dbDA;
+                       IDbCommand ICmd = Ida.SelectCommand; 
+                       IDbConnection IConn = ICmd.Connection; 
+                       IConn.ConnectionString = MonoTests.System.Data.Utils.ConnectedDataProvider.ConnectionString;
+
+//                     IConn.Open();
+
+                       //get the total rows count
+
+                       PrepareDataForTesting( MonoTests.System.Data.Utils.ConnectedDataProvider.ConnectionString);
+                       IConn.Open();
+
+                       ICmd.CommandText = "SELECT Count(*) FROM Customers where CustomerID in ('GH100','GH200','GH300','GH400','GH500','GH600','GH700')";
+                       int ExpectedRows = Sys.Convert.ToInt32(ICmd.ExecuteScalar());
+                       try {
+                               BeginCase("Check that Expected rows count > 0");
+                               Compare(ExpectedRows > 0 ,true);
+                       }
+                       catch(Exception ex)     {exp = ex;}
+                       finally {EndCase(exp); exp = null;}
+
+                       ICmd.CommandText = "SELECT CustomerID, CompanyName, City, Country, Phone FROM Customers where CustomerID in ('GH100','GH200','GH300','GH400','GH500','GH600','GH700')";
+
+
+                       //init dataset
+                       DataSet ds = new DataSet();
+                       try {
+                               BeginCase("Execute Fill - check return rows count");
+                               int i = dbDA.Fill(ds);
+                               Compare(i ,ExpectedRows );
+                       }
+                       catch(Exception ex)     {exp = ex;}
+                       finally {EndCase(exp); exp = null;}
+               
+                       //make dataset schema mismatch with DB
+                       ds.Tables[0].Columns.Remove("Country");
+                       ds.Tables[0].Clear();
+        
+                       //--- Default value ---
+        
+                       try {
+                               BeginCase("MissingMappingAction Default value");
+                               Compare(dbDA.MissingMappingAction , MissingMappingAction.Passthrough);
+                       }
+                       catch(Exception ex)     {exp = ex;}
+                       finally {EndCase(exp); exp = null;}
+       
+                       //--- MissingMappingAction.Error ---
+                       ds.Tables[0].Clear();
+                       dbDA.MissingMappingAction  = MissingMappingAction.Error ;
+                       Exception ExMissingMappingAction = null;
+                       try {
+                               BeginCase("MissingMappingAction.Error");
+                               try {
+                                       dbDA.Fill(ds);
+                               }
+                               catch (InvalidOperationException e) {
+                                       ExMissingMappingAction = e;
+                               }
+                               Compare(ExMissingMappingAction.GetType() ,typeof(InvalidOperationException));
+                       }
+                       catch(Exception ex)     {exp = ex;}
+                       finally {EndCase(exp); exp = null;}
+
+                       try {
+                               BeginCase("MissingMappingAction.Error, Row.Count = 0");
+                               Compare(ds.Tables[0].Rows.Count , 0 );
+                       }
+                       catch(Exception ex)     {exp = ex;}
+                       finally {EndCase(exp); exp = null;}
+
+                       try {
+                               BeginCase("MissingMappingAction.Error, Column");
+                               Compare(ds.Tables[0].Columns.IndexOf("Country")  , -1 );
+                       }
+                       catch(Exception ex)     {exp = ex;}
+                       finally {EndCase(exp); exp = null;}
+       
+
+                       //--- MissingMappingAction.Ignore ---
+                       ds.Tables[0].Clear();
+                       dbDA.MissingMappingAction  = MissingMappingAction.Ignore  ;
+                       ExMissingMappingAction = null;
+                       try {
+                               BeginCase("MissingMappingAction.Ignore");
+                               try {
+                                       dbDA.Fill(ds);
+                               }
+                               catch (InvalidOperationException e) {
+                                       ExMissingMappingAction = e;
+                               }
+                               Compare(ExMissingMappingAction ,null);
+                       }
+                       catch(Exception ex)     {exp = ex;}
+                       finally {EndCase(exp); exp = null;}
+
+                       try {
+                               BeginCase("MissingMappingAction.Ignore, Row.Count = 0");
+                               Compare(ds.Tables[0].Rows.Count ,0);
+                       }
+                       catch(Exception ex)     {exp = ex;}
+                       finally {EndCase(exp); exp = null;}
+
+                       try {
+                               BeginCase("MissingMappingAction.Ignore, Column");
+                               Compare(ds.Tables[0].Columns.IndexOf("Country")  , -1 );
+                       }
+                       catch(Exception ex)     {exp = ex;}
+                       finally {EndCase(exp); exp = null;}
+
+                       //--- MissingMappingAction.Passthrough ---
+                       ds.Tables[0].Clear();
+                       dbDA.MissingMappingAction  = MissingMappingAction.Passthrough   ;
+                       ExMissingMappingAction = null;
+                       try {
+                               BeginCase("MissingMappingAction.Passthrough");
+                               try {
+                                       dbDA.Fill(ds);
+                               }
+                               catch (InvalidOperationException e) {
+                                       ExMissingMappingAction = e;
+                               }
+                               Compare(ExMissingMappingAction ,null);
+                       }
+                       catch(Exception ex)     {exp = ex;}
+                       finally {EndCase(exp); exp = null;}
+
+                       try {
+                               BeginCase("MissingMappingAction.Passthrough, Row.Count > 0");
+                               Compare(ds.Tables[0].Rows.Count >= 0 ,true );
+                       }
+                       catch(Exception ex)     {exp = ex;}
+                       finally {EndCase(exp); exp = null;}
+
+                       try {
+                               BeginCase("MissingMappingAction.Passthrough, Column");
+                               Compare(ds.Tables[0].Columns.IndexOf("Country") >= 0  ,true );
+                       }
+                       catch(Exception ex)     {exp = ex;}
+                       finally {EndCase(exp); exp = null;}
+
+                       //close connection
+                       if (  ((IDbDataAdapter)dbDA).SelectCommand.Connection.State != ConnectionState.Closed )
+                               ((IDbDataAdapter)dbDA).SelectCommand.Connection.Close();
+               }
+               protected void DataAdapter_MissingSchemaAction(Sys.Data.Common.DbDataAdapter dbDA) {
+                       Exception exp = null;
+                       IDbDataAdapter Ida = (IDbDataAdapter)dbDA;
+                       IDbCommand ICmd = Ida.SelectCommand; 
+                       IDbConnection IConn = ICmd.Connection; 
+                       IConn.ConnectionString = MonoTests.System.Data.Utils.ConnectedDataProvider.ConnectionString;
+//                     IConn.Open();
+
+                       PrepareDataForTesting( MonoTests.System.Data.Utils.ConnectedDataProvider.ConnectionString);
+                       IConn.Open();
+
+                       //get the total rows count
+                       ICmd.CommandText = "SELECT Count(*) FROM Customers where CustomerID in ('GH100','GH200','GH300','GH400','GH500','GH600','GH700')";
+                       int ExpectedRows = Sys.Convert.ToInt32(ICmd.ExecuteScalar());
+                       try {
+                               BeginCase("Check that Expected rows count > 0");
+                               Compare(ExpectedRows > 0 ,true);
+                       }
+                       catch(Exception ex)     {exp = ex;}
+                       finally {EndCase(exp); exp = null;}
+
+                       ICmd.CommandText = "SELECT CustomerID, CompanyName, City, Country, Phone FROM Customers where CustomerID in ('GH100','GH200','GH300','GH400','GH500','GH600','GH700')";
+
+                       //get db type
+                       DBType = ConnectedDataProvider.GetDbType(((IDbDataAdapter)dbDA).SelectCommand.Connection.ConnectionString);
+
+                       //init dataset
+                       DataSet ds = new DataSet();
+                       try {
+                               BeginCase("Execute Fill - check return rows count");
+                               int i = dbDA.Fill(ds);
+                               Compare(i ,ExpectedRows );
+                       }
+                       catch(Exception ex)     {exp = ex;}
+                       finally {EndCase(exp); exp = null;}
+
+                       //make dataset schema mismatch with DB
+                       ds.Tables[0].Columns.Remove("Country");
+                       ds.Tables[0].Clear();
+        
+
+                       //--- Default value ---
+        
+                       try {
+                               BeginCase("MissingSchemaAction Default value");
+                               Compare(dbDA.MissingSchemaAction, MissingSchemaAction.Add);
+                       }
+                       catch(Exception ex)     {exp = ex;}
+                       finally {EndCase(exp); exp = null;}
+       
+                       //--- MissingSchemaAction.Error ---
+                       ds.Tables[0].Clear();
+                       dbDA.MissingSchemaAction  = MissingSchemaAction.Error  ;
+                       Exception ExMissingSchemaAction = null;
+                       try {
+                               BeginCase("MissingSchemaAction.Error");
+                               try {
+                                       dbDA.Fill(ds);
+                               }
+                               catch (InvalidOperationException e) {
+                                       ExMissingSchemaAction = e;
+                               }
+                               Compare(ExMissingSchemaAction.GetType() ,typeof(InvalidOperationException));
+                       }
+                       catch(Exception ex)     {exp = ex;}
+                       finally {EndCase(exp); exp = null;}
+
+                       try {
+                               BeginCase("MissingSchemaAction.Error, Row.Count = 0");
+                               Compare(ds.Tables[0].Rows.Count , 0 );
+                       }
+                       catch(Exception ex)     {exp = ex;}
+                       finally {EndCase(exp); exp = null;}
+
+                       try {
+                               BeginCase("MissingSchemaAction.Error, Column");
+                               Compare(ds.Tables[0].Columns.IndexOf("Country")  , -1 );
+                       }
+                       catch(Exception ex)     {exp = ex;}
+                       finally {EndCase(exp); exp = null;}
+       
+
+                       //--- MissingSchemaAction.Ignore ---
+                       try {
+                               //catch any exception that might occure 
+                               BeginCase("MissingSchemaAction.Ignore - invoke");
+                               ds.Tables[0].Clear();
+                               dbDA.MissingSchemaAction  = MissingSchemaAction.Ignore  ;
+                               ExMissingSchemaAction = null;
+                               dbDA.Fill(ds);
+                               Compare(true ,true);
+                       }
+                       catch(Exception ex)     {exp = ex;}
+                       finally {EndCase(exp); exp = null;}
+
+                       try {
+                               BeginCase("MissingSchemaAction.Ignore, Row.Count = 0");
+                               Compare(ds.Tables[0].Rows.Count > 0 ,true);
+                       }
+                       catch(Exception ex)     {exp = ex;}
+                       finally {EndCase(exp); exp = null;}
+
+                       try {
+                               BeginCase("MissingSchemaAction.Ignore, Column");
+                               Compare(ds.Tables[0].Columns.IndexOf("Country")  , -1 );
+                       }
+                       catch(Exception ex)     {exp = ex;}
+                       finally {EndCase(exp); exp = null;}
+
+#if !KNOWN_BUG //BUG_NUM:1951
+                       try {
+                               BeginCase("MissingSchemaAction.Ignore, PrimaryKey");
+                               Compare(ds.Tables[0].PrimaryKey.Length == 0 ,true );
+                       }
+                       catch(Exception ex)     {exp = ex;}
+                       finally {EndCase(exp); exp = null;}
+#endif
+
+                       //--- MissingSchemaAction.Add ---
+                       try {
+                               //catch any exception that might occure 
+                               BeginCase("MissingSchemaAction.Add - invoke");
+                               ds.Tables[0].Clear();
+                               dbDA.MissingSchemaAction  = MissingSchemaAction.Add   ;
+                               ExMissingSchemaAction = null;
+                               dbDA.Fill(ds);
+                               Compare(true ,true);
+                       }
+                       catch(Exception ex)     {exp = ex;}
+                       finally {EndCase(exp); exp = null;}
+
+                       try {
+                               BeginCase("MissingSchemaAction.Add, Row.Count > 0");
+                               Compare(ds.Tables[0].Rows.Count >= 0 ,true );
+                       }
+                       catch(Exception ex)     {exp = ex;}
+                       finally {EndCase(exp); exp = null;}
+
+                       try {
+                               BeginCase("MissingSchemaAction.Add, Column");
+                               Compare(ds.Tables[0].Columns.IndexOf("Country") >= 0  ,true );
+                       }
+                       catch(Exception ex)     {exp = ex;}
+                       finally {EndCase(exp); exp = null;}
+
+#if !KNOWN_BUG //BUG_NUM:1952
+                       //DB2 don't return primary key
+                       if (DBType != DataBaseServer.DB2) {
+                               try {
+                                       BeginCase("MissingSchemaAction.AddWithKey, PrimaryKey");
+                                       Compare(ds.Tables[0].PrimaryKey.Length  ,0);
+                               }
+                               catch(Exception ex)     {exp = ex;}
+                               finally {EndCase(exp); exp = null;}
+                       }
+
+                       //--- MissingSchemaAction.AddWithKey ---
+                       try {
+                               //catch any exception that might occure 
+                               BeginCase("MissingSchemaAction.AddWithKey - invoke");
+                               ds.Tables[0].Clear();
+                               ds.Tables[0].Columns.Remove("Country");
+                               dbDA.MissingSchemaAction  = MissingSchemaAction.AddWithKey    ;
+                               ExMissingSchemaAction = null;
+                               dbDA.Fill(ds);
+                               Compare(true ,true);
+                       }
+                       catch(Exception ex)     {exp = ex;}
+                       finally {EndCase(exp); exp = null;}
+
+                       try {
+                               BeginCase("MissingSchemaAction.AddWithKey, Row.Count > 0");
+                               Compare(ds.Tables[0].Rows.Count >= 0 ,true );
+                       }
+                       catch(Exception ex)     {exp = ex;}
+                       finally {EndCase(exp); exp = null;}
+
+                       try {
+                               BeginCase("MissingSchemaAction.AddWithKey, Column");
+                               Compare(ds.Tables[0].Columns.IndexOf("Country") >= 0  ,true );
+                       }
+                       catch(Exception ex)     {exp = ex;}
+                       finally {EndCase(exp); exp = null;}
+
+                       //DB2 don't return primary key
+                       if (DBType != DataBaseServer.DB2 &&
+                               DBType != DataBaseServer.Oracle) {
+                               try {
+                                       BeginCase("MissingSchemaAction.AddWithKey, PrimaryKey");
+                                       Compare(ds.Tables[0].PrimaryKey.Length > 0 ,true );
+                               }
+                               catch(Exception ex)     {exp = ex;}
+                               finally {EndCase(exp); exp = null;}
+                       }
+#endif
+
+                       //close connection
+                       if (  ((IDbDataAdapter)dbDA).SelectCommand.Connection.State != ConnectionState.Closed )
+                               ((IDbDataAdapter)dbDA).SelectCommand.Connection.Close();
+               }
+               #endregion
+
+               public override void BeginTest(string testName) {
+                       base.BeginTest (testName);
+                       Log(String.Format("DataBase Type is {0}", ConnectedDataProvider.GetDbType()));
+               }
+
+       }
+}
\ No newline at end of file
diff --git a/mcs/class/System.Data.OracleClient/Test/System.Data.OracleClient.jvm/MonoTests.System.Data.Utils/ConnectedDataProvider.cs b/mcs/class/System.Data.OracleClient/Test/System.Data.OracleClient.jvm/MonoTests.System.Data.Utils/ConnectedDataProvider.cs
new file mode 100755 (executable)
index 0000000..8e18db6
--- /dev/null
@@ -0,0 +1,360 @@
+// Authors:
+//   Rafael Mizrahi   <rafim@mainsoft.com>
+//   Erez Lotan       <erezl@mainsoft.com>
+//   Oren Gurfinkel   <oreng@mainsoft.com>
+//   Ofer Borstein
+// 
+// Copyright (c) 2004 Mainsoft Co.
+// 
+// Permission is hereby granted, free of charge, to any person obtaining
+// a copy of this software and associated documentation files (the
+// "Software"), to deal in the Software without restriction, including
+// without limitation the rights to use, copy, modify, merge, publish,
+// distribute, sublicense, and/or sell copies of the Software, and to
+// permit persons to whom the Software is furnished to do so, subject to
+// the following conditions:
+// 
+// The above copyright notice and this permission notice shall be
+// included in all copies or substantial portions of the Software.
+// 
+// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
+// EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
+// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
+// NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
+// LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
+// OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
+// WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
+//
+
+using System;
+using System.Data;
+using System.Data.OracleClient ;
+using System.IO;
+using System.Collections;
+using Sys = System;
+using MonoTests.System.Data.Utils.Data;
+
+// Provide All Data required by the diffderent tests e.g.DataTable, DataRow ...
+namespace MonoTests.System.Data.Utils {
+       /// <summary>
+       /// Types of Database Servers that tests can be run on.
+       /// </summary>
+       public enum DataBaseServer {
+               SQLServer,
+               Oracle,
+               DB2,
+               Sybase,
+               PostgreSQL,
+               Unknown
+       }
+
+       public class ConnectedDataProvider {
+
+               #region Private
+               //A string containing all printable charachters.
+               private const string SAMPLE_STRING = "abcdefghijklmnopqrstuvwxyz1234567890~!@#$%^&*()_+-=[]\\|;:,./<>? ";
+               #endregion
+
+               #region Public
+               /// <summary>
+               /// Name of the table in the database, that contain columns of simple types.
+               /// </summary>
+               public const string SIMPLE_TYPES_TABLE_NAME = "TYPES_SIMPLE";
+               /// <summary>
+               /// Name of the table in the database, that contain columns of extended types.
+               /// </summary>
+               public const string EXTENDED_TYPES_TABLE_NAME = "TYPES_EXTENDED";
+               /// <summary>
+               /// Name of the table in the database, that contain columns of DB specific types.
+               /// </summary>
+               public const string SPECIFIC_TYPES_TABLE_NAME = "TYPES_SPECIFIC";
+               #endregion
+
+               public static string ConnectionString {
+                       get {
+                               return Sys.Configuration.ConfigurationSettings.AppSettings["ConnectionString"];
+                       }
+               }
+
+               //      SQLClient does not allow to use the Provider token
+               //      since Provider is always the first parameter(in GHT framework),
+               //      we trim it.
+               public static string ConnectionStringSQLClient {
+                       get {
+                               return ConnectionString.Substring(ConnectionString.IndexOf(";"));
+                       }
+               }
+       
+
+               /// <summary>
+               /// Resolves the type of DB server specified by the "ADOConString.txt" file.
+               /// </summary>
+               /// <returns>The type of DB server specified by the "ADOConString.txt" file.</returns>
+               public static DataBaseServer GetDbType() {
+                       return ConnectedDataProvider.GetDbType(ConnectedDataProvider.ConnectionString);
+               }
+               
+               /// <summary>
+               /// Resolves the type of DB server that the specified connection refers.
+               /// </summary>
+               /// <param name="OleCon">A valid connection object to a DataBase.</param>
+               /// <returns>The type of DB server that the specified connection refers to.</returns>
+               public static DataBaseServer GetDbType(Sys.Data.OracleClient.OracleConnection OleCon) {
+                       return ConnectedDataProvider.GetDbType(OleCon.ConnectionString);
+               }
+
+               /// <summary>
+               /// Resolves the type of DB server that the specified connection string refers.
+               /// </summary>
+               /// <param name="ConnectionString">A valid connection string to a DataBase server.</param>
+               /// <returns>The type of DB server that the specified connection string refers to.</returns>
+               public static DataBaseServer GetDbType(string ConnectionString) {
+                       return DataBaseServer.Oracle;
+               }
+
+               /// <summary>
+               /// Creates a DbTypeParametersCollection with default types and data for the TYPES_SIMPLE table.
+               /// </summary>
+               /// <returns>The initialized DbTypeParametersCollection</returns>
+               public static DbTypeParametersCollection GetSimpleDbTypesParameters() {
+                       DbTypeParametersCollection row = new DbTypeParametersCollection(SIMPLE_TYPES_TABLE_NAME);
+                       switch (ConnectedDataProvider.GetDbType(ConnectedDataProvider.ConnectionString)) {
+                                       #region SQLServer
+                               case MonoTests.System.Data.Utils.DataBaseServer.SQLServer:
+                                       row.Add("bit", true, 1);
+                                       row.Add("tinyint", (byte)25, 1);
+                                       row.Add("smallint", (Int16)77, 2);
+                                       row.Add("int", (Int32)2525, 4);
+                                       row.Add("bigint", (Int64)25251414, 8);
+                                       row.Add("decimal", 10M, 9);     //(Decimal)10
+                                       row.Add("numeric", 123123M, 9); //(Decimal)123123
+                                       row.Add("float", 17.1414257, 8);
+                                       row.Add("real", (float)0.71425, 4);
+                                       row.Add("char", "abcdefghij", 10);
+                                       row.Add("nchar", "klmnopqrst", 10);
+                                       row.Add("varchar", "qwertasdfg", 50);
+                                       row.Add("nvarchar", "qwertasdfg", 50);
+                                       break;
+                                       #endregion
+
+                                       #region Sybase
+                               case MonoTests.System.Data.Utils.DataBaseServer.Sybase:
+                                       //row.Add("BIT", true, 1);
+                                       row.Add("TINYINT", (byte)25, 1);
+                                       row.Add("SMALLINT", (Int16)77, 2);
+                                       row.Add("INT", (Int32)2525, 4);
+                                       //row.Add("BIGINT", (Int64)25251414, 8);
+                                       row.Add("DECIMAL", 10M, 9);     //(Decimal)10
+                                       row.Add("NUMERIC", 123123M, 9); //(Decimal)123123
+                                       row.Add("FLOAT", 17.1414257, 8);
+                                       row.Add("REAL", (float)0.71425, 4);
+                                       row.Add("CHAR", "abcdefghij", 10);
+                                       row.Add("NCHAR", "klmnopqrst", 10);
+                                       row.Add("VARCHAR", "qwertasdfg", 50);
+                                       row.Add("NVARCHAR", "qwertasdfg", 50);
+                                       break;
+                                       #endregion
+
+                                       #region ORACLE
+                               case MonoTests.System.Data.Utils.DataBaseServer.Oracle:
+                                       row.Add("NUMBER", 21M, 22);     //(Decimal)21
+                                       row.Add("LONG", SAMPLE_STRING, 2147483647);     //Default data type in .NET is system.String.
+                                       row.Add("FLOAT", 1.234, 22);
+                                       row.Add("VARCHAR", "qwertasdfg", 10);
+                                       row.Add("NVARCHAR", "qwertasdfg", 20);
+                                       row.Add("CHAR", "abcdefghij", 10);
+                                       row.Add("NCHAR", "abcdefghij", 10);
+                                       break;
+                                       #endregion
+
+                                       #region DB2
+                               case MonoTests.System.Data.Utils.DataBaseServer.DB2:
+                                       row.Add("SMALLINT", (Int16)2, 2);
+                                       row.Add("INTEGER", 7777, 4);
+                                       row.Add("BIGINT", (Int64)21767267, 8);
+                                       row.Add("DECIMAL", 123M, 9); //(decimal)123
+                                       row.Add("REAL", (float)0.7, 4);
+                                       row.Add("DOUBLE", 1.7, 8);
+                                       row.Add("CHARACTER", "abcdefghij", 10);
+                                       row.Add("VARCHAR", "qwertasdfg", 10);
+                                       row.Add("LONGVARCHAR", SAMPLE_STRING, 32000);
+                                       break;
+                                       #endregion
+
+                                       #region PostgreSQL
+                               case MonoTests.System.Data.Utils.DataBaseServer.PostgreSQL:
+                                       
+                                       // PostgreSQL ODBC Type BOOL returns String with value "1" 
+                                       // so we don't run it on .NET
+                                       //                                      if (!GHTEnvironment.IsJavaRunTime())
+                                       //                                      {
+                                       //                                              row.Add("BOOL", "1", 1);
+                                       //                                      }
+                                       //                                      else
+                                       //                                      {
+                                       row.Add("BOOL", (bool)true, 1);
+                                       //                                      }
+
+                                       row.Add("INT2", (Int16)21, 2);
+                                       row.Add("INT4", (Int32)30000, 4);
+                                       row.Add("INT8", (Int64)30001, 8);
+                                       row.Add("NUMERIC", (decimal)100000M, 10); //(decimal)100000
+                                       row.Add("FLOAT4", (Single)7.23157, 4);
+                                       row.Add("FLOAT8", (Double)7.123456, 8);
+                                       row.Add("VARCHAR", "qwertasdfg", 10);
+                                       row.Add("CHAR", "abcdefghij", 10);
+                                       row.Add("NCHAR", "klmnopqrst", 10);
+                                       break;
+                                       #endregion
+                       }
+                       return row;
+               }
+               /// <summary>
+               /// Creates a DbTypeParametersCollection with default types and data for the TYPES_EXTENDED table.
+               /// </summary>
+               /// <returns>The initialized DbTypeParametersCollection</returns>
+               public static DbTypeParametersCollection GetExtendedDbTypesParameters() {
+                       DbTypeParametersCollection row = new DbTypeParametersCollection(EXTENDED_TYPES_TABLE_NAME);
+                       switch (ConnectedDataProvider.GetDbType(ConnectedDataProvider.ConnectionString)) {
+                                       #region SQLServer
+                               case MonoTests.System.Data.Utils.DataBaseServer.SQLServer:
+                                       row.Add("text", SAMPLE_STRING, 16);
+                                       row.Add("ntext", SAMPLE_STRING, 16);
+                                       row.Add("binary", new byte[]    {0x00, 0x12, 0x34, 0x56, 0x78, 0x9A, 0xBC, 0xDE, 0xFF, 0xF0,
+                                                                                                               0x00, 0x12, 0x34, 0x56, 0x78, 0x9A, 0xBC, 0xDE, 0xFF, 0xF0,
+                                                                                                               0x00, 0x12, 0x34, 0x56, 0x78, 0x9A, 0xBC, 0xDE, 0xFF, 0xF0,
+                                                                                                               0x00, 0x12, 0x34, 0x56, 0x78, 0x9A, 0xBC, 0xDE, 0xFF, 0xF0,
+                                                                                                               0x00, 0x12, 0x34, 0x56, 0x78, 0x9A, 0xBC, 0xDE, 0xFF, 0xF0}, 50);
+                                       row.Add("varbinary", new byte[] {0x00, 0x12, 0x34, 0x56, 0x78, 0x9A, 0xBC, 0xDE, 0xFF, 0xF0,
+                                                                                                               0x00, 0x12, 0x34, 0x56, 0x78, 0x9A, 0xBC, 0xDE, 0xFF, 0xF0,
+                                                                                                               0x00, 0x12, 0x34, 0x56, 0x78, 0x9A, 0xBC, 0xDE, 0xFF, 0xF0,
+                                                                                                               0x00, 0x12, 0x34, 0x56, 0x78, 0x9A, 0xBC, 0xDE, 0xFF, 0xF0,
+                                                                                                               0x00, 0x12, 0x34, 0x56, 0x78, 0x9A, 0xBC, 0xDE, 0xFF, 0xF0}, 50);
+                                       row.Add("datetime", new DateTime(2004, 8, 9, 20, 30, 15, 500), 8);
+                                       row.Add("smalldatetime", new DateTime(2004, 8, 9, 20, 30, 00), 4);
+                                       break;
+                                       #endregion
+
+                                       #region Sybase
+                               case MonoTests.System.Data.Utils.DataBaseServer.Sybase:
+                                       row.Add("TEXT", SAMPLE_STRING, 16);
+                                       //There is probably a bug in the jdbc driver , we've tried to insert this string using
+                                       //sybase command tool and it gave the same result (3850)
+                                       row.Add("NTEXT", SAMPLE_STRING.Trim() , 16);
+                                       row.Add("BINARY", new byte[]    {0x00, 0x12, 0x34, 0x56, 0x78, 0x9A, 0xBC, 0xDE, 0xFF, 0xF0,
+                                                                                                               0x00, 0x12, 0x34, 0x56, 0x78, 0x9A, 0xBC, 0xDE, 0xFF, 0xF0,
+                                                                                                               0x00, 0x12, 0x34, 0x56, 0x78, 0x9A, 0xBC, 0xDE, 0xFF, 0xF0,
+                                                                                                               0x00, 0x12, 0x34, 0x56, 0x78, 0x9A, 0xBC, 0xDE, 0xFF, 0xF0,
+                                                                                                               0x00, 0x12, 0x34, 0x56, 0x78, 0x9A, 0xBC, 0xDE, 0xFF, 0xF0}, 50);
+                                       row.Add("VARBINARY", new byte[] {0x00, 0x12, 0x34, 0x56, 0x78, 0x9A, 0xBC, 0xDE, 0xFF, 0xF0,
+                                                                                                               0x00, 0x12, 0x34, 0x56, 0x78, 0x9A, 0xBC, 0xDE, 0xFF, 0xF0,
+                                                                                                               0x00, 0x12, 0x34, 0x56, 0x78, 0x9A, 0xBC, 0xDE, 0xFF, 0xF0,
+                                                                                                               0x00, 0x12, 0x34, 0x56, 0x78, 0x9A, 0xBC, 0xDE, 0xFF, 0xF0,
+                                                                                                               0x00, 0x12, 0x34, 0x56, 0x78, 0x9A, 0xBC, 0xDE, 0xFF, 0xF0}, 50);
+                                       row.Add("DATETIME", new DateTime(2004, 8, 9, 20, 30, 15, 500), 8);
+                                       row.Add("SMALLDATETIME", new DateTime(2004, 8, 9, 20, 30, 00), 4);
+                                       break;
+                                       #endregion
+
+                                       #region ORACLE
+                               case MonoTests.System.Data.Utils.DataBaseServer.Oracle:
+                                       row.Add("RAW", new byte[]       {0x00, 0x12, 0x34, 0x56, 0x78, 0x9A, 0xBC, 0xDE, 0xFF, 0xF0}, 10);
+                                       row.Add("LONGRAW", new byte[]   {0x00, 0x12, 0x34, 0x56, 0x78, 0x9A, 0xBC, 0xDE, 0xFF, 0xF0
+                                                                                                               ,0x00, 0x12, 0x34, 0x56, 0x78, 0x9A, 0xBC, 0xDE, 0xFF, 0xF0
+                                                                                                               ,0x00, 0x12, 0x34, 0x56, 0x78, 0x9A, 0xBC, 0xDE, 0xFF, 0xF0
+                                                                                                               ,0x00, 0x12, 0x34, 0x56, 0x78, 0x9A, 0xBC, 0xDE, 0xFF, 0xF0
+                                                                                                               ,0x00, 0x12, 0x34, 0x56, 0x78, 0x9A, 0xBC, 0xDE, 0xFF, 0xF0
+                                                                                                               ,0x00, 0x12, 0x34, 0x56, 0x78, 0x9A, 0xBC, 0xDE, 0xFF, 0xF0
+                                                                                                               ,0x00, 0x12, 0x34, 0x56, 0x78, 0x9A, 0xBC, 0xDE, 0xFF, 0xF0
+                                                                                                               ,0x00, 0x12, 0x34, 0x56, 0x78, 0x9A, 0xBC, 0xDE, 0xFF, 0xF0
+                                                                                                               ,0x00, 0x12, 0x34, 0x56, 0x78, 0x9A, 0xBC, 0xDE, 0xFF, 0xF0
+                                                                                                               ,0x00, 0x12, 0x34, 0x56, 0x78, 0x9A, 0xBC, 0xDE, 0xFF, 0xF0
+                                                                                                       }, 100);
+                                       row.Add("DATE", new DateTime(2004, 8, 9, 20, 30, 15), 7);
+                                       
+                                       // The .NET Framework provides support for Oracle LOBs in the OracleClient namespace, but not in the Oracle namespace.
+                                       // Since Visual MainWin does not support the OracleClient namespace, a partial support for this important feature is provided in the Oracle namespace.
+                                       // See ms-help://MS.VSCC.2003/VMW.GH.1033/ghdoc/vmwdoc_ADONET_data_access_limitations_51.htm
+#if TARGET_JVM
+
+                                       row.Add("BLOB", new byte[]      {0x00, 0x12, 0x34, 0x56, 0x78, 0x9A, 0xBC, 0xDE, 0xFF, 0xF0
+                                                                                                       ,0x00, 0x12, 0x34, 0x56, 0x78, 0x9A, 0xBC, 0xDE, 0xFF, 0xF0
+                                                                                                       ,0x00, 0x12, 0x34, 0x56, 0x78, 0x9A, 0xBC, 0xDE, 0xFF, 0xF0
+                                                                                                       ,0x00, 0x12, 0x34, 0x56, 0x78, 0x9A, 0xBC, 0xDE, 0xFF, 0xF0
+                                                                                                       ,0x00, 0x12, 0x34, 0x56, 0x78, 0x9A, 0xBC, 0xDE, 0xFF, 0xF0
+                                                                                                       ,0x00, 0x12, 0x34, 0x56, 0x78, 0x9A, 0xBC, 0xDE, 0xFF, 0xF0
+                                                                                                       ,0x00, 0x12, 0x34, 0x56, 0x78, 0x9A, 0xBC, 0xDE, 0xFF, 0xF0
+                                                                                                       ,0x00, 0x12, 0x34, 0x56, 0x78, 0x9A, 0xBC, 0xDE, 0xFF, 0xF0
+                                                                                                       ,0x00, 0x12, 0x34, 0x56, 0x78, 0x9A, 0xBC, 0xDE, 0xFF, 0xF0
+                                                                                                       ,0x00, 0x12, 0x34, 0x56, 0x78, 0x9A, 0xBC, 0xDE, 0xFF, 0xF0
+                                                                                               }, 4000);
+                                       row.Add("CLOB", SAMPLE_STRING
+                                               + SAMPLE_STRING
+                                               + SAMPLE_STRING
+                                               + SAMPLE_STRING
+                                               + SAMPLE_STRING
+                                               + SAMPLE_STRING
+                                               , 4000);
+                                       row.Add("NCLOB", SAMPLE_STRING
+                                               + SAMPLE_STRING
+                                               + SAMPLE_STRING
+                                               + SAMPLE_STRING
+                                               + SAMPLE_STRING
+                                               + SAMPLE_STRING
+                                               , 4000);
+#endif
+                                       break;
+                                       #endregion
+
+                                       #region DB2
+                               case MonoTests.System.Data.Utils.DataBaseServer.DB2:
+                                       row.Add("DATE", new DateTime(2004, 8, 9, 20, 30, 15, 500).Date);
+                                       row.Add("TIME", new TimeSpan(20, 30, 15));
+                                       row.Add("TIMESTAMP", new DateTime(2004, 8, 9, 20, 30, 15, 500));
+                                       row.Add("BLOB", new byte[]      {0x00, 0x12, 0x34, 0x56, 0x78, 0x9A, 0xBC, 0xDE, 0xFF, 0xF0
+                                                                                                       ,0x00, 0x12, 0x34, 0x56, 0x78, 0x9A, 0xBC, 0xDE, 0xFF, 0xF0
+                                                                                                       ,0x00, 0x12, 0x34, 0x56, 0x78, 0x9A, 0xBC, 0xDE, 0xFF, 0xF0
+                                                                                                       ,0x00, 0x12, 0x34, 0x56, 0x78, 0x9A, 0xBC, 0xDE, 0xFF, 0xF0
+                                                                                                       ,0x00, 0x12, 0x34, 0x56, 0x78, 0x9A, 0xBC, 0xDE, 0xFF, 0xF0
+                                                                                                       ,0x00, 0x12, 0x34, 0x56, 0x78, 0x9A, 0xBC, 0xDE, 0xFF, 0xF0
+                                                                                                       ,0x00, 0x12, 0x34, 0x56, 0x78, 0x9A, 0xBC, 0xDE, 0xFF, 0xF0
+                                                                                                       ,0x00, 0x12, 0x34, 0x56, 0x78, 0x9A, 0xBC, 0xDE, 0xFF, 0xF0
+                                                                                                       ,0x00, 0x12, 0x34, 0x56, 0x78, 0x9A, 0xBC, 0xDE, 0xFF, 0xF0
+                                                                                                       ,0x00, 0x12, 0x34, 0x56, 0x78, 0x9A, 0xBC, 0xDE, 0xFF, 0xF0
+                                                                                               });
+                                       row.Add("CLOB", SAMPLE_STRING
+                                               + SAMPLE_STRING
+                                               + SAMPLE_STRING
+                                               + SAMPLE_STRING
+                                               + SAMPLE_STRING
+                                               + SAMPLE_STRING
+                                               );
+                                       row.Add("DBCLOB", SAMPLE_STRING
+                                               + SAMPLE_STRING
+                                               + SAMPLE_STRING
+                                               + SAMPLE_STRING
+                                               + SAMPLE_STRING
+                                               + SAMPLE_STRING
+                                               );
+                                       break;
+                                       #endregion
+
+                                       #region PostgreSQL
+                               case MonoTests.System.Data.Utils.DataBaseServer.PostgreSQL:
+                                       row.Add("BYTEA", new byte[]     {0x00, 0x12, 0x34, 0x56, 0x78, 0x9A, 0xBC, 0xDE, 0xFF, 0xF0,
+                                                                                                       0x00, 0x12, 0x34, 0x56, 0x78, 0x9A, 0xBC, 0xDE, 0xFF, 0xF0,
+                                                                                                       0x00, 0x12, 0x34, 0x56, 0x78, 0x9A, 0xBC, 0xDE, 0xFF, 0xF0,
+                                                                                                       0x00, 0x12, 0x34, 0x56, 0x78, 0x9A, 0xBC, 0xDE, 0xFF, 0xF0,
+                                                                                                       0x00, 0x12, 0x34, 0x56, 0x78, 0x9A, 0xBC, 0xDE, 0xFF, 0xF0}, 50);
+                                       row.Add("DATE", new DateTime(2004, 8, 9));
+                                       row.Add("TEXT", "abcdefg", 16); 
+                                       row.Add("TIME", new Sys.TimeSpan(02,02,02));
+                                       row.Add("TIMESTAMP", new DateTime(2004, 8, 9, 20, 30, 15, 500), 8);
+                                       break;
+                                       #endregion
+
+                       }
+                       return row;
+               }
+       }
+}
\ No newline at end of file
diff --git a/mcs/class/System.Data.OracleClient/Test/System.Data.OracleClient.jvm/MonoTests.System.Data.Utils/DbTypeParameter.cs b/mcs/class/System.Data.OracleClient/Test/System.Data.OracleClient.jvm/MonoTests.System.Data.Utils/DbTypeParameter.cs
new file mode 100755 (executable)
index 0000000..c215d0b
--- /dev/null
@@ -0,0 +1,293 @@
+// 
+// Copyright (c) 2006 Mainsoft Co.
+// 
+// Permission is hereby granted, free of charge, to any person obtaining
+// a copy of this software and associated documentation files (the
+// "Software"), to deal in the Software without restriction, including
+// without limitation the rights to use, copy, modify, merge, publish,
+// distribute, sublicense, and/or sell copies of the Software, and to
+// permit persons to whom the Software is furnished to do so, subject to
+// the following conditions:
+// 
+// The above copyright notice and this permission notice shall be
+// included in all copies or substantial portions of the Software.
+// 
+// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
+// EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
+// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
+// NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
+// LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
+// OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
+// WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
+//
+
+using System;
+using System.Data;
+using System.Data.OracleClient;
+
+namespace MonoTests.System.Data.Utils.Data
+{
+       /// <summary>
+       /// Represents a parameter type for use in tests of System.Data.
+       /// </summary>
+       public class DbTypeParameter
+       {
+               #region Members
+               //Name of the Database type of this parameter.
+               private string m_sDbTypeName;
+               //Value of this parameter.
+               private object m_oValue;
+               //Size of this parameter.
+               private int m_iSize;
+               //Indicates wheather the size of this DbTypeParameter was initialized.
+               private bool m_bIsSizeSet = false;
+               #endregion
+
+               #region Constructors
+               /// <summary>
+               /// Default constructor.
+               /// </summary>
+               public DbTypeParameter()
+               {
+               }
+
+               /// <summary>
+               /// Constructor, Initializes the DbTypeParameter's properties according to specified values.
+               /// </summary>
+               /// <param name="a_sTypeName">Specifies the initial parameter type Name for the DbTypeParameter.</param>
+               /// <param name="a_oValue">Specifies the initial value for the DbTypeParameter.</param>
+               public DbTypeParameter(string a_sTypeName, object a_oValue)
+               {
+                       DbTypeName = a_sTypeName;
+                       Value = a_oValue;
+               }
+               /// <summary>
+               /// Constructor, Initializes the DbTypeParameter's properties according to specified values.
+               /// </summary>
+               /// <param name="a_sTypeName">Specifies the initial parameter type Name for the DbTypeParameter.</param>
+               /// <param name="a_oValue">Specifies the initial value for the DbTypeParameter.</param>
+               /// <param name="a_iSize">Specifies the initial size for the DbTypeParameter.</param>
+               public DbTypeParameter(string a_sTypeName, object a_oValue, int a_iSize)
+               {
+                       DbTypeName = a_sTypeName;
+                       Value = a_oValue;
+                       Size = a_iSize;
+               }
+               #endregion
+
+               #region Properties
+               public string DbColumnName
+               {
+                       get
+                       {
+                               return string.Format("T_{0}", m_sDbTypeName);
+                       }
+               }
+
+               public string ParameterName
+               {
+                       get
+                       {
+                               return String.Format(":T_{0}", m_sDbTypeName);
+                       }
+               }
+               public string DbTypeName
+               {
+                       get
+                       {
+                               return m_sDbTypeName;
+                       }
+                       set
+                       {
+                               m_sDbTypeName = value;
+                       }
+               }
+
+               public object Value
+               {
+                       get
+                       {
+                               return m_oValue;
+                       }
+                       set
+                       {
+                               m_oValue = value;
+                       }
+               }
+
+               public int Size
+               {
+                       get
+                       {
+                               if (IsSizeSet)
+                               {
+                                       return m_iSize;
+                               }
+                               else
+                               {
+                                       throw new InvalidOperationException("DbTypeParameter size was not set.");
+                               }
+                       }
+                       set
+                       {
+                               m_iSize = value;
+                               m_bIsSizeSet = true;
+                       }
+               }
+               public bool IsSizeSet
+               {
+                       get
+                       {
+                               return m_bIsSizeSet;
+                       }
+               }
+               public DbType DbType
+               {
+                       get
+                       {
+                               return GetDefaultDbType(DbTypeName);
+                       }
+               }
+               #endregion
+
+               #region Methods
+               public static DbType GetDefaultDbType(string dbTypeName)
+               {
+                       switch (dbTypeName.ToUpper())
+                       {
+                               case "BIT":     //SQLServer.
+                                       return DbType.Boolean;
+                               case "TINYINT": //SQLServer.
+                                       return DbType.Byte;
+                               case "SMALLINT":        //SQLServer & DB2.
+                                       return DbType.Int16;
+                               case "INT":     //SQLServer.
+                                       return DbType.Int32;
+                               case "INTEGER": //DB2
+                                       return DbType.Int32;
+                               case "BIGINT":  //MSSQLServer &DB2
+                                       return DbType.Int64;
+                               case "NUMERIC": //MSSQLServer.
+                                       return DbType.Decimal;
+                               case "NUMBER": //Oracle.
+                                       return DbType.VarNumeric;
+                       case "DECIMAL": //MSSQLServer & DB2
+                               return DbType.Decimal;
+                               case "FLOAT":   //MSSQLServer & Oracle
+                                               return DbType.Double;
+                               case "REAL": //MSSQLServer & DB2
+                                       return DbType.Single;
+                               case "DOUBLE":
+                                       return DbType.Double;
+                               case "CHAR":    //MSSQLServer & Oracle.
+                                       return DbType.AnsiStringFixedLength;
+                               case "NCHAR": //MSSQLServer & Oracle.
+                                       return DbType.AnsiStringFixedLength;
+                               case "VARCHAR": //MSSQLServer, Oracle & DB2.
+                                       return DbType.AnsiString;
+                               case "NVARCHAR": //MSSQLServer & Oracle.
+                                       return DbType.AnsiString;
+                               case "CHARACTER": //DB2
+                                       return DbType.AnsiStringFixedLength;
+                               case "LONGVARCHAR": //DB2
+                                       return DbType.String;
+                               case "LONG":    //Oracle.
+                                       return DbType.AnsiString;
+                               default:
+                                       throw new ApplicationException(string.Format("Dont know the default DbType for {0}.", dbTypeName));
+                       }
+               }
+               public object ApplyDefaultDataTransformation()
+               {
+                       if (Value == DBNull.Value)
+                       {
+                               return DBNull.Value;
+                       }
+                       else if (Value.GetType() == typeof(bool))
+                       {
+                               return DefaultBooleanTransformation((bool)Value);
+                       }
+                       else if (Value.GetType() == typeof(byte))
+                       {
+                               return DefaultByteTransformation((byte)Value);
+                       }
+                       else if (Value.GetType() == typeof(Int16))
+                       {
+                               return DefaultInt16Transformation((Int16)Value);
+                       }
+                       else if (Value.GetType() == typeof(int))
+                       {
+                               return DefaultIntTransformation((int)Value);
+                       }
+                       else if (Value.GetType() == typeof(Int64))
+                       {
+                               return DefaultInt64Transformation((Int64)Value);
+                       }
+                       else if (Value.GetType() == typeof(decimal))
+                       {
+                               return DefaultDecimalTransformation((decimal)Value);
+                       }
+                       else if (Value.GetType() == typeof(double))
+                       {
+                               return DefaultDoubleTransformation((double)Value);
+                       }
+                       else if (Value.GetType() == typeof(float))
+                       {
+                               return DefaultFloatTransformation((float)Value);
+                       }
+                       else if (Value.GetType() == typeof(string))
+                       {
+                               return DefaultStringTransformation((string)Value);
+                       }
+                       else
+                       {
+                               throw new ApplicationException(string.Format("No default transformation for type {0}.", Value));
+                       }
+               }
+               public static bool DefaultBooleanTransformation(bool val)
+               {
+                       return !val;
+               }
+               public static byte DefaultByteTransformation(byte val)
+               {
+                       return (byte)(val*2);;
+               }
+               public static Int16 DefaultInt16Transformation(Int16 val)
+               {
+                       return (Int16)(val*2);
+               }
+               public static int DefaultIntTransformation(int val)
+               {
+                       return (int)(val*2);;
+               }
+               public static Int64 DefaultInt64Transformation(Int64 val)
+               {
+                       return (Int64)(val*2);;
+               }
+               public static decimal DefaultDecimalTransformation(decimal val)
+               {
+                       return (decimal)(val*2);;
+               }
+               public static double DefaultDoubleTransformation(double val)
+               {
+                       return (double)(val*2);;
+               }
+               public static float DefaultFloatTransformation(float val)
+               {
+                       return (float)(val*2);;
+               }
+               public static string DefaultStringTransformation(string val)
+               {
+                       return val.ToUpper();;
+               }
+               /// <summary>
+               /// Invalidates the size of this DbTypeParameter.
+               /// </summary>
+               public void InvalidateSize()
+               {
+                       m_bIsSizeSet = false;
+               }
+               #endregion
+
+       }
+}
diff --git a/mcs/class/System.Data.OracleClient/Test/System.Data.OracleClient.jvm/MonoTests.System.Data.Utils/DbTypeParametersCollection.cs b/mcs/class/System.Data.OracleClient/Test/System.Data.OracleClient.jvm/MonoTests.System.Data.Utils/DbTypeParametersCollection.cs
new file mode 100755 (executable)
index 0000000..9e0068d
--- /dev/null
@@ -0,0 +1,561 @@
+// 
+// Copyright (c) 2006 Mainsoft Co.
+// 
+// Permission is hereby granted, free of charge, to any person obtaining
+// a copy of this software and associated documentation files (the
+// "Software"), to deal in the Software without restriction, including
+// without limitation the rights to use, copy, modify, merge, publish,
+// distribute, sublicense, and/or sell copies of the Software, and to
+// permit persons to whom the Software is furnished to do so, subject to
+// the following conditions:
+// 
+// The above copyright notice and this permission notice shall be
+// included in all copies or substantial portions of the Software.
+// 
+// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
+// EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
+// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
+// NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
+// LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
+// OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
+// WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
+//
+
+
+using System;
+using System.Data;
+using System.Data.OracleClient;
+using System.Data.SqlClient;
+using CollectionBase = System.Collections.CollectionBase;
+using Sys = System;
+
+namespace MonoTests.System.Data.Utils.Data
+{
+       /// <summary>
+       /// A collection of DbTypeParameters that matches the column of specific a database table
+       /// </summary>
+       public class DbTypeParametersCollection : CollectionBase
+       {
+               #region Constructors
+               /// <summary>
+               /// Default constructor.
+               /// </summary>
+               public DbTypeParametersCollection()
+               {
+               }
+
+               /// <summary>
+               /// Constructor.
+               /// Initializes a DbTypeParametersCollection with the specified TableName
+               /// </summary>
+               /// <param name="a_sTableName">Specifies the table name to set.</param>
+               public DbTypeParametersCollection(string a_sTableName)
+               {
+                       m_sTableName = a_sTableName;
+               }
+               #endregion
+
+               #region Members
+               private string m_sTableName;
+               #endregion
+
+               #region Properties & Indexers
+               public string TableName
+               {
+                       get
+                       {
+                               return m_sTableName;
+                       }
+                       set
+                       {
+                               m_sTableName = value;
+                       }
+               }
+               /// <summary>
+               /// Gets or sets the DbTypeParameter at the specified index.
+               /// </summary>
+               /// <exception cref="ArgumentException">The column name specified by value.DBColumnName already exist in other DbTypeParameter in the DbTypeParametersCollection.</exception>
+               public DbTypeParameter this[int a_iIndex]  
+               {
+                       get  
+                       {
+                               return((DbTypeParameter)List[a_iIndex]);
+                       }
+                       set  
+                       {
+                               //Check that the collection does not already contain a DbTypeParameter with the same column name.
+                               int l_iIndexOfValueColumnName = this.IndexOf(value.DbColumnName);
+                               if (l_iIndexOfValueColumnName != -1 && l_iIndexOfValueColumnName != a_iIndex)
+                               {
+                                       throw new ArgumentException("The column name specified by DbTypeParameter.DBColumnName already exist in other DbTypeParameter in the DbTypeParametersCollection.", "value");
+                               }
+                               else
+                               {
+                                       List[a_iIndex] = value;
+                               }
+                       }
+               }
+
+               /// <summary>
+               /// Gets or sets the DbTypeParameter with the specified DBColumnName.
+               /// </summary>
+               /// <exception cref="ArgumentException">The column name specified by value.DBColumnName already exist in other DbTypeParameter in the DbTypeParametersCollection.</exception>
+               public DbTypeParameter this[string a_sDBColumnName]  
+               {
+                       get  
+                       {
+                               return this[IndexOf(a_sDBColumnName)];
+                       }
+                       set  
+                       {
+                               this[IndexOf(a_sDBColumnName)] = value;
+                       }
+               }
+               /// <summary>
+               /// A textual string that conatins the Oracle place holder for parameter ('?') for each of the parameters.
+               /// </summary>
+               public  string UnnamedParameterPlaceHolderList {
+                       get {
+                               return GetParameterPlaceHolderList("?, ");
+                       }
+               }
+               /// <summary>
+               /// A textual string that conatins the MSSQL place holder for parameter ('@parame_name') for each of the parameters.
+               /// </summary>
+               public string NamedParameterPlaceHolderList
+               {
+                       get
+                       {
+                               return GetParameterPlaceHolderList("{0}, ");
+                       }
+               }
+               /// <summary>
+               /// A string that contains a comma delimited list of all default column names for the parameters held by this collection.
+               /// </summary>
+               public string ColumnsList
+               {
+                       get
+                       {
+                               Sys.Text.StringBuilder l_sbColumnsList = new Sys.Text.StringBuilder();;
+
+                               foreach (DbTypeParameter l_oCurrent in this)
+                               {
+                                       l_sbColumnsList.AppendFormat("{0}, ", l_oCurrent.DbColumnName);
+                               }
+
+                               //remove last ', ' from values list:
+                               l_sbColumnsList.Remove(l_sbColumnsList.Length -2, 2);
+
+                               return l_sbColumnsList.ToString();
+                       }
+               }
+               /// <summary>
+               /// A string that contains a comma delimited list of all values of the parameters held by this collection.
+               /// </summary>
+               public string ValuesList
+               {
+                       get
+                       {
+                               Sys.Text.StringBuilder l_sbValuesList = new Sys.Text.StringBuilder();
+                               string l_sCurrentVal = string.Empty;
+                               string l_sCurrentFormatting = string.Empty;
+
+                               foreach (DbTypeParameter l_oCurrent in this)
+                               {
+                                       //Handle types with string representation different then ToString().
+                                       l_sCurrentVal = (l_oCurrent.Value != DBNull.Value) ? l_oCurrent.Value.ToString() : "NULL";
+                                       if (l_oCurrent.Value is bool)
+                                       {
+                                               l_sCurrentVal = ((bool)l_oCurrent.Value) ? "1" : "0";
+                                       }
+
+                    //Set the correct foratting according to type.                                     
+                                       l_sCurrentFormatting = (l_oCurrent.Value is string) ? "'{0}', " : "{0}, ";
+                                       
+                                       //appent the textual representation.
+                                       l_sbValuesList.AppendFormat(l_sCurrentFormatting, l_sCurrentVal);
+                               }
+
+                               //remove last ', ' from values list:
+                               l_sbValuesList.Remove(l_sbValuesList.Length -2, 2);
+
+                               return l_sbValuesList.ToString();
+                       }
+               }
+               #endregion
+               
+               #region Methods
+               #region Public
+               #region Sys.Collections.CollectionBase implementation
+               /// <summary>
+               /// Adds the specified DbTypeParameter to the DbTypeParametersCollection.
+               /// </summary>
+               /// <param name="a_oToAdd">The DbTypeParameter to add to the collection. </param>
+               /// <returns>The index of the new DbTypeParameter object.</returns>
+               /// <exception cref="ArgumentException">The column name specified by a_oToAdd.DBColumnName already exist in other DbTypeParameter in the DbTypeParametersCollection.</exception>
+               public virtual int Add( DbTypeParameter a_oToAdd )  
+               {
+                       if (this.Contains(a_oToAdd.DbColumnName))
+                       {
+                               throw new ArgumentException("The column name specified by DbTypeParameter.DBColumnName already exist in other DbTypeParameter in the DbTypeParametersCollection.", "a_oToAdd");
+                       }
+                       return( List.Add( a_oToAdd ) );
+               }
+
+               /// <summary>
+               /// Adds a DbTypeParameter with the specified data to the DbTypeParametersCollection.
+               /// </summary>
+               /// <param name="a_sColumnName">Specifies the initial column name for the DbTypeParameter.</param>
+               /// <param name="a_sTypeName">Specifies the initial parameter type Name for the DbTypeParameter.</param>
+               /// <param name="a_oValue">Specifies the initial value for the DbTypeParameter.</param>
+               /// <returns>The index of the new DbTypeParameter object.</returns>
+               /// <exception cref="ArgumentException">The column name specified by a_sColumnName already exist in other DbTypeParameter in the DbTypeParametersCollection.</exception>
+               public virtual int Add(string a_sTypeName, object a_oValue)
+               {
+                       DbTypeParameter l_oToAdd = new DbTypeParameter(a_sTypeName, a_oValue);
+                       return this.Add(l_oToAdd);
+               }
+
+               /// <summary>
+               /// Adds a DbTypeParameter with the specified data to the DbTypeParametersCollection.
+               /// </summary>
+               /// <param name="a_sColumnName">Specifies the initial column name for the DbTypeParameter.</param>
+               /// <param name="a_sTypeName">Specifies the initial parameter type Name for the DbTypeParameter.</param>
+               /// <param name="a_oValue">Specifies the initial value for the DbTypeParameter.</param>
+               /// <param name="a_iSize">Specifies the initial size for the DbTypeParameter</param>
+               /// <returns>The index of the new DbTypeParameter object.</returns>
+               /// <exception cref="ArgumentException">The column name specified by a_sColumnName already exist in other DbTypeParameter in the DbTypeParametersCollection.</exception>
+               public virtual int Add(string a_sTypeName, object a_oValue, int a_iSize)
+               {
+                       DbTypeParameter l_oToAdd = new DbTypeParameter(a_sTypeName, a_oValue, a_iSize);
+                       return this.Add(l_oToAdd);
+               }
+
+               /// <summary>
+               /// Gets the location of the DbTypeParameter object in the collection.
+               /// </summary>
+               /// <param name="a_oToFind">The DbTypeParameter object to locate. </param>
+               /// <returns>The zero-based location of the DbTypeParameter in the collection, if found; otherwise, -1.</returns>
+               public virtual int IndexOf( DbTypeParameter a_oToFind)  
+               {
+                       return( List.IndexOf( a_oToFind ) );
+               }
+
+               /// <summary>
+               /// Gets the location of the DbTypeParameter object in the collection.
+               /// </summary>
+               /// <param name="a_oToFind">The DbTypeParameter object to locate. </param>
+               /// <returns>The zero-based location of the DbTypeParameter in the collection, if found; otherwise, -1.</returns>
+               public virtual int IndexOf( string a_sColumnName )  
+               {
+                       for (int i=0; i<List.Count; i++)
+                       {
+                               if (this[i].DbColumnName.ToUpper() == a_sColumnName.ToUpper())
+                               {
+                                       return i;
+                               }
+                       }
+
+                       //Didn't find such DbTypeParameter:
+                       return-1;
+               }
+
+               /// <summary>
+               /// Determines whether the DbTypeParametersCollection contains a specific DbTypeParameter.
+               /// </summary>
+               /// <param name="a_oToFind">The DbTypeParameter to locate in the DbTypeParametersCollection</param>
+               /// <returns>true if the DbTypeParametersCollection contains the specified DbTypeParameter; otherwise, false.</returns>
+               public virtual bool Contains( DbTypeParameter a_oToFind )  
+               {
+                       // If a_oToFind is not of type DbTypeParameter, this will return false.
+                       return( List.Contains( a_oToFind ) );
+               }
+
+               /// <summary>
+               /// Determines whether the DbTypeParametersCollection contains a DbTypeParameter with specific column name (DBColumnName).
+               /// </summary>
+               /// <param name="a_sToFind">The column name to locate in the DbTypeParametersCollection</param>
+               /// <returns>true if the DbTypeParametersCollection contains a DbTypeParameter with specific column name; otherwise, false.</returns>
+               public virtual bool Contains( string a_sToFind )  
+               {
+                       return (this.IndexOf(a_sToFind) > -1);
+               }
+
+               /// <summary>
+               /// Creates an array of OracleParameters based on the contents of this collection.
+               /// </summary>
+               /// <returns>An array of OracleParameters based on the contents of this collection</returns>
+               public virtual OracleParameter[] ToOracleParameterArray()
+               {
+                       OracleParameter[] l_oParams = new OracleParameter[this.Count];
+                       for (int i=0; i<this.Count; i++)
+                       {
+                               l_oParams[i] = new OracleParameter(this[i].ParameterName, this[i].Value);
+                       }
+
+                       return l_oParams;
+               }
+
+               /// <summary>
+               /// Creates an array of SqlParameters based on the contents of this collection.
+               /// </summary>
+               /// <returns>An array of SqlParameters based on the contents of this collection</returns>
+               public virtual SqlParameter[] ToSqlParameterArray()
+               {
+                       SqlParameter[] l_oParams = new SqlParameter[this.Count];
+                       for (int i=0; i<this.Count; i++)
+                       {
+                               l_oParams[i] = new SqlParameter(this[i].ParameterName, this[i].Value);
+                       }
+
+                       return l_oParams;
+               }
+
+               /// <summary>
+               /// Creates an array of objects based on the contents of this collection.
+               /// </summary>
+               /// <returns>An array of objects that contains all values of parameters in this collection</returns>
+               public virtual object[] ToValuesArray()
+               {
+                       
+                       object[] l_oParams = new object[this.Count];
+                       for (int i=0; i<this.Count; i++)
+                       {
+                               l_oParams[i] = this[i].Value;
+                       }
+
+                       return l_oParams;
+               }
+               #endregion
+               #region Execute methods
+               /// <summary>
+               /// Builds and execute an INSERT command according to the DbTypeParameters in this collection, and the TableName property.
+               /// </summary>
+               /// <param name="a_sUniqueId">A unique identifier for the inserted row.</param>
+               /// <returns>The number of inserted rows (usually 1).</returns>
+               public virtual int ExecuteInsert(string a_sUniqueId)
+               {
+                       int l_iRecordsInserted;
+                       OracleCommand l_cmdInsert = new OracleCommand();
+                       l_cmdInsert.Connection = new OracleConnection(ConnectedDataProvider.ConnectionString);
+                       l_cmdInsert.CommandText = GetInsertCommandText(a_sUniqueId);
+                       AddInsertCommandParameters(l_cmdInsert.Parameters);
+
+                       try
+                       {
+                               if (l_cmdInsert.Connection.State != ConnectionState.Open)
+                               {
+                                       l_cmdInsert.Connection.Open();
+                               }
+//                             Sys.Console.WriteLine(l_cmdInsert.CommandText);
+                               l_iRecordsInserted = l_cmdInsert.ExecuteNonQuery();
+                       }
+                       finally
+                       {
+                               l_cmdInsert.Connection.Close();
+                       }
+
+                       return l_iRecordsInserted;
+               }
+
+               /// <summary>
+               /// Builds and executes an DELETE command according to the UniqueId parameter, and the TableName property.
+               /// </summary>
+               /// <param name="a_sUniqueId">The criteria for deleting.</param>
+               /// <returns>The number of deleted rows.</returns>
+               public virtual int ExecuteDelete(string a_sUniqueId)
+               {
+                       return DbTypeParametersCollection.ExecuteDelete(this.TableName, a_sUniqueId);
+               }
+
+               /// <summary>
+               /// Builds and executes an DELETE command according to the given TableName & UniqueId parameters.
+               /// </summary>
+               /// <param name="a_sTableName">The table to delete from.</param>
+               /// <param name="a_sUniqueId">The criteria for deleting.</param>
+               /// <returns>The number of deleted rows.</returns>
+               public static int ExecuteDelete(string a_sTableName, string a_sUniqueId)
+               {
+#if !TARGET_JVM
+                       return 0;
+#endif
+                       int l_iRecordsDeleted;
+                       OracleCommand l_cmdDelete = new OracleCommand();
+                       l_cmdDelete.Connection = new OracleConnection(ConnectedDataProvider.ConnectionString);
+                       l_cmdDelete.CommandText = String.Format("DELETE FROM {0} WHERE ID='{1}'", a_sTableName, a_sUniqueId);
+                       try
+                       {
+                               if (l_cmdDelete.Connection.State != ConnectionState.Open)
+                               {
+                                       l_cmdDelete.Connection.Open();
+                               }
+
+                               l_iRecordsDeleted = l_cmdDelete.ExecuteNonQuery();
+                       }
+                       finally
+                       {
+                               l_cmdDelete.Connection.Close();
+                       }
+
+                       return l_iRecordsDeleted;
+               }
+               
+               /// <summary>
+               /// Executes a select command that selects all columns specified by this collection,
+               /// from the table specified by this collections TableName property,
+               /// filtered by the given unique id.
+               /// The select command is executed using ExecuteReader.
+               /// </summary>
+               /// <param name="a_sUniqueId">The unique id to use as rows filter.</param>
+               /// <param name="a_oReader">Reader that holds the results of the select command.</param>
+               /// <param name="a_oConnection">A connection object that serves the reader a_oReader for retrivieng data.</param>
+               /// <remarks>
+               /// While the OracleDataReader is in use, the associated OracleConnection is open and busy serving the OracleDataReader.
+               /// While in this state, no other operations can be performed on the OracleConnection other than closing it.
+               /// This is the case until the Close method of the OracleDataReader is called.
+               /// It is the users responsibility to close the OracleConnection explicitly when it is no longer needed.
+               /// </remarks>
+               public virtual void ExecuteSelectReader(string a_sUniqueId, out OracleDataReader a_oReader, out OracleConnection a_oConnection)
+               {
+                       OracleCommand l_cmdSelect = BuildSelectCommand(a_sUniqueId);
+                       l_cmdSelect.Connection.Open();
+                       a_oConnection = l_cmdSelect.Connection;
+                       a_oReader = l_cmdSelect.ExecuteReader();
+               }
+               /// <summary>
+               /// Executes a select command that selects all columns specified by this collection,
+               /// from the table specified by this collections TableName property,
+               /// filtered by the given unique id.
+               /// The select command is executed using ExecuteScalar.
+               /// </summary>
+               /// <param name="a_sUniqueId">The unique id to use as rows filter.</param>
+               /// <returns>The first column of the first row in the result set, or a null reference if the result set is empty.</returns>
+               public virtual object ExecuteSelectScalar(string a_sUniqueId)
+               {
+                       object l_oReturnValue = null;
+                       OracleCommand l_cmdSelect = BuildSelectCommand(a_sUniqueId);
+
+                       try
+                       {
+                               l_cmdSelect.Connection.Open();
+                               l_oReturnValue = l_cmdSelect.ExecuteScalar();
+                       }
+                       finally
+                       {
+                               if (l_cmdSelect.Connection.State != ConnectionState.Closed)
+                               {
+                                       l_cmdSelect.Connection.Close();
+                               }
+                       }
+
+                       return l_oReturnValue;
+               }
+
+               #endregion
+               #endregion
+
+               #region Callbacks
+               //All these methods are callbacks, that ensure type safty of elements within the base.List.
+
+               protected override void OnInsert( int index, Object value )  
+               {
+                       if ( value.GetType() != Type.GetType("MonoTests.System.Data.Utils.Data.DbTypeParameter") )
+                               throw new ArgumentException( "value must be of type DbTypeParameter.", "value" );
+               }
+
+               protected override void OnRemove( int index, Object value )  
+               {
+                       if ( value.GetType() != Type.GetType("MonoTests.System.Data.Utils.Data.DbTypeParameter") )
+                               throw new ArgumentException( "value must be of type DbTypeParameter.", "value" );
+               }
+
+               protected override void OnSet( int index, Object oldValue, Object newValue )  
+               {
+                       if ( newValue.GetType() != Type.GetType("MonoTests.System.Data.Utils.Data.DbTypeParameter") )
+                               throw new ArgumentException( "newValue must be of type DbTypeParameter.", "newValue" );
+               }
+
+               protected override void OnValidate( Object value )  
+               {
+                       if ( value.GetType() != Type.GetType("MonoTests.System.Data.Utils.Data.DbTypeParameter") )
+                               throw new ArgumentException( "value must be of type DbTypeParameter." );
+               }
+               #endregion
+
+               #region Private
+               /// <summary>
+               /// Create a SQL text for an INSERT command with parameters ('?' notation).
+               /// The command uses the table specified in the TableName property, 
+               /// and uses the columns specified in this parameters collection.
+               /// </summary>
+               /// <param name="a_sUniqueId">The Unique id for the row to be inserted.</param>
+               private string GetInsertCommandText(string a_sUniqueId)
+               {
+                       string l_sCmd = string.Empty;
+                       string l_sColumnsList = ColumnsList;
+                       string l_sValuesList = NamedParameterPlaceHolderList;
+
+                       l_sCmd = String.Format("INSERT INTO {0} (ID, {1}) VALUES ('{2}', {3})", m_sTableName, l_sColumnsList, a_sUniqueId, l_sValuesList);
+            
+                       return l_sCmd;
+               }
+
+               /// <summary>
+               /// Builds an OracleParametersCollection for an INSERT command, according to the DbTypeParameters in this collection.
+               /// </summary>
+               /// <param name="a_oParams">The OracleParameterCollection to be filled.</param>
+               private void AddInsertCommandParameters(OracleParameterCollection a_oParams)
+               {
+                       foreach (DbTypeParameter l_oCurrent in this)
+                       {
+                               a_oParams.Add(l_oCurrent.ParameterName, l_oCurrent.Value);
+                       }
+               }
+               /// <summary>
+               /// Create a command object for a SELECT command .
+               /// The command uses the table specified in the TableName property, 
+               /// and uses the columns specified in this parameters collection.
+               /// </summary>
+               /// <remarks>The ID column is not included in the selected columns of this command.</remarks>
+               /// <returns>An OracleCommand for selecting the columns specified in this collection, from the table specified in the TableName property. </returns>
+               private OracleCommand BuildSelectCommand(string a_sUniqueId)
+               {
+                       string l_sColumnsList = ColumnsList;
+                       string l_sCmdTxt;
+                       OracleConnection l_oConnection = new OracleConnection(ConnectedDataProvider.ConnectionString);
+                       OracleCommand l_cmdSelect = new OracleCommand();
+
+                       //Build the command's text.
+                       l_sCmdTxt = string.Format("SELECT {0} FROM {1} WHERE ID='{2}'", l_sColumnsList, this.TableName, a_sUniqueId);
+
+                       //Build the command object.
+                       l_cmdSelect.CommandText = l_sCmdTxt;
+                       l_cmdSelect.Connection = l_oConnection;
+
+                       return l_cmdSelect;
+               }
+
+               /// <summary>
+               /// Create a string that conatins a place holder for each of the parameters.
+               /// </summary>
+               /// <param name="a_sSormatting">The format for each parameter in the list (defined in String.Format())</param>
+               /// <returns>A string that conatins a place holder for each of the parameters.</returns>
+               private string GetParameterPlaceHolderList(string a_sSormatting)
+               {
+                       Sys.Text.StringBuilder l_sbValuesList = new Sys.Text.StringBuilder();;
+
+                       foreach (DbTypeParameter l_oCurrent in this)
+                       {
+                               l_sbValuesList.AppendFormat(a_sSormatting, l_oCurrent.ParameterName);
+                       }
+
+                       //remove last ', ' from values list:
+                       l_sbValuesList.Remove(l_sbValuesList.Length -2, 2);
+
+                       return l_sbValuesList.ToString();
+               }
+               #endregion
+
+               #endregion
+       }
+}
diff --git a/mcs/class/System.Data.OracleClient/Test/System.Data.OracleClient.jvm/MonoTests.System.Data.Utils/GHTBase.cs b/mcs/class/System.Data.OracleClient/Test/System.Data.OracleClient.jvm/MonoTests.System.Data.Utils/GHTBase.cs
new file mode 100755 (executable)
index 0000000..24585c2
--- /dev/null
@@ -0,0 +1,486 @@
+// 
+// Copyright (c) 2006 Mainsoft Co.
+// 
+// Permission is hereby granted, free of charge, to any person obtaining
+// a copy of this software and associated documentation files (the
+// "Software"), to deal in the Software without restriction, including
+// without limitation the rights to use, copy, modify, merge, publish,
+// distribute, sublicense, and/or sell copies of the Software, and to
+// permit persons to whom the Software is furnished to do so, subject to
+// the following conditions:
+// 
+// The above copyright notice and this permission notice shall be
+// included in all copies or substantial portions of the Software.
+// 
+// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
+// EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
+// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
+// NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
+// LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
+// OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
+// WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
+//
+
+using System;
+using System.IO;
+using System.Collections;
+
+using NUnit.Framework;
+
+namespace MonoTests.System.Data.Utils
+{
+       public class GHTBase
+       {
+               #region Constructors    
+               /// <summary>Constructor 
+               /// <param name="Logger">Custom TextWriter to log to</param>
+               /// <param name="LogOnSuccess">False to log only failed TestCases, True to log all</param>
+               /// </summary>
+               protected GHTBase(TextWriter Logger, bool LogOnSuccess)
+               {
+                       this._logger = Logger;
+                       this._logOnSuccess = LogOnSuccess;
+               }
+
+               /// <summary>Constructor, log to Console
+               /// <param name="LogOnSuccess">False to log only failed TestCases, True to log all</param>
+               /// </summary>
+               protected GHTBase(bool LogOnSuccess):this(Console.Out, LogOnSuccess){}
+
+               /// <summary>Constructor, log to Console only when Failed 
+               /// </summary>
+               protected GHTBase():this(Console.Out, false){}
+               #endregion
+
+               #region protected methods
+
+               public void GHTSetLogger(TextWriter Logger)
+               {
+                       this._logger = Logger;
+               }
+               /// <summary>Begin Test which containes TestCases
+               /// <param name="testName">Test name, used on logs</param>
+               /// </summary>
+               public virtual void BeginTest(string testName)
+               {
+                       //set test name
+                       this._testName = testName;
+                       //reset the Failure Counter and the TestCase Number
+                       UniqueId.ResetCounters();
+
+                       if(this._logOnSuccess == true)
+                               Log(string.Format("*** Starting Test: [{0}] ***", this._testName));
+               }
+
+               /// <summary>Begin TestCase
+               /// <param name="Description">TestCase Description, used on logs</param>
+               /// </summary>
+               public void BeginCase(string Description)
+               {
+                       //Previous TestCase must be ended before beginning a new one.
+                       if (_testCase != null) throw new Exception("Previous Case not Ended");
+                       //init the new TestCase with Unique TestCase Number and Description
+                       _testCase = new UniqueId(Description);
+
+                       if(this._logOnSuccess == true)
+                               Log(string.Format("Starting Case: [{0}]", _testCase.ToString()));
+               }
+
+
+               /// <summary>Compare two objects (using Object.Equals)
+               /// </summary>
+               protected bool Compare(object a, object b)
+               {
+                       Assert.AreEqual(b, a);
+                       //signal that the Compare method has been called
+                       this._testCase.CompareInvoked = true;
+                       //a string that holds the description of the objects for log
+                       string ObjectData;
+
+                       //check if one of the objects is null
+                       if  (a == null && b != null)
+                       {
+                               ObjectData = "Object a = null" + ", Object b.ToString() = '" + b.ToString() + "'(" + b.GetType().FullName + ")";
+                               this._testCase.Success = false; //objects are different, TestCase Failed
+                               LogCompareResult(ObjectData);
+                               return this._testCase.Success;
+                       }
+
+                       //check if the other object is null
+                       if  (a != null && b == null)
+                       {
+                               ObjectData = "Object a.ToString() = '" + a.ToString() + "'(" + a.GetType().FullName + "), Object b = null";
+                               this._testCase.Success = false; //objects are different, TestCase Failed
+                               LogCompareResult(ObjectData);
+                               return this._testCase.Success;
+                       }
+
+                       //check if both objects are null
+                       if ( (a == null && b == null) )
+                       {
+                               ObjectData = "Object a = null, Object b = null";
+                               this._testCase.Success = true; //both objects are null, TestCase Succeed
+                               LogCompareResult(ObjectData);
+                               return this._testCase.Success;
+                       }
+
+                       ObjectData = "Object a.ToString() = '" + a.ToString() + "'(" + a.GetType().FullName + "), Object b.ToString = '" + b.ToString() + "'(" + b.GetType().FullName + ")";
+                       //use Object.Equals to compare the objects
+                       this._testCase.Success = (a.Equals(b));
+                       LogCompareResult(ObjectData);
+                       return this._testCase.Success;
+               }
+
+               /// <summary>Compare two Object Arrays. 
+               /// <param name="a">First array.</param>
+               /// <param name="b">Second array.</param>
+               /// <param name="Sorted">Used to indicate if both arrays are sorted.</param>
+               /// </summary>
+               protected bool Compare(Array a, Array b)
+               {
+                       Assert.AreEqual(b, a);
+                       //signal that the Compare method has been called
+                       this._testCase.CompareInvoked=true;
+                       //a string that holds the description of the objects for log
+                       string ObjectData;
+
+                       //check if both objects are null
+                       if ( (a == null && b == null) )
+                       {
+                               ObjectData = "Array a = null, Array b = null";
+                               this._testCase.Success = true; //both objects are null, TestCase Succeed
+                               LogCompareResult(ObjectData);
+                               return this._testCase.Success;
+                       }
+
+                       //Check if one of the objects is null.
+                       //(If both were null, we wouldn't have reached here).
+                       if (a == null || b == null)
+                       {
+                               string aData = (a==null) ? "null" : "'" + a.ToString() + "' (" + a.GetType().FullName + ")";
+                               string bData = (b==null) ? "null" : "'" +b.ToString() + "' (" + b.GetType().FullName + ")";
+                               ObjectData = "Array a = "  + aData + ", Array b = " + bData;
+                               this._testCase.Success = false; //objects are different, testCase Failed.
+                               LogCompareResult(ObjectData);
+                               return this._testCase.Success;
+                       }
+
+                       //check if both arrays are of the same rank.
+                       if (a.Rank != b.Rank)
+                       {
+                               this._testCase.Success = false;
+                               ObjectData = string.Format("Array a.Rank = {0}, Array b.Rank = {1}", a.Rank, b.Rank);
+                               LogCompareResult(ObjectData);
+                               return this._testCase.Success;
+                       }
+
+                       //Do not handle multi dimentional arrays.
+                       if (a.Rank != 1)
+                       {
+                               this._testCase.Success = false;
+                               ObjectData = "Multi-dimension array comparison is not supported";
+                               LogCompareResult(ObjectData);
+                               return this._testCase.Success;
+                       }
+
+                       //Check if both arrays are of the same length.
+                       if (a.Length != b.Length)
+                       {
+                               this._testCase.Success = false;
+                               ObjectData = string.Format("Array a.Length = {0}, Array b.Length = {1}", a.Length, b.Length);
+                               LogCompareResult(ObjectData);
+                               return this._testCase.Success;
+                       }
+
+                       ObjectData = "Array a.ToString() = '" + a.ToString() + "'(" + a.GetType().FullName + ") Array b.ToString = '" + b.ToString() + "'(" + b.GetType().FullName + ")";
+
+                       //Compare elements of the Array.
+                       int iLength = a.Length;
+                       for (int i=0; i<iLength; i++)
+                       {
+                               object aValue = a.GetValue(i);
+                               object bValue = b.GetValue(i);
+
+                               if (aValue == null && bValue == null)
+                               {
+                                       continue;
+                               }
+
+                               if (aValue == null || bValue == null  ||  !aValue.Equals(bValue) )
+                               {
+                                       string aData = (aValue==null) ? "null" : "'" + aValue.ToString() + "' (" + aValue.GetType().FullName + ")";
+                                       string bData = (bValue==null) ? "null" : "'" + bValue.ToString() + "' (" + bValue.GetType().FullName + ")";
+                                       ObjectData = string.Format("Array a[{0}] = {1}, Array b[{0}] = {2}", i, aData, bData);
+                                       this._testCase.Success = false; //objects are different, testCase Failed.
+                                       LogCompareResult(ObjectData);
+                                       return this._testCase.Success;
+                               }
+                       }
+
+
+                       this._testCase.Success = true;
+                       LogCompareResult(ObjectData);
+                       return this._testCase.Success;
+               }
+       
+
+               /// <summary>
+               /// Intentionally fail a testcase, without calling the compare method.
+               /// </summary>
+               /// <param name="message">The reason for the failure.</param>
+               protected void Fail(string message)
+               {
+                       this._testCase.CompareInvoked = true;
+                       this._testCase.Success = false;
+                       //Log(string.Format("TestCase \"{0}\" Failed: [{1}]", _testCase.ToString(), message));
+                       Assert.Fail(message);
+               }
+
+               /// <summary>
+               /// Intentionally cause a testcase to pass, without calling the compare message.
+               /// </summary>
+               /// <param name="message">The reason for passing the test.</param>
+               protected void Pass(string message)
+               {
+                       this._testCase.CompareInvoked = true;
+                       this._testCase.Success = true;
+                       if (this._logOnSuccess)
+                       {
+                               Log(string.Format("TestCase \"{0}\" Passed: [{1}]", _testCase.ToString(), message));
+                       }
+               }
+
+               /// <summary>
+               /// Marks this testcase as success, but logs the reason for skipping regardless of _logOnSuccess value.
+               /// </summary>
+               /// <param name="message">The reason for skipping the test.</param>
+               protected void Skip(string message)
+               {
+                       this._testCase.CompareInvoked = true;
+                       this._testCase.Success = true;
+                       Log(string.Format("TestCase \"{0}\" Skipped: [{1}]", _testCase.ToString(), message));
+               }
+
+               /// <summary>
+               /// Intentionally fail a testcase when an expected exception is not thrown.
+               /// </summary>
+               /// <param name="exceptionName">The name of the expected exception type.</param>
+               protected void ExpectedExceptionNotCaught(string exceptionName)
+               {
+                       this.Fail(string.Format("Expected {0} was not caught.", exceptionName));
+               }
+
+               /// <summary>
+               /// Intentionally cause a testcase to pass, when an expected exception is thrown.
+               /// </summary>
+               /// <param name="ex"></param>
+               protected void ExpectedExceptionCaught(Exception ex)
+               {
+                       this.Pass(string.Format("Expected {0} was caught.", ex.GetType().FullName));
+               }
+
+               /// <summary>End TestCase
+               /// <param name="ex">Exception object if exception occured during the TestCase, null if not</param>
+               /// </summary>
+               protected void EndCase(Exception ex)
+               {
+                       //check if BeginCase was called. cannot end an unopen TestCase
+                       if(_testCase == null)
+                       {
+                               throw new Exception("BeginCase was not called");
+                       }
+                       else
+                       {
+                               //if Exception occured during the test - log the error and faile the TestCase.
+                               if(ex != null)
+                               {
+                                       _testCase.Success=false;
+                                       Log(string.Format("TestCase: \"{0}\" Error: [Failed With Unexpected {1}: \n\t{2}]", _testCase.ToString(), ex.GetType().FullName, ex.Message + "\n" + ex.StackTrace ));
+                                       _testCase = null;
+                                       throw ex;
+                               }
+                               else
+                               {                    
+                                       //check if Compare was called
+                                       if (_testCase.CompareInvoked == true)
+                                       {
+                                               if(this._logOnSuccess == true) Log(string.Format("Finished Case: [{0}] ", _testCase.ToString()));
+                                       }
+                                       else
+                                       {
+                                               //if compare was not called, log error message
+                                               Log(string.Format("TestCase \"{0}\" Warning: [TestCase didn't invoke the Compare mehtod] ", _testCase.ToString()));
+                                       }
+                               }
+                               //Terminate TestCase (set TestCase to null)
+                               _testCase = null;
+                       }
+               }
+
+
+               /// <summary>End Test
+               /// <param name="ex">Exception object if exception occured during the Test, null if not</param>
+               /// </summary>
+               public void EndTest(Exception ex)
+               {
+                       //if all test cases succeeded but an exception occured - set exit code to -1
+                       //if we wont set it to -1, the exit code will be 0 !!!
+                       if (UniqueId.FailureCounter == 0 && ex != null) 
+                       {
+                               Environment.ExitCode = -1;
+                       }
+                       else
+                       {
+                               //set exitcode to the count of failed TestCases
+                               Environment.ExitCode = UniqueId.FailureCounter;
+                       }
+
+                       //if exception occured - log error
+                       if(ex != null)
+                       {
+                               Log(string.Format("Unexpected Exception accured in Test [{0}] - {1} \n {2}" , this._testName, ex.Message ,ex.StackTrace));
+                       }
+                       if(this._logOnSuccess)
+                       {
+                               Log(string.Format("*** Finished Test: [{0}] ***", this._testName));
+                       }
+               }
+       
+
+               public int GHTGetExitCode()
+               {
+                       return UniqueId.FailureCounter;
+               }
+
+               /// <summary>logger 
+               /// <param name="text">string message to log</param>
+               /// </summary>
+               protected void Log(string text)
+               {
+//                     _loggerBuffer = _loggerBuffer + "\n" + "GHTBase:Logger - " + text;
+//                     _logger.WriteLine("GHTBase:Logger - " + text);
+               }
+
+               //used to log the results from the compare methods
+               private void LogCompareResult(string ObjectData)
+               {
+                       if(this._testCase.Success == false)
+                       {
+                               Log(string.Format("TeseCase \"{0}\" Error: [Failed while comparing(" + ObjectData + ")] ", _testCase.ToString() ));
+                       }
+                       else
+                               if(this._logOnSuccess == true)
+                               Log(string.Format("TestCase \"{0}\" Passed ", _testCase.ToString()));
+                       
+               }
+
+               protected int TestCaseNumber
+               {
+                       get
+                       {
+                               return _testCase.CaseNumber;
+                       }
+               }
+               #endregion
+
+               #region private fields
+               
+               private TextWriter _logger;
+               public string _loggerBuffer; // a public clone string of the _logger (used in web tests)
+
+               private string _testName;
+               private UniqueId _testCase;
+               private bool _logOnSuccess;
+               #endregion
+               
+       }
+
+       //holds all the info on a TestCase
+       internal class UniqueId
+       {
+               //holds the unique name of the test case
+               //this name must be recieved from the test case itself
+               //when calling BeginCase.
+               //example: BeginCase("MyName")
+               private string _caseName;
+
+               //maintains the number generated for this test case
+               private static int _caseNumber;
+
+               //maintains the number of failed test case 
+               private static int _FailureCounter;
+               internal static int FailureCounter
+               {
+                       get
+                       {
+                               return _FailureCounter;
+                       }
+               }
+               
+               //indicate if the Compare method has been invoked AND containes compare objects message (ToString)
+               private bool _CompareInvoked;
+               internal bool CompareInvoked
+               {
+                       get
+                       {
+                               return _CompareInvoked;
+                       }
+                       set
+                       {
+                               _CompareInvoked = value;
+                       }
+               }
+
+
+               //reset the static counters when a new Test (not TestCase !!) begin
+               internal static void ResetCounters()
+               {
+                       _FailureCounter = 0;
+                       _caseNumber = 0;
+               }
+
+               //signal if a TestCase failed, if failed - increment the _FailureCounter
+               private bool _success;
+               internal bool Success
+               {
+                       get
+                       {
+                               return this._success;
+                       }
+                       set
+                       {
+                               this._success = value;
+
+                               if (value == false) 
+                               {
+                                       _FailureCounter++;
+                               }
+
+
+                       }
+               }
+
+
+               //Ctor, Recieve the name for the test case
+               //generate a unique number and apply it to the test case
+               internal UniqueId(string Name)
+               {
+                       this._caseName = Name;
+                       //this._caseNumber = ++UniqueId._counter;
+                       _caseNumber++;
+               }
+
+               internal int CaseNumber
+               {
+                       get
+                       {
+                               return _caseNumber;
+                       }
+               }
+
+               public override string ToString()
+               {
+                       return string.Format("\"{0}\" #{1}", this._caseName, _caseNumber);
+               }
+       }
+}
diff --git a/mcs/class/System.Data.OracleClient/Test/System.Data.OracleClient.jvm/OracleCommand/OracleCommand_CommandText.cs b/mcs/class/System.Data.OracleClient/Test/System.Data.OracleClient.jvm/OracleCommand/OracleCommand_CommandText.cs
new file mode 100755 (executable)
index 0000000..49ded7a
--- /dev/null
@@ -0,0 +1,368 @@
+// 
+// Copyright (c) 2006 Mainsoft Co.
+// 
+// Permission is hereby granted, free of charge, to any person obtaining
+// a copy of this software and associated documentation files (the
+// "Software"), to deal in the Software without restriction, including
+// without limitation the rights to use, copy, modify, merge, publish,
+// distribute, sublicense, and/or sell copies of the Software, and to
+// permit persons to whom the Software is furnished to do so, subject to
+// the following conditions:
+// 
+// The above copyright notice and this permission notice shall be
+// included in all copies or substantial portions of the Software.
+// 
+// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
+// EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
+// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
+// NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
+// LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
+// OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
+// WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
+//
+
+using System;
+using System.Data;
+using System.Data.OracleClient;
+
+using MonoTests.System.Data.Utils;
+
+using MonoTests.System.Data.Utils.Data;
+
+using NUnit.Framework;
+
+namespace MonoTests.System.Data.OracleClient
+{
+       [TestFixture]
+       public class OracleCommand_CommandText : GHTBase
+       {
+               private Exception exp = null;
+               private OracleCommand cmd;
+               const string TEST_CASE_ID = "48341_";
+               public static void Main()
+               {
+                       OracleCommand_CommandText tc = new OracleCommand_CommandText();
+                       Exception exp = null;
+                       try
+                       {
+                               tc.BeginTest("OleDBCommandText");
+                               tc.run();
+                       }
+                       catch(Exception ex){exp = ex;}
+                       finally {tc.EndTest(exp);}
+               }
+
+               public void run()
+               {
+                       SetInConstractor();
+                       SetByProperty();
+                       UseSemiColonAsValue();
+                       UseColonAsValue();
+                       UseQuestionMarkAsValue();
+                       UseExclamationMarkAsValue();
+                       UseApostropheAsValue();
+                       UseCommaAsValue();
+                       UseDotAsValue();
+                       UseAtAsValue();
+                       UseQuoteAsValue();
+                       UseDollarAsValue();
+                       UsePercentAsValue();
+                       UseHatAsValue();
+                       UseAmpersnadAsValue();
+                       UseStartAsValue();
+                       UseParentesesAsValue();
+                       UsePlusAsValue();
+                       UseMinusAsValue();
+                       UseUnderscoreAsValue();
+                       UseSpaceAsValue();
+                       UseEqualAsValue();
+                       UseSlashAsValue();
+                       UseBackSlashAsValue();
+                       UseTildeAsValue();
+                       UseNOTAsValue();
+                       UseORAsValue();
+                       UseANDAsValue();
+                       UseSELECTAsValue();
+                       UseFROMAsValue();
+                       UseWHEREAsValue();
+                       UseINSERTAsValue();
+                       UseINTOAsValue();
+                       UseVALUESAsValue();
+                       UseDELETEAsValue();
+                       UseUPDATEAsValue();
+                       UseEXECAsValue();
+                       UseQueryAsValue();
+               }
+               [Test] public void SetByProperty()
+               {
+                       exp = null;
+                       cmd = new OracleCommand();
+                       cmd.CommandText = "SELECT * FROM Employees";
+                       try
+                       {
+                               BeginCase("CommandText2");
+                               Compare(cmd.CommandText, "SELECT * FROM Employees");
+                       }
+                       catch(Exception ex)
+                       {
+                               exp = ex;
+                       }
+                       finally
+                       {
+                               EndCase(exp);
+                       }
+               }
+
+               [Test] public void SetInConstractor()
+               {
+                       exp = null;
+                       cmd = new OracleCommand("SELECT * FROM Employees");
+                       try
+                       {
+                               BeginCase("CommandText1");
+                               Compare(cmd.CommandText, "SELECT * FROM Employees");
+                       }
+                       catch(Exception ex)
+                       {
+                               exp = ex;
+                       }
+                       finally
+                       {
+                               EndCase(exp);
+                       }
+               }
+               [Test] public void UseSemiColonAsValue()
+               {
+                       RunValueInColumnTest("T_VARCHAR", ";");
+               }
+               [Test] public void UseColonAsValue()
+               {
+                       RunValueInColumnTest("T_VARCHAR", ":");
+               }
+               [Test] public void UseQuestionMarkAsValue()
+               {
+                       RunValueInColumnTest("T_VARCHAR", "?");
+               }
+               [Test] public void UseExclamationMarkAsValue()
+               {
+                       RunValueInColumnTest("T_VARCHAR", "?");
+               }
+               [Test] public void UseApostropheAsValue()
+               {
+                       RunValueInColumnTest("T_VARCHAR", "'");
+               }
+               [Test] public void UseCommaAsValue()
+               {
+                       RunValueInColumnTest("T_VARCHAR", ",");
+               }
+               [Test] public void UseDotAsValue()
+               {
+                       RunValueInColumnTest("T_VARCHAR", ".");
+               }
+               [Test] public void UseAtAsValue()
+               {
+                       RunValueInColumnTest("T_VARCHAR", "@");
+               }
+               [Test] public void UseQuoteAsValue()
+               {
+                       RunValueInColumnTest("T_VARCHAR", "\"");
+               }
+               [Test] public void UseDiezAsValue()
+               {
+                       RunValueInColumnTest("T_VARCHAR", "#");
+               }
+               [Test] public void UseDollarAsValue()
+               {
+                       RunValueInColumnTest("T_VARCHAR", "$");
+               }
+               [Test] public void UsePercentAsValue()
+               {
+                       RunValueInColumnTest("T_VARCHAR", "%");
+               }
+               [Test] public void UseHatAsValue()
+               {
+                       RunValueInColumnTest("T_VARCHAR", "^");
+               }
+               [Test] public void UseAmpersnadAsValue()
+               {
+                       RunValueInColumnTest("T_VARCHAR", "&");
+               }
+               [Test] public void UseStartAsValue()
+               {
+                       RunValueInColumnTest("T_VARCHAR", "*");
+               }
+               [Test] public void UseParentesesAsValue()
+               {
+                       RunValueInColumnTest("T_VARCHAR", "(");
+                       RunValueInColumnTest("T_VARCHAR", "()");
+                       RunValueInColumnTest("T_VARCHAR", ")");
+                       RunValueInColumnTest("T_VARCHAR", "{");
+                       RunValueInColumnTest("T_VARCHAR", "{}");
+                       RunValueInColumnTest("T_VARCHAR", "}");
+                       RunValueInColumnTest("T_VARCHAR", "[");
+                       RunValueInColumnTest("T_VARCHAR", "[]");
+                       RunValueInColumnTest("T_VARCHAR", "]");
+                       RunValueInColumnTest("T_VARCHAR", "<");
+                       RunValueInColumnTest("T_VARCHAR", "<>");
+                       RunValueInColumnTest("T_VARCHAR", ">");
+               }
+               [Test] public void UsePlusAsValue()
+               {
+                       RunValueInColumnTest("T_VARCHAR", "+");
+               }
+               [Test] public void UseMinusAsValue()
+               {
+                       RunValueInColumnTest("T_VARCHAR", "-");
+               }
+               [Test] public void UseUnderscoreAsValue()
+               {
+                       RunValueInColumnTest("T_VARCHAR", "_");
+               }
+               [Test] public void UseSpaceAsValue()
+               {
+                       RunValueInColumnTest("T_VARCHAR", " ");
+               }
+               [Test] public void UseEqualAsValue()
+               {
+                       RunValueInColumnTest("T_VARCHAR", "=");
+               }
+               [Test] public void UseSlashAsValue()
+               {
+                       RunValueInColumnTest("T_VARCHAR", "\\");
+               }
+               [Test] public void UseBackSlashAsValue()
+               {
+                       RunValueInColumnTest("T_VARCHAR", "/");
+               }
+               [Test] public void UseTildeAsValue()
+               {
+                       RunValueInColumnTest("T_VARCHAR", "~");
+               }
+               [Test] public void UseNOTAsValue()
+               {
+                       RunValueInColumnTest("T_VARCHAR", "NOT");
+               }
+               [Test] public void UseORAsValue()
+               {
+                       RunValueInColumnTest("T_VARCHAR", "OR");
+               }
+               [Test] public void UseANDAsValue()
+               {
+                       RunValueInColumnTest("T_VARCHAR", "AND");
+               }
+               [Test] public void UseSELECTAsValue()
+               {
+                       RunValueInColumnTest("T_VARCHAR", "SELECT");
+               }
+               [Test] public void UseFROMAsValue()
+               {
+                       RunValueInColumnTest("T_VARCHAR", "FROM");
+               }
+               [Test] public void UseWHEREAsValue()
+               {
+                       RunValueInColumnTest("T_VARCHAR", "WHERE");
+               }
+               [Test] public void UseINSERTAsValue()
+               {
+                       RunValueInColumnTest("T_VARCHAR", "INSERT");
+               }
+               [Test] public void UseINTOAsValue()
+               {
+                       RunValueInColumnTest("T_VARCHAR", "INTO");
+               }
+               [Test] public void UseVALUESAsValue()
+               {
+                       RunValueInColumnTest("T_VARCHAR", "VALUES");
+               }
+               [Test] public void UseDELETEAsValue()
+               {
+                       RunValueInColumnTest("T_VARCHAR", "DELETE");
+               }
+               [Test] public void UseUPDATEAsValue()
+               {
+                       RunValueInColumnTest("T_VARCHAR", "UPDATE");
+               }
+               [Test] public void UseEXECAsValue()
+               {
+                       RunValueInColumnTest("T_VARCHAR", "EXEC");
+               }
+
+               [Test] public void UseQueryAsValue()
+               {
+                       string columnName;
+                       switch (ConnectedDataProvider.GetDbType())
+                       {
+                               case DataBaseServer.SQLServer:
+                                       columnName = "T_VARCHAR";
+                                       break;
+                               case DataBaseServer.Oracle:
+                                       columnName = "T_LONG";
+                                       break;
+                               case DataBaseServer.DB2:
+                                       columnName = "T_LONGVARCHAR";
+                                       break;
+                               default:
+                                       columnName = "T_VARCHAR";
+                                       break;
+
+                       }
+                       RunValueInColumnTest(columnName, "SELECT * FROM TYPES_SIMPLE");
+               }
+
+               private void RunValueInColumnTest(string columnToTest, string valueToTest)
+               {
+                       UnQuotedValueInColumn(columnToTest, valueToTest);
+                       QuotedValueInColumn(columnToTest, valueToTest);
+               }
+               private void QuotedValueInColumn(string columnToTest, string valueToTest)
+               {
+                       ValueInColumn(columnToTest, string.Format("'{0}'", valueToTest));
+               }
+               private void UnQuotedValueInColumn(string columnToTest, string valueToTest)
+               {
+                       ValueInColumn(columnToTest, valueToTest);
+               }
+               private void ValueInColumn(string columnToTest, string valueToTest)
+               {
+                       exp = null;
+                       OracleDataReader rdr = null;
+                       OracleConnection con = null;
+                       DbTypeParametersCollection row = ConnectedDataProvider.GetSimpleDbTypesParameters();
+                       BeginCase(string.Format("Use {0} as value", valueToTest));
+                       string rowId = TEST_CASE_ID + TestCaseNumber.ToString();
+                       try
+                       {
+                               foreach(DbTypeParameter param in row)
+                               {
+                                       param.Value = DBNull.Value;
+                               }
+                               row[columnToTest].Value = valueToTest;
+                               Log("rowId:" + rowId + " columnToTest:" + columnToTest + " valueToTest:" + valueToTest);
+                               row.ExecuteInsert(rowId);
+                               row.ExecuteSelectReader(rowId, out rdr, out con);
+                               rdr.Read();
+                               int columnOrdinal = rdr.GetOrdinal(columnToTest);
+                               //this.Log(valueToTest);
+                               Compare(valueToTest, rdr.GetValue(columnOrdinal));
+                       }
+                       catch(Exception ex)
+                       {
+                               exp = ex;
+                       }
+                       finally
+                       {
+                               EndCase(exp);
+                               if (rdr != null && !rdr.IsClosed)
+                               {
+                                       rdr.Close();
+                               }
+                               row.ExecuteDelete(rowId);
+                               if (con != null && con.State != ConnectionState.Closed)
+                               {
+                                       con.Close();
+                               }
+                       }
+               }
+
+       }
+}
\ No newline at end of file
diff --git a/mcs/class/System.Data.OracleClient/Test/System.Data.OracleClient.jvm/OracleCommand/OracleCommand_CommandTimeout.cs b/mcs/class/System.Data.OracleClient/Test/System.Data.OracleClient.jvm/OracleCommand/OracleCommand_CommandTimeout.cs
new file mode 100755 (executable)
index 0000000..b18ab46
--- /dev/null
@@ -0,0 +1,76 @@
+// 
+// Copyright (c) 2006 Mainsoft Co.
+// 
+// Permission is hereby granted, free of charge, to any person obtaining
+// a copy of this software and associated documentation files (the
+// "Software"), to deal in the Software without restriction, including
+// without limitation the rights to use, copy, modify, merge, publish,
+// distribute, sublicense, and/or sell copies of the Software, and to
+// permit persons to whom the Software is furnished to do so, subject to
+// the following conditions:
+// 
+// The above copyright notice and this permission notice shall be
+// included in all copies or substantial portions of the Software.
+// 
+// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
+// EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
+// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
+// NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
+// LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
+// OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
+// WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
+//
+
+using System;
+using System.Data;
+using System.Data.OracleClient ;
+
+
+using MonoTests.System.Data.Utils;
+
+
+using NUnit.Framework;
+
+namespace MonoTests.System.Data.OracleClient
+{
+[TestFixture]
+public class OracleCommand_CommandTimeout : GHTBase
+{
+       public static void Main()
+       {
+               OracleCommand_CommandTimeout tc = new OracleCommand_CommandTimeout();
+               Exception exp = null;
+               try
+               {
+                       tc.BeginTest("OracleCommand_CommandTimeout");
+                       tc.run();
+               }
+               catch(Exception ex){exp = ex;}
+               finally {tc.EndTest(exp);}
+       }
+
+       [Test]
+#if !TARGET_JVM
+       [Category("NotWorking")]
+#endif
+       public void run()
+       {
+               OracleCommand cmd = new OracleCommand();
+               Assert.AreEqual( ((IDbCommand)cmd).CommandTimeout , 30);
+               ((IDbCommand)cmd).CommandTimeout = 12;
+               Assert.AreEqual(((IDbCommand)cmd).CommandTimeout , 12);
+       }
+
+
+       //public TestClass():base(true){}
+
+       //Activate this constructor to log Failures to a log file
+       //public TestClass(System.IO.TextWriter tw):base(tw, false){}
+
+       //Activate this constructor to log All to a log file
+       //public TestClass(System.IO.TextWriter tw):base(tw, true){}
+
+       //BY DEFAULT LOGGING IS DONE TO THE STANDARD OUTPUT ONLY FOR FAILURES
+
+}
+}
\ No newline at end of file
diff --git a/mcs/class/System.Data.OracleClient/Test/System.Data.OracleClient.jvm/OracleCommand/OracleCommand_CommandType.cs b/mcs/class/System.Data.OracleClient/Test/System.Data.OracleClient.jvm/OracleCommand/OracleCommand_CommandType.cs
new file mode 100755 (executable)
index 0000000..1814987
--- /dev/null
@@ -0,0 +1,319 @@
+// 
+// Copyright (c) 2006 Mainsoft Co.
+// 
+// Permission is hereby granted, free of charge, to any person obtaining
+// a copy of this software and associated documentation files (the
+// "Software"), to deal in the Software without restriction, including
+// without limitation the rights to use, copy, modify, merge, publish,
+// distribute, sublicense, and/or sell copies of the Software, and to
+// permit persons to whom the Software is furnished to do so, subject to
+// the following conditions:
+// 
+// The above copyright notice and this permission notice shall be
+// included in all copies or substantial portions of the Software.
+// 
+// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
+// EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
+// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
+// NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
+// LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
+// OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
+// WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
+//
+
+using System;
+using System.Data;
+using System.Data.OracleClient ;
+
+using MonoTests.System.Data.Utils;
+
+
+using NUnit.Framework;
+#if DAAB
+using Microsoft.ApplicationBlocks.Data;
+#endif
+
+namespace MonoTests.System.Data.OracleClient
+{
+       [TestFixture]
+       public class OracleCommand_CommandType : ADONetTesterClass
+       {
+               OracleConnection        con;
+               // transaction is must on PostgreSQL
+               OracleTransaction tr;
+               OracleCommand cmd;
+               OracleDataReader dr = null;
+               DataBaseServer dbServerType;
+
+               [SetUp]
+               public void SetUp()
+               {
+                       Exception exp = null;
+                       BeginCase("Setup");
+                       try
+                       {
+                               con = new OracleConnection(MonoTests.System.Data.Utils.ConnectedDataProvider.ConnectionString);
+                               con.Open();
+                               tr = con.BeginTransaction();
+                               cmd = new OracleCommand("", con, tr);
+                               dbServerType = ConnectedDataProvider.GetDbType(MonoTests.System.Data.Utils.ConnectedDataProvider.ConnectionString);
+                               Assert.AreEqual("Setup", "Setup");
+                       }
+                       catch(Exception ex)     {exp = ex;}
+                       finally {EndCase(exp); exp = null;}
+               }
+               [TearDown]
+               public void TearDown()
+               {
+                       if (con != null)
+                       {
+                               if (con.State == ConnectionState.Open) con.Close();
+                       }
+               }
+
+               public static void Main()
+               {
+                       OracleCommand_CommandType tc = new OracleCommand_CommandType();
+                       Exception exp = null;
+                       try
+                       {
+                               tc.BeginTest("OracleCommand_CommandType");
+                               tc.SetUp();
+                               tc.run();
+                               tc.TearDown();
+                       }
+                       catch(Exception ex){exp = ex;}
+                       finally {tc.EndTest(exp);}
+               }
+
+               [Test]
+               public void run()
+               {
+                       Exception exp = null;
+               
+                       OracleCommand cmd = new OracleCommand();
+                       try
+                       {
+                               BeginCase("CommandType - default");
+                               Assert.AreEqual(cmd.CommandType , CommandType.Text );
+                       } 
+                       catch(Exception ex){exp = ex;}
+                       finally{EndCase(exp); exp = null;}
+#if NotWorking
+                       try
+                       {
+                               BeginCase("CommandType - TableDirect");
+                               cmd.CommandType = CommandType.TableDirect; 
+                               Assert.AreEqual(cmd.CommandType , CommandType.TableDirect);
+                       } 
+                       catch(Exception ex){exp = ex;}
+                       finally{EndCase(exp); exp = null;}
+#endif
+
+                       try
+                       {
+                               BeginCase("CommandType - Text");
+                               cmd.CommandType = CommandType.Text  ; 
+                               Assert.AreEqual(cmd.CommandType , CommandType.Text);
+                       } 
+                       catch(Exception ex){exp = ex;}
+                       finally{EndCase(exp); exp = null;}
+
+
+#if TARGET_JVM
+                       #region         ---- CommandType.Text using Parameters.Add ---- 
+                       try
+                       {
+                               BeginCase("CommandType.Text using Parameters.Add");
+
+                               cmd = new OracleCommand();
+                               cmd.Connection = con;
+                               cmd.Transaction = tr;
+                               cmd.CommandType = CommandType.Text;
+                               switch (dbServerType)
+                               {
+                                       case DataBaseServer.PostgreSQL:
+                                               cmd.CommandText = "SELECT * FROM GH_REFCURSOR3(?)";
+                                               break;
+                                       default:
+                                               cmd.CommandText = "{call GH_REFCURSOR3(:IN_LASTNAME)}";
+                                               break;
+                               }
+
+                               OracleParameter param1 = cmd.Parameters.Add("IN_LASTNAME", OracleType.VarChar,20);
+                               param1.Direction = ParameterDirection.Input;
+                               param1.Value = "Yavine"; 
+#if DAAB
+#if !JAVA
+                               if ((dbServerType == DataBaseServer.PostgreSQL))
+                               {
+                                       dr = PostgresOracleHelper.OLEDB4ODBCExecuteReader(cmd,true);
+                               }
+                               else
+#endif
+#endif
+                               {
+                                       dr = cmd.ExecuteReader();
+                               }
+
+                               if (dr.HasRows)
+                               {
+                                       dr.Read();
+                                       Assert.AreEqual(dr.GetValue(0).ToString(),"1");
+                                       Assert.AreEqual(dr.GetString(1),"Yavine");
+                               }
+                               else
+                                       Assert.AreEqual("error","HasRows=0");
+
+                       } 
+                       catch(Exception ex)
+                       {
+                               exp = ex;
+                       }
+                       finally
+                       {
+                               if (dr != null)dr.Close();
+                               if (con != null)
+                               {if (con.State == ConnectionState.Open) con.Close();}
+
+                               EndCase(exp);
+                               exp = null;
+                       }
+                       #endregion
+#endif
+                       CommandTypeSP_Manual_InOutParameters();
+
+                       #region         ---- ORACLE CommandType.StoredProcedure using DeriveParameters ---- 
+                       if (ConnectedDataProvider.GetDbType(con) == MonoTests.System.Data.Utils.DataBaseServer.Oracle)
+                       {
+                               try
+                               {
+                                       BeginCase("ORACLE CommandType.StoredProcedure using DeriveParameters");
+
+                                       con.Open();
+                                       cmd = new OracleCommand();
+                                       cmd.Connection = con;
+                                       cmd.Transaction = tr;
+                                       cmd.CommandType = CommandType.StoredProcedure;
+                                       cmd.CommandText = "GH_REFCURSOR3";
+
+                                       OracleCommandBuilder.DeriveParameters(cmd);
+                                       cmd.Parameters[0].Value = "Yavine"; 
+                                       //cmd.Parameters.RemoveAt(1); // the ORACLE DAAB trick is to remove the out parameter
+
+                                       dr = cmd.ExecuteReader();
+                                       if (dr.HasRows)
+                                       {
+                                               dr.Read();
+                                               Assert.AreEqual(dr.GetValue(0).ToString(),"1");
+                                               Assert.AreEqual(dr.GetString(1),"Yavine");
+                                       }
+                                       else
+                                               Assert.AreEqual("error","HasRows=0");
+
+                               } 
+                               catch(Exception ex)
+                               {
+                                       exp = ex;
+                               }
+                               finally
+                               {
+                                       if (dr != null)dr.Close();
+                                       if (con != null)
+                                       {if (con.State == ConnectionState.Open) con.Close();}
+
+                                       EndCase(exp);
+                                       exp = null;
+                               }
+                       }               
+                       #endregion
+
+                       #region CommandType.StoredProcedure in order to repreduce bug 4003
+                       if (ConnectedDataProvider.GetDbType(con) == MonoTests.System.Data.Utils.DataBaseServer.SQLServer)
+                       {
+                               exp = null;
+                               try
+                               {
+                                       if (con.State == ConnectionState.Closed) con.Open();
+                                       BeginCase("Bug 4003");
+                                       OracleCommand cmd4003 = new OracleCommand("[mainsoft].[GH_DUMMY]",con);
+                                       cmd4003.CommandType = CommandType.StoredProcedure;
+                                       cmd4003.Parameters.Add("@EmployeeIDPrm","1");
+                                       cmd4003.ExecuteReader();
+                                       
+                               }
+                               catch (Exception ex)
+                               {
+                                       exp=ex;
+                               }
+                               finally
+                               {
+                                       if (con.State == ConnectionState.Open) con.Close();
+                                       EndCase(exp);
+                               }
+
+                       }
+
+                       #endregion
+               }
+
+               #region         ---- CommandType.StoredProcedure manual in out parameters ---- 
+               public void CommandTypeSP_Manual_InOutParameters()
+               {
+                       Exception exp = null;
+                       try
+                       {
+                               BeginCase("CommandType.StoredProcedure manual in out parameters");
+
+                               if (ConnectedDataProvider.GetDbType(con) == MonoTests.System.Data.Utils.DataBaseServer.PostgreSQL)
+                               {
+                                       this.Log("CommandType.StoredProcedure manual in out parameters is not tested in oracle.");
+                                       return;
+                               }
+
+                               if (con.State != ConnectionState.Open)
+                                       con.Open();
+                               cmd = new OracleCommand("", con, tr);
+                               cmd.Connection = con;
+
+                               cmd.CommandType = CommandType.StoredProcedure;
+                               cmd.CommandText = "GH_INOUT1";
+
+                               //RETURN_VALUE for SQLServer
+                               if (ConnectedDataProvider.GetDbType(con) == MonoTests.System.Data.Utils.DataBaseServer.SQLServer)
+                               {
+                                       OracleParameter param0 = cmd.Parameters.Add("@RETURN_VALUE", OracleType.Int32);
+                                       param0.Direction = ParameterDirection.ReturnValue;
+                               }
+
+                               OracleParameter param1 = cmd.Parameters.Add("INPARAM", OracleType.VarChar,20);
+                               param1.Direction = ParameterDirection.Input;
+                               param1.Value = Convert.ToString("dummy"); 
+       
+                               OracleParameter param2 = cmd.Parameters.Add("OUTPARAM", OracleType.Int32);//VarNumeric);
+                               param2.Direction = ParameterDirection.Output;
+
+                               int ret = cmd.ExecuteNonQuery();
+                               int intReturn;
+                               intReturn = Convert.ToInt32(cmd.Parameters["OUTPARAM"].Value);
+                               Assert.AreEqual(intReturn,100);
+
+                       } 
+                       catch(Exception ex)
+                       {
+                               exp = ex;
+                       }
+                       finally
+                       {
+                               if (dr != null)dr.Close();
+                               if (con != null)
+                               {if (con.State == ConnectionState.Open) con.Close();}
+
+                               EndCase(exp);
+                               exp = null;
+                       }
+               }
+               #endregion
+       }
+
+}
\ No newline at end of file
diff --git a/mcs/class/System.Data.OracleClient/Test/System.Data.OracleClient.jvm/OracleCommand/OracleCommand_Connection.cs b/mcs/class/System.Data.OracleClient/Test/System.Data.OracleClient.jvm/OracleCommand/OracleCommand_Connection.cs
new file mode 100755 (executable)
index 0000000..f34abe7
--- /dev/null
@@ -0,0 +1,95 @@
+// 
+// Copyright (c) 2006 Mainsoft Co.
+// 
+// Permission is hereby granted, free of charge, to any person obtaining
+// a copy of this software and associated documentation files (the
+// "Software"), to deal in the Software without restriction, including
+// without limitation the rights to use, copy, modify, merge, publish,
+// distribute, sublicense, and/or sell copies of the Software, and to
+// permit persons to whom the Software is furnished to do so, subject to
+// the following conditions:
+// 
+// The above copyright notice and this permission notice shall be
+// included in all copies or substantial portions of the Software.
+// 
+// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
+// EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
+// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
+// NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
+// LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
+// OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
+// WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
+//
+
+using System;
+using System.Data;
+using System.Data.OracleClient ;
+
+using MonoTests.System.Data.Utils;
+
+
+using NUnit.Framework;
+
+namespace MonoTests.System.Data.OracleClient
+{
+       [TestFixture]
+       public class OracleCommand_Connection : GHTBase
+       {
+               OracleCommand cmd;
+               OracleConnection con;
+
+               [SetUp]
+               public void SetUp()
+               {
+                       cmd = new OracleCommand("SELECT * FROM Employees");
+                       con = new OracleConnection();
+               }
+
+               [TearDown]
+               public void TearDown()
+               {
+                       if (con != null)
+                       {
+                               if (con.State == ConnectionState.Open) con.Close();
+                       }
+               }
+
+               public static void Main()
+               {
+                       OracleCommand_Connection tc = new OracleCommand_Connection();
+                       Exception exp = null;
+                       try
+                       {
+                               tc.BeginTest("OracleCommand_Connection");
+                               tc.SetUp();
+                               tc.run();
+                               tc.TearDown();
+                       }
+                       catch(Exception ex){exp = ex;}
+                       finally {tc.EndTest(exp);}
+               }
+
+               [Test]
+               public void run()
+               {
+                       Exception exp = null;
+                       try
+                       {
+                               BeginCase("Command Connection - set");
+                               cmd.Connection = con;   
+                               Compare(cmd.Connection ,con);
+                       } 
+                       catch(Exception ex){exp = ex;}
+                       finally{EndCase(exp); exp = null;}
+
+                       try
+                       {
+                               BeginCase("Command Connection - ctor");
+                               cmd = new OracleCommand("",con);
+                               Compare(cmd.Connection ,con);
+                       } 
+                       catch(Exception ex){exp = ex;}
+                       finally{EndCase(exp); exp = null;}
+               }
+       }
+}
\ No newline at end of file
diff --git a/mcs/class/System.Data.OracleClient/Test/System.Data.OracleClient.jvm/OracleCommand/OracleCommand_Dispose.cs b/mcs/class/System.Data.OracleClient/Test/System.Data.OracleClient.jvm/OracleCommand/OracleCommand_Dispose.cs
new file mode 100755 (executable)
index 0000000..7a2b295
--- /dev/null
@@ -0,0 +1,152 @@
+// 
+// Copyright (c) 2006 Mainsoft Co.
+// 
+// Permission is hereby granted, free of charge, to any person obtaining
+// a copy of this software and associated documentation files (the
+// "Software"), to deal in the Software without restriction, including
+// without limitation the rights to use, copy, modify, merge, publish,
+// distribute, sublicense, and/or sell copies of the Software, and to
+// permit persons to whom the Software is furnished to do so, subject to
+// the following conditions:
+// 
+// The above copyright notice and this permission notice shall be
+// included in all copies or substantial portions of the Software.
+// 
+// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
+// EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
+// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
+// NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
+// LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
+// OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
+// WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
+//
+
+
+using System;
+using System.Data;
+using System.Data.OracleClient;
+
+using MonoTests.System.Data.Utils;
+
+
+using NUnit.Framework;
+
+namespace MonoTests.System.Data.OracleClient
+{
+[TestFixture]
+public class OracleCommand_Dispose : GHTBase
+{
+       public static void Main()
+       {
+               OracleCommand_Dispose tc = new OracleCommand_Dispose();
+               Exception exp = null;
+               try
+               {
+                       tc.BeginTest("OracleCommand_Dispose");
+                       tc.run();
+               }
+               catch(Exception ex)
+               {
+                       exp = ex;
+               }
+               finally
+               {
+                       tc.EndTest(exp);
+               }
+       }
+
+       //problems from Synergy
+
+       //Ofer, 
+
+       //Take a look at #1. Test this to see if we have a problem in dispose. If we do, add a test for this to make sure we catch it in next rounds. 
+
+       //
+
+       //-----Original Message-----
+       //From: David Teplitchi [mailto:davidt@mainsoft.com] 
+       //Sent: Sunday, March 21, 2004 9:31 AM
+       //To: //Oved Yavine//
+       //Subject: 2 problems from Synergy
+
+
+       //Please check those 2 problems reported by Synergy and tell me what do you think.
+
+       //1) The following code works in dotnet but doesn//t work in j2ee.
+       //// Oracle Drivers
+       //OracleConnection Connect;
+       //OracleDataReader DbReader;
+       //OracleCommand DbCommand;
+       //IDataReader DR;
+       //string sSQL;
+       //int iField;
+       //bool bFound;
+       //try
+       //{
+       //Connect = new OracleConnection("Provider=\"MSDAORA.1\";User
+       //ID=COM;Password=SQL;Data Source=LLO1;HostName=WS10359;Port=1521");
+       //Connect.Open();
+       //sSQL = "SELECT * FROM PRODUCT WHERE PRO_SKU = //SKU_208//";
+       //DbCommand = new OracleCommand(sSQL, Connect);
+       //DbReader = DbCommand.ExecuteReader(CommandBehavior.SingleRow);
+       //DR = DbReader;
+       //DbCommand.Dispose(); // comment out
+       ////DbCommand = null;
+       //bFound = DbReader.HasRows;
+       //DR.Read();
+       //// Get Column Ordinal
+       //iField = DR.GetOrdinal("PRO_DESCRIPTION");
+
+       //string sDesc = DR.GetString(iField);
+       //}
+       //catch(Exception e)
+       //{
+       //this.WriteErrorLog(e.Message);
+       //}
+       //i have identified the problem as being "DbCommand.Dispose()". If you comment this line out or make it 
+       //"DbCommand = null", then its okay. So this instruction doesnt work the same in both in .net and j2ee.
+
+
+       [Test]
+       public void run()
+       {
+               Exception exp = null;
+
+               //OracleConnection  con = null;
+
+               //this test was added due to a request from Oved:
+               //this bug occur on all databases (SQL,Oracle,DB2)
+               OracleCommand DbCommand = null;
+               OracleConnection Connect = new OracleConnection(MonoTests.System.Data.Utils.ConnectedDataProvider.ConnectionString);
+               Connect.Open();
+               DbCommand = new OracleCommand("SELECT * FROM Customers", Connect);
+               OracleDataReader  DbReader  = DbCommand.ExecuteReader();
+
+               BeginCase("Check DataReader.IsClosed - before dispose");
+               try
+               {
+                       Compare(DbReader.IsClosed,false); //.Net=false, GH=false
+               }
+               catch (Exception ex){exp = ex;}
+               finally{EndCase(exp);exp = null;}
+
+
+               BeginCase("Check DataReader.IsClosed - after dispose");
+               try
+               {
+                       DbCommand.Dispose();
+                       Compare(DbReader.IsClosed,false); //.Net=false, GH=true
+               }
+               catch (Exception ex){exp = ex;}
+               finally{EndCase(exp);exp = null;}
+
+               if (Connect.State != ConnectionState.Closed)
+                       Connect.Close();
+
+
+       }
+}
+
+
+
+}
\ No newline at end of file
diff --git a/mcs/class/System.Data.OracleClient/Test/System.Data.OracleClient.jvm/OracleCommand/OracleCommand_ExecuteNonQuery.cs b/mcs/class/System.Data.OracleClient/Test/System.Data.OracleClient.jvm/OracleCommand/OracleCommand_ExecuteNonQuery.cs
new file mode 100755 (executable)
index 0000000..7c10691
--- /dev/null
@@ -0,0 +1,222 @@
+// 
+// Copyright (c) 2006 Mainsoft Co.
+// 
+// Permission is hereby granted, free of charge, to any person obtaining
+// a copy of this software and associated documentation files (the
+// "Software"), to deal in the Software without restriction, including
+// without limitation the rights to use, copy, modify, merge, publish,
+// distribute, sublicense, and/or sell copies of the Software, and to
+// permit persons to whom the Software is furnished to do so, subject to
+// the following conditions:
+// 
+// The above copyright notice and this permission notice shall be
+// included in all copies or substantial portions of the Software.
+// 
+// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
+// EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
+// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
+// NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
+// LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
+// OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
+// WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
+//
+
+using System;
+using System.Data;
+using System.Data.OracleClient ;
+
+using MonoTests.System.Data.Utils;
+
+
+using NUnit.Framework;
+
+namespace MonoTests.System.Data.OracleClient
+{
+       [TestFixture]
+       public class OracleCommand_ExecuteNonQuery : GHTBase
+       {
+               OracleConnection con;
+               OracleCommand cmd;
+
+               [SetUp]
+               public void SetUp()
+               {
+                       Exception exp = null;
+                       BeginCase("Setup");
+                       try
+                       {
+                               //prepare Data
+                               OracleCommand cmdPrepare = new OracleCommand("", new OracleConnection(MonoTests.System.Data.Utils.ConnectedDataProvider.ConnectionString));
+                               cmdPrepare.Connection.Open();
+                               cmdPrepare.CommandText = "DELETE FROM Employees WHERE EmployeeID = 99999";
+                               cmdPrepare.ExecuteScalar();
+                               cmdPrepare.Connection.Close();
+                               cmdPrepare.Dispose();
+
+                               con = new OracleConnection(MonoTests.System.Data.Utils.ConnectedDataProvider.ConnectionString);
+                               cmd = new OracleCommand("", con);
+                               con.Open();
+                       }
+                       catch(Exception ex){exp = ex;}
+                       finally{EndCase(exp); exp = null;}
+               }
+
+               [TearDown]
+               public void TearDown()
+               {
+                       if (con != null)
+                       {
+                               if (con.State == ConnectionState.Open) con.Close();
+                       }
+               }
+
+               public static void Main()
+               {
+                       OracleCommand_ExecuteNonQuery tc = new OracleCommand_ExecuteNonQuery();
+                       Exception exp = null;
+                       try
+                       {
+                               tc.BeginTest("OracleCommand_ExecuteNonQuery");
+                               tc.SetUp();
+                               tc.run();
+                               tc.TearDown();
+                       }
+                       catch(Exception ex){exp = ex;}
+                       finally {tc.EndTest(exp);}
+               }
+
+               [Test]
+               public void run()
+               {
+                       Exception exp = null;
+       
+                       int intRecordsAffected = 0;
+
+                       try
+                       {
+                               BeginCase("Execute Insert");
+                               cmd.CommandText = "INSERT INTO Employees (EmployeeID,FirstName, LastName) VALUES (99999,'OferXYZ', 'Testing')";
+                               intRecordsAffected = cmd.ExecuteNonQuery();
+                               Compare(intRecordsAffected, 1);
+                       } 
+                       catch(Exception ex){exp = ex;}
+                       finally{EndCase(exp); exp = null;}
+
+                       try
+                       {
+                               BeginCase("Check insert operation");
+                               cmd.CommandText = "SELECT FirstName FROM Employees WHERE (EmployeeID = 99999)";
+                               string  strFirstName = cmd.ExecuteScalar().ToString();
+                               Compare(strFirstName, "OferXYZ");
+                       } 
+                       catch(Exception ex){exp = ex;}
+                       finally{EndCase(exp); exp = null;}
+
+                       try
+                       {
+                               BeginCase("Execute Select");
+                               cmd.CommandText = "SELECT EmployeeID FROM Employees WHERE (EmployeeID = 99999)";
+                               intRecordsAffected = cmd.ExecuteNonQuery();
+                               
+                               switch (ConnectedDataProvider.GetDbType())
+                               {
+                                       case DataBaseServer.PostgreSQL:
+                                               // postgres odbc returns 1
+#if !JAVA
+                                               {
+                                                       Compare(intRecordsAffected, 1);
+                                               }
+#else
+                                               {
+                                                       Compare(intRecordsAffected, -1);
+                                               }
+#endif
+                                               break;
+                                       default:
+                                               Compare(intRecordsAffected, -1);
+                                               break;
+                               }
+                       } 
+                       catch(Exception ex){exp = ex;}
+                       finally{EndCase(exp); exp = null;}
+
+                       try
+                       {
+                               BeginCase("Execute UPDATE");
+                               cmd.CommandText = "UPDATE Employees SET FirstName = 'OferABC', LastName = 'TestXYZ' WHERE (EmployeeID = 99999)";
+                               intRecordsAffected = cmd.ExecuteNonQuery();
+                               Compare(intRecordsAffected, 1);
+                       } 
+                       catch(Exception ex){exp = ex;}
+                       finally{EndCase(exp); exp = null;}
+
+
+                       try
+                       {
+                               BeginCase("Check Update operation");
+                               cmd.CommandText = "SELECT FirstName FROM Employees WHERE (EmployeeID = 99999)";
+                               string  strFirstName = cmd.ExecuteScalar().ToString();
+                               Compare(strFirstName, "OferABC");
+                       } 
+                       catch(Exception ex){exp = ex;}
+                       finally{EndCase(exp); exp = null;}
+
+                       try
+                       {
+                               BeginCase("Execute UPDATE");
+                               cmd.CommandText = "DELETE FROM Employees WHERE (EmployeeID = 99999)";
+                               intRecordsAffected = cmd.ExecuteNonQuery();
+                               Compare(intRecordsAffected, 1);
+                       } 
+                       catch(Exception ex){exp = ex;}
+                       finally{EndCase(exp); exp = null;}
+
+                       try
+                       {
+                               BeginCase("Check Delete operation");
+                               cmd.CommandText = "SELECT FirstName FROM Employees WHERE (EmployeeID = 99999)";
+                               object obj = cmd.ExecuteScalar();
+                               Compare(obj==null, true);
+                       } 
+                       catch(Exception ex){exp = ex;}
+                       finally{EndCase(exp); exp = null;}
+
+                       try
+                       {
+                               BeginCase("Check OracleException - update with bad value");
+                               cmd.CommandText = "UPDATE Employees SET BirthDate = 'bad value' WHERE (EmployeeID = 1)";
+                               try
+                               {
+                                       cmd.ExecuteNonQuery(); 
+                               }
+                               catch (OracleException ex)
+                               {
+                                       exp = ex;
+                               }
+                               Compare(exp.GetType().FullName, typeof(OracleException).FullName);
+                               exp=null;
+                       } 
+                       catch(Exception ex){exp = ex;}
+                       finally{EndCase(exp); exp = null;}
+
+                       try
+                       {
+                               BeginCase("Check OracleException - missing EmployeeID");
+                               cmd.CommandText = "INSERT INTO Employees (FirstName, BirthDate) VALUES ('Dado', 'Ben David')";
+                               try
+                               {
+                                       cmd.ExecuteNonQuery(); 
+                               }
+                               catch (OracleException ex)
+                               {
+                                       exp = ex;
+                               }
+                               Compare(exp.GetType().FullName, typeof(OracleException).FullName);
+                               exp=null;
+                       } 
+                       catch(Exception ex){exp = ex;}
+                       finally{EndCase(exp); exp = null;}
+
+               }
+       }
+}
\ No newline at end of file
diff --git a/mcs/class/System.Data.OracleClient/Test/System.Data.OracleClient.jvm/OracleCommand/OracleCommand_ExecuteReader.cs b/mcs/class/System.Data.OracleClient/Test/System.Data.OracleClient.jvm/OracleCommand/OracleCommand_ExecuteReader.cs
new file mode 100755 (executable)
index 0000000..74b7ab7
--- /dev/null
@@ -0,0 +1,423 @@
+// 
+// Copyright (c) 2006 Mainsoft Co.
+// 
+// Permission is hereby granted, free of charge, to any person obtaining
+// a copy of this software and associated documentation files (the
+// "Software"), to deal in the Software without restriction, including
+// without limitation the rights to use, copy, modify, merge, publish,
+// distribute, sublicense, and/or sell copies of the Software, and to
+// permit persons to whom the Software is furnished to do so, subject to
+// the following conditions:
+// 
+// The above copyright notice and this permission notice shall be
+// included in all copies or substantial portions of the Software.
+// 
+// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
+// EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
+// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
+// NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
+// LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
+// OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
+// WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
+//
+
+using System;
+using System.Text;
+using System.Data;
+using System.Data.OracleClient ;
+
+using MonoTests.System.Data.Utils;
+
+
+using NUnit.Framework;
+#if DAAB
+using Microsoft.ApplicationBlocks;
+#endif
+
+namespace MonoTests.System.Data.OracleClient
+{
+       [TestFixture]
+       public class OracleCommand_ExecuteReader : ADONetTesterClass
+       {
+               OracleConnection        con;
+               OracleCommand cmd;
+               
+               [SetUp]
+               public void SetUp()
+               {
+                       Exception exp = null;
+                       BeginCase("Setup");
+                       try
+                       {
+                               con = new OracleConnection(MonoTests.System.Data.Utils.ConnectedDataProvider.ConnectionString);
+                               cmd = new OracleCommand("", con);
+                               con.Open();
+                               this.Pass("Setup.");
+                       }
+                       catch(Exception ex)     {exp = ex;}
+                       finally {EndCase(exp); exp = null;}
+               }
+
+               [TearDown]
+               public void TearDown()
+               {
+                       if (con != null)
+                       {
+                               if (con.State == ConnectionState.Open) con.Close();
+                       }
+               }
+
+               public static void Main()
+               {
+                       OracleCommand_ExecuteReader tc = new OracleCommand_ExecuteReader();
+                       Exception exp = null;
+                       try
+                       {
+                               tc.BeginTest("OracleCommand_ExecuteReader");
+                               tc.SetUp();
+                               tc.run();
+                               tc.TearDown();
+                       }
+                       catch(Exception ex){exp = ex;}
+                       finally {tc.EndTest(exp);}
+               }
+
+               [Test]
+               public void run()
+               {
+                       Exception exp = null;
+                       bool RecordsExists = false;
+                       OracleDataReader rdr =null;
+
+//                     testBug3965();
+//                     TestMultipleResultsets();
+//                     TestCompoundVariable();
+
+                       cmd.CommandText = "Select FirstName,City From Employees";
+                       if (con.State != ConnectionState.Open)
+                       {
+                               con.Open();
+                       }
+
+                       try
+                       {
+                               BeginCase("check reader is null");
+                               rdr = cmd.ExecuteReader();
+                               Compare(rdr==null, false);
+                       } 
+                       catch(Exception ex){exp = ex;}
+                       finally
+                       {
+                               if (rdr != null) rdr.Close();
+                               EndCase(exp);
+                               exp = null;
+                       }
+
+                       try
+                       {
+                               BeginCase("check reader.read");
+                               rdr = cmd.ExecuteReader();
+                               RecordsExists = rdr.Read();
+                               Compare(RecordsExists ,true);
+                       } 
+                       catch(Exception ex){exp = ex;}
+                       finally
+                       {
+                               if (rdr != null) rdr.Close();
+                               EndCase(exp); 
+                               exp = null;
+                       }
+
+                       try
+                       {
+                               BeginCase("execute reader again ");
+                               rdr = cmd.ExecuteReader();
+                               Compare(rdr==null, false);
+                       } 
+                       catch(Exception ex){exp = ex;}
+                       finally
+                       {
+                               if (rdr != null) rdr.Close();
+                               EndCase(exp); 
+                               exp = null;
+                       }
+
+                       try
+                       {
+                               BeginCase("Test compound SQL statement");
+                               //Build a compund SQL command.
+                               string[] sqlStatements = new string[] {
+                                                                                                                 "INSERT INTO Categories (CategoryName, Description) VALUES('__TEST_RECORD__', 'Inserted')",
+                                                                                                                 "UPDATE Categories  SET Description='Updated' WHERE CategoryName='__TEST_RECORD__'",
+                                                                                                                 "DELETE FROM Categories WHERE CategoryName='__TEST_RECORD__'" ,
+                               };
+                               cmd.CommandText = CreateCompundSqlStatement(sqlStatements, ConnectedDataProvider.GetDbType());
+                               rdr = cmd.ExecuteReader();
+                               Compare(rdr.Read(), false);
+                       } 
+                       catch(Exception ex){exp = ex;}
+                       finally
+                       {
+                               if (rdr != null) rdr.Close();
+                               EndCase(exp); 
+                               exp = null;
+                       }
+
+
+                       if (ConnectedDataProvider.GetDbType() != DataBaseServer.Oracle)
+                       {
+                               try
+                               {
+                                       BeginCase("Check that in a compound SQL statement, resultsets are returned only for SELECT statements. (bug #3358)");
+                                       //prepare db:
+                                       OracleCommand prepare = new OracleCommand("DELETE FROM Categories WHERE CategoryName='__TEST_RECORD__'", con);
+                                       prepare.ExecuteNonQuery();
+
+
+                                       //Test body
+                                       int resultSetCount ;
+
+                                       //Build a compund SQL command that contains only one select statement.
+                                       string[] sqlStatements = new string[] {
+                                                                                                                         "INSERT INTO Categories (CategoryName, Description) VALUES('__TEST_RECORD__', 'Inserted')",
+                                                                                                                         "UPDATE Categories  SET Description='Updated' WHERE CategoryName='__TEST_RECORD__'",
+                                                                                                                         "DELETE FROM Categories WHERE CategoryName='__TEST_RECORD__'" ,
+                                                                                                                         "SELECT * FROM Categories "
+                                                                                                                 };
+                                       string insertCmdTxt = CreateCompundSqlStatement(sqlStatements, ConnectedDataProvider.GetDbType());
+                                       //this.Log(insertCmdTxt);
+                                       OracleCommand InsertCmd = new OracleCommand(insertCmdTxt, con);
+                                       rdr = InsertCmd.ExecuteReader();
+
+                                       //Count the number of result sets.
+                                       resultSetCount = 0;
+                                       do
+                                       {
+                                               resultSetCount++;
+                                       }while (rdr.NextResult());
+
+                                       //Test that there is only one result set.
+                                       Compare(resultSetCount, 1);
+                               } 
+                               catch(Exception ex){exp = ex;}
+                               finally
+                               {
+                                       if (rdr != null) rdr.Close();
+                                       EndCase(exp); 
+                                       exp = null;
+                                       //cleanup db:
+                                       OracleCommand cleanup = new OracleCommand("DELETE FROM Categories WHERE CategoryName='__TEST_RECORD__'", con);
+                                       cleanup.ExecuteNonQuery();
+                               }
+                       }
+               }
+
+
+               //Create the compund sql statement according to the dbserver.
+               private string CreateCompundSqlStatement(string[] sqlStatements, DataBaseServer dbServer)
+               {
+                       string beginStatement;
+                       string endStatement;
+                       string commandDelimiter;
+
+                       GetDBSpecificSyntax(dbServer, out beginStatement, out endStatement, out commandDelimiter);
+
+                       StringBuilder cmdBuilder = new StringBuilder();
+                       cmdBuilder.Append(beginStatement);
+                       cmdBuilder.Append(" ");
+                       foreach (string statement in sqlStatements)
+                       {
+                               cmdBuilder.Append(statement);
+                               cmdBuilder.Append(commandDelimiter);
+                               cmdBuilder.Append(" ");
+                       }
+                       cmdBuilder.Append(endStatement);
+
+                       return cmdBuilder.ToString();
+               }
+
+               private void GetDBSpecificSyntax(DataBaseServer dbServer, out string beginStatement, out string endStatement, out string commandDelimiter)
+               {
+                       switch (dbServer)
+                       {
+                               case DataBaseServer.SQLServer:
+                               case DataBaseServer.PostgreSQL:
+                                       beginStatement = "";
+                                       endStatement = "";
+                                       commandDelimiter = ";";
+                                       break;
+
+                               case DataBaseServer.Sybase:
+                                       beginStatement = "BEGIN";
+                                       endStatement = "END";
+                                       commandDelimiter = "";
+                                       break;
+                               case DataBaseServer.Oracle:
+                                       beginStatement = "BEGIN";
+                                       endStatement = "END;";
+                                       commandDelimiter = ";";
+                                       break;
+
+                               case DataBaseServer.DB2:
+                                       beginStatement = "BEGIN ATOMIC";
+                                       endStatement = "END";
+                                       commandDelimiter = ";";
+                                       break;
+
+                               default:
+                                       this.Fail("Unknown DataBaseServer type");
+                                       throw new ApplicationException("Unknown DataBaseServer type");
+                       }
+               }
+
+
+               [Test]
+               public void TestMultipleResultsets()
+               {
+#if !JAVA
+                       if (ConnectedDataProvider.GetDbType(con) == DataBaseServer.Oracle)
+                       {
+                               //In .NET there is a bug when calling a SP with multiple REFCURSORS, the workaround is to use OracleClient and not Oracle.
+                               //In GH we are not bug complient in this issue, because there is no workaround (We do not support the OracleClient namespace.
+                           this.Log("Not testing multi result set Oracle on .NET");
+                               return;
+                       }
+
+                       if (ConnectedDataProvider.GetDbType(con) == DataBaseServer.PostgreSQL)
+                       {
+                               // fail to work on .NET OLEDB
+                               //reader = Microsoft.ApplicationBlocks.Data.PostgresOracleHelper.ADOExecuteReader(cmd1);
+                               this.Log("Not testing PostgreSQL CommandType.StoredProcedure which return SETOF");
+                               return;
+                       }
+#endif
+
+                       Exception exp = null;
+                       BeginCase("Test multi result set from stored procedure");
+
+                               
+                       OracleDataReader reader = null;
+                       OracleTransaction tr = null;
+
+                       try
+                       {
+                               //Check SP with the structre : insert Select + update Select + delete Select
+                               if (con.State != ConnectionState.Open)
+                               {
+                                       con.Open();
+                               }
+                                       
+                               // transaction use was add for PostgreSQL
+                               tr = con.BeginTransaction();
+                               OracleCommand cmd1 = new OracleCommand("GHSP_TYPES_SIMPLE_4", con, tr);
+                               cmd1.CommandType = CommandType.StoredProcedure;
+
+                               OracleParameter param = new OracleParameter();
+                               param.ParameterName = "ID1";
+                               param.Value = string.Format("13268_{0}", this.TestCaseNumber);
+                               param.OracleType = OracleType.VarChar;
+                               cmd1.Parameters.Add(param);
+                               cmd1.Parameters.Add(new OracleParameter("RESULT", OracleType.Cursor)).Direction = ParameterDirection.Output;
+                               cmd1.Parameters.Add(new OracleParameter("RESULT1", OracleType.Cursor)).Direction = ParameterDirection.Output;
+                               cmd1.Parameters.Add(new OracleParameter("RESULT2", OracleType.Cursor)).Direction = ParameterDirection.Output;
+
+
+                               reader = cmd1.ExecuteReader();
+                               
+                               //Count the number of result sets.
+                               int resultSetCount = 0;
+                               //Count the number of the records
+                               int recordCounter=0;
+
+                               do
+                               {
+                                       //this.Log(string.Format("resultSetCount:{0}",resultSetCount));
+                               while (reader.Read())
+                               {
+                                       recordCounter++;
+                               }
+                                       //this.Log(string.Format("recordCounter:{0}",recordCounter));
+                                       if (resultSetCount != 2)
+                                       {
+                                               Compare(recordCounter,1); //Insert + update 
+                                       }
+                                       else
+                                       {
+                                               Compare(recordCounter,0); //Delete 
+                                       }
+
+                                       recordCounter=0;
+                                       resultSetCount++;
+                               }while (reader.NextResult());
+
+                               Compare(resultSetCount,3);
+                       }
+                       catch (Exception ex)
+                       {
+                               exp=ex;
+                       }
+                       finally
+                       {
+                               EndCase(exp);
+                               if (reader != null) reader.Close();
+                               tr.Commit();
+                               con.Close();
+                       }
+               }
+               [Test]
+               public void TestCompoundVariable()
+               {
+                       OracleDataReader rdr = null;
+                       if (ConnectedDataProvider.GetDbType(con) == DataBaseServer.PostgreSQL)
+                       {
+                               this.Log("not testing PostgreSQL");
+                               return;
+                       }
+
+                       Exception exp = null;
+                       try
+                       {
+                               BeginCase("Check sql statement that declares a local variable and uses it.");
+
+                               if (con.State != ConnectionState.Open)
+                               {
+                                       con.Open();
+                               }
+
+                               string sqlTxt = "";
+                               switch (ConnectedDataProvider.GetDbType(cmd.Connection))
+                               {
+                                       case DataBaseServer.SQLServer:
+                                               sqlTxt = "declare @var int; select @var=1;";
+                                               break;
+                                       case DataBaseServer.Sybase:
+                                               sqlTxt = "declare @var int select @var=1";
+                                               break;
+                                       case DataBaseServer.Oracle:
+                                               sqlTxt = "declare var int;begin var:=1;end;";
+                                               break;
+                                       case DataBaseServer.DB2:
+                                               sqlTxt = "begin atomic declare var integer; set var = 1; end";
+                                               break;
+                                       case DataBaseServer.PostgreSQL:
+                                               // we don't know how the heck to do this in PostgreSQL
+                                               sqlTxt = "";
+                                               break;
+                                       default:
+                                               throw new ApplicationException(string.Format("GHT: Unknown DataBaseServer '{0}'", ConnectedDataProvider.GetDbType(cmd.Connection)));
+                               }
+                               cmd.CommandText = sqlTxt;
+                               rdr = cmd.ExecuteReader();
+                               Compare(rdr.Read(), false);
+                       } 
+                       catch(Exception ex){exp = ex;}
+                       finally
+                       {
+                               if (rdr != null) rdr.Close();
+                               EndCase(exp); 
+                               exp = null;
+                       }
+               }
+       }
+
+}
\ No newline at end of file
diff --git a/mcs/class/System.Data.OracleClient/Test/System.Data.OracleClient.jvm/OracleCommand/OracleCommand_ExecuteScalar.cs b/mcs/class/System.Data.OracleClient/Test/System.Data.OracleClient.jvm/OracleCommand/OracleCommand_ExecuteScalar.cs
new file mode 100755 (executable)
index 0000000..1c2acef
--- /dev/null
@@ -0,0 +1,129 @@
+// 
+// Copyright (c) 2006 Mainsoft Co.
+// 
+// Permission is hereby granted, free of charge, to any person obtaining
+// a copy of this software and associated documentation files (the
+// "Software"), to deal in the Software without restriction, including
+// without limitation the rights to use, copy, modify, merge, publish,
+// distribute, sublicense, and/or sell copies of the Software, and to
+// permit persons to whom the Software is furnished to do so, subject to
+// the following conditions:
+// 
+// The above copyright notice and this permission notice shall be
+// included in all copies or substantial portions of the Software.
+// 
+// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
+// EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
+// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
+// NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
+// LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
+// OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
+// WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
+//
+
+using System;
+using System.Data;
+using System.Data.OracleClient ;
+
+using MonoTests.System.Data.Utils;
+
+
+using NUnit.Framework;
+
+namespace MonoTests.System.Data.OracleClient
+{
+       [TestFixture]
+       public class OracleCommand_ExecuteScalar : GHTBase
+       {
+               OracleConnection        con;
+               OracleCommand cmd;
+
+               [SetUp]
+               public void SetUp()
+               {
+                       Exception exp = null;
+                       BeginCase("Setup");
+                       try
+                       {
+                               con = new OracleConnection(MonoTests.System.Data.Utils.ConnectedDataProvider.ConnectionString);
+                               con.Open();
+
+                               //prepare Data
+                               OracleCommand cmdPrepare = new OracleCommand("", con);
+                               cmdPrepare.CommandText = "DELETE FROM Employees WHERE EmployeeID = 99999";
+                               cmdPrepare.ExecuteNonQuery();
+                               cmdPrepare.CommandText = "INSERT INTO Employees (EmployeeID, FirstName, LastName) VALUES (99999,'OferXYZ', 'Testing')";
+                               cmdPrepare.ExecuteNonQuery();
+                               cmdPrepare.Dispose();
+
+                               cmd = new OracleCommand("", con);
+                       }
+                       catch(Exception ex)     {exp = ex;}
+                       finally {EndCase(exp); exp = null;}
+               }
+
+               [TearDown]
+               public void TearDown()
+               {
+                       if (con != null)
+                       {
+                               if (con.State == ConnectionState.Open) con.Close();
+                       }
+               }
+
+               public static void Main()
+               {
+                       OracleCommand_ExecuteScalar tc = new OracleCommand_ExecuteScalar();
+                       Exception exp = null;
+                       try
+                       {
+                               tc.BeginTest("OracleCommand_ExecuteScalar");
+                               tc.SetUp();
+                               tc.run();
+                               tc.TearDown();
+                       }
+                       catch(Exception ex){exp = ex;}
+                       finally {tc.EndTest(exp);}
+               }
+
+               [Test]
+               public void run()
+               {
+                       Exception exp = null;
+                       object objResult = null;
+
+                       cmd.CommandText="Select FirstName,City From Employees Where EmployeeID=-1";
+
+                       try
+                       {
+                               BeginCase("Execute Scalar");
+                               objResult = cmd.ExecuteScalar();
+                               Compare(objResult==null,true);
+                       } 
+                       catch(Exception ex){exp = ex;}
+                       finally{EndCase(exp); exp = null;}
+
+                       cmd.CommandText="Select FirstName,City From Employees Where EmployeeID=99999 ";
+               
+                       try
+                       {
+                               BeginCase("Execute Scalar");
+                               objResult = cmd.ExecuteScalar();
+                               Compare(objResult.ToString(), "OferXYZ");
+                       } 
+                       catch(Exception ex){exp = ex;}
+                       finally{EndCase(exp); exp = null;}
+
+
+                       try
+                       {
+                               BeginCase("Execute Scalar again");
+                               objResult = cmd.ExecuteScalar();
+                               Compare(objResult.ToString(), "OferXYZ");
+                       } 
+                       catch(Exception ex){exp = ex;}
+                       finally{EndCase(exp); exp = null;}
+
+               }
+       }
+}
\ No newline at end of file
diff --git a/mcs/class/System.Data.OracleClient/Test/System.Data.OracleClient.jvm/OracleCommand/OracleCommand_New.cs b/mcs/class/System.Data.OracleClient/Test/System.Data.OracleClient.jvm/OracleCommand/OracleCommand_New.cs
new file mode 100755 (executable)
index 0000000..a5fc0a8
--- /dev/null
@@ -0,0 +1,113 @@
+// 
+// Copyright (c) 2006 Mainsoft Co.
+// 
+// Permission is hereby granted, free of charge, to any person obtaining
+// a copy of this software and associated documentation files (the
+// "Software"), to deal in the Software without restriction, including
+// without limitation the rights to use, copy, modify, merge, publish,
+// distribute, sublicense, and/or sell copies of the Software, and to
+// permit persons to whom the Software is furnished to do so, subject to
+// the following conditions:
+// 
+// The above copyright notice and this permission notice shall be
+// included in all copies or substantial portions of the Software.
+// 
+// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
+// EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
+// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
+// NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
+// LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
+// OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
+// WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
+//
+
+using System;
+using System.Data;
+using System.Data.OracleClient ;
+
+using MonoTests.System.Data.Utils;
+
+
+using NUnit.Framework;
+
+namespace MonoTests.System.Data.OracleClient
+{
+[TestFixture]
+public class OracleCommand_New : GHTBase
+{
+       public static void Main()
+       {
+               OracleCommand_New tc = new OracleCommand_New();
+               Exception exp = null;
+               try
+               {
+                       tc.BeginTest("OracleCommand_New");
+                       tc.run();
+               }
+               catch(Exception ex){exp = ex;}
+               finally {tc.EndTest(exp);}
+       }
+
+       [Test]
+       public void run()
+       {
+               Exception exp = null;
+
+               OracleCommand cmd = null;
+               OracleConnection con = new OracleConnection(MonoTests.System.Data.Utils.ConnectedDataProvider.ConnectionString );
+               OracleTransaction tran;
+
+
+               try
+               {
+                       BeginCase("OracleCommand New");
+                       cmd = new OracleCommand();
+                       Compare(cmd==null, false);
+               } 
+               catch(Exception ex){exp = ex;}
+               finally{EndCase(exp); exp = null;}
+
+               try
+               {
+                       BeginCase("OracleCommand - new CommandText");
+                       cmd = new OracleCommand("Select * from Table");
+                       Compare(cmd==null, false);
+               } 
+               catch(Exception ex){exp = ex;}
+               finally{EndCase(exp); exp = null;}
+
+               try
+               {
+                       BeginCase("OracleCommand CommandText");
+                       Compare(cmd.CommandText , "Select * from Table");
+               } 
+               catch(Exception ex){exp = ex;}
+               finally{EndCase(exp); exp = null;}
+
+               try
+               {
+                       BeginCase("OracleCommand - Connection");
+                       cmd = new OracleCommand("Select * from Table",con);
+                       Compare(cmd.Connection ,con);
+               } 
+               catch(Exception ex){exp = ex;}
+               finally{EndCase(exp); exp = null;}
+
+               con.Open();
+               tran = con.BeginTransaction();
+
+               try
+               {
+                       BeginCase("OracleCommand - Transaction");
+                       cmd = new OracleCommand("Select * from Table",con,tran);
+                       Compare(cmd.Transaction ,tran);
+               } 
+               catch(Exception ex){exp = ex;}
+               finally{EndCase(exp); exp = null;}
+               
+               if (con.State == ConnectionState.Open) con.Close();
+
+       }
+}
+
+}
\ No newline at end of file
diff --git a/mcs/class/System.Data.OracleClient/Test/System.Data.OracleClient.jvm/OracleCommand/OracleCommand_Parameters.cs b/mcs/class/System.Data.OracleClient/Test/System.Data.OracleClient.jvm/OracleCommand/OracleCommand_Parameters.cs
new file mode 100755 (executable)
index 0000000..17b9ba3
--- /dev/null
@@ -0,0 +1,224 @@
+// 
+// Copyright (c) 2006 Mainsoft Co.
+// 
+// Permission is hereby granted, free of charge, to any person obtaining
+// a copy of this software and associated documentation files (the
+// "Software"), to deal in the Software without restriction, including
+// without limitation the rights to use, copy, modify, merge, publish,
+// distribute, sublicense, and/or sell copies of the Software, and to
+// permit persons to whom the Software is furnished to do so, subject to
+// the following conditions:
+// 
+// The above copyright notice and this permission notice shall be
+// included in all copies or substantial portions of the Software.
+// 
+// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
+// EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
+// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
+// NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
+// LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
+// OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
+// WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
+//
+
+using System;
+using System.Data;
+using System.Data.OracleClient ;
+
+using MonoTests.System.Data.Utils;
+
+using MonoTests.System.Data.Utils.Data;
+
+using NUnit.Framework;
+
+namespace MonoTests.System.Data.OracleClient
+{
+       [TestFixture]
+       public class OracleCommand_Parameters : ADONetTesterClass 
+       {
+               //Used to test GUID.
+               private const string TEST_GUID_STRING = "239A3C5E-8D41-11D1-B675-00C04FA3C554";
+
+               private Exception exp;
+               public static void Main()
+               {
+                       OracleCommand_Parameters tc = new OracleCommand_Parameters();
+                       Exception exp = null;
+                       try
+                       {
+                               tc.BeginTest("OracleCommand_Parameters");
+                               tc.run();
+                       }
+                       catch(Exception ex)
+                       {
+                               exp = ex;
+                       }
+                       finally 
+                       {
+                               tc.EndTest(exp);
+                       }
+               }
+
+               [Test]
+               public void run()
+               {
+
+                       #region Simple Tests
+                       //string str="";
+                       string sql;
+                       OracleConnection con = null;
+
+                       sql = "UPDATE Employees SET Region = :Region, TitleOfCourtesy = :TitleOfCourtesy WHERE EmployeeID=1";
+                       con = new OracleConnection(MonoTests.System.Data.Utils.ConnectedDataProvider.ConnectionString);
+                       
+                       //not testing with DB2 provider
+                       if (ConnectedDataProvider.GetDbType(con) != DataBaseServer.DB2) 
+                       {
+
+                               OracleCommand cmd = new OracleCommand(sql, con);
+                               cmd.Parameters.Add(new OracleParameter(":Region", OracleType.VarChar));
+                               cmd.Parameters.Add(new OracleParameter(":TitleOfCourtesy", OracleType.VarChar));
+
+                               con.Open();
+                               cmd.Parameters[":Region"].Value = "WA";
+                               cmd.Parameters[":TitleOfCourtesy"].Value = "Mr";
+
+                               //return the number of rows affected
+                               int i = cmd.ExecuteNonQuery();
+
+                               try
+                               {
+                                       BeginCase("Check row count");
+                                       Compare(i, 1);
+                               } 
+                               catch(Exception ex){exp = ex;}
+                               finally{EndCase(exp); exp = null;}
+                       }
+
+                       if (con.State == ConnectionState.Open) con.Close();
+                       #endregion
+                       #region Test Parameter Types
+                       #region General
+                       TypesSubTests(ConnectedDataProvider.GetSimpleDbTypesParameters());
+                       TypesSubTests(ConnectedDataProvider.GetExtendedDbTypesParameters());
+                       #endregion
+                       #endregion
+               }
+
+               private void TypesSubTests(DbTypeParametersCollection typesToTest)
+               {
+                       DbTypeParametersCollection currentlyTested = new DbTypeParametersCollection(typesToTest.TableName);
+                       int affectedRows;
+                       string rowId = string.Empty;
+
+                       foreach (DbTypeParameter currentParamType in typesToTest)
+                       {
+                               try
+                               {
+                                       BeginCase("Test INSERT with parameter of type: " + currentParamType.DbTypeName);
+                                       rowId = string.Format("13282_{0}", this.TestCaseNumber);
+                                       currentlyTested.Clear();
+                                       currentlyTested.Add(currentParamType);
+                                       affectedRows = currentlyTested.ExecuteInsert(rowId);
+                                       Compare(affectedRows, 1);
+                               } 
+                               catch(Exception ex)
+                               {
+                                       exp = ex;
+                               }
+                               finally
+                               {
+                                       EndCase(exp);
+                                       exp = null;
+                                       currentlyTested.ExecuteDelete(rowId);
+                               }
+                       }
+               }
+
+               //Test insertion of a GUID parameter on MSSQLServer.
+               [Test]
+               public void DoTestGUIDOnMSSQLServer()
+               {
+                       if (ConnectedDataProvider.GetDbType() != DataBaseServer.SQLServer)
+                               return;
+                       DbTypeParametersCollection guidRow = new DbTypeParametersCollection(ConnectedDataProvider.SPECIFIC_TYPES_TABLE_NAME);
+                       guidRow.Add("UNIQUEIDENTIFIER", new Guid(TEST_GUID_STRING));
+                       TypesSubTests(guidRow);
+               }
+               //Test problems specific to the TIME type on DB2.
+               [Test]
+               public void DoTestTimeOnDB2()
+               {
+                       if (ConnectedDataProvider.GetDbType() != DataBaseServer.DB2)
+                               return;
+
+                       OracleConnection conn = new OracleConnection(ConnectedDataProvider.ConnectionString);
+                       string rowId = string .Empty;
+
+                       try
+                       {
+                               BeginCase("Test INSERT to TIME column using only TimeOfDate part of DateTime");
+                               rowId = "13282_" + this.TestCaseNumber.ToString();
+                               OracleCommand cmd = new OracleCommand();
+                               conn.Open();
+                               cmd.Connection = conn;
+                               cmd.CommandText = string.Format("INSERT INTO {0} (ID, T_TIME) VALUES ('{1}', ?)",ConnectedDataProvider.EXTENDED_TYPES_TABLE_NAME ,rowId);
+                               cmd.Parameters.Add("time", DateTime.Now.TimeOfDay);
+                               int affectedRows;
+                               affectedRows = cmd.ExecuteNonQuery();
+                               Compare(affectedRows, 1);
+                       }
+                       catch (Exception ex)
+                       {
+                               exp = ex;
+                       }
+                       finally
+                       {
+                               EndCase(exp);
+                               exp = null;
+                               DbTypeParametersCollection.ExecuteDelete(ConnectedDataProvider.EXTENDED_TYPES_TABLE_NAME, rowId);
+                               conn.Close();
+                       }
+
+               }
+
+               [Test]
+#if JAVA
+               [Category("NotWorking")]
+#endif
+               public void DoTestTimeOnDB2_bug3391()
+               {
+                       if (ConnectedDataProvider.GetDbType() != DataBaseServer.DB2)
+                               return;
+
+                       OracleConnection conn = new OracleConnection(ConnectedDataProvider.ConnectionString);
+                       string rowId = string .Empty;
+
+                       try {
+                               BeginCase("Test INSERT to TIME column using all of the DateTime");
+                               rowId = "13282_" + this.TestCaseNumber.ToString();
+                               OracleCommand cmd = new OracleCommand();
+                               conn.Open();
+                               cmd.Connection = conn;
+                               cmd.CommandText = string.Format("INSERT INTO {0} (ID, T_TIME) VALUES ('{1}', ?)",ConnectedDataProvider.EXTENDED_TYPES_TABLE_NAME ,rowId);
+                               cmd.Parameters.Add("time", DateTime.Now);
+                               try {
+                                       cmd.ExecuteNonQuery();
+                                       ExpectedExceptionNotCaught("System.OracleException");
+                               }
+                               catch (OracleException ex) {
+                                       ExpectedExceptionCaught(ex);
+                               }
+                       }
+                       catch (Exception ex) {
+                               exp = ex;
+                       }
+                       finally {
+                               EndCase(exp);
+                               exp = null;
+                               DbTypeParametersCollection.ExecuteDelete(ConnectedDataProvider.EXTENDED_TYPES_TABLE_NAME, rowId);
+                               conn.Close();
+                       }
+               }
+       }
+}
diff --git a/mcs/class/System.Data.OracleClient/Test/System.Data.OracleClient.jvm/OracleCommand/OracleCommand_Prepare.cs b/mcs/class/System.Data.OracleClient/Test/System.Data.OracleClient.jvm/OracleCommand/OracleCommand_Prepare.cs
new file mode 100755 (executable)
index 0000000..ece2152
--- /dev/null
@@ -0,0 +1,145 @@
+// 
+// Copyright (c) 2006 Mainsoft Co.
+// 
+// Permission is hereby granted, free of charge, to any person obtaining
+// a copy of this software and associated documentation files (the
+// "Software"), to deal in the Software without restriction, including
+// without limitation the rights to use, copy, modify, merge, publish,
+// distribute, sublicense, and/or sell copies of the Software, and to
+// permit persons to whom the Software is furnished to do so, subject to
+// the following conditions:
+// 
+// The above copyright notice and this permission notice shall be
+// included in all copies or substantial portions of the Software.
+// 
+// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
+// EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
+// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
+// NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
+// LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
+// OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
+// WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
+//
+
+using System;
+using System.Data;
+using System.Data.OracleClient ;
+
+using MonoTests.System.Data.Utils;
+
+
+using NUnit.Framework;
+
+namespace MonoTests.System.Data.OracleClient
+{
+       [TestFixture]
+       public class OracleCommand_Prepare : GHTBase
+       {
+               public static void Main()
+               {
+                       OracleCommand_Prepare tc = new OracleCommand_Prepare();
+                       Exception exp = null;
+                       try
+                       {
+                               tc.BeginTest("OracleCommand_Prepare");
+                               tc.run();
+                       }
+                       catch(Exception ex){exp = ex;}
+                       finally {tc.EndTest(exp);}
+               }
+
+               [Test]
+               public void run()
+               {
+                       Exception exp = null;
+                       int intRecordsAffected = 0;
+
+                       string sql = "Update Shippers Set CompanyName=:CompName Where ShipperID = 2";
+                       OracleConnection con = new OracleConnection(MonoTests.System.Data.Utils.ConnectedDataProvider.ConnectionString);
+                       OracleCommand cmd = new OracleCommand("", con);
+                       con.Open();
+
+
+                       //get expected result
+                       cmd.CommandText = "select count(*) from Shippers where ShipperID = 2";
+                       int ExpectedRows = int.Parse(cmd.ExecuteScalar().ToString());
+
+                       cmd.CommandText = sql;
+
+                       //Currently not running on DB2: .Net-Failed, GH:Pass
+                       //if (con.Provider.IndexOf("IBMDADB2") >= 0) return ;
+
+                       cmd.Parameters.Add(new OracleParameter()); 
+                       cmd.Parameters[0].ParameterName = "CompName";
+                       cmd.Parameters[0].OracleType = OracleType.VarChar; //System.InvalidOperationException:
+                       cmd.Parameters[0].Size = 20; //System.InvalidOperationException
+                       cmd.Parameters[0].SourceColumn = "CompanyName";
+                       cmd.Parameters[0].Value = "Comp1";
+
+                       try
+                       {
+                               BeginCase("Prepare Exception - missing OracleType");
+                               cmd.Prepare();
+                       } 
+                       catch(Exception ex){exp = ex;}
+                       finally{EndCase(exp); exp = null;}
+                       cmd.Parameters[0].OracleType = OracleType.VarChar; 
+
+//                     try
+//                     {
+//                             BeginCase("Prepare Exception - missing Size");
+//                             try
+//                             {
+//                                     cmd.Parameters[0].Size = 0;
+//                                     cmd.Prepare();
+//                             }
+//                             catch (Exception ex) {exp = ex;}
+//                             Compare(exp.GetType().FullName, typeof(InvalidOperationException).FullName );
+//                             exp=null;
+//                     } 
+//                     catch(Exception ex){exp = ex;}
+//                     finally{EndCase(exp); exp = null;}
+//                     cmd.Parameters[0].Size = 20;
+
+                       try
+                       {
+                               BeginCase("Prepare Exception - missing Size");
+                               try
+                               {
+                                       con.Close();
+                                       cmd.Prepare();
+                               }
+                               catch (Exception ex) {exp = ex;}
+                               Compare(exp.GetType().FullName, typeof(InvalidOperationException).FullName );
+                               exp=null;
+                       } 
+                       catch(Exception ex){exp = ex;}
+                       finally{EndCase(exp); exp = null;}
+                       con.Open();
+
+                       try
+                       {
+                               BeginCase("ExecuteNonQuery first time");
+                               intRecordsAffected = cmd.ExecuteNonQuery();
+                               Compare(intRecordsAffected , ExpectedRows);
+                       } 
+                       catch(Exception ex){exp = ex;}
+                       finally{EndCase(exp); exp = null;}
+
+
+                       try
+                       {
+                               BeginCase("ExecuteNonQuery second time, chage value");
+                               cmd.Parameters[0].Value = "Comp2";
+                               intRecordsAffected  = cmd.ExecuteNonQuery();
+                               Compare(intRecordsAffected , ExpectedRows);
+                       } 
+                       catch(Exception ex){exp = ex;}
+                       finally{EndCase(exp); exp = null;}
+       
+                       if (con.State == ConnectionState.Open) con.Close();
+
+               }
+       }
+
+}
\ No newline at end of file
diff --git a/mcs/class/System.Data.OracleClient/Test/System.Data.OracleClient.jvm/OracleCommand/OracleCommand_Transaction.cs b/mcs/class/System.Data.OracleClient/Test/System.Data.OracleClient.jvm/OracleCommand/OracleCommand_Transaction.cs
new file mode 100755 (executable)
index 0000000..4bbcbbe
--- /dev/null
@@ -0,0 +1,83 @@
+// 
+// Copyright (c) 2006 Mainsoft Co.
+// 
+// Permission is hereby granted, free of charge, to any person obtaining
+// a copy of this software and associated documentation files (the
+// "Software"), to deal in the Software without restriction, including
+// without limitation the rights to use, copy, modify, merge, publish,
+// distribute, sublicense, and/or sell copies of the Software, and to
+// permit persons to whom the Software is furnished to do so, subject to
+// the following conditions:
+// 
+// The above copyright notice and this permission notice shall be
+// included in all copies or substantial portions of the Software.
+// 
+// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
+// EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
+// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
+// NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
+// LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
+// OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
+// WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
+//
+
+using System;
+using System.Data;
+using System.Data.OracleClient ;
+
+using MonoTests.System.Data.Utils;
+
+
+using NUnit.Framework;
+
+namespace MonoTests.System.Data.OracleClient
+{
+[TestFixture]
+public class TestId13266 : GHTBase
+{
+       public static void Main()
+       {
+               TestId13266 tc = new TestId13266();
+               Exception exp = null;
+               try
+               {
+                       tc.BeginTest("OracleCommand_Transaction");
+                       tc.run();
+               }
+               catch(Exception ex){exp = ex;}
+               finally {tc.EndTest(exp);}
+       }
+
+       [Test]
+       public void run()
+       {
+
+               Exception exp = null;
+               OracleConnection con = new OracleConnection(MonoTests.System.Data.Utils.ConnectedDataProvider.ConnectionString);
+               con.Open();
+               OracleTransaction txn = con.BeginTransaction();
+               OracleCommand cmd = new OracleCommand("Select * From Employees", con);
+
+               try
+               {
+                       BeginCase("check Transaction property - default");
+                       Compare(cmd.Transaction==null , true);
+               } 
+               catch(Exception ex){exp = ex;}
+               finally{EndCase(exp); exp = null;}
+
+               cmd.Transaction = txn;
+
+               try
+               {
+                       BeginCase("check Transaction property");
+                       Compare(cmd.Transaction , txn);
+               } 
+               catch(Exception ex){exp = ex;}
+               finally{EndCase(exp); exp = null;}
+               
+               if (con.State == ConnectionState.Open) con.Close();
+
+       }
+}
+}
\ No newline at end of file
diff --git a/mcs/class/System.Data.OracleClient/Test/System.Data.OracleClient.jvm/OracleCommandBuilder/OracleCommandBuilder_DeriveParameters_O.cs b/mcs/class/System.Data.OracleClient/Test/System.Data.OracleClient.jvm/OracleCommandBuilder/OracleCommandBuilder_DeriveParameters_O.cs
new file mode 100755 (executable)
index 0000000..5e32151
--- /dev/null
@@ -0,0 +1,159 @@
+// 
+// Copyright (c) 2006 Mainsoft Co.
+// 
+// Permission is hereby granted, free of charge, to any person obtaining
+// a copy of this software and associated documentation files (the
+// "Software"), to deal in the Software without restriction, including
+// without limitation the rights to use, copy, modify, merge, publish,
+// distribute, sublicense, and/or sell copies of the Software, and to
+// permit persons to whom the Software is furnished to do so, subject to
+// the following conditions:
+// 
+// The above copyright notice and this permission notice shall be
+// included in all copies or substantial portions of the Software.
+// 
+// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
+// EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
+// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
+// NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
+// LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
+// OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
+// WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
+//
+
+using System;
+using System.Data;
+using System.Data.OracleClient;
+
+using MonoTests.System.Data.Utils;
+
+
+using NUnit.Framework;
+
+namespace MonoTests.System.Data.OracleClient
+{
+       [TestFixture]
+       public class OracleCommandBuilder_DeriveParameters_O : GHTBase
+       {
+               OracleConnection        con;
+               OracleCommand cmd;
+               Exception exp = null;
+
+               [SetUp]
+               public void SetUp()
+               {
+                       exp=null;
+                       BeginCase("Setup");
+                       try
+                       {
+                               con = new OracleConnection(ConnectedDataProvider.ConnectionString);
+                               con.Open();
+                               cmd = new OracleCommand("", con);
+                               Compare("Setup", "Setup");
+                       }
+                       catch(Exception ex)     {exp = ex;}
+                       finally {EndCase(exp); exp = null;}
+               }
+
+               [TearDown]
+               public void TearDown()
+               {
+                       if (con != null)
+                       {
+                               if (con.State == ConnectionState.Open) con.Close();
+                       }
+               }
+
+               public static void Main()
+               {
+                       OracleCommandBuilder_DeriveParameters_O tc = new OracleCommandBuilder_DeriveParameters_O();
+                       try
+                       {
+                               tc.BeginTest("OracleCommandBuilder_DeriveParameters_O");
+                               tc.SetUp();
+                               tc.run();
+                               tc.TearDown();
+                       }
+                       catch(Exception ex)
+                       {
+                               tc.exp = ex;
+                       }
+                       finally
+                       {
+                               tc.EndTest(tc.exp);
+                       }
+               }
+
+
+               public void run()
+               {
+            RetrieveParameters();
+               }
+
+               [Test]
+               public void RetrieveParameters()
+               {
+                       exp = null;
+
+                       try
+                       {
+                               BeginCase("retrieve parameters");
+                               
+                               if (ConnectedDataProvider.GetDbType(con) == DataBaseServer.DB2)
+                               {
+                                       this.Skip("Not Implemented on DB2.");
+                                       return;
+                               }
+
+                               switch (ConnectedDataProvider.GetDbType(con))
+                               {
+//                                     case MonoTests.Utils.DataBaseServer.PostgreSQL:
+//                                             cmd = new OracleCommand("GH_MULTIRECORDSETS('a','b','c')", con);
+//                                             break;
+                                       default:
+                                               cmd = new OracleCommand("GH_MultiRecordSets", con);
+                                               break;
+                               }
+                               
+                               cmd.CommandType = CommandType.StoredProcedure;
+                               OracleCommandBuilder.DeriveParameters(cmd);
+
+                               switch (ConnectedDataProvider.GetDbType(con))
+                               {
+                                       case DataBaseServer.SQLServer:
+                                       case DataBaseServer.Sybase:
+                                               Compare(cmd.Parameters.Count, 1);
+                                               Compare(cmd.Parameters[0].Direction, ParameterDirection.ReturnValue);
+                                               Compare(cmd.Parameters[0].ParameterName, "RETURN_VALUE");
+                                               break;
+                               
+                                       case DataBaseServer.Oracle:
+                                               Compare(cmd.Parameters.Count, 3);
+                                               Compare(cmd.Parameters[0].Direction, ParameterDirection.Output);
+                                               Compare(cmd.Parameters[1].Direction, ParameterDirection.Output);
+                                               Compare(cmd.Parameters[2].Direction, ParameterDirection.Output);
+                                               Compare(cmd.Parameters[0].ParameterName, "RCT_EMPLOYEES");
+                                               break;
+
+                                       case DataBaseServer.PostgreSQL:
+                                               Compare(cmd.Parameters.Count, 1);
+                                               Compare(cmd.Parameters[0].Direction, ParameterDirection.ReturnValue);
+                                               Compare(cmd.Parameters[0].ParameterName, "returnValue");
+                                               break;
+
+                                       default:
+                                               throw new ApplicationException(string.Format("GHT: Test not implemented for DB type {0}", ConnectedDataProvider.GetDbType(con)));
+                               }
+                       } 
+                       catch(Exception ex)
+                       {
+                               exp = ex;
+                       }
+                       finally
+                       {
+                               EndCase(exp);
+                               exp = null;
+                       }
+               }
+       }
+}
diff --git a/mcs/class/System.Data.OracleClient/Test/System.Data.OracleClient.jvm/OracleConnection/IDBConnection_For_Oracle.cs b/mcs/class/System.Data.OracleClient/Test/System.Data.OracleClient.jvm/OracleConnection/IDBConnection_For_Oracle.cs
new file mode 100755 (executable)
index 0000000..9c638e8
--- /dev/null
@@ -0,0 +1,144 @@
+// 
+// Copyright (c) 2006 Mainsoft Co.
+// 
+// Permission is hereby granted, free of charge, to any person obtaining
+// a copy of this software and associated documentation files (the
+// "Software"), to deal in the Software without restriction, including
+// without limitation the rights to use, copy, modify, merge, publish,
+// distribute, sublicense, and/or sell copies of the Software, and to
+// permit persons to whom the Software is furnished to do so, subject to
+// the following conditions:
+// 
+// The above copyright notice and this permission notice shall be
+// included in all copies or substantial portions of the Software.
+// 
+// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
+// EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
+// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
+// NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
+// LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
+// OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
+// WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
+//
+
+using System;
+using System.Data;
+using System.Data.OracleClient ;
+
+using MonoTests.System.Data.Utils;
+
+
+using NUnit.Framework;
+
+namespace MonoTests.System.Data.OracleClient
+{
+       [TestFixture]
+       class IDBConnection_For_Oracle : GHTBase
+       {
+               string _ConnectionString = "";
+               [SetUp]
+               public void SetUp()
+               {
+                       try
+                       {
+                               _ConnectionString = MonoTests.System.Data.Utils.ConnectedDataProvider.ConnectionString;
+                       }
+                       catch(Exception ex)
+                       {
+                               EndCase(ex);
+                       }
+               }
+
+               [TearDown]
+               public void TearDown()
+               {
+               }
+
+               public static void Main()
+               {
+                       IDBConnection_For_Oracle tc = new IDBConnection_For_Oracle();
+                       Exception exp = null;
+                       try
+                       {
+                               tc.BeginTest("IDBConnection_For_Oracle");
+                               tc.SetUp();
+                               tc.run();
+                               tc.TearDown();
+                       }
+                       catch(Exception ex){exp = ex;}
+                       finally {tc.EndTest(exp);}
+               }
+
+               [Test]
+               public void run()
+               {
+                       Exception exp = null;
+                       IDbConnection ICon = new OracleConnection();
+
+                       try
+                       {
+                               BeginCase("check IDbConnection is null");
+                               Compare(ICon != null, true);
+                       } 
+                       catch(Exception ex){exp = ex;}
+                       finally{EndCase(exp); exp = null;}
+
+                       try
+                       {
+                               BeginCase("check IDbConnection type");
+                               Compare(ICon.GetType().FullName ,typeof(OracleConnection).FullName);
+                       } 
+                       catch(Exception ex){exp = ex;}
+                       finally{EndCase(exp); exp = null;}
+
+                       ICon = new OracleConnection(_ConnectionString);
+
+                       try
+                       {
+                               BeginCase("check IDbConnection connection string");
+                               Compare(ICon.ConnectionString ,_ConnectionString);
+                       } 
+                       catch(Exception ex){exp = ex;}
+                       finally{EndCase(exp); exp = null;}
+
+                       try
+                       {
+                               BeginCase("check IDbConnection ConnectionTimeout");
+                               Compare(ICon.ConnectionTimeout ,15);
+                       } 
+                       catch(Exception ex){exp = ex;}
+                       finally{EndCase(exp); exp = null;}
+
+                       try
+                       {
+                               BeginCase("check IDbConnection state - closed");
+                               Compare(ICon.State ,ConnectionState.Closed);
+                       } 
+                       catch(Exception ex){exp = ex;}
+                       finally{EndCase(exp); exp = null;}
+
+                       ICon.Open();
+
+                       try
+                       {
+                               BeginCase("check IDbConnection - open");
+                               Compare(ICon.State ,ConnectionState.Open );
+                       } 
+                       catch(Exception ex){exp = ex;}
+                       finally{EndCase(exp); exp = null;}
+
+                       try
+                       {
+                               BeginCase("check IDbConnection CreateCommand");
+                               IDbCommand cmd = ICon.CreateCommand();
+                               Compare(cmd.GetType().FullName ,typeof(OracleCommand).FullName);
+                       } 
+                       catch(Exception ex){exp = ex;}
+                       finally{EndCase(exp); exp = null;}
+
+                       if (ICon.State == ConnectionState.Open) ICon.Close();
+
+               }
+       }
+
+}
\ No newline at end of file
diff --git a/mcs/class/System.Data.OracleClient/Test/System.Data.OracleClient.jvm/OracleConnection/OracleConnection_BeginTransaction.cs b/mcs/class/System.Data.OracleClient/Test/System.Data.OracleClient.jvm/OracleConnection/OracleConnection_BeginTransaction.cs
new file mode 100755 (executable)
index 0000000..45f4def
--- /dev/null
@@ -0,0 +1,162 @@
+// 
+// Copyright (c) 2006 Mainsoft Co.
+// 
+// Permission is hereby granted, free of charge, to any person obtaining
+// a copy of this software and associated documentation files (the
+// "Software"), to deal in the Software without restriction, including
+// without limitation the rights to use, copy, modify, merge, publish,
+// distribute, sublicense, and/or sell copies of the Software, and to
+// permit persons to whom the Software is furnished to do so, subject to
+// the following conditions:
+// 
+// The above copyright notice and this permission notice shall be
+// included in all copies or substantial portions of the Software.
+// 
+// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
+// EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
+// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
+// NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
+// LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
+// OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
+// WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
+//
+
+using System;
+using System.Data;
+using System.Data.OracleClient ;
+
+using MonoTests.System.Data.Utils;
+
+
+using NUnit.Framework;
+
+namespace MonoTests.System.Data.OracleClient
+{
+       [TestFixture]
+       public class OracleConnection_BeginTransaction : ADONetTesterClass
+       {
+               Exception exp = null;
+               OracleConnection con = null;
+               OracleTransaction tran = null;
+
+               public static void Main()
+               {
+                       OracleConnection_BeginTransaction tc = new OracleConnection_BeginTransaction();
+                       Exception exp = null;
+                       try
+                       {
+                               tc.BeginTest("OracleConnection_BeginTransaction");
+                               tc.run();
+                       }
+                       catch(Exception ex){exp = ex;}
+                       finally {tc.EndTest(exp);}
+               }
+
+               [SetUp]
+               public void SetUp() {
+                       con = new OracleConnection(MonoTests.System.Data.Utils.ConnectedDataProvider.ConnectionString);
+                       con.Open();
+               }
+
+               [TearDown]
+               public void TearDown() {
+                       if (con != null && con.State == ConnectionState.Open) con.Close();
+               }
+
+               [Test]
+#if JAVA
+               [Category("NotWorking")]
+#endif
+               public void TestBeginTransactionChaos() {
+
+                       DataBaseServer dbType = ConnectedDataProvider.GetDbType(con);
+                       // not supported on DB2 and Oracle and Sybase
+                       if (dbType != DataBaseServer.Oracle && dbType != DataBaseServer.DB2 && dbType != DataBaseServer.Sybase) {
+                               con.Close();
+                               con.Open();
+                               try {
+                                       BeginCase("BeginTransaction - IsolationLevel Chaos");
+                                       tran = con.BeginTransaction(IsolationLevel.Chaos);
+                                       Compare(tran == null, false);
+                               } 
+                               catch(Exception ex){exp = ex;}
+                               finally{EndCase(exp); exp = null;}
+                       }
+                       /*      not supported by MSSQL,DB2,Oracle
+                               con.Close();
+                               con.Open();
+                               try
+                               {
+                                       BeginCase("BeginTransaction - IsolationLevel Unspecified");
+                                       tran = con.BeginTransaction(IsolationLevel.Unspecified );
+                                       Compare(tran == null, false);
+                               } 
+                               catch(Exception ex){exp = ex;}
+                               finally{EndCase(exp); exp = null;}
+                       */
+                       
+               }
+
+               [Test]
+               public void run()
+               {
+                       try
+                       {
+                               BeginCase("BeginTransaction");
+                               tran = con.BeginTransaction();
+                               Compare(tran == null, false);
+                       } 
+                       catch(Exception ex){exp = ex;}
+                       finally{EndCase(exp); exp = null;}
+                       con.Close();
+                       con.Open();
+                       try
+                       {
+                               BeginCase("BeginTransaction - IsolationLevel ReadCommitted");
+                               tran = con.BeginTransaction(IsolationLevel.ReadCommitted);
+                               Compare(tran == null, false);
+                       } 
+                       catch(Exception ex){exp = ex;}
+                       finally{EndCase(exp); exp = null;}
+
+               
+                       DataBaseServer dbType = ConnectedDataProvider.GetDbType(con);
+
+                       //Not supported by JDBC driver for oracle
+                       if (dbType != DataBaseServer.Oracle) 
+                       {
+                               con.Close();
+                               con.Open();
+                               try
+                               {
+                                       BeginCase("BeginTransaction - IsolationLevel ReadUncommitted");
+                                       tran = con.BeginTransaction(IsolationLevel.ReadUncommitted );
+                                       Compare(tran == null, false);
+                               } 
+                               catch(Exception ex){exp = ex;}
+                               finally{EndCase(exp); exp = null;}
+
+                               con.Close();
+                               con.Open();
+                               try
+                               {
+                                       BeginCase("BeginTransaction - IsolationLevel RepeatableRead");
+                                       tran = con.BeginTransaction(IsolationLevel.RepeatableRead);
+                                       Compare(tran == null, false);
+                               } 
+                               catch(Exception ex){exp = ex;}
+                               finally{EndCase(exp); exp = null;}
+                               con.Close();
+                               con.Open();
+                               try
+                               {
+                                       BeginCase("BeginTransaction - IsolationLevel Serializable");
+                                       tran = con.BeginTransaction(IsolationLevel.Serializable );
+                                       Compare(tran == null, false);
+                               } 
+                               catch(Exception ex){exp = ex;}
+                               finally{EndCase(exp); exp = null;}
+                       }
+               }
+       }
+}
\ No newline at end of file
diff --git a/mcs/class/System.Data.OracleClient/Test/System.Data.OracleClient.jvm/OracleConnection/OracleConnection_ChangeDatabase.cs b/mcs/class/System.Data.OracleClient/Test/System.Data.OracleClient.jvm/OracleConnection/OracleConnection_ChangeDatabase.cs
new file mode 100755 (executable)
index 0000000..a93f698
--- /dev/null
@@ -0,0 +1,103 @@
+// 
+// Copyright (c) 2006 Mainsoft Co.
+// 
+// Permission is hereby granted, free of charge, to any person obtaining
+// a copy of this software and associated documentation files (the
+// "Software"), to deal in the Software without restriction, including
+// without limitation the rights to use, copy, modify, merge, publish,
+// distribute, sublicense, and/or sell copies of the Software, and to
+// permit persons to whom the Software is furnished to do so, subject to
+// the following conditions:
+// 
+// The above copyright notice and this permission notice shall be
+// included in all copies or substantial portions of the Software.
+// 
+// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
+// EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
+// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
+// NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
+// LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
+// OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
+// WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
+//
+
+using System;
+using System.Data;
+using System.Data.OracleClient ;
+
+using MonoTests.System.Data.Utils;
+
+
+using NUnit.Framework;
+
+namespace MonoTests.System.Data.OracleClient
+{
+[TestFixture]
+public class OracleConnection_ChangeDatabase : ADONetTesterClass 
+{
+       public static void Main()
+       {
+               OracleConnection_ChangeDatabase tc = new OracleConnection_ChangeDatabase();
+               Exception exp = null;
+               try
+               {
+                       tc.BeginTest("NoName");
+                       tc.run();
+               }
+               catch(Exception ex){exp = ex;}
+               finally {tc.EndTest(exp);}
+       }
+
+       [Test]
+       [Category("NotWorking")]
+       public void run()
+       {
+               Exception exp = null;
+
+               OracleConnection con = new OracleConnection(MonoTests.System.Data.Utils.ConnectedDataProvider.ConnectionString);
+               con.Open();
+
+               //Currently not running on Oracle/DB2: .Net-Failed, GH:Pass
+               //not runnig on postgres because "The 'current catalog' property is not supported by the 'Mainsoft.JDBC.OLEDB.1' provider."
+               if (ConnectedDataProvider.GetDbType(con) != DataBaseServer.Oracle  &&
+                       ConnectedDataProvider.GetDbType(con) != DataBaseServer.DB2 && 
+                       ConnectedDataProvider.GetDbType(con) != DataBaseServer.Sybase &&
+                       ConnectedDataProvider.GetDbType(con) != DataBaseServer.PostgreSQL)
+               {
+                       try
+                       {
+                               BeginCase("Change DataBase");
+                               ((IDbConnection)con).ChangeDatabase("GHTDB_EX");
+                               Compare(((IDbConnection)con).Database , "GHTDB_EX");
+                       } 
+                       catch(Exception ex){exp = ex;}
+                       finally{EndCase(exp); exp = null;}
+
+                       try
+                       {
+                               BeginCase("Check DataBase Changed ");
+                               OracleCommand cmd = new OracleCommand("select count(*) from Customers", con);
+                               object obj = cmd.ExecuteScalar();
+                               Compare(obj != null, true);
+                       } 
+                       catch(Exception ex){exp = ex;}
+                       finally{EndCase(exp); exp = null;}
+
+                       if (con.State == ConnectionState.Open) con.Close();
+               }
+
+       }
+
+
+       //public TestClass():base(true){}
+
+       //Activate this constructor to log Failures to a log file
+       //public TestClass(System.IO.TextWriter tw):base(tw, false){}
+
+       //Activate this constructor to log All to a log file
+       //public TestClass(System.IO.TextWriter tw):base(tw, true){}
+
+       //BY DEFAULT LOGGING IS DONE TO THE STANDARD OUTPUT ONLY FOR FAILURES
+
+}
+}
\ No newline at end of file
diff --git a/mcs/class/System.Data.OracleClient/Test/System.Data.OracleClient.jvm/OracleConnection/OracleConnection_Close.cs b/mcs/class/System.Data.OracleClient/Test/System.Data.OracleClient.jvm/OracleConnection/OracleConnection_Close.cs
new file mode 100755 (executable)
index 0000000..fc55a86
--- /dev/null
@@ -0,0 +1,111 @@
+// 
+// Copyright (c) 2006 Mainsoft Co.
+// 
+// Permission is hereby granted, free of charge, to any person obtaining
+// a copy of this software and associated documentation files (the
+// "Software"), to deal in the Software without restriction, including
+// without limitation the rights to use, copy, modify, merge, publish,
+// distribute, sublicense, and/or sell copies of the Software, and to
+// permit persons to whom the Software is furnished to do so, subject to
+// the following conditions:
+// 
+// The above copyright notice and this permission notice shall be
+// included in all copies or substantial portions of the Software.
+// 
+// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
+// EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
+// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
+// NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
+// LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
+// OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
+// WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
+//
+
+using System;
+using System.Data;
+using System.Data.OracleClient ;
+
+using MonoTests.System.Data.Utils;
+
+
+using NUnit.Framework;
+
+namespace MonoTests.System.Data.OracleClient
+{
+       [TestFixture]
+       public class OracleConnection_Close : GHTBase
+       {
+               [SetUp]
+               public void SetUp()
+               {
+                       Exception exp = null;
+                       BeginCase("Setup");
+                       try
+                       {
+                       }
+                       catch(Exception ex)     {exp = ex;}
+                       finally {EndCase(exp); exp = null;}
+               }
+
+               [TearDown]
+               public void TearDown()
+               {
+               }
+
+               public static void Main()
+               {
+                       OracleConnection_Close tc = new OracleConnection_Close();
+                       Exception exp = null;
+                       try
+                       {
+                               tc.BeginTest("OracleConnection_Close");
+                               tc.SetUp();
+                               tc.run();
+                               tc.TearDown();
+                       }
+                       catch(Exception ex){exp = ex;}
+                       finally {tc.EndTest(exp);}
+               }
+
+               [Test]
+               public void run()
+               {
+                       Exception exp = null;
+
+                       OracleConnection con = new OracleConnection(MonoTests.System.Data.Utils.ConnectedDataProvider.ConnectionString);
+
+                       try
+                       {
+                               BeginCase("Close without open");
+                               con.Close();
+                               Compare(con.State , ConnectionState.Closed);
+                       } 
+                       catch(Exception ex){exp = ex;}
+                       finally{EndCase(exp); exp = null;}
+
+                       con.Open();
+
+                       try
+                       {
+                               BeginCase("Close after open");
+                               con.Close();
+                               Compare(con.State , ConnectionState.Closed);
+                       } 
+                       catch(Exception ex){exp = ex;}
+                       finally{EndCase(exp); exp = null;}
+
+                       //An application can call Close more than one time. 
+                       //No exception is generated.
+                       try
+                       {
+                               BeginCase("Close again");
+                               con.Close();
+                               Compare(con.State , ConnectionState.Closed);
+                       } 
+                       catch(Exception ex){exp = ex;}
+                       finally{EndCase(exp); exp = null;}
+
+                       if (con.State == ConnectionState.Open) con.Close();
+               }
+       }
+}
\ No newline at end of file
diff --git a/mcs/class/System.Data.OracleClient/Test/System.Data.OracleClient.jvm/OracleConnection/OracleConnection_ConnectionString.cs b/mcs/class/System.Data.OracleClient/Test/System.Data.OracleClient.jvm/OracleConnection/OracleConnection_ConnectionString.cs
new file mode 100755 (executable)
index 0000000..25ff149
--- /dev/null
@@ -0,0 +1,243 @@
+// 
+// Copyright (c) 2006 Mainsoft Co.
+// 
+// Permission is hereby granted, free of charge, to any person obtaining
+// a copy of this software and associated documentation files (the
+// "Software"), to deal in the Software without restriction, including
+// without limitation the rights to use, copy, modify, merge, publish,
+// distribute, sublicense, and/or sell copies of the Software, and to
+// permit persons to whom the Software is furnished to do so, subject to
+// the following conditions:
+// 
+// The above copyright notice and this permission notice shall be
+// included in all copies or substantial portions of the Software.
+// 
+// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
+// EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
+// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
+// NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
+// LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
+// OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
+// WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
+//
+
+using System;
+using System.Text;
+using System.Data;
+using System.Data.OracleClient ;
+using System.Collections;
+
+using MonoTests.System.Data.Utils;
+
+
+using NUnit.Framework;
+
+namespace MonoTests.System.Data.OracleClient
+{
+       [TestFixture]
+       public class OracleConnection_ConnectionString : GHTBase
+       {
+               private Exception exp = null;
+               private OracleConnection con = new OracleConnection();
+
+               public static void Main()
+               {
+                       OracleConnection_ConnectionString tc = new OracleConnection_ConnectionString();
+                       Exception exp = null;
+                       try
+                       {
+                               tc.BeginTest("OracleConnection_ConnectionString");
+
+                               tc.run();
+                       }
+                       catch(Exception ex){exp = ex;}
+                       finally {tc.EndTest(exp);}
+               }
+
+               public void run()
+               {
+                       SetConnectionString();
+                       ConstractorWithConnectionString();
+                       DB2MissingProperties();
+                       TestCaseForBug3925();
+               }
+
+               #region Tests
+               [Test]
+               public void DB2MissingProperties()
+               {
+                       if (ConnectedDataProvider.GetDbType() != DataBaseServer.DB2)
+                       {
+                               Log("The 'DB2MissingProperties' subtest did not ran because it is relevant only for runs on DB2." );
+                               return;
+                       }
+                       string[] propsToUse;
+                       string description;
+
+                       //The complete list of properties is:
+                       //Provider, Password, User ID, Data Source, HostName, Port, Location, retrieveMessagesFromServerOnGetMessage
+                       
+                       description = "Test connection string without 'retrieveMessagesFromServerOnGetMessage'";
+                       propsToUse = new string[] {"Provider", "Password", "User ID", "Data Source", "HostName", "Port", "Location"};
+                       DoTestWithSpecificProperties(propsToUse, description);
+
+                       description = "Test connection string without 'HostName'";
+                       propsToUse = new string[] {"Provider", "Password", "User ID", "Data Source", "Port", "Location", "retrieveMessagesFromServerOnGetMessage"};
+                       DoTestWithSpecificProperties(propsToUse, description);
+                       
+                       description = "Test connection string without 'Port'";
+                       propsToUse = new string[] {"Provider", "Password", "User ID", "Data Source", "HostName", "Location", "retrieveMessagesFromServerOnGetMessage"};
+                       DoTestWithSpecificProperties(propsToUse, description);
+                       
+                       description = "Test connection string without 'Location'";
+                       propsToUse = new string[] {"Provider", "Password", "User ID", "Data Source", "HostName", "Port", "retrieveMessagesFromServerOnGetMessage"};
+                       DoTestWithSpecificProperties(propsToUse, description);
+                       
+                       description = "Test connection string without 'HostName' & 'Port'";
+                       propsToUse = new string[] {"Provider", "Password", "User ID", "Data Source", "Location", "retrieveMessagesFromServerOnGetMessage"};
+                       DoTestWithSpecificProperties(propsToUse, description);
+               }
+
+               void DoTestWithSpecificProperties(string[] propsToUse, string description)
+               {
+                       try
+                       {
+                               BeginCase(description);
+                               exp = null;
+                               Hashtable connectionProps = GetConnectionStringProps(ConnectedDataProvider.ConnectionString);
+                               string actualConString = CreateConStringWithProps(propsToUse, connectionProps);
+                               con = new OracleConnection(actualConString);
+                               con.Open();
+                               Compare(con.State, ConnectionState.Open);
+                       }
+                       catch(Exception ex)
+                       {
+                               exp = ex;
+                       }
+                       finally
+                       {
+                               EndCase(exp);
+                               exp=null;
+                               if (con != null && con.State == ConnectionState.Open)
+                               {
+                                       con.Close();
+                               }
+                       }
+               }
+
+               [Test]
+               public void ConstractorWithConnectionString()
+               {
+                       con = new OracleConnection(MonoTests.System.Data.Utils.ConnectedDataProvider.ConnectionString);
+                       try
+                       {
+                               BeginCase("Constructor with ConnectionString");
+                               Compare(con.ConnectionString, MonoTests.System.Data.Utils.ConnectedDataProvider.ConnectionString);
+                       }
+                       catch(Exception ex)
+                       {
+                               exp = ex;
+                       }
+                       finally
+                       {
+                               EndCase(exp); 
+                               exp = null;
+                       }
+               }
+
+               [Test]
+               public void SetConnectionString()
+               {
+                       con.ConnectionString = MonoTests.System.Data.Utils.ConnectedDataProvider.ConnectionString;
+                       try
+                       {
+                               BeginCase("Set ConnectionString");
+                               Compare(con.ConnectionString, MonoTests.System.Data.Utils.ConnectedDataProvider.ConnectionString);
+                       }
+                       catch(Exception ex)
+                       {
+                               exp = ex;
+                       }
+                       finally
+                       {
+                               EndCase(exp); 
+                               exp = null;
+                       }
+               }
+               [Test]
+#if !JAVA
+               [Category ("NotWorking")]
+#endif
+               public void TestCaseForBug3925()
+               {
+                       exp=null;
+                       try
+                       {
+                               BeginCase("Test Case for bug #3925");
+
+                       if (ConnectedDataProvider.GetDbType() != DataBaseServer.SQLServer)
+                       {
+                               Skip("This test currently runs only on SQLServer in java.");
+                               return;
+                       }
+                               Hashtable conProps = GetConnectionStringProps(ConnectedDataProvider.ConnectionString);
+                               string server = (string)conProps["Data Source"];
+                               string user = (string)conProps["User Id"];
+                               string password = (string)conProps["Password"];
+                               string database = (string)conProps["Initial Catalog"];
+                               string jdbcUrlTemplate = "JdbcDriverClassName=com.microsoft.jdbc.sqlserver.SQLServerDriver;JdbcURL=\"jdbc:microsoft:sqlserver://{0};User={1};Password={2};DatabaseName={3}\"";
+                               string conStr = string.Format(jdbcUrlTemplate, server, user, password, database);
+                               con = new OracleConnection(conStr);
+                               con.Open();
+                               Compare(ConnectionState.Open, con.State);
+                       }
+                       catch (Exception ex)
+                       {
+                               exp = ex;
+                       }
+                       finally
+                       {
+                               EndCase(exp);
+                               exp = null;
+                               if (con != null && con.State != ConnectionState.Closed)
+                               {
+                                       con.Close();
+                               }
+                       }
+               }
+               #endregion
+               #region Utilities
+               private string CreateConStringWithProps(string[] propsToUse, Hashtable connectionProps)
+               {
+                       StringBuilder actualConStringBuilder = new StringBuilder();
+                       foreach(string prop in propsToUse)
+                       {
+                               string propString = string.Format("{0}={1}", prop, connectionProps[prop]);
+                               actualConStringBuilder.Append(propString);
+                               actualConStringBuilder.Append(";");
+                       }
+                       return actualConStringBuilder.ToString();
+               }
+
+               private Hashtable GetConnectionStringProps(string connectionString)
+               {
+                       string[] connectionStringProps = connectionString.Split(';');
+                       Hashtable connectionProps = new Hashtable();
+                       foreach(string prop in connectionStringProps)
+                       {
+                               string[] keyValue = prop.Split('=');
+                               if (keyValue.Length == 2)
+                               {
+                                       connectionProps.Add(keyValue[0], keyValue[1]);
+                               }
+                               else
+                               {
+                                       connectionProps.Add(prop, prop);
+                               }
+                       }
+                       return connectionProps;
+               }
+
+               #endregion
+       }
+}
\ No newline at end of file
diff --git a/mcs/class/System.Data.OracleClient/Test/System.Data.OracleClient.jvm/OracleConnection/OracleConnection_ConnectionTimeout.cs b/mcs/class/System.Data.OracleClient/Test/System.Data.OracleClient.jvm/OracleConnection/OracleConnection_ConnectionTimeout.cs
new file mode 100755 (executable)
index 0000000..43c325a
--- /dev/null
@@ -0,0 +1,89 @@
+// 
+// Copyright (c) 2006 Mainsoft Co.
+// 
+// Permission is hereby granted, free of charge, to any person obtaining
+// a copy of this software and associated documentation files (the
+// "Software"), to deal in the Software without restriction, including
+// without limitation the rights to use, copy, modify, merge, publish,
+// distribute, sublicense, and/or sell copies of the Software, and to
+// permit persons to whom the Software is furnished to do so, subject to
+// the following conditions:
+// 
+// The above copyright notice and this permission notice shall be
+// included in all copies or substantial portions of the Software.
+// 
+// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
+// EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
+// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
+// NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
+// LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
+// OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
+// WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
+//
+
+using System;
+using System.Data;
+using System.Data.OracleClient;
+using MonoTests.System.Data.Utils;
+
+
+using NUnit.Framework;
+
+namespace MonoTests.System.Data.OracleClient
+{
+[TestFixture]
+public class OracleConnection_ConnectionTimeout : GHTBase
+{
+       public static void Main()
+       {
+               OracleConnection_ConnectionTimeout tc = new OracleConnection_ConnectionTimeout();
+               Exception exp = null;
+               try
+               {
+                       tc.BeginTest("OracleConnection_ConnectionTimeout");
+                       tc.run();
+               }
+               catch(Exception ex){exp = ex;}
+               finally {tc.EndTest(exp);}
+       }
+
+       [Test]
+       [Category("NotWorking")]
+       public void run()
+       {
+               Exception exp = null;
+
+               OracleConnection con = new OracleConnection(MonoTests.System.Data.Utils.ConnectedDataProvider.ConnectionString + ";Connect timeout=44");
+
+               try
+               {
+                       BeginCase("ConnectionTimeout from Connection string");
+                       Compare(((IDbConnection)con).ConnectionTimeout , 44);
+               } 
+               catch(Exception ex){exp = ex;}
+               finally{EndCase(exp); exp = null;}
+
+               con = new OracleConnection(MonoTests.System.Data.Utils.ConnectedDataProvider.ConnectionString);
+
+               try
+               {
+                       BeginCase("ConnectionTimeout default");
+                       Compare(((IDbConnection)con).ConnectionTimeout , 15);
+               } 
+               catch(Exception ex){exp = ex;}
+               finally{EndCase(exp); exp = null;}
+       }
+
+
+       //public TestClass():base(true){}
+
+       //Activate this constructor to log Failures to a log file
+       //public TestClass(System.IO.TextWriter tw):base(tw, false){}
+
+       //Activate this constructor to log All to a log file
+       //public TestClass(System.IO.TextWriter tw):base(tw, true){}
+
+       //BY DEFAULT LOGGING IS DONE TO THE STANDARD OUTPUT ONLY FOR FAILURES
+
+}
+}
\ No newline at end of file
diff --git a/mcs/class/System.Data.OracleClient/Test/System.Data.OracleClient.jvm/OracleConnection/OracleConnection_CreateCommand.cs b/mcs/class/System.Data.OracleClient/Test/System.Data.OracleClient.jvm/OracleConnection/OracleConnection_CreateCommand.cs
new file mode 100755 (executable)
index 0000000..20238e8
--- /dev/null
@@ -0,0 +1,80 @@
+// 
+// Copyright (c) 2006 Mainsoft Co.
+// 
+// Permission is hereby granted, free of charge, to any person obtaining
+// a copy of this software and associated documentation files (the
+// "Software"), to deal in the Software without restriction, including
+// without limitation the rights to use, copy, modify, merge, publish,
+// distribute, sublicense, and/or sell copies of the Software, and to
+// permit persons to whom the Software is furnished to do so, subject to
+// the following conditions:
+// 
+// The above copyright notice and this permission notice shall be
+// included in all copies or substantial portions of the Software.
+// 
+// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
+// EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
+// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
+// NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
+// LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
+// OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
+// WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
+//
+
+using System;
+using System.Data;
+using System.Data.OracleClient;
+
+using MonoTests.System.Data.Utils;
+
+
+using NUnit.Framework;
+
+namespace MonoTests.System.Data.OracleClient
+{
+[TestFixture]
+public class OracleConnection_CreateCommand : GHTBase
+{
+       public static void Main()
+       {
+               OracleConnection_CreateCommand tc = new OracleConnection_CreateCommand();
+               Exception exp = null;
+               try
+               {
+                       tc.BeginTest("OracleConnection_CreateCommand");
+                       tc.run();
+               }
+               catch(Exception ex){exp = ex;}
+               finally {tc.EndTest(exp);}
+       }
+
+       [Test]
+       public void run()
+       {
+               Exception exp = null;
+               OracleConnection con = new OracleConnection();
+               OracleCommand cmd = null;
+               
+               try
+               {
+                       BeginCase("CreateCommand");
+                       cmd = con.CreateCommand();
+                       Compare(cmd!=null, true);
+               } 
+               catch(Exception ex){exp = ex;}
+               finally{EndCase(exp); exp = null;}
+       }
+
+
+       //public TestClass():base(true){}
+
+       //Activate this constructor to log Failures to a log file
+       //public TestClass(System.IO.TextWriter tw):base(tw, false){}
+
+       //Activate this constructor to log All to a log file
+       //public TestClass(System.IO.TextWriter tw):base(tw, true){}
+
+       //BY DEFAULT LOGGING IS DONE TO THE STANDARD OUTPUT ONLY FOR FAILURES
+
+}
+}
\ No newline at end of file
diff --git a/mcs/class/System.Data.OracleClient/Test/System.Data.OracleClient.jvm/OracleConnection/OracleConnection_DataSource.cs b/mcs/class/System.Data.OracleClient/Test/System.Data.OracleClient.jvm/OracleConnection/OracleConnection_DataSource.cs
new file mode 100755 (executable)
index 0000000..3ebb63e
--- /dev/null
@@ -0,0 +1,93 @@
+// 
+// Copyright (c) 2006 Mainsoft Co.
+// 
+// Permission is hereby granted, free of charge, to any person obtaining
+// a copy of this software and associated documentation files (the
+// "Software"), to deal in the Software without restriction, including
+// without limitation the rights to use, copy, modify, merge, publish,
+// distribute, sublicense, and/or sell copies of the Software, and to
+// permit persons to whom the Software is furnished to do so, subject to
+// the following conditions:
+// 
+// The above copyright notice and this permission notice shall be
+// included in all copies or substantial portions of the Software.
+// 
+// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
+// EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
+// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
+// NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
+// LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
+// OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
+// WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
+//
+
+using System;
+using System.Data;
+using System.Data.OracleClient;
+
+using MonoTests.System.Data.Utils;
+
+
+using NUnit.Framework;
+
+namespace MonoTests.System.Data.OracleClient
+{
+[TestFixture]
+public class OracleConnection_DataSource : ADONetTesterClass 
+{
+       public static void Main()
+       {
+               OracleConnection_DataSource tc = new OracleConnection_DataSource();
+               Exception exp = null;
+               try
+               {
+                       tc.BeginTest("OracleConnection_DataSource");
+                       tc.run();
+               }
+               catch(Exception ex){exp = ex;}
+               finally {tc.EndTest(exp);}
+       }
+
+       [Test]
+       public void run()
+       {
+               Exception exp = null;
+               OracleConnection con = new OracleConnection(MonoTests.System.Data.Utils.ConnectedDataProvider.ConnectionString);
+
+               //test does not apply to ORACLE,DB2,Postgres
+               if (ConnectedDataProvider.GetDbType(con) == DataBaseServer.Oracle) return;
+               if (ConnectedDataProvider.GetDbType(con) ==  DataBaseServer.DB2) return;
+               if (ConnectedDataProvider.GetDbType(con) == DataBaseServer.PostgreSQL) return;
+
+               //get the expected result from the connection string
+               string[] arrCon = con.ConnectionString.Split(';');
+               string result = null;
+               for (int i=0; i < arrCon.Length; i++)
+                       if (arrCon[i].IndexOf("Data Source") >= 0) 
+                       {
+                               result = arrCon[i];
+                               break;
+                       }
+               result = result.Substring(result.IndexOf('=')+1).Trim();
+               try
+               {
+                       BeginCase("check DataSource");
+                       Compare(con.DataSource  , result);
+               } 
+               catch(Exception ex){exp = ex;}
+               finally{EndCase(exp); exp = null;}
+       }
+
+
+       //public TestClass():base(true){}
+
+       //Activate this constructor to log Failures to a log file
+       //public TestClass(System.IO.TextWriter tw):base(tw, false){}
+
+       //Activate this constructor to log All to a log file
+       //public TestClass(System.IO.TextWriter tw):base(tw, true){}
+
+       //BY DEFAULT LOGGING IS DONE TO THE STANDARD OUTPUT ONLY FOR FAILURES
+
+}
+}
\ No newline at end of file
diff --git a/mcs/class/System.Data.OracleClient/Test/System.Data.OracleClient.jvm/OracleConnection/OracleConnection_Database.cs b/mcs/class/System.Data.OracleClient/Test/System.Data.OracleClient.jvm/OracleConnection/OracleConnection_Database.cs
new file mode 100755 (executable)
index 0000000..1d8bc6b
--- /dev/null
@@ -0,0 +1,94 @@
+// 
+// Copyright (c) 2006 Mainsoft Co.
+// 
+// Permission is hereby granted, free of charge, to any person obtaining
+// a copy of this software and associated documentation files (the
+// "Software"), to deal in the Software without restriction, including
+// without limitation the rights to use, copy, modify, merge, publish,
+// distribute, sublicense, and/or sell copies of the Software, and to
+// permit persons to whom the Software is furnished to do so, subject to
+// the following conditions:
+// 
+// The above copyright notice and this permission notice shall be
+// included in all copies or substantial portions of the Software.
+// 
+// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
+// EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
+// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
+// NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
+// LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
+// OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
+// WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
+//
+
+using System;
+using System.Data;
+using System.Data.OracleClient;
+
+using MonoTests.System.Data.Utils;
+
+
+using NUnit.Framework;
+
+namespace MonoTests.System.Data.OracleClient
+{
+[TestFixture]
+public class OracleConnection_Database : ADONetTesterClass 
+{
+       public static void Main()
+       {
+               OracleConnection_Database tc = new OracleConnection_Database();
+               Exception exp = null;
+               try
+               {
+                       tc.BeginTest("OracleConnection_Database");
+                       tc.run();
+               }
+               catch(Exception ex){exp = ex;}
+               finally {tc.EndTest(exp);}
+       }
+
+       [Test]
+       public void run()
+       {
+               Exception exp = null;
+        OracleConnection con = new OracleConnection(MonoTests.System.Data.Utils.ConnectedDataProvider.ConnectionString);
+
+               //test does not apply to ORACLE,DB2,Sybase,Postgres
+               if (ConnectedDataProvider.GetDbType(con) == DataBaseServer.Oracle) return;
+               if (ConnectedDataProvider.GetDbType(con) ==  DataBaseServer.DB2) return;
+               if (ConnectedDataProvider.GetDbType(con) ==  DataBaseServer.Sybase) return;
+               if (ConnectedDataProvider.GetDbType(con) == DataBaseServer.PostgreSQL) return;
+
+               //get the expected result from the connection string
+               string[] arrCon = con.ConnectionString.Split(';');
+               string result = null;
+               for (int i=0; i < arrCon.Length; i++)
+                       if (arrCon[i].IndexOf("Initial Catalog") >= 0) 
+                       {
+                               result = arrCon[i];
+                               break;
+                       }
+               result = result.Substring(result.IndexOf('=')+1).Trim();
+               try
+               {
+                       BeginCase("check Database");
+                       Compare(((IDbConnection)con).Database , result);
+               } 
+               catch(Exception ex){exp = ex;}
+               finally{EndCase(exp); exp = null;}
+       }
+
+
+       //public TestClass():base(true){}
+
+       //Activate this constructor to log Failures to a log file
+       //public TestClass(System.IO.TextWriter tw):base(tw, false){}
+
+       //Activate this constructor to log All to a log file
+       //public TestClass(System.IO.TextWriter tw):base(tw, true){}
+
+       //BY DEFAULT LOGGING IS DONE TO THE STANDARD OUTPUT ONLY FOR FAILURES
+
+}
+}
\ No newline at end of file
diff --git a/mcs/class/System.Data.OracleClient/Test/System.Data.OracleClient.jvm/OracleConnection/OracleConnection_Equals.cs b/mcs/class/System.Data.OracleClient/Test/System.Data.OracleClient.jvm/OracleConnection/OracleConnection_Equals.cs
new file mode 100755 (executable)
index 0000000..165f108
--- /dev/null
@@ -0,0 +1,103 @@
+// 
+// Copyright (c) 2006 Mainsoft Co.
+// 
+// Permission is hereby granted, free of charge, to any person obtaining
+// a copy of this software and associated documentation files (the
+// "Software"), to deal in the Software without restriction, including
+// without limitation the rights to use, copy, modify, merge, publish,
+// distribute, sublicense, and/or sell copies of the Software, and to
+// permit persons to whom the Software is furnished to do so, subject to
+// the following conditions:
+// 
+// The above copyright notice and this permission notice shall be
+// included in all copies or substantial portions of the Software.
+// 
+// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
+// EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
+// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
+// NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
+// LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
+// OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
+// WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
+//
+
+using System;
+using System.Data;
+using System.Data.OracleClient;
+
+using MonoTests.System.Data.Utils;
+
+
+using NUnit.Framework;
+
+namespace MonoTests.System.Data.OracleClient
+{
+[TestFixture]
+public class OracleConnection_Equals : GHTBase
+{
+       public static void Main()
+       {
+               OracleConnection_Equals tc = new OracleConnection_Equals();
+               Exception exp = null;
+               try
+               {
+                       tc.BeginTest("OracleConnection_Equals");
+                       tc.run();
+               }
+               catch(Exception ex){exp = ex;}
+               finally {tc.EndTest(exp);}
+       }
+
+       [Test]
+       public void run()
+       {
+               Exception exp = null;
+               OracleConnection con1 ,con2,con3;
+        
+               con1 = new OracleConnection(MonoTests.System.Data.Utils.ConnectedDataProvider.ConnectionString );
+               con3 = new OracleConnection(MonoTests.System.Data.Utils.ConnectedDataProvider.ConnectionString );
+
+               con2 = con1;
+        con1.Open ();
+
+               try
+               {
+                       BeginCase("Equals 1");
+                       Compare(con1.Equals(con2),true);
+               } 
+               catch(Exception ex){exp = ex;}
+               finally{EndCase(exp); exp = null;}
+
+               try
+               {
+                       BeginCase("Equals 2");
+                       Compare(Equals(con2,con1),true);
+               } 
+               catch(Exception ex){exp = ex;}
+               finally{EndCase(exp); exp = null;}
+
+               try
+               {
+                       BeginCase("Equals 3");
+                       Compare(con1.Equals(con3),false);
+               } 
+               catch(Exception ex){exp = ex;}
+               finally{EndCase(exp); exp = null;}
+
+               con1.Close();
+
+       }
+
+
+       //public TestClass():base(true){}
+
+       //Activate this constructor to log Failures to a log file
+       //public TestClass(System.IO.TextWriter tw):base(tw, false){}
+
+       //Activate this constructor to log All to a log file
+       //public TestClass(System.IO.TextWriter tw):base(tw, true){}
+
+       //BY DEFAULT LOGGING IS DONE TO THE STANDARD OUTPUT ONLY FOR FAILURES
+
+}
+}
\ No newline at end of file
diff --git a/mcs/class/System.Data.OracleClient/Test/System.Data.OracleClient.jvm/OracleConnection/OracleConnection_InfoMessage.cs b/mcs/class/System.Data.OracleClient/Test/System.Data.OracleClient.jvm/OracleConnection/OracleConnection_InfoMessage.cs
new file mode 100755 (executable)
index 0000000..d4828cf
--- /dev/null
@@ -0,0 +1,167 @@
+// 
+// Copyright (c) 2006 Mainsoft Co.
+// 
+// Permission is hereby granted, free of charge, to any person obtaining
+// a copy of this software and associated documentation files (the
+// "Software"), to deal in the Software without restriction, including
+// without limitation the rights to use, copy, modify, merge, publish,
+// distribute, sublicense, and/or sell copies of the Software, and to
+// permit persons to whom the Software is furnished to do so, subject to
+// the following conditions:
+// 
+// The above copyright notice and this permission notice shall be
+// included in all copies or substantial portions of the Software.
+// 
+// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
+// EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
+// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
+// NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
+// LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
+// OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
+// WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
+//
+
+using System;
+using System.Threading;
+using System.Data;
+using NUnit.Framework;
+using MonoTests.System.Data.Utils;
+
+using System.Data.OracleClient;
+
+namespace MonoTests.System.Data.OracleClient
+{
+       [TestFixture]
+       public class OracleConnection_InfoMessage : GHTBase
+       {
+               private int errorCounter=0;
+               public static void Main()
+               {
+                       OracleConnection_InfoMessage tc = new OracleConnection_InfoMessage();
+                       Exception exp = null;
+                       try
+                       {
+                               // Every Test must begin with BeginTest
+                               tc.BeginTest("OracleConnection_InfoMessage");
+                               tc.run();
+                       }
+                       catch(Exception ex)
+                       {
+                               exp = ex;
+                       }
+                       finally
+                       {
+                               // Every Test must End with EndTest
+                               tc.EndTest(exp);
+                       }
+               }
+
+               public void run()
+               {
+                       Exception exp = null;
+
+                       // Start Sub Test
+                       try
+                       {
+                               test();
+                               
+                               
+                       } 
+                       catch(Exception ex)
+                       {
+                               exp = ex;
+                       }
+                       finally
+                       {
+                               // Every Sub Test must end with EndCase
+                               EndCase(exp);
+                               exp = null;
+                       }
+                       // End Sub Test
+               }
+
+               [Test]
+#if JAVA
+               [Category("NotWorking")]
+#endif
+               public void test()
+               {
+                       BeginCase("InfoMessage testing");
+                       OracleConnection con = new OracleConnection(MonoTests.System.Data.Utils.ConnectedDataProvider.ConnectionString);
+                       con.Open();
+                       con.InfoMessage+=new OracleInfoMessageEventHandler(con_InfoMessage);
+                       generateError(con);
+                       con.Close();
+               }
+               private void generateError(OracleConnection con)
+               {
+                       string errorString = string.Empty;
+                       OracleCommand cmd = new OracleCommand(string.Empty,con); 
+
+                       switch (ConnectedDataProvider.GetDbType(con))
+                       {
+                               case DataBaseServer.SQLServer:
+                               case DataBaseServer.Sybase:
+                               {
+                                       cmd.CommandText  = "Raiserror ('A sample SQL informational message',10,1)";
+                                       break;
+                               }
+                               case DataBaseServer.Oracle:
+                               case DataBaseServer.PostgreSQL:
+                               {
+                                       cmd.CommandText = "GH_ERROR";
+                                       //cmd.CommandText = "print 'This is a warning.'";
+                                       //cmd.CommandText = "select   count(SUPPLIERID) from GHTDB.PRODUCTS";
+                                       cmd.CommandType = CommandType.StoredProcedure;
+                                       break;
+                               }
+
+                               case DataBaseServer.DB2:
+                               {
+                                       cmd.CommandText = "SIGNAL SQLSTATE '99999' SET MESSAGE_TEXT ='Blah Blah';";
+                                       break;
+                               }
+
+                               default:
+                               {
+                                       throw new NotImplementedException(string.Format("GHT: Test is not implemented for {0}", ConnectedDataProvider.GetDbType(con))); 
+                               }
+                       }
+
+                       
+                       //cmd.CommandType = CommandType.StoredProcedure;
+                       
+                               cmd.ExecuteNonQuery();
+               
+               
+               
+//                             cmd.CommandText = "TestInfoMessage";
+//                             cmd.CommandType = CommandType.StoredProcedure;
+
+                       
+                       if (errorCounter == 0)
+                       {
+                               Thread.Sleep(5000);     
+                       }
+                       Compare(errorCounter,1);
+               }
+
+               private void con_InfoMessage(object sender, OracleInfoMessageEventArgs e)
+               {
+                       errorCounter++;
+               }
+
+               //Activate This Construntor to log All To Standard output
+               //public TestClass():base(true){}
+
+               //Activate this constructor to log Failures to a log file
+               //public TestClass(System.IO.TextWriter tw):base(tw, false){}
+
+               //Activate this constructor to log All to a log file
+               //public TestClass(System.IO.TextWriter tw):base(tw, true){}
+
+               //BY DEFAULT LOGGING IS DONE TO THE STANDARD OUTPUT ONLY FOR FAILURES
+
+               
+       }
+}
\ No newline at end of file
diff --git a/mcs/class/System.Data.OracleClient/Test/System.Data.OracleClient.jvm/OracleConnection/OracleConnection_New.cs b/mcs/class/System.Data.OracleClient/Test/System.Data.OracleClient.jvm/OracleConnection/OracleConnection_New.cs
new file mode 100755 (executable)
index 0000000..ed549e1
--- /dev/null
@@ -0,0 +1,96 @@
+// 
+// Copyright (c) 2006 Mainsoft Co.
+// 
+// Permission is hereby granted, free of charge, to any person obtaining
+// a copy of this software and associated documentation files (the
+// "Software"), to deal in the Software without restriction, including
+// without limitation the rights to use, copy, modify, merge, publish,
+// distribute, sublicense, and/or sell copies of the Software, and to
+// permit persons to whom the Software is furnished to do so, subject to
+// the following conditions:
+// 
+// The above copyright notice and this permission notice shall be
+// included in all copies or substantial portions of the Software.
+// 
+// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
+// EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
+// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
+// NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
+// LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
+// OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
+// WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
+//
+
+using System;
+using System.Data;
+using System.Data.OracleClient;
+
+using MonoTests.System.Data.Utils;
+
+
+using NUnit.Framework;
+
+namespace MonoTests.System.Data.OracleClient
+{
+[TestFixture]
+public class OracleConnection_New : GHTBase
+{
+       public static void Main()
+       {
+               OracleConnection_New tc = new OracleConnection_New();
+               Exception exp = null;
+               try
+               {
+                       tc.BeginTest("OracleConnection_New");
+                       tc.run();
+               }
+               catch(Exception ex){exp = ex;}
+               finally {tc.EndTest(exp);}
+       }
+
+       [Test]
+       public void run()
+       {
+               Exception exp = null;
+               OracleConnection con = null;
+               try
+               {
+                       BeginCase("OracleConnection ctor");
+                       con = new OracleConnection();
+                       Compare(con != null ,true);
+               } 
+               catch(Exception ex){exp = ex;}
+               finally{EndCase(exp); exp = null;}
+
+               try
+               {
+                       BeginCase("OracleConnection ctor connection string");
+                       con = new OracleConnection(MonoTests.System.Data.Utils.ConnectedDataProvider.ConnectionString);
+                       Compare(con != null ,true);
+               } 
+               catch(Exception ex){exp = ex;}
+               finally{EndCase(exp); exp = null;}
+
+               try
+               {
+                       BeginCase("OracleConnection check connection string");
+                       Compare(con.ConnectionString  ,MonoTests.System.Data.Utils.ConnectedDataProvider.ConnectionString  );
+               } 
+               catch(Exception ex){exp = ex;}
+               finally{EndCase(exp); exp = null;}
+
+       }
+
+
+       //public TestClass():base(true){}
+
+       //Activate this constructor to log Failures to a log file
+       //public TestClass(System.IO.TextWriter tw):base(tw, false){}
+
+       //Activate this constructor to log All to a log file
+       //public TestClass(System.IO.TextWriter tw):base(tw, true){}
+
+       //BY DEFAULT LOGGING IS DONE TO THE STANDARD OUTPUT ONLY FOR FAILURES
+
+}
+}
\ No newline at end of file
diff --git a/mcs/class/System.Data.OracleClient/Test/System.Data.OracleClient.jvm/OracleConnection/OracleConnection_Open.cs b/mcs/class/System.Data.OracleClient/Test/System.Data.OracleClient.jvm/OracleConnection/OracleConnection_Open.cs
new file mode 100755 (executable)
index 0000000..9112767
--- /dev/null
@@ -0,0 +1,129 @@
+// 
+// Copyright (c) 2006 Mainsoft Co.
+// 
+// Permission is hereby granted, free of charge, to any person obtaining
+// a copy of this software and associated documentation files (the
+// "Software"), to deal in the Software without restriction, including
+// without limitation the rights to use, copy, modify, merge, publish,
+// distribute, sublicense, and/or sell copies of the Software, and to
+// permit persons to whom the Software is furnished to do so, subject to
+// the following conditions:
+// 
+// The above copyright notice and this permission notice shall be
+// included in all copies or substantial portions of the Software.
+// 
+// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
+// EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
+// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
+// NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
+// LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
+// OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
+// WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
+//
+
+using System;
+using System.Data;
+using System.Data.OracleClient;
+
+using MonoTests.System.Data.Utils;
+
+
+using NUnit.Framework;
+
+namespace MonoTests.System.Data.OracleClient
+{
+       [TestFixture]
+       public class OracleConnection_Open : GHTBase
+       {
+               OracleConnection con = null;
+               string ConString = "";
+
+               [SetUp]
+               public void SetUp()
+               {
+                       Exception exp = null;
+                       BeginCase("Setup");
+                       try
+                       {
+                               ConString = MonoTests.System.Data.Utils.ConnectedDataProvider.ConnectionString;
+                       }
+                       catch(Exception ex)     {exp = ex;}
+                       finally {EndCase(exp); exp = null;}
+               }
+
+               [TearDown]
+               public void TearDown()
+               {
+                       if (con != null)
+                       {
+                               con.Close();
+                       }
+               }
+
+               public static void Main()
+               {
+                       OracleConnection_Open tc = new OracleConnection_Open();
+                       Exception exp = null;
+                       try
+                       {
+                               tc.BeginTest("OracleOpenConnection");
+                               tc.SetUp();
+                               tc.run();
+                               tc.TearDown();
+                       }
+                       catch(Exception ex)
+                       {
+                               exp = ex;
+                       }
+                       finally
+                       {
+                               tc.EndTest(exp);
+                       }
+               }
+
+               [Test]
+               public void run()
+               {
+                       Exception exp = null;
+      
+                       BeginCase("Open Connection ");
+                       try
+                       {
+                               con = new OracleConnection(ConString);
+                               con.Open();
+                               Compare(con.State , ConnectionState.Open);
+                       }
+                       catch (Exception ex)
+                       {
+                               exp = ex;
+                       }
+                       finally
+                       {
+                               if (con != null) con.Close();
+                               EndCase(exp);
+                               exp = null;
+                       }
+
+                       BeginCase("Open Connection - garbage value");
+                       try
+                       {
+                               con = new OracleConnection("xxx");
+                               con.Open();
+                       }
+                       catch (ArgumentException ex)
+                       {
+                               ExpectedExceptionCaught(ex); 
+                       }
+                       catch 
+                       {
+                               ExpectedExceptionNotCaught("System.ArgumentException");
+                       }
+                       finally
+                       {
+                               if (con != null) con.Close();
+                               EndCase(exp);
+                               exp = null;
+                       }
+               }
+       }
+}
\ No newline at end of file
diff --git a/mcs/class/System.Data.OracleClient/Test/System.Data.OracleClient.jvm/OracleConnection/OracleConnection_State.cs b/mcs/class/System.Data.OracleClient/Test/System.Data.OracleClient.jvm/OracleConnection/OracleConnection_State.cs
new file mode 100755 (executable)
index 0000000..7f8c813
--- /dev/null
@@ -0,0 +1,108 @@
+// 
+// Copyright (c) 2006 Mainsoft Co.
+// 
+// Permission is hereby granted, free of charge, to any person obtaining
+// a copy of this software and associated documentation files (the
+// "Software"), to deal in the Software without restriction, including
+// without limitation the rights to use, copy, modify, merge, publish,
+// distribute, sublicense, and/or sell copies of the Software, and to
+// permit persons to whom the Software is furnished to do so, subject to
+// the following conditions:
+// 
+// The above copyright notice and this permission notice shall be
+// included in all copies or substantial portions of the Software.
+// 
+// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
+// EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
+// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
+// NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
+// LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
+// OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
+// WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
+//
+
+using System;
+using System.Data;
+using System.Data.OracleClient;
+
+using MonoTests.System.Data.Utils;
+
+
+using NUnit.Framework;
+
+namespace MonoTests.System.Data.OracleClient
+{
+[TestFixture]
+public class OracleConnection_State : GHTBase
+{
+       public static void Main()
+       {
+               OracleConnection_State tc = new OracleConnection_State();
+               Exception exp = null;
+               try
+               {
+                       tc.BeginTest("NoName");
+                       tc.run();
+               }
+               catch(Exception ex){exp = ex;}
+               finally {tc.EndTest(exp);}
+       }
+
+       [Test]
+       public void run()
+       {
+               Exception exp = null;
+
+               OracleConnection con = new OracleConnection(MonoTests.System.Data.Utils.ConnectedDataProvider.ConnectionString);
+        
+               // ----------- reserved for future versions of the product ---------------
+               //Broken        The connection to the data source is broken. This can occur only after the connection has been opened. A connection in this state may be closed and then re-opened. (This value is reserved for future versions of the product).
+               //Connecting  The connection object is connecting to the data source. (This value is reserved for future versions of the product.) 2 
+               //Executing The connection object is executing a command. (This value is reserved for future versions of the product.) 4 
+               //Fetching  The connection object is retrieving data. (This value is reserved for future versions of the product.) 8 
+
+               //-------------- checking only the following: ----------------
+               //Closed  The connection is closed.  
+               //Open  The connection is open. 
+
+               try
+               {
+                       BeginCase("ConnectionState Closed");
+                       Compare(con.State ,ConnectionState.Closed );
+               } 
+               catch(Exception ex){exp = ex;}
+               finally{EndCase(exp); exp = null;}
+
+               try
+               {
+                       BeginCase("ConnectionState Open");
+                       con.Open();
+                       Compare(con.State ,ConnectionState.Open  );
+               } 
+               catch(Exception ex){exp = ex;}
+               finally{EndCase(exp); exp = null;}
+
+               con.Close();
+
+               try
+               {
+                       BeginCase("ConnectionState Closed after open");
+                       Compare(con.State ,ConnectionState.Closed );
+               } 
+               catch(Exception ex){exp = ex;}
+               finally{EndCase(exp); exp = null;}
+       }
+
+
+       //public TestClass():base(true){}
+
+       //Activate this constructor to log Failures to a log file
+       //public TestClass(System.IO.TextWriter tw):base(tw, false){}
+
+       //Activate this constructor to log All to a log file
+       //public TestClass(System.IO.TextWriter tw):base(tw, true){}
+
+       //BY DEFAULT LOGGING IS DONE TO THE STANDARD OUTPUT ONLY FOR FAILURES
+
+}
+}
\ No newline at end of file
diff --git a/mcs/class/System.Data.OracleClient/Test/System.Data.OracleClient.jvm/OracleConnection/OracleConnection_StateChange.cs b/mcs/class/System.Data.OracleClient/Test/System.Data.OracleClient.jvm/OracleConnection/OracleConnection_StateChange.cs
new file mode 100755 (executable)
index 0000000..b2e49d2
--- /dev/null
@@ -0,0 +1,151 @@
+// 
+// Copyright (c) 2006 Mainsoft Co.
+// 
+// Permission is hereby granted, free of charge, to any person obtaining
+// a copy of this software and associated documentation files (the
+// "Software"), to deal in the Software without restriction, including
+// without limitation the rights to use, copy, modify, merge, publish,
+// distribute, sublicense, and/or sell copies of the Software, and to
+// permit persons to whom the Software is furnished to do so, subject to
+// the following conditions:
+// 
+// The above copyright notice and this permission notice shall be
+// included in all copies or substantial portions of the Software.
+// 
+// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
+// EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
+// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
+// NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
+// LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
+// OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
+// WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
+//
+
+using System;
+using System.Data;
+using System.Data.OracleClient;
+
+using MonoTests.System.Data.Utils;
+
+
+using NUnit.Framework;
+
+namespace MonoTests.System.Data.OracleClient
+{
+[TestFixture]
+public class OracleConnection_StateChange : GHTBase
+{
+       public static void Main()
+       {
+               OracleConnection_StateChange tc = new OracleConnection_StateChange();
+               Exception exp = null;
+               try
+               {
+                       tc.BeginTest("OracleConnection_StateChange");
+                       tc.run();
+               }
+               catch(Exception ex){exp = ex;}
+               finally {tc.EndTest(exp);}
+       }
+
+
+       bool blnEventRaised = false;
+       ConnectionState OriginalState,CurrentState;
+
+       [Test]
+       public void run()
+       {
+               
+               Exception exp = null;
+
+               OracleConnection con = new OracleConnection(MonoTests.System.Data.Utils.ConnectedDataProvider.ConnectionString);
+        
+               // ----------- reserved for future versions of the product ---------------
+               //Broken        The connection to the data source is broken. This can occur only after the connection has been opened. A connection in this state may be closed and then re-opened. (This value is reserved for future versions of the product).
+               //Connecting  The connection object is connecting to the data source. (This value is reserved for future versions of the product.) 2 
+               //Executing The connection object is executing a command. (This value is reserved for future versions of the product.) 4 
+               //Fetching  The connection object is retrieving data. (This value is reserved for future versions of the product.) 8 
+
+               //-------------- checking only the following: ----------------
+               //Closed  The connection is closed.  
+               //Open  The connection is open. 
+
+
+               //add event handler
+               con.StateChange +=new StateChangeEventHandler(con_StateChange);
+
+               con.Open();
+               try
+               {
+                       BeginCase("ConnectionState Closed");
+                       Compare(blnEventRaised,true);
+               } 
+               catch(Exception ex){exp = ex;}
+               finally{EndCase(exp); exp = null;}
+
+               try
+               {
+                       BeginCase("OriginalState Closed");
+                       Compare(OriginalState,ConnectionState.Closed );
+               } 
+               catch(Exception ex){exp = ex;}
+               finally{EndCase(exp); exp = null;}
+
+               try
+               {
+                       BeginCase("CurrentState Open");
+                       Compare(CurrentState,ConnectionState.Open );
+               } 
+               catch(Exception ex){exp = ex;}
+               finally{EndCase(exp); exp = null;}
+
+               blnEventRaised = false;
+               con.Close();
+               try
+               {
+                       BeginCase("ConnectionState Open");
+                       Compare(blnEventRaised,true);
+               } 
+               catch(Exception ex){exp = ex;}
+               finally{EndCase(exp); exp = null;}
+
+               try
+               {
+                       BeginCase("OriginalState Open");
+                       Compare(OriginalState,ConnectionState.Open );
+               } 
+               catch(Exception ex){exp = ex;}
+               finally{EndCase(exp); exp = null;}
+
+               try
+               {
+                       BeginCase("CurrentState Close");
+                       Compare(CurrentState,ConnectionState.Closed  );
+               } 
+               catch(Exception ex){exp = ex;}
+               finally{EndCase(exp); exp = null;}
+
+               if (con.State == ConnectionState.Open) con.Close();
+       }
+
+       void con_StateChange(Object sender, StateChangeEventArgs e)
+       {
+               CurrentState = e.CurrentState ;
+               OriginalState = e.OriginalState ;
+               blnEventRaised = true;
+
+
+       }
+
+       //public TestClass():base(true){}
+
+       //Activate this constructor to log Failures to a log file
+       //public TestClass(System.IO.TextWriter tw):base(tw, false){}
+
+       //Activate this constructor to log All to a log file
+       //public TestClass(System.IO.TextWriter tw):base(tw, true){}
+
+       //BY DEFAULT LOGGING IS DONE TO THE STANDARD OUTPUT ONLY FOR FAILURES
+
+}
+}
\ No newline at end of file
diff --git a/mcs/class/System.Data.OracleClient/Test/System.Data.OracleClient.jvm/OracleDataAdapter/OracleDataAdapter_AcceptChangesDuringFill.cs b/mcs/class/System.Data.OracleClient/Test/System.Data.OracleClient.jvm/OracleDataAdapter/OracleDataAdapter_AcceptChangesDuringFill.cs
new file mode 100755 (executable)
index 0000000..3049921
--- /dev/null
@@ -0,0 +1,80 @@
+// 
+// Copyright (c) 2006 Mainsoft Co.
+// 
+// Permission is hereby granted, free of charge, to any person obtaining
+// a copy of this software and associated documentation files (the
+// "Software"), to deal in the Software without restriction, including
+// without limitation the rights to use, copy, modify, merge, publish,
+// distribute, sublicense, and/or sell copies of the Software, and to
+// permit persons to whom the Software is furnished to do so, subject to
+// the following conditions:
+// 
+// The above copyright notice and this permission notice shall be
+// included in all copies or substantial portions of the Software.
+// 
+// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
+// EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
+// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
+// NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
+// LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
+// OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
+// WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
+//
+
+using System;
+using System.Data;
+using System.Data.Common;
+using System.Data.OracleClient;
+
+using MonoTests.System.Data.Utils;
+
+
+using NUnit.Framework;
+
+namespace MonoTests.System.Data.OracleClient
+{
+       [TestFixture]
+       public class OracleDataAdapter_AcceptChangesDuringFill : ADONetTesterClass 
+       {
+               public static void Main()
+               {
+                       OracleDataAdapter_AcceptChangesDuringFill tc = new OracleDataAdapter_AcceptChangesDuringFill();
+                       Exception exp = null;
+                       try
+                       {
+                               tc.BeginTest("OracleDataAdapter_AcceptChangesDuringFill");
+                               tc.run();
+                       }
+                       catch(Exception ex)
+                       {
+                               exp = ex;
+                       }
+                       finally
+                       {
+                               tc.EndTest(exp);
+                       }
+
+               }
+
+
+               //public TestClass():base(true){}
+
+               //Activate this constructor to log Failures to a log file
+               //public TestClass(System.IO.TextWriter tw):base(tw, false){}
+
+
+               //Activate this constructor to log All to a log file
+               //public TestClass(System.IO.TextWriter tw):base(tw, true){}
+
+               //BY DEFAULT LOGGING IS DONE TO THE STANDARD OUTPUT ONLY FOR FAILURES
+
+               [Test]
+               public void run()
+               {
+                       OracleDataAdapter oleDBda = new OracleDataAdapter();
+                       oleDBda.SelectCommand = new OracleCommand("",new OracleConnection());
+
+                       DataAdapter_AcceptChangesDuringFill((DbDataAdapter)oleDBda);
+               }
+       }
+}
\ No newline at end of file
diff --git a/mcs/class/System.Data.OracleClient/Test/System.Data.OracleClient.jvm/OracleDataAdapter/OracleDataAdapter_ContinueUpdateOnError.cs b/mcs/class/System.Data.OracleClient/Test/System.Data.OracleClient.jvm/OracleDataAdapter/OracleDataAdapter_ContinueUpdateOnError.cs
new file mode 100755 (executable)
index 0000000..acf4ccb
--- /dev/null
@@ -0,0 +1,80 @@
+// 
+// Copyright (c) 2006 Mainsoft Co.
+// 
+// Permission is hereby granted, free of charge, to any person obtaining
+// a copy of this software and associated documentation files (the
+// "Software"), to deal in the Software without restriction, including
+// without limitation the rights to use, copy, modify, merge, publish,
+// distribute, sublicense, and/or sell copies of the Software, and to
+// permit persons to whom the Software is furnished to do so, subject to
+// the following conditions:
+// 
+// The above copyright notice and this permission notice shall be
+// included in all copies or substantial portions of the Software.
+// 
+// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
+// EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
+// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
+// NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
+// LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
+// OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
+// WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
+//
+
+using System;
+using System.Data;
+using System.Data.Common;
+using System.Data.OracleClient;
+
+using MonoTests.System.Data.Utils;
+
+
+using NUnit.Framework;
+
+namespace MonoTests.System.Data.OracleClient
+{
+       [TestFixture]
+       public class OracleDataAdapter_ContinueUpdateOnError : ADONetTesterClass
+       {
+               public static void Main()
+               {
+                       OracleDataAdapter_ContinueUpdateOnError tc = new OracleDataAdapter_ContinueUpdateOnError();
+                       Exception exp = null;
+                       try
+                       {
+                               tc.BeginTest("OracleDataAdapter_ContinueUpdateOnError");
+                               tc.run();
+                       }
+                       catch(Exception ex)
+                       {
+                               exp = ex;
+                       }
+                       finally
+                       {
+                               tc.EndTest(exp);
+                       }
+               }
+
+
+               //public TestClass():base(true){}
+
+               //Activate this constructor to log Failures to a log file
+               //public TestClass(System.IO.TextWriter tw):base(tw, false){}
+
+
+               //Activate this constructor to log All to a log file
+               //public TestClass(System.IO.TextWriter tw):base(tw, true){}
+
+               //BY DEFAULT LOGGING IS DONE TO THE STANDARD OUTPUT ONLY FOR FAILURES
+
+               [Test]
+               public void run()
+               {
+                       OracleDataAdapter oleDBda = new OracleDataAdapter();
+                       oleDBda.SelectCommand = new OracleCommand("",new OracleConnection());
+
+
+                       base.DataAdapter_ContinueUpdateOnError((DbDataAdapter)oleDBda);
+               }
+       }
+}
\ No newline at end of file
diff --git a/mcs/class/System.Data.OracleClient/Test/System.Data.OracleClient.jvm/OracleDataAdapter/OracleDataAdapter_DeleteCommand.cs b/mcs/class/System.Data.OracleClient/Test/System.Data.OracleClient.jvm/OracleDataAdapter/OracleDataAdapter_DeleteCommand.cs
new file mode 100755 (executable)
index 0000000..8ad5898
--- /dev/null
@@ -0,0 +1,92 @@
+// 
+// Copyright (c) 2006 Mainsoft Co.
+// 
+// Permission is hereby granted, free of charge, to any person obtaining
+// a copy of this software and associated documentation files (the
+// "Software"), to deal in the Software without restriction, including
+// without limitation the rights to use, copy, modify, merge, publish,
+// distribute, sublicense, and/or sell copies of the Software, and to
+// permit persons to whom the Software is furnished to do so, subject to
+// the following conditions:
+// 
+// The above copyright notice and this permission notice shall be
+// included in all copies or substantial portions of the Software.
+// 
+// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
+// EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
+// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
+// NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
+// LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
+// OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
+// WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
+//
+
+
+
+using System;
+using System.Data;
+using System.Data.OracleClient;
+
+using MonoTests.System.Data.Utils;
+
+
+using NUnit.Framework;
+
+namespace MonoTests.System.Data.OracleClient
+{
+[TestFixture]
+public class OracleDataAdapter_DeleteCommand : GHTBase
+{
+       public static void Main()
+       {
+               OracleDataAdapter_DeleteCommand tc = new OracleDataAdapter_DeleteCommand();
+               Exception exp = null;
+               try
+               {
+                       tc.BeginTest("OracleDataAdapter_DeleteCommand");
+                       tc.run();
+               }
+               catch(Exception ex)
+               {
+                       exp = ex;
+               }
+               finally
+               {
+                       tc.EndTest(exp);
+               }
+       }
+
+
+       //public TestClass():base(true){}
+
+       //Activate this constructor to log Failures to a log file
+       //public TestClass(System.IO.TextWriter tw):base(tw, false){}
+
+
+       //Activate this constructor to log All to a log file
+       //public TestClass(System.IO.TextWriter tw):base(tw, true){}
+
+       //BY DEFAULT LOGGING IS DONE TO THE STANDARD OUTPUT ONLY FOR FAILURES
+
+       [Test]
+       public void run()
+       {
+               Exception exp = null;
+               
+               OracleDataAdapter oleDBda = new OracleDataAdapter();
+
+               OracleCommand Cmd = new OracleCommand();
+
+               oleDBda.DeleteCommand = Cmd;
+
+               try
+               {
+                       BeginCase("DeleteCommand - Get");
+                       Compare(oleDBda.DeleteCommand , Cmd);
+               }
+               catch(Exception ex)     {exp = ex;}
+               finally {EndCase(exp); exp = null;}
+
+       }
+}
+}
\ No newline at end of file
diff --git a/mcs/class/System.Data.OracleClient/Test/System.Data.OracleClient.jvm/OracleDataAdapter/OracleDataAdapter_Dispose.cs b/mcs/class/System.Data.OracleClient/Test/System.Data.OracleClient.jvm/OracleDataAdapter/OracleDataAdapter_Dispose.cs
new file mode 100755 (executable)
index 0000000..428f091
--- /dev/null
@@ -0,0 +1,225 @@
+// 
+// Copyright (c) 2006 Mainsoft Co.
+// 
+// Permission is hereby granted, free of charge, to any person obtaining
+// a copy of this software and associated documentation files (the
+// "Software"), to deal in the Software without restriction, including
+// without limitation the rights to use, copy, modify, merge, publish,
+// distribute, sublicense, and/or sell copies of the Software, and to
+// permit persons to whom the Software is furnished to do so, subject to
+// the following conditions:
+// 
+// The above copyright notice and this permission notice shall be
+// included in all copies or substantial portions of the Software.
+// 
+// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
+// EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
+// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
+// NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
+// LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
+// OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
+// WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
+//
+
+
+
+using System;
+using System.Data;
+using System.Data.OracleClient ;
+
+using MonoTests.System.Data.Utils;
+
+
+using NUnit.Framework;
+
+namespace MonoTests.System.Data.OracleClient
+{
+[TestFixture]
+public class OracleDataAdapter_Dispose : GHTBase
+{
+       OracleConnection con;
+
+       OracleCommand cmdSelect;
+       OracleCommand cmdDelete;
+       OracleCommand cmdUpdate;
+       OracleCommand cmdInsert;
+
+       [SetUp]
+       public void SetUp() {
+               string sqlSelect = "Select * from Customers where CustomerID = 'ABC'";
+               con = new OracleConnection(MonoTests.System.Data.Utils.ConnectedDataProvider.ConnectionString);
+               
+               cmdSelect = new OracleCommand(sqlSelect,con);
+               cmdDelete = new OracleCommand("",con);
+               cmdUpdate = new OracleCommand("",con);
+               cmdInsert = null;
+
+               con.Open();
+       }
+
+       [TearDown]
+       public void TearDown() {
+               if (con.State == ConnectionState.Open) con.Close();
+       }
+
+       public static void Main()
+       {
+               OracleDataAdapter_Dispose tc = new OracleDataAdapter_Dispose();
+               Exception exp = null;
+               try
+               {
+                       tc.BeginTest("OracleDataAdapter_Dispose");
+                       tc.SetUp();
+                       tc.run();
+                       tc.TearDown();
+               }
+               catch(Exception ex)
+               {
+                       exp = ex;
+               }
+               finally
+               {
+                       tc.EndTest(exp);
+               }
+       }
+
+
+       //public TestClass():base(true){}
+
+       //Activate this constructor to log Failures to a log file
+       //public TestClass(System.IO.TextWriter tw):base(tw, false){}
+
+
+       //Activate this constructor to log All to a log file
+       //public TestClass(System.IO.TextWriter tw):base(tw, true){}
+
+       //BY DEFAULT LOGGING IS DONE TO THE STANDARD OUTPUT ONLY FOR FAILURES
+
+       [Test]
+       public void run()
+       {
+               Exception exp = null;
+
+               DataSet ds = new DataSet();
+               
+
+               OracleDataAdapter da = new OracleDataAdapter(cmdSelect);
+               da.DeleteCommand = cmdDelete;
+               da.UpdateCommand = cmdUpdate;
+               da.InsertCommand = new OracleCommand("",con);
+
+               cmdInsert =     da.InsertCommand;
+
+               da.Fill(ds);
+
+               try
+               {
+                       BeginCase("Dispose - check DataAdapter select command");
+                       da.Dispose();
+                       Compare(da.SelectCommand == null, true);
+               } 
+               catch(Exception ex){exp = ex;}
+               finally{EndCase(exp);exp = null;}
+
+               try
+               {
+                       BeginCase("Dispose - check DataAdapter insert command");
+                       Compare(da.InsertCommand == null, true);
+               } 
+               catch(Exception ex){exp = ex;}
+               finally{EndCase(exp);exp = null;}
+
+               try
+               {
+                       BeginCase("Dispose - check DataAdapter Delete Command");
+                       Compare(da.DeleteCommand == null, true);
+               } 
+               catch(Exception ex){exp = ex;}
+               finally{EndCase(exp);exp = null;}
+
+               try
+               {
+                       BeginCase("Dispose - check DataAdapter update command");
+                       Compare(da.UpdateCommand == null, true);
+               } 
+               catch(Exception ex){exp = ex;}
+               finally{EndCase(exp);exp = null;}
+
+
+
+               try
+               {
+                       BeginCase("Dispose - check select command object");
+                       Compare(cmdSelect != null, true);
+               } 
+               catch(Exception ex){exp = ex;}
+               finally{EndCase(exp);exp = null;}
+
+               try
+               {
+                       BeginCase("Dispose - check delete command object");
+                       Compare(cmdDelete  != null, true);
+               } 
+               catch(Exception ex){exp = ex;}
+               finally{EndCase(exp);exp = null;}
+
+               try
+               {
+                       BeginCase("Dispose - check insert command object");
+                       Compare(cmdInsert != null, true);
+               } 
+               catch(Exception ex){exp = ex;}
+               finally{EndCase(exp);exp = null;}
+
+               try
+               {
+                       BeginCase("Dispose - check Update command object");
+                       Compare(cmdUpdate != null, true);
+               } 
+               catch(Exception ex){exp = ex;}
+               finally{EndCase(exp);exp = null;}
+
+               try
+               {
+                       BeginCase("Dispose - check cmdSelect.connection object");
+                       Compare(cmdSelect.Connection != null ,true);
+               } 
+               catch(Exception ex){exp = ex;}
+               finally{EndCase(exp);exp = null;}
+
+               try
+               {
+                       BeginCase("Dispose - check cmdDelete.connection object");
+                       Compare(cmdDelete.Connection != null ,true);
+               } 
+               catch(Exception ex){exp = ex;}
+               finally{EndCase(exp);exp = null;}
+
+               try
+               {
+                       BeginCase("Dispose - check cmdUpdate.connection object");
+                       Compare(cmdUpdate.Connection != null ,true);
+               } 
+               catch(Exception ex){exp = ex;}
+               finally{EndCase(exp);exp = null;}
+
+               try
+               {
+                       BeginCase("Dispose - check cmdInsert.connection object");
+                       Compare(cmdInsert.Connection != null ,true);
+               } 
+               catch(Exception ex){exp = ex;}
+               finally{EndCase(exp);exp = null;}
+
+               try
+               {
+                       BeginCase("Dispose - check command connection state");
+                       da.Dispose();
+                       Compare(cmdSelect.Connection.State ,ConnectionState.Open);
+               } 
+               catch(Exception ex){exp = ex;}
+               finally{EndCase(exp);exp = null;}
+
+       }
+}
+}
\ No newline at end of file
diff --git a/mcs/class/System.Data.OracleClient/Test/System.Data.OracleClient.jvm/OracleDataAdapter/OracleDataAdapter_FillError.cs b/mcs/class/System.Data.OracleClient/Test/System.Data.OracleClient.jvm/OracleDataAdapter/OracleDataAdapter_FillError.cs
new file mode 100755 (executable)
index 0000000..18b7edf
--- /dev/null
@@ -0,0 +1,81 @@
+// 
+// Copyright (c) 2006 Mainsoft Co.
+// 
+// Permission is hereby granted, free of charge, to any person obtaining
+// a copy of this software and associated documentation files (the
+// "Software"), to deal in the Software without restriction, including
+// without limitation the rights to use, copy, modify, merge, publish,
+// distribute, sublicense, and/or sell copies of the Software, and to
+// permit persons to whom the Software is furnished to do so, subject to
+// the following conditions:
+// 
+// The above copyright notice and this permission notice shall be
+// included in all copies or substantial portions of the Software.
+// 
+// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
+// EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
+// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
+// NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
+// LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
+// OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
+// WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
+//
+
+
+
+using System;
+using System.Data;
+using System.Data.Common;
+using System.Data.OracleClient;
+
+using MonoTests.System.Data.Utils;
+
+
+using NUnit.Framework;
+
+namespace MonoTests.System.Data.OracleClient
+{
+       [TestFixture]
+       public class OracleDataAdapter_FillError : ADONetTesterClass
+       {
+               public static void Main()
+               {
+                       OracleDataAdapter_FillError tc = new OracleDataAdapter_FillError();
+                       Exception exp = null;
+                       try
+                       {
+                               tc.BeginTest("OracleDataAdapter_FillError");
+                               tc.run();
+                       }
+                       catch(Exception ex)
+                       {
+                               exp = ex;
+                       }
+                       finally
+                       {
+                               tc.EndTest(exp);
+                       }
+               }
+
+
+               //public TestClass():base(true){}
+
+               //Activate this constructor to log Failures to a log file
+               //public TestClass(System.IO.TextWriter tw):base(tw, false){}
+
+
+               //Activate this constructor to log All to a log file
+               //public TestClass(System.IO.TextWriter tw):base(tw, true){}
+
+               //BY DEFAULT LOGGING IS DONE TO THE STANDARD OUTPUT ONLY FOR FAILURES
+
+               [Test]
+               public void run()
+               {
+                       OracleDataAdapter oleDBda = new OracleDataAdapter();
+                       oleDBda.SelectCommand = new OracleCommand("",new OracleConnection());
+
+                       base.DbDataAdapter_FillError((DbDataAdapter)oleDBda);
+               }
+       }
+}
\ No newline at end of file
diff --git a/mcs/class/System.Data.OracleClient/Test/System.Data.OracleClient.jvm/OracleDataAdapter/OracleDataAdapter_FillSchema_DS.cs b/mcs/class/System.Data.OracleClient/Test/System.Data.OracleClient.jvm/OracleDataAdapter/OracleDataAdapter_FillSchema_DS.cs
new file mode 100755 (executable)
index 0000000..b7868ee
--- /dev/null
@@ -0,0 +1,85 @@
+// 
+// Copyright (c) 2006 Mainsoft Co.
+// 
+// Permission is hereby granted, free of charge, to any person obtaining
+// a copy of this software and associated documentation files (the
+// "Software"), to deal in the Software without restriction, including
+// without limitation the rights to use, copy, modify, merge, publish,
+// distribute, sublicense, and/or sell copies of the Software, and to
+// permit persons to whom the Software is furnished to do so, subject to
+// the following conditions:
+// 
+// The above copyright notice and this permission notice shall be
+// included in all copies or substantial portions of the Software.
+// 
+// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
+// EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
+// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
+// NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
+// LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
+// OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
+// WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
+//
+
+
+
+using System;
+using System.Data;
+using System.Data.Common;
+using System.Data.OracleClient;
+
+using MonoTests.System.Data.Utils;
+
+
+using NUnit.Framework;
+
+namespace MonoTests.System.Data.OracleClient
+{
+       [TestFixture]
+       public class OracleDataAdapter_FillSchema_DS : ADONetTesterClass
+       {
+               public static void Main()
+               {
+                       OracleDataAdapter_FillSchema_DS tc = new OracleDataAdapter_FillSchema_DS();
+                       Exception exp = null;
+                       try
+                       {
+                               tc.BeginTest("OracleDataAdapter_FillSchema_DS");
+                               tc.run();
+                       }
+                       catch(Exception ex)
+                       {
+                               exp = ex;
+                       }
+                       finally
+                       {
+                               tc.EndTest(exp);
+                       }
+               }
+
+
+               //public TestClass():base(true){}
+
+               //Activate this constructor to log Failures to a log file
+               //public TestClass(System.IO.TextWriter tw):base(tw, false){}
+
+
+               //Activate this constructor to log All to a log file
+               //public TestClass(System.IO.TextWriter tw):base(tw, true){}
+
+               //BY DEFAULT LOGGING IS DONE TO THE STANDARD OUTPUT ONLY FOR FAILURES
+
+               [Test]
+#if JAVA
+               [Category("NotWorking")]
+#endif
+               public void run()
+               {
+                       OracleDataAdapter oleDBda = new OracleDataAdapter();
+                       oleDBda.SelectCommand = new OracleCommand("",new OracleConnection());
+
+                       base.DbDataAdapter_FillSchema_Ds_SchemaType((DbDataAdapter)oleDBda);
+
+               }
+       }
+}
\ No newline at end of file
diff --git a/mcs/class/System.Data.OracleClient/Test/System.Data.OracleClient.jvm/OracleDataAdapter/OracleDataAdapter_FillSchema_DSS.cs b/mcs/class/System.Data.OracleClient/Test/System.Data.OracleClient.jvm/OracleDataAdapter/OracleDataAdapter_FillSchema_DSS.cs
new file mode 100755 (executable)
index 0000000..868f163
--- /dev/null
@@ -0,0 +1,85 @@
+// 
+// Copyright (c) 2006 Mainsoft Co.
+// 
+// Permission is hereby granted, free of charge, to any person obtaining
+// a copy of this software and associated documentation files (the
+// "Software"), to deal in the Software without restriction, including
+// without limitation the rights to use, copy, modify, merge, publish,
+// distribute, sublicense, and/or sell copies of the Software, and to
+// permit persons to whom the Software is furnished to do so, subject to
+// the following conditions:
+// 
+// The above copyright notice and this permission notice shall be
+// included in all copies or substantial portions of the Software.
+// 
+// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
+// EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
+// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
+// NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
+// LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
+// OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
+// WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
+//
+
+
+
+using System;
+using System.Data;
+using System.Data.Common;
+using System.Data.OracleClient;
+
+using MonoTests.System.Data.Utils;
+
+
+using NUnit.Framework;
+
+namespace MonoTests.System.Data.OracleClient
+{
+       [TestFixture]
+       public class OracleDataAdapter_FillSchema_DSS : ADONetTesterClass
+       {
+               public static void Main()
+               {
+                       OracleDataAdapter_FillSchema_DSS tc = new OracleDataAdapter_FillSchema_DSS();
+                       Exception exp = null;
+                       try
+                       {
+                               tc.BeginTest("OracleDataAdapter_FillSchema_DSS");
+                               tc.run();
+                       }
+                       catch(Exception ex)
+                       {
+                               exp = ex;
+                       }
+                       finally
+                       {
+                               tc.EndTest(exp);
+                       }
+               }
+
+
+               //public TestClass():base(true){}
+
+               //Activate this constructor to log Failures to a log file
+               //public TestClass(System.IO.TextWriter tw):base(tw, false){}
+
+
+               //Activate this constructor to log All to a log file
+               //public TestClass(System.IO.TextWriter tw):base(tw, true){}
+
+               //BY DEFAULT LOGGING IS DONE TO THE STANDARD OUTPUT ONLY FOR FAILURES
+
+               [Test]
+#if JAVA
+               [Category("NotWorking")]
+#endif
+               public void run()
+               {
+                       OracleDataAdapter oleDBda = new OracleDataAdapter();
+                       oleDBda.SelectCommand = new OracleCommand("",new OracleConnection());
+
+                       base.DbDataAdapter_FillSchema_Ds_SchemaType_Str((DbDataAdapter)oleDBda);
+
+               }
+       }
+}
\ No newline at end of file
diff --git a/mcs/class/System.Data.OracleClient/Test/System.Data.OracleClient.jvm/OracleDataAdapter/OracleDataAdapter_FillSchema_DsSt.cs b/mcs/class/System.Data.OracleClient/Test/System.Data.OracleClient.jvm/OracleDataAdapter/OracleDataAdapter_FillSchema_DsSt.cs
new file mode 100755 (executable)
index 0000000..a4a8ed2
--- /dev/null
@@ -0,0 +1,111 @@
+// 
+// Copyright (c) 2006 Mainsoft Co.
+// 
+// Permission is hereby granted, free of charge, to any person obtaining
+// a copy of this software and associated documentation files (the
+// "Software"), to deal in the Software without restriction, including
+// without limitation the rights to use, copy, modify, merge, publish,
+// distribute, sublicense, and/or sell copies of the Software, and to
+// permit persons to whom the Software is furnished to do so, subject to
+// the following conditions:
+// 
+// The above copyright notice and this permission notice shall be
+// included in all copies or substantial portions of the Software.
+// 
+// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
+// EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
+// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
+// NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
+// LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
+// OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
+// WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
+//
+
+using System;
+using System.Text;
+using System.Data;
+using System.Data.OracleClient;
+
+using MonoTests.System.Data.Utils;
+
+
+using NUnit.Framework;
+namespace MonoTests.System.Data.OracleClient
+{
+[TestFixture]
+public class OracleDataAdapter_FillSchema_DsSt : ADONetTesterClass
+{
+       private Exception exp;
+       private string connectionString = ConnectedDataProvider.ConnectionString;
+
+       public static void Main()
+       {
+               OracleDataAdapter_FillSchema_DsSt tc = new OracleDataAdapter_FillSchema_DsSt();
+               Exception l_exp = null;
+               try
+               {
+                       // Every Test must begin with BeginTest
+                       tc.BeginTest("OracleDataAdapter_FillSchema_DsSt");
+                       tc.run();
+               }
+               catch(Exception ex)
+               {
+                       l_exp = ex;
+               }
+               finally
+               {
+                       // Every Test must End with EndTest
+                       tc.EndTest(l_exp);
+               }
+       }
+
+       public void run()
+       {
+               TestLongSqlExpression();
+       }
+
+       //Test case for bug #4708
+       [Test(Description="Test case for bug #4708")]
+       public void TestLongSqlExpression()
+       {
+               BeginCase("Long SQL string cause java.lang.StackOverflowError (Test case for bug #4708)");
+
+               StringBuilder querySb = new StringBuilder();
+               querySb.Append("SELECT ");
+               querySb.Append("c.CustomerID as ci1, c.CustomerID as ci2, c.CustomerID as ci3, c.CustomerID as ci4, ");
+               querySb.Append("c.CompanyName as cn1, c.CompanyName as cn2, c.CompanyName as cn3, c.CompanyName as cn4, ");
+               querySb.Append("c.ContactName as cntn1, c.ContactName as cntn2, c.ContactName as cntn3, c.ContactName as cntn4, ");
+               querySb.Append("c.ContactTitle as ct1, c.ContactTitle as ct2, c.ContactTitle as ct3, c.ContactTitle as ct4, ");
+               querySb.Append("c.Address as ad1, c.Address as ad2, c.Address as ad3, c.Address as ad4, ");
+               querySb.Append("c.City as ct1, c.City as ct2, c.City as ct3, c.City as ct4, ");
+               querySb.Append("c.Region as rg1, c.Region as rg2, c.Region as rg3, c.Region as rg4, ");
+               querySb.Append("c.PostalCode as pc1, c.PostalCode as pc2, c.PostalCode as pc3, c.PostalCode as pc4, ");
+               querySb.Append("c.Country as co1, c.Country as co2, c.Country as co3, c.Country as co4, ");
+               querySb.Append("c.Phone as ph1, c.Phone as ph2, c.Phone as ph3, c.Phone as ph4, ");
+               querySb.Append("c.Fax as fx1, c.Fax as fx2, c.Fax as fx3, c.Fax as fx4 ");
+               querySb.Append("FROM Customers c");
+               OracleDataAdapter adapter = null;
+               DataSet schemaDs = new DataSet();
+               try
+               {
+                       using(adapter = new OracleDataAdapter(querySb.ToString(), this.connectionString))
+                       {
+                               adapter.MissingSchemaAction = MissingSchemaAction.AddWithKey;
+                               adapter.FillSchema(schemaDs, SchemaType.Source);
+                               Compare(schemaDs.Tables.Count, 1);
+                       }
+               } 
+               catch(Exception ex)
+               {
+                       exp = ex;
+               }
+               finally
+               {
+                       EndCase(exp);
+                       exp = null;
+               }
+       }
+
+
+}
+}
\ No newline at end of file
diff --git a/mcs/class/System.Data.OracleClient/Test/System.Data.OracleClient.jvm/OracleDataAdapter/OracleDataAdapter_FillSchema_DtSch.cs b/mcs/class/System.Data.OracleClient/Test/System.Data.OracleClient.jvm/OracleDataAdapter/OracleDataAdapter_FillSchema_DtSch.cs
new file mode 100755 (executable)
index 0000000..95d114e
--- /dev/null
@@ -0,0 +1,85 @@
+// 
+// Copyright (c) 2006 Mainsoft Co.
+// 
+// Permission is hereby granted, free of charge, to any person obtaining
+// a copy of this software and associated documentation files (the
+// "Software"), to deal in the Software without restriction, including
+// without limitation the rights to use, copy, modify, merge, publish,
+// distribute, sublicense, and/or sell copies of the Software, and to
+// permit persons to whom the Software is furnished to do so, subject to
+// the following conditions:
+// 
+// The above copyright notice and this permission notice shall be
+// included in all copies or substantial portions of the Software.
+// 
+// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
+// EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
+// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
+// NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
+// LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
+// OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
+// WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
+//
+
+
+
+using System;
+using System.Data;
+using System.Data.Common;
+using System.Data.OracleClient;
+
+using MonoTests.System.Data.Utils;
+
+
+using NUnit.Framework;
+
+namespace MonoTests.System.Data.OracleClient
+{
+       [TestFixture]
+       public class OracleDataAdapter_FillSchema_DtSch : ADONetTesterClass
+       {
+               public static void Main()
+               {
+                       OracleDataAdapter_FillSchema_DtSch tc = new OracleDataAdapter_FillSchema_DtSch();
+                       Exception exp = null;
+                       try
+                       {
+                               tc.BeginTest("OracleDataAdapter_FillSchema_DtSch");
+                               tc.run();
+                       }
+                       catch(Exception ex)
+                       {
+                               exp = ex;
+                       }
+                       finally
+                       {
+                               tc.EndTest(exp);
+                       }
+               }
+
+
+               //public TestClass():base(true){}
+
+               //Activate this constructor to log Failures to a log file
+               //public TestClass(System.IO.TextWriter tw):base(tw, false){}
+
+
+               //Activate this constructor to log All to a log file
+               //public TestClass(System.IO.TextWriter tw):base(tw, true){}
+
+               //BY DEFAULT LOGGING IS DONE TO THE STANDARD OUTPUT ONLY FOR FAILURES
+
+               [Test]
+#if JAVA
+               [Category("NotWorking")]
+#endif
+               public void run()
+               {
+                       //Exception exp = null;
+                       OracleDataAdapter oleDBda = new OracleDataAdapter();
+                       oleDBda.SelectCommand = new OracleCommand("",new OracleConnection());
+
+                       base.DbDataAdapter_FillSchema_Dt_SchemaType((DbDataAdapter)oleDBda);
+               }
+       }
+}
\ No newline at end of file
diff --git a/mcs/class/System.Data.OracleClient/Test/System.Data.OracleClient.jvm/OracleDataAdapter/OracleDataAdapter_Fill_1.cs b/mcs/class/System.Data.OracleClient/Test/System.Data.OracleClient.jvm/OracleDataAdapter/OracleDataAdapter_Fill_1.cs
new file mode 100755 (executable)
index 0000000..3518217
--- /dev/null
@@ -0,0 +1,196 @@
+// 
+// Copyright (c) 2006 Mainsoft Co.
+// 
+// Permission is hereby granted, free of charge, to any person obtaining
+// a copy of this software and associated documentation files (the
+// "Software"), to deal in the Software without restriction, including
+// without limitation the rights to use, copy, modify, merge, publish,
+// distribute, sublicense, and/or sell copies of the Software, and to
+// permit persons to whom the Software is furnished to do so, subject to
+// the following conditions:
+// 
+// The above copyright notice and this permission notice shall be
+// included in all copies or substantial portions of the Software.
+// 
+// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
+// EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
+// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
+// NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
+// LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
+// OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
+// WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
+//
+
+using System;
+using System.Text;
+using System.Data;
+using System.Data.OracleClient ;
+
+using MonoTests.System.Data.Utils;
+
+
+using NUnit.Framework;
+
+namespace MonoTests.System.Data.OracleClient
+{
+       [TestFixture]
+       public class OracleDataAdapter_Fill_1: ADONetTesterClass 
+       {
+               // transaction use was add for PostgreSQL
+               OracleTransaction tr;
+
+               OracleConnection con;
+               OracleCommand cmd;
+
+               [SetUp]
+               public void SetUp()
+               {
+                       Exception exp = null;
+                       BeginCase("Setup");
+                       try
+                       {
+                               // prepare data
+                               base.PrepareDataForTesting(MonoTests.System.Data.Utils.ConnectedDataProvider.ConnectionString);
+
+                               con = new OracleConnection(MonoTests.System.Data.Utils.ConnectedDataProvider.ConnectionString);
+                               
+                               con.Open();
+                               // transaction use was add for PostgreSQL
+                               tr = con.BeginTransaction();
+                               
+                               cmd = new OracleCommand("", con, tr);
+
+                               Compare("Setup" ,"Setup");
+                       }
+                       catch(Exception ex)     {exp = ex;}
+                       finally {EndCase(exp); exp = null;}
+               }
+
+               [TearDown]
+               public void TearDown()
+               {
+                       // transaction use was add for PostgreSQL
+                       tr.Commit();
+                       if (con != null)
+                       {
+                               if (con.State == ConnectionState.Open) con.Close();
+                       }
+               }
+
+               public static void Main()
+               {
+                       OracleDataAdapter_Fill_1 tc = new OracleDataAdapter_Fill_1();
+                       Exception exp = null;
+                       try
+                       {
+                               // Every Test must begin with BeginTest
+                               tc.BeginTest("OracleDataAdapter_Fill_1");
+                               tc.SetUp();
+                               tc.run();
+                               tc.TearDown();
+                       }
+                       catch(Exception ex)
+                       {
+                               exp = ex;
+                       }
+                       finally
+                       {
+                               // Every Test must End with EndTest
+                               tc.EndTest(exp);
+                       }
+               }
+
+               [Test]
+               public void run()
+               {
+                       Exception exp = null;
+#if !JAVA
+                       if (ConnectedDataProvider.GetDbType(con) == DataBaseServer.Oracle)
+                       {
+                               StringBuilder messageBuilder = new StringBuilder();
+                               messageBuilder.Append("Test \"OracleDataAdapter_Fill_1\" Skipped when running in .NET against Oracle database:\n");
+                               messageBuilder.Append("In .NET there is a bug when calling a SP with multiple REFCURSORS from oracle server, the workaround is to use OracleClient and not Oracle.\n");
+                               messageBuilder.Append("In GH we are not bug complient in this issue, because there is no workaround - We do not support the OracleClient namespace.");
+                               messageBuilder.Append(" (The java run is not skipped).");
+                               Log(messageBuilder.ToString());
+                               return;
+                       }
+
+                       if (ConnectedDataProvider.GetDbType(con) == DataBaseServer.PostgreSQL)
+                       {
+                               // fail to work on .NET OLEDB
+                               this.Log("Not testing PostgreSQL CommandType.StoredProcedure which return SETOF");
+                               return;
+                       }
+#endif
+
+                       cmd.CommandText = "GH_MULTIRECORDSETS";
+                       cmd.Parameters.Add(new OracleParameter("RCT_Employees", OracleType.Cursor)).Direction = ParameterDirection.Output;
+                       cmd.Parameters.Add(new OracleParameter("RCT_Customers", OracleType.Cursor)).Direction = ParameterDirection.Output;
+                       cmd.Parameters.Add(new OracleParameter("RCT_Orders", OracleType.Cursor)).Direction = ParameterDirection.Output;
+                       cmd.CommandType = CommandType.StoredProcedure;
+                       OracleDataAdapter da = new OracleDataAdapter(cmd);
+                       DataSet ds = new DataSet();
+
+                       //execute the fill command
+                       da.Fill(ds);
+
+                       try
+                       {
+                               BeginCase("Check table count");
+                               Compare(ds.Tables.Count ,3);
+                       }
+                       catch(Exception ex)     {exp = ex;}
+                       finally {EndCase(exp); exp = null;}
+
+                       try
+                       {
+                               BeginCase("Check table 0 rows count");
+                               Compare(ds.Tables[0].Rows.Count ,2);
+                       }
+                       catch(Exception ex)     {exp = ex;}
+                       finally {EndCase(exp); exp = null;}
+
+                       try
+                       {
+                               BeginCase("Check table 0 Columns count");
+                               Compare(ds.Tables[0].Columns.Count ,2);
+                       }
+                       catch(Exception ex)     {exp = ex;}
+                       finally {EndCase(exp); exp = null;}
+
+                       try
+                       {
+                               BeginCase("Check table 1 rows count");
+                               Compare(ds.Tables[1].Rows.Count ,2);
+                       }
+                       catch(Exception ex)     {exp = ex;}
+                       finally {EndCase(exp); exp = null;}
+
+                       try
+                       {
+                               BeginCase("Check table 1 Columns count");
+                               Compare(ds.Tables[1].Columns.Count ,3);
+                       }
+                       catch(Exception ex)     {exp = ex;}
+                       finally {EndCase(exp); exp = null;}
+
+                       try
+                       {
+                               BeginCase("Check table 2 rows count");
+                               Compare(ds.Tables[2].Rows.Count ,0);
+                       }
+                       catch(Exception ex)     {exp = ex;}
+                       finally {EndCase(exp); exp = null;}
+
+                       try
+                       {
+                               BeginCase("Check table 2 Columns count");
+                               Compare(ds.Tables[2].Columns.Count ,4);
+                       }
+                       catch(Exception ex)     {exp = ex;}
+                       finally {EndCase(exp); exp = null;}
+
+               }
+       }
+}
\ No newline at end of file
diff --git a/mcs/class/System.Data.OracleClient/Test/System.Data.OracleClient.jvm/OracleDataAdapter/OracleDataAdapter_Fill_2.cs b/mcs/class/System.Data.OracleClient/Test/System.Data.OracleClient.jvm/OracleDataAdapter/OracleDataAdapter_Fill_2.cs
new file mode 100755 (executable)
index 0000000..658309a
--- /dev/null
@@ -0,0 +1,811 @@
+// 
+// Copyright (c) 2006 Mainsoft Co.
+// 
+// Permission is hereby granted, free of charge, to any person obtaining
+// a copy of this software and associated documentation files (the
+// "Software"), to deal in the Software without restriction, including
+// without limitation the rights to use, copy, modify, merge, publish,
+// distribute, sublicense, and/or sell copies of the Software, and to
+// permit persons to whom the Software is furnished to do so, subject to
+// the following conditions:
+// 
+// The above copyright notice and this permission notice shall be
+// included in all copies or substantial portions of the Software.
+// 
+// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
+// EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
+// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
+// NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
+// LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
+// OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
+// WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
+//
+
+using System;
+using System.Data;
+using System.Data.OracleClient;
+using NUnit.Framework;
+using MonoTests.System.Data.Utils;
+
+
+namespace MonoTests.System.Data.OracleClient
+{
+       [TestFixture]
+       public class OracleDataAdapter_Fill_2 : ADONetTesterClass 
+       {
+               private string nonUniqueId;
+               public static void Main()
+               {
+                       OracleDataAdapter_Fill_2 tc = new OracleDataAdapter_Fill_2();
+                       Exception exp = null;
+                       try
+                       {
+                               tc.BeginTest("OracleDataAdapter_Fill_2");
+                               tc.run();
+                       }
+                       catch(Exception ex){exp = ex;}
+                       finally {tc.EndTest(exp);}
+               }
+
+               [Test]
+               public void run()
+               {
+                       
+                       
+                       OracleConnection con = new OracleConnection(MonoTests.System.Data.Utils.ConnectedDataProvider.ConnectionString);
+                       con.Open();
+
+                       //DoTestThis(con);
+                       DoTestTypes1(con);
+                       //Don't know how to access diffrent database
+                       if ((ConnectedDataProvider.GetDbType(con) != DataBaseServer.DB2) && (ConnectedDataProvider.GetDbType(con) != DataBaseServer.PostgreSQL))
+                       { 
+                               DoTestTypes2(con);
+                               DoTestTypes3(con);
+                       }
+                       
+#if TARGET_JVM
+                       DoTestTypes4(con);
+#endif
+               //      DoTestTypes5(con);   //Table direct --> multipe tables
+                       DoTestTypes6(con);
+                       
+                       if ((ConnectedDataProvider.GetDbType(con) != DataBaseServer.Oracle) && 
+                               (ConnectedDataProvider.GetDbType(con) != DataBaseServer.PostgreSQL))
+                       {
+                               DoTestTypes7(con); //Diffrent owner
+                               
+                       }
+
+                       DoTestTypes8(con); //Diffrent owner
+
+                       //TBD!!
+                       //DoTestTypes9(con);
+                       
+                       if (ConnectedDataProvider.GetDbType(con) != DataBaseServer.PostgreSQL)
+                       {
+                               DoTestTypes10(con);
+                       }
+
+                       CallStoredProcedureInPackage(con);
+                       StoredProcedurePackageambiguity_InsidePackage(con);
+                       StoredProcedurePackageambiguity_OutsidePackage(con);
+
+                       if (con.State == ConnectionState.Open) con.Close();
+               }
+
+               //[Test]
+               public void DoTestThis(OracleConnection con)
+               {
+                       Exception exp = null;
+                       OracleCommand cmd = new OracleCommand("GH_CREATETABLE", con);
+                               cmd.CommandType = CommandType.StoredProcedure;
+                               OracleDataAdapter da = new OracleDataAdapter(cmd);
+                               DataSet ds = new DataSet();
+
+                               try
+                               {
+                                       BeginCase("Check effected rows after create table ddl in stored procedure.");
+                                       int RowsAffected;
+                                       RowsAffected = cmd.ExecuteNonQuery();
+                                       int ExpectedRowsAffected;
+                                       switch (ConnectedDataProvider.GetDbType(con))
+                                       {
+                                               case DataBaseServer.SQLServer:
+                                               case DataBaseServer.Sybase:
+                                                       ExpectedRowsAffected = 3;
+                                                       break;
+                                               case DataBaseServer.Oracle:
+                                                       //In .NET the ExpectedRowsAffected is '1', where as in Java it is '-1', this gap is because of jdbc driver for oracle.
+                                                       ExpectedRowsAffected = -1;
+
+                                                       break;
+                                               case DataBaseServer.DB2:
+                                                       ExpectedRowsAffected = -1;
+                                                       break;
+                                               default:
+                                                       string errMsg = string.Format("GHT: Test not implemented for DB type: {0}", ConnectedDataProvider.GetDbType(con));
+                                                       throw new NotImplementedException(errMsg);
+                                       }
+                                       Compare(RowsAffected ,ExpectedRowsAffected);
+                               }
+                               catch(Exception ex)     {exp = ex;}
+                               finally {EndCase(exp); exp = null;}
+               }
+
+
+               #region Select by full table name in the same catalog
+               //[Test]
+               public void DoTestTypes1(OracleConnection conn)
+               {
+                       DataSet ds = new DataSet();
+                       OracleCommand comm = new OracleCommand("",conn);
+                       OracleDataAdapter da = new OracleDataAdapter();
+                       da.SelectCommand = comm;
+
+                       string tableName = getDbObjectName("Employees",conn);
+                       int expectedRowsCount = 8;
+
+                       #region Select by full table name in the same catalog
+
+                       string[] arr = new string[2];
+
+                       arr[0] = "LastName";
+                       arr[1] = "FirstName";
+
+                       prepareTableForTest(conn,expectedRowsCount,"Employees","EmployeeID",arr);
+                       comm.CommandText="select max(EmployeeID) from " + tableName;
+                       // on some databases the max is on a field which is decimal
+                       decimal maxEmployee = decimal.Parse(comm.ExecuteScalar().ToString()) - expectedRowsCount;
+
+                       comm.CommandText = "SELECT EmployeeID FROM " + tableName + " where EmployeeID > " +  maxEmployee.ToString() ;
+                       da.Fill(ds);
+
+                       Exception exp = null;
+                       try
+                       {
+                               BeginCase("Select by full table name in the same catalog");
+                               Compare(ds.Tables[0].Rows.Count ,expectedRowsCount );
+                       }
+                       catch(Exception ex)     {exp = ex;}
+                       finally {cleanTableAfterTest(conn,"Employees","EmployeeID",Convert.ToInt32(maxEmployee));
+                               EndCase(exp); exp = null;}
+
+                       #endregion //Select by full table name in the same catalog
+
+               }
+
+               #endregion
+
+               #region Select by full table name in the different catalog
+               //[Test]
+               public void DoTestTypes2(OracleConnection conn)
+               {
+                       BeginCase("Select by full table name in the different catalog");
+                       nonUniqueId = "48951_" +  TestCaseNumber.ToString(); 
+                       Exception exp=null;
+                       string tableName = getDbObjectName("Customers",conn,"GHTDB_EX");
+                       int expectedRowsCount = 5;
+                       DataSet ds = new DataSet();
+                       OracleCommand comm = new OracleCommand("",conn);
+                       OracleDataAdapter da = new OracleDataAdapter();
+                       da.SelectCommand = comm;
+
+                       insertIntoStandatTable(conn,tableName,expectedRowsCount,"CustomerID");
+               
+                       comm.CommandText = "SELECT * FROM " + tableName + " where CustomerID='" + nonUniqueId + "'" ;
+                       ds.Tables.Clear();
+                       da.Fill(ds);
+
+                       try
+                       {
+                               
+                               Compare(ds.Tables[0].Rows.Count ,expectedRowsCount );
+                       }
+                       catch(Exception ex)     {exp = ex;}
+                       finally {EndCase(exp); exp = null;
+                       cleanStandatTable(conn,tableName,"CustomerID");
+                       }
+               }
+               #endregion
+
+               #region Call stored procedure in the different catalog
+               //[Test]
+               public void DoTestTypes3(OracleConnection conn)
+               {
+                       BeginCase("Call stored procedure in the different catalog");
+                       nonUniqueId = "48951_" +  TestCaseNumber.ToString(); 
+                       Exception exp =null;
+                       DataSet ds = new DataSet();
+                       OracleCommand comm = new OracleCommand("",conn);
+                       OracleDataAdapter da = new OracleDataAdapter();
+                       da.SelectCommand = comm;
+
+                       string tableName = getDbObjectName("Customers",conn,"GHTDB_EX");
+                       int expectedRowsCount = 5;
+
+                       insertIntoStandatTable(conn,tableName,expectedRowsCount,"CustomerID");
+
+                       comm.CommandType = CommandType.StoredProcedure;
+                       comm.CommandText = getDbObjectName("GH_DUMMY",conn,"GHTDB_EX");
+
+                       comm.Parameters.Add(new OracleParameter("CustomerIDPrm",OracleType.Char));
+                       comm.Parameters.Add(new OracleParameter("result",OracleType.Cursor)).Direction = ParameterDirection.Output;
+
+                       
+                       comm.Parameters[0].Value = nonUniqueId;
+                       ds.Tables.Clear();
+                       
+
+                       try
+                       {
+                               da.Fill(ds);
+                               Compare(ds.Tables[0].Rows.Count ,expectedRowsCount );
+                       }
+                       catch(Exception ex)     {exp = ex;}
+                       finally {EndCase(exp); exp = null;
+                       cleanStandatTable(conn,tableName,"CustomerID"); }
+               }
+
+#endregion // Call stored procedure in the different catalog
+
+               #region Select using Table direct - single table
+               //[Test]
+               public void DoTestTypes4(OracleConnection conn)
+               {
+                       
+                       Exception exp =null;
+                       DataSet ds = new DataSet();
+                       OracleCommand comm = new OracleCommand("",conn);
+                       OracleDataAdapter da = new OracleDataAdapter();
+                       da.SelectCommand = comm;
+                       string tableName = getDbObjectName("Customers",conn);
+                       //int expectedRowsCount = 5;
+
+                       comm.CommandText = tableName;
+
+                       comm.CommandType = CommandType.TableDirect;
+
+                       ds.Tables.Clear();
+                       da.Fill(ds);
+
+                       try
+                       {
+                               BeginCase("Select using Table direct - single table");
+                               Compare(ds.Tables[0].Rows.Count > 0 ,true );
+                       }
+                       catch(Exception ex)     {exp = ex;}
+                       finally {EndCase(exp); exp = null;}
+               }
+
+#endregion // Select using Table direct - single table
+
+               #region Select using Table direct - multiple tables
+
+               //[Test]
+               public void DoTestTypes5(OracleConnection conn)
+               {
+
+                       Exception exp =null;
+                       DataSet ds = new DataSet();
+                       OracleCommand comm = new OracleCommand("",conn);
+                       OracleDataAdapter da = new OracleDataAdapter();
+                       da.SelectCommand = comm;
+                       //string tableName = getDbObjectName("Customers",conn);
+                       comm.CommandType = CommandType.TableDirect;
+                       comm.CommandText = "Categories;Employees";
+
+                       ds.Tables.Clear();
+                       da.Fill(ds);
+
+                       try
+                       {
+                               BeginCase("Select using Table direct - multiple tables");
+                               int result =  + ds.Tables[1].Rows.Count + ds.Tables[2].Rows.Count;
+                               Compare(ds.Tables[0].Rows.Count > 0  ,true );
+                               Compare(ds.Tables[1].Rows.Count > 0  ,true );
+                               Compare(ds.Tables[0].Rows.Count == ds.Tables[1].Rows.Count ,true );
+                       }
+                       catch(Exception ex)     {exp = ex;}
+                       finally {EndCase(exp); exp = null;}
+               }
+
+#endregion // Select using Table direct - multiple tables
+
+
+               #region Test view
+
+               //[Test]
+               public void DoTestTypes6(OracleConnection conn)
+               {
+                       Exception exp =null;
+                       DataSet ds = new DataSet();
+                       OracleCommand comm = new OracleCommand("",conn);
+                       OracleDataAdapter da = new OracleDataAdapter();
+                       da.SelectCommand = comm;
+                       //string tableName = getDbObjectName("Customers",conn);
+                       comm.CommandType = CommandType.Text;
+
+                       switch (ConnectedDataProvider.GetDbType(conn))
+                       {
+                               case DataBaseServer.SQLServer:
+                               case DataBaseServer.Sybase:
+                                       comm.CommandText = "select * from [Current Product List]";
+                                       break;
+                               case DataBaseServer.Oracle:
+                               case DataBaseServer.PostgreSQL:
+                                       comm.CommandText = "select * from Current_Product_List";
+                                       break;
+                               default:
+                                       comm.CommandText = "select * from DB2ADMIN.Current_Product_List";
+                                       break;
+                       }
+
+
+                       ds.Tables.Clear();
+                       da.Fill(ds);
+
+                       try
+                       {
+                               BeginCase("Testing view");
+                               Compare(ds.Tables[0].Rows.Count >0,true);
+                               Compare(ds.Tables[0].Columns.Count,2);
+                       }
+                       catch(Exception ex)     {exp = ex;}
+                       finally {EndCase(exp); exp = null;}
+
+
+               }
+               #endregion
+
+               #region select table with diffrent owner - diffrent name
+
+               //[Test]
+               public void DoTestTypes7(OracleConnection conn)
+               {
+                       Exception exp =null;
+                       DataSet ds = new DataSet();
+                       OracleCommand comm = new OracleCommand("",conn);
+                       OracleDataAdapter da = new OracleDataAdapter();
+                       da.SelectCommand = comm;
+                       //string tableName = getDbObjectName("Customers",conn);
+                       comm.CommandType = CommandType.Text;
+
+                       //First change ownerShip
+
+                       //chageOwnerShip(conn,"Categories","mainsoft");
+                       comm.CommandText = "SELECT * FROM mainsoft.CategoriesNew";
+                       da.Fill(ds);
+
+                       try
+                       {
+                               BeginCase("select table with diffrent owner - diffrent name");
+                               Compare(ds.Tables[0].Rows.Count ,2);
+                       }
+                       catch(Exception ex)     {exp = ex;}
+                       finally {EndCase(exp); exp = null;}
+
+                       try
+                       {
+                               BeginCase("select table with diffrent owner - diffrent name --> negetive");
+                               ds.Tables.Clear();
+                               comm.CommandText = "select * from " + getDbObjectName("CategoriesNew",conn);
+                               da.Fill(ds);
+                       }
+                       catch (OracleException ex)
+                       {
+                               ExpectedExceptionCaught(ex);
+                       }
+                       catch   {ExpectedExceptionNotCaught("OracleException"); }
+                       finally {EndCase(exp); exp = null;}
+
+                       //Change back
+
+                       //chageOwnerShip(conn,"mainsoft.Categories","dbo");
+               }
+
+               #endregion
+
+               #region select table with diffrent owner - same name
+
+               //[Test]
+               public void DoTestTypes8(OracleConnection conn)
+               {
+                       Exception exp =null;
+                       DataSet ds = new DataSet();
+                       OracleCommand comm = new OracleCommand("",conn);
+                       OracleDataAdapter da = new OracleDataAdapter();
+                       da.SelectCommand = comm;
+                       //string tableName = getDbObjectName("Customers",conn);
+                       comm.CommandType = CommandType.Text;
+
+                       //First change ownerShip
+
+                       //chageOwnerShip(conn,"Categories","mainsoft");
+                       comm.CommandText = "SELECT * FROM GHTDB_EX.Categories";
+                       da.Fill(ds);
+
+                       try
+                       {
+                               BeginCase("Select table with diffrent owner same name");
+                               Compare(ds.Tables[0].Rows.Count ,2);
+                       }
+                       catch(Exception ex)     {exp = ex;}
+                       finally {EndCase(exp); exp = null;}
+
+               }
+
+               #endregion
+
+               #region select table with diffrent owner - SP
+
+               //[Test]
+               public void DoTestTypes9(OracleConnection conn)
+               {
+                       Exception exp =null;
+                       DataSet ds = new DataSet();
+                       BeginCase("Select table with diffrent owner SP");
+                       nonUniqueId = "48951" ;
+                       int expectedRowsCount = 5;
+                       OracleCommand comm = new OracleCommand("",conn);
+                       OracleDataAdapter da = new OracleDataAdapter();
+                       da.SelectCommand = comm;
+                       string tableName = getDbObjectName("Employees",conn);
+                       comm.CommandType = CommandType.StoredProcedure;
+
+                       //insertIntoStandatTable(conn,tableName,5,"EmployeeID");
+                       string[] arr = new string[2];
+                       arr[0] = "LastName";
+                       arr[1] = "FirstName";
+
+                       int maxValue = prepareTableForTest(conn,expectedRowsCount,"Employees","EmployeeID",arr);
+
+                       comm.Parameters.Add("CustomerIdPrm",maxValue.ToString()); 
+                       comm.Parameters.Add(new OracleParameter("result",OracleType.Cursor)).Direction = ParameterDirection.Output;
+
+                       
+                       try
+                       {
+                               comm.CommandText = "GHTDB_EX.GH_DUMMY";
+                               da.Fill(ds);
+                               Compare(ds.Tables[0].Rows.Count ,expectedRowsCount);
+                       }
+                       catch(Exception ex)     {exp = ex;}
+                       finally {EndCase(exp); exp = null;
+                       cleanTableAfterTest (conn,"Employees","EmployeeID",maxValue); }
+
+               }
+
+               #endregion
+
+               #region select table with diffrent owner - and diffrent structure
+               //[Test]
+               public void DoTestTypes10(OracleConnection conn)
+               {
+                       Exception exp =null;
+                       DataSet ds = new DataSet();
+                       BeginCase("Select table with diffrent owner and diffrent structure");
+                       nonUniqueId = "48951" ;
+                       OracleCommand comm = new OracleCommand("",conn);
+                       OracleDataAdapter da = new OracleDataAdapter();
+                       da.SelectCommand = comm;
+                       string tableName = getDbObjectName("Categories",conn);
+                       comm.CommandType = CommandType.Text;
+                       OracleDataReader reader = null;
+
+                       try
+                       {
+                               comm.CommandText = "select CategoryID,CategoryName from " + tableName;
+                               reader = comm.ExecuteReader();
+                               //da.Fill(ds);
+                       }
+                       catch (Exception  ex) 
+                       {
+                               EndCase(ex);
+                       }
+                       finally
+                       {
+                               reader.Close();
+                       }
+
+                       comm.CommandText="select CategoryID,CategoryName  from  GHTDB_EX.Categories  where CategoryID = :a";
+
+                       comm.Parameters.Add("a","10");
+                       da.Fill(ds);
+
+                       try
+                       {
+                               Compare(ds.Tables[0].Rows.Count ,1);
+                       }
+                       catch(Exception ex)     {exp = ex;}
+                       finally 
+                       {
+                               EndCase(exp); exp = null;}
+
+               }
+
+               #endregion
+
+               #region Oracle - use stored procedure inside package
+               //[Test(Description="Call a stored procedure which is defined within a package.")]
+               public void CallStoredProcedureInPackage(OracleConnection con)
+               {
+                       if (ConnectedDataProvider.GetDbType(con) != DataBaseServer.Oracle)
+                       {
+                               //Packages exist only in oracle.
+                               return;
+                       }
+
+                       Exception exp = null;
+                       OracleDataReader rdr = null;
+                       try
+                       {
+                               BeginCase("Call a stored procedure which is defined within a package.");
+                               exp = null;
+                               DataSet ds = new DataSet();
+                               OracleDataAdapter da = new OracleDataAdapter();
+                               OracleCommand cmd = new OracleCommand();
+                               cmd.Connection = con;
+                               cmd.CommandType = CommandType.StoredProcedure;
+                               cmd.CommandText = "ghtpkg.ghsp_inPkg";
+                               cmd.Parameters.Add("CustomerIdPrm", "ALFKI");
+                               cmd.Parameters.Add(new OracleParameter("result",OracleType.Cursor)).Direction = ParameterDirection.Output;
+                               da.SelectCommand = cmd;
+
+                               da.Fill(ds);
+                               Compare(ds.Tables[0].Rows.Count, 1);
+                       } 
+                       catch(Exception ex)
+                       {
+                               exp = ex;
+                       }
+                       finally
+                       {
+                               if (rdr != null)
+                               {
+                                       rdr.Close();
+                               }
+                               EndCase(exp);
+                       }
+               }
+               //[Test(Description="Call a stored procedure ghsp_pkgAmbig from a package, where ghsp_pkgAmbig is defined both inside and outside of a package.")]
+               public void StoredProcedurePackageambiguity_InsidePackage(OracleConnection con)
+               {
+                       if (ConnectedDataProvider.GetDbType(con) != DataBaseServer.Oracle)
+                       {
+                               //Packages exist only in oracle.
+                               return;
+                       }
+
+                       Exception exp = null;
+                       OracleDataReader rdr = null;
+                       try
+                       {
+                               BeginCase("Call a stored procedure ghsp_pkgAmbig from a package, where ghsp_pkgAmbig is defined both inside and outside of a package.");
+                               exp = null;
+                               DataSet ds = new DataSet();
+                               OracleDataAdapter da = new OracleDataAdapter();
+                               OracleCommand cmd = new OracleCommand();
+                               cmd.Connection = con;
+                               cmd.CommandType = CommandType.StoredProcedure;
+                               cmd.CommandText = "ghtpkg.ghsp_pkgAmbig";
+                               cmd.Parameters.Add(new OracleParameter("res",OracleType.Cursor)).Direction = ParameterDirection.Output;
+                               da.SelectCommand = cmd;
+
+                               da.Fill(ds);
+                               Compare(ds.Tables[0].Rows[0]["IN_PKG"], "TRUE");
+                       } 
+                       catch(Exception ex)
+                       {
+                               exp = ex;
+                       }
+                       finally
+                       {
+                               if (rdr != null)
+                               {
+                                       rdr.Close();
+                               }
+                               EndCase(exp);
+                       }
+               }
+               //[Test(Description="Call a stored procedure ghsp_pkgAmbig not from a package, where ghsp_pkgAmbig is defined both inside and outside of a package.")]
+               public void StoredProcedurePackageambiguity_OutsidePackage(OracleConnection con)
+               {
+                       if (ConnectedDataProvider.GetDbType(con) != DataBaseServer.Oracle)
+                       {
+                               //Packages exist only in oracle.
+                               return;
+                       }
+
+                       Exception exp = null;
+                       OracleDataReader rdr = null;
+                       try
+                       {
+                               BeginCase("Call a stored procedure ghsp_pkgAmbig not from a package, where ghsp_pkgAmbig is defined both inside and outside of a package.");
+                               exp = null;
+                               DataSet ds = new DataSet();
+                               OracleDataAdapter da = new OracleDataAdapter();
+                               OracleCommand cmd = new OracleCommand();
+                               cmd.Connection = con;
+                               cmd.CommandType = CommandType.StoredProcedure;
+                               cmd.CommandText = "ghsp_pkgAmbig";
+                               cmd.Parameters.Add(new OracleParameter("res",OracleType.Cursor)).Direction = ParameterDirection.Output;
+                               da.SelectCommand = cmd;
+
+                               da.Fill(ds);
+                               Compare(ds.Tables[0].Rows[0]["IN_PKG"], "FALSE");
+                       } 
+                       catch(Exception ex)
+                       {
+                               exp = ex;
+                       }
+                       finally
+                       {
+                               if (rdr != null)
+                               {
+                                       rdr.Close();
+                               }
+                               EndCase(exp);
+                       }
+               }
+               #endregion
+
+               private string getDbObjectName(string objectName,OracleConnection con)
+               {
+                       return getDbObjectName(objectName,con,string.Empty);
+                       
+               }
+               private string getDbObjectName(string objectName,OracleConnection con,string databaseName)
+               {
+                       switch (ConnectedDataProvider.GetDbType(con))
+                       {
+                               case DataBaseServer.SQLServer:
+                               case DataBaseServer.Sybase:
+                               {
+                                       if (databaseName == string.Empty)
+                                       {
+                                               return "GHTDB.dbo." + objectName;
+                                       }
+                                       else
+                                       {
+                                               return  databaseName +  ".dbo." + objectName;
+                                       }
+                               }
+                               case DataBaseServer.PostgreSQL:
+                               {
+                                       return "public." + objectName.ToUpper();
+                               }
+                               case DataBaseServer.Oracle:
+                               {
+                                       if (databaseName == string.Empty)
+                                       {
+                                               return "GHTDB." + objectName.ToUpper();
+                                       }
+                                       else
+                                       {
+                                               return  databaseName.ToUpper() + "." + objectName.ToUpper();
+                                       }
+                                       
+                               }
+                               case DataBaseServer.DB2: 
+                               {
+                                       if (databaseName == string.Empty)
+                                       {
+                                               return   "DB2ADMIN." + objectName;
+                                       }
+                                       else
+                                       {
+                                               return  databaseName +  ".DB2ADMIN." + objectName;
+                                       }
+
+                                       
+
+                               }
+                               default:
+                               {
+                                       throw new NotImplementedException();
+                               }
+
+
+                       }
+
+               }
+
+
+
+               /// <summary>
+               /// This method will prepare table for test
+               /// </summary>
+               private int prepareTableForTest(OracleConnection con,int recordsNumber,string baseTableName,string keyField
+                       ,params string[] otherNonNullableFieldsName)
+               {
+                       string tableName = getDbObjectName(baseTableName,con);
+                       OracleCommand cmd = new OracleCommand("select max(" + keyField + ") from " + tableName,con);
+                       string str_ret = cmd.ExecuteScalar().ToString();
+//                     Console.WriteLine("ExecuteScalar:" + str_ret);
+                       // on some databases the max is on a field which is decimal
+                       decimal maxRecord = decimal.Parse(str_ret);
+                       int resultCount = Convert.ToInt32(maxRecord)+recordsNumber;
+                       string sqlStmt = string.Empty;
+                       string valueStmt = string.Empty;
+
+                       //Constrcut the statemnet once : --> TODO://Move this logic to seperate method
+                       for(int i=0;i<otherNonNullableFieldsName.Length;i++)
+                       {
+                               sqlStmt+= otherNonNullableFieldsName[i] + ",";
+                               valueStmt+="'a',";
+                       }
+
+                       //Trim the last ","
+                       if (otherNonNullableFieldsName.Length > 0)
+                       {
+                               sqlStmt =  sqlStmt.Remove(sqlStmt.Length-1,1);
+                               sqlStmt = "," + sqlStmt;
+
+                               valueStmt =  valueStmt.Remove(valueStmt.Length-1,1);
+                               valueStmt = "," + valueStmt;
+                       }
+                               
+
+                       for (int index=Convert.ToInt32(maxRecord)+1;index<=resultCount;index++)
+                       {
+                               cmd.CommandText="Insert into " + tableName + " (" + keyField + sqlStmt + ") values ("
+                                       + index + valueStmt + ")";
+                               cmd.ExecuteNonQuery();
+                       }
+                       return Convert.ToInt32(maxRecord);
+
+               }
+               private void cleanTableAfterTest(OracleConnection con,string baseTableName, string keyField, int recordNumber)
+               {
+                       string tableName = getDbObjectName(baseTableName, con);
+                       OracleCommand cmd = new OracleCommand("delete from " + tableName + " where " + keyField + " > " + recordNumber  ,con);
+                       cmd.ExecuteNonQuery();
+
+               }
+
+               private void insertIntoStandatTable(OracleConnection con,string tableName,int recordsNumber,string keyField)
+               {
+                       OracleCommand cmd = new OracleCommand("delete from " + tableName + " where  "  + keyField + "= '" + nonUniqueId + "'",con);
+                       cmd.ExecuteNonQuery();
+
+                       for (int index=0;index<recordsNumber;index++)
+                       {
+                               cmd.CommandText = "Insert into " + tableName + "(" + keyField + ") values ('" + nonUniqueId  + "')";
+                               cmd.ExecuteNonQuery();
+                       }
+               }
+               private void cleanStandatTable(OracleConnection con,string tableName,string keyField)
+               {
+                       OracleCommand cmd = new OracleCommand("delete from " + tableName + " where " + keyField + " = '" + nonUniqueId + "'",con);
+                       cmd.ExecuteNonQuery();
+
+               }
+
+               private void chageOwnerShip(OracleConnection con,string objectName,string newOwner)
+               {
+                       OracleCommand cmd = new OracleCommand();
+                       cmd.Connection = con;
+
+                       switch (ConnectedDataProvider.GetDbType(con))
+                       {
+                               case DataBaseServer.SQLServer:
+                               case DataBaseServer.Sybase:
+                               {
+                                       cmd.CommandType = CommandType.StoredProcedure;
+                                       cmd.CommandText = "[dbo].[sp_changeobjectowner]";
+                                       cmd.Parameters.Add("@objname",objectName);
+                                       cmd.Parameters.Add("@newowner",newOwner);
+                                       cmd.ExecuteNonQuery();
+                                       return;
+
+                               }
+                               default:
+                               {
+                                       throw new NotImplementedException();
+                               }
+                       }
+
+               }
+       }
+}
\ No newline at end of file
diff --git a/mcs/class/System.Data.OracleClient/Test/System.Data.OracleClient.jvm/OracleDataAdapter/OracleDataAdapter_Fill_3.cs b/mcs/class/System.Data.OracleClient/Test/System.Data.OracleClient.jvm/OracleDataAdapter/OracleDataAdapter_Fill_3.cs
new file mode 100755 (executable)
index 0000000..9c08ce1
--- /dev/null
@@ -0,0 +1,139 @@
+// 
+// Copyright (c) 2006 Mainsoft Co.
+// 
+// Permission is hereby granted, free of charge, to any person obtaining
+// a copy of this software and associated documentation files (the
+// "Software"), to deal in the Software without restriction, including
+// without limitation the rights to use, copy, modify, merge, publish,
+// distribute, sublicense, and/or sell copies of the Software, and to
+// permit persons to whom the Software is furnished to do so, subject to
+// the following conditions:
+// 
+// The above copyright notice and this permission notice shall be
+// included in all copies or substantial portions of the Software.
+// 
+// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
+// EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
+// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
+// NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
+// LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
+// OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
+// WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
+//
+
+using System;
+using System.Data;
+using System.Data.OracleClient;
+
+using MonoTests.System.Data.Utils;
+
+
+using NUnit.Framework;
+
+namespace MonoTests.System.Data.OracleClient
+{
+       [TestFixture]
+       public class OracleDataAdapter_Fill_3: ADONetTesterClass
+       {
+               public static void Main()
+               {
+                       OracleDataAdapter_Fill_3 tc = new OracleDataAdapter_Fill_3();
+                       Exception exp = null;
+                       try
+                       {
+                               tc.BeginTest("OracleDataAdapter_Fill_3");
+                               tc.run();
+                       }
+                       catch(Exception ex){exp = ex;}
+                       finally {tc.EndTest(exp);}
+               }
+
+               [Test]
+               public void run()
+               {
+                       Exception exp = null;
+
+                       //in DB2 when trying to fill an empty table - no table is loaded
+                       OracleConnection conn = new OracleConnection(MonoTests.System.Data.Utils.ConnectedDataProvider.ConnectionString);
+                       OracleDataAdapter oleDBda = new OracleDataAdapter();
+                       oleDBda.SelectCommand = new OracleCommand("Select * from GH_EMPTYTABLE",conn);
+                       
+                       DataSet ds = new DataSet();
+                       oleDBda.Fill(ds);
+        
+                       try
+                       {
+                               BeginCase("Table count - fill with SP");
+                               Compare(ds.Tables.Count ,1 );
+                       }
+                       catch(Exception ex)     {exp = ex;}
+                       finally {EndCase(exp); exp = null;}
+
+                       //add for bug #2508 - OLEDBDataAdapter.Fill fills only the 1st result set, reported from an evaluation
+                       if (ConnectedDataProvider.GetDbType(oleDBda.SelectCommand.Connection) == DataBaseServer.SQLServer)
+                               //multiple commands can not be done with Oracle or DB2
+                       {
+
+
+                               //get excpected results
+                               if (oleDBda.SelectCommand.Connection.State != ConnectionState.Open)
+                               {
+                                       oleDBda.SelectCommand.Connection.Open();
+                               }
+                               OracleCommand cmd = new OracleCommand("",oleDBda.SelectCommand.Connection);
+                               cmd.CommandText = "Select count(*) from Customers";
+                               int TblResult0 = (int)cmd.ExecuteScalar();
+                               cmd.CommandText = "Select count(*) from Categories";
+                               int TblResult1 = (int)cmd.ExecuteScalar();
+                               cmd.CommandText = "Select count(*) from Region";
+                               int TblResult2 = (int)cmd.ExecuteScalar();
+                               if (oleDBda.SelectCommand.Connection.State != ConnectionState.Closed)
+                               {
+                                       oleDBda.SelectCommand.Connection.Close();
+                               }
+
+
+                               oleDBda.SelectCommand.CommandText = "Select * from Customers; " +
+                                       "Select * from Categories; " +
+                                       "Select * from Region";
+                               ds = new DataSet();
+                               oleDBda.Fill(ds);
+
+                               try
+                               {
+                                       BeginCase("Table count - Fill with query");
+                                       Compare(ds.Tables.Count ,3 );
+                               }
+                               catch(Exception ex)     {exp = ex;}
+                               finally {EndCase(exp); exp = null;}
+
+                               try
+                               {
+                                       BeginCase("Table 0 rows count");
+                                       Compare(ds.Tables[0].Rows.Count ,TblResult0 );
+                               }
+                               catch(Exception ex)     {exp = ex;}
+                               finally {EndCase(exp); exp = null;}
+
+                               try
+                               {
+                                       BeginCase("Table 1 rows count");
+                                       Compare(ds.Tables[1].Rows.Count ,TblResult1 );
+                               }
+                               catch(Exception ex)     {exp = ex;}
+                               finally {EndCase(exp); exp = null;}
+
+                               try
+                               {
+                                       BeginCase("Table 2 rows count");
+                                       Compare(ds.Tables[2].Rows.Count ,TblResult2 );
+                               }
+                               catch(Exception ex)     {exp = ex;}
+                               finally {EndCase(exp); exp = null;}
+
+                       }
+
+               }
+       }
+}
\ No newline at end of file
diff --git a/mcs/class/System.Data.OracleClient/Test/System.Data.OracleClient.jvm/OracleDataAdapter/OracleDataAdapter_Fill_Ds.cs b/mcs/class/System.Data.OracleClient/Test/System.Data.OracleClient.jvm/OracleDataAdapter/OracleDataAdapter_Fill_Ds.cs
new file mode 100755 (executable)
index 0000000..52c3a33
--- /dev/null
@@ -0,0 +1,90 @@
+// 
+// Copyright (c) 2006 Mainsoft Co.
+// 
+// Permission is hereby granted, free of charge, to any person obtaining
+// a copy of this software and associated documentation files (the
+// "Software"), to deal in the Software without restriction, including
+// without limitation the rights to use, copy, modify, merge, publish,
+// distribute, sublicense, and/or sell copies of the Software, and to
+// permit persons to whom the Software is furnished to do so, subject to
+// the following conditions:
+// 
+// The above copyright notice and this permission notice shall be
+// included in all copies or substantial portions of the Software.
+// 
+// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
+// EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
+// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
+// NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
+// LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
+// OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
+// WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
+//
+
+using System;
+using System.Data;
+using System.Data.Common;
+using System.Data.OracleClient;
+
+using MonoTests.System.Data.Utils;
+
+
+using NUnit.Framework;
+
+namespace MonoTests.System.Data.OracleClient
+{
+       [TestFixture]
+       public class OracleDataAdapter_Fill_Ds : ADONetTesterClass
+       {
+               [SetUp]
+               public void SetUp()
+               {
+                       Exception exp = null;
+                       BeginCase("Setup");
+                       try
+                       {
+                       }
+                       catch(Exception ex)     {exp = ex;}
+                       finally {EndCase(exp); exp = null;}
+               }
+
+               [TearDown]
+               public void TearDown()
+               {
+               }
+
+               public static void Main()
+               {
+                       OracleDataAdapter_Fill_Ds tc = new OracleDataAdapter_Fill_Ds();
+                       Exception exp = null;
+                       try
+                       {
+                               tc.BeginTest("OracleDataAdapter_Fill_Ds");
+                               tc.SetUp();
+                               tc.run();
+                               tc.TearDown();
+                       }
+                       catch(Exception ex)
+                       {
+                               exp = ex;
+                       }
+                       finally
+                       {
+                               tc.EndTest(exp);
+                       }
+               }
+
+               [Test]
+#if JAVA
+               [Category("NotWorking")]
+#endif
+               public void run()
+               {
+                       OracleDataAdapter oleDBda = new OracleDataAdapter();
+                       oleDBda.SelectCommand = new OracleCommand("",new OracleConnection());
+       
+                       base.DbDataAdapter_Fill_Ds((DbDataAdapter)oleDBda);
+
+               }
+       }
+}
\ No newline at end of file
diff --git a/mcs/class/System.Data.OracleClient/Test/System.Data.OracleClient.jvm/OracleDataAdapter/OracleDataAdapter_Fill_DsStr.cs b/mcs/class/System.Data.OracleClient/Test/System.Data.OracleClient.jvm/OracleDataAdapter/OracleDataAdapter_Fill_DsStr.cs
new file mode 100755 (executable)
index 0000000..b0a43be
--- /dev/null
@@ -0,0 +1,84 @@
+// 
+// Copyright (c) 2006 Mainsoft Co.
+// 
+// Permission is hereby granted, free of charge, to any person obtaining
+// a copy of this software and associated documentation files (the
+// "Software"), to deal in the Software without restriction, including
+// without limitation the rights to use, copy, modify, merge, publish,
+// distribute, sublicense, and/or sell copies of the Software, and to
+// permit persons to whom the Software is furnished to do so, subject to
+// the following conditions:
+// 
+// The above copyright notice and this permission notice shall be
+// included in all copies or substantial portions of the Software.
+// 
+// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
+// EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
+// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
+// NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
+// LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
+// OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
+// WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
+//
+
+
+
+using System;
+using System.Data;
+using System.Data.Common;
+using System.Data.OracleClient;
+
+using MonoTests.System.Data.Utils;
+
+
+using NUnit.Framework;
+
+namespace MonoTests.System.Data.OracleClient
+{
+       [TestFixture]
+       public class OracleDataAdapter_Fill_DsStr : ADONetTesterClass
+       {
+               public static void Main()
+               {
+                       OracleDataAdapter_Fill_DsStr tc = new OracleDataAdapter_Fill_DsStr();
+                       Exception exp = null;
+                       try
+                       {
+                               tc.BeginTest("OracleDataAdapter_Fill_DsStr");
+                               tc.run();
+                       }
+                       catch(Exception ex)
+                       {
+                               exp = ex;
+                       }
+                       finally
+                       {
+                               tc.EndTest(exp);
+                       }
+               }
+
+
+               //public TestClass():base(true){}
+
+               //Activate this constructor to log Failures to a log file
+               //public TestClass(System.IO.TextWriter tw):base(tw, false){}
+
+
+               //Activate this constructor to log All to a log file
+               //public TestClass(System.IO.TextWriter tw):base(tw, true){}
+
+               //BY DEFAULT LOGGING IS DONE TO THE STANDARD OUTPUT ONLY FOR FAILURES
+
+               [Test]
+#if JAVA
+               [Category("NotWorking")]
+#endif
+               public void run()
+               {
+                       OracleDataAdapter oleDBda = new OracleDataAdapter();
+                       oleDBda.SelectCommand = new OracleCommand("",new OracleConnection());
+
+                       base.DbDataAdapter_Fill_Ds_Str((DbDataAdapter)oleDBda);
+               }
+       }
+}
\ No newline at end of file
diff --git a/mcs/class/System.Data.OracleClient/Test/System.Data.OracleClient.jvm/OracleDataAdapter/OracleDataAdapter_Fill_Ds_Int_Int_Str.cs b/mcs/class/System.Data.OracleClient/Test/System.Data.OracleClient.jvm/OracleDataAdapter/OracleDataAdapter_Fill_Ds_Int_Int_Str.cs
new file mode 100755 (executable)
index 0000000..be784ae
--- /dev/null
@@ -0,0 +1,85 @@
+// 
+// Copyright (c) 2006 Mainsoft Co.
+// 
+// Permission is hereby granted, free of charge, to any person obtaining
+// a copy of this software and associated documentation files (the
+// "Software"), to deal in the Software without restriction, including
+// without limitation the rights to use, copy, modify, merge, publish,
+// distribute, sublicense, and/or sell copies of the Software, and to
+// permit persons to whom the Software is furnished to do so, subject to
+// the following conditions:
+// 
+// The above copyright notice and this permission notice shall be
+// included in all copies or substantial portions of the Software.
+// 
+// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
+// EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
+// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
+// NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
+// LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
+// OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
+// WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
+//
+
+
+
+using System;
+using System.Data;
+using System.Data.Common;
+using System.Data.OracleClient;
+
+using MonoTests.System.Data.Utils;
+
+
+using NUnit.Framework;
+
+namespace MonoTests.System.Data.OracleClient
+{
+       [TestFixture]
+       public class OracleDataAdapter_Fill_Ds_Int_Int_Str  : ADONetTesterClass
+       {
+               public static void Main()
+               {
+                       OracleDataAdapter_Fill_Ds_Int_Int_Str tc = new OracleDataAdapter_Fill_Ds_Int_Int_Str();
+                       Exception exp = null;
+                       try
+                       {
+                               tc.BeginTest("OracleDataAdapter_Fill_DIIS");
+                               tc.run();
+                       }
+                       catch(Exception ex)
+                       {
+                               exp = ex;
+                       }
+                       finally
+                       {
+                               tc.EndTest(exp);
+                       }
+               }
+
+
+               //public TestClass():base(true){}
+
+               //Activate this constructor to log Failures to a log file
+               //public TestClass(System.IO.TextWriter tw):base(tw, false){}
+
+
+               //Activate this constructor to log All to a log file
+               //public TestClass(System.IO.TextWriter tw):base(tw, true){}
+
+               //BY DEFAULT LOGGING IS DONE TO THE STANDARD OUTPUT ONLY FOR FAILURES
+
+               [Test]
+#if JAVA
+               [Category("NotWorking")]
+#endif
+               public void run()
+               {
+                       OracleDataAdapter oleDBda = new OracleDataAdapter();
+                       oleDBda.SelectCommand = new OracleCommand("",new OracleConnection());
+       
+                       base.DbDataAdapter_Fill_Ds_Int_Int_Str((DbDataAdapter)oleDBda);
+
+               }
+       }
+}
\ No newline at end of file
diff --git a/mcs/class/System.Data.OracleClient/Test/System.Data.OracleClient.jvm/OracleDataAdapter/OracleDataAdapter_Fill_Dt.cs b/mcs/class/System.Data.OracleClient/Test/System.Data.OracleClient.jvm/OracleDataAdapter/OracleDataAdapter_Fill_Dt.cs
new file mode 100755 (executable)
index 0000000..f9f0f47
--- /dev/null
@@ -0,0 +1,85 @@
+// 
+// Copyright (c) 2006 Mainsoft Co.
+// 
+// Permission is hereby granted, free of charge, to any person obtaining
+// a copy of this software and associated documentation files (the
+// "Software"), to deal in the Software without restriction, including
+// without limitation the rights to use, copy, modify, merge, publish,
+// distribute, sublicense, and/or sell copies of the Software, and to
+// permit persons to whom the Software is furnished to do so, subject to
+// the following conditions:
+// 
+// The above copyright notice and this permission notice shall be
+// included in all copies or substantial portions of the Software.
+// 
+// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
+// EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
+// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
+// NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
+// LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
+// OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
+// WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
+//
+
+
+
+using System;
+using System.Data;
+using System.Data.Common;
+using System.Data.OracleClient;
+
+using MonoTests.System.Data.Utils;
+
+
+using NUnit.Framework;
+
+namespace MonoTests.System.Data.OracleClient
+{
+       [TestFixture]
+       public class OracleDataAdapter_Fill_Dt : ADONetTesterClass
+       {
+               public static void Main()
+               {
+                       OracleDataAdapter_Fill_Dt tc = new OracleDataAdapter_Fill_Dt();
+                       Exception exp = null;
+                       try
+                       {
+                               tc.BeginTest("OracleDataAdapter_Fill_Dt");
+                               tc.run();
+                       }
+                       catch(Exception ex)
+                       {
+                               exp = ex;
+                       }
+                       finally
+                       {
+                               tc.EndTest(exp);
+                       }
+               }
+
+
+               //public TestClass():base(true){}
+
+               //Activate this constructor to log Failures to a log file
+               //public TestClass(System.IO.TextWriter tw):base(tw, false){}
+
+
+               //Activate this constructor to log All to a log file
+               //public TestClass(System.IO.TextWriter tw):base(tw, true){}
+
+               //BY DEFAULT LOGGING IS DONE TO THE STANDARD OUTPUT ONLY FOR FAILURES
+
+               [Test]
+#if JAVA
+               [Category("NotWorking")]
+#endif
+               public void run()
+               {
+                       //Exception exp = null;
+                       OracleDataAdapter oleDBda = new OracleDataAdapter();
+                       oleDBda.SelectCommand = new OracleCommand("",new OracleConnection());
+       
+                       base.DbDataAdapter_Fill_Dt((DbDataAdapter)oleDBda);
+               }
+       }
+}
\ No newline at end of file
diff --git a/mcs/class/System.Data.OracleClient/Test/System.Data.OracleClient.jvm/OracleDataAdapter/OracleDataAdapter_GetFillParameters.cs b/mcs/class/System.Data.OracleClient/Test/System.Data.OracleClient.jvm/OracleDataAdapter/OracleDataAdapter_GetFillParameters.cs
new file mode 100755 (executable)
index 0000000..f8ffeae
--- /dev/null
@@ -0,0 +1,117 @@
+// 
+// Copyright (c) 2006 Mainsoft Co.
+// 
+// Permission is hereby granted, free of charge, to any person obtaining
+// a copy of this software and associated documentation files (the
+// "Software"), to deal in the Software without restriction, including
+// without limitation the rights to use, copy, modify, merge, publish,
+// distribute, sublicense, and/or sell copies of the Software, and to
+// permit persons to whom the Software is furnished to do so, subject to
+// the following conditions:
+// 
+// The above copyright notice and this permission notice shall be
+// included in all copies or substantial portions of the Software.
+// 
+// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
+// EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
+// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
+// NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
+// LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
+// OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
+// WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
+//
+
+
+
+using System;
+using System.Data;
+using System.Data.Common;
+using System.Data.OracleClient;
+
+using MonoTests.System.Data.Utils;
+
+
+using NUnit.Framework;
+
+namespace MonoTests.System.Data.OracleClient
+{
+[TestFixture]
+public class OracleDataAdapter_GetFillParameters : GHTBase
+{
+       public static void Main()
+       {
+               OracleDataAdapter_GetFillParameters tc = new OracleDataAdapter_GetFillParameters();
+               Exception exp = null;
+               try
+               {
+                       tc.BeginTest("OracleDataAdapter_GetFillParameters");
+                       tc.run();
+               }
+               catch(Exception ex)
+               {
+                       exp = ex;
+               }
+               finally
+               {
+                       tc.EndTest(exp);
+               }
+       }
+
+
+       //public TestClass():base(true){}
+
+       //Activate this constructor to log Failures to a log file
+       //public TestClass(System.IO.TextWriter tw):base(tw, false){}
+
+
+       //Activate this constructor to log All to a log file
+       //public TestClass(System.IO.TextWriter tw):base(tw, true){}
+
+       //BY DEFAULT LOGGING IS DONE TO THE STANDARD OUTPUT ONLY FOR FAILURES
+
+       [Test]
+       public void run()
+       {
+               Exception exp = null;
+               string selectSQL = "SELECT * FROM Employees WHERE EmployeeId = ? AND FirstName = ?";
+               OracleDataAdapter oleDBda = new OracleDataAdapter();
+               oleDBda.SelectCommand = new OracleCommand(selectSQL,new OracleConnection());
+
+               IDataParameter[] Idp = oleDBda.GetFillParameters();
+
+               try
+               {
+                       BeginCase("Length");
+                       Compare(Idp.Length  ,0);
+               }
+               catch(Exception ex)     {exp = ex;}
+               finally {EndCase(exp); exp = null;}
+               
+               
+               oleDBda.SelectCommand.Parameters.Add(new OracleParameter("@EmployeeId",DbType.Int32)) ;
+               oleDBda.SelectCommand.Parameters["@EmployeeId"].SourceColumn = "EmployeeId";
+               oleDBda.SelectCommand.Parameters.Add(new OracleParameter("@FirstName",OracleType.VarChar,10));
+
+               Idp = oleDBda.GetFillParameters();
+        
+               try
+               {
+                       BeginCase("Parameter 0");
+                       Compare(Idp[0] ,oleDBda.SelectCommand.Parameters[0]);
+               }
+               catch(Exception ex)     {exp = ex;}
+               finally {EndCase(exp); exp = null;}
+               
+               try
+               {
+                       BeginCase("Parameter 1");
+                       Compare(Idp[1] ,oleDBda.SelectCommand.Parameters[1]);
+               }
+               catch(Exception ex)     {exp = ex;}
+               finally {EndCase(exp); exp = null;}
+       
+               
+               }
+       }
+
+}
\ No newline at end of file
diff --git a/mcs/class/System.Data.OracleClient/Test/System.Data.OracleClient.jvm/OracleDataAdapter/OracleDataAdapter_InsertCommand.cs b/mcs/class/System.Data.OracleClient/Test/System.Data.OracleClient.jvm/OracleDataAdapter/OracleDataAdapter_InsertCommand.cs
new file mode 100755 (executable)
index 0000000..8d5e1b6
--- /dev/null
@@ -0,0 +1,92 @@
+// 
+// Copyright (c) 2006 Mainsoft Co.
+// 
+// Permission is hereby granted, free of charge, to any person obtaining
+// a copy of this software and associated documentation files (the
+// "Software"), to deal in the Software without restriction, including
+// without limitation the rights to use, copy, modify, merge, publish,
+// distribute, sublicense, and/or sell copies of the Software, and to
+// permit persons to whom the Software is furnished to do so, subject to
+// the following conditions:
+// 
+// The above copyright notice and this permission notice shall be
+// included in all copies or substantial portions of the Software.
+// 
+// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
+// EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
+// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
+// NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
+// LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
+// OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
+// WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
+//
+
+
+
+using System;
+using System.Data;
+using System.Data.Common;
+using System.Data.OracleClient;
+
+using MonoTests.System.Data.Utils;
+
+
+using NUnit.Framework;
+
+namespace MonoTests.System.Data.OracleClient
+{
+[TestFixture]
+public class OracleDataAdapter_InsertCommand : GHTBase
+{
+       public static void Main()
+       {
+               OracleDataAdapter_InsertCommand tc = new OracleDataAdapter_InsertCommand();
+               Exception exp = null;
+               try
+               {
+                       tc.BeginTest("OracleDataAdapter_InsertCommand");
+                       tc.run();
+               }
+               catch(Exception ex)
+               {
+                       exp = ex;
+               }
+               finally
+               {
+                       tc.EndTest(exp);
+               }
+       }
+
+
+       //public TestClass():base(true){}
+
+       //Activate this constructor to log Failures to a log file
+       //public TestClass(System.IO.TextWriter tw):base(tw, false){}
+
+
+       //Activate this constructor to log All to a log file
+       //public TestClass(System.IO.TextWriter tw):base(tw, true){}
+
+       //BY DEFAULT LOGGING IS DONE TO THE STANDARD OUTPUT ONLY FOR FAILURES
+
+       [Test]
+       public void run()
+       {
+               Exception exp = null;
+               
+               OracleDataAdapter oleDBda = new OracleDataAdapter();
+
+               OracleCommand Cmd = new OracleCommand();
+
+               oleDBda.InsertCommand = Cmd;
+
+               try
+               {
+                       BeginCase("InsertCommand - Get");
+                       Compare(oleDBda.InsertCommand, Cmd);
+               }
+               catch(Exception ex)     {exp = ex;}
+               finally {EndCase(exp); exp = null;}
+       }
+}
+}
\ No newline at end of file
diff --git a/mcs/class/System.Data.OracleClient/Test/System.Data.OracleClient.jvm/OracleDataAdapter/OracleDataAdapter_MissingMappingAction.cs b/mcs/class/System.Data.OracleClient/Test/System.Data.OracleClient.jvm/OracleDataAdapter/OracleDataAdapter_MissingMappingAction.cs
new file mode 100755 (executable)
index 0000000..f65c4e6
--- /dev/null
@@ -0,0 +1,81 @@
+// 
+// Copyright (c) 2006 Mainsoft Co.
+// 
+// Permission is hereby granted, free of charge, to any person obtaining
+// a copy of this software and associated documentation files (the
+// "Software"), to deal in the Software without restriction, including
+// without limitation the rights to use, copy, modify, merge, publish,
+// distribute, sublicense, and/or sell copies of the Software, and to
+// permit persons to whom the Software is furnished to do so, subject to
+// the following conditions:
+// 
+// The above copyright notice and this permission notice shall be
+// included in all copies or substantial portions of the Software.
+// 
+// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
+// EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
+// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
+// NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
+// LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
+// OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
+// WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
+//
+
+
+
+using System;
+using System.Data;
+using System.Data.Common;
+using System.Data.OracleClient;
+
+using MonoTests.System.Data.Utils;
+
+
+using NUnit.Framework;
+
+namespace MonoTests.System.Data.OracleClient
+{
+       [TestFixture]
+       public class OracleDataAdapter_MissingMappingAction : ADONetTesterClass
+       {
+               public static void Main()
+               {
+                       OracleDataAdapter_MissingMappingAction tc = new OracleDataAdapter_MissingMappingAction();
+                       Exception exp = null;
+                       try
+                       {
+                               tc.BeginTest("OracleDataAdapter_MissingMappingAction");
+                               tc.run();
+                       }
+                       catch(Exception ex)
+                       {
+                               exp = ex;
+                       }
+                       finally
+                       {
+                               tc.EndTest(exp);
+                       }
+               }
+
+
+               //public TestClass():base(true){}
+
+               //Activate this constructor to log Failures to a log file
+               //public TestClass(System.IO.TextWriter tw):base(tw, false){}
+
+
+               //Activate this constructor to log All to a log file
+               //public TestClass(System.IO.TextWriter tw):base(tw, true){}
+
+               //BY DEFAULT LOGGING IS DONE TO THE STANDARD OUTPUT ONLY FOR FAILURES
+
+               [Test]
+               public void run()
+               {
+                       OracleDataAdapter oleDBda = new OracleDataAdapter();
+                       oleDBda.SelectCommand = new OracleCommand("",new OracleConnection());
+
+                       base.DataAdapter_MissingMappingAction((DbDataAdapter)oleDBda);
+               }
+       }
+}
\ No newline at end of file
diff --git a/mcs/class/System.Data.OracleClient/Test/System.Data.OracleClient.jvm/OracleDataAdapter/OracleDataAdapter_MissingSchemaAction.cs b/mcs/class/System.Data.OracleClient/Test/System.Data.OracleClient.jvm/OracleDataAdapter/OracleDataAdapter_MissingSchemaAction.cs
new file mode 100755 (executable)
index 0000000..51e6e70
--- /dev/null
@@ -0,0 +1,80 @@
+// 
+// Copyright (c) 2006 Mainsoft Co.
+// 
+// Permission is hereby granted, free of charge, to any person obtaining
+// a copy of this software and associated documentation files (the
+// "Software"), to deal in the Software without restriction, including
+// without limitation the rights to use, copy, modify, merge, publish,
+// distribute, sublicense, and/or sell copies of the Software, and to
+// permit persons to whom the Software is furnished to do so, subject to
+// the following conditions:
+// 
+// The above copyright notice and this permission notice shall be
+// included in all copies or substantial portions of the Software.
+// 
+// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
+// EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
+// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
+// NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
+// LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
+// OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
+// WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
+//
+
+
+
+using System;
+using System.Data;
+using System.Data.Common;
+using System.Data.OracleClient;
+
+using MonoTests.System.Data.Utils;
+
+
+using NUnit.Framework;
+
+namespace MonoTests.System.Data.OracleClient
+{
+       [TestFixture]
+       public class OracleDataAdapter_MissingSchemaAction : ADONetTesterClass
+       {
+               public static void Main()
+               {
+                       OracleDataAdapter_MissingSchemaAction tc = new OracleDataAdapter_MissingSchemaAction();
+                       Exception exp = null;
+                       try
+                       {
+                               tc.BeginTest("OracleDataAdapter_MissingSchemaAction");
+                               tc.run();
+                       }
+                       catch(Exception ex)
+                       {
+                               exp = ex;
+                       }
+                       finally
+                       {
+                               tc.EndTest(exp);
+                       }
+               }
+
+
+               //public TestClass():base(true){}
+
+               //Activate this constructor to log Failures to a log file
+               //public TestClass(System.IO.TextWriter tw):base(tw, false){}
+
+
+               //Activate this constructor to log All to a log file
+               //public TestClass(System.IO.TextWriter tw):base(tw, true){}
+
+               //BY DEFAULT LOGGING IS DONE TO THE STANDARD OUTPUT ONLY FOR FAILURES
+
+               [Test]
+               public void run()
+               {
+                       OracleDataAdapter oleDBda = new OracleDataAdapter();
+                       oleDBda.SelectCommand = new OracleCommand("",new OracleConnection());
+                       base.DataAdapter_MissingSchemaAction((DbDataAdapter)oleDBda);
+               }
+       }
+}
\ No newline at end of file
diff --git a/mcs/class/System.Data.OracleClient/Test/System.Data.OracleClient.jvm/OracleDataAdapter/OracleDataAdapter_RowUpdated.cs b/mcs/class/System.Data.OracleClient/Test/System.Data.OracleClient.jvm/OracleDataAdapter/OracleDataAdapter_RowUpdated.cs
new file mode 100755 (executable)
index 0000000..c253b02
--- /dev/null
@@ -0,0 +1,154 @@
+// 
+// Copyright (c) 2006 Mainsoft Co.
+// 
+// Permission is hereby granted, free of charge, to any person obtaining
+// a copy of this software and associated documentation files (the
+// "Software"), to deal in the Software without restriction, including
+// without limitation the rights to use, copy, modify, merge, publish,
+// distribute, sublicense, and/or sell copies of the Software, and to
+// permit persons to whom the Software is furnished to do so, subject to
+// the following conditions:
+// 
+// The above copyright notice and this permission notice shall be
+// included in all copies or substantial portions of the Software.
+// 
+// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
+// EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
+// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
+// NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
+// LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
+// OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
+// WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
+//
+
+using System;
+using System.Data;
+using System.Data.Common;
+using System.Data.OracleClient;
+
+using MonoTests.System.Data.Utils;
+
+
+using NUnit.Framework;
+
+namespace MonoTests.System.Data.OracleClient
+{
+       [TestFixture]
+       public class OracleDataAdapter_RowUpdated : ADONetTesterClass
+       {
+               public static void Main()
+               {
+                       OracleDataAdapter_RowUpdated tc = new OracleDataAdapter_RowUpdated();
+                       Exception exp = null;
+                       try
+                       {
+                               tc.BeginTest("OracleDataAdapter_RowUpdated");
+                               tc.run();
+                       }
+                       catch(Exception ex)
+                       {
+                               exp = ex;
+                       }
+                       finally
+                       {
+                               tc.EndTest(exp);
+                       }
+               }
+
+
+               //public TestClass():base(true){}
+
+               //Activate this constructor to log Failures to a log file
+               //public TestClass(System.IO.TextWriter tw):base(tw, false){}
+
+
+               //Activate this constructor to log All to a log file
+               //public TestClass(System.IO.TextWriter tw):base(tw, true){}
+
+               //BY DEFAULT LOGGING IS DONE TO THE STANDARD OUTPUT ONLY FOR FAILURES
+
+               int EventCounter = 0;
+               DataRow drInsert,drDelete,drUpdate;
+               [Test]
+               public void run()
+               {
+                       Exception exp = null;
+
+                       OracleDataAdapter oleDBda = new OracleDataAdapter();
+                       oleDBda.SelectCommand = new OracleCommand("",new OracleConnection());
+
+                       base.OracleDataAdapter_BuildUpdateCommands(ref oleDBda);                
+                       // --------- get data from DB -----------------
+                       DataSet ds = base.PrepareDBData_Update((DbDataAdapter)oleDBda);
+
+
+                       // add event handler
+                       oleDBda.RowUpdated += new OracleRowUpdatedEventHandler(oleDBda_RowUpdated);
+                       
+                       //insert ,delete, update
+                       drInsert = ds.Tables[0].NewRow();
+                       drInsert.ItemArray = new object[] {9991,"Ofer","Borshtein","Insert"};
+                       drDelete = ds.Tables[0].Rows.Find(9992);
+                       drUpdate = ds.Tables[0].Rows.Find(9993);
+               
+                       ds.Tables[0].Rows.Add(drInsert);
+                       drDelete.Delete();
+                       drUpdate["Title"] = "Jack the ripper"; 
+
+                       //execute update to db, will raise events
+                       oleDBda.Update(ds);
+
+                       try
+                       {
+                               BeginCase("EventCounter ");
+                               Compare(EventCounter ,3);
+                       }
+                       catch(Exception ex)     {exp = ex;}
+                       finally {EndCase(exp); exp = null;}
+               
+                       oleDBda.RowUpdated -= new OracleRowUpdatedEventHandler(oleDBda_RowUpdated);
+               
+                       //close connection
+                       if (  ((IDbDataAdapter)oleDBda).SelectCommand.Connection.State != ConnectionState.Closed )
+                               ((IDbDataAdapter)oleDBda).SelectCommand.Connection.Close();
+               }
+
+               private void oleDBda_RowUpdated(object sender, OracleRowUpdatedEventArgs e)
+               {
+                       Exception exp = null;
+                       switch (e.StatementType)
+                       {
+                               case StatementType.Insert: 
+                                       try
+                                       {
+                                               BeginCase("RowInsert");
+                                               Compare(drInsert ,e.Row );
+                                       }
+                                       catch(Exception ex)     {exp = ex;}
+                                       finally {EndCase(exp); exp = null;}
+                                       EventCounter++;
+                                       break;
+                               case StatementType.Delete:
+                                       try
+                                       {
+                                               BeginCase("RowDelete");
+                                               Compare(drDelete ,e.Row );
+                                       }
+                                       catch(Exception ex)     {exp = ex;}
+                                       finally {EndCase(exp); exp = null;}
+                                       EventCounter++;
+                                       break;
+                               case StatementType.Update:
+                                       try
+                                       {
+                                               BeginCase("RowUpdate");
+                                               Compare(drUpdate ,e.Row );
+                                       }
+                                       catch(Exception ex)     {exp = ex;}
+                                       finally {EndCase(exp); exp = null;}
+                                       EventCounter++;
+                                       break;
+                       }
+               }
+       }
+}
\ No newline at end of file
diff --git a/mcs/class/System.Data.OracleClient/Test/System.Data.OracleClient.jvm/OracleDataAdapter/OracleDataAdapter_RowUpdating.cs b/mcs/class/System.Data.OracleClient/Test/System.Data.OracleClient.jvm/OracleDataAdapter/OracleDataAdapter_RowUpdating.cs
new file mode 100755 (executable)
index 0000000..e1cc763
--- /dev/null
@@ -0,0 +1,153 @@
+// 
+// Copyright (c) 2006 Mainsoft Co.
+// 
+// Permission is hereby granted, free of charge, to any person obtaining
+// a copy of this software and associated documentation files (the
+// "Software"), to deal in the Software without restriction, including
+// without limitation the rights to use, copy, modify, merge, publish,
+// distribute, sublicense, and/or sell copies of the Software, and to
+// permit persons to whom the Software is furnished to do so, subject to
+// the following conditions:
+// 
+// The above copyright notice and this permission notice shall be
+// included in all copies or substantial portions of the Software.
+// 
+// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
+// EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
+// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
+// NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
+// LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
+// OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
+// WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
+//
+
+using System;
+using System.Data;
+using System.Data.Common;
+using System.Data.OracleClient;
+
+using MonoTests.System.Data.Utils;
+
+
+using NUnit.Framework;
+
+namespace MonoTests.System.Data.OracleClient
+{
+       [TestFixture]
+       public class OracleDataAdapter_RowUpdating : ADONetTesterClass
+       {
+               public static void Main()
+               {
+                       OracleDataAdapter_RowUpdating tc = new OracleDataAdapter_RowUpdating();
+                       Exception exp = null;
+                       try
+                       {
+                               tc.BeginTest("OracleDataAdapter_RowUpdating");
+                               tc.run();
+                       }
+                       catch(Exception ex)
+                       {
+                               exp = ex;
+                       }
+                       finally
+                       {
+                               tc.EndTest(exp);
+                       }
+               }
+
+
+               //public TestClass():base(true){}
+
+               //Activate this constructor to log Failures to a log file
+               //public TestClass(System.IO.TextWriter tw):base(tw, false){}
+
+
+               //Activate this constructor to log All to a log file
+               //public TestClass(System.IO.TextWriter tw):base(tw, true){}
+
+               //BY DEFAULT LOGGING IS DONE TO THE STANDARD OUTPUT ONLY FOR FAILURES
+
+
+               int EventCounter = 0;
+               DataRow drInsert,drDelete,drUpdate;
+               [Test]
+               public void run()
+               {
+                       Exception exp = null;
+
+                       OracleDataAdapter oleDBda = new OracleDataAdapter();
+                       oleDBda.SelectCommand = new OracleCommand("",new OracleConnection());
+
+                       base.OracleDataAdapter_BuildUpdateCommands(ref oleDBda);                
+                       // --------- get data from DB -----------------
+                       DataSet ds = base.PrepareDBData_Update((DbDataAdapter)oleDBda);
+                       // add event handler
+                       oleDBda.RowUpdating +=new OracleRowUpdatingEventHandler(oleDBda_RowUpdating);
+                       
+                       //insert ,delete, update
+                       drInsert = ds.Tables[0].NewRow();
+                       drInsert.ItemArray = new object[] {9991,"Ofer","Borshtein","Insert"};
+                       drDelete = ds.Tables[0].Rows.Find(9992);
+                       drUpdate = ds.Tables[0].Rows.Find(9993);
+               
+                       ds.Tables[0].Rows.Add(drInsert);
+                       drDelete.Delete();
+                       drUpdate["Title"] = "Jack the ripper"; 
+
+                       //execute update to db, will raise events
+                       oleDBda.Update(ds);
+
+                       try
+                       {
+                               BeginCase("EventCounter ");
+                               Compare(EventCounter ,3);
+                       }
+                       catch(Exception ex)     {exp = ex;}
+                       finally {EndCase(exp); exp = null;}
+               
+                       oleDBda.RowUpdating -=new OracleRowUpdatingEventHandler(oleDBda_RowUpdating);
+                               
+                       //close connection
+                       if (  ((IDbDataAdapter)oleDBda).SelectCommand.Connection.State != ConnectionState.Closed )
+                               ((IDbDataAdapter)oleDBda).SelectCommand.Connection.Close();
+               }
+
+               private void oleDBda_RowUpdating(object sender, OracleRowUpdatingEventArgs e)
+               {
+                       Exception exp = null;
+                       switch (e.StatementType)
+                       {
+                               case StatementType.Insert: 
+                                       try
+                                       {
+                                               BeginCase("RowInsert");
+                                               Compare(drInsert ,e.Row );
+                                       }
+                                       catch(Exception ex)     {exp = ex;}
+                                       finally {EndCase(exp); exp = null;}
+                                       EventCounter++;
+                                       break;
+                               case StatementType.Delete:
+                                       try
+                                       {
+                                               BeginCase("RowDelete");
+                                               Compare(drDelete ,e.Row );
+                                       }
+                                       catch(Exception ex)     {exp = ex;}
+                                       finally {EndCase(exp); exp = null;}
+                                       EventCounter++;
+                                       break;
+                               case StatementType.Update:
+                                       try
+                                       {
+                                               BeginCase("RowUpdate");
+                                               Compare(drUpdate ,e.Row );
+                                       }
+                                       catch(Exception ex)     {exp = ex;}
+                                       finally {EndCase(exp); exp = null;}
+                                       EventCounter++;
+                                       break;
+                       }
+               }
+       }
+}
\ No newline at end of file
diff --git a/mcs/class/System.Data.OracleClient/Test/System.Data.OracleClient.jvm/OracleDataAdapter/OracleDataAdapter_SelectCommand.cs b/mcs/class/System.Data.OracleClient/Test/System.Data.OracleClient.jvm/OracleDataAdapter/OracleDataAdapter_SelectCommand.cs
new file mode 100755 (executable)
index 0000000..51e0a51
--- /dev/null
@@ -0,0 +1,92 @@
+// 
+// Copyright (c) 2006 Mainsoft Co.
+// 
+// Permission is hereby granted, free of charge, to any person obtaining
+// a copy of this software and associated documentation files (the
+// "Software"), to deal in the Software without restriction, including
+// without limitation the rights to use, copy, modify, merge, publish,
+// distribute, sublicense, and/or sell copies of the Software, and to
+// permit persons to whom the Software is furnished to do so, subject to
+// the following conditions:
+// 
+// The above copyright notice and this permission notice shall be
+// included in all copies or substantial portions of the Software.
+// 
+// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
+// EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
+// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
+// NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
+// LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
+// OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
+// WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
+//
+
+
+
+using System;
+using System.Data;
+using System.Data.Common;
+using System.Data.OracleClient;
+
+using MonoTests.System.Data.Utils;
+
+
+using NUnit.Framework;
+
+namespace MonoTests.System.Data.OracleClient
+{
+[TestFixture]
+public class OracleDataAdapter_SelectCommand : GHTBase
+{
+       public static void Main()
+       {
+               OracleDataAdapter_SelectCommand tc = new OracleDataAdapter_SelectCommand();
+               Exception exp = null;
+               try
+               {
+                       tc.BeginTest("OracleDataAdapter_SelectCommand");
+                       tc.run();
+               }
+               catch(Exception ex)
+               {
+                       exp = ex;
+               }
+               finally
+               {
+                       tc.EndTest(exp);
+               }
+       }
+
+
+       //public TestClass():base(true){}
+
+       //Activate this constructor to log Failures to a log file
+       //public TestClass(System.IO.TextWriter tw):base(tw, false){}
+
+
+       //Activate this constructor to log All to a log file
+       //public TestClass(System.IO.TextWriter tw):base(tw, true){}
+
+       //BY DEFAULT LOGGING IS DONE TO THE STANDARD OUTPUT ONLY FOR FAILURES
+
+       [Test]
+       public void run()
+       {
+               Exception exp = null;
+               
+               OracleDataAdapter oleDBda = new OracleDataAdapter();
+
+               OracleCommand Cmd = new OracleCommand();
+
+               oleDBda.SelectCommand  = Cmd;
+
+               try
+               {
+                       BeginCase("SelectCommand - Get");
+                       Compare(oleDBda.SelectCommand, Cmd);
+               }
+               catch(Exception ex)     {exp = ex;}
+               finally {EndCase(exp); exp = null;}
+       }
+}
+}
\ No newline at end of file
diff --git a/mcs/class/System.Data.OracleClient/Test/System.Data.OracleClient.jvm/OracleDataAdapter/OracleDataAdapter_TableMappings.cs b/mcs/class/System.Data.OracleClient/Test/System.Data.OracleClient.jvm/OracleDataAdapter/OracleDataAdapter_TableMappings.cs
new file mode 100755 (executable)
index 0000000..4bae756
--- /dev/null
@@ -0,0 +1,203 @@
+// 
+// Copyright (c) 2006 Mainsoft Co.
+// 
+// Permission is hereby granted, free of charge, to any person obtaining
+// a copy of this software and associated documentation files (the
+// "Software"), to deal in the Software without restriction, including
+// without limitation the rights to use, copy, modify, merge, publish,
+// distribute, sublicense, and/or sell copies of the Software, and to
+// permit persons to whom the Software is furnished to do so, subject to
+// the following conditions:
+// 
+// The above copyright notice and this permission notice shall be
+// included in all copies or substantial portions of the Software.
+// 
+// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
+// EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
+// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
+// NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
+// LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
+// OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
+// WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
+//
+
+using System;
+using System.Data;
+using System.Data.Common;
+using System.Data.OracleClient;
+
+using MonoTests.System.Data.Utils;
+
+
+using NUnit.Framework;
+
+namespace MonoTests.System.Data.OracleClient
+{
+       [TestFixture]
+       public class OracleDataAdapter_TableMappings : ADONetTesterClass
+       {
+               public static void Main()
+               {
+                       OracleDataAdapter_TableMappings tc = new OracleDataAdapter_TableMappings();
+                       Exception exp = null;
+                       try
+                       {
+                               tc.BeginTest("OracleDataAdapter_TableMappings");
+                               tc.run();
+                       }
+                       catch(Exception ex)
+                       {
+                               exp = ex;
+                       }
+                       finally
+                       {
+                               tc.EndTest(exp);
+                       }
+               }
+
+
+               //public TestClass():base(true){}
+
+               //Activate this constructor to log Failures to a log file
+               //public TestClass(System.IO.TextWriter tw):base(tw, false){}
+
+
+               //Activate this constructor to log All to a log file
+               //public TestClass(System.IO.TextWriter tw):base(tw, true){}
+
+               //BY DEFAULT LOGGING IS DONE TO THE STANDARD OUTPUT ONLY FOR FAILURES
+
+               [Test]
+               public void run()
+               { 
+                       // open a transaction for PostgreSQL
+                       OracleDataAdapter oleDBda = new OracleDataAdapter();
+                       oleDBda.SelectCommand = new OracleCommand("",new OracleConnection());
+
+                       DataAdapter_TableMappings((DbDataAdapter)oleDBda);
+               }
+               
+               public void DataAdapter_TableMappings(DbDataAdapter dbDA)
+               {
+                       Exception exp = null;
+                       IDbDataAdapter Ida = (IDbDataAdapter)dbDA;
+                       IDbCommand ICmd = Ida.SelectCommand; 
+                       IDbConnection IConn = ICmd.Connection; 
+                       IConn.ConnectionString = MonoTests.System.Data.Utils.ConnectedDataProvider.ConnectionString;
+                       IConn.Open();
+                       ICmd.Transaction = IConn.BeginTransaction();
+
+                       //--- Default value ---
+        
+                       try
+                       {
+                               BeginCase("TableMappings Default value");
+                               Compare(dbDA.TableMappings.Count ,0);
+                       }
+                       catch(Exception ex)     {exp = ex;}
+                       finally {EndCase(exp); exp = null;}
+
+                       //init dataset
+                       DataSet ds = new DataSet();
+                       ds.Tables.Add("CustTable");
+                       ds.Tables.Add("EmplTable");
+
+                       //load the tables
+                       dbDA.TableMappings.Add("Table","CustTable");
+                       ICmd.CommandText = "SELECT CustomerID, CompanyName, City, Country, Phone FROM Customers where CustomerID in ('GH100','GH200','GH300','GH400','GH500','GH600','GH700')";
+                       dbDA.Fill(ds);
+
+                       dbDA.TableMappings.Clear();
+                       dbDA.TableMappings.Add("Table","EmplTable");
+                       ICmd.CommandText = " SELECT EmployeeID, LastName, FirstName, Title FROM Employees where EmployeeID > 0";
+                       dbDA.Fill(ds);
+
+                       try
+                       {
+                               BeginCase("TableMappings.Count");
+                               Compare(ds.Tables.Count ,2);
+                       }
+                       catch(Exception ex)     {exp = ex;}
+                       finally {EndCase(exp); exp = null;}
+                       try
+                       {
+                               BeginCase("Customers rows count");
+                               Compare(ds.Tables["CustTable"].Rows.Count > 0,true);
+                       }
+                       catch(Exception ex)     {exp = ex;}
+                       finally {EndCase(exp); exp = null;}
+                       try
+                       {
+                               BeginCase("Employees rows count");
+                               Compare(ds.Tables["EmplTable"].Rows.Count > 0,true);
+                       }
+                       catch(Exception ex)     {exp = ex;}
+                       finally {EndCase(exp); exp = null;}
+                       try
+                       {
+                               BeginCase("Employees Columns");
+                               Compare(ds.Tables["EmplTable"].Columns.IndexOf("EmployeeID") >= 0,true);
+                       }
+                       catch(Exception ex)     {exp = ex;}
+                       finally {EndCase(exp); exp = null;}
+                       try
+                       {
+                               BeginCase("Customer Columns");
+                               Compare(ds.Tables["CustTable"].Columns.IndexOf("CustomerID") >= 0,true);
+                       }
+                       catch(Exception ex)     {exp = ex;}
+                       finally {EndCase(exp); exp = null;}
+
+                       //Another checking 
+                       if (ConnectedDataProvider.GetDbType() != DataBaseServer.DB2) {
+
+                       BeginCase("Check table mappings with stored procedure of another owner");
+                       try
+                       {
+                               DataSet ds1 = new DataSet();
+                               ds1.Tables.Add("EmplTable");
+                               dbDA.TableMappings.Clear();
+                               dbDA.TableMappings.Add("Table","EmplTable");
+                               ICmd.CommandType = CommandType.StoredProcedure;
+       
+                               switch (ConnectedDataProvider.GetDbType(ConnectedDataProvider.ConnectionString))
+                               {
+                                       case MonoTests.System.Data.Utils.DataBaseServer.Oracle:
+                                               // On ORACLE, the Scheam is the user is the owner.
+                                               ICmd.CommandText = "GHTDB.GH_DUMMY";
+                                               break;
+                                       case MonoTests.System.Data.Utils.DataBaseServer.PostgreSQL:
+                                               ICmd.CommandText = "public.gh_dummy";
+                                               break;
+                                       default:
+                                               ICmd.CommandText = "mainsoft.GH_DUMMY";
+                                               break;
+                               }
+
+                               // investigate the SP parameters
+                               OracleCommandBuilder.DeriveParameters((OracleCommand)ICmd);
+                               Compare(2,ICmd.Parameters.Count);
+
+                               // add one numeric parameter, and Fill
+                               ICmd.Parameters.Clear();
+                               ICmd.Parameters.Add(new OracleParameter("EmployeeIDPrm",1));
+                               ((OracleCommand)ICmd).Parameters.Add(new OracleParameter("result",OracleType.Cursor)).Direction = ParameterDirection.Output;
+                               dbDA.Fill(ds1);
+                               Compare(ds1.Tables.Count,1);
+                               Compare(ds1.Tables[0].Rows.Count >0,true);
+                       }
+                       catch(Exception ex)     {exp = ex;}
+                       finally {EndCase(exp); exp = null;}
+
+                       }
+               
+
+                       // 
+                       ((IDbDataAdapter)dbDA).SelectCommand.Transaction.Commit();
+
+                       //close connection
+                       if (  ((IDbDataAdapter)dbDA).SelectCommand.Connection.State != ConnectionState.Closed )
+                               ((IDbDataAdapter)dbDA).SelectCommand.Connection.Close();
+               }
+       }
+}
\ No newline at end of file
diff --git a/mcs/class/System.Data.OracleClient/Test/System.Data.OracleClient.jvm/OracleDataAdapter/OracleDataAdapter_ToString.cs b/mcs/class/System.Data.OracleClient/Test/System.Data.OracleClient.jvm/OracleDataAdapter/OracleDataAdapter_ToString.cs
new file mode 100755 (executable)
index 0000000..3a9ef03
--- /dev/null
@@ -0,0 +1,94 @@
+// 
+// Copyright (c) 2006 Mainsoft Co.
+// 
+// Permission is hereby granted, free of charge, to any person obtaining
+// a copy of this software and associated documentation files (the
+// "Software"), to deal in the Software without restriction, including
+// without limitation the rights to use, copy, modify, merge, publish,
+// distribute, sublicense, and/or sell copies of the Software, and to
+// permit persons to whom the Software is furnished to do so, subject to
+// the following conditions:
+// 
+// The above copyright notice and this permission notice shall be
+// included in all copies or substantial portions of the Software.
+// 
+// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
+// EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
+// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
+// NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
+// LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
+// OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
+// WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
+//
+
+
+
+using System;
+using System.Data;
+using System.Data.Common;
+using System.Data.OracleClient;
+
+using MonoTests.System.Data.Utils;
+
+
+using NUnit.Framework;
+
+namespace MonoTests.System.Data.OracleClient
+{
+[TestFixture]
+public class OracleDataAdapter_ToString : GHTBase
+{
+       public static void Main()
+       {
+               OracleDataAdapter_ToString tc = new OracleDataAdapter_ToString();
+               Exception exp = null;
+               try
+               {
+                       tc.BeginTest("OracleDataAdapter_ToString");
+                       tc.run();
+               }
+               catch(Exception ex)
+               {
+                       exp = ex;
+               }
+               finally
+               {
+                       tc.EndTest(exp);
+               }
+       }
+
+
+       //public TestClass():base(true){}
+
+       //Activate this constructor to log Failures to a log file
+       //public TestClass(System.IO.TextWriter tw):base(tw, false){}
+
+
+       //Activate this constructor to log All to a log file
+       //public TestClass(System.IO.TextWriter tw):base(tw, true){}
+
+       //BY DEFAULT LOGGING IS DONE TO THE STANDARD OUTPUT ONLY FOR FAILURES
+
+       [Test]
+       public void run()
+       {
+               Exception exp = null;
+               OracleDataAdapter oleDBda = new OracleDataAdapter();
+
+               try
+               {
+                       BeginCase("ToString");
+                       Compare(oleDBda.ToString(),typeof(OracleDataAdapter).ToString() );
+               } 
+               catch(Exception ex)
+               {
+                       exp = ex;
+               }
+               finally
+               {
+                       EndCase(exp);
+                       exp = null;
+               }
+       }
+}
+}
\ No newline at end of file
diff --git a/mcs/class/System.Data.OracleClient/Test/System.Data.OracleClient.jvm/OracleDataAdapter/OracleDataAdapter_UpdateCommand.cs b/mcs/class/System.Data.OracleClient/Test/System.Data.OracleClient.jvm/OracleDataAdapter/OracleDataAdapter_UpdateCommand.cs
new file mode 100755 (executable)
index 0000000..2bb6d90
--- /dev/null
@@ -0,0 +1,93 @@
+// 
+// Copyright (c) 2006 Mainsoft Co.
+// 
+// Permission is hereby granted, free of charge, to any person obtaining
+// a copy of this software and associated documentation files (the
+// "Software"), to deal in the Software without restriction, including
+// without limitation the rights to use, copy, modify, merge, publish,
+// distribute, sublicense, and/or sell copies of the Software, and to
+// permit persons to whom the Software is furnished to do so, subject to
+// the following conditions:
+// 
+// The above copyright notice and this permission notice shall be
+// included in all copies or substantial portions of the Software.
+// 
+// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
+// EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
+// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
+// NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
+// LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
+// OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
+// WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
+//
+
+
+
+using System;
+using System.Data;
+using System.Data.Common;
+using System.Data.OracleClient;
+
+using MonoTests.System.Data.Utils;
+
+
+using NUnit.Framework;
+
+namespace MonoTests.System.Data.OracleClient
+{
+[TestFixture]
+public class OracleDataAdapter_UpdateCommand : GHTBase
+{
+       public static void Main()
+       {
+               OracleDataAdapter_UpdateCommand tc = new OracleDataAdapter_UpdateCommand();
+               Exception exp = null;
+               try
+               {
+                       tc.BeginTest("OracleDataAdapter_UpdateCommand");
+                       tc.run();
+               }
+               catch(Exception ex)
+               {
+                       exp = ex;
+               }
+               finally
+               {
+                       tc.EndTest(exp);
+               }
+
+       }
+
+
+       //public TestClass():base(true){}
+
+       //Activate this constructor to log Failures to a log file
+       //public TestClass(System.IO.TextWriter tw):base(tw, false){}
+
+
+       //Activate this constructor to log All to a log file
+       //public TestClass(System.IO.TextWriter tw):base(tw, true){}
+
+       //BY DEFAULT LOGGING IS DONE TO THE STANDARD OUTPUT ONLY FOR FAILURES
+
+       [Test]
+       public void run()
+       {
+               Exception exp = null;
+               
+               OracleDataAdapter oleDBda = new OracleDataAdapter();
+
+               OracleCommand Cmd = new OracleCommand();
+
+               oleDBda.UpdateCommand  = Cmd;
+
+               try
+               {
+                       BeginCase("UpdateCommand - Get");
+                       Compare(oleDBda.UpdateCommand , Cmd);
+               }
+               catch(Exception ex)     {exp = ex;}
+               finally {EndCase(exp); exp = null;}     
+       }
+}
+}
\ No newline at end of file
diff --git a/mcs/class/System.Data.OracleClient/Test/System.Data.OracleClient.jvm/OracleDataAdapter/OracleDataAdapter_Update_Dr.cs b/mcs/class/System.Data.OracleClient/Test/System.Data.OracleClient.jvm/OracleDataAdapter/OracleDataAdapter_Update_Dr.cs
new file mode 100755 (executable)
index 0000000..9c41e9f
--- /dev/null
@@ -0,0 +1,80 @@
+// 
+// Copyright (c) 2006 Mainsoft Co.
+// 
+// Permission is hereby granted, free of charge, to any person obtaining
+// a copy of this software and associated documentation files (the
+// "Software"), to deal in the Software without restriction, including
+// without limitation the rights to use, copy, modify, merge, publish,
+// distribute, sublicense, and/or sell copies of the Software, and to
+// permit persons to whom the Software is furnished to do so, subject to
+// the following conditions:
+// 
+// The above copyright notice and this permission notice shall be
+// included in all copies or substantial portions of the Software.
+// 
+// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
+// EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
+// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
+// NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
+// LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
+// OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
+// WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
+//
+
+using System;
+using System.Data;
+using System.Data.Common;
+using System.Data.OracleClient;
+
+using MonoTests.System.Data.Utils;
+
+
+using NUnit.Framework;
+
+namespace MonoTests.System.Data.OracleClient
+{
+       [TestFixture]
+       public class OracleDataAdapter_Update_Dr : ADONetTesterClass
+       {
+               public static void Main()
+               {
+                       OracleDataAdapter_Update_Dr tc = new OracleDataAdapter_Update_Dr();
+                       Exception exp = null;
+                       try
+                       {
+                               tc.BeginTest("OracleDataAdapter_Update_Dr");
+                               tc.run();
+                       }
+                       catch(Exception ex)
+                       {
+                               exp = ex;
+                       }
+                       finally
+                       {
+                               tc.EndTest(exp);
+                       }
+               }
+
+
+               //public TestClass():base(true){}
+
+               //Activate this constructor to log Failures to a log file
+               //public TestClass(System.IO.TextWriter tw):base(tw, false){}
+
+
+               //Activate this constructor to log All to a log file
+               //public TestClass(System.IO.TextWriter tw):base(tw, true){}
+
+               //BY DEFAULT LOGGING IS DONE TO THE STANDARD OUTPUT ONLY FOR FAILURES
+
+               [Test]
+               public void run()
+               {
+                       OracleDataAdapter oleDBda = new OracleDataAdapter();
+                       oleDBda.SelectCommand = new OracleCommand("",new OracleConnection());
+
+                       base.OracleDataAdapter_BuildUpdateCommands(ref oleDBda);                
+                       base.DbDataAdapter_Update_Dr((DbDataAdapter)oleDBda);
+               }
+       }
+}
\ No newline at end of file
diff --git a/mcs/class/System.Data.OracleClient/Test/System.Data.OracleClient.jvm/OracleDataAdapter/OracleDataAdapter_Update_Ds.cs b/mcs/class/System.Data.OracleClient/Test/System.Data.OracleClient.jvm/OracleDataAdapter/OracleDataAdapter_Update_Ds.cs
new file mode 100755 (executable)
index 0000000..085b6c2
--- /dev/null
@@ -0,0 +1,82 @@
+// 
+// Copyright (c) 2006 Mainsoft Co.
+// 
+// Permission is hereby granted, free of charge, to any person obtaining
+// a copy of this software and associated documentation files (the
+// "Software"), to deal in the Software without restriction, including
+// without limitation the rights to use, copy, modify, merge, publish,
+// distribute, sublicense, and/or sell copies of the Software, and to
+// permit persons to whom the Software is furnished to do so, subject to
+// the following conditions:
+// 
+// The above copyright notice and this permission notice shall be
+// included in all copies or substantial portions of the Software.
+// 
+// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
+// EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
+// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
+// NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
+// LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
+// OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
+// WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
+//
+
+
+
+using System;
+using System.Data;
+using System.Data.Common;
+using System.Data.OracleClient;
+
+using MonoTests.System.Data.Utils;
+
+
+using NUnit.Framework;
+
+namespace MonoTests.System.Data.OracleClient
+{
+       [TestFixture]
+       public class OracleDataAdapter_Update_Ds :  ADONetTesterClass
+       {
+               public static void Main()
+               {
+                       OracleDataAdapter_Update_Ds tc = new OracleDataAdapter_Update_Ds();
+                       Exception exp = null;
+                       try
+                       {
+                               tc.BeginTest("OracleDataAdapter_Update_DS");
+                               tc.run();
+                       }
+                       catch(Exception ex)
+                       {
+                               exp = ex;
+                       }
+                       finally
+                       {
+                               tc.EndTest(exp);
+                       }
+               }
+
+
+               //public TestClass():base(true){}
+
+               //Activate this constructor to log Failures to a log file
+               //public TestClass(System.IO.TextWriter tw):base(tw, false){}
+
+
+               //Activate this constructor to log All to a log file
+               //public TestClass(System.IO.TextWriter tw):base(tw, true){}
+
+               //BY DEFAULT LOGGING IS DONE TO THE STANDARD OUTPUT ONLY FOR FAILURES
+
+               [Test]
+               public void run()
+               {
+                       OracleDataAdapter oleDBda = new OracleDataAdapter();
+                       oleDBda.SelectCommand = new OracleCommand("",new OracleConnection());
+
+                       base.OracleDataAdapter_BuildUpdateCommands(ref oleDBda);                
+                       base.DbDataAdapter_Update_Ds((DbDataAdapter)oleDBda);
+               }
+       }
+}
\ No newline at end of file
diff --git a/mcs/class/System.Data.OracleClient/Test/System.Data.OracleClient.jvm/OracleDataAdapter/OracleDataAdapter_Update_DsStr.cs b/mcs/class/System.Data.OracleClient/Test/System.Data.OracleClient.jvm/OracleDataAdapter/OracleDataAdapter_Update_DsStr.cs
new file mode 100755 (executable)
index 0000000..27be373
--- /dev/null
@@ -0,0 +1,81 @@
+// 
+// Copyright (c) 2006 Mainsoft Co.
+// 
+// Permission is hereby granted, free of charge, to any person obtaining
+// a copy of this software and associated documentation files (the
+// "Software"), to deal in the Software without restriction, including
+// without limitation the rights to use, copy, modify, merge, publish,
+// distribute, sublicense, and/or sell copies of the Software, and to
+// permit persons to whom the Software is furnished to do so, subject to
+// the following conditions:
+// 
+// The above copyright notice and this permission notice shall be
+// included in all copies or substantial portions of the Software.
+// 
+// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
+// EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
+// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
+// NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
+// LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
+// OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
+// WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
+//
+
+
+
+using System;
+using System.Data;
+using System.Data.Common;
+using System.Data.OracleClient;
+
+using MonoTests.System.Data.Utils;
+
+using NUnit.Framework;
+
+namespace MonoTests.System.Data.OracleClient
+{
+       [TestFixture]
+       public class OracleDataAdapter_Update_DsStr : ADONetTesterClass
+       {
+               public static void Main()
+               {
+                       OracleDataAdapter_Update_DsStr tc = new OracleDataAdapter_Update_DsStr();
+                       Exception exp = null;
+                       try
+                       {
+                               tc.BeginTest("OracleDataAdapter_Update_Ds_Str");
+                               tc.run();
+                       }
+                       catch(Exception ex)
+                       {
+                               exp = ex;
+                       }
+                       finally
+                       {
+                               tc.EndTest(exp);
+                       }
+               }
+
+
+               //public TestClass():base(true){}
+
+               //Activate this constructor to log Failures to a log file
+               //public TestClass(System.IO.TextWriter tw):base(tw, false){}
+
+
+               //Activate this constructor to log All to a log file
+               //public TestClass(System.IO.TextWriter tw):base(tw, true){}
+
+               //BY DEFAULT LOGGING IS DONE TO THE STANDARD OUTPUT ONLY FOR FAILURES
+
+               [Test]
+               public void run()
+               {
+                       OracleDataAdapter oleDBda = new OracleDataAdapter();
+                       oleDBda.SelectCommand = new OracleCommand("",new OracleConnection());
+
+                       base.OracleDataAdapter_BuildUpdateCommands(ref oleDBda);                
+                       base.DbDataAdapter_Update_Ds_Str((DbDataAdapter)oleDBda);
+               }
+       }
+}
\ No newline at end of file
diff --git a/mcs/class/System.Data.OracleClient/Test/System.Data.OracleClient.jvm/OracleDataAdapter/OracleDataAdapter_Update_Dt.cs b/mcs/class/System.Data.OracleClient/Test/System.Data.OracleClient.jvm/OracleDataAdapter/OracleDataAdapter_Update_Dt.cs
new file mode 100755 (executable)
index 0000000..b2937da
--- /dev/null
@@ -0,0 +1,79 @@
+// 
+// Copyright (c) 2006 Mainsoft Co.
+// 
+// Permission is hereby granted, free of charge, to any person obtaining
+// a copy of this software and associated documentation files (the
+// "Software"), to deal in the Software without restriction, including
+// without limitation the rights to use, copy, modify, merge, publish,
+// distribute, sublicense, and/or sell copies of the Software, and to
+// permit persons to whom the Software is furnished to do so, subject to
+// the following conditions:
+// 
+// The above copyright notice and this permission notice shall be
+// included in all copies or substantial portions of the Software.
+// 
+// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
+// EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
+// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
+// NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
+// LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
+// OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
+// WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
+//
+
+using System;
+using System.Data;
+using System.Data.Common;
+using System.Data.OracleClient;
+
+using MonoTests.System.Data.Utils;
+
+using NUnit.Framework;
+
+namespace MonoTests.System.Data.OracleClient
+{
+       [TestFixture]
+       public class OracleDataAdapter_Update_Dt : ADONetTesterClass
+       {
+               public static void Main()
+               {
+                       OracleDataAdapter_Update_Dt tc = new OracleDataAdapter_Update_Dt();
+                       Exception exp = null;
+                       try
+                       {
+                               tc.BeginTest("OracleDataAdapter_Update_Dt");
+                               tc.run();
+                       }
+                       catch(Exception ex)
+                       {
+                               exp = ex;
+                       }
+                       finally
+                       {
+                               tc.EndTest(exp);
+                       }
+               }
+
+
+               //public TestClass():base(true){}
+
+               //Activate this constructor to log Failures to a log file
+               //public TestClass(System.IO.TextWriter tw):base(tw, false){}
+
+
+               //Activate this constructor to log All to a log file
+               //public TestClass(System.IO.TextWriter tw):base(tw, true){}
+
+               //BY DEFAULT LOGGING IS DONE TO THE STANDARD OUTPUT ONLY FOR FAILURES
+
+               [Test]
+               public void run()
+               {
+                       OracleDataAdapter oleDBda = new OracleDataAdapter();
+                       oleDBda.SelectCommand = new OracleCommand("",new OracleConnection());
+
+                       base.OracleDataAdapter_BuildUpdateCommands(ref oleDBda);                
+                       base.DbDataAdapter_Update_Dr((DbDataAdapter)oleDBda);
+               }
+       }
+}
\ No newline at end of file
diff --git a/mcs/class/System.Data.OracleClient/Test/System.Data.OracleClient.jvm/OracleDataAdapter/OracleDataAdapter_ctor.cs b/mcs/class/System.Data.OracleClient/Test/System.Data.OracleClient.jvm/OracleDataAdapter/OracleDataAdapter_ctor.cs
new file mode 100755 (executable)
index 0000000..6969b18
--- /dev/null
@@ -0,0 +1,88 @@
+// 
+// Copyright (c) 2006 Mainsoft Co.
+// 
+// Permission is hereby granted, free of charge, to any person obtaining
+// a copy of this software and associated documentation files (the
+// "Software"), to deal in the Software without restriction, including
+// without limitation the rights to use, copy, modify, merge, publish,
+// distribute, sublicense, and/or sell copies of the Software, and to
+// permit persons to whom the Software is furnished to do so, subject to
+// the following conditions:
+// 
+// The above copyright notice and this permission notice shall be
+// included in all copies or substantial portions of the Software.
+// 
+// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
+// EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
+// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
+// NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
+// LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
+// OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
+// WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
+//
+
+
+
+using System;
+using System.Data;
+using System.Data.OracleClient;
+
+using MonoTests.System.Data.Utils;
+
+
+using NUnit.Framework;
+
+namespace MonoTests.System.Data.OracleClient
+{
+[TestFixture]
+public class OracleDataAdapter_ctor : GHTBase
+{
+       public static void Main()
+       {
+               OracleDataAdapter_ctor tc = new OracleDataAdapter_ctor();
+               Exception exp = null;
+               try
+               {
+                       tc.BeginTest("OracleDataAdapter_ctor");
+                       tc.run();
+               }
+               catch(Exception ex)
+               {
+                       exp = ex;
+               }
+               finally
+               {
+                       tc.EndTest(exp);
+               }
+       }
+
+
+       //public TestClass():base(true){}
+
+       //Activate this constructor to log Failures to a log file
+       //public TestClass(System.IO.TextWriter tw):base(tw, false){}
+
+
+       //Activate this constructor to log All to a log file
+       //public TestClass(System.IO.TextWriter tw):base(tw, true){}
+
+       //BY DEFAULT LOGGING IS DONE TO THE STANDARD OUTPUT ONLY FOR FAILURES
+
+       [Test]
+       public void run()
+       {
+               Exception exp = null;
+
+               OracleDataAdapter oleDBda = new OracleDataAdapter();
+                       
+               try
+               {
+                       BeginCase("Ctor");
+                       Compare(oleDBda != null,true );
+               }
+               catch(Exception ex)     {exp = ex;}
+               finally {EndCase(exp); exp = null;}
+               
+       }
+}
+}
\ No newline at end of file
diff --git a/mcs/class/System.Data.OracleClient/Test/System.Data.OracleClient.jvm/OracleDataAdapter/OracleDataAdapter_ctor_O.cs b/mcs/class/System.Data.OracleClient/Test/System.Data.OracleClient.jvm/OracleDataAdapter/OracleDataAdapter_ctor_O.cs
new file mode 100755 (executable)
index 0000000..c705bfc
--- /dev/null
@@ -0,0 +1,87 @@
+// 
+// Copyright (c) 2006 Mainsoft Co.
+// 
+// Permission is hereby granted, free of charge, to any person obtaining
+// a copy of this software and associated documentation files (the
+// "Software"), to deal in the Software without restriction, including
+// without limitation the rights to use, copy, modify, merge, publish,
+// distribute, sublicense, and/or sell copies of the Software, and to
+// permit persons to whom the Software is furnished to do so, subject to
+// the following conditions:
+// 
+// The above copyright notice and this permission notice shall be
+// included in all copies or substantial portions of the Software.
+// 
+// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
+// EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
+// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
+// NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
+// LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
+// OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
+// WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
+//
+
+
+
+using System;
+using System.Data;
+using System.Data.OracleClient;
+
+using MonoTests.System.Data.Utils;
+
+
+using NUnit.Framework;
+
+namespace MonoTests.System.Data.OracleClient
+{
+[TestFixture]
+public class OracleDataAdapter_ctor_O : GHTBase
+{
+       public static void Main()
+       {
+               OracleDataAdapter_ctor_O tc = new OracleDataAdapter_ctor_O();
+               Exception exp = null;
+               try
+               {
+                       tc.BeginTest("OracleDataAdapter_ctor_O");
+                       tc.run();
+               }
+               catch(Exception ex)
+               {
+                       exp = ex;
+               }
+               finally
+               {
+                       tc.EndTest(exp);
+               }
+       }
+
+
+       //public TestClass():base(true){}
+
+       //Activate this constructor to log Failures to a log file
+       //public TestClass(System.IO.TextWriter tw):base(tw, false){}
+
+
+       //Activate this constructor to log All to a log file
+       //public TestClass(System.IO.TextWriter tw):base(tw, true){}
+
+       //BY DEFAULT LOGGING IS DONE TO THE STANDARD OUTPUT ONLY FOR FAILURES
+
+       [Test]
+       public void run()
+       {
+               Exception exp = null;
+               OracleDataAdapter oleDBda = new OracleDataAdapter(new OracleCommand());
+                       
+               try
+               {
+                       BeginCase("Ctor");
+                       Compare(oleDBda != null,true );
+               }
+               catch(Exception ex)     {exp = ex;}
+               finally {EndCase(exp); exp = null;}
+               
+       }
+}
+}
\ No newline at end of file
diff --git a/mcs/class/System.Data.OracleClient/Test/System.Data.OracleClient.jvm/OracleDataAdapter/OracleDataAdapter_ctor_SO.cs b/mcs/class/System.Data.OracleClient/Test/System.Data.OracleClient.jvm/OracleDataAdapter/OracleDataAdapter_ctor_SO.cs
new file mode 100755 (executable)
index 0000000..7942046
--- /dev/null
@@ -0,0 +1,87 @@
+// 
+// Copyright (c) 2006 Mainsoft Co.
+// 
+// Permission is hereby granted, free of charge, to any person obtaining
+// a copy of this software and associated documentation files (the
+// "Software"), to deal in the Software without restriction, including
+// without limitation the rights to use, copy, modify, merge, publish,
+// distribute, sublicense, and/or sell copies of the Software, and to
+// permit persons to whom the Software is furnished to do so, subject to
+// the following conditions:
+// 
+// The above copyright notice and this permission notice shall be
+// included in all copies or substantial portions of the Software.
+// 
+// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
+// EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
+// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
+// NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
+// LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
+// OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
+// WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
+//
+
+
+
+using System;
+using System.Data;
+using System.Data.OracleClient;
+
+using MonoTests.System.Data.Utils;
+
+
+using NUnit.Framework;
+
+namespace MonoTests.System.Data.OracleClient
+{
+[TestFixture]
+public class OracleDataAdapter_ctor_SO : GHTBase
+{
+       public static void Main()
+       {
+               OracleDataAdapter_ctor_SO tc = new OracleDataAdapter_ctor_SO();
+               Exception exp = null;
+               try
+               {
+                       tc.BeginTest("OracleDataAdapter_ctor_SO");
+                       tc.run();
+               }
+               catch(Exception ex)
+               {
+                       exp = ex;
+               }
+               finally
+               {
+                       tc.EndTest(exp);
+               }
+       }
+
+
+       //public TestClass():base(true){}
+
+       //Activate this constructor to log Failures to a log file
+       //public TestClass(System.IO.TextWriter tw):base(tw, false){}
+
+
+       //Activate this constructor to log All to a log file
+       //public TestClass(System.IO.TextWriter tw):base(tw, true){}
+
+       //BY DEFAULT LOGGING IS DONE TO THE STANDARD OUTPUT ONLY FOR FAILURES
+
+       [Test]
+       public void run()
+       {
+               Exception exp = null;
+               OracleDataAdapter oleDBda = new OracleDataAdapter("Select * from Customers",new OracleConnection());
+                       
+               try
+               {
+                       BeginCase("Ctor");
+                       Compare(oleDBda != null,true );
+               }
+               catch(Exception ex)     {exp = ex;}
+               finally {EndCase(exp); exp = null;}
+               
+       }
+}
+}
\ No newline at end of file
diff --git a/mcs/class/System.Data.OracleClient/Test/System.Data.OracleClient.jvm/OracleDataAdapter/OracleDataAdapter_ctor_SS.cs b/mcs/class/System.Data.OracleClient/Test/System.Data.OracleClient.jvm/OracleDataAdapter/OracleDataAdapter_ctor_SS.cs
new file mode 100755 (executable)
index 0000000..9921924
--- /dev/null
@@ -0,0 +1,87 @@
+// 
+// Copyright (c) 2006 Mainsoft Co.
+// 
+// Permission is hereby granted, free of charge, to any person obtaining
+// a copy of this software and associated documentation files (the
+// "Software"), to deal in the Software without restriction, including
+// without limitation the rights to use, copy, modify, merge, publish,
+// distribute, sublicense, and/or sell copies of the Software, and to
+// permit persons to whom the Software is furnished to do so, subject to
+// the following conditions:
+// 
+// The above copyright notice and this permission notice shall be
+// included in all copies or substantial portions of the Software.
+// 
+// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
+// EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
+// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
+// NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
+// LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
+// OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
+// WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
+//
+
+
+
+using System;
+using System.Data;
+using System.Data.OracleClient;
+
+using MonoTests.System.Data.Utils;
+
+
+using NUnit.Framework;
+
+namespace MonoTests.System.Data.OracleClient
+{
+[TestFixture]
+public class OracleDataAdapter_ctor_SS : GHTBase
+{
+       public static void Main()
+       {
+               OracleDataAdapter_ctor_SS tc = new OracleDataAdapter_ctor_SS();
+               Exception exp = null;
+               try
+               {
+                       tc.BeginTest("OracleDataAdapter_ctor_SS");
+                       tc.run();
+               }
+               catch(Exception ex)
+               {
+                       exp = ex;
+               }
+               finally
+               {
+                       tc.EndTest(exp);
+               }
+       }
+
+
+       //public TestClass():base(true){}
+
+       //Activate this constructor to log Failures to a log file
+       //public TestClass(System.IO.TextWriter tw):base(tw, false){}
+
+
+       //Activate this constructor to log All to a log file
+       //public TestClass(System.IO.TextWriter tw):base(tw, true){}
+
+       //BY DEFAULT LOGGING IS DONE TO THE STANDARD OUTPUT ONLY FOR FAILURES
+
+       [Test]
+       public void run()
+       {
+               Exception exp = null;
+               OracleDataAdapter oleDBda = new OracleDataAdapter("Select * from Customers",
+                                                               MonoTests.System.Data.Utils.ConnectedDataProvider.ConnectionString);
+               try
+               {
+                       BeginCase("Ctor");
+                       Compare(oleDBda != null,true );
+               }
+               catch(Exception ex)     {exp = ex;}
+               finally {EndCase(exp); exp = null;}
+               
+       }
+}
+}
\ No newline at end of file
diff --git a/mcs/class/System.Data.OracleClient/Test/System.Data.OracleClient.jvm/OracleDataReader/OracleDataReader_Close.cs b/mcs/class/System.Data.OracleClient/Test/System.Data.OracleClient.jvm/OracleDataReader/OracleDataReader_Close.cs
new file mode 100755 (executable)
index 0000000..739059e
--- /dev/null
@@ -0,0 +1,98 @@
+// 
+// Copyright (c) 2006 Mainsoft Co.
+// 
+// Permission is hereby granted, free of charge, to any person obtaining
+// a copy of this software and associated documentation files (the
+// "Software"), to deal in the Software without restriction, including
+// without limitation the rights to use, copy, modify, merge, publish,
+// distribute, sublicense, and/or sell copies of the Software, and to
+// permit persons to whom the Software is furnished to do so, subject to
+// the following conditions:
+// 
+// The above copyright notice and this permission notice shall be
+// included in all copies or substantial portions of the Software.
+// 
+// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
+// EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
+// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
+// NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
+// LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
+// OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
+// WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
+//
+
+using System;
+using System.Data;
+using System.Data.OracleClient;
+
+using MonoTests.System.Data.Utils;
+
+
+using NUnit.Framework;
+
+namespace MonoTests.System.Data.OracleClient
+{
+[TestFixture]
+public class OracleDataReader_Close : GHTBase
+{
+       public static void Main()
+       {
+               OracleDataReader_Close tc = new OracleDataReader_Close();
+               Exception exp = null;
+               try
+               {
+                       tc.BeginTest("DataReader.IsClosed");
+                       tc.run();
+               }
+               catch(Exception ex){exp = ex;}
+               finally {tc.EndTest(exp);}
+       }
+
+       [Test]
+       public void run()
+       {
+               Exception exp = null;
+
+               OracleConnection con = new OracleConnection(MonoTests.System.Data.Utils.ConnectedDataProvider.ConnectionString);
+               con.Open();
+               OracleCommand cmd = new OracleCommand("Select * From Customers", con);
+               OracleDataReader rdr = cmd.ExecuteReader();
+
+               try
+               {
+                       BeginCase("before closing");
+                       Compare(rdr.IsClosed ,false);
+               } 
+               catch(Exception ex){exp = ex;}
+               finally{EndCase(exp); exp = null;}
+
+
+               try
+               {
+                       BeginCase("after closing");
+                       rdr.Close();
+                       Compare(rdr.IsClosed ,true);
+               } 
+               catch(Exception ex){exp = ex;}
+               finally{EndCase(exp); exp = null;}
+
+               if (con.State == ConnectionState.Open) con.Close();
+
+
+       }
+
+
+       //public TestClass():base(true){}
+
+       //Activate this constructor to log Failures to a log file
+       //public TestClass(System.IO.TextWriter tw):base(tw, false){}
+
+       //Activate this constructor to log All to a log file
+       //public TestClass(System.IO.TextWriter tw):base(tw, true){}
+
+       //BY DEFAULT LOGGING IS DONE TO THE STANDARD OUTPUT ONLY FOR FAILURES
+
+}
+
+
+}
\ No newline at end of file
diff --git a/mcs/class/System.Data.OracleClient/Test/System.Data.OracleClient.jvm/OracleDataReader/OracleDataReader_Depth.cs b/mcs/class/System.Data.OracleClient/Test/System.Data.OracleClient.jvm/OracleDataReader/OracleDataReader_Depth.cs
new file mode 100755 (executable)
index 0000000..ca26319
--- /dev/null
@@ -0,0 +1,99 @@
+// 
+// Copyright (c) 2006 Mainsoft Co.
+// 
+// Permission is hereby granted, free of charge, to any person obtaining
+// a copy of this software and associated documentation files (the
+// "Software"), to deal in the Software without restriction, including
+// without limitation the rights to use, copy, modify, merge, publish,
+// distribute, sublicense, and/or sell copies of the Software, and to
+// permit persons to whom the Software is furnished to do so, subject to
+// the following conditions:
+// 
+// The above copyright notice and this permission notice shall be
+// included in all copies or substantial portions of the Software.
+// 
+// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
+// EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
+// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
+// NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
+// LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
+// OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
+// WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
+//
+
+
+using System;
+using System.Data;
+using System.Data.OracleClient;
+
+using MonoTests.System.Data.Utils;
+
+
+using NUnit.Framework;
+
+namespace MonoTests.System.Data.OracleClient
+{
+[TestFixture]
+public class OracleDataReader_Depth : GHTBase
+{
+       public static void Main()
+       {
+               OracleDataReader_Depth tc = new OracleDataReader_Depth();
+               Exception exp = null;
+               try
+               {
+                       tc.BeginTest("OracleDataReader_Depth");
+                       tc.run();
+               }
+               catch(Exception ex){exp = ex;}
+               finally {tc.EndTest(exp);}
+       }
+
+       [Test]
+       public void run()
+       {
+               Exception exp = null;
+
+               OracleConnection con = new OracleConnection(MonoTests.System.Data.Utils.ConnectedDataProvider.ConnectionString);
+               con.Open();
+               OracleCommand cmd = new OracleCommand("Select * From Customers", con);
+               OracleDataReader rdr = cmd.ExecuteReader();
+
+               try
+               {
+                       BeginCase("Before execute");
+                       Compare(rdr.Depth , 0);
+               } 
+               catch(Exception ex){exp = ex;}
+               finally{EndCase(exp); exp = null;}
+
+
+               try
+               {
+                       BeginCase("After execute");
+                       rdr.Read();
+                       Compare(rdr.Depth , 0);
+               } 
+               catch(Exception ex){exp = ex;}
+               finally{EndCase(exp); exp = null;}
+
+               if (con.State == ConnectionState.Open) con.Close();
+
+       }
+
+
+       //public TestClass():base(true){}
+
+       //Activate this constructor to log Failures to a log file
+       //public TestClass(System.IO.TextWriter tw):base(tw, false){}
+
+       //Activate this constructor to log All to a log file
+       //public TestClass(System.IO.TextWriter tw):base(tw, true){}
+
+       //BY DEFAULT LOGGING IS DONE TO THE STANDARD OUTPUT ONLY FOR FAILURES
+
+}
+
+
+
+}
\ No newline at end of file
diff --git a/mcs/class/System.Data.OracleClient/Test/System.Data.OracleClient.jvm/OracleDataReader/OracleDataReader_GetBoolean.cs b/mcs/class/System.Data.OracleClient/Test/System.Data.OracleClient.jvm/OracleDataReader/OracleDataReader_GetBoolean.cs
new file mode 100755 (executable)
index 0000000..7d558a7
--- /dev/null
@@ -0,0 +1,101 @@
+// 
+// Copyright (c) 2006 Mainsoft Co.
+// 
+// Permission is hereby granted, free of charge, to any person obtaining
+// a copy of this software and associated documentation files (the
+// "Software"), to deal in the Software without restriction, including
+// without limitation the rights to use, copy, modify, merge, publish,
+// distribute, sublicense, and/or sell copies of the Software, and to
+// permit persons to whom the Software is furnished to do so, subject to
+// the following conditions:
+// 
+// The above copyright notice and this permission notice shall be
+// included in all copies or substantial portions of the Software.
+// 
+// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
+// EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
+// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
+// NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
+// LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
+// OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
+// WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
+//
+
+using System;
+using System.Data;
+using System.Data.OracleClient;
+
+using MonoTests.System.Data.Utils;
+
+
+using NUnit.Framework;
+
+namespace MonoTests.System.Data.OracleClient
+{
+       [TestFixture]
+       public class OracleDataReader_GetBoolean : ADONetTesterClass
+       {
+               public static void Main()
+               {
+                       OracleDataReader_GetBoolean tc = new OracleDataReader_GetBoolean();
+                       Exception exp = null;
+                       try
+                       {
+                               tc.BeginTest("OracleDataReader_GetBoolean");
+                               tc.run();
+                       }
+                       catch(Exception ex){exp = ex;}
+                       finally {tc.EndTest(exp);}
+               }
+
+               [Test]
+               public void run()
+               {
+                       Exception exp = null;
+               
+                       OracleConnection con = new OracleConnection(MonoTests.System.Data.Utils.ConnectedDataProvider.ConnectionString);
+#if !JAVA
+                       // PostgreSQL ODBC treats Type BOOL as String, so we don't run it on .NET
+                       if ((ConnectedDataProvider.GetDbType(con) == DataBaseServer.PostgreSQL))
+                       {
+                               return; 
+                       }
+#endif
+
+                       //Do not test with oracle or DB2, because boolean does not exist in their types.
+                       if ( (ConnectedDataProvider.GetDbType(con) == DataBaseServer.Oracle) || (ConnectedDataProvider.GetDbType(con) == DataBaseServer.DB2) )
+                       {
+                               return; 
+                       }
+
+                       con.Open();
+                       string fieldName = "t_bit";
+                       if (ConnectedDataProvider.GetDbType(con) == DataBaseServer.PostgreSQL)
+                       {
+                               fieldName ="t_bool";
+                       }
+                       
+                       OracleCommand cmd = new OracleCommand("Select " + fieldName + " From TYPES_SIMPLE Where id = '0'",con);
+                       OracleDataReader rdr = cmd.ExecuteReader();
+                       rdr.Read();
+
+                       try
+                       {
+                               BeginCase("GetBoolean true");
+                               Boolean blnValue;
+                               Compare(rdr.IsDBNull(0), false);
+                               Compare("System.Boolean", rdr.GetValue(0).GetType().FullName);
+                               blnValue = rdr.GetBoolean(0);
+                               Compare(blnValue, true);
+                       } 
+                       catch(Exception ex){exp = ex;}
+                       finally{EndCase(exp); exp = null;}
+
+                       rdr.Close();
+              
+                       
+                       if (con.State == ConnectionState.Open) con.Close();
+
+               }
+       }
+}
\ No newline at end of file
diff --git a/mcs/class/System.Data.OracleClient/Test/System.Data.OracleClient.jvm/OracleDataReader/OracleDataReader_GetByte_I.cs b/mcs/class/System.Data.OracleClient/Test/System.Data.OracleClient.jvm/OracleDataReader/OracleDataReader_GetByte_I.cs
new file mode 100755 (executable)
index 0000000..d7dde68
--- /dev/null
@@ -0,0 +1,143 @@
+// 
+// Copyright (c) 2006 Mainsoft Co.
+// 
+// Permission is hereby granted, free of charge, to any person obtaining
+// a copy of this software and associated documentation files (the
+// "Software"), to deal in the Software without restriction, including
+// without limitation the rights to use, copy, modify, merge, publish,
+// distribute, sublicense, and/or sell copies of the Software, and to
+// permit persons to whom the Software is furnished to do so, subject to
+// the following conditions:
+// 
+// The above copyright notice and this permission notice shall be
+// included in all copies or substantial portions of the Software.
+// 
+// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
+// EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
+// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
+// NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
+// LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
+// OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
+// WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
+//
+
+using System;
+using System.Data;
+using System.Data.OracleClient;
+
+using MonoTests.System.Data.Utils;
+
+using MonoTests.System.Data.Utils.Data;
+
+using NUnit.Framework;
+
+namespace MonoTests.System.Data.OracleClient
+{
+       [TestFixture]
+       public class OracleDataReader_GetByte_I : ADONetTesterClass
+       {
+               private Exception exp = null;
+               private int testTypesInvocations;
+
+               public static void Main()
+               {
+                       OracleDataReader_GetByte_I tc = new OracleDataReader_GetByte_I();
+                       tc.exp = null;
+                       try
+                       {
+                               tc.BeginTest("OracleDataReader_GetByte_I");
+                               tc.run();
+                       }
+                       catch(Exception ex)
+                       {
+                               tc.exp = ex;
+                       }
+                       finally 
+                       {
+                               tc.EndTest(tc.exp);
+                       }
+               }
+
+               [Test]
+               public void run()
+               {
+                       DoTestTypes(ConnectedDataProvider.GetSimpleDbTypesParameters());
+                       DoTestTypes(ConnectedDataProvider.GetExtendedDbTypesParameters());
+               }
+
+               public void DoTestTypes(DbTypeParametersCollection row)
+               {
+                       testTypesInvocations++;
+                       exp = null;
+                       string rowId = "43967_" + this.testTypesInvocations.ToString();
+                       OracleDataReader rdr = null;
+                       OracleConnection con = null;
+                       try
+                       {
+                               row.ExecuteInsert(rowId);
+                               row.ExecuteSelectReader(rowId, out rdr, out con);
+                               while (rdr.Read())
+                               {
+                                       //Run over all the columns in the result set row.
+                                       //For each column, try to read it as a byte.
+                                       for (int i=0; i<row.Count; i++)
+                                       {
+                                               if (row[i].Value.GetType() == typeof(byte)) //The value in the result set should be a byte.
+                                               {
+                                                       try
+                                                       {
+                                                               BeginCase(string.Format("Calling GetByte() on a field of dbtype {0}", row[i].DbTypeName));
+                                                               byte retByte = rdr.GetByte(i);
+                                                               Compare(row[i].Value, retByte);
+                                                       }
+                                                       catch (Exception ex)
+                                                       {
+                                                               exp = ex;
+                                                       }
+                                                       finally
+                                                       {
+                                                               EndCase(exp);
+                                                               exp = null;
+                                                       }
+                                               }
+                                               else //The value in the result set should NOT be byte. In this case an Invalid case exception should be thrown.
+                                               {
+                                                       try
+                                                       {
+                                                               BeginCase(string.Format("Calling GetByte() on a field of dbtype {0}", row[i].DbTypeName));
+                                                               byte retByte = rdr.GetByte(i);
+                                                               ExpectedExceptionNotCaught("InvalidCastException");
+                                                       }
+                                                       catch (InvalidCastException ex)
+                                                       {
+                                                               ExpectedExceptionCaught(ex);
+                                                       }
+                                                       catch (Exception ex)
+                                                       {
+                                                               exp = ex;
+                                                       }
+                                                       finally
+                                                       {
+                                                               EndCase(exp);
+                                                               exp = null;
+                                                       }
+                                               }
+                                       }
+                               }
+                       }
+                       finally
+                       {
+                               row.ExecuteDelete(rowId);
+                               if ( (rdr != null) && (!rdr.IsClosed) )
+                               {
+                                       rdr.Close();
+                               }
+                               if ( (con != null) && (con.State != ConnectionState.Closed) )
+                               {
+                                       con.Close();
+                               }
+                       }
+               }
+       }
+
+}
\ No newline at end of file
diff --git a/mcs/class/System.Data.OracleClient/Test/System.Data.OracleClient.jvm/OracleDataReader/OracleDataReader_GetBytes_IIBII.cs b/mcs/class/System.Data.OracleClient/Test/System.Data.OracleClient.jvm/OracleDataReader/OracleDataReader_GetBytes_IIBII.cs
new file mode 100755 (executable)
index 0000000..b0aeaea
--- /dev/null
@@ -0,0 +1,141 @@
+// 
+// Copyright (c) 2006 Mainsoft Co.
+// 
+// Permission is hereby granted, free of charge, to any person obtaining
+// a copy of this software and associated documentation files (the
+// "Software"), to deal in the Software without restriction, including
+// without limitation the rights to use, copy, modify, merge, publish,
+// distribute, sublicense, and/or sell copies of the Software, and to
+// permit persons to whom the Software is furnished to do so, subject to
+// the following conditions:
+// 
+// The above copyright notice and this permission notice shall be
+// included in all copies or substantial portions of the Software.
+// 
+// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
+// EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
+// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
+// NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
+// LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
+// OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
+// WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
+//
+
+using System;
+using System.Data;
+using System.Data.OracleClient;
+
+using MonoTests.System.Data.Utils;
+
+using MonoTests.System.Data.Utils.Data;
+
+using NUnit.Framework;
+
+namespace MonoTests.System.Data.OracleClient
+{
+       [TestFixture]
+       public class OracleDataReader_GetBytes_IIBII : GHTBase
+       {
+               int testTypesInvocations;
+               Exception exp = null;
+               public static void Main()
+               {
+                       OracleDataReader_GetBytes_IIBII tc = new OracleDataReader_GetBytes_IIBII();
+                       Exception exp = null;
+                       try
+                       {
+                               tc.BeginTest("OracleDataReader_GetBytes_IIBII");
+                               tc.run();
+                       }
+                       catch(Exception ex){exp = ex;}
+                       finally {tc.EndTest(exp);}
+               }
+
+               [Test]
+               public void run()
+               {
+                       DoTestTypes(ConnectedDataProvider.GetSimpleDbTypesParameters());
+                       DoTestTypes(ConnectedDataProvider.GetExtendedDbTypesParameters());
+               }
+               public void DoTestTypes(DbTypeParametersCollection row)
+               {
+                       testTypesInvocations++;
+                       exp = null;
+                       string rowId = "43966_" + this.testTypesInvocations.ToString();
+                               OracleConnection con =null;
+                               OracleDataReader rdr = null;
+
+                       try
+                       {
+                               row.ExecuteInsert(rowId);
+                               row.ExecuteSelectReader(rowId, out rdr, out con);
+                               while (rdr.Read())
+                               {
+                                       //Run over all the columns in the result set row.
+                                       //For each column, try to read it as a byte array.
+                                       for (int i=0; i<row.Count; i++)
+                                       {
+                                               if (row[i].Value.GetType() == typeof(byte[])) //The value in the result set should be a byte array.
+                                               {
+                                                       try
+                                                       {
+                                                               BeginCase(string.Format("Calling GetBytes() on a field of dbtype {0}", row[i].DbTypeName));
+                                                               byte[] origBytes = (byte[])row[i].Value;
+                                                               byte[] retBytes = new byte[origBytes.Length];
+                                                               rdr.GetBytes(i, 0, retBytes, 0, origBytes.Length);
+                                                               Compare(origBytes, retBytes);
+                                                       }
+                                                       catch (Exception ex)
+                                                       {
+                                                               exp = ex;
+                                                       }
+                                                       finally
+                                                       {
+                                                               EndCase(exp);
+                                                               exp = null;
+                                                       }
+                                               }
+                                               else //The value in the result set should NOT be byte array. In this case an Invalid case exception should be thrown.
+                                               {
+                                                       try
+                                                       {
+                                                               BeginCase(string.Format("Calling GetBytes() on a field of dbtype {0}", row[i].DbTypeName));
+                                                               byte[] retBytes = new byte[1];
+                                                               rdr.GetBytes(i, 0, retBytes, 0, 1);
+                                                               ExpectedExceptionNotCaught("InvalidCastException");
+                                                       }
+                                                       catch (InvalidCastException ex)
+                                                       {
+                                                               ExpectedExceptionCaught(ex);
+                                                       }
+                                                       catch (Exception ex)
+                                                       {
+                                                               exp = ex;
+                                                       }
+                                                       finally
+                                                       {
+                                                               EndCase(exp);
+                                                               exp = null;
+                                                       }
+                                               }
+                                       }
+                               }
+                       }
+                       finally
+                       {
+                               row.ExecuteDelete(rowId);
+                               if (rdr != null && !rdr.IsClosed)
+                               {
+                                       rdr.Close();
+                               }
+
+                               if (con != null && con.State != ConnectionState.Closed)
+                               {
+                                       con.Close();
+                               }
+                       }
+               }
+
+       }
+
+}
\ No newline at end of file
diff --git a/mcs/class/System.Data.OracleClient/Test/System.Data.OracleClient.jvm/OracleDataReader/OracleDataReader_GetChars.cs b/mcs/class/System.Data.OracleClient/Test/System.Data.OracleClient.jvm/OracleDataReader/OracleDataReader_GetChars.cs
new file mode 100755 (executable)
index 0000000..7155dcb
--- /dev/null
@@ -0,0 +1,119 @@
+// 
+// Copyright (c) 2006 Mainsoft Co.
+// 
+// Permission is hereby granted, free of charge, to any person obtaining
+// a copy of this software and associated documentation files (the
+// "Software"), to deal in the Software without restriction, including
+// without limitation the rights to use, copy, modify, merge, publish,
+// distribute, sublicense, and/or sell copies of the Software, and to
+// permit persons to whom the Software is furnished to do so, subject to
+// the following conditions:
+// 
+// The above copyright notice and this permission notice shall be
+// included in all copies or substantial portions of the Software.
+// 
+// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
+// EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
+// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
+// NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
+// LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
+// OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
+// WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
+//
+
+using System;
+using System.Data;
+using System.Data.OracleClient;
+
+using MonoTests.System.Data.Utils;
+
+
+using NUnit.Framework;
+
+namespace MonoTests.System.Data.OracleClient
+{
+       [TestFixture]
+       public class OracleDataReader_GetChars : ADONetTesterClass 
+       {
+               OracleConnection con;
+               char [] Result;
+
+               [SetUp]
+               public void SetUp()
+               {
+                       Exception exp = null;
+                       BeginCase("Setup");
+                       try
+                       {
+                               //prepare data
+                               base.PrepareDataForTesting(MonoTests.System.Data.Utils.ConnectedDataProvider.ConnectionString);
+
+                               con = new OracleConnection(MonoTests.System.Data.Utils.ConnectedDataProvider.ConnectionString);
+                               Result = new char[100];
+                               con.Open();
+                       }
+                       catch(Exception ex)     {exp = ex;}
+                       finally {EndCase(exp); exp = null;}
+               }
+
+               [TearDown]
+               public void TearDown()
+               {
+                       if (con.State == ConnectionState.Open) con.Close();
+               }
+
+               public static void Main()
+               {
+                       OracleDataReader_GetChars tc = new OracleDataReader_GetChars();
+                       Exception exp = null;
+                       try
+                       {
+                               tc.BeginTest("OracleDataReader_GetChars");
+                               tc.SetUp();
+                               tc.run();
+                               tc.TearDown();
+                       }
+                       catch(Exception ex){exp = ex;}
+                       finally {tc.EndTest(exp);}
+               }
+
+               [Test]
+               public void run()
+               {
+                       Exception exp = null;
+                       long rdrResults = 0;
+
+                       OracleCommand cmd = new OracleCommand("Select LastName From Employees Where EmployeeID = 100", con);
+                       OracleDataReader rdr = cmd.ExecuteReader();
+                       rdr.Read();
+
+                       //LastName should be "Last100"
+       
+                       try
+                       {
+                               BeginCase("check result length");
+                               rdrResults = rdr.GetChars(0, 0, Result, 0, Result.Length);
+                               Compare(rdrResults,(long)"Last100".Length  );
+                       } 
+                       catch(Exception ex){exp = ex;}
+                       finally{EndCase(exp); exp = null;}
+
+                       try
+                       {
+                               BeginCase("check result - char[0]");
+                               Compare(Result[0] ,'L');
+                       } 
+                       catch(Exception ex){exp = ex;}
+                       finally{EndCase(exp); exp = null;}
+
+                       try
+                       {
+                               BeginCase("check result - char[last char index]");
+                               Compare(Result["Last100".Length-1] ,'0');
+                       } 
+                       catch(Exception ex){exp = ex;}
+                       finally{EndCase(exp); exp = null;}
+
+               }
+       }
+}
\ No newline at end of file
diff --git a/mcs/class/System.Data.OracleClient/Test/System.Data.OracleClient.jvm/OracleDataReader/OracleDataReader_GetDataTypeName.cs b/mcs/class/System.Data.OracleClient/Test/System.Data.OracleClient.jvm/OracleDataReader/OracleDataReader_GetDataTypeName.cs
new file mode 100755 (executable)
index 0000000..8d2ed32
--- /dev/null
@@ -0,0 +1,127 @@
+// 
+// Copyright (c) 2006 Mainsoft Co.
+// 
+// Permission is hereby granted, free of charge, to any person obtaining
+// a copy of this software and associated documentation files (the
+// "Software"), to deal in the Software without restriction, including
+// without limitation the rights to use, copy, modify, merge, publish,
+// distribute, sublicense, and/or sell copies of the Software, and to
+// permit persons to whom the Software is furnished to do so, subject to
+// the following conditions:
+// 
+// The above copyright notice and this permission notice shall be
+// included in all copies or substantial portions of the Software.
+// 
+// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
+// EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
+// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
+// NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
+// LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
+// OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
+// WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
+//
+
+using System;
+using System.Data;
+using System.Data.OracleClient;
+
+using MonoTests.System.Data.Utils;
+
+
+using NUnit.Framework;
+
+namespace MonoTests.System.Data.OracleClient
+{
+       [TestFixture]
+       public class OracleDataReader_GetDataTypeName : ADONetTesterClass
+       {
+               OracleConnection con;
+               OracleCommand cmd;
+               OracleDataReader rdr;
+               string typeName;
+
+               [SetUp]
+               public void SetUp()
+               {
+                       Exception exp = null;
+                       BeginCase("Setup");
+                       try
+                       {
+                               con = new OracleConnection(MonoTests.System.Data.Utils.ConnectedDataProvider.ConnectionString);
+                               cmd = new OracleCommand("Select EmployeeID From Employees Where FirstName = 'Oved'",  con);
+                               cmd.CommandType = CommandType.Text;
+                               con.Open();
+
+                               rdr = cmd.ExecuteReader();
+                               rdr.Read();
+
+                               typeName = rdr.GetDataTypeName(0);
+                               con.Close();
+                       }
+                       catch(Exception ex){exp = ex;}
+                       finally {EndCase(exp);}
+               }
+
+               [TearDown]
+               public void TearDown()
+               {
+               }
+
+               public static void Main()
+               {
+                       OracleDataReader_GetDataTypeName tc = new OracleDataReader_GetDataTypeName();
+                       Exception exp = null;
+                       try
+                       {
+                               tc.BeginTest("OracleDataReader_GetDataTypeName");
+                               tc.SetUp();
+                               tc.run();
+                               tc.TearDown();
+                       }
+                       catch(Exception ex){exp = ex;}
+                       finally {tc.EndTest(exp);}
+               }
+
+               [Test]
+               public void run()
+               {
+                       Exception exp = null;
+
+                       //make database specific test
+                       switch (ConnectedDataProvider.GetDbType(con))
+                       {
+                               case DataBaseServer.SQLServer:
+                                       try
+                                       {
+                                               BeginCase("check type name");
+                                               Compare(typeName == "DBTYPE_I4" ,true);
+                                       } 
+                                       catch(Exception ex){exp = ex;}
+                                       finally{EndCase(exp); exp = null;}
+                                       break;
+                               case DataBaseServer.Oracle:
+                                       try
+                                       {
+                                               BeginCase("check type name");
+                                               Compare(typeName == "DBTYPE_NUMERIC" || typeName == "NUMBER" ,true);
+                                       } 
+                                       catch(Exception ex){exp = ex;}
+                                       finally{EndCase(exp); exp = null;}
+                                       break;
+                               case DataBaseServer.DB2:
+                                       try
+                                       {
+                                               BeginCase("check type name");
+                                               Compare(typeName == "DBTYPE_I4" || typeName == "INTEGER" ,true);
+                                       } 
+                                       catch(Exception ex){exp = ex;}
+                                       finally{EndCase(exp); exp = null;}
+                                       break;
+                               case DataBaseServer.Unknown:
+                                       break;
+                       }
+
+               }
+       }
+
+}
\ No newline at end of file
diff --git a/mcs/class/System.Data.OracleClient/Test/System.Data.OracleClient.jvm/OracleDataReader/OracleDataReader_GetDateTime.cs b/mcs/class/System.Data.OracleClient/Test/System.Data.OracleClient.jvm/OracleDataReader/OracleDataReader_GetDateTime.cs
new file mode 100755 (executable)
index 0000000..d18e813
--- /dev/null
@@ -0,0 +1,196 @@
+// 
+// Copyright (c) 2006 Mainsoft Co.
+// 
+// Permission is hereby granted, free of charge, to any person obtaining
+// a copy of this software and associated documentation files (the
+// "Software"), to deal in the Software without restriction, including
+// without limitation the rights to use, copy, modify, merge, publish,
+// distribute, sublicense, and/or sell copies of the Software, and to
+// permit persons to whom the Software is furnished to do so, subject to
+// the following conditions:
+// 
+// The above copyright notice and this permission notice shall be
+// included in all copies or substantial portions of the Software.
+// 
+// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
+// EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
+// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
+// NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
+// LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
+// OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
+// WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
+//
+
+using System;
+using System.Text;
+using System.Data;
+using System.Data.OracleClient;
+
+using MonoTests.System.Data.Utils;
+
+using MonoTests.System.Data.Utils.Data;
+
+using NUnit.Framework;
+
+namespace MonoTests.System.Data.OracleClient
+{
+       [TestFixture]
+       public class OracleDataReader_GetDateTime : ADONetTesterClass
+       {
+               private OracleConnection con;
+               private OracleCommand cmd;
+               private OracleDataReader rdr;
+               Exception exp;
+
+               [SetUp]
+
+               [TearDown]
+               public void TearDown()
+               {
+                       if (con != null && con.State == ConnectionState.Open) con.Close();
+               }
+
+               public static void Main()
+               {
+                       OracleDataReader_GetDateTime tc = new OracleDataReader_GetDateTime();
+                       Exception exp = null;
+                       try
+                       {
+                               tc.BeginTest("OracleDataReader_GetDateTime");
+                               tc.run();
+                       }
+                       catch(Exception ex){exp = ex;}
+                       finally {tc.EndTest(exp);}
+               }
+
+               public void run()
+               {
+                       SimpleValue();
+                       MinDate();
+               }
+
+               [Test]
+               public void SimpleValue()
+               {
+                       try
+                       {
+                               BeginCase("check simple value");
+                               //prepare data
+                               base.PrepareDataForTesting(MonoTests.System.Data.Utils.ConnectedDataProvider.ConnectionString);
+
+                               con = new OracleConnection(MonoTests.System.Data.Utils.ConnectedDataProvider.ConnectionString);
+
+                               con.Open();
+                               cmd = new OracleCommand("Select BirthDate From Employees where EmployeeID = 100", con);
+                               rdr = cmd.ExecuteReader();
+                               rdr.Read();
+                               DateTime dt = rdr.GetDateTime(0); //will be 1988-May-31 15:33:44
+                               Compare(dt,new DateTime(1988,5,31,15,33,44,00));
+                       } 
+                       catch(Exception ex)
+                       {
+                               exp = ex;
+                       }
+                       finally
+                       {
+                               EndCase(exp); 
+                               if (rdr != null && !rdr.IsClosed)
+                               {
+                                       rdr.Close();
+                               }
+                               if (con != null && con.State != ConnectionState.Closed)
+                               {
+                                       con.Close();
+                               }
+                               exp = null;
+                       }
+               }
+
+               [Test]
+               public void MinDate()
+               {
+                       BeginCase("Test Min date.");
+                       exp = null;
+                       string[] dateColumns;
+                       DateTime[] expectedValues;
+                       
+                       InitMinDates(out dateColumns, out expectedValues);
+                       try
+                       {
+                               con = new OracleConnection(ConnectedDataProvider.ConnectionString);
+                               cmd = new OracleCommand();
+                               cmd.Connection = con;
+                               cmd.CommandText = BuildMinDateTimeSelectSql(dateColumns);
+                               con.Open();
+                               rdr = cmd.ExecuteReader();
+                               Compare(true, rdr.HasRows);
+                               bool b = rdr.Read();
+                               for (int i=0; i<dateColumns.Length && i<expectedValues.Length; i++)
+                               {
+                                       int j=-1;
+                                       j = rdr.GetOrdinal(dateColumns[i]);
+                                       //DateTime result = rdr.GetDateTime(j);
+                                       object result = rdr.GetValue(j);
+                                       Compare(result, expectedValues[i]);
+                               }
+                       }
+                       catch (Exception ex)
+                       {
+                               exp = ex;
+                       }
+                       finally
+                       {
+                               EndCase(exp);
+                               if (rdr != null && !rdr.IsClosed)
+                               {
+                                       rdr.Close();
+                               }
+                               if (con != null && con.State != ConnectionState.Closed)
+                               {
+                                       con.Close();
+                               }
+                       }
+               }
+               
+               private void InitMinDates(out string[] columns, out DateTime[] values)
+               {
+                       switch(ConnectedDataProvider.GetDbType())
+                       {
+                               case DataBaseServer.SQLServer:
+                               case DataBaseServer.Sybase:
+                                       columns = new string[] {"T_DATETIME", "T_SMALLDATETIME"};
+                                       values = new DateTime[] {new DateTime(1753, 01, 01,00, 00, 00),         //      01/01/1753 00:00:00.000
+                                                                                                                                 new DateTime(1900, 01, 01,00, 00, 00)};               //      01/01/1900 00:00
+                                       break;
+                               case DataBaseServer.Oracle:
+                                       columns = new string[] {"T_DATE"};
+                                       values = new DateTime[] {new DateTime(0001, 01, 01,00, 00, 00)}; //01-Jan-0001 12:00:00 AM
+                                       break;
+                               case DataBaseServer.PostgreSQL:
+                                       columns = new string[] {"T_TIMESTAMP"};
+                                       values = new DateTime[] {new DateTime(1753, 01, 01,00, 00, 00)}; //01-Jan-1753 12:00:00 AM
+                                       break;
+                               case DataBaseServer.DB2:
+                                       columns = new string[] {"T_DATE", "T_TIMESTAMP"};
+                                       values = new DateTime[] {new DateTime(0001, 01, 01),            //      1/1/0001
+                                                                                                                                 new DateTime(0001, 01, 01, 00,00,00,0)};      //      1/1/0001 00:00:00.000
+                                       break;
+                               default:
+                                       throw new ApplicationException(string.Format("GHT ERROR: Unknown DB server [{0}].",ConnectedDataProvider.GetDbType()));
+                       }
+               }
+
+               private string BuildMinDateTimeSelectSql(string[] dateColumns)
+               {
+                       StringBuilder sqlBuilder = new StringBuilder();
+                       sqlBuilder.Append("SELECT ");
+                       foreach(string col in dateColumns)
+                       {
+                               sqlBuilder.Append(col + ", ");
+                       }
+                       sqlBuilder.Remove(sqlBuilder.Length - 2, 2);
+                       sqlBuilder.Append(" FROM TYPES_EXTENDED WHERE ID='MIN'");
+                       return sqlBuilder.ToString();
+               }
+       }
+}
diff --git a/mcs/class/System.Data.OracleClient/Test/System.Data.OracleClient.jvm/OracleDataReader/OracleDataReader_GetDecimal_I.cs b/mcs/class/System.Data.OracleClient/Test/System.Data.OracleClient.jvm/OracleDataReader/OracleDataReader_GetDecimal_I.cs
new file mode 100755 (executable)
index 0000000..216f332
--- /dev/null
@@ -0,0 +1,222 @@
+// 
+// Copyright (c) 2006 Mainsoft Co.
+// 
+// Permission is hereby granted, free of charge, to any person obtaining
+// a copy of this software and associated documentation files (the
+// "Software"), to deal in the Software without restriction, including
+// without limitation the rights to use, copy, modify, merge, publish,
+// distribute, sublicense, and/or sell copies of the Software, and to
+// permit persons to whom the Software is furnished to do so, subject to
+// the following conditions:
+// 
+// The above copyright notice and this permission notice shall be
+// included in all copies or substantial portions of the Software.
+// 
+// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
+// EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
+// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
+// NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
+// LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
+// OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
+// WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
+//
+
+using System;
+using System.Data;
+using System.Data.OracleClient;
+
+using MonoTests.System.Data.Utils;
+
+using MonoTests.System.Data.Utils.Data;
+
+using NUnit.Framework;
+
+namespace MonoTests.System.Data.OracleClient
+{
+[TestFixture]
+public class OracleDataReader_GetDecimal_I : ADONetTesterClass
+{
+       private int testTypesInvocations;
+       private Exception exp = null;
+
+       public static void Main()
+       {
+               OracleDataReader_GetDecimal_I tc = new OracleDataReader_GetDecimal_I();
+               Exception exp = null;
+               try
+               {
+                       tc.BeginTest("OracleDataReader_GetDecimal_I");
+                       tc.run();
+               }
+               catch(Exception ex)
+               {
+                       exp = ex;
+               }
+               finally 
+               {
+                       tc.EndTest(exp);
+               }
+       }
+
+       [Test]
+       public void run()
+       {
+               DoTestTypes(ConnectedDataProvider.GetSimpleDbTypesParameters());
+               DoTestTypes(ConnectedDataProvider.GetExtendedDbTypesParameters());
+               DoTestTextualFieldsThatContainNumbers(ConnectedDataProvider.GetSimpleDbTypesParameters());
+               DoTestTextualFieldsThatContainNumbers(ConnectedDataProvider.GetExtendedDbTypesParameters());
+       }
+
+       public void DoTestTypes(DbTypeParametersCollection row)
+       {
+               testTypesInvocations++;
+               exp = null;
+               string rowId = "43968_" + this.testTypesInvocations.ToString();
+               OracleDataReader rdr = null;
+               OracleConnection con = null;
+               try
+               {
+                       row.ExecuteInsert(rowId);
+                       row.ExecuteSelectReader(rowId, out rdr, out con);
+                       while (rdr.Read())
+                       {
+                               //Run over all the columns in the result set row.
+                               //For each column, try to read it as a Decimal.
+                               for (int i=0; i<row.Count; i++)
+                               {
+                                       if (row[i].Value.GetType() == typeof(decimal) ||
+                                               row[i].Value.GetType() == typeof(double)) //The value in the result set should be a Decimal.
+                                       {
+                                               try
+                                               {
+                                                       BeginCase(string.Format("Calling GetDecimal() on a field of dbtype {0}", row[i].DbTypeName));
+                                                       decimal retDecimal = rdr.GetDecimal(i);
+                                                       Compare(row[i].Value, retDecimal);
+                                               }
+                                               catch (Exception ex)
+                                               {
+                                                       exp = ex;
+                                               }
+                                               finally
+                                               {
+                                                       EndCase(exp);
+                                                       exp = null;
+                                               }
+                                       }
+                                       else //The value in the result set should NOT be Decimal. In this case an Invalid case exception should be thrown.
+                                       {
+                                               try
+                                               {
+                                                       BeginCase(string.Format("Calling GetDecimal() on a field of dbtype {0}", row[i].DbTypeName));
+                                                       decimal retDecimal = rdr.GetDecimal(i);
+                                                       ExpectedExceptionNotCaught("InvalidCastException");
+                                               }
+                                               catch (InvalidCastException ex)
+                                               {
+                                                       ExpectedExceptionCaught(ex);
+                                               }
+                                               catch (Exception ex)
+                                               {
+                                                       exp = ex;
+                                               }
+                                               finally
+                                               {
+                                                       EndCase(exp);
+                                                       exp = null;
+                                               }
+                                       }
+                               }
+                       }
+               }
+               finally
+               {
+                       row.ExecuteDelete(rowId);
+                       if ( (rdr != null) && (!rdr.IsClosed) )
+                       {
+                               rdr.Close();
+                       }
+                       if ( (con != null) && (con.State != ConnectionState.Closed) )
+                       {
+                               con.Close();
+                       }
+               }
+       }
+
+       public void DoTestTextualFieldsThatContainNumbers(DbTypeParametersCollection row)
+       {
+               //Leave only textual fields in the collection, and set their value to the string "10"
+               SetTextualFieldsWithNumericValues(ref row);
+               if (row.Count < 1)
+               {
+                       return;
+               }
+
+               testTypesInvocations++;
+               exp = null;
+               string rowId = "43968_" + this.testTypesInvocations.ToString();
+               OracleDataReader rdr = null;
+               OracleConnection con = null;
+               try
+               {
+                       row.ExecuteInsert(rowId);
+                       row.ExecuteSelectReader(rowId, out rdr, out con);
+                       while (rdr.Read())
+                       {
+                               //Run over all the columns in the result set row.
+                               //For each column, try to read it as a Decimal.
+                               //Because all the fields are textual, this should throw an InvalidCastException.
+                               for (int i=0; i<row.Count; i++)
+                               {
+                                       try
+                                       {
+                                               BeginCase(string.Format("Calling GetDecimal() on a textual field of dbtype {0} with value '{1}'", row[i].DbTypeName, row[i].Value));
+                                               decimal retDecimal = rdr.GetDecimal(i);
+                                               ExpectedExceptionNotCaught(typeof(InvalidCastException).FullName);
+                                       }
+                                       catch (InvalidCastException ex)
+                                       {
+                                               ExpectedExceptionCaught(ex);
+                                       }
+                                       catch (Exception ex)
+                                       {
+                                               exp = ex;
+                                       }
+                                       finally
+                                       {
+                                               EndCase(exp);
+                                               exp = null;
+                                       }
+                               }
+                       }
+               }
+               finally
+               {
+                       row.ExecuteDelete(rowId);
+                       if ( (rdr != null) && (!rdr.IsClosed) )
+                       {
+                               rdr.Close();
+                       }
+                       if ( (con != null) && (con.State != ConnectionState.Closed) )
+                       {
+                               con.Close();
+                       }
+               }
+       }
+
+       private void SetTextualFieldsWithNumericValues(ref DbTypeParametersCollection row)
+       {
+               DbTypeParametersCollection newRow = new DbTypeParametersCollection(row.TableName);
+               
+               foreach (DbTypeParameter current in row)
+               {
+                       if (current.Value is string)
+                       {
+                               newRow.Add(current.DbTypeName, "10");
+                       }
+               }
+
+               row = newRow;
+       }
+}
+
+}
\ No newline at end of file
diff --git a/mcs/class/System.Data.OracleClient/Test/System.Data.OracleClient.jvm/OracleDataReader/OracleDataReader_GetDouble_I.cs b/mcs/class/System.Data.OracleClient/Test/System.Data.OracleClient.jvm/OracleDataReader/OracleDataReader_GetDouble_I.cs
new file mode 100755 (executable)
index 0000000..7266c55
--- /dev/null
@@ -0,0 +1,146 @@
+// 
+// Copyright (c) 2006 Mainsoft Co.
+// 
+// Permission is hereby granted, free of charge, to any person obtaining
+// a copy of this software and associated documentation files (the
+// "Software"), to deal in the Software without restriction, including
+// without limitation the rights to use, copy, modify, merge, publish,
+// distribute, sublicense, and/or sell copies of the Software, and to
+// permit persons to whom the Software is furnished to do so, subject to
+// the following conditions:
+// 
+// The above copyright notice and this permission notice shall be
+// included in all copies or substantial portions of the Software.
+// 
+// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
+// EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
+// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
+// NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
+// LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
+// OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
+// WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
+//
+
+using System;
+using System.Data;
+using System.Data.OracleClient;
+
+using MonoTests.System.Data.Utils;
+
+using MonoTests.System.Data.Utils.Data;
+
+using NUnit.Framework;
+
+namespace MonoTests.System.Data.OracleClient
+{
+       [TestFixture]
+       public class OracleDataReader_GetDouble_I : GHTBase
+       {
+               private Exception exp = null;
+               private int testTypesInvocations;
+
+               public static void Main()
+               {
+                       OracleDataReader_GetDouble_I tc = new OracleDataReader_GetDouble_I();
+                       Exception exp = null;
+                       try
+                       {
+                               tc.BeginTest("OracleDataReader_GetDouble_I");
+                               tc.run();
+                       }
+                       catch(Exception ex)
+                       {
+                               tc.exp = ex;
+                       }
+                       finally 
+                       {
+                               tc.EndTest(tc.exp);
+                       }
+               }
+
+               [Test]
+               public void run()
+               {
+                       DoTestTypes(ConnectedDataProvider.GetSimpleDbTypesParameters());
+                       DoTestTypes(ConnectedDataProvider.GetExtendedDbTypesParameters());
+               }
+
+               public void DoTestTypes(DbTypeParametersCollection row)
+               {
+                       testTypesInvocations++;
+                       exp = null;
+                       string rowId = "43969_" + this.testTypesInvocations.ToString();
+                       OracleDataReader rdr = null;
+                       OracleConnection con = null;
+                       try
+                       {
+                               row.ExecuteInsert(rowId);
+                               row.ExecuteSelectReader(rowId, out rdr, out con);
+                               while (rdr.Read())
+                               {
+                                       //Run over all the columns in the result set row.
+                                       //For each column, try to read it as a double.
+                                       for (int i=0; i<row.Count; i++)
+                                       {
+                                               if (row[i].Value.GetType() == typeof(double) ||
+                                                       row[i].Value.GetType() == typeof(decimal)) //The value in the result set should be a double.
+                                               {
+                                                       try
+                                                       {
+                                                               BeginCase(string.Format("Calling GetDouble() on a field of dbtype {0}", row[i].DbTypeName));
+                                                               double retDouble = rdr.GetDouble(i);
+                                                               Compare(row[i].Value, retDouble);
+                                                       }
+                                                       catch (Exception ex)
+                                                       {
+                                                               exp = ex;
+                                                       }
+                                                       finally
+                                                       {
+                                                               EndCase(exp);
+                                                               exp = null;
+                                                       }
+                                               }
+                                               else //The value in the result set should NOT be double. In this case an Invalid case exception should be thrown.
+                                               {
+                                                       try
+                                                       {
+                                                               BeginCase(string.Format("Calling GetDouble() on a field of dbtype {0}", row[i].DbTypeName));
+                                                               double retDouble = rdr.GetDouble(i);
+                                                               ExpectedExceptionNotCaught("InvalidCastException");
+                                                       }
+                                                       catch (InvalidCastException ex)
+                                                       {
+                                                               ExpectedExceptionCaught(ex);
+                                                       }
+                                                       catch (Exception ex)
+                                                       {
+                                                               exp = ex;
+                                                       }
+                                                       finally
+                                                       {
+                                                               EndCase(exp);
+                                                               exp = null;
+                                                       }
+                                               }
+                                       }
+                               }
+                       }
+                       finally
+                       {
+                               row.ExecuteDelete(rowId);
+                               if ( (rdr != null) && (!rdr.IsClosed) )
+                               {
+                                       rdr.Close();
+                               }
+                               if ( (con != null) && (con.State != ConnectionState.Closed) )
+                               {
+                                       con.Close();
+                               }
+                       }
+               }
+
+
+       }
+
+}
\ No newline at end of file
diff --git a/mcs/class/System.Data.OracleClient/Test/System.Data.OracleClient.jvm/OracleDataReader/OracleDataReader_GetFieldType.cs b/mcs/class/System.Data.OracleClient/Test/System.Data.OracleClient.jvm/OracleDataReader/OracleDataReader_GetFieldType.cs
new file mode 100755 (executable)
index 0000000..dcd9aed
--- /dev/null
@@ -0,0 +1,103 @@
+// 
+// Copyright (c) 2006 Mainsoft Co.
+// 
+// Permission is hereby granted, free of charge, to any person obtaining
+// a copy of this software and associated documentation files (the
+// "Software"), to deal in the Software without restriction, including
+// without limitation the rights to use, copy, modify, merge, publish,
+// distribute, sublicense, and/or sell copies of the Software, and to
+// permit persons to whom the Software is furnished to do so, subject to
+// the following conditions:
+// 
+// The above copyright notice and this permission notice shall be
+// included in all copies or substantial portions of the Software.
+// 
+// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
+// EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
+// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
+// NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
+// LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
+// OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
+// WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
+//
+
+using System;
+using System.Data;
+using System.Data.OracleClient;
+
+using MonoTests.System.Data.Utils;
+
+
+using NUnit.Framework;
+
+namespace MonoTests.System.Data.OracleClient
+{
+       [TestFixture]
+       public class OracleDataReader_GetFieldType : ADONetTesterClass
+       {
+               OracleConnection con;
+               OracleCommand cmd;
+               OracleDataReader rdr;
+
+               [SetUp]
+               public void SetUp()
+               {
+                       Exception exp = null;
+                       BeginCase("Setup");
+                       try
+                       {
+                               con = new OracleConnection(MonoTests.System.Data.Utils.ConnectedDataProvider.ConnectionString);
+                               con.Open();
+                               cmd = new OracleCommand("Select OrderID, CustomerID, OrderDate From Orders", con);
+                               rdr = cmd.ExecuteReader();
+                               rdr.Read();
+
+                       }
+                       catch(Exception ex){exp = ex;}
+                       finally {EndCase(exp);}
+               }
+
+               [TearDown]
+               public void TearDown()
+               {
+                       if (con.State == ConnectionState.Open) con.Close();
+               }
+
+               public static void Main()
+               {
+                       OracleDataReader_GetFieldType tc = new OracleDataReader_GetFieldType();
+                       Exception exp = null;
+                       try
+                       {
+                               tc.BeginTest("OracleDataReader_GetFieldType");
+                               tc.SetUp();
+                               tc.run();
+                               tc.TearDown();
+                       }
+                       catch(Exception ex){exp = ex;}
+                       finally {tc.EndTest(exp);}
+               }
+
+               [Test]
+               public void run()
+               {
+                       Exception exp = null;
+
+                       try
+                       {
+                               BeginCase("check type string");
+                               Compare(rdr.GetFieldType(1).FullName,typeof(string).FullName );
+                       } 
+                       catch(Exception ex){exp = ex;}
+                       finally{EndCase(exp); exp = null;}
+
+                       try
+                       {
+                               BeginCase("check type date");
+                               Compare(rdr.GetFieldType(2).FullName,typeof(DateTime).FullName );
+                       } 
+                       catch(Exception ex){exp = ex;}
+                       finally{EndCase(exp); exp = null;}
+               }
+       }
+}
\ No newline at end of file
diff --git a/mcs/class/System.Data.OracleClient/Test/System.Data.OracleClient.jvm/OracleDataReader/OracleDataReader_GetFloat_I.cs b/mcs/class/System.Data.OracleClient/Test/System.Data.OracleClient.jvm/OracleDataReader/OracleDataReader_GetFloat_I.cs
new file mode 100755 (executable)
index 0000000..c16473c
--- /dev/null
@@ -0,0 +1,142 @@
+// 
+// Copyright (c) 2006 Mainsoft Co.
+// 
+// Permission is hereby granted, free of charge, to any person obtaining
+// a copy of this software and associated documentation files (the
+// "Software"), to deal in the Software without restriction, including
+// without limitation the rights to use, copy, modify, merge, publish,
+// distribute, sublicense, and/or sell copies of the Software, and to
+// permit persons to whom the Software is furnished to do so, subject to
+// the following conditions:
+// 
+// The above copyright notice and this permission notice shall be
+// included in all copies or substantial portions of the Software.
+// 
+// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
+// EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
+// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
+// NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
+// LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
+// OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
+// WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
+//
+
+using System;
+using System.Data;
+using System.Data.OracleClient;
+
+using MonoTests.System.Data.Utils;
+
+using MonoTests.System.Data.Utils.Data;
+
+using NUnit.Framework;
+
+namespace MonoTests.System.Data.OracleClient
+{
+       [TestFixture]
+       public class OracleDataReader_GetFloat_I : ADONetTesterClass 
+       {
+               private Exception exp = null;
+               private int testTypesInvocations;
+
+               public static void Main()
+               {
+                       OracleDataReader_GetFloat_I tc = new OracleDataReader_GetFloat_I();
+                       tc.exp = null;
+                       try
+                       {
+                               tc.BeginTest("OracleDataReader_GetFloat_I");
+                               tc.run();
+                       }
+                       catch(Exception ex)
+                       {
+                               tc.exp = ex;
+                       }
+                       finally 
+                       {
+                               tc.EndTest(tc.exp);
+                       }
+               }
+
+               [Test]
+               public void run()
+               {
+                       DoTestTypes(ConnectedDataProvider.GetSimpleDbTypesParameters());
+                       DoTestTypes(ConnectedDataProvider.GetExtendedDbTypesParameters());
+               }
+               public void DoTestTypes(DbTypeParametersCollection row)
+               {
+                       testTypesInvocations++;
+                       exp = null;
+                       string rowId = "43970_" + this.testTypesInvocations.ToString();
+                       OracleDataReader rdr = null;
+                       OracleConnection con = null;
+                       try
+                       {
+                               row.ExecuteInsert(rowId);
+                               row.ExecuteSelectReader(rowId, out rdr, out con);
+                               while (rdr.Read())
+                               {
+                                       //Run over all the columns in the result set row.
+                                       //For each column, try to read it as a float.
+                                       for (int i=0; i<row.Count; i++)
+                                       {
+                                               if (row[i].Value.GetType() == typeof(float) ||
+                                                       row[i].Value.GetType() == typeof(double)  ||
+                                                       row[i].Value.GetType() == typeof(decimal)) { //The value in the result set should be a float.
+                                                       try
+                                                       {
+                                                               BeginCase(string.Format("Calling GetFloat() on a field of dbtype {0}", row[i].DbTypeName));
+                                                               float retFloat = rdr.GetFloat(i);
+                                                               Compare(row[i].Value, retFloat);
+                                                       }
+                                                       catch (Exception ex)
+                                                       {
+                                                               exp = ex;
+                                                       }
+                                                       finally
+                                                       {
+                                                               EndCase(exp);
+                                                               exp = null;
+                                                       }
+                                               }
+                                               else //The value in the result set should NOT be float. In this case an Invalid case exception should be thrown.
+                                               {
+                                                       try
+                                                       {
+                                                               BeginCase(string.Format("Calling GetFloat() on a field of dbtype {0}", row[i].DbTypeName));
+                                                               float retFloat = rdr.GetFloat(i);
+                                                               ExpectedExceptionNotCaught("InvalidCastException");
+                                                       }
+                                                       catch (InvalidCastException ex)
+                                                       {
+                                                               ExpectedExceptionCaught(ex);
+                                                       }
+                                                       catch (Exception ex)
+                                                       {
+                                                               exp = ex;
+                                                       }
+                                                       finally
+                                                       {
+                                                               EndCase(exp);
+                                                               exp = null;
+                                                       }
+                                               }
+                                       }
+                               }
+                       }
+                       finally
+                       {
+                               row.ExecuteDelete(rowId);
+                               if ( (rdr != null) && (!rdr.IsClosed) )
+                               {
+                                       rdr.Close();
+                               }
+                               if ( (con != null) && (con.State != ConnectionState.Closed) )
+                               {
+                                       con.Close();
+                               }
+                       }
+               }
+       }
+}
\ No newline at end of file
diff --git a/mcs/class/System.Data.OracleClient/Test/System.Data.OracleClient.jvm/OracleDataReader/OracleDataReader_GetGuiid_I.cs b/mcs/class/System.Data.OracleClient/Test/System.Data.OracleClient.jvm/OracleDataReader/OracleDataReader_GetGuiid_I.cs
new file mode 100755 (executable)
index 0000000..bd20572
--- /dev/null
@@ -0,0 +1,171 @@
+// 
+// Copyright (c) 2006 Mainsoft Co.
+// 
+// Permission is hereby granted, free of charge, to any person obtaining
+// a copy of this software and associated documentation files (the
+// "Software"), to deal in the Software without restriction, including
+// without limitation the rights to use, copy, modify, merge, publish,
+// distribute, sublicense, and/or sell copies of the Software, and to
+// permit persons to whom the Software is furnished to do so, subject to
+// the following conditions:
+// 
+// The above copyright notice and this permission notice shall be
+// included in all copies or substantial portions of the Software.
+// 
+// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
+// EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
+// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
+// NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
+// LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
+// OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
+// WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
+//
+
+using System;
+using System.Data;
+using System.Data.OracleClient;
+
+using MonoTests.System.Data.Utils;
+
+using MonoTests.System.Data.Utils.Data;
+
+using NUnit.Framework;
+
+namespace MonoTests.System.Data.OracleClient
+{
+       [TestFixture]
+       public class OracleDataReader_GetGuiid_I : ADONetTesterClass 
+       {
+
+               private const string GUID_COLUMN_NAME = "T_UNIQUEIDENTIFIER";
+               private const string GUID_TABLE_NAME = ConnectedDataProvider.SPECIFIC_TYPES_TABLE_NAME;
+               private const string TEST_GUID_STRING = "239A3C5E-8D41-11D1-B675-00C04FA3C554";
+
+               public static void Main()
+               {
+                       OracleDataReader_GetGuiid_I tc = new OracleDataReader_GetGuiid_I();
+                       Exception exp = null;
+                       try
+                       {
+                               tc.BeginTest("OracleDataReader_GetGuiid_I");
+                               tc.run();
+                       }
+                       catch(Exception ex){exp = ex;}
+                       finally {tc.EndTest(exp);}
+               }
+
+               
+               public void run()
+               {
+                       
+               
+                       TestUsingSQLTextOnly();
+                       TestUsingParametersArray();
+               }
+
+               [Test]
+               public void TestUsingSQLTextOnly()
+               {
+                       //Only apply to MSSQL
+                       if ( (ConnectedDataProvider.GetDbType() != DataBaseServer.SQLServer)) {
+                               return;
+                       }
+
+                       Exception exp = null;
+                       OracleDataReader rdr = null;
+                       OracleConnection con = null;
+                       OracleCommand cmdDelete = null;
+                       try
+                       {
+                               BeginCase("Test using SQL text only.");
+                               string rowId = "43973_" + TestCaseNumber.ToString();
+                               string insertText = string.Format("INSERT INTO {0} (ID, {1}) VALUES ('{2}', '{{{3}}}')", GUID_TABLE_NAME, GUID_COLUMN_NAME, rowId, TEST_GUID_STRING);
+                               string selectText = string.Format("SELECT {0} FROM {1} WHERE ID='{2}'", GUID_COLUMN_NAME, GUID_TABLE_NAME, rowId);
+                               string deleteText = string.Format("DELETE FROM {0} WHERE ID='{1}'", GUID_TABLE_NAME, rowId);
+                               con = new OracleConnection(ConnectedDataProvider.ConnectionString);
+                               OracleCommand cmdInsert = new OracleCommand(insertText, con);
+                               OracleCommand cmdSelect = new OracleCommand(selectText, con);
+                               cmdDelete = new OracleCommand(deleteText, con);
+
+                               con.Open();
+                               cmdInsert.ExecuteNonQuery();
+                               rdr = cmdSelect.ExecuteReader();
+                               rdr.Read();
+                               Guid  guidValue = rdr.GetGuid (0);
+                               Guid origGuid = new Guid(TEST_GUID_STRING);
+                               Compare(guidValue, origGuid);
+                       } 
+                       catch(Exception ex)
+                       {
+                               exp = ex;
+                       }
+                       finally
+                       {
+                               EndCase(exp);
+                               exp = null;
+                               if ( (rdr != null) && (!rdr.IsClosed) )
+                               {
+                                       rdr.Close();
+                               }
+                               if (cmdDelete != null)
+                               {
+                                       cmdDelete.ExecuteNonQuery();
+                               }
+                               if ( (con != null) && (con.State != ConnectionState.Closed) )
+                               {
+                                       con.Close();
+                               }
+                       }
+               }
+
+               [Test]
+               public void TestUsingParametersArray()
+               {
+                       //Only apply to MSSQL
+                       if ( (ConnectedDataProvider.GetDbType() != DataBaseServer.SQLServer))
+                       {
+                               return;
+                       }
+                       Exception exp = null;
+                       OracleDataReader rdr = null;
+                       OracleConnection con = null;
+                       DbTypeParametersCollection row = new DbTypeParametersCollection(GUID_TABLE_NAME);
+                       string rowId = string.Empty;
+                       try
+                       {
+                               BeginCase("Test using parameters array");
+                               rowId = "43973_" + TestCaseNumber.ToString();
+                               row.Add("UNIQUEIDENTIFIER", new Guid(TEST_GUID_STRING));
+                               row.ExecuteInsert(rowId);
+                               row.ExecuteSelectReader(rowId, out rdr, out con);
+                               rdr.Read();
+                               Guid  guidValue = rdr.GetGuid (0);
+                               Compare(guidValue, row[GUID_COLUMN_NAME].Value);
+                       } 
+                       catch(Exception ex)
+                       {
+                               exp = ex;
+                       }
+                       finally
+                       {
+                               EndCase(exp);
+                               exp = null;
+                               if ( (rdr != null) && (!rdr.IsClosed) )
+                               {
+                                       rdr.Close();
+                               }
+                               if (rowId != String.Empty)
+                               {
+                                       row.ExecuteDelete(rowId);
+                               }
+                               if ( (con != null) && (con.State != ConnectionState.Closed) )
+                               {
+                                       con.Close();
+                               }
+                               
+                       }
+               }
+       }
+       
+
+}
\ No newline at end of file
diff --git a/mcs/class/System.Data.OracleClient/Test/System.Data.OracleClient.jvm/OracleDataReader/OracleDataReader_GetInt16.cs b/mcs/class/System.Data.OracleClient/Test/System.Data.OracleClient.jvm/OracleDataReader/OracleDataReader_GetInt16.cs
new file mode 100755 (executable)
index 0000000..caf2922
--- /dev/null
@@ -0,0 +1,144 @@
+// 
+// Copyright (c) 2006 Mainsoft Co.
+// 
+// Permission is hereby granted, free of charge, to any person obtaining
+// a copy of this software and associated documentation files (the
+// "Software"), to deal in the Software without restriction, including
+// without limitation the rights to use, copy, modify, merge, publish,
+// distribute, sublicense, and/or sell copies of the Software, and to
+// permit persons to whom the Software is furnished to do so, subject to
+// the following conditions:
+// 
+// The above copyright notice and this permission notice shall be
+// included in all copies or substantial portions of the Software.
+// 
+// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
+// EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
+// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
+// NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
+// LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
+// OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
+// WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
+//
+
+using System;
+using System.Data;
+using System.Data.OracleClient;
+
+using MonoTests.System.Data.Utils;
+
+using MonoTests.System.Data.Utils.Data;
+
+using NUnit.Framework;
+
+namespace MonoTests.System.Data.OracleClient
+{
+[TestFixture]
+public class OracleDataReader_GetInt16 : ADONetTesterClass 
+{
+       private Exception exp = null;
+       private int testTypesInvocations;
+
+       public static void Main()
+       {
+               OracleDataReader_GetInt16 tc = new OracleDataReader_GetInt16();
+               Exception exp = null;
+               try
+               {
+                       tc.BeginTest("OracleDataReader_GetInt16_I");
+                       tc.run();
+               }
+               catch(Exception ex)
+               {
+                       tc.exp = ex;
+               }
+               finally 
+               {
+                       tc.EndTest(tc.exp);
+               }
+       }
+
+       [Test]
+       public void run()
+       {
+               DoTestTypes(ConnectedDataProvider.GetSimpleDbTypesParameters());
+               DoTestTypes(ConnectedDataProvider.GetExtendedDbTypesParameters());
+       }
+
+       public void DoTestTypes(DbTypeParametersCollection row)
+       {
+               testTypesInvocations++;
+               exp = null;
+               string rowId = "43971_" + this.testTypesInvocations.ToString();
+               OracleDataReader rdr = null;
+               OracleConnection con = null;
+               try
+               {
+                       row.ExecuteInsert(rowId);
+                       row.ExecuteSelectReader(rowId, out rdr, out con);
+                       while (rdr.Read())
+                       {
+                               //Run over all the columns in the result set row.
+                               //For each column, try to read it as a Int16.
+                               for (int i=0; i<row.Count; i++)
+                               {
+                                       if (row[i].Value.GetType() == typeof(Int16)) //The value in the result set should be a Int16.
+                                       {
+                                               try
+                                               {
+                                                       BeginCase(string.Format("Calling GetInt16() on a field of dbtype {0}", row[i].DbTypeName));
+                                                       Int16 retInt16 = rdr.GetInt16(i);
+                                                       Compare(row[i].Value, retInt16);
+                                               }
+                                               catch (Exception ex)
+                                               {
+                                                       exp = ex;
+                                               }
+                                               finally
+                                               {
+                                                       EndCase(exp);
+                                                       exp = null;
+                                               }
+                                       }
+                                       else //The value in the result set should NOT be Int16. In this case an Invalid case exception should be thrown.
+                                       {
+                                               try
+                                               {
+                                                       BeginCase(string.Format("Calling GetInt16() on a field of dbtype {0}", row[i].DbTypeName));
+                                                       Int16 retInt16 = rdr.GetInt16(i);
+                                                       ExpectedExceptionNotCaught("InvalidCastException");
+                                               }
+                                               catch (InvalidCastException ex)
+                                               {
+                                                       ExpectedExceptionCaught(ex);
+                                               }
+                                               catch (Exception ex)
+                                               {
+                                                       exp = ex;
+                                               }
+                                               finally
+                                               {
+                                                       EndCase(exp);
+                                                       exp = null;
+                                               }
+                                       }
+                               }
+                       }
+               }
+               finally
+               {
+                       row.ExecuteDelete(rowId);
+                       if ( (rdr != null) && (!rdr.IsClosed) )
+                       {
+                               rdr.Close();
+                       }
+                       if ( (con != null) && (con.State != ConnectionState.Closed) )
+                       {
+                               con.Close();
+                       }
+               }
+       }
+}
+       
+
+}
\ No newline at end of file
diff --git a/mcs/class/System.Data.OracleClient/Test/System.Data.OracleClient.jvm/OracleDataReader/OracleDataReader_GetInt32_I.cs b/mcs/class/System.Data.OracleClient/Test/System.Data.OracleClient.jvm/OracleDataReader/OracleDataReader_GetInt32_I.cs
new file mode 100755 (executable)
index 0000000..c562f31
--- /dev/null
@@ -0,0 +1,144 @@
+// 
+// Copyright (c) 2006 Mainsoft Co.
+// 
+// Permission is hereby granted, free of charge, to any person obtaining
+// a copy of this software and associated documentation files (the
+// "Software"), to deal in the Software without restriction, including
+// without limitation the rights to use, copy, modify, merge, publish,
+// distribute, sublicense, and/or sell copies of the Software, and to
+// permit persons to whom the Software is furnished to do so, subject to
+// the following conditions:
+// 
+// The above copyright notice and this permission notice shall be
+// included in all copies or substantial portions of the Software.
+// 
+// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
+// EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
+// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
+// NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
+// LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
+// OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
+// WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
+//
+
+using System;
+using System.Data;
+using System.Data.OracleClient;
+
+using MonoTests.System.Data.Utils;
+
+using MonoTests.System.Data.Utils.Data;
+
+using NUnit.Framework;
+
+namespace MonoTests.System.Data.OracleClient
+{
+       [TestFixture]
+       public class OracleDataReader_GetInt32_I : ADONetTesterClass 
+       {
+               private Exception exp = null;
+               private int testTypesInvocations;
+
+               public static void Main()
+               {
+                       OracleDataReader_GetInt32_I tc = new OracleDataReader_GetInt32_I();
+                       Exception exp = null;
+                       try
+                       {
+                               tc.BeginTest("OracleDataReader_GetInt32_I");
+                               tc.run();
+                       }
+                       catch(Exception ex)
+                       {
+                               tc.exp = ex;
+                       }
+                       finally 
+                       {
+                               tc.EndTest(tc.exp);
+                       }
+               }
+
+               [Test]
+               public void run()
+               {
+                       DoTestTypes(ConnectedDataProvider.GetSimpleDbTypesParameters());
+                       DoTestTypes(ConnectedDataProvider.GetExtendedDbTypesParameters());
+               }
+
+               public void DoTestTypes(DbTypeParametersCollection row)
+               {
+                       testTypesInvocations++;
+                       exp = null;
+                       string rowId = "13286_" + this.testTypesInvocations.ToString();
+                       OracleDataReader rdr = null;
+                       OracleConnection con = null;
+                       try
+                       {
+                               row.ExecuteInsert(rowId);
+                               row.ExecuteSelectReader(rowId, out rdr, out con);
+                               while (rdr.Read())
+                               {
+                                       //Run over all the columns in the result set row.
+                                       //For each column, try to read it as a Int32.
+                                       for (int i=0; i<row.Count; i++)
+                                       {
+                                               if (row[i].Value.GetType() == typeof(Int32) ||
+                                                       row[i].Value.GetType() == typeof(double) ||
+                                                       row[i].Value.GetType() == typeof(decimal)) { //The value in the result set should be a Int32.
+                                                       try
+                                                       {
+                                                               BeginCase(string.Format("Calling GetInt32() on a field of dbtype {0}", row[i].DbTypeName));
+                                                               Int32 retInt32 = rdr.GetInt32(i);
+                                                               Compare(Convert.ToInt32(row[i].Value), retInt32);
+                                                       }
+                                                       catch (Exception ex)
+                                                       {
+                                                               exp = ex;
+                                                       }
+                                                       finally
+                                                       {
+                                                               EndCase(exp);
+                                                               exp = null;
+                                                       }
+                                               }
+                                               else //The value in the result set should NOT be Int32. In this case an Invalid case exception should be thrown.
+                                               {
+                                                       try
+                                                       {
+                                                               BeginCase(string.Format("Calling GetInt32() on a field of dbtype {0}", row[i].DbTypeName));
+                                                               Int32 retInt32 = rdr.GetInt32(i);
+                                                               ExpectedExceptionNotCaught("InvalidCastException");
+                                                       }
+                                                       catch (InvalidCastException ex)
+                                                       {
+                                                               ExpectedExceptionCaught(ex);
+                                                       }
+                                                       catch (Exception ex)
+                                                       {
+                                                               exp = ex;
+                                                       }
+                                                       finally
+                                                       {
+                                                               EndCase(exp);
+                                                               exp = null;
+                                                       }
+                                               }
+                                       }
+                               }
+                       }
+                       finally
+                       {
+                               row.ExecuteDelete(rowId);
+                               if ( (rdr != null) && (!rdr.IsClosed) )
+                               {
+                                       rdr.Close();
+                               }
+                               if ( (con != null) && (con.State != ConnectionState.Closed) )
+                               {
+                                       con.Close();
+                               }
+                       }
+               }
+       }
+       
+}
\ No newline at end of file
diff --git a/mcs/class/System.Data.OracleClient/Test/System.Data.OracleClient.jvm/OracleDataReader/OracleDataReader_GetInt64.cs b/mcs/class/System.Data.OracleClient/Test/System.Data.OracleClient.jvm/OracleDataReader/OracleDataReader_GetInt64.cs
new file mode 100755 (executable)
index 0000000..e56cf15
--- /dev/null
@@ -0,0 +1,146 @@
+// 
+// Copyright (c) 2006 Mainsoft Co.
+// 
+// Permission is hereby granted, free of charge, to any person obtaining
+// a copy of this software and associated documentation files (the
+// "Software"), to deal in the Software without restriction, including
+// without limitation the rights to use, copy, modify, merge, publish,
+// distribute, sublicense, and/or sell copies of the Software, and to
+// permit persons to whom the Software is furnished to do so, subject to
+// the following conditions:
+// 
+// The above copyright notice and this permission notice shall be
+// included in all copies or substantial portions of the Software.
+// 
+// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
+// EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
+// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
+// NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
+// LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
+// OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
+// WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
+//
+
+using System;
+using System.Data;
+using System.Data.OracleClient;
+
+using MonoTests.System.Data.Utils;
+
+using MonoTests.System.Data.Utils.Data;
+
+using NUnit.Framework;
+
+namespace MonoTests.System.Data.OracleClient
+{
+[TestFixture]
+public class OracleDataReader_GetInt64 : ADONetTesterClass 
+{
+       private Exception exp = null;
+       private int testTypesInvocations;
+
+       public static void Main()
+       {
+               OracleDataReader_GetInt64 tc = new OracleDataReader_GetInt64();
+               Exception exp = null;
+               try
+               {
+                       tc.BeginTest("OracleDataReader_GetInt64_I");
+                       tc.run();
+               }
+               catch(Exception ex)
+               {
+                       tc.exp = ex;
+               }
+               finally 
+               {
+                       tc.EndTest(tc.exp);
+               }
+       }
+
+       [Test]
+       public void run()
+       {
+               DoTestTypes(ConnectedDataProvider.GetSimpleDbTypesParameters());
+               DoTestTypes(ConnectedDataProvider.GetExtendedDbTypesParameters());
+       }
+       public void DoTestTypes(DbTypeParametersCollection row)
+       {
+               testTypesInvocations++;
+               exp = null;
+               string rowId = "43972_" + this.testTypesInvocations.ToString();
+               OracleDataReader rdr = null;
+               OracleConnection con = null;
+               try
+               {
+                       row.ExecuteInsert(rowId);
+                       row.ExecuteSelectReader(rowId, out rdr, out con);
+                       while (rdr.Read())
+                       {
+                               //Run over all the columns in the result set row.
+                               //For each column, try to read it as a Int64.
+                               for (int i=0; i<row.Count; i++)
+                               {
+                                       if (row[i].Value.GetType() == typeof(Int64) ||
+                                               row[i].Value.GetType() == typeof(double) ||
+                                               row[i].Value.GetType() == typeof(decimal)) { //The value in the result set should be a Int64.
+                                               try
+                                               {
+                                                       BeginCase(string.Format("Calling GetInt64() on a field of dbtype {0}", row[i].DbTypeName));
+                                                       Int64 retInt64 = rdr.GetInt64(i);
+                                                       Compare(Convert.ToInt64(row[i].Value), retInt64);
+                                               }
+                                               catch (Exception ex)
+                                               {
+                                                       exp = ex;
+                                               }
+                                               finally
+                                               {
+                                                       EndCase(exp);
+                                                       exp = null;
+                                               }
+                                       }
+                                       else //The value in the result set should NOT be Int64. In this case an Invalid case exception should be thrown.
+                                       {
+                                               try
+                                               {
+                                                       BeginCase(string.Format("Calling GetInt64() on a field of dbtype {0}", row[i].DbTypeName));
+                                                       Int64 retInt64 = rdr.GetInt64(i);
+                                                       ExpectedExceptionNotCaught("InvalidCastException");
+                                               }
+                                               catch (InvalidCastException ex)
+                                               {
+                                                       ExpectedExceptionCaught(ex);
+                                               }
+                                               catch (Exception ex)
+                                               {
+                                                       exp = ex;
+                                               }
+                                               finally
+                                               {
+                                                       EndCase(exp);
+                                                       exp = null;
+                                               }
+                                       }
+                               }
+                       }
+               }
+               finally
+               {
+                       row.ExecuteDelete(rowId);
+                       if ( (rdr != null) && (!rdr.IsClosed) )
+                       {
+                               rdr.Close();
+                       }
+                       if ( (con != null) && (con.State != ConnectionState.Closed) )
+                       {
+                               con.Close();
+                       }
+               }
+       }
+
+
+}
+       
+
+}
\ No newline at end of file
diff --git a/mcs/class/System.Data.OracleClient/Test/System.Data.OracleClient.jvm/OracleDataReader/OracleDataReader_GetName_I.cs b/mcs/class/System.Data.OracleClient/Test/System.Data.OracleClient.jvm/OracleDataReader/OracleDataReader_GetName_I.cs
new file mode 100755 (executable)
index 0000000..d747284
--- /dev/null
@@ -0,0 +1,100 @@
+// 
+// Copyright (c) 2006 Mainsoft Co.
+// 
+// Permission is hereby granted, free of charge, to any person obtaining
+// a copy of this software and associated documentation files (the
+// "Software"), to deal in the Software without restriction, including
+// without limitation the rights to use, copy, modify, merge, publish,
+// distribute, sublicense, and/or sell copies of the Software, and to
+// permit persons to whom the Software is furnished to do so, subject to
+// the following conditions:
+// 
+// The above copyright notice and this permission notice shall be
+// included in all copies or substantial portions of the Software.
+// 
+// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
+// EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
+// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
+// NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
+// LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
+// OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
+// WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
+//
+
+using System;
+using System.Data;
+using System.Data.OracleClient;
+
+using MonoTests.System.Data.Utils;
+
+
+using NUnit.Framework;
+
+namespace MonoTests.System.Data.OracleClient
+{
+[TestFixture]
+public class OracleDataReader_GetName_I : GHTBase
+{
+       public static void Main()
+       {
+               OracleDataReader_GetName_I tc = new OracleDataReader_GetName_I();
+               Exception exp = null;
+               try
+               {
+                       tc.BeginTest("OracleDataReader_NextResult");
+                               tc.run();
+               }
+               catch(Exception ex){exp = ex;}
+               finally {tc.EndTest(exp);}
+       }
+
+       [Test]
+#if !TARGET_JVM
+       [Category("NotWorking")]
+#endif
+       public void run()
+       {
+               Exception exp = null;
+               OracleConnection con = new OracleConnection(MonoTests.System.Data.Utils.ConnectedDataProvider.ConnectionString);
+               OracleCommand cmd = new OracleCommand("Customers",  con);
+               cmd.CommandType = CommandType.TableDirect;
+
+               con.Open();
+
+               OracleDataReader rdr = cmd.ExecuteReader();
+               rdr.Read();
+
+
+               try
+               {
+                       BeginCase("GetName field 0");
+                       string str = rdr.GetName(0);
+                       Compare(str.ToUpper(),"CUSTOMERID" );
+               } 
+               catch(Exception ex){exp = ex;}
+               finally{EndCase(exp); exp = null;}
+
+               try
+               {
+                       BeginCase("GetName last field ");
+                       string str = rdr.GetName(rdr.FieldCount -1);
+                       Compare(str.ToUpper(),"FAX" );
+               } 
+               catch(Exception ex){exp = ex;}
+               finally{EndCase(exp); exp = null;}
+
+               if (con.State == ConnectionState.Open) con.Close();
+       }
+}
+
+
+
+
+
+
+
+
+
+
+
+}
\ No newline at end of file
diff --git a/mcs/class/System.Data.OracleClient/Test/System.Data.OracleClient.jvm/OracleDataReader/OracleDataReader_GetOrdinal.cs b/mcs/class/System.Data.OracleClient/Test/System.Data.OracleClient.jvm/OracleDataReader/OracleDataReader_GetOrdinal.cs
new file mode 100755 (executable)
index 0000000..31b317f
--- /dev/null
@@ -0,0 +1,88 @@
+// 
+// Copyright (c) 2006 Mainsoft Co.
+// 
+// Permission is hereby granted, free of charge, to any person obtaining
+// a copy of this software and associated documentation files (the
+// "Software"), to deal in the Software without restriction, including
+// without limitation the rights to use, copy, modify, merge, publish,
+// distribute, sublicense, and/or sell copies of the Software, and to
+// permit persons to whom the Software is furnished to do so, subject to
+// the following conditions:
+// 
+// The above copyright notice and this permission notice shall be
+// included in all copies or substantial portions of the Software.
+// 
+// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
+// EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
+// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
+// NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
+// LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
+// OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
+// WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
+//
+
+using System;
+using System.Data;
+using System.Data.OracleClient;
+
+using MonoTests.System.Data.Utils;
+
+
+using NUnit.Framework;
+
+namespace MonoTests.System.Data.OracleClient
+{
+       [TestFixture]
+       public class OracleDataReader_GetOrdinal : ADONetTesterClass
+       {
+               public static void Main()
+               {
+                       OracleDataReader_GetOrdinal tc = new OracleDataReader_GetOrdinal();
+                       Exception exp = null;
+                       try
+                       {
+                               tc.BeginTest("OracleDataReader_GetOrdinal");
+                               tc.run();
+                       }
+                       catch(Exception ex){exp = ex;}
+                       finally {tc.EndTest(exp);}
+               }
+
+               [Test]
+               public void run()
+               {
+                       Exception exp = null;
+
+                       OracleConnection con = new OracleConnection(MonoTests.System.Data.Utils.ConnectedDataProvider.ConnectionString);
+                       con.Open();
+                       OracleCommand cmd = new OracleCommand("Select * From Customers", con);
+                       OracleDataReader rdr = cmd.ExecuteReader();
+               
+
+                       try
+                       {
+                               BeginCase("column REGION ordinal");
+                               Compare(rdr.GetOrdinal("REGION"),6 );
+                       } 
+                       catch(Exception ex){exp = ex;}
+                       finally{EndCase(exp); exp = null;}
+
+                       try
+                       {
+                               BeginCase("column not exists");
+                               try
+                               {
+                                       int i = rdr.GetOrdinal("blabla");
+                               }
+                               catch (Exception ex) {exp=ex;}
+                               Compare(exp.GetType().FullName,typeof(IndexOutOfRangeException).FullName);
+                               exp=null;
+                       } 
+                       catch(Exception ex){exp = ex;}
+                       finally{EndCase(exp); exp = null;}
+
+                       if (con.State == ConnectionState.Open) con.Close();
+
+               }
+       }
+}
\ No newline at end of file
diff --git a/mcs/class/System.Data.OracleClient/Test/System.Data.OracleClient.jvm/OracleDataReader/OracleDataReader_GetSchemaTable.cs b/mcs/class/System.Data.OracleClient/Test/System.Data.OracleClient.jvm/OracleDataReader/OracleDataReader_GetSchemaTable.cs
new file mode 100755 (executable)
index 0000000..4c7f148
--- /dev/null
@@ -0,0 +1,209 @@
+// 
+// Copyright (c) 2006 Mainsoft Co.
+// 
+// Permission is hereby granted, free of charge, to any person obtaining
+// a copy of this software and associated documentation files (the
+// "Software"), to deal in the Software without restriction, including
+// without limitation the rights to use, copy, modify, merge, publish,
+// distribute, sublicense, and/or sell copies of the Software, and to
+// permit persons to whom the Software is furnished to do so, subject to
+// the following conditions:
+// 
+// The above copyright notice and this permission notice shall be
+// included in all copies or substantial portions of the Software.
+// 
+// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
+// EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
+// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
+// NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
+// LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
+// OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
+// WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
+//
+
+
+using System;
+using System.Data;
+using System.Data.OracleClient;
+
+using MonoTests.System.Data.Utils;
+
+
+using NUnit.Framework;
+
+namespace MonoTests.System.Data.OracleClient
+{
+[TestFixture]
+class TestId13294 : GHTBase
+{
+       public static void Main()
+       {
+               TestId13294 tc = new TestId13294();
+               Exception exp = null;
+               try
+               {
+                       tc.BeginTest("OracleDataReader_GetSchemaTable");
+                       tc.run();
+               }
+               catch(Exception ex){exp = ex;}
+               finally {tc.EndTest(exp);}
+       }
+
+       [Test]
+       public void run()
+       {
+               Exception exp = null;
+
+               
+               OracleConnection con = new OracleConnection(MonoTests.System.Data.Utils.ConnectedDataProvider.ConnectionString);
+               con.Open();
+               OracleCommand cmd = new OracleCommand("Select * From Orders", con);
+               OracleDataReader rdr = cmd.ExecuteReader();
+               DataTable tbl = rdr.GetSchemaTable();
+
+               //check that all the columns properties (according to .Net) exists (GH give more properties)
+
+               try
+               {
+                       BeginCase("ColumnName");
+                               Compare(tbl.Columns.Contains("ColumnName"),true );
+               } 
+               catch(Exception ex){exp = ex;}
+               finally{EndCase(exp); exp = null;}
+
+               try
+               {
+                       BeginCase("ColumnOrdinal");
+                       Compare(tbl.Columns.Contains("ColumnOrdinal"),true );
+               } 
+               catch(Exception ex){exp = ex;}
+               finally{EndCase(exp); exp = null;}
+
+               try
+               {
+                       BeginCase("ColumnSize");
+                       Compare(tbl.Columns.Contains("ColumnSize"),true );
+               } 
+               catch(Exception ex){exp = ex;}
+               finally{EndCase(exp); exp = null;}
+
+               try
+               {
+                       BeginCase("NumericPrecision");
+                       Compare(tbl.Columns.Contains("NumericPrecision"),true );
+               } 
+               catch(Exception ex){exp = ex;}
+               finally{EndCase(exp); exp = null;}
+
+               try
+               {
+                       BeginCase("NumericScale");
+                       Compare(tbl.Columns.Contains("NumericScale"),true );
+               } 
+               catch(Exception ex){exp = ex;}
+               finally{EndCase(exp); exp = null;}
+
+               try
+               {
+                       BeginCase("DataType");
+                       Compare(tbl.Columns.Contains("DataType"),true );
+               } 
+               catch(Exception ex){exp = ex;}
+               finally{EndCase(exp); exp = null;}
+
+               try
+               {
+                       BeginCase("ProviderType");
+                       Compare(tbl.Columns.Contains("ProviderType"),true );
+               } 
+               catch(Exception ex){exp = ex;}
+               finally{EndCase(exp); exp = null;}
+
+               try
+               {
+                       BeginCase("IsLong");
+                       Compare(tbl.Columns.Contains("IsLong"),true );
+               } 
+               catch(Exception ex){exp = ex;}
+               finally{EndCase(exp); exp = null;}
+
+               try
+               {
+                       BeginCase("AllowDBNull");
+                       Compare(tbl.Columns.Contains("AllowDBNull"),true );
+               } 
+               catch(Exception ex){exp = ex;}
+               finally{EndCase(exp); exp = null;}
+
+               try
+               {
+                       BeginCase("IsReadOnly");
+                       Compare(tbl.Columns.Contains("IsReadOnly"),true );
+               } 
+               catch(Exception ex){exp = ex;}
+               finally{EndCase(exp); exp = null;}
+
+               try
+               {
+                       BeginCase("IsRowVersion");
+                       Compare(tbl.Columns.Contains("IsRowVersion"),true );
+               } 
+               catch(Exception ex){exp = ex;}
+               finally{EndCase(exp); exp = null;}
+
+               try
+               {
+                       BeginCase("IsUnique");
+                       Compare(tbl.Columns.Contains("IsUnique"),true );
+               } 
+               catch(Exception ex){exp = ex;}
+               finally{EndCase(exp); exp = null;}
+
+               try
+               {
+                       BeginCase("IsKey");
+                       Compare(tbl.Columns.Contains("IsKey"),true );
+               } 
+               catch(Exception ex){exp = ex;}
+               finally{EndCase(exp); exp = null;}
+
+               try
+               {
+                       BeginCase("IsAutoIncrement");
+                       Compare(tbl.Columns.Contains("IsAutoIncrement"),true );
+               } 
+               catch(Exception ex){exp = ex;}
+               finally{EndCase(exp); exp = null;}
+
+               try
+               {
+                       BeginCase("BaseSchemaName");
+                       Compare(tbl.Columns.Contains("BaseSchemaName"),true );
+               } 
+               catch(Exception ex){exp = ex;}
+               finally{EndCase(exp); exp = null;}
+
+               try
+               {
+                       BeginCase("BaseTableName");
+                       Compare(tbl.Columns.Contains("BaseTableName"),true );
+               } 
+               catch(Exception ex){exp = ex;}
+               finally{EndCase(exp); exp = null;}
+
+               try
+               {
+                       BeginCase("BaseColumnName");
+                       Compare(tbl.Columns.Contains("BaseColumnName"),true );
+               } 
+               catch(Exception ex){exp = ex;}
+               finally{EndCase(exp); exp = null;}
+
+
+               if (con.State == ConnectionState.Open) con.Close();
+       
+               }
+       }
+
+
+}
\ No newline at end of file
diff --git a/mcs/class/System.Data.OracleClient/Test/System.Data.OracleClient.jvm/OracleDataReader/OracleDataReader_GetString_I.cs b/mcs/class/System.Data.OracleClient/Test/System.Data.OracleClient.jvm/OracleDataReader/OracleDataReader_GetString_I.cs
new file mode 100755 (executable)
index 0000000..cdd7b41
--- /dev/null
@@ -0,0 +1,78 @@
+// 
+// Copyright (c) 2006 Mainsoft Co.
+// 
+// Permission is hereby granted, free of charge, to any person obtaining
+// a copy of this software and associated documentation files (the
+// "Software"), to deal in the Software without restriction, including
+// without limitation the rights to use, copy, modify, merge, publish,
+// distribute, sublicense, and/or sell copies of the Software, and to
+// permit persons to whom the Software is furnished to do so, subject to
+// the following conditions:
+// 
+// The above copyright notice and this permission notice shall be
+// included in all copies or substantial portions of the Software.
+// 
+// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
+// EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
+// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
+// NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
+// LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
+// OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
+// WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
+//
+
+using System;
+using System.Data;
+using System.Data.OracleClient;
+
+using MonoTests.System.Data.Utils;
+
+
+using NUnit.Framework;
+
+namespace MonoTests.System.Data.OracleClient
+{
+       [TestFixture]
+       public class OracleDataReader_GetString_I : ADONetTesterClass 
+       {
+               public static void Main()
+               {
+                       OracleDataReader_GetString_I tc = new OracleDataReader_GetString_I();
+                       Exception exp = null;
+                       try
+                       {
+                               tc.BeginTest("OracleDataReader_GetString_I");
+                               tc.run();
+                       }
+                       catch(Exception ex){exp = ex;}
+                       finally {tc.EndTest(exp);}
+               }
+
+               [Test]
+               public void run()
+               {
+                       Exception exp = null;
+
+               
+                       base.PrepareDataForTesting(MonoTests.System.Data.Utils.ConnectedDataProvider.ConnectionString);
+
+                       OracleConnection con = new OracleConnection(MonoTests.System.Data.Utils.ConnectedDataProvider.ConnectionString);
+                       con.Open();
+                       OracleCommand cmd = new OracleCommand("Select FirstName From Employees Where EmployeeID = 100", con);
+                       OracleDataReader rdr = cmd.ExecuteReader();
+                       rdr.Read();
+
+                       try
+                       {
+                               BeginCase("check value");
+                               string str = rdr.GetString(0);
+                               Compare(str,"First100" );
+                       } 
+                       catch(Exception ex){exp = ex;}
+                       finally{EndCase(exp); exp = null;}
+
+                       if (con.State == ConnectionState.Open) con.Close();
+               }
+       }
+
+}
\ No newline at end of file
diff --git a/mcs/class/System.Data.OracleClient/Test/System.Data.OracleClient.jvm/OracleDataReader/OracleDataReader_GetTimeSpan_I.cs b/mcs/class/System.Data.OracleClient/Test/System.Data.OracleClient.jvm/OracleDataReader/OracleDataReader_GetTimeSpan_I.cs
new file mode 100755 (executable)
index 0000000..4560e7a
--- /dev/null
@@ -0,0 +1,147 @@
+// 
+// Copyright (c) 2006 Mainsoft Co.
+// 
+// Permission is hereby granted, free of charge, to any person obtaining
+// a copy of this software and associated documentation files (the
+// "Software"), to deal in the Software without restriction, including
+// without limitation the rights to use, copy, modify, merge, publish,
+// distribute, sublicense, and/or sell copies of the Software, and to
+// permit persons to whom the Software is furnished to do so, subject to
+// the following conditions:
+// 
+// The above copyright notice and this permission notice shall be
+// included in all copies or substantial portions of the Software.
+// 
+// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
+// EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
+// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
+// NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
+// LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
+// OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
+// WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
+//
+
+using System;
+using System.Data;
+using System.Data.OracleClient;
+
+using MonoTests.System.Data.Utils;
+
+using MonoTests.System.Data.Utils.Data;
+
+using NUnit.Framework;
+
+namespace MonoTests.System.Data.OracleClient
+{
+       [TestFixture]
+       public class OracleDataReader_GetTimeSpan_I : ADONetTesterClass
+       {
+               private Exception exp = null;
+               private int testTypesInvocations;
+
+//             public OracleDataReader_GetTimeSpan_I() : base(true)
+//             {
+//             }
+
+               public static void Main()
+               {
+                       OracleDataReader_GetTimeSpan_I tc = new OracleDataReader_GetTimeSpan_I();
+                       tc.exp = null;
+                       try
+                       {
+                               tc.BeginTest("OracleDataReader_GetTimeSpan_I");
+                               tc.run();
+                       }
+                       catch(Exception ex)
+                       {
+                               tc.exp = ex;
+                       }
+                       finally 
+                       {
+                               tc.EndTest(tc.exp);
+                       }
+               }
+
+               [Test]
+               public void run()
+               {
+                       DoTestTypes(ConnectedDataProvider.GetSimpleDbTypesParameters());
+                       DoTestTypes(ConnectedDataProvider.GetExtendedDbTypesParameters());
+               }
+
+               public void DoTestTypes(DbTypeParametersCollection row)
+               {
+                       testTypesInvocations++;
+                       exp = null;
+                       string rowId = "43967_" + this.testTypesInvocations.ToString();
+                       OracleDataReader rdr = null;
+                       OracleConnection con = null;
+                       try
+                       {
+                               row.ExecuteInsert(rowId);
+                               row.ExecuteSelectReader(rowId, out rdr, out con);
+                               while (rdr.Read())
+                               {
+                                       //Run over all the columns in the result set row.
+                                       //For each column, try to read it as a TimeSpan.
+                                       for (int i=0; i<row.Count; i++)
+                                       {
+                                               if (row[i].Value.GetType() == typeof(TimeSpan)) //The value in the result set should be a TimeSpan.
+                                               {
+                                                       try
+                                                       {
+                                                               BeginCase(string.Format("Calling GetTimeSpan() on a field of dbtype {0}", row[i].DbTypeName));
+                                                               TimeSpan retTimeSpan = rdr.GetTimeSpan(i);
+                                                               Compare(row[i].Value, retTimeSpan);
+                                                       }
+                                                       catch (Exception ex)
+                                                       {
+                                                               exp = ex;
+                                                       }
+                                                       finally
+                                                       {
+                                                               EndCase(exp);
+                                                               exp = null;
+                                                       }
+                                               }
+                                               else //The value in the result set should NOT be TimeSpan. In this case an Invalid case exception should be thrown.
+                                               {
+                                                       try
+                                                       {
+                                                               BeginCase(string.Format("Calling GetTimeSpan() on a field of dbtype {0}", row[i].DbTypeName));
+                                                               TimeSpan retTimeSpan = rdr.GetTimeSpan(i);
+                                                               ExpectedExceptionNotCaught("InvalidCastException");
+                                                       }
+                                                       catch (InvalidCastException ex)
+                                                       {
+                                                               ExpectedExceptionCaught(ex);
+                                                       }
+                                                       catch (Exception ex)
+                                                       {
+                                                               exp = ex;
+                                                       }
+                                                       finally
+                                                       {
+                                                               EndCase(exp);
+                                                               exp = null;
+                                                       }
+                                               }
+                                       }
+                               }
+                       }
+                       finally
+                       {
+                               row.ExecuteDelete(rowId);
+                               if ( (rdr != null) && (!rdr.IsClosed) )
+                               {
+                                       rdr.Close();
+                               }
+                               if ( (con != null) && (con.State != ConnectionState.Closed) )
+                               {
+                                       con.Close();
+                               }
+                       }
+               }
+       }
+
+}
\ No newline at end of file
diff --git a/mcs/class/System.Data.OracleClient/Test/System.Data.OracleClient.jvm/OracleDataReader/OracleDataReader_GetValue.cs b/mcs/class/System.Data.OracleClient/Test/System.Data.OracleClient.jvm/OracleDataReader/OracleDataReader_GetValue.cs
new file mode 100755 (executable)
index 0000000..bf13605
--- /dev/null
@@ -0,0 +1,193 @@
+// 
+// Copyright (c) 2006 Mainsoft Co.
+// 
+// Permission is hereby granted, free of charge, to any person obtaining
+// a copy of this software and associated documentation files (the
+// "Software"), to deal in the Software without restriction, including
+// without limitation the rights to use, copy, modify, merge, publish,
+// distribute, sublicense, and/or sell copies of the Software, and to
+// permit persons to whom the Software is furnished to do so, subject to
+// the following conditions:
+// 
+// The above copyright notice and this permission notice shall be
+// included in all copies or substantial portions of the Software.
+// 
+// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
+// EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
+// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
+// NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
+// LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
+// OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
+// WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
+//
+
+using System;
+using System.Data;
+using System.Data.OracleClient;
+
+using MonoTests.System.Data.Utils;
+
+using MonoTests.System.Data.Utils.Data;
+
+using NUnit.Framework;
+
+namespace MonoTests.System.Data.OracleClient
+{
+       [TestFixture]
+       public class OracleDataReader_GetValue : ADONetTesterClass
+       {
+               Exception exp;
+               OracleConnection con;
+               char [] Result;
+
+               [SetUp]
+               public void SetUp()
+               {
+                               base.PrepareDataForTesting(MonoTests.System.Data.Utils.ConnectedDataProvider.ConnectionString);
+
+                               con = new OracleConnection(MonoTests.System.Data.Utils.ConnectedDataProvider.ConnectionString);
+                               Result = new char[100];
+                               con.Open();
+               }
+
+               [TearDown]
+               public void TearDown()
+               {
+                       if (con.State == ConnectionState.Open) con.Close();
+               }
+
+               public static void Main()
+               {
+                       OracleDataReader_GetValue tc = new OracleDataReader_GetValue();
+                       tc.exp = null;
+                       try
+                       {
+                               tc.BeginTest("OracleDataReader_GetValue");
+                               tc.SetUp();
+                               tc.run();
+                       }
+                       catch (Exception ex)
+                       {
+                               tc.exp = ex;
+                       }
+                       finally 
+                       {
+                               tc.EndTest(tc.exp);
+                               tc.TearDown();
+                       }
+               }
+
+               [Test]
+               public void run()
+               {
+                       TypesTests(ConnectedDataProvider.GetSimpleDbTypesParameters());
+                       TypesTests(ConnectedDataProvider.GetExtendedDbTypesParameters());
+               }
+
+               [Test]
+               public void SimpleTest()
+               {
+                       OracleDataReader rdr = null;
+                       exp = null;
+                       try
+                       {
+                               BeginCase("check value");
+                               
+                               OracleCommand cmd = new OracleCommand("Select LastName From Employees Where EmployeeID = 100", con);
+                               rdr = cmd.ExecuteReader();
+                               rdr.Read();
+
+                               Object obj = rdr.GetValue(0); 
+                               Compare(obj.ToString(), "Last100");
+                       } 
+                       catch (Exception ex)
+                       {
+                               exp = ex;
+                       }
+                       finally
+                       {
+                               if (rdr != null)
+                               {
+                                       rdr.Close();
+                               }
+                               EndCase(exp);
+                               exp = null;
+                       }
+               }
+               private void TypesTests(DbTypeParametersCollection typesToTest)
+               {
+                       exp = null;
+
+                       DbTypeParametersCollection currentlyTested = new DbTypeParametersCollection(typesToTest.TableName);
+                       string rowId = "13289";
+                       object dbValue;
+                       OracleDataReader rdr = null;
+                       OracleConnection selectCon = null;
+                       DataBaseServer testedDbServer = ConnectedDataProvider.GetDbType();
+
+                       foreach (DbTypeParameter currentParamType in typesToTest)
+                       {
+                               BeginCase("Test value of db type: " + currentParamType.DbTypeName);
+                               //Prepare data:
+                               rowId = string.Format("13289_{0}", this.TestCaseNumber);
+                               currentlyTested.Clear();
+                               currentlyTested.Add(currentParamType);
+                               currentlyTested.ExecuteInsert(rowId);
+
+                               try
+                               {
+                                       currentlyTested.ExecuteSelectReader(rowId, out rdr, out selectCon);
+                                       rdr.Read();
+                                       dbValue = WorkaroundOracleCharsPaddingLimitation(testedDbServer, currentParamType, rdr.GetValue(0));
+                                       if (currentParamType.Value.GetType().IsArray)
+                                       {
+                                               Compare(dbValue as Array, currentParamType.Value as Array);
+                                       }
+                                       else
+                                       {
+                                               Compare(dbValue, currentParamType.Value);
+                                       }
+                               } 
+                               catch(Exception ex)
+                               {
+                                       exp = ex;
+                               }
+                               finally
+                               {
+                                       EndCase(exp);
+                                       exp = null;
+                                       if (rdr != null && !rdr.IsClosed)
+                                       {
+                                               rdr.Close();
+                                       }
+                                       if (selectCon != null && selectCon.State != ConnectionState.Closed)
+                                       {
+                                               selectCon.Close();
+                                       }
+                                       currentlyTested.ExecuteDelete(rowId);
+                               }
+                       }
+               }
+               /// <summary>
+               /// This is a workaround for the extra white spaces added in oracle to NCHAR & NVARCHAR values.
+               /// The problem is a documented GH limitation, see bug #3417.
+               /// The workaround is to trim the lemgth of the returned string to the specified length of the parameter/column.
+               /// </summary>
+               /// <param name="testedServer">The database server we are currently running on.</param>
+               /// <param name="val">The value returned from the database.</param>
+               /// <returns>The normalized value..</returns>
+               private object WorkaroundOracleCharsPaddingLimitation(DataBaseServer testedServer, DbTypeParameter currentParam, object val)
+               {
+                       object origVal = val;
+                       string dbTypeName = currentParam.DbTypeName.ToUpper();
+                       if ( (testedServer == DataBaseServer.Oracle) && (dbTypeName == "CHAR" || dbTypeName == "NCHAR") )
+                       {
+                               val = ((string)val).Substring(0, currentParam.Size);
+                               Log(string.Format("Worked around oracle chars padding limitation by triming '{0}' to '{1}'", origVal, val));
+                       }
+                       return val;
+               }
+
+
+       }
+}
\ No newline at end of file
diff --git a/mcs/class/System.Data.OracleClient/Test/System.Data.OracleClient.jvm/OracleDataReader/OracleDataReader_GetValues.cs b/mcs/class/System.Data.OracleClient/Test/System.Data.OracleClient.jvm/OracleDataReader/OracleDataReader_GetValues.cs
new file mode 100755 (executable)
index 0000000..4e08356
--- /dev/null
@@ -0,0 +1,156 @@
+// 
+// Copyright (c) 2006 Mainsoft Co.
+// 
+// Permission is hereby granted, free of charge, to any person obtaining
+// a copy of this software and associated documentation files (the
+// "Software"), to deal in the Software without restriction, including
+// without limitation the rights to use, copy, modify, merge, publish,
+// distribute, sublicense, and/or sell copies of the Software, and to
+// permit persons to whom the Software is furnished to do so, subject to
+// the following conditions:
+// 
+// The above copyright notice and this permission notice shall be
+// included in all copies or substantial portions of the Software.
+// 
+// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
+// EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
+// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
+// NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
+// LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
+// OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
+// WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
+//
+
+using System;
+using System.Data;
+using System.Data.OracleClient;
+
+using MonoTests.System.Data.Utils;
+
+
+using NUnit.Framework;
+
+namespace MonoTests.System.Data.OracleClient
+{
+       [TestFixture]
+       public class OracleDataReader_GetValues : ADONetTesterClass 
+       {
+               public static void Main()
+               {
+                       OracleDataReader_GetValues tc = new OracleDataReader_GetValues();
+                       Exception exp = null;
+                       try
+                       {
+                               tc.BeginTest("OracleDataReader_GetValues");
+                               tc.run();
+                       }
+                       catch(Exception ex){exp = ex;}
+                       finally {tc.EndTest(exp);}
+               }
+
+               [Test]
+               public void run()
+               {
+                       Exception exp = null;
+                       int intValuesCount = 0;
+
+                       //prepare data
+                       base.PrepareDataForTesting(MonoTests.System.Data.Utils.ConnectedDataProvider.ConnectionString);
+
+                       OracleConnection con = new OracleConnection(MonoTests.System.Data.Utils.ConnectedDataProvider.ConnectionString);
+                       con.Open();
+                       OracleCommand cmd = new OracleCommand("Select CustomerID, ContactName , CompanyName From Customers where CustomerID = 'GH100'", con);
+                       OracleDataReader rdr = cmd.ExecuteReader();
+                       rdr.Read();
+
+                       object [] values = null;
+
+
+                       //------ check big array
+                       try
+                       {
+                               BeginCase("GetValues - bigger array - check count");
+                               values = new object[50];
+                               intValuesCount = rdr.GetValues(values);
+                               Compare(intValuesCount ,3 );
+                       } 
+                       catch(Exception ex){exp = ex;}
+                       finally{EndCase(exp); exp = null;}
+
+                       try
+                       {
+                               BeginCase("GetValues - bigger array - check CustomerID");
+                               Compare(values[0].ToString().Trim() ,"GH100" );
+                       } 
+                       catch(Exception ex){exp = ex;}
+                       finally{EndCase(exp); exp = null;}
+
+                       try
+                       {
+                               BeginCase("GetValues - bigger array - check CompanyName");
+                               Compare(values[2].ToString() ,"Company100" );
+                       } 
+                       catch(Exception ex){exp = ex;}
+                       finally{EndCase(exp); exp = null;}
+
+                       try
+                       {
+                               BeginCase("GetValues - bigger array - check DBNull");
+                               Compare(values[3] == null ,true);
+                       } 
+                       catch(Exception ex){exp = ex;}
+                       finally{EndCase(exp); exp = null;}
+
+                       //------ check small array
+                       try
+                       {
+                               BeginCase("GetValues - smaller array - check count");
+                               values = new object[2];
+                               intValuesCount = rdr.GetValues(values);
+                               Compare(intValuesCount ,2 );
+                       } 
+                       catch(Exception ex){exp = ex;}
+                       finally{EndCase(exp); exp = null;}
+
+                       try
+                       {
+                               BeginCase("GetValues - smaller array - check CustomerID");
+                               Compare(values[0].ToString().Trim() ,"GH100" );
+                       } 
+                       catch(Exception ex){exp = ex;}
+                       finally{EndCase(exp); exp = null;}
+
+
+                       //------ check exact array
+                       try
+                       {
+                               BeginCase("GetValues - exact array - check count");
+                               values = new object[3];
+                               intValuesCount = rdr.GetValues(values);
+                               Compare(intValuesCount ,3 );
+                       } 
+                       catch(Exception ex){exp = ex;}
+                       finally{EndCase(exp); exp = null;}
+
+                       try
+                       {
+                               BeginCase("GetValues - exact array - check CustomerID");
+                               Compare(values[0].ToString().Trim() ,"GH100" );
+                       } 
+                       catch(Exception ex){exp = ex;}
+                       finally{EndCase(exp); exp = null;}
+
+                       try
+                       {
+                               BeginCase("GetValues - exact array - check CompanyName");
+                               Compare(values[2].ToString() ,"Company100" );
+                       } 
+                       catch(Exception ex){exp = ex;}
+                       finally{EndCase(exp); exp = null;}
+
+                       if (con.State == ConnectionState.Open) con.Close();
+
+
+               }
+       }
+}
\ No newline at end of file
diff --git a/mcs/class/System.Data.OracleClient/Test/System.Data.OracleClient.jvm/OracleDataReader/OracleDataReader_HasRows.cs b/mcs/class/System.Data.OracleClient/Test/System.Data.OracleClient.jvm/OracleDataReader/OracleDataReader_HasRows.cs
new file mode 100755 (executable)
index 0000000..833a63d
--- /dev/null
@@ -0,0 +1,124 @@
+// 
+// Copyright (c) 2006 Mainsoft Co.
+// 
+// Permission is hereby granted, free of charge, to any person obtaining
+// a copy of this software and associated documentation files (the
+// "Software"), to deal in the Software without restriction, including
+// without limitation the rights to use, copy, modify, merge, publish,
+// distribute, sublicense, and/or sell copies of the Software, and to
+// permit persons to whom the Software is furnished to do so, subject to
+// the following conditions:
+// 
+// The above copyright notice and this permission notice shall be
+// included in all copies or substantial portions of the Software.
+// 
+// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
+// EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
+// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
+// NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
+// LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
+// OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
+// WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
+//
+
+using System;
+using System.Data;
+using System.Data.OracleClient;
+
+using MonoTests.System.Data.Utils;
+
+using MonoTests.System.Data.Utils.Data;
+
+using NUnit.Framework;
+
+namespace MonoTests.System.Data.OracleClient
+{
+
+[TestFixture]
+public class OracleDataReader_HasRows : GHTBase
+{
+       Exception exp;
+
+       public static void Main()
+       {
+               OracleDataReader_HasRows tc = new OracleDataReader_HasRows();
+               tc.exp = null;
+               try
+               {
+                       tc.BeginTest("OracleDataReader_HasRows");
+                       tc.run();
+               }
+               catch(Exception ex)
+               {
+                       tc.exp = ex;
+               }
+               finally 
+               {
+                       tc.EndTest(tc.exp);
+               }
+       }
+
+       public void run()
+       {
+               TestHasRowsTrue();
+               TestHasRowsFalse();
+       }
+
+       [Test]
+       public void TestHasRowsTrue()
+       {
+               BeginCase("Test HasRows = True");
+               exp = null;
+               string rowId = string.Format("43977_{0}", TestCaseNumber);
+               OracleConnection con = null;
+               OracleDataReader rdr = null;
+               try
+               {
+                       DbTypeParametersCollection row = ConnectedDataProvider.GetSimpleDbTypesParameters();
+                       row.ExecuteInsert(rowId);
+                       row.ExecuteSelectReader(rowId, out rdr, out con);
+                       Compare(rdr.HasRows, true);
+               }
+               catch (Exception ex)
+               {
+                       exp = ex;
+               }
+               finally
+               {
+                       EndCase(exp);
+                       exp = null;
+               }
+       }
+
+       [Test]
+       public void TestHasRowsFalse()
+       {
+               BeginCase("Test HasRows = False");
+               exp = null;
+               string rowId = string.Format("43977_{0}", TestCaseNumber);
+               OracleConnection con = null;
+               OracleDataReader rdr = null;
+               try
+               {
+                       DbTypeParametersCollection row = ConnectedDataProvider.GetSimpleDbTypesParameters();
+                       row.ExecuteDelete(rowId);       //Make sure that a row with such ID does not exist.
+                       row.ExecuteSelectReader(rowId, out rdr, out con);
+                       Compare(rdr.HasRows, false);
+               }
+               catch (Exception ex)
+               {
+                       exp = ex;
+               }
+               finally
+               {
+                       EndCase(exp);
+                       exp = null;
+               }
+       }
+}
+
+
+
+
+
+}
\ No newline at end of file
diff --git a/mcs/class/System.Data.OracleClient/Test/System.Data.OracleClient.jvm/OracleDataReader/OracleDataReader_IsDBNull.cs b/mcs/class/System.Data.OracleClient/Test/System.Data.OracleClient.jvm/OracleDataReader/OracleDataReader_IsDBNull.cs
new file mode 100755 (executable)
index 0000000..6a8c3ee
--- /dev/null
@@ -0,0 +1,76 @@
+// 
+// Copyright (c) 2006 Mainsoft Co.
+// 
+// Permission is hereby granted, free of charge, to any person obtaining
+// a copy of this software and associated documentation files (the
+// "Software"), to deal in the Software without restriction, including
+// without limitation the rights to use, copy, modify, merge, publish,
+// distribute, sublicense, and/or sell copies of the Software, and to
+// permit persons to whom the Software is furnished to do so, subject to
+// the following conditions:
+// 
+// The above copyright notice and this permission notice shall be
+// included in all copies or substantial portions of the Software.
+// 
+// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
+// EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
+// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
+// NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
+// LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
+// OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
+// WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
+//
+
+using System;
+using System.Data;
+using System.Data.OracleClient;
+
+using MonoTests.System.Data.Utils;
+
+
+using NUnit.Framework;
+
+namespace MonoTests.System.Data.OracleClient
+{
+       [TestFixture]
+       class TestId13296 : ADONetTesterClass 
+       {
+               public static void Main()
+               {
+                       TestId13296 tc = new TestId13296();
+                       Exception exp = null;
+                       try
+                       {
+                               tc.BeginTest("OracleDataReader_IsDBNull");
+                               tc.run();
+                       }
+                       catch(Exception ex){exp = ex;}
+                       finally {tc.EndTest(exp);}
+               }
+
+               [Test]
+               public void run()
+               {
+                       Exception exp = null;
+
+
+                       base.PrepareDataForTesting(MonoTests.System.Data.Utils.ConnectedDataProvider.ConnectionString);
+
+                       OracleConnection con = new OracleConnection(MonoTests.System.Data.Utils.ConnectedDataProvider.ConnectionString);
+                       con.Open();
+                       OracleCommand cmd = new OracleCommand("Select EmployeeID,City From Employees where EmployeeID = 100  ", con);
+                       OracleDataReader rdr = cmd.ExecuteReader();
+                       rdr.Read();
+
+                       try
+                       {
+                               BeginCase("IsDBNull value");
+                               Compare(rdr.IsDBNull(1),true );
+                       } 
+                       catch(Exception ex){exp = ex;}
+                       finally{EndCase(exp); exp = null;}
+
+                       if (con.State == ConnectionState.Open) con.Close();
+               }
+       }
+}
\ No newline at end of file
diff --git a/mcs/class/System.Data.OracleClient/Test/System.Data.OracleClient.jvm/OracleDataReader/OracleDataReader_Item.cs b/mcs/class/System.Data.OracleClient/Test/System.Data.OracleClient.jvm/OracleDataReader/OracleDataReader_Item.cs
new file mode 100755 (executable)
index 0000000..111a711
--- /dev/null
@@ -0,0 +1,179 @@
+// 
+// Copyright (c) 2006 Mainsoft Co.
+// 
+// Permission is hereby granted, free of charge, to any person obtaining
+// a copy of this software and associated documentation files (the
+// "Software"), to deal in the Software without restriction, including
+// without limitation the rights to use, copy, modify, merge, publish,
+// distribute, sublicense, and/or sell copies of the Software, and to
+// permit persons to whom the Software is furnished to do so, subject to
+// the following conditions:
+// 
+// The above copyright notice and this permission notice shall be
+// included in all copies or substantial portions of the Software.
+// 
+// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
+// EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
+// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
+// NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
+// LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
+// OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
+// WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
+//
+
+using System;
+using System.Data;
+using System.Data.OracleClient ;
+
+using MonoTests.System.Data.Utils;
+
+
+using NUnit.Framework;
+
+namespace MonoTests.System.Data.OracleClient
+{
+[TestFixture]
+public class OracleDataReader_Item : ADONetTesterClass 
+{
+       public static void Main()
+       {
+               OracleDataReader_Item tc = new OracleDataReader_Item();
+               Exception exp = null;
+               try
+               {
+                       tc.BeginTest("OracleDataReader_Item");
+                       tc.run();
+               }
+               catch(Exception ex){exp = ex;}
+               finally {tc.EndTest(exp);}
+       }
+
+       [Test]
+       public void run()
+       {
+               Exception exp = null;
+
+
+               //prepare data
+
+
+
+               OracleConnection con = new OracleConnection(MonoTests.System.Data.Utils.ConnectedDataProvider.ConnectionString);
+               OracleCommand cmd = new OracleCommand("select ProductID,ProductName,Discontinued from Products where ProductID=1", con);
+               con.Open();
+               OracleDataReader rdr =  cmd.ExecuteReader();
+
+               rdr.Read();
+               object obj = null;
+
+               switch (ConnectedDataProvider.GetDbType(con)) 
+               {
+                       case DataBaseServer.DB2:
+                       case DataBaseServer.SQLServer:
+                       case DataBaseServer.PostgreSQL:
+                               try
+                               {
+                                       BeginCase("Column int - type");
+                                       obj = rdr["ProductID"];
+                                       Compare(obj.GetType().FullName , typeof(int).FullName);
+                               } 
+                               catch(Exception ex){exp = ex;}
+                               finally{EndCase(exp); exp = null;}
+                               break;
+                       case DataBaseServer.Oracle:
+                       case DataBaseServer.Sybase:
+                               try
+                               {
+                                       BeginCase("Column Decimal - type");
+                                       obj = rdr["ProductID"];
+                                       Compare(obj.GetType().FullName , typeof(decimal).FullName);
+                               } 
+                               catch(Exception ex){exp = ex;}
+                               finally{EndCase(exp); exp = null;}
+                               break;
+               }
+
+               try
+               {
+                       BeginCase("Column int - value");
+                       Compare(obj.ToString(),"1");
+               } 
+               catch(Exception ex){exp = ex;}
+               finally{EndCase(exp); exp = null;}
+
+               try
+               {
+                       BeginCase("Column string - type");
+                       obj = rdr["ProductName"];
+                       Compare(obj.GetType().FullName , typeof(string).FullName);
+               } 
+               catch(Exception ex){exp = ex;}
+               finally{EndCase(exp); exp = null;}
+
+               try
+               {
+                       BeginCase("Column string - value");
+                       Compare(obj.ToString(),"Chai");
+               } 
+               catch(Exception ex){exp = ex;}
+               finally{EndCase(exp); exp = null;}
+
+               switch (ConnectedDataProvider.GetDbType(con)) 
+               {
+                       case DataBaseServer.DB2 :
+                               try
+                               {
+                                       BeginCase("Column Int16 - type");
+                                       obj = rdr["Discontinued"];
+                                       Compare(obj.GetType().FullName , typeof(Int16).FullName);
+                               } 
+                               catch(Exception ex){exp = ex;}
+                               finally{EndCase(exp); exp = null;}
+
+                               try
+                               {
+                                       BeginCase("Column Int16 - value");
+                                       Compare(obj.ToString(),"0");
+                               } 
+                               catch(Exception ex){exp = ex;}
+                               finally{EndCase(exp); exp = null;}
+                               break;
+                       case DataBaseServer.SQLServer :
+                               try
+                               {
+                                       BeginCase("Column bool - type");
+                                       obj = rdr["Discontinued"];
+                                       Compare(obj.GetType().FullName , typeof(bool).FullName);
+                               } 
+                               catch(Exception ex){exp = ex;}
+                               finally{EndCase(exp); exp = null;}
+
+                               try
+                               {
+                                       BeginCase("Column bool - value");
+                                       Compare(obj.ToString().ToUpper(),"FALSE");
+                               } 
+                               catch(Exception ex){exp = ex;}
+                               finally{EndCase(exp); exp = null;}
+                               break;
+                       case DataBaseServer.Oracle :
+                               //Column type is Decimal - already tested
+                               break;
+               }
+               if (con.State == ConnectionState.Open) con.Close();
+       }
+
+
+       //public TestClass():base(true){}
+
+       //Activate this constructor to log Failures to a log file
+       //public TestClass(System.IO.TextWriter tw):base(tw, false){}
+
+       //Activate this constructor to log All to a log file
+       //public TestClass(System.IO.TextWriter tw):base(tw, true){}
+
+       //BY DEFAULT LOGGING IS DONE TO THE STANDARD OUTPUT ONLY FOR FAILURES
+
+}
+
+}
\ No newline at end of file
diff --git a/mcs/class/System.Data.OracleClient/Test/System.Data.OracleClient.jvm/OracleDataReader/OracleDataReader_NextResult.cs b/mcs/class/System.Data.OracleClient/Test/System.Data.OracleClient.jvm/OracleDataReader/OracleDataReader_NextResult.cs
new file mode 100755 (executable)
index 0000000..ed913ea
--- /dev/null
@@ -0,0 +1,664 @@
+// 
+// Copyright (c) 2006 Mainsoft Co.
+// 
+// Permission is hereby granted, free of charge, to any person obtaining
+// a copy of this software and associated documentation files (the
+// "Software"), to deal in the Software without restriction, including
+// without limitation the rights to use, copy, modify, merge, publish,
+// distribute, sublicense, and/or sell copies of the Software, and to
+// permit persons to whom the Software is furnished to do so, subject to
+// the following conditions:
+// 
+// The above copyright notice and this permission notice shall be
+// included in all copies or substantial portions of the Software.
+// 
+// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
+// EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
+// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
+// NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
+// LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
+// OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
+// WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
+//
+
+using System;
+using System.Text;
+using System.Data;
+using System.Data.OracleClient ;
+
+using MonoTests.System.Data.Utils;
+
+
+using NUnit.Framework;
+
+namespace MonoTests.System.Data.OracleClient
+{
+       [TestFixture]
+       public class OracleDataReader_NextResult : ADONetTesterClass 
+       {
+               OracleConnection con = new OracleConnection(MonoTests.System.Data.Utils.ConnectedDataProvider.ConnectionString);
+               Exception exp = null;
+
+               [SetUp]
+               public void SetUp() {
+                       base.PrepareDataForTesting(MonoTests.System.Data.Utils.ConnectedDataProvider.ConnectionString);
+                       con.Open();
+               }
+
+               [TearDown]
+               public void TearDown() {
+                       if (con.State == ConnectionState.Open) con.Close();
+               }
+
+               public static void Main()
+               {
+                       OracleDataReader_NextResult tc = new OracleDataReader_NextResult();
+                       Exception exp = null;
+                       try
+                       {
+                               tc.BeginTest("OracleDataReader_NextResult");
+                               tc.run();
+                       }
+                       catch(Exception ex){exp = ex;}
+                       finally {tc.EndTest(exp);}
+               }
+
+               public void run()
+               {
+
+
+                       base.PrepareDataForTesting(MonoTests.System.Data.Utils.ConnectedDataProvider.ConnectionString);
+                       con.Open();
+
+                       TestMultipleResultSetsWithSP();
+                       TestMultipleResultSetsWithSQLText();
+
+                       if (con.State == ConnectionState.Open) con.Close();
+
+               }
+
+               [Test]
+               public void TestMultipleResultSetsWithSQLText()
+               {
+
+                       if (ConnectedDataProvider.GetDbType() == DataBaseServer.Oracle)
+                       {
+                               this.Log("Multiple result sets by sql text is not tested in oracle.");
+                               return;
+                       }
+
+                       if (ConnectedDataProvider.GetDbType() == DataBaseServer.DB2)
+                       {
+                               this.Log("Multiple result sets using compound statement not supported at DB2.");
+                               return;
+                       }
+
+                       bool NextResultExists = false;
+                       OracleDataReader rdr = null;
+                       OracleCommand cmd;
+                       int TblResult0=-1;
+                       int TblResult1=-1;
+                       int TblResult2=-1;
+                       try
+                       {
+                               BeginCase("Setup: Get expected results.");
+
+                               //get excpected results
+                               GetExcpectedResults(ref TblResult0, ref TblResult1, ref TblResult2);
+                               this.Pass("Setup: Get expected results ended.");
+                       }
+                       catch (Exception ex)
+                       {
+                               exp = ex;
+                       }
+                       finally
+                       {
+                               EndCase(exp);
+                       }
+
+
+                       string cmdTxt = BuildCommandText();
+                       cmd = new OracleCommand(cmdTxt, con);
+                       cmd.CommandType = CommandType.Text;
+                       rdr = cmd.ExecuteReader();
+                       // -------------- ResultSet  1 ------------
+                       try
+                       {
+                               exp = null;
+                               BeginCase("(Multiple Resultsets sql text) - Check if ResultSet 1 exists");
+                               Compare(rdr != null, true);
+                       }
+                       catch(Exception ex)
+                       {
+                               exp = ex;
+                       }
+                       finally 
+                       {
+                               EndCase(exp);
+                       }
+                       try
+                       {
+                               exp = null;
+                               BeginCase("(Multiple Resultsets sql text) - Check if ResultSet 1 contains data");
+                               NextResultExists = rdr.Read();
+                               Compare(NextResultExists, true);
+                       }
+                       catch(Exception ex)
+                       {
+                               exp = ex;
+                       }
+                       finally 
+                       {
+                               EndCase(exp);
+                       }
+                       int i = 1;
+                       try
+                       {
+                               exp = null;
+                               BeginCase("(Multiple Resultsets sql text) - Check ResultSet 1 Data");
+                               while (rdr.Read())
+                               {
+                                       i++;
+                               }
+                               Compare(i, TblResult0);
+                       }
+                       catch(Exception ex)
+                       {
+                               exp = ex;
+                       }
+                       finally 
+                       {
+                               EndCase(exp);
+                       }
+                       try
+                       {
+                               exp = null;
+                               BeginCase("(Multiple Resultsets sql text) - Check ResultSet 1 Schema");
+                               Compare(rdr.GetSchemaTable().Rows[0].ItemArray.GetValue(0).ToString().ToUpper(), "CUSTOMERID");
+                       }
+                       catch(Exception ex)
+                       {
+                               exp = ex;
+                       }
+                       finally 
+                       {
+                               EndCase(exp);
+                       }
+                       // -------------- ResultSet  2 ------------
+                       try
+                       {
+                               exp = null;
+                               BeginCase("(Multiple Resultsets sql text) - Check if ResultSet 2 exists");
+                               NextResultExists = rdr.NextResult();
+                               Compare(NextResultExists, true);
+                       }
+                       catch(Exception ex)
+                       {
+                               exp = ex;
+                       }
+                       finally 
+                       {
+                               EndCase(exp);
+                       }
+                       try
+                       {
+                               exp = null;
+                               BeginCase("(Multiple Resultsets sql text) - Check if ResultSet 2 contains data");
+                               NextResultExists = rdr.Read();
+                               Compare(NextResultExists, true);
+                       }
+                       catch(Exception ex)
+                       {
+                               exp = ex;
+                       }
+                       finally 
+                       {
+                               EndCase(exp);
+                       }
+                       try
+                       {
+                               exp = null;
+                               BeginCase("(Multiple Resultsets sql text) - Check ResultSet 2 Data");
+                               i = 1;
+                               while (rdr.Read())
+                               {
+                                       i++;
+                               }
+                               Compare(i, TblResult1);
+                       }
+                       catch(Exception ex)
+                       {
+                               exp = ex;
+                       }
+                       finally 
+                       {
+                               EndCase(exp);
+                       }
+                       try
+                       {
+                               exp = null;
+                               BeginCase("(Multiple Resultsets sql text) - Check ResultSet 2 Schema");
+                               Compare(rdr.GetSchemaTable().Rows[0].ItemArray.GetValue(0).ToString().ToUpper(), "CATEGORYID");
+                       }
+                       catch(Exception ex)
+                       {
+                               exp = ex;
+                       }
+                       // -------------- ResultSet  3 ------------
+                       finally 
+                       {
+                               EndCase(exp);
+                       }
+                       try
+                       {
+                               exp = null;
+                               BeginCase("(Multiple Resultsets sql text) - Check if ResultSet 3 exists");
+                               NextResultExists = rdr.NextResult();
+                               Compare(NextResultExists, true);
+                       }
+                       catch(Exception ex)
+                       {
+                               exp = ex;
+                       }
+                       finally 
+                       {
+                               EndCase(exp);
+                       }
+                       try
+                       {
+                               exp = null;
+                               BeginCase("(Multiple Resultsets sql text) - Check if ResultSet 3 contains data");
+                               NextResultExists = rdr.Read();
+                               Compare(NextResultExists, true);
+                       }
+                       catch(Exception ex)
+                       {
+                               exp = ex;
+                       }
+                       finally 
+                       {
+                               EndCase(exp);
+                       }
+                       try
+                       {
+                               exp = null;
+                               BeginCase("(Multiple Resultsets sql text) - Check ResultSet 3 Data");
+                               i = 1;
+                               while (rdr.Read())
+                               {
+                                       i++;
+                               }
+                               Compare(i, TblResult2);
+                       }
+                       catch(Exception ex)
+                       {
+                               exp = ex;
+                       }
+                       finally 
+                       {
+                               EndCase(exp);
+                       }
+                       try
+                       {
+                               exp = null;
+                               BeginCase("(Multiple Resultsets sql text) - Check ResultSet 3 Schema");
+                               Compare(rdr.GetSchemaTable().Rows[0].ItemArray.GetValue(0).ToString().ToUpper(), "REGIONID");
+                       }
+                       catch(Exception ex)
+                       {
+                               exp = ex;
+                       }
+                       finally 
+                       {
+                               EndCase(exp);
+                       }
+                       try
+                       {
+                               exp = null;
+                               BeginCase("(Multiple Resultsets sql text) - Check that resultset 4 does not exist.");
+                               NextResultExists = rdr.NextResult();
+                               Compare(NextResultExists, false);
+                       }
+                       catch(Exception ex)
+                       {
+                               exp = ex;
+                       }
+                       finally 
+                       {
+                               EndCase(exp);
+                       }
+                       try
+                       {
+                               exp = null;
+                               BeginCase("(Multiple Resultsets sql text) - Check that resultset 4 does not contain data.");
+                               NextResultExists = rdr.Read();
+                               Compare(NextResultExists, false);
+                       }
+                       catch(Exception ex)
+                       {
+                               exp = ex;
+                       }
+                       finally 
+                       {
+                               EndCase(exp);
+                       }
+                       if (!rdr.IsClosed)
+                               rdr.Close();
+               }
+
+               [Test]
+               public void TestMultipleResultSetsWithSP()
+               {
+#if !JAVA
+                       if (ConnectedDataProvider.GetDbType() == DataBaseServer.Oracle)
+                       {
+                               this.Log("Not testing Stored procedures with multiple ref-cursors on Oracle with .NET due to bug in .NET (only the first ref-cursor is retrived).");
+                               return;
+                       }
+
+                       if (ConnectedDataProvider.GetDbType(con) == DataBaseServer.PostgreSQL)
+                       {
+                               // fail to work on .NET OLEDB
+                               this.Log("Not testing PostgreSQL CommandType.StoredProcedure which return SETOF");
+                               return;
+                       }
+#endif
+                       
+                       bool NextResultExists = false;
+                       // transaction use was add for PostgreSQL
+                       OracleTransaction tr = con.BeginTransaction();
+                       OracleCommand cmd = new OracleCommand("GH_MULTIRECORDSETS", con, tr);
+                       cmd.Parameters.Add(new OracleParameter("RCT_Employees", OracleType.Cursor)).Direction = ParameterDirection.Output;
+                       cmd.Parameters.Add(new OracleParameter("RCT_Customers", OracleType.Cursor)).Direction = ParameterDirection.Output;
+                       cmd.Parameters.Add(new OracleParameter("RCT_Orders", OracleType.Cursor)).Direction = ParameterDirection.Output;
+                       cmd.CommandType = CommandType.StoredProcedure;
+                       OracleDataReader rdr = cmd.ExecuteReader();
+
+                       try
+                       {
+                               exp = null;
+                               BeginCase("(Multiple Resultsets stored proc.) - Check if ResultSet 1 exists");
+                               Compare(rdr != null, true);
+                       }
+                       catch(Exception ex)
+                       {
+                               exp = ex;
+                       }
+                       finally 
+                       {
+                               EndCase(exp);
+                       }
+                       try
+                       {
+                               exp = null;
+                               BeginCase("(Multiple Resultsets stored proc.) - Check if ResultSet 1 contains data");
+                               NextResultExists = rdr.Read();
+                               Compare(NextResultExists, true);
+                       }
+                       catch(Exception ex)
+                       {
+                               exp = ex;
+                       }
+                       finally 
+                       {
+                               EndCase(exp);
+                       }
+                       try
+                       {
+                               exp = null;
+                               BeginCase("(Multiple Resultsets stored proc.) - Check ResultSet 1 Data");
+                               Compare(rdr.GetValue(1).ToString(), "Yavine");
+                       }
+                       catch(Exception ex)
+                       {
+                               exp = ex;
+                       }
+                       finally 
+                       {
+                               EndCase(exp);
+                       }
+                       try
+                       {
+                               exp = null;
+                               BeginCase("(Multiple Resultsets stored proc.) - Check ResultSet 1 Schema");
+                               Compare(rdr.GetSchemaTable().Rows[0].ItemArray.GetValue(0).ToString().ToUpper(), "EMPLOYEEID");
+                       }
+                       catch(Exception ex)
+                       {
+                               exp = ex;
+                       }
+                       finally 
+                       {
+                               EndCase(exp);
+                       }
+
+                       
+                       // -------------- ResultSet  2 ------------
+                       try
+                       {
+                               exp = null;
+                               BeginCase("(Multiple Resultsets stored proc.) - Check if ResultSet 2 exists");
+                               NextResultExists = rdr.NextResult();
+                               Compare(NextResultExists, true);
+                       }
+                       catch(Exception ex)
+                       {
+                               exp = ex;
+                       }
+                       finally 
+                       {
+                               EndCase(exp);
+                       }
+                       try
+                       {
+                               exp = null;
+                               BeginCase("(Multiple Resultsets stored proc.) - Check if ResultSet 2 contains data");
+                               NextResultExists = rdr.Read();
+                               Compare(NextResultExists, true);
+                       }
+                       catch(Exception ex)
+                       {
+                               exp = ex;
+                       }
+                       finally 
+                       {
+                               EndCase(exp);
+                       }
+                       try
+                       {
+                               exp = null;
+                               BeginCase("(Multiple Resultsets stored proc.) - Check ResultSet 2 Data");
+                               Compare(rdr.GetValue(1).ToString(), "Morgenstern Gesundkost");
+                       }
+                       catch(Exception ex)
+                       {
+                               exp = ex;
+                       }
+                       finally 
+                       {
+                               EndCase(exp);
+                       }
+                       try
+                       {
+                               exp = null;
+                               BeginCase("(Multiple Resultsets stored proc.) - Check ResultSet 2 Schema");
+                               Compare(rdr.GetSchemaTable().Rows[0].ItemArray.GetValue(0).ToString().ToUpper(), "CUSTOMERID");
+                       }
+                       catch(Exception ex)
+                       {
+                               exp = ex;
+                       }
+                       finally 
+                       {
+                               EndCase(exp);
+                       }
+
+                       // -------------- ResultSet  3 ------------
+                       try
+                       {
+                               exp = null;
+                               BeginCase("(Multiple Resultsets stored proc.) - Check if ResultSet 3 exists");
+                               NextResultExists = rdr.NextResult();
+                               Compare(NextResultExists, true);
+                       }
+                       catch(Exception ex)
+                       {
+                               exp = ex;
+                       }
+                       finally 
+                       {
+                               EndCase(exp);
+                       }
+                       try
+                       {
+                               exp = null;
+                               BeginCase("(Multiple Resultsets stored proc.) - Check if ResultSet 3 contains data");
+                               NextResultExists = rdr.Read();
+                               Compare(NextResultExists, false);
+                       }
+                       catch(Exception ex)
+                       {
+                               exp = ex;
+                       }
+                       finally 
+                       {
+                               EndCase(exp);
+                       }
+                       try
+                       {
+                               exp = null;
+                               BeginCase("(Multiple Resultsets stored proc.) - Check ResultSet 3 Schema");
+                               Compare(rdr.GetSchemaTable().Rows[0].ItemArray.GetValue(0).ToString().ToUpper(), "ORDERID");
+                       }
+                       catch(Exception ex)
+                       {
+                               exp = ex;
+                       }
+                       finally 
+                       {
+                               EndCase(exp);
+                       }
+                       try
+                       {
+                               exp = null;
+                               BeginCase("(Multiple Resultsets stored proc.) - Check that resultset 4 does not exist.");
+                               NextResultExists = rdr.NextResult();
+                               Compare(NextResultExists, false);
+                       }
+                       catch(Exception ex)
+                       {
+                               exp = ex;
+                       }
+                       finally 
+                       {
+                               EndCase(exp);
+                       }
+                       try
+                       {
+                               exp = null;
+                               BeginCase("(Multiple Resultsets stored proc.) - Check that resultset 4 does not contain data.");
+                               NextResultExists = rdr.Read();
+                               Compare(NextResultExists, false);
+                       }
+                       catch(Exception ex)
+                       {
+                               exp = ex;
+                       }
+                       finally 
+                       {
+                               EndCase(exp);
+                       }
+
+                       //Cleanup:
+                       if (!rdr.IsClosed)
+                       {
+                               rdr.Close();
+                       }
+
+                       // transaction use was add for PostgreSQL
+                       tr.Commit();
+
+               }
+
+
+               #region "Private Utilities"
+               private string BuildCommandText()
+               {
+                       string beginStatement;
+                       string endStatement;
+                       string commandDelimiter;
+                       string[] commands = new string[] {"select * from Customers", "select * from Categories", "select * from Region"};
+
+                       GetDBSpecificSyntax(ConnectedDataProvider.GetDbType(), out beginStatement, out endStatement, out commandDelimiter);
+
+                       StringBuilder cmdBuilder = new StringBuilder();
+                       cmdBuilder.Append(beginStatement);
+                       cmdBuilder.Append(" ");
+                       foreach (string statement in commands)
+                       {
+                               cmdBuilder.Append(statement);
+                               cmdBuilder.Append(commandDelimiter);
+                               cmdBuilder.Append(" ");
+                       }
+                       cmdBuilder.Append(endStatement);
+
+                       return cmdBuilder.ToString();
+               }
+               private void GetDBSpecificSyntax(DataBaseServer dbServer, out string beginStatement, out string endStatement, out string commandDelimiter)
+               {
+                       switch (dbServer)
+                       {
+                               case DataBaseServer.SQLServer:
+                                       beginStatement = "BEGIN";
+                                       endStatement = "END";
+                                       commandDelimiter = ";";
+                                       break;
+                               case DataBaseServer.Sybase:
+                                       beginStatement = "BEGIN";
+                                       endStatement = "END";
+                                       commandDelimiter = "\r\n";
+                                       break;
+                               case DataBaseServer.Oracle:
+                                       beginStatement = "BEGIN";
+                                       endStatement = "END;";
+                                       commandDelimiter = ";";
+                                       break;
+
+                               case DataBaseServer.DB2:
+                                       {
+                                               beginStatement = "";
+                                               endStatement = "";
+                                       }
+                                       commandDelimiter = ";";
+                                       break;
+
+                               case DataBaseServer.PostgreSQL:
+                                       beginStatement = "";
+                                       endStatement = "";
+                                       commandDelimiter = ";";
+                                       break;
+
+                               default:
+                                       this.Fail("Unknown DataBaseServer type");
+                                       throw new ApplicationException("Unknown DataBaseServer type");
+                       }
+               }
+               private void GetExcpectedResults(ref int TblResult0, ref int TblResult1, ref int TblResult2)
+               {
+                       // get excpected results
+                       
+                       // transaction use was add for PostgreSQL
+                       OracleTransaction tr = con.BeginTransaction();
+                       OracleCommand cmd = new OracleCommand("", con,tr);
+                       cmd.CommandText = "Select count(*) from Customers";
+                       TblResult0 = Int32.Parse(cmd.ExecuteScalar().ToString());
+                       cmd.CommandText = "Select count(*) from Categories";
+                       TblResult1 = Int32.Parse(cmd.ExecuteScalar().ToString());
+                       cmd.CommandText = "Select count(*) from Region";
+                       TblResult2 = Int32.Parse(cmd.ExecuteScalar().ToString());
+                       tr.Commit();
+               }
+
+               #endregion
+       }
+}
\ No newline at end of file
diff --git a/mcs/class/System.Data.OracleClient/Test/System.Data.OracleClient.jvm/OracleDataReader/OracleDataReader_Read.cs b/mcs/class/System.Data.OracleClient/Test/System.Data.OracleClient.jvm/OracleDataReader/OracleDataReader_Read.cs
new file mode 100755 (executable)
index 0000000..c2bfa8b
--- /dev/null
@@ -0,0 +1,150 @@
+// 
+// Copyright (c) 2006 Mainsoft Co.
+// 
+// Permission is hereby granted, free of charge, to any person obtaining
+// a copy of this software and associated documentation files (the
+// "Software"), to deal in the Software without restriction, including
+// without limitation the rights to use, copy, modify, merge, publish,
+// distribute, sublicense, and/or sell copies of the Software, and to
+// permit persons to whom the Software is furnished to do so, subject to
+// the following conditions:
+// 
+// The above copyright notice and this permission notice shall be
+// included in all copies or substantial portions of the Software.
+// 
+// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
+// EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
+// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
+// NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
+// LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
+// OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
+// WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
+//
+
+using System;
+using System.Data;
+using System.Data.OracleClient;
+
+using MonoTests.System.Data.Utils;
+
+
+using NUnit.Framework;
+
+namespace MonoTests.System.Data.OracleClient
+{
+       [TestFixture]
+       public class OracleDataReader_Read : ADONetTesterClass 
+       {
+               OracleConnection con;
+               OracleCommand cmd;
+
+               [SetUp]
+               public void SetUp()
+               {
+                       Exception exp = null;
+                       BeginCase("Setup");
+                       try
+                       {
+                               //prepare data
+                               base.PrepareDataForTesting(MonoTests.System.Data.Utils.ConnectedDataProvider.ConnectionString);
+
+                               con = new OracleConnection(MonoTests.System.Data.Utils.ConnectedDataProvider.ConnectionString);
+                               cmd = new OracleCommand("", con);
+                               con.Open();
+                       }
+                       catch(Exception ex)     {exp = ex;}
+                       finally {EndCase(exp); exp = null;}
+               }
+
+               [TearDown]
+               public void TearDown()
+               {
+                       if (con != null && con.State != ConnectionState.Closed)
+                               con.Close();
+               }
+
+               public static void Main()
+               {
+                       OracleDataReader_Read tc = new OracleDataReader_Read();
+                       Exception exp = null;
+                       try
+                       {
+                               tc.BeginTest("OracleDataReader_Read");
+                               tc.SetUp();
+                               tc.run();
+                               tc.TearDown();
+                       }
+                       catch(Exception ex){exp = ex;}
+                       finally {tc.EndTest(exp);}
+               }
+
+               [Test]
+               public void run()
+               {
+                       Exception exp = null;
+
+                       cmd.CommandText = "Select EmployeeID, LastName, FirstName, Title, BirthDate From Employees where EmployeeID in (100,200) order by EmployeeID asc";
+                       OracleDataReader rdr = cmd.ExecuteReader();
+
+                       try
+                       {
+                               BeginCase("first row");
+                               bool read = rdr.Read();
+                               Compare(read, true);
+                       } 
+                       catch(Exception ex){exp = ex;}
+                       finally{EndCase(exp); exp = null;}
+
+
+                       try
+                       {
+                               BeginCase("first row - value");
+                               object obj = rdr.GetValue(0);
+                               Compare(obj.ToString(), "100");
+                       } 
+                       catch(Exception ex){exp = ex;}
+                       finally{EndCase(exp); exp = null;}
+
+
+                       try
+                       {
+                               BeginCase("Second row");
+                               bool read = rdr.Read();
+                               Compare(read, true);
+                       } 
+                       catch(Exception ex){exp = ex;}
+                       finally{EndCase(exp); exp = null;}
+
+                       try
+                       {
+                               BeginCase("Second row - value");
+                               object obj = rdr.GetValue(0);
+                               Compare(obj.ToString(), "200");
+                       } 
+                       catch(Exception ex){exp = ex;}
+                       finally{EndCase(exp); exp = null;}
+
+                       try
+                       {
+                               BeginCase("End of data");
+                               bool read = rdr.Read();
+                               Compare(read, false);
+                               rdr.Close();
+                       } 
+                       catch(Exception ex){exp = ex;}
+                       finally{EndCase(exp); exp = null;}
+
+                       try
+                       {
+                               BeginCase("Read return false");
+                               cmd.CommandText= "select * from Orders where OrderID=-909";
+                               rdr = cmd.ExecuteReader();
+                               Compare(rdr.Read(),false);
+                               rdr.Close();
+                       } 
+                       catch(Exception ex){exp = ex;}
+                       finally{EndCase(exp); exp = null;}
+
+               }
+       }
+}
\ No newline at end of file
diff --git a/mcs/class/System.Data.OracleClient/Test/System.Data.OracleClient.jvm/OracleDataReader/OracleDataReader_RecordsAffected.cs b/mcs/class/System.Data.OracleClient/Test/System.Data.OracleClient.jvm/OracleDataReader/OracleDataReader_RecordsAffected.cs
new file mode 100755 (executable)
index 0000000..01ce6de
--- /dev/null
@@ -0,0 +1,79 @@
+// 
+// Copyright (c) 2006 Mainsoft Co.
+// 
+// Permission is hereby granted, free of charge, to any person obtaining
+// a copy of this software and associated documentation files (the
+// "Software"), to deal in the Software without restriction, including
+// without limitation the rights to use, copy, modify, merge, publish,
+// distribute, sublicense, and/or sell copies of the Software, and to
+// permit persons to whom the Software is furnished to do so, subject to
+// the following conditions:
+// 
+// The above copyright notice and this permission notice shall be
+// included in all copies or substantial portions of the Software.
+// 
+// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
+// EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
+// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
+// NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
+// LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
+// OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
+// WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
+//
+
+using System;
+using System.Data;
+using System.Data.OracleClient;
+
+using MonoTests.System.Data.Utils;
+
+
+using NUnit.Framework;
+
+namespace MonoTests.System.Data.OracleClient
+{
+       [TestFixture]
+       public class OracleDataReader_RecordsAffected  : ADONetTesterClass 
+       {
+               public static void Main()
+               {
+                       OracleDataReader_RecordsAffected tc = new OracleDataReader_RecordsAffected();
+                       Exception exp = null;
+                       try
+                       {
+                               tc.BeginTest("RecordsAffected");
+                               tc.run();
+                       }
+                       catch(Exception ex){exp = ex;}
+                       finally {tc.EndTest(exp);}
+               }
+
+               [Test]
+               public void run()
+               {
+                       Exception exp = null;
+
+                       //prepare data
+                       base.PrepareDataForTesting(MonoTests.System.Data.Utils.ConnectedDataProvider.ConnectionString);
+
+                       int intRecordsAffected = 0;
+                       OracleConnection con = new OracleConnection(MonoTests.System.Data.Utils.ConnectedDataProvider.ConnectionString);
+                       con.Open();
+                       OracleCommand cmd = new OracleCommand("Update Employees set Title = 'title' where EmployeeID = 100", con);
+                       OracleDataReader rdr = cmd.ExecuteReader();
+                       rdr.Read();
+                       intRecordsAffected = rdr.RecordsAffected;
+
+                       try
+                       {
+                               BeginCase("RecordsAffected");
+                               Compare(intRecordsAffected,1 );
+                       } 
+                       catch(Exception ex){exp = ex;}
+                       finally{EndCase(exp); exp = null;}
+
+                       if (con.State == ConnectionState.Open) con.Close();
+               }
+       }
+}
+
diff --git a/mcs/class/System.Data.OracleClient/Test/System.Data.OracleClient.jvm/OracleDataReader/OracleDataReader_ctor.cs b/mcs/class/System.Data.OracleClient/Test/System.Data.OracleClient.jvm/OracleDataReader/OracleDataReader_ctor.cs
new file mode 100755 (executable)
index 0000000..e1c09c5
--- /dev/null
@@ -0,0 +1,83 @@
+// 
+// Copyright (c) 2006 Mainsoft Co.
+// 
+// Permission is hereby granted, free of charge, to any person obtaining
+// a copy of this software and associated documentation files (the
+// "Software"), to deal in the Software without restriction, including
+// without limitation the rights to use, copy, modify, merge, publish,
+// distribute, sublicense, and/or sell copies of the Software, and to
+// permit persons to whom the Software is furnished to do so, subject to
+// the following conditions:
+// 
+// The above copyright notice and this permission notice shall be
+// included in all copies or substantial portions of the Software.
+// 
+// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
+// EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
+// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
+// NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
+// LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
+// OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
+// WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
+//
+
+using System;
+using System.Data;
+using System.Data.OracleClient;
+
+using MonoTests.System.Data.Utils;
+
+
+using NUnit.Framework;
+
+namespace MonoTests.System.Data.OracleClient
+{
+[TestFixture]
+public class OracleDataReader_ctor : GHTBase
+{
+       public static void Main()
+       {
+               OracleDataReader_ctor tc = new OracleDataReader_ctor();
+               Exception exp = null;
+               try
+               {
+                       tc.BeginTest("OracleDataReader_ctor");
+                       tc.run();
+               }
+               catch(Exception ex){exp = ex;}
+               finally {tc.EndTest(exp);}
+       }
+
+       [Test]
+#if !TARGET_JVM
+       [Category("NotWorking")]
+#endif
+       public void run()
+       {
+               Exception exp = null;
+               OracleConnection con = new OracleConnection(MonoTests.System.Data.Utils.ConnectedDataProvider.ConnectionString);
+               con.Open();
+               OracleCommand cmd = new OracleCommand("Select * From Orders", con);
+               OracleDataReader rdr = cmd.ExecuteReader();
+
+               //change a connection's state without closing the datareader (should fail
+               try
+               {
+                       BeginCase("InvalidOperationException");
+                       try
+                       {
+                               ((IDbConnection)con).ChangeDatabase("msdb");
+                               ExpectedExceptionNotCaught(typeof(InvalidOperationException).FullName);
+                       }
+                       catch (InvalidOperationException ex) 
+                       {
+                               ExpectedExceptionCaught(ex);
+                       }
+               } 
+               catch(Exception ex){exp = ex;}
+               finally{EndCase(exp); exp = null;}
+
+               if (con.State == ConnectionState.Open) con.Close();
+       }
+}
+}
\ No newline at end of file
diff --git a/mcs/class/System.Data.OracleClient/Test/System.Data.OracleClient.jvm/OracleParameter/OracleParameter_ctor.cs b/mcs/class/System.Data.OracleClient/Test/System.Data.OracleClient.jvm/OracleParameter/OracleParameter_ctor.cs
new file mode 100755 (executable)
index 0000000..facbb97
--- /dev/null
@@ -0,0 +1,79 @@
+// 
+// Copyright (c) 2006 Mainsoft Co.
+// 
+// Permission is hereby granted, free of charge, to any person obtaining
+// a copy of this software and associated documentation files (the
+// "Software"), to deal in the Software without restriction, including
+// without limitation the rights to use, copy, modify, merge, publish,
+// distribute, sublicense, and/or sell copies of the Software, and to
+// permit persons to whom the Software is furnished to do so, subject to
+// the following conditions:
+// 
+// The above copyright notice and this permission notice shall be
+// included in all copies or substantial portions of the Software.
+// 
+// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
+// EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
+// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
+// NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
+// LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
+// OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
+// WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
+//
+
+using System;
+using System.Data;
+using System.Data.OracleClient;
+
+using MonoTests.System.Data.Utils;
+
+
+using NUnit.Framework;
+
+namespace MonoTests.System.Data.OracleClient
+{
+[TestFixture]
+public class OracleParameter_ctor : GHTBase
+{
+       public static void Main()
+       {
+               OracleParameter_ctor tc = new OracleParameter_ctor();
+               Exception exp = null;
+               try
+               {
+                       tc.BeginTest("OracleParameter_ctor");
+                       tc.run();
+               }
+               catch(Exception ex){exp = ex;}
+               finally {tc.EndTest(exp);}
+       }
+
+       [Test]
+       public void run()
+       {
+               Exception exp = null;
+
+               OracleParameter param = new OracleParameter();
+
+               try
+               {
+                       BeginCase("ctor");
+                       Compare(param != null, true);
+               } 
+               catch(Exception ex){exp = ex;}
+               finally{EndCase(exp); exp = null;}
+       }
+
+
+       //public TestClass():base(true){}
+
+       //Activate this constructor to log Failures to a log file
+       //public TestClass(System.IO.TextWriter tw):base(tw, false){}
+
+       //Activate this constructor to log All to a log file
+       //public TestClass(System.IO.TextWriter tw):base(tw, true){}
+
+       //BY DEFAULT LOGGING IS DONE TO THE STANDARD OUTPUT ONLY FOR FAILURES
+
+}
+}
\ No newline at end of file
diff --git a/mcs/class/System.Data.OracleClient/Test/System.Data.OracleClient.jvm/OracleParameter/OracleParameter_ctor_SO.cs b/mcs/class/System.Data.OracleClient/Test/System.Data.OracleClient.jvm/OracleParameter/OracleParameter_ctor_SO.cs
new file mode 100755 (executable)
index 0000000..5525006
--- /dev/null
@@ -0,0 +1,95 @@
+// 
+// Copyright (c) 2006 Mainsoft Co.
+// 
+// Permission is hereby granted, free of charge, to any person obtaining
+// a copy of this software and associated documentation files (the
+// "Software"), to deal in the Software without restriction, including
+// without limitation the rights to use, copy, modify, merge, publish,
+// distribute, sublicense, and/or sell copies of the Software, and to
+// permit persons to whom the Software is furnished to do so, subject to
+// the following conditions:
+// 
+// The above copyright notice and this permission notice shall be
+// included in all copies or substantial portions of the Software.
+// 
+// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
+// EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
+// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
+// NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
+// LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
+// OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
+// WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
+//
+
+using System;
+using System.Data;
+using System.Data.OracleClient;
+
+using MonoTests.System.Data.Utils;
+
+
+using NUnit.Framework;
+
+namespace MonoTests.System.Data.OracleClient
+{
+[TestFixture]
+public class OracleParameter_ctor_SO : GHTBase
+{
+       public static void Main()
+       {
+               OracleParameter_ctor_SO tc = new OracleParameter_ctor_SO();
+               Exception exp = null;
+               try
+               {
+                       tc.BeginTest("OracleParameter_ctor_SO");
+                       tc.run();
+               }
+               catch(Exception ex){exp = ex;}
+               finally {tc.EndTest(exp);}
+       }
+
+       [Test]
+       public void run()
+       {
+               Exception exp = null;
+
+               OracleParameter param = new OracleParameter("myParam",10);
+
+               try
+               {
+                       BeginCase("ctor");
+                       Compare(param != null, true);
+               } 
+               catch(Exception ex){exp = ex;}
+               finally{EndCase(exp); exp = null;}
+
+               try
+               {
+                       BeginCase("name");
+                       Compare(param.ParameterName ,"myParam");
+               } 
+               catch(Exception ex){exp = ex;}
+               finally{EndCase(exp); exp = null;}
+
+               try
+               {
+                       BeginCase("value");
+                       Compare(param.Value, 10);
+               } 
+               catch(Exception ex){exp = ex;}
+               finally{EndCase(exp); exp = null;}
+       }
+
+
+       //public TestClass():base(true){}
+
+       //Activate this constructor to log Failures to a log file
+       //public TestClass(System.IO.TextWriter tw):base(tw, false){}
+
+       //Activate this constructor to log All to a log file
+       //public TestClass(System.IO.TextWriter tw):base(tw, true){}
+
+       //BY DEFAULT LOGGING IS DONE TO THE STANDARD OUTPUT ONLY FOR FAILURES
+
+}
+}
\ No newline at end of file
diff --git a/mcs/class/System.Data.OracleClient/Test/System.Data.OracleClient.jvm/OracleParameter/OracleParameter_ctor_SOIPBBBSDO.cs b/mcs/class/System.Data.OracleClient/Test/System.Data.OracleClient.jvm/OracleParameter/OracleParameter_ctor_SOIPBBBSDO.cs
new file mode 100755 (executable)
index 0000000..19a3be5
--- /dev/null
@@ -0,0 +1,151 @@
+// 
+// Copyright (c) 2006 Mainsoft Co.
+// 
+// Permission is hereby granted, free of charge, to any person obtaining
+// a copy of this software and associated documentation files (the
+// "Software"), to deal in the Software without restriction, including
+// without limitation the rights to use, copy, modify, merge, publish,
+// distribute, sublicense, and/or sell copies of the Software, and to
+// permit persons to whom the Software is furnished to do so, subject to
+// the following conditions:
+// 
+// The above copyright notice and this permission notice shall be
+// included in all copies or substantial portions of the Software.
+// 
+// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
+// EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
+// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
+// NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
+// LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
+// OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
+// WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
+//
+
+using System;
+using System.Data;
+using System.Data.OracleClient;
+
+using MonoTests.System.Data.Utils;
+
+
+using NUnit.Framework;
+
+namespace MonoTests.System.Data.OracleClient
+{
+[TestFixture]
+public class OracleParameter_ctor_SOIPBBBSDO : GHTBase
+{
+       public static void Main()
+       {
+               OracleParameter_ctor_SOIPBBBSDO tc = new OracleParameter_ctor_SOIPBBBSDO();
+               Exception exp = null;
+               try
+               {
+                       tc.BeginTest("OracleParameter_ctor_SOIPBBBSDO");
+                       tc.run();
+               }
+               catch(Exception ex){exp = ex;}
+               finally {tc.EndTest(exp);}
+       }
+
+       [Test]
+       public void run()
+       {
+               Exception exp = null;
+
+               OracleParameter param = new OracleParameter("myParam",          //param name
+                                                                                               OracleType.Double,      //type
+                                                                                               5,                                      //size
+                                                                                               ParameterDirection.Input, //direction
+                                                                                               true,                           //nillbale
+                                                                                               1,                                      //precision 
+                                                                                               1,                                      //scale 
+                                                                                               "Column1",                      //source column
+                                                                                               DataRowVersion.Current, //datarow version
+                                                                                               590.456);                       //value
+               try
+               {
+                       BeginCase("ParameterName");
+                       Compare(param.ParameterName , "myParam");
+               } 
+               catch(Exception ex){exp = ex;}
+               finally{EndCase(exp); exp = null;}
+
+               try
+               {
+                       BeginCase("OracleType");
+                       Compare(param.OracleType ,OracleType.Double );
+               } 
+               catch(Exception ex){exp = ex;}
+               finally{EndCase(exp); exp = null;}
+               try
+               {
+                       BeginCase("Size");
+                       Compare(param.Size  , 5);
+               } 
+               catch(Exception ex){exp = ex;}
+               finally{EndCase(exp); exp = null;}
+               try
+               {
+                       BeginCase("ParameterDirection");
+                       Compare(param.Direction  , ParameterDirection.Input );
+               } 
+               catch(Exception ex){exp = ex;}
+               finally{EndCase(exp); exp = null;}
+               try
+               {
+                       BeginCase("IsNullable");
+                       Compare(param.IsNullable , true);
+               } 
+               catch(Exception ex){exp = ex;}
+               finally{EndCase(exp); exp = null;}
+               try
+               {
+                       BeginCase("Precision");
+                       Compare(param.Precision , (byte)1);
+               } 
+               catch(Exception ex){exp = ex;}
+               finally{EndCase(exp); exp = null;}
+               try
+               {
+                       BeginCase("Scale");
+                       Compare(param.Scale  , (byte)1);
+               } 
+               catch(Exception ex){exp = ex;}
+               finally{EndCase(exp); exp = null;}
+               try
+               {
+                       BeginCase("SourceColumn");
+                       Compare(param.SourceColumn  ,"Column1");
+               } 
+               catch(Exception ex){exp = ex;}
+               finally{EndCase(exp); exp = null;}
+               try
+               {
+                       BeginCase("SourceVersion");
+                       Compare(param.SourceVersion ,DataRowVersion.Current );
+               } 
+               catch(Exception ex){exp = ex;}
+               finally{EndCase(exp); exp = null;}
+               try
+               {
+                       BeginCase("Value");
+                       Compare(param.Value  ,590.456);
+               } 
+               catch(Exception ex){exp = ex;}
+               finally{EndCase(exp); exp = null;}
+       }
+
+
+       //public TestClass():base(true){}
+
+       //Activate this constructor to log Failures to a log file
+       //public TestClass(System.IO.TextWriter tw):base(tw, false){}
+
+       //Activate this constructor to log All to a log file
+       //public TestClass(System.IO.TextWriter tw):base(tw, true){}
+
+       //BY DEFAULT LOGGING IS DONE TO THE STANDARD OUTPUT ONLY FOR FAILURES
+
+}
+}
\ No newline at end of file
diff --git a/mcs/class/System.Data.OracleClient/Test/System.Data.OracleClient.jvm/OracleParameter/OracleParameter_ctor_SOtype.cs b/mcs/class/System.Data.OracleClient/Test/System.Data.OracleClient.jvm/OracleParameter/OracleParameter_ctor_SOtype.cs
new file mode 100755 (executable)
index 0000000..65478f4
--- /dev/null
@@ -0,0 +1,189 @@
+// 
+// Copyright (c) 2006 Mainsoft Co.
+// 
+// Permission is hereby granted, free of charge, to any person obtaining
+// a copy of this software and associated documentation files (the
+// "Software"), to deal in the Software without restriction, including
+// without limitation the rights to use, copy, modify, merge, publish,
+// distribute, sublicense, and/or sell copies of the Software, and to
+// permit persons to whom the Software is furnished to do so, subject to
+// the following conditions:
+// 
+// The above copyright notice and this permission notice shall be
+// included in all copies or substantial portions of the Software.
+// 
+// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
+// EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
+// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
+// NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
+// LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
+// OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
+// WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
+//
+
+using System;
+using System.Data;
+using System.Data.OracleClient;
+
+using MonoTests.System.Data.Utils;
+
+
+using NUnit.Framework;
+
+#if DAAB
+using Microsoft.ApplicationBlocks;
+#endif
+namespace MonoTests.System.Data.OracleClient
+{
+[TestFixture]
+public class OracleParameter_ctor_SOtype : ADONetTesterClass
+{
+       private Exception exp;
+       // transaction use was add for PostgreSQL
+       OracleTransaction tr;
+
+       public static void Main()
+       {
+               OracleParameter_ctor_SOtype tc = new OracleParameter_ctor_SOtype();
+               tc.exp = null;
+               try
+               {
+                       tc.BeginTest("OracleParameter_ctor_SOtype on " + ConnectedDataProvider.GetDbType().ToString());
+                       tc.run();
+               }
+               catch(Exception ex){tc.exp = ex;}
+               finally {tc.EndTest(tc.exp);}
+       }
+
+       public void run()
+       {
+               Log(string.Format("DB Server={0}.", ConnectedDataProvider.GetDbType()));
+               AllTypes();
+               SimpleTypesWithDBNull();
+       }
+
+       [Test]
+       public void AllTypes()
+       {
+               exp = null;
+               OracleParameter param = null;
+
+               foreach (OracleType dbtype in Enum.GetValues(typeof(OracleType)))
+               {
+
+                       param = new OracleParameter("myParam",dbtype);
+
+                       try
+                       {
+                               BeginCase("ctor " + dbtype.ToString());
+                               Compare(param != null, true);
+                       } 
+                       catch(Exception ex){exp = ex;}
+                       finally{EndCase(exp); exp = null;}
+
+                       try
+                       {
+                               BeginCase("name " + dbtype.ToString());
+                               Compare(param.ParameterName ,"myParam");
+                       } 
+                       catch(Exception ex){exp = ex;}
+                       finally{EndCase(exp); exp = null;}
+
+               }
+       }
+
+       [Test]
+#if !TARGET_JVM
+       [Category("NotWorking")]
+#endif
+       public void SimpleTypesWithDBNull()
+       {
+               OracleConnection con=null;
+               OracleCommand cmd=null;
+               OracleDataReader rdr=null;
+               try
+               {
+                       exp = null;
+                       BeginCase("Test simple types with DBNull");
+
+                       string connectionString = ConnectedDataProvider.ConnectionString;
+                       con = new       OracleConnection(connectionString);
+                       cmd = new OracleCommand();
+                       con.Open();
+                       // transaction use was add for PostgreSQL
+                       tr = con.BeginTransaction();
+                       
+                       cmd = new OracleCommand("", con, tr);
+                       cmd.CommandText = "GHSP_TYPES_SIMPLE_1";
+                       cmd.CommandType = CommandType.StoredProcedure;
+
+                       AddSimpleTypesNullParams(cmd);
+                       cmd.Parameters.Add(new OracleParameter("result",OracleType.Cursor)).Direction = ParameterDirection.Output;
+
+#if !JAVA
+                       if (ConnectedDataProvider.GetDbType(con) == DataBaseServer.PostgreSQL)
+                       {
+#if DAAB
+
+                               rdr = Microsoft.ApplicationBlocks.Data.PostgresOracleHelper.OLEDB4ODBCExecuteReader(cmd,true);
+#endif
+
+                       }
+                       else
+#endif
+                       {
+
+                               rdr = cmd.ExecuteReader();
+                       }
+
+                       rdr.Read();
+                       for (int i=0; i<rdr.FieldCount; i++)
+                       {
+                               Compare(DBNull.Value, rdr.GetValue(i));
+                       }
+                       rdr.Close();
+               }
+               catch (Exception ex)
+               {
+                       exp = ex;
+               }
+               finally
+               {
+                       EndCase(exp);
+                       if(rdr != null && !rdr.IsClosed)
+                       {
+                               rdr.Close();
+                       }
+                       if (con != null && con.State == ConnectionState.Open)
+                       {
+                               con.Close();
+                       }
+                       exp=null;
+               }
+       }
+
+       private void AddSimpleTypesNullParams(OracleCommand cmd)
+       {
+               OracleParameter tmpParam;
+               tmpParam = new OracleParameter("NUMBER", OracleType.Number);
+               cmd.Parameters.Add(tmpParam);
+               tmpParam = new OracleParameter("LONG", OracleType.LongVarChar);
+               cmd.Parameters.Add(tmpParam);
+               tmpParam = new OracleParameter("FLOAT", OracleType.Float);
+               cmd.Parameters.Add(tmpParam);
+               tmpParam = new OracleParameter("VARCHAR", OracleType.VarChar);
+               cmd.Parameters.Add(tmpParam);
+               tmpParam = new OracleParameter("NVARCHAR", OracleType.NVarChar);
+               cmd.Parameters.Add(tmpParam);
+               tmpParam = new OracleParameter("CHAR", OracleType.Char);
+               cmd.Parameters.Add(tmpParam);
+               tmpParam = new OracleParameter("NCHAR", OracleType.NChar);
+               cmd.Parameters.Add(tmpParam);
+
+               foreach (OracleParameter current in cmd.Parameters)
+               {
+                       current.Value = DBNull.Value;
+               }
+       }
+}
+}
\ No newline at end of file
diff --git a/mcs/class/System.Data.OracleClient/Test/System.Data.OracleClient.jvm/OracleParameter/OracleParameter_ctor_SOtypeI.cs b/mcs/class/System.Data.OracleClient/Test/System.Data.OracleClient.jvm/OracleParameter/OracleParameter_ctor_SOtypeI.cs
new file mode 100755 (executable)
index 0000000..24177c7
--- /dev/null
@@ -0,0 +1,115 @@
+// 
+// Copyright (c) 2006 Mainsoft Co.
+// 
+// Permission is hereby granted, free of charge, to any person obtaining
+// a copy of this software and associated documentation files (the
+// "Software"), to deal in the Software without restriction, including
+// without limitation the rights to use, copy, modify, merge, publish,
+// distribute, sublicense, and/or sell copies of the Software, and to
+// permit persons to whom the Software is furnished to do so, subject to
+// the following conditions:
+// 
+// The above copyright notice and this permission notice shall be
+// included in all copies or substantial portions of the Software.
+// 
+// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
+// EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
+// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
+// NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
+// LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
+// OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
+// WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
+//
+
+using System;
+using System.Data;
+using System.Data.OracleClient;
+
+using MonoTests.System.Data.Utils;
+
+
+using NUnit.Framework;
+
+namespace MonoTests.System.Data.OracleClient
+{
+[TestFixture]
+public class OracleParameter_ctor_SOtypeI : GHTBase
+{
+       public static void Main()
+       {
+               OracleParameter_ctor_SOtypeI tc = new OracleParameter_ctor_SOtypeI();
+               Exception exp = null;
+               try
+               {
+                       tc.BeginTest("OracleParameter_ctor_SOtypeI");
+                       tc.run();
+               }
+               catch(Exception ex){exp = ex;}
+               finally {tc.EndTest(exp);}
+       }
+
+       [Test]
+       public void run()
+       {
+               Exception exp = null;
+               OracleParameter param = null;
+
+               foreach (OracleType dbtype in Enum.GetValues(typeof(OracleType)))
+               {
+
+                       param = new OracleParameter("myParam",dbtype,5);
+
+                       try
+                       {
+                               BeginCase("ctor " + dbtype.ToString());
+                               Compare(param != null, true);
+                       } 
+                       catch(Exception ex){exp = ex;}
+                       finally{EndCase(exp); exp = null;}
+
+                       try
+                       {
+                               BeginCase("name " + dbtype.ToString());
+                               Compare(param.ParameterName ,"myParam");
+                       } 
+                       catch(Exception ex){exp = ex;}
+                       finally{EndCase(exp); exp = null;}
+
+                       try
+                       {
+                               BeginCase("size " + dbtype.ToString());
+                               Compare(param.Size ,5);
+                       } 
+                       catch(Exception ex){exp = ex;}
+                       finally{EndCase(exp); exp = null;}
+               }
+
+               try
+               {
+                       BeginCase("ctor - illegal size ");
+                       try
+                       {
+                               param = new OracleParameter("myParam",OracleType.Int32 ,-5);
+                       }
+                       catch (Exception ex) {exp = ex;}
+                       Compare(exp.GetType().FullName , typeof(ArgumentException).FullName );
+                       exp=null;
+               } 
+               catch(Exception ex){exp = ex;}
+               finally{EndCase(exp); exp = null;}
+
+       }
+
+
+       //public TestClass():base(true){}
+
+       //Activate this constructor to log Failures to a log file
+       //public TestClass(System.IO.TextWriter tw):base(tw, false){}
+
+       //Activate this constructor to log All to a log file
+       //public TestClass(System.IO.TextWriter tw):base(tw, true){}
+
+       //BY DEFAULT LOGGING IS DONE TO THE STANDARD OUTPUT ONLY FOR FAILURES
+
+}
+}
\ No newline at end of file
diff --git a/mcs/class/System.Data.OracleClient/Test/System.Data.OracleClient.jvm/OracleParameter/OracleParameter_ctor_SOtype_IS.cs b/mcs/class/System.Data.OracleClient/Test/System.Data.OracleClient.jvm/OracleParameter/OracleParameter_ctor_SOtype_IS.cs
new file mode 100755 (executable)
index 0000000..2f4a066
--- /dev/null
@@ -0,0 +1,105 @@
+// 
+// Copyright (c) 2006 Mainsoft Co.
+// 
+// Permission is hereby granted, free of charge, to any person obtaining
+// a copy of this software and associated documentation files (the
+// "Software"), to deal in the Software without restriction, including
+// without limitation the rights to use, copy, modify, merge, publish,
+// distribute, sublicense, and/or sell copies of the Software, and to
+// permit persons to whom the Software is furnished to do so, subject to
+// the following conditions:
+// 
+// The above copyright notice and this permission notice shall be
+// included in all copies or substantial portions of the Software.
+// 
+// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
+// EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
+// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
+// NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
+// LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
+// OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
+// WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
+//
+
+using System;
+using System.Data;
+using System.Data.OracleClient;
+
+using MonoTests.System.Data.Utils;
+
+
+using NUnit.Framework;
+
+namespace MonoTests.System.Data.OracleClient
+{
+[TestFixture]
+public class OracleParameter_ctor_SOtype_IS : GHTBase
+{
+       public static void Main()
+       {
+               OracleParameter_ctor_SOtype_IS tc = new OracleParameter_ctor_SOtype_IS();
+               Exception exp = null;
+               try
+               {
+                       tc.BeginTest("OracleParameter_ctor_SOtypeIS");
+                       tc.run();
+               }
+               catch(Exception ex){exp = ex;}
+               finally {tc.EndTest(exp);}
+       }
+
+       [Test]
+       public void run()
+       {
+               Exception exp = null;
+               OracleParameter param = null;
+
+               param = new OracleParameter("myParam",OracleType.Int32 ,5,"myColumn");
+
+               try
+               {
+                       BeginCase("ctor ");
+                       Compare(param != null, true);
+               } 
+               catch(Exception ex){exp = ex;}
+               finally{EndCase(exp); exp = null;}
+
+               try
+               {
+                       BeginCase("name ");
+                       Compare(param.ParameterName ,"myParam");
+               } 
+               catch(Exception ex){exp = ex;}
+               finally{EndCase(exp); exp = null;}
+
+               try
+               {
+                       BeginCase("size ");
+                       Compare(param.Size ,5);
+               } 
+               catch(Exception ex){exp = ex;}
+               finally{EndCase(exp); exp = null;}
+
+               try
+               {
+                       BeginCase("size ");
+                       Compare(param.SourceColumn  ,"myColumn");
+               } 
+               catch(Exception ex){exp = ex;}
+               finally{EndCase(exp); exp = null;}
+       }
+}
+
+
+       //public TestClass():base(true){}
+
+       //Activate this constructor to log Failures to a log file
+       //public TestClass(System.IO.TextWriter tw):base(tw, false){}
+
+       //Activate this constructor to log All to a log file
+       //public TestClass(System.IO.TextWriter tw):base(tw, true){}
+
+       //BY DEFAULT LOGGING IS DONE TO THE STANDARD OUTPUT ONLY FOR FAILURES
+
+
+}
\ No newline at end of file
diff --git a/mcs/class/System.Data.OracleClient/Test/System.Data.OracleClient.jvm/OracleParameterCollection/OracleParameterCollection_Add.cs b/mcs/class/System.Data.OracleClient/Test/System.Data.OracleClient.jvm/OracleParameterCollection/OracleParameterCollection_Add.cs
new file mode 100755 (executable)
index 0000000..502c6eb
--- /dev/null
@@ -0,0 +1,86 @@
+// 
+// Copyright (c) 2006 Mainsoft Co.
+// 
+// Permission is hereby granted, free of charge, to any person obtaining
+// a copy of this software and associated documentation files (the
+// "Software"), to deal in the Software without restriction, including
+// without limitation the rights to use, copy, modify, merge, publish,
+// distribute, sublicense, and/or sell copies of the Software, and to
+// permit persons to whom the Software is furnished to do so, subject to
+// the following conditions:
+// 
+// The above copyright notice and this permission notice shall be
+// included in all copies or substantial portions of the Software.
+// 
+// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
+// EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
+// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
+// NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
+// LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
+// OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
+// WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
+//
+
+using System;
+using System.Data;
+using System.Data.OracleClient;
+
+using MonoTests.System.Data.Utils;
+
+
+using NUnit.Framework;
+
+namespace MonoTests.System.Data.OracleClient
+{
+       [TestFixture]
+       public class OracleParameterCollection_Add : ADONetTesterClass
+       {
+               public static void Main()
+               {
+                       OracleParameterCollection_Add tc = new OracleParameterCollection_Add();
+                       Exception exp = null;
+                       try
+                       {
+                               tc.BeginTest("OracleParameterCollection_Add");
+                               tc.run();
+                       }
+                       catch(Exception ex){exp = ex;}
+                       finally {tc.EndTest(exp);}
+               }
+
+               [Test]
+               public void run()
+               {
+                       Exception exp = null;
+
+
+                       OracleCommand cmd = new OracleCommand();
+                       OracleParameter param = cmd.Parameters.Add(new OracleParameter("MyParam", "abcd"));
+
+                       try
+                       {
+                               BeginCase("check value");
+                               Compare(param.Value ,"abcd" );
+                       } 
+                       catch(Exception ex){exp = ex;}
+                       finally{EndCase(exp); exp = null;}
+
+                       param = cmd.Parameters.Add("MyParam", OracleType.VarChar, 50);
+                       try
+                       {
+                               BeginCase("check parameter type");
+                               Compare(param.GetType().FullName ,typeof(OracleParameter).FullName  );
+                       } 
+                       catch(Exception ex){exp = ex;}
+                       finally{EndCase(exp); exp = null;}
+
+                       try
+                       {
+                               BeginCase("check parameter name");
+                               Compare(param.ParameterName ,"MyParam" );
+                       } 
+                       catch(Exception ex){exp = ex;}
+                       finally{EndCase(exp); exp = null;}
+               }
+       }
+}
\ No newline at end of file
diff --git a/mcs/class/System.Data.OracleClient/Test/System.Data.OracleClient.jvm/OracleParameterCollection/OracleParameterCollection_Contains.cs b/mcs/class/System.Data.OracleClient/Test/System.Data.OracleClient.jvm/OracleParameterCollection/OracleParameterCollection_Contains.cs
new file mode 100755 (executable)
index 0000000..53534e8
--- /dev/null
@@ -0,0 +1,104 @@
+// 
+// Copyright (c) 2006 Mainsoft Co.
+// 
+// Permission is hereby granted, free of charge, to any person obtaining
+// a copy of this software and associated documentation files (the
+// "Software"), to deal in the Software without restriction, including
+// without limitation the rights to use, copy, modify, merge, publish,
+// distribute, sublicense, and/or sell copies of the Software, and to
+// permit persons to whom the Software is furnished to do so, subject to
+// the following conditions:
+// 
+// The above copyright notice and this permission notice shall be
+// included in all copies or substantial portions of the Software.
+// 
+// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
+// EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
+// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
+// NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
+// LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
+// OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
+// WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
+//
+
+using System;
+using System.Data;
+using System.Data.OracleClient;
+
+using MonoTests.System.Data.Utils;
+
+
+using NUnit.Framework;
+
+namespace MonoTests.System.Data.OracleClient
+{
+       [TestFixture]
+       public class OracleParameterCollection_Contains : ADONetTesterClass
+       {
+               public static void Main()
+               {
+                       OracleParameterCollection_Contains tc = new OracleParameterCollection_Contains();
+                       Exception exp = null;
+                       try
+                       {
+                               tc.BeginTest("OracleParameterCollection_Contains");
+                               tc.run();
+                       }
+                       catch(Exception ex){exp = ex;}
+                       finally {tc.EndTest(exp);}
+               }
+
+               [Test]
+               public void run()
+               {
+                       Exception exp = null;
+
+                       OracleCommand cmd = new OracleCommand();
+                       OracleParameter param = new OracleParameter();
+                       cmd.Parameters.Add(param);
+                       cmd.Parameters.Add(new OracleParameter("MyParam", 12));
+
+                       try
+                       {
+                               BeginCase("Check contains - 1");
+                               Compare(cmd.Parameters.Contains(param),true );
+                       } 
+                       catch(Exception ex){exp = ex;}
+                       finally{EndCase(exp); exp = null;}
+
+                       try
+                       {
+                               BeginCase("Check contains - 2");
+                               Compare(cmd.Parameters.Contains("MyParam"),true );
+                       } 
+                       catch(Exception ex){exp = ex;}
+                       finally{EndCase(exp); exp = null;}
+
+                       try
+                       {
+                               BeginCase("Check contains - 3");
+                               Compare(cmd.Parameters.Contains("abcd"),false );
+                       } 
+                       catch(Exception ex){exp = ex;}
+                       finally{EndCase(exp); exp = null;}
+
+                       try
+                       {
+                               BeginCase("Check contains - 4");
+                               Compare(cmd.Parameters.Contains(" MyParam"),false );
+                       } 
+                       catch(Exception ex){exp = ex;}
+                       finally{EndCase(exp); exp = null;}
+        
+                       try
+                       {
+                               BeginCase("Check contains - 5");
+                               cmd.Parameters.Add(new OracleParameter("MyParam", 12));
+                               Compare(cmd.Parameters.Contains("MyParam"),true );
+                       } 
+                       catch(Exception ex){exp = ex;}
+                       finally{EndCase(exp); exp = null;}
+        
+               }
+       }
+}
\ No newline at end of file
diff --git a/mcs/class/System.Data.OracleClient/Test/System.Data.OracleClient.jvm/OracleParameterCollection/OracleParameterCollection_Count.cs b/mcs/class/System.Data.OracleClient/Test/System.Data.OracleClient.jvm/OracleParameterCollection/OracleParameterCollection_Count.cs
new file mode 100755 (executable)
index 0000000..b1f9047
--- /dev/null
@@ -0,0 +1,87 @@
+// 
+// Copyright (c) 2006 Mainsoft Co.
+// 
+// Permission is hereby granted, free of charge, to any person obtaining
+// a copy of this software and associated documentation files (the
+// "Software"), to deal in the Software without restriction, including
+// without limitation the rights to use, copy, modify, merge, publish,
+// distribute, sublicense, and/or sell copies of the Software, and to
+// permit persons to whom the Software is furnished to do so, subject to
+// the following conditions:
+// 
+// The above copyright notice and this permission notice shall be
+// included in all copies or substantial portions of the Software.
+// 
+// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
+// EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
+// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
+// NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
+// LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
+// OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
+// WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
+//
+
+using System;
+using System.Data;
+using System.Data.OracleClient;
+
+using MonoTests.System.Data.Utils;
+
+
+using NUnit.Framework;
+
+namespace MonoTests.System.Data.OracleClient
+{
+       [TestFixture]
+       public class OracleParameterCollection_Count : ADONetTesterClass
+       {
+               public static void Main()
+               {
+                       OracleParameterCollection_Count tc = new OracleParameterCollection_Count();
+                       Exception exp = null;
+                       try
+                       {
+                               tc.BeginTest("OracleParameterCollection_Count");
+                               tc.run();
+                       }
+                       catch(Exception ex){exp = ex;}
+                       finally {tc.EndTest(exp);}
+               }
+
+               [Test]
+               public void run()
+               {
+                       Exception exp = null;
+       
+                       OracleCommand cmd = new OracleCommand();
+
+                       try
+                       {
+                               BeginCase("Count - empty");
+                               Compare(cmd.Parameters.Count ,0 );
+                       } 
+                       catch(Exception ex){exp = ex;}
+                       finally{EndCase(exp); exp = null;}
+
+                       cmd.Parameters.Add(new OracleParameter("MyParam", "abcd"));
+                       try
+                       {
+                               BeginCase("Count - add");
+                               Compare(cmd.Parameters.Count ,1 );
+                       } 
+                       catch(Exception ex){exp = ex;}
+                       finally{EndCase(exp); exp = null;}
+
+                       cmd.Parameters.Clear();
+
+                       try
+                       {
+                               BeginCase("Count - clear");
+                               Compare(cmd.Parameters.Count ,0 );
+                       } 
+                       catch(Exception ex){exp = ex;}
+                       finally{EndCase(exp); exp = null;}
+        
+               }
+       }
+}
\ No newline at end of file
diff --git a/mcs/class/System.Data.OracleClient/Test/System.Data.OracleClient.jvm/OracleTransaction/OracleTransaction_Begin.cs b/mcs/class/System.Data.OracleClient/Test/System.Data.OracleClient.jvm/OracleTransaction/OracleTransaction_Begin.cs
new file mode 100755 (executable)
index 0000000..da60a25
--- /dev/null
@@ -0,0 +1,100 @@
+// 
+// Copyright (c) 2006 Mainsoft Co.
+// 
+// Permission is hereby granted, free of charge, to any person obtaining
+// a copy of this software and associated documentation files (the
+// "Software"), to deal in the Software without restriction, including
+// without limitation the rights to use, copy, modify, merge, publish,
+// distribute, sublicense, and/or sell copies of the Software, and to
+// permit persons to whom the Software is furnished to do so, subject to
+// the following conditions:
+// 
+// The above copyright notice and this permission notice shall be
+// included in all copies or substantial portions of the Software.
+// 
+// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
+// EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
+// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
+// NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
+// LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
+// OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
+// WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
+//
+
+using System;
+using System.Data;
+using System.Data.OracleClient;
+
+using MonoTests.System.Data.Utils;
+
+
+using NUnit.Framework;
+
+namespace MonoTests.System.Data.OracleClient
+{
+       [TestFixture]
+       public class OracleTransaction_Begin : ADONetTesterClass
+       {
+               public static void Main()
+               {
+                       OracleTransaction_Begin tc = new OracleTransaction_Begin();
+                       Exception exp = null;
+                       try
+                       {
+                               tc.BeginTest("OracleTransaction_Begin");
+                               tc.run();
+                       }
+                       catch(Exception ex){exp = ex;}
+                       finally {tc.EndTest(exp);}
+               }
+
+               [Test]
+               public void run()
+               {
+
+                       Exception exp = null;
+
+                       OracleConnection con = new OracleConnection(MonoTests.System.Data.Utils.ConnectedDataProvider.ConnectionString);
+                       con.Open();
+
+                       /*********************************************************
+                        * OLEDB Provider for SQL Server does not allow nested transactions
+                        * http://support.microsoft.com/kb/177138/EN-US/
+                        * http://support.microsoft.com/default.aspx?scid=KB;EN-US;Q316872&
+                       */
+                       if ((ConnectedDataProvider.GetDbType(con) == DataBaseServer.SQLServer) ||
+                               (ConnectedDataProvider.GetDbType(con) == DataBaseServer.Oracle) ||
+                               (ConnectedDataProvider.GetDbType(con) == DataBaseServer.PostgreSQL) ||
+                               (ConnectedDataProvider.GetDbType(con) == DataBaseServer.DB2))
+                       {
+                               Log(string.Format("Test skipped, nested transactions are not supported in {0}", ConnectedDataProvider.GetDbType(con)));
+                               return;
+                       }
+
+                       // How To Implement Nested Transactions with Oracle
+                       // http://support.microsoft.com/kb/187289/EN-US/
+
+                       OracleTransaction txnOuter = null;
+                       OracleTransaction txnInner = null;
+               
+                       try
+                       {
+                               BeginCase("Check Outer Transaction Isoloation Level");
+                       
+                               txnOuter = con.BeginTransaction();
+                       } 
+                       catch(Exception ex){exp = ex;}
+                       finally{EndCase(exp); exp = null;}
+
+                       try
+                       {
+                               BeginCase("Check Inner Transaction Isoloation Level");
+                               Compare(txnOuter.IsolationLevel,IsolationLevel.RepeatableRead);
+                       } 
+                       catch(Exception ex){exp = ex;}
+                       finally{EndCase(exp); exp = null;}
+
+                       if (con.State == ConnectionState.Open) con.Close();
+               }
+       }
+}
\ No newline at end of file
diff --git a/mcs/class/System.Data.OracleClient/Test/System.Data.OracleClient.jvm/OracleTransaction/OracleTransaction_Commit.cs b/mcs/class/System.Data.OracleClient/Test/System.Data.OracleClient.jvm/OracleTransaction/OracleTransaction_Commit.cs
new file mode 100755 (executable)
index 0000000..8c3c485
--- /dev/null
@@ -0,0 +1,133 @@
+// 
+// Copyright (c) 2006 Mainsoft Co.
+// 
+// Permission is hereby granted, free of charge, to any person obtaining
+// a copy of this software and associated documentation files (the
+// "Software"), to deal in the Software without restriction, including
+// without limitation the rights to use, copy, modify, merge, publish,
+// distribute, sublicense, and/or sell copies of the Software, and to
+// permit persons to whom the Software is furnished to do so, subject to
+// the following conditions:
+// 
+// The above copyright notice and this permission notice shall be
+// included in all copies or substantial portions of the Software.
+// 
+// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
+// EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
+// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
+// NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
+// LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
+// OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
+// WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
+//
+
+using System;
+using System.Data;
+using System.Data.OracleClient;
+
+using MonoTests.System.Data.Utils;
+
+
+using NUnit.Framework;
+
+namespace MonoTests.System.Data.OracleClient
+{
+       [TestFixture]
+       public class OracleTransaction_Commit : ADONetTesterClass
+       {
+               public static void Main()
+               {
+                       OracleTransaction_Commit tc = new OracleTransaction_Commit();
+                       Exception exp = null;
+                       try
+                       {
+                               tc.BeginTest("OracleTransaction_Commit");
+                               tc.run();
+                       }
+                       catch(Exception ex){exp = ex;}
+                       finally {tc.EndTest(exp);}
+               }
+
+               [Test]
+               public void run()
+               {
+                       Exception exp = null;
+
+                       // ORACLE does not support transactions with savepoints 
+                       // http://support.microsoft.com/kb/187289/EN-US/
+                       if (ConnectedDataProvider.GetDbType(MonoTests.System.Data.Utils.ConnectedDataProvider.ConnectionString) == DataBaseServer.Oracle) return;
+                       if (ConnectedDataProvider.GetDbType(MonoTests.System.Data.Utils.ConnectedDataProvider.ConnectionString) == DataBaseServer.PostgreSQL) return;
+
+                       //prepare data
+                       base.PrepareDataForTesting(MonoTests.System.Data.Utils.ConnectedDataProvider.ConnectionString);
+
+                       OracleConnection con = new OracleConnection(MonoTests.System.Data.Utils.ConnectedDataProvider.ConnectionString);
+                       con.Open();
+
+                       //prepare command for checking database
+                       OracleConnection conSelect = new OracleConnection(MonoTests.System.Data.Utils.ConnectedDataProvider.ConnectionString);
+                       conSelect.Open();
+                       OracleCommand cmdSelect = new OracleCommand("Select Title From Employees where EmployeeID in (100,200)", conSelect);
+
+                       OracleTransaction txn = con.BeginTransaction();
+
+                       //prepare first transaction
+                       OracleCommand cmd1 = new OracleCommand("Update Employees Set Title = 'New Value1' Where EmployeeID = 100",con);
+                       cmd1.Transaction = txn;
+               
+                       //prepare a second transaction
+                       OracleCommand cmd2 = new OracleCommand("Update Employees Set Title = 'New Value2' Where EmployeeID = 200",con);
+                       cmd2.Transaction = txn;
+
+                       try
+                       {
+                               BeginCase("one transaction - After commiting transaction");
+                               cmd1.ExecuteNonQuery();
+                               txn.Commit();
+                               string Result = cmdSelect.ExecuteScalar().ToString();
+                               Compare(Result,"New Value1" );
+                       } 
+                       catch(Exception ex){exp = ex;}
+                       finally{EndCase(exp); exp = null;}
+
+                       conSelect.Close();
+
+
+                       //prepare data
+                       base.PrepareDataForTesting(MonoTests.System.Data.Utils.ConnectedDataProvider.ConnectionString);
+
+                       conSelect.Open();
+
+                       txn = con.BeginTransaction();
+                       cmd1.Transaction = txn;
+                       cmd2.Transaction = txn;
+                       cmd1.ExecuteNonQuery();
+                       cmd2.ExecuteNonQuery();
+                       txn.Commit();
+                       OracleDataReader rdr = cmdSelect.ExecuteReader();
+
+                       try
+                       {
+                               BeginCase("two transaction - check first transaction");
+                               rdr.Read();
+                               Compare(rdr.GetString(0),"New Value1" );
+                       } 
+                       catch(Exception ex){exp = ex;}
+                       finally{EndCase(exp); exp = null;}
+
+                       try
+                       {
+                               BeginCase("two transaction - check second transaction");
+                               rdr.Read();
+                               Compare(rdr.GetString(0),"New Value2" );
+                       } 
+                       catch(Exception ex){exp = ex;}
+                       finally{EndCase(exp); exp = null;}
+
+                       if (con.State == ConnectionState.Open) con.Close();
+                       if (conSelect.State == ConnectionState.Open) conSelect.Close();
+
+
+               }
+       }
+}
\ No newline at end of file
diff --git a/mcs/class/System.Data.OracleClient/Test/System.Data.OracleClient.jvm/OracleTransaction/OracleTransaction_Connection.cs b/mcs/class/System.Data.OracleClient/Test/System.Data.OracleClient.jvm/OracleTransaction/OracleTransaction_Connection.cs
new file mode 100755 (executable)
index 0000000..c5a1a58
--- /dev/null
@@ -0,0 +1,91 @@
+// 
+// Copyright (c) 2006 Mainsoft Co.
+// 
+// Permission is hereby granted, free of charge, to any person obtaining
+// a copy of this software and associated documentation files (the
+// "Software"), to deal in the Software without restriction, including
+// without limitation the rights to use, copy, modify, merge, publish,
+// distribute, sublicense, and/or sell copies of the Software, and to
+// permit persons to whom the Software is furnished to do so, subject to
+// the following conditions:
+// 
+// The above copyright notice and this permission notice shall be
+// included in all copies or substantial portions of the Software.
+// 
+// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
+// EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
+// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
+// NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
+// LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
+// OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
+// WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
+//
+
+using System;
+using System.Data;
+using System.Data.OracleClient;
+
+using MonoTests.System.Data.Utils;
+
+
+using NUnit.Framework;
+
+namespace MonoTests.System.Data.OracleClient
+{
+       [TestFixture]
+       public class OracleTransaction_Connection : ADONetTesterClass
+       {
+               public static void Main()
+               {
+                       OracleTransaction_Connection tc = new OracleTransaction_Connection();
+                       Exception exp = null;
+                       try
+                       {
+                               tc.BeginTest("OracleTransaction_Connection");
+                               tc.run();
+                       }
+                       catch(Exception ex){exp = ex;}
+                       finally {tc.EndTest(exp);}
+               }
+
+               [Test]
+               public void run()
+               {
+                       Exception exp = null;
+
+                       OracleConnection con = new OracleConnection(MonoTests.System.Data.Utils.ConnectedDataProvider.ConnectionString);
+                       con.Open();
+                       OracleTransaction txn = con.BeginTransaction();
+
+                       try
+                       {
+                               BeginCase("check connection");
+                               Compare(txn.Connection,con);
+                       } 
+                       catch(Exception ex){exp = ex;}
+                       finally{EndCase(exp); exp = null;}
+
+                       //check exception - using a command with the same connection as the transaction
+                       OracleCommand cmd = new OracleCommand("Select * from Employees",con);
+
+                       //Execute requires the command to have a transaction object when the connection assigned to the command is in a pending local transaction.  
+                       //The Transaction property of the command has not been initialized.
+                       try
+                       {
+                               BeginCase("Command that uses the transaction connection - exception");
+                               try
+                               {
+                                       cmd.ExecuteNonQuery();
+                               }
+                               catch (Exception ex){exp=ex;}
+                               Compare(exp.GetType().FullName ,typeof(InvalidOperationException).FullName);
+                               exp = null;
+                       }
+                       catch(Exception ex)     {exp = ex;}
+                       finally {EndCase(exp); exp = null;}
+
+                       if (con.State == ConnectionState.Open) con.Close();
+
+               }
+       }
+}
\ No newline at end of file
diff --git a/mcs/class/System.Data.OracleClient/Test/System.Data.OracleClient.jvm/OracleTransaction/OracleTransaction_IsolationLevel.cs b/mcs/class/System.Data.OracleClient/Test/System.Data.OracleClient.jvm/OracleTransaction/OracleTransaction_IsolationLevel.cs
new file mode 100755 (executable)
index 0000000..e0dd463
--- /dev/null
@@ -0,0 +1,164 @@
+// 
+// Copyright (c) 2006 Mainsoft Co.
+// 
+// Permission is hereby granted, free of charge, to any person obtaining
+// a copy of this software and associated documentation files (the
+// "Software"), to deal in the Software without restriction, including
+// without limitation the rights to use, copy, modify, merge, publish,
+// distribute, sublicense, and/or sell copies of the Software, and to
+// permit persons to whom the Software is furnished to do so, subject to
+// the following conditions:
+// 
+// The above copyright notice and this permission notice shall be
+// included in all copies or substantial portions of the Software.
+// 
+// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
+// EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
+// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
+// NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
+// LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
+// OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
+// WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
+//
+
+using System;
+using System.Data;
+using System.Data.OracleClient;
+
+using MonoTests.System.Data.Utils;
+
+
+using NUnit.Framework;
+
+namespace MonoTests.System.Data.OracleClient
+{
+       [TestFixture]
+       public class OracleTransaction_IsolationLevel : ADONetTesterClass
+       {
+               public static void Main()
+               {
+                       OracleTransaction_IsolationLevel tc = new OracleTransaction_IsolationLevel();
+                       Exception exp = null;
+                       try
+                       {
+                               tc.BeginTest("OracleTransaction_IsolationLevel");
+                               tc.run();
+                       }
+                       catch(Exception ex){exp = ex;}
+                       finally {tc.EndTest(exp);}
+               }
+
+               [Test]
+#if JAVA
+               [Category("NotWorking")]
+#endif
+               public void IsolationLevelChaos() {
+                       Exception exp = null;
+
+
+                       MonoTests.System.Data.Utils.DataBaseServer dbServer = ConnectedDataProvider.GetDbType(MonoTests.System.Data.Utils.ConnectedDataProvider.ConnectionString);
+
+                       OracleConnection con = new OracleConnection(MonoTests.System.Data.Utils.ConnectedDataProvider.ConnectionString);
+                       OracleTransaction txn = null;
+
+                       //supported only in SQLServer
+                       if (dbServer == MonoTests.System.Data.Utils.DataBaseServer.SQLServer) {
+                               try {
+                                       BeginCase("IsolationLevel = Chaos");
+                                       con.Open();
+                                       txn=con.BeginTransaction(IsolationLevel.Chaos);
+                                       Compare(txn.IsolationLevel,IsolationLevel.Chaos);
+                               } 
+                               catch(Exception ex){exp = ex;}
+                               finally{EndCase(exp); exp = null; if (con.State == ConnectionState.Open) con.Close();}
+                       }
+               }
+
+               [Test]
+#if JAVA
+               [Category("NotWorking")]
+#endif
+               public void run()
+               {
+                       Exception exp = null;
+
+
+                       MonoTests.System.Data.Utils.DataBaseServer dbServer = ConnectedDataProvider.GetDbType(MonoTests.System.Data.Utils.ConnectedDataProvider.ConnectionString);
+
+                       OracleConnection con = new OracleConnection(MonoTests.System.Data.Utils.ConnectedDataProvider.ConnectionString);
+                       OracleTransaction txn = null;
+               
+                       try
+                       {
+                               BeginCase("IsolationLevel = ReadCommitted");
+                               con.Open();
+                               txn=con.BeginTransaction();
+                               Compare(txn.IsolationLevel,IsolationLevel.ReadCommitted);
+                       } 
+                       catch(Exception ex){exp = ex;}
+                       finally{EndCase(exp); exp = null; if (con.State == ConnectionState.Open) con.Close();}
+
+                       //not supported in Oracle
+                       if (dbServer != MonoTests.System.Data.Utils.DataBaseServer.Oracle) 
+                       {
+                               try
+                               {
+                                       BeginCase("IsolationLevel = ReadUncommitted");
+                                       con.Open();
+                                       txn=con.BeginTransaction(IsolationLevel.ReadUncommitted );
+                                       Compare(txn.IsolationLevel,IsolationLevel.ReadUncommitted);
+                               } 
+                               catch(Exception ex){exp = ex;}
+                               finally{EndCase(exp); exp = null; if (con.State == ConnectionState.Open) con.Close();}
+                       }
+
+                       //not supported in Oracle
+                       if (dbServer != MonoTests.System.Data.Utils.DataBaseServer.Oracle) 
+                       {
+                               try
+                               {
+                                       BeginCase("IsolationLevel = RepeatableRead");
+                                       con.Open();
+                                       txn=con.BeginTransaction(IsolationLevel.RepeatableRead);
+                                       Compare(txn.IsolationLevel,IsolationLevel.RepeatableRead);
+                               } 
+                               catch(Exception ex){exp = ex;}
+                               finally{EndCase(exp); exp = null; if (con.State == ConnectionState.Open) con.Close();}
+                       }
+
+                       try
+                       {
+                               BeginCase("IsolationLevel = Serializable");
+                               con.Open();
+                               txn=con.BeginTransaction(IsolationLevel.Serializable);
+                               Compare(txn.IsolationLevel,IsolationLevel.Serializable);
+                               txn.Rollback();
+                               txn=con.BeginTransaction();
+                               txn.Rollback();
+                       } 
+                       catch(Exception ex){exp = ex;}
+                       finally{EndCase(exp); exp = null; if (con.State == ConnectionState.Open) con.Close();}
+
+                       // not supported in DB2,MSSQL,Oracle,sybase and guess what... Postgres.
+                       if (dbServer != MonoTests.System.Data.Utils.DataBaseServer.DB2 
+                               && dbServer != MonoTests.System.Data.Utils.DataBaseServer.SQLServer
+                               && dbServer != MonoTests.System.Data.Utils.DataBaseServer.Oracle 
+                               && dbServer != DataBaseServer.PostgreSQL
+                               && dbServer != MonoTests.System.Data.Utils.DataBaseServer.Sybase ) 
+                       {
+                               try
+                               {
+                                       BeginCase("IsolationLevel = Unspecified");
+                                       con.Open();
+                                       txn=con.BeginTransaction(IsolationLevel.Unspecified );
+                                       Compare(txn.IsolationLevel,IsolationLevel.Unspecified );
+                               } 
+                               catch(Exception ex){exp = ex;}
+                               finally{EndCase(exp); exp = null; if (con.State == ConnectionState.Open) con.Close();}
+                       }
+
+
+
+               }
+       }
+}
\ No newline at end of file
diff --git a/mcs/class/System.Data.OracleClient/Test/System.Data.OracleClient.jvm/OracleTransaction/OracleTransaction_Rollback.cs b/mcs/class/System.Data.OracleClient/Test/System.Data.OracleClient.jvm/OracleTransaction/OracleTransaction_Rollback.cs
new file mode 100755 (executable)
index 0000000..3091ba2
--- /dev/null
@@ -0,0 +1,87 @@
+// 
+// Copyright (c) 2006 Mainsoft Co.
+// 
+// Permission is hereby granted, free of charge, to any person obtaining
+// a copy of this software and associated documentation files (the
+// "Software"), to deal in the Software without restriction, including
+// without limitation the rights to use, copy, modify, merge, publish,
+// distribute, sublicense, and/or sell copies of the Software, and to
+// permit persons to whom the Software is furnished to do so, subject to
+// the following conditions:
+// 
+// The above copyright notice and this permission notice shall be
+// included in all copies or substantial portions of the Software.
+// 
+// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
+// EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
+// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
+// NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
+// LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
+// OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
+// WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
+//
+
+using System;
+using System.Data;
+using System.Data.OracleClient;
+
+using MonoTests.System.Data.Utils;
+
+
+using NUnit.Framework;
+
+namespace MonoTests.System.Data.OracleClient
+{
+       [TestFixture]
+       public class OracleTransaction_Rollback : ADONetTesterClass
+       {
+               public static void Main()
+               {
+                       OracleTransaction_Rollback tc = new OracleTransaction_Rollback();
+                       Exception exp = null;
+                       try
+                       {
+                               tc.BeginTest("OracleTransaction_Rollback");
+                               tc.run();
+                       }
+                       catch(Exception ex){exp = ex;}
+                       finally {tc.EndTest(exp);}
+               }
+
+               [Test]
+               public void run()
+               {
+                       OracleConnection con = null;
+                       OracleTransaction txn;
+                       Exception exp = null;
+                       try
+                       {
+                               BeginCase("OracleTransaction Rollback");
+
+                               //
+                               //prepare data
+                               base.PrepareDataForTesting(MonoTests.System.Data.Utils.ConnectedDataProvider.ConnectionString);
+
+                               string Result = "";
+                               con = new OracleConnection(MonoTests.System.Data.Utils.ConnectedDataProvider.ConnectionString);
+                               con.Open();
+                               txn = con.BeginTransaction();
+                               OracleCommand cmd = new OracleCommand("Update Employees Set LastName = 'StamLastName' Where EmployeeID = 100", con, txn);
+                               cmd.ExecuteNonQuery();
+                               txn.Rollback();
+
+                               //
+                               //
+                               cmd = new OracleCommand("Select LastName From Employees Where EmployeeID = 100", con);
+                               Result = cmd.ExecuteScalar().ToString();
+                               Compare(Result,"Last100" );
+                               this.Log(Result);
+
+                       } 
+                       catch(Exception ex){exp = ex;}
+                       finally{EndCase(exp); exp = null;}
+
+                       if (con.State == ConnectionState.Open) con.Close();
+               }
+       }
+}
\ No newline at end of file
diff --git a/mcs/class/System.Data.OracleClient/Test/System.Data.OracleClient.jvm/OracleTransaction/OracleTransaction_ctor.cs b/mcs/class/System.Data.OracleClient/Test/System.Data.OracleClient.jvm/OracleTransaction/OracleTransaction_ctor.cs
new file mode 100755 (executable)
index 0000000..3720147
--- /dev/null
@@ -0,0 +1,89 @@
+// 
+// Copyright (c) 2006 Mainsoft Co.
+// 
+// Permission is hereby granted, free of charge, to any person obtaining
+// a copy of this software and associated documentation files (the
+// "Software"), to deal in the Software without restriction, including
+// without limitation the rights to use, copy, modify, merge, publish,
+// distribute, sublicense, and/or sell copies of the Software, and to
+// permit persons to whom the Software is furnished to do so, subject to
+// the following conditions:
+// 
+// The above copyright notice and this permission notice shall be
+// included in all copies or substantial portions of the Software.
+// 
+// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
+// EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
+// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
+// NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
+// LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
+// OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
+// WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
+//
+
+using System;
+using System.Data;
+using System.Data.OracleClient;
+
+using MonoTests.System.Data.Utils;
+
+
+using NUnit.Framework;
+
+
+namespace MonoTests.System.Data.OracleClient
+{
+       [TestFixture]
+       public class OracleTransaction_ctor : ADONetTesterClass
+       {
+               public static void Main()
+               {
+                       OracleTransaction_ctor tc = new OracleTransaction_ctor();
+                       Exception exp = null;
+                       try
+                       {
+                               tc.BeginTest("OracleTransaction_ctor");
+                               tc.run();
+                       }
+                       catch(Exception ex){exp = ex;}
+                       finally {tc.EndTest(exp);}
+               }
+
+               [Test]
+               public void run()
+               {
+                       Exception exp = null;
+
+                       OracleConnection con = new OracleConnection(MonoTests.System.Data.Utils.ConnectedDataProvider.ConnectionString);
+                       OracleTransaction txn = null;
+
+                       try
+                       {
+                               BeginCase("BeginTransaction - connection close");
+                               try
+                               {
+                                       txn = con.BeginTransaction();
+                               }
+                               catch (Exception ex) {exp = ex;}
+                               Compare(exp.GetType().FullName ,typeof(InvalidOperationException).FullName );
+                               exp=null;
+                       } 
+                       catch(Exception ex){exp = ex;}
+                       finally{EndCase(exp); exp = null;}
+
+                       con.Open();
+
+                       try
+                       {
+                               BeginCase("BeginTransaction - connection close");
+                               txn = con.BeginTransaction();
+                               Compare(txn == null,false );
+                       } 
+                       catch(Exception ex){exp = ex;}
+                       finally{EndCase(exp); exp = null;}
+
+                       if (con.State == ConnectionState.Open) con.Close();
+
+               }
+       }   
+}
\ No newline at end of file
diff --git a/mcs/class/System.Data.OracleClient/Test/System.Data.OracleClient.jvm/OracleType/OracleType_Date.cs b/mcs/class/System.Data.OracleClient/Test/System.Data.OracleClient.jvm/OracleType/OracleType_Date.cs
new file mode 100755 (executable)
index 0000000..236adc8
--- /dev/null
@@ -0,0 +1,545 @@
+// 
+// Copyright (c) 2006 Mainsoft Co.
+// 
+// Permission is hereby granted, free of charge, to any person obtaining
+// a copy of this software and associated documentation files (the
+// "Software"), to deal in the Software without restriction, including
+// without limitation the rights to use, copy, modify, merge, publish,
+// distribute, sublicense, and/or sell copies of the Software, and to
+// permit persons to whom the Software is furnished to do so, subject to
+// the following conditions:
+// 
+// The above copyright notice and this permission notice shall be
+// included in all copies or substantial portions of the Software.
+// 
+// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
+// EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
+// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
+// NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
+// LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
+// OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
+// WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
+//
+
+using System;
+using System.Data;
+using System.Data.OracleClient ;
+
+using MonoTests.System.Data.Utils;
+
+
+using NUnit.Framework;
+
+namespace MonoTests.System.Data.OracleClient
+{
+       [TestFixture]
+       public class OracleType_Date : GHTBase
+       {
+               private string dateColumnName;
+               private string dateTableName;
+
+               private OracleConnection        con;
+               private OracleDataReader        dr      =       null;
+
+               private DateTime TestedDate1;
+               private DateTime RetDate;
+
+               [SetUp]
+               public void SetUp()
+               {
+                       Exception exp = null;
+                       BeginCase("Setup");
+                       try
+                       {
+                               dateTableName = ConnectedDataProvider.EXTENDED_TYPES_TABLE_NAME;
+
+                               dateColumnName = "T_DATE";
+
+                               con = new OracleConnection(ConnectedDataProvider.ConnectionString);
+                               con.Open();
+                               Compare("Setup", "Setup");
+                       }
+                       catch(Exception ex)     {exp = ex;}
+                       finally {EndCase(exp); exp = null;}
+               }
+
+               [TearDown]
+               public void TearDown()
+               {
+                       if (con != null)
+                       {
+                               if (con.State == ConnectionState.Open) con.Close();
+                       }
+               }
+
+               public static void Main()
+               {
+                       OracleType_Date tc = new OracleType_Date();
+                       Exception exp = null;
+                       try
+                       {
+                               tc.BeginTest("OracleType_Date");
+                               tc.SetUp();
+                               tc.run();
+                               tc.TearDown();
+                       }
+                       catch(Exception ex){exp = ex;}
+                       finally {tc.EndTest(exp);}
+               }
+
+               [Test]
+               public void run()
+               {
+                       Exception exp = null;
+                       OracleCommand cmd = new OracleCommand();
+                       string rowId = "54416_";
+
+                       try
+                       {
+                               // clean the test table
+                               cmd = new OracleCommand(string.Format("DELETE FROM {0} WHERE ID like '54416_%'", dateTableName));
+                               cmd.Connection = con;
+                               cmd.ExecuteNonQuery();
+                       }
+                       catch(Exception ex)
+                       {
+                               exp = ex;
+                       }
+
+                       #region         ---- testing parameterized query with a simple date ---- 
+                       try
+                       {
+                               BeginCase("testing parameterized query with a simple date");
+                               rowId = "54416_" + TestCaseNumber.ToString();
+
+                               cmd = new OracleCommand(string.Format("insert into {0} (ID, {1}) values ('{2}', :date1)", dateTableName, dateColumnName, rowId));
+                               cmd.Connection = con;
+                               TestedDate1 = new DateTime(2001, 1, 13);
+                               cmd.Parameters.Add(new OracleParameter("date1", OracleType.DateTime)).Value = TestedDate1;
+                               cmd.ExecuteNonQuery();
+                               // checking that value returned correctly;
+                               cmd.CommandText = string.Format("select {0} from {1} where ID='{2}'", dateColumnName, dateTableName, rowId);
+                               cmd.Parameters.Clear();
+                               RetDate = Convert.ToDateTime(cmd.ExecuteScalar());
+
+                               Compare(TestedDate1,RetDate);
+                       } 
+                       catch(Exception ex)
+                       {
+                               exp = ex;
+                       }
+                       finally
+                       {
+                               if (dr != null)dr.Close();
+                               if ( (con != null) && (con.State == ConnectionState.Open) )
+                               {
+                                       CleanTestRow(rowId);
+                                       con.Close();
+                               }
+
+                               EndCase(exp);
+                               exp = null;
+                       }
+               
+                       #endregion
+
+                       #region         ---- testing parameterized query with a 1753 date min  ---- 
+                       try
+                       {
+                               BeginCase("testing parameterized query with a 1753 date min");
+                               rowId = "54416_" + TestCaseNumber.ToString();
+
+                               con.Open();
+                               cmd = new OracleCommand(string.Format("insert into {0} (ID, {1}) values('{2}', :date1)", dateTableName, dateColumnName, rowId));
+                               cmd.Connection = con;
+                               TestedDate1 = new DateTime(1753, 1, 1); 
+                               cmd.Parameters.Add(new OracleParameter("date1", OracleType.DateTime)).Value = TestedDate1;
+                               this.Log(cmd.CommandText);
+                               cmd.ExecuteNonQuery();
+
+                               //' checking that value returned correctly
+                               cmd.CommandText = string.Format("select {0} from {1}  where ID='{2}'", dateColumnName, dateTableName, rowId);
+                               this.Log(cmd.CommandText);
+                               cmd.Parameters.Clear();
+                               RetDate = Convert.ToDateTime(cmd.ExecuteScalar());
+                               Compare(TestedDate1.Date, RetDate.Date);
+                       } 
+                       catch(Exception ex)
+                       {
+                               exp = ex;
+                       }
+                       finally
+                       {
+                               if (dr != null)dr.Close();
+                               if ( (con != null) && (con.State == ConnectionState.Open) )
+                               {
+                                       CleanTestRow(rowId);
+                                       con.Close();
+                               }
+
+                               EndCase(exp);
+                               exp = null;
+                       }
+               
+                       #endregion
+
+                       #region         ---- testing parameterized query with a future date ---- 
+                       try
+                       {
+                               BeginCase("testing parameterized query with a future date");
+                               
+                               rowId = "54416_" + TestCaseNumber.ToString();
+                               con.Open();
+                               cmd = new OracleCommand(string.Format("insert into {0} (ID, {1}) values('{2}', :date1)", dateTableName, dateColumnName, rowId ));
+                               cmd.Connection = con;
+                               TestedDate1 = new DateTime(2500, 1, 13);
+                               cmd.Parameters.Add(new OracleParameter("date1", OracleType.DateTime)).Value = TestedDate1;
+                               cmd.ExecuteNonQuery();
+                               //' checking that value returned correctly
+                               cmd.CommandText = string.Format("select {0} from {1}  where ID='{2}'", dateColumnName, dateTableName, rowId);
+                               cmd.Parameters.Clear();
+                               RetDate = Convert.ToDateTime(cmd.ExecuteScalar());
+                               Compare(TestedDate1, RetDate);
+                       } 
+                       catch(Exception ex)
+                       {
+                               exp = ex;
+                       }
+                       finally
+                       {
+                               if (dr != null)dr.Close();
+                               if ( (con != null) && (con.State == ConnectionState.Open) )
+                               {
+                                       CleanTestRow(rowId);
+                                       con.Close();
+                               }
+
+                               EndCase(exp);
+                               exp = null;
+                       }
+               
+                       #endregion
+
+                       #region         ---- testing parameterized query with a future date ---- 
+                       try
+                       {
+                               BeginCase("testing parameterized query with a future date");
+
+                               rowId = "54416_" + TestCaseNumber.ToString();
+                               con.Open();
+                               cmd = new OracleCommand(string.Format("insert into {0} (ID, {1}) values('{2}', :date1)", dateTableName, dateColumnName, rowId ));
+                               cmd.Connection = con;
+                               TestedDate1 = new DateTime(2500, 1, 13);
+                               cmd.Parameters.Add(new OracleParameter("date1", OracleType.DateTime)).Value = TestedDate1;
+                               cmd.ExecuteNonQuery();
+                               //' checking that value returned correctly
+                               cmd.CommandText = string.Format("select {0} from {1}  where ID='{2}'", dateColumnName, dateTableName, rowId);
+                               cmd.Parameters.Clear();
+                               RetDate = Convert.ToDateTime(cmd.ExecuteScalar());
+                               Compare(TestedDate1, RetDate);
+                       } 
+                       catch(Exception ex)
+                       {
+                               exp = ex;
+                       }
+                       finally
+                       {
+                               if (dr != null)dr.Close();
+                               if ( (con != null) && (con.State == ConnectionState.Open) )
+                               {
+                                       CleanTestRow(rowId);
+                                       con.Close();
+                               }
+
+                               EndCase(exp);
+                               exp = null;
+                       }
+               
+                       #endregion
+
+                       #region         ---- testing parameterized query with a time part ---- 
+                       try
+                       {
+                               BeginCase("testing parameterized query with a time part");
+                               
+                               rowId = "54416_" + TestCaseNumber.ToString();
+                               con.Open();
+                               cmd = new OracleCommand(string.Format("insert into {0} (ID, {1}) values('{2}', :date1)", dateTableName, dateColumnName, rowId ));
+                               cmd.Connection = con;
+                               TestedDate1 = new DateTime(2500, 1, 13, 12, 13, 14);
+                               cmd.Parameters.Add(new OracleParameter("date1", OracleType.DateTime)).Value = TestedDate1;
+                               cmd.ExecuteNonQuery();
+                               //' checking that value returned correctly
+                               cmd.CommandText = string.Format("select {0} from {1}  where ID='{2}'", dateColumnName, dateTableName, rowId);
+                               cmd.Parameters.Clear();
+                               RetDate = Convert.ToDateTime(cmd.ExecuteScalar());
+                               Compare(TestedDate1, RetDate);
+                       } 
+                       catch(Exception ex)
+                       {
+                               exp = ex;
+                       }
+                       finally
+                       {
+                               if (dr != null)dr.Close();
+                               if ( (con != null) && (con.State == ConnectionState.Open) )
+                               {
+                                       CleanTestRow(rowId);
+                                       con.Close();
+                               }
+
+                               EndCase(exp);
+                               exp = null;
+                       }
+               
+                       #endregion
+
+                       #region         ---- testing parameterized query with a time part of 00:00 ---- 
+                       try
+                       {
+                               BeginCase("testing parameterized query with a time part of 00:00");
+
+                               rowId = "54416_" + TestCaseNumber.ToString();
+                               con.Open();
+                               cmd = new OracleCommand(string.Format("insert into {0} (ID, {1}) values('{2}', :date1)", dateTableName, dateColumnName, rowId ));
+                               cmd.Connection = con;
+                               TestedDate1 = new DateTime(2500, 1, 13, 0, 0, 0);
+                               cmd.Parameters.Add(new OracleParameter("date1", OracleType.DateTime)).Value = TestedDate1;
+                               cmd.ExecuteNonQuery();
+                               //' checking that value returned correctly
+                               cmd.CommandText =string.Format("select {0} from {1}  where ID='{2}'", dateColumnName, dateTableName, rowId);
+                               cmd.Parameters.Clear();
+                               RetDate = Convert.ToDateTime(cmd.ExecuteScalar());
+                               Compare(TestedDate1, RetDate);
+                       } 
+                       catch(Exception ex)
+                       {
+                               exp = ex;
+                       }
+                       finally
+                       {
+                               if (dr != null)dr.Close();
+                               if ( (con != null) && (con.State == ConnectionState.Open) )
+                               {
+                                       CleanTestRow(rowId);
+                                       con.Close();
+                               }
+
+                               EndCase(exp);
+                               exp = null;
+                       }
+               
+                       #endregion
+
+                       #region         ---- testing parameterized query with a time part of 23:59:59 ---- 
+                       try
+                       {
+                               BeginCase("testing parameterized query with a time part of 23:59:59");
+                               
+                               rowId = "54416_" + TestCaseNumber.ToString();
+                               con.Open();
+                               cmd = new OracleCommand(string.Format("insert into {0} (ID, {1}) values('{2}', :date1)", dateTableName, dateColumnName, rowId ));
+                               cmd.Connection = con;
+                               TestedDate1 = new DateTime(2500, 1, 13, 23, 59, 59);
+                               cmd.Parameters.Add(new OracleParameter("date1", OracleType.DateTime)).Value = TestedDate1;
+                               cmd.ExecuteNonQuery();
+                               //' checking that value returned correctly
+                               cmd.CommandText =string.Format("select {0} from {1}  where ID='{2}'", dateColumnName, dateTableName, rowId);
+                               cmd.Parameters.Clear();
+                               RetDate = Convert.ToDateTime(cmd.ExecuteScalar());
+                               Compare(TestedDate1, RetDate);
+                       } 
+                       catch(Exception ex)
+                       {
+                               exp = ex;
+                       }
+                       finally
+                       {
+                               if (dr != null)dr.Close();
+                               if ( (con != null) && (con.State == ConnectionState.Open) )
+                               {
+                                       CleanTestRow(rowId);
+                                       con.Close();
+                               }
+                               EndCase(exp);
+                               exp = null;
+                       }
+               
+                       #endregion
+
+                       #region         ---- testing parameterized query with a time part of AM ---- 
+                       try
+                       {
+                               BeginCase("testing parameterized query with a time part of AM");
+                               string str = string.Empty; //This is an addional test ,passing GH mechnizim 
+                               rowId = "54416_" + TestCaseNumber.ToString();
+                               con.Open();
+                               cmd = new OracleCommand(string.Format("insert into {0} (ID, {1}) values('{2}', :date1)", dateTableName, dateColumnName, rowId ));
+                               cmd.Connection = con;
+                               //TestedDate1 = new DateTime(2500, 1, 13, 11, 0, 0);
+                               TestedDate1 = new DateTime(1988,5,31,15,33,44,00);
+                               cmd.Parameters.Add(new OracleParameter("date1", OracleType.DateTime)).Value = TestedDate1;
+                               cmd.ExecuteNonQuery();
+                               cmd.Parameters.Clear();
+                               
+                               //TODO:add also treat for other db
+                               if (ConnectedDataProvider.GetDbType(con) == MonoTests.System.Data.Utils.DataBaseServer.SQLServer || ConnectedDataProvider.GetDbType(con) == MonoTests.System.Data.Utils.DataBaseServer.Sybase)
+                               {
+                                       cmd.CommandText = string.Format("select CONVERT(varchar,{0},120) from {1}  where ID='{2}'", dateColumnName, dateTableName, rowId);
+                                       str = cmd.ExecuteScalar().ToString();
+                                       Compare(TestedDate1, Convert.ToDateTime(str));
+                               }
+                               //' checking that value returned correctly
+                               cmd.CommandText =string.Format("select {0} from {1}  where ID='{2}'", dateColumnName, dateTableName, rowId);
+                               RetDate = Convert.ToDateTime(cmd.ExecuteScalar().ToString());
+                               Compare(TestedDate1, RetDate);
+                       } 
+                       catch(Exception ex)
+                       {
+                               exp = ex;
+                       }
+                       finally
+                       {
+                               if (dr != null)dr.Close();
+                               if ( (con != null) && (con.State == ConnectionState.Open) )
+                               {
+                                       CleanTestRow(rowId);
+                                       con.Close();
+                               }
+
+                               EndCase(exp);
+                               exp = null;
+                       }
+               
+                       #endregion
+
+                       #region         ---- testing a where clause using a date ---- 
+                       try
+                       {
+                               BeginCase("testing a where clause using a date");
+
+                               rowId = "54416_" + TestCaseNumber.ToString();
+                               con.Open();
+                               cmd = new OracleCommand(string.Format("insert into {0} (ID, {1}) values('{2}', :date1)", dateTableName, dateColumnName, rowId ));
+                               cmd.Connection = con;
+                               TestedDate1 = new DateTime(2500, 1, 13, 11, 0, 0);
+                               cmd.Parameters.Add(new OracleParameter("date1", OracleType.DateTime)).Value = TestedDate1;
+                               cmd.ExecuteNonQuery();
+                               //' checking that value returned correctly
+                               cmd = new OracleCommand(string.Format("select {0} from {1} where ID='{2}' and {0}= :date1", dateColumnName, dateTableName, rowId));
+                               cmd.Connection = con;
+                               cmd.Parameters.Add(new OracleParameter("date1", OracleType.DateTime)).Value = TestedDate1;
+                               RetDate = Convert.ToDateTime(cmd.ExecuteScalar());
+                               Compare(TestedDate1, RetDate);
+                       } 
+                       catch(Exception ex)
+                       {
+                               exp = ex;
+                       }
+                       finally
+                       {
+                               if (dr != null)dr.Close();
+                               if ( (con != null) && (con.State == ConnectionState.Open) )
+                               {
+                                       CleanTestRow(rowId);
+                                       con.Close();
+                               }
+
+                               EndCase(exp);
+                               exp = null;
+                       }
+               
+                       #endregion
+
+                       #region         ---- testing a where clause using a rage of dates ---- 
+                       try
+                       {
+                               BeginCase("testing a where clause using a rage of dates");
+                               
+                               rowId = "54416_" + TestCaseNumber.ToString();
+                               con.Open();
+                               cmd = new OracleCommand(string.Format("insert into {0} (ID, {1}) values('{2}', :date1)", dateTableName, dateColumnName, rowId ));
+                               cmd.Connection = con;
+                               TestedDate1 = new DateTime(2007, 12, 31, 11, 59, 59);
+                               cmd.Parameters.Add(new OracleParameter("date1", OracleType.DateTime)).Value = TestedDate1;
+                               cmd.ExecuteNonQuery();
+                               //' checking that value returned correctly
+                               cmd = new OracleCommand(string.Format("select {0} from {1} where ID='{2}' and {0} >:date1 and {0} <:date2", dateColumnName, dateTableName, rowId));
+                               cmd.Connection = con;
+                               cmd.Parameters.Add(new OracleParameter("date1", OracleType.DateTime)).Value = TestedDate1.AddSeconds(-1);
+                               cmd.Parameters.Add(new OracleParameter("date2", OracleType.DateTime)).Value = TestedDate1.AddSeconds(+1);
+                               RetDate = Convert.ToDateTime(cmd.ExecuteScalar());
+                               Compare(TestedDate1, RetDate);
+                       } 
+                       catch(Exception ex)
+                       {
+                               exp = ex;
+                       }
+                       finally
+                       {
+                               if (dr != null)dr.Close();
+                               if ( (con != null) && (con.State == ConnectionState.Open) )
+                               {
+                                       CleanTestRow(rowId);
+                                       con.Close();
+                               }
+                               EndCase(exp);
+                               exp = null;
+                       }
+               
+                       #endregion
+
+                       #region         ---- testing a set statement ---- 
+                       try
+                       {
+                               BeginCase("testing a set statement");
+
+                               rowId = "54416_" + TestCaseNumber.ToString();
+                               con.Open();
+                               cmd = new OracleCommand(string.Format("insert into {0} (ID) values('{1}')", dateTableName, rowId));
+                               cmd.Connection = con;
+                               cmd.ExecuteNonQuery();
+                               cmd = new OracleCommand(string.Format("update {0} set {1} = :date1 where ID='{2}'", dateTableName, dateColumnName, rowId));
+                               cmd.Connection = con;
+                               TestedDate1 = new DateTime(2500, 1, 13, 1, 2, 3);
+                               cmd.Parameters.Add(new OracleParameter("date1", OracleType.DateTime)).Value = TestedDate1;
+                               cmd.ExecuteNonQuery();
+
+                               //' checking that value returned correctly
+                               cmd = new OracleCommand(string.Format("select {0} from {1} where ID='{2}' and {0}= :date1", dateColumnName, dateTableName, rowId));
+                               cmd.Connection = con;
+                               cmd.Parameters.Add(new OracleParameter("date1", OracleType.DateTime)).Value = TestedDate1;
+                               RetDate = Convert.ToDateTime(cmd.ExecuteScalar());
+                               Compare(TestedDate1, RetDate);
+                       } 
+                       catch(Exception ex)
+                       {
+                               exp = ex;
+                       }
+                       finally
+                       {
+                               if (dr != null)dr.Close();
+                               if ( (con != null) && (con.State == ConnectionState.Open) )
+                               {
+                                       CleanTestRow(rowId);
+                                       con.Close();
+                               }
+
+                               EndCase(exp);
+                               exp = null;
+                       }
+               
+                       #endregion
+               }
+
+               /// <summary>
+               /// Deletes a row from the date table, according to its ID.
+               /// </summary>
+               /// <param name="rowId">Id of the row to delete.</param>
+               private void CleanTestRow(string rowId)
+               {
+                       OracleCommand deleteCmd = new OracleCommand(string.Format("DELETE FROM {0} WHERE ID = '{1}'", dateTableName, rowId), con);
+                       deleteCmd.ExecuteNonQuery();
+               }
+       }
+}
\ No newline at end of file
diff --git a/mcs/class/System.Data.OracleClient/Test/System.Data.OracleClient.jvm/readme.txt b/mcs/class/System.Data.OracleClient/Test/System.Data.OracleClient.jvm/readme.txt
new file mode 100755 (executable)
index 0000000..9623eb3
--- /dev/null
@@ -0,0 +1,23 @@
+To run unit test the following should be prepared:
+
+1. nunit-console.exe.config should contain an ConnectionString setting, i.e.:
+
+<?xml version="1.0" encoding="utf-8" ?>
+<configuration>
+<appSettings>
+    <add key="ConnectionString" value="User ID=ghtdb;Password=ghtdb;Data Source=xp050" />
+  </appSettings>
+</configuration>
+
+2. A target db should be prepared with the relevant structure, following are the instruction for each supported database.
+
+in order to create the testing database, on ORACLE, run:
+Run the scripts with a user wich have administrator permissions. (by default user:system, password:mainsoft).
+
+sqlplus "user/password@database_sid" @GHTDB.ORACLE.sql
+sqlplus "user/password@database_sid" @GHTDB.Data.ORACLE.sql
+
+for example 
+sqlplus "system/mainsoft@rafim" @GHTDB.ORACLE.sql
+sqlplus "system/mainsoft@rafim" @GHTDB.Data.ORACLE.sql
+