The Data Provider has been changed to read the ControlData flag from Gateway config response parcel. This change would allow the Data Provider to support Security Policy while connected to Unity and Unity is managing two disparate Teradata Database systems such as 13.10, 14.10.
The Data Provider integrates with Microsoft Visual Studio 2012 and 2013.
Source files that reside on a client machine can be specified in the Data Definition Language (DDL) statement when creating a function (Store Procedure, User Defined Function, User Defined Type). In previous releases of the provider the source file was required to reside on the Teradata Database Server. New events (TdConnection.OpenFile, TdConnection.CloseFile) and delegates (TdOpenFileEventHandler, TdCloseFileEventHandler) have been added to enable source code to reside on the client machine.
The Entity Provider for Teradata supports new Teradata Database domain specific functions introduced in Teradata Database 14.00. These functions include arithmetic, string, data type conversion, datetime and interval, null handling, regular expression, Lob and miscellaneous function types.
UDTName metadata column is set to the fully qualified UDT name if the underlying column is a user defined type, else this value will be null.
Row Interdependency and statement independence features.
Native images (NGEN) of the assemblies are now generated during the installation of the Data Provider. The native image generation is only performed when the .NET Framework 3.5 (CLR 2.0) is available.
TdDataReader.GetValue method incorrectly returned a Byte-Array for a XML column. It now returns a String object. This problem has been fixed.
In a few specific scenarios, the .NET TerGSS failed to logon using the LDAP mechanism resulting in the "authentication token is invalid" exception. This problem has been fixed.
TdDataReader.GetProviderSpecificValue method threw an exception for a XML value. TdDataReader.GetProviderSpecificValue method now returns a TdXml object when CommandBehavior is set to Default and it returns a System.String object when CommandBehavior is set to SequentialAccess. This problem has been fixed.
TdDataReader.GetBytes methods incorrectly converted a XML value to an array of bytes even though the Data Provider does not support XML to Byte-Array conversion. TdDataReader.GetBytes methods now throw an InvalidCastException for a XML value. This problem has been fixed.
TdDataAdapter.Update method threw an InvalidOperationException when the Batch Update had LOB (BLOB, CLOB or XML) parameters and all LOB parameters in the very first row were set to NULL. This problem has been fixed.
TdDataReader.GetChars method threw an ArgumentOutOfRangeException in UTF16 Session Character Set when the dataOffset argument was greater than the field length. TdDataReader.GetChars method now returns Zero and it does not copy any data to the application's Buffer. This problem has been fixed.
The Entity Model Designer did not add a stored procedure or a function to the Entity Data Model when the stored procedure or function had one or more Number parameters. This problem has been fixed.
SchemaLoader returned an "Cannot set COLUMN_INFO" error while loading metadata about views when one or more view column is a number datatype. This problem has been fixed.
The Entity Model Designer did not add a table or a stored procedure or a function to the Entity Data Model when the table or stored procedure or function had one or more Xml columns or Xml parameters. This problem has been fixed.
In some situations the provider will hang when performing a batch update. This occurs when Statement Independence is used and database errors occur when a table is updated (TdDataAdapter.Update) with the data from the specified DataTable. The provider should report any errors that is returned from the Teradata Database. However, under certain conditions the provider will hang instead of report the errors. This problem has been fixed.
TdDecimal.Parse can now parse a string with more than 38 digits. The resultant value will either be truncated or rounded. If the number of integral digits alone exceed 38 then an Overflow exception will be thrown. This behavior is similar to System.Decimal.Parse.
String passed as input to TdDecimal.Parse can have the +/- sign at front or at back. TdDecimal.Parse has been modified to match System.Decimal behaviour.
String passed as input to TdNumber.Parse can have the +/- sign only at the front. This behaviour is in accordance with System.Double.
The Data Provider did not consider Merge-Into activity count. TdCommand.ExecuteNonQuery and TdDataReader.RecordsAffected will report the activity count for a Merge-Into operation. This problem has been fixed.
TdNumber.Parse did not discard any leading zeros in the integral part of the input string. When an input string has many leading zeros in the integral part, the parse resulted in a format exception. This problem has been fixed.
InstallUtil failures that occur during the installation of the Data Provider were not being reported. Details of the failure are now written to the log file. This problem has been fixed.
The method TdCommandBuilder.DeriveParameter was constructing the command to retrieve the parameters of a stored procedure incorrectly. Double quotes were being placed around the stored procedure name when the database name was pre-appended to the procedure name. This problem has been fixed.