Many hyperlinks are disabled.
Use anonymous login
to enable hyperlinks.
Overview
Comment: | Support the DateTimeKind and BaseSchemaName connection string properties in the SQLiteConnectionStringBuilder class. Also, make getting and setting the DateTimeFormat property slightly more robust. |
---|---|
Downloads: | Tarball | ZIP archive |
Timelines: | family | ancestors | descendants | both | trunk |
Files: | files | file ages | folders |
SHA1: |
20ee87087bc9304a333cbf5ab471ca37 |
User & Date: | mistachkin 2011-12-20 00:03:21.312 |
Context
2011-12-20
| ||
00:05 | Throw an exception if an unsupported object type is detected in the DateTimeFormat property. check-in: 68b19e5f02 user: mistachkin tags: trunk | |
00:03 | Support the DateTimeKind and BaseSchemaName connection string properties in the SQLiteConnectionStringBuilder class. Also, make getting and setting the DateTimeFormat property slightly more robust. check-in: 20ee87087b user: mistachkin tags: trunk | |
2011-12-19
| ||
06:31 | Fix broken archive link and formatting for the support page. check-in: c72613c76e user: mistachkin tags: trunk | |
Changes
Changes to System.Data.SQLite/SQLiteConnection.cs.
︙ | ︙ | |||
170 171 172 173 174 175 176 | /// <summary> /// The default "stub" (i.e. placeholder) base schema name to use when /// returning column schema information. Used as the initial value of /// the BaseSchemaName property. This should start with "sqlite_*" /// because those names are reserved for use by SQLite (i.e. they cannot /// be confused with the names of user objects). /// </summary> | | | 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 | /// <summary> /// The default "stub" (i.e. placeholder) base schema name to use when /// returning column schema information. Used as the initial value of /// the BaseSchemaName property. This should start with "sqlite_*" /// because those names are reserved for use by SQLite (i.e. they cannot /// be confused with the names of user objects). /// </summary> internal const string DefaultBaseSchemaName = "sqlite_default_schema"; private const int SQLITE_FCNTL_WIN32_AV_RETRY = 9; private const string _dataDirectory = "|DataDirectory|"; private const string _masterdb = "sqlite_master"; private const string _tempmasterdb = "sqlite_temp_master"; |
︙ | ︙ |
Changes to System.Data.SQLite/SQLiteConnectionStringBuilder.cs.
︙ | ︙ | |||
386 387 388 389 390 391 392 | set { this["cache size"] = value; } } /// <summary> | | | | | > | > > > | | > > > | | | | | | > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > | 386 387 388 389 390 391 392 393 394 395 396 397 398 399 400 401 402 403 404 405 406 407 408 409 410 411 412 413 414 415 416 417 418 419 420 421 422 423 424 425 426 427 428 429 430 431 432 433 434 435 436 437 438 439 440 441 442 443 444 445 446 447 448 449 450 451 452 453 454 455 456 457 458 459 460 461 462 463 464 465 466 467 468 469 470 471 472 473 474 475 476 477 478 479 480 481 482 | set { this["cache size"] = value; } } /// <summary> /// Gets/Sets the DateTime format for the connection. /// </summary> [Browsable(true)] [DefaultValue(SQLiteDateFormats.Default)] public SQLiteDateFormats DateTimeFormat { get { object value; if (TryGetValue("datetimeformat", out value)) { if (value is SQLiteDateFormats) return (SQLiteDateFormats)value; else if (value is string) return (SQLiteDateFormats)TypeDescriptor.GetConverter( typeof(SQLiteDateFormats)).ConvertFrom(value); } return SQLiteDateFormats.Default; } set { this["datetimeformat"] = value; } } /// <summary> /// Gets/Sets the DateTime kind for the connection. /// </summary> [Browsable(true)] [DefaultValue(DateTimeKind.Unspecified)] public DateTimeKind DateTimeKind { get { object value; if (TryGetValue("datetimekind", out value)) { if (value is DateTimeKind) return (DateTimeKind)value; else if (value is string) return (DateTimeKind)TypeDescriptor.GetConverter( typeof(DateTimeKind)).ConvertFrom(value); else throw new NotSupportedException(); } return DateTimeKind.Unspecified; } set { this["datetimekind"] = value; } } /// <summary> /// Gets/Sets the placeholder base schema name used for /// .NET Framework compatibility purposes. /// </summary> [Browsable(true)] [DefaultValue(SQLiteConnection.DefaultBaseSchemaName)] public string BaseSchemaName { get { object value; if (TryGetValue("baseschemaname", out value)) { if (value is string) return (string)value; else if (value != null) return value.ToString(); } return null; } set { this["baseschemaname"] = value; } } /// <summary> /// Determines how SQLite handles the transaction journal file. /// </summary> [Browsable(true)] [DefaultValue(SQLiteJournalModeEnum.Delete)] |
︙ | ︙ |
Changes to Tests/basic.eagle.
︙ | ︙ | |||
830 831 832 833 834 835 836 837 838 839 840 841 842 843 | {y2 ${date}T12:00:00.0000000Z}}} {9 {{x 9} {y2 2009-12-16T12:00:00.0000000Z}}}\ {10 {{x 10} {y2 2009-12-16T00:00:00.0000000Z}}} {11 {{x 11} {y2\ ${date}T12:00:00.0000000Z}}} {12 {{x 12} {y2 2009-12-16T12:00:00.0000000Z}}}}]} ############################################################################### unset -nocomplain date ############################################################################### unset -nocomplain testExeFile testLinqExeFile northwindEfDbFile testLinqOutFile ############################################################################### | > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > | 830 831 832 833 834 835 836 837 838 839 840 841 842 843 844 845 846 847 848 849 850 851 852 853 854 855 856 857 858 859 860 861 862 863 864 865 866 867 868 869 870 871 872 873 874 875 876 877 878 879 880 881 882 883 884 885 886 887 888 889 890 891 892 893 894 895 896 897 898 899 900 901 902 903 904 | {y2 ${date}T12:00:00.0000000Z}}} {9 {{x 9} {y2 2009-12-16T12:00:00.0000000Z}}}\ {10 {{x 10} {y2 2009-12-16T00:00:00.0000000Z}}} {11 {{x 11} {y2\ ${date}T12:00:00.0000000Z}}} {12 {{x 12} {y2 2009-12-16T12:00:00.0000000Z}}}}]} ############################################################################### unset -nocomplain date ############################################################################### runTest {test data-1.15 {SQLiteConnectionStringBuilder DateTime} -body { set id [object invoke Interpreter.GetActive NextId] unset -nocomplain results errors set code [compileCSharpWith [subst { using System.Data.SQLite; namespace _Dynamic${id} { public class Test${id} { public static string GetConnectionString(string format, string kind) { SQLiteConnectionStringBuilder builder = new SQLiteConnectionStringBuilder(); builder.Add("Date Source", "test.db"); builder.Add("DateTimeFormat", format); builder.Add("DateTimeKind", kind); return builder.ToString(); } public static void Main() { // do nothing. } } } }] results errors System.Data.SQLite.dll] list $code $results \ [expr {[info exists errors] ? $errors : ""}] \ [expr {$code eq "Ok" ? [catch { object invoke _Dynamic${id}.Test${id} GetConnectionString \ null null } result] : [set result ""]}] $result \ [expr {$code eq "Ok" ? [catch { object invoke _Dynamic${id}.Test${id} GetConnectionString \ Default null } result] : [set result ""]}] $result \ [expr {$code eq "Ok" ? [catch { object invoke _Dynamic${id}.Test${id} GetConnectionString \ null Unspecified } result] : [set result ""]}] $result \ [expr {$code eq "Ok" ? [catch { object invoke _Dynamic${id}.Test${id} GetConnectionString \ ISO8601 Utc } result] : [set result ""]}] $result } -cleanup { unset -nocomplain result results errors code id } -constraints \ {eagle monoBug28 command.sql compile.DATA SQLite System.Data.SQLite} -match \ regexp -result {^Ok System#CodeDom#Compiler#CompilerResults#\d+ \{\} 0 \{Date\ Source=test\.db\} 0 \{Date Source=test\.db;DateTimeFormat=ISO8601\} 0 \{Date\ Source=test\.db;DateTimeKind=Unspecified\} 0 \{Date\ Source=test\.db;DateTimeFormat=ISO8601;DateTimeKind=Utc\}$}} ############################################################################### unset -nocomplain testExeFile testLinqExeFile northwindEfDbFile testLinqOutFile ############################################################################### |
︙ | ︙ |