You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
* fix array index and array length for byte arrays
* [GitHub Actions] Update green tests.
* Fix Contains with byte array. and fix getting length if an odd number of bytes
* fix array index and array length for byte arrays
* Fix Contains with byte array. and fix getting length if an odd number of bytes
* Enforce an optin methodology using EF.Functions for the byte array length due to certain situations with unicode strings
* Split error message and details into 2 parts
/// Returns the length of <paramref name="byteArray"/>, or the length of <paramref name="byteArray"/> <c>-1</c> in some cases. If the actual length of <paramref name="byteArray"/> is even and the last byte is
455
+
/// <c>0x00</c>, the length of <paramref name="byteArray"/> <c>-1</c> is returned. Otherwise, the actual length of <paramref name="byteArray"/> is returned.
456
+
/// </summary>
457
+
/// <remarks>
458
+
/// <para>
459
+
/// Jet SQL reads byte arrays into strings. As Jet uses Unicode, the internal length will always be a multiple of 2. If your data has an odd number of bytes, Jet internally adds a <c>0x00</c> byte to
460
+
/// the end of the array.
461
+
/// </para>
462
+
/// <para>
463
+
/// This method will test if the last byte of the array is <c>0x00</c>. If it is <c>0x00</c>, it is assumed that the last byte was added by Jet to fill the array to an even number of bytes and the internal
464
+
/// length <c>-1</c> is returned. In all other cases, the internal length is returned.
465
+
/// </para>
466
+
/// <para>
467
+
/// If the actual data length is odd, this method will always return the original length, independent of the value of the last byte of the original data.
468
+
/// <br/>
469
+
/// If the actual data length is even and the original data does not end with a <c>0x00</c> byte, this method will return the original length.
470
+
/// <br/>
471
+
/// If the actual data length is even and the original data does end with a <c>0x00</c> byte, this method will return the original length <c>-1</c>.
472
+
/// </para>
473
+
/// <para>
474
+
/// If your data will never end in <c>0x00</c> you can use this extension method safely, otherwise it is highly recommended to only use client evaluation.
<value>MS Access/Jet does not support querying into JSON collections.</value>
267
+
</data>
268
+
<dataname="ByteArrayLength"xml:space="preserve">
269
+
<value>Returning the exact length of a byte array is not supported by Jet. Please rewrite your query or switch to client evaluation. There is support for a 'EF.Functions.ByteArrayLength' method that will return the correct byte array length in most cases with certain exceptions. Please read its documentation carefully, before considering to use it.</value>
0 commit comments