Many hyperlinks are disabled.
Use anonymous login
to enable hyperlinks.
Overview
Comment: | Improve the SQL type detection code in the ColumnType method. |
---|---|
Downloads: | Tarball | ZIP archive |
Timelines: | family | ancestors | descendants | both | trunk |
Files: | files | file ages | folders |
SHA1: |
1f028b5b164aa60b1146d2f1003e5c4b |
User & Date: | mistachkin 2016-03-22 20:20:14.197 |
Context
2016-03-22
| ||
20:20 | Remove superfluous namespace qualifiers. check-in: 075e88e9e6 user: mistachkin tags: trunk | |
20:20 | Improve the SQL type detection code in the ColumnType method. check-in: 1f028b5b16 user: mistachkin tags: trunk | |
18:00 | Fix ColumnType method when not using the interop assembly. check-in: c5f0bf844f user: mistachkin tags: trunk | |
Changes
Changes to System.Data.SQLite/SQLite3.cs.
︙ | ︙ | |||
1898 1899 1900 1901 1902 1903 1904 | internal override TypeAffinity ColumnAffinity(SQLiteStatement stmt, int index) { return UnsafeNativeMethods.sqlite3_column_type(stmt._sqlite_stmt, index); } internal override string ColumnType(SQLiteStatement stmt, int index, ref TypeAffinity nAffinity) { | | | | | | | | > > | > > > | > | | < < < < < < < < | < < < < | 1898 1899 1900 1901 1902 1903 1904 1905 1906 1907 1908 1909 1910 1911 1912 1913 1914 1915 1916 1917 1918 1919 1920 1921 1922 1923 1924 1925 1926 1927 1928 1929 1930 1931 1932 1933 1934 1935 1936 1937 1938 | internal override TypeAffinity ColumnAffinity(SQLiteStatement stmt, int index) { return UnsafeNativeMethods.sqlite3_column_type(stmt._sqlite_stmt, index); } internal override string ColumnType(SQLiteStatement stmt, int index, ref TypeAffinity nAffinity) { int len; #if !SQLITE_STANDARD len = 0; IntPtr p = UnsafeNativeMethods.sqlite3_column_decltype_interop(stmt._sqlite_stmt, index, ref len); #else len = -1; IntPtr p = UnsafeNativeMethods.sqlite3_column_decltype(stmt._sqlite_stmt, index); #endif nAffinity = ColumnAffinity(stmt, index); if ((p != IntPtr.Zero) && ((len > 0) || (len == -1))) { string declType = UTF8ToString(p, len); if (!String.IsNullOrEmpty(declType)) return declType; } string[] ar = stmt.TypeDefinitions; if (ar != null) { if (index < ar.Length && ar[index] != null) return ar[index]; } return String.Empty; } internal override int ColumnIndex(SQLiteStatement stmt, string columnName) { int x = ColumnCount(stmt); for (int n = 0; n < x; n++) |
︙ | ︙ |