internal override int ContextCollateCompare(CollationEncodingEnum enc, IntPtr context, string s1, string s2) { #if !SQLITE_STANDARD byte[] b1; byte[] b2; System.Text.Encoding converter = null; switch (enc) { case CollationEncodingEnum.UTF8: converter = System.Text.Encoding.UTF8; break; case CollationEncodingEnum.UTF16LE: converter = System.Text.Encoding.Unicode; break; case CollationEncodingEnum.UTF16BE: converter = System.Text.Encoding.BigEndianUnicode; break; } b1 = converter.GetBytes(s1); b2 = converter.GetBytes(s2); return(UnsafeNativeMethods.sqlite3_context_collcompare(context, b1, b1.Length, b2, b2.Length)); #else throw new NotImplementedException(); #endif }
internal override int ContextCollateCompare(CollationEncodingEnum enc, IntPtr context, char[] c1, char[] c2) { Encoding unicode = null; switch (enc) { case CollationEncodingEnum.UTF8: unicode = Encoding.UTF8; break; case CollationEncodingEnum.UTF16LE: unicode = Encoding.Unicode; break; case CollationEncodingEnum.UTF16BE: unicode = Encoding.BigEndianUnicode; break; } byte[] bytes = unicode.GetBytes(c1); byte[] buffer2 = unicode.GetBytes(c2); return(UnsafeNativeMethods.sqlite3_context_collcompare(context, bytes, bytes.Length, buffer2, buffer2.Length)); }
internal abstract int ContextCollateCompare(CollationEncodingEnum enc, IntPtr context, char[] c1, char[] c2);
internal abstract int ContextCollateCompare(CollationEncodingEnum enc, IntPtr context, string s1, string s2);
internal override int ContextCollateCompare(CollationEncodingEnum enc, SqliteContextHandle context, char[] c1, char[] c2) { throw new NotImplementedException(); }
internal abstract int ContextCollateCompare(CollationEncodingEnum enc, SqliteContextHandle context, char[] c1, char[] c2);
internal abstract int ContextCollateCompare(CollationEncodingEnum enc, SqliteContextHandle context, string s1, string s2);
internal override int ContextCollateCompare(CollationEncodingEnum enc, IntPtr context, char[] c1, char[] c2) { #if !SQLITE_STANDARD byte[] b1; byte[] b2; System.Text.Encoding converter = null; switch (enc) { case CollationEncodingEnum.UTF8: converter = System.Text.Encoding.UTF8; break; case CollationEncodingEnum.UTF16LE: converter = System.Text.Encoding.Unicode; break; case CollationEncodingEnum.UTF16BE: converter = System.Text.Encoding.BigEndianUnicode; break; } b1 = converter.GetBytes(c1); b2 = converter.GetBytes(c2); return UnsafeNativeMethods.sqlite3_context_collcompare(context, b1, b1.Length, b2, b2.Length); #else throw new NotImplementedException(); #endif }
internal override int ContextCollateCompare(CollationEncodingEnum enc, Wrapper.SqliteContextHandle context, string s1, string s2) { throw new NotImplementedException(); }