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. 14.10.
The Data Provider supports the Recoverable Network Protocol (RNP) in sessions that have enabled the Redrive feature. RNP enables the Data Provider to automatically reconnect after a network disconnect or failure has occurred. After the Data Provider re-establishes the connection, the Data Provider will either resume data retrieval, re-execute the command or return an error if the command was unable to be redriven. For more information refer to Redrive and Recoverable Network Protocol Support.
The Entity Provider now supports importing a User Defined Function (UDF) into the entity model and calling it in an Entity SQL query. The Entity Provider used to throw a NotSupported exception when a User Defined Function (UDF) was called in an Entity SQL.
A new guideline has been added to the Batch Update regarding Insertion of LOB Column with a Stream/TextReader.
TdDataReader.GetValue method incorrectly returned a Byte-Array for a XML column. It now returns a String object.
In a few specific scenarios, the .NET TerGSS failed to logon using the LDAP mechanism resulting in the "authentication token is invalid" exception. This issue has been fixed.
The Data Provider will now handle error code 3116 ("Response buffer size is insufficient to hold one record") during transfer of External Stored Procedure (XSP) and User Defined Function (UDF) source code files from the workstation to the Teradata Database. The Data Provider will increase the internal response buffer size and successfully execute the XSP or UDF DDL statement.
The Data Provider will now throw appropriate exception (e.g. error code 115009 or 115002) when it detects a network fault instead of "[100001] Cannot close an active request. Please abort the request." exception.
The Data Provider will detect a Parameter declaration discrepancy when Batch Update (TdDataAdapter.UpdateBatchSize > 1) is enabled and DataAdapter.ContinueUpdateOnError is set to true. The Data Provider detects that the TdParameter.IsNullable property is set to false but the TdParameter.Value is set to DBNull.Value. The Data Provider sets the DataRow.HasErrors property to true and DataRow.RowError property to Error # 121007 when it detects this issue. The Teradata Database will detect this discrepancy when Batch Update (TdDataAdapter.UpdateBatchSize == 1) is turned off or ContinueUpdateOnError is set to false. The Teradata Database will return error # 2869.
The TdParameter.Value property will now return a String object for CLOB, JSON and XML output parameter and it will return a Byte-array for a BLOB output parameter. Previously, it returned a TdClob object for CLOB and JSON, TdXML for XML and TdBlob for BLOB output parameter. The TdParameter.Value property now consistently returns a .NET Framework primitive data type. An application must use TdParameter.ProviderSpecificValue for retrieving the Data Provider specific value. For additional information refer to the Migration Considerations page.
The Data Provider will now avoid the round-trip to the Teradata Database for a HELP SESSION request during log on. The internal response buffer size used to be small (8192) during log on and the Data Provider would increase the response buffer size after it receives a request from the Teradata Database. This round-trip is now avoided as the internal response buffer size is set to its default value of 65000.
The Entity Provider will now set the MaxLength facet for Output function parameters of type Char, VarChar, VarByte and Byte to 64000 and parameters of type JSON to 16776192 if the MaxLength facet was not specified in SSDL. The Data Provider will throw an InvalidOperation Exception if it detects that the Size property is set to Zero for a varying length parameter type. This situation is now avoided for Output parameters of these data types since the Entity Provider sets the MaxLength facet value, if it is not already specified in the SSDL. For additional information, please refer to the following link on Entity Provider Function Import Support.
The Data Provider could potentially throw a [100012] Invalid Parcel Flavor error or enter into a hang state if there are extra bytes received from the Teradata Database after an EndRequest parcel is received when ReadAhead is turned on. The Data Provider is fixed to not process any extra bytes in the message received from the Teradata Database and return once it encounters an EndRequest parcel during ReadAhead processing.
The TdDataAdapter now holds a weak reference to the DataRow objects allowing the garbage collector to free the memory. The DataAdapter also releases the references to the DataRows when an application commits a transaction and starts a new transaction during the Update operation.
A problem related to the TOP operator in Entity SQL has been fixed. The Entity Provider did not support TOP specified in the operands of a SET operator when using .NET Framework 4.5 or greater.