Many hyperlinks are disabled.
Use anonymous login
to enable hyperlinks.
Overview
Comment: | Refactor how the DataDirectory 'macro' is handled. |
---|---|
Downloads: | Tarball | ZIP archive |
Timelines: | family | ancestors | descendants | both | dbFileName |
Files: | files | file ages | folders |
SHA1: |
f6b0cf9152ed16fd4ae2c6524a074f63 |
User & Date: | mistachkin 2015-09-04 22:41:47.891 |
Context
2015-09-09
| ||
23:46 | Add FileName property to the SQLiteConnection class. check-in: d0d6e924bc user: mistachkin tags: trunk | |
2015-09-04
| ||
22:41 | Refactor how the DataDirectory 'macro' is handled. Closed-Leaf check-in: f6b0cf9152 user: mistachkin tags: dbFileName | |
19:59 | Add FileName property to the SQLiteConnection class. check-in: 71cc174339 user: mistachkin tags: dbFileName | |
Changes
Changes to System.Data.SQLite/SQLiteConnection.cs.
︙ | ︙ | |||
2744 2745 2746 2747 2748 2749 2750 | { if (isMemory) fileName = MemoryFileName; else { #if PLATFORM_COMPACTFRAMEWORK if (fileName.StartsWith("./") || fileName.StartsWith(".\\")) | | | 2744 2745 2746 2747 2748 2749 2750 2751 2752 2753 2754 2755 2756 2757 2758 | { if (isMemory) fileName = MemoryFileName; else { #if PLATFORM_COMPACTFRAMEWORK if (fileName.StartsWith("./") || fileName.StartsWith(".\\")) fileName = Path.GetDirectoryName(Assembly.GetCallingAssembly().GetName().CodeBase) + fileName.Substring(1); #endif bool toFullPath = SQLiteConvert.ToBoolean(FindKey(opts, "ToFullPath", DefaultToFullPath.ToString())); fileName = ExpandFileName(fileName, toFullPath); } } try |
︙ | ︙ | |||
3812 3813 3814 3815 3816 3817 3818 3819 3820 3821 3822 3823 3824 3825 3826 3827 3828 3829 | } // // NOTE: No match, return the input string verbatim. // return value; } /// <summary> /// Expand the filename of the data source, resolving the |DataDirectory| /// macro as appropriate. /// </summary> /// <param name="sourceFile">The database filename to expand</param> /// <param name="toFullPath"> /// Non-zero if the returned file name should be converted to a full path /// (except when using the .NET Compact Framework). /// </param> /// <returns>The expanded path and filename of the filename</returns> | > > > > > > > > > > > > > > > > > > > > > > > > | | | | | < < < < < < < < | | | | | | | | | | | | 3812 3813 3814 3815 3816 3817 3818 3819 3820 3821 3822 3823 3824 3825 3826 3827 3828 3829 3830 3831 3832 3833 3834 3835 3836 3837 3838 3839 3840 3841 3842 3843 3844 3845 3846 3847 3848 3849 3850 3851 3852 3853 3854 3855 3856 3857 3858 3859 3860 3861 3862 3863 3864 3865 3866 3867 3868 3869 3870 3871 3872 3873 3874 3875 3876 3877 3878 3879 3880 3881 3882 3883 | } // // NOTE: No match, return the input string verbatim. // return value; } /// <summary> /// Determines the directory to be used when dealing with the "|DataDirectory|" /// macro in a database file name. /// </summary> /// <returns> /// The directory to use in place of the "|DataDirectory|" macro -OR- null if it /// cannot be determined. /// </returns> private static string GetDataDirectory() { #if PLATFORM_COMPACTFRAMEWORK string result = Path.GetDirectoryName( Assembly.GetCallingAssembly().GetName().CodeBase); #else string result = AppDomain.CurrentDomain.GetData( "DataDirectory") as string; if (String.IsNullOrEmpty(result)) result = AppDomain.CurrentDomain.BaseDirectory; #endif return result; } /// <summary> /// Expand the filename of the data source, resolving the |DataDirectory| /// macro as appropriate. /// </summary> /// <param name="sourceFile">The database filename to expand</param> /// <param name="toFullPath"> /// Non-zero if the returned file name should be converted to a full path /// (except when using the .NET Compact Framework). /// </param> /// <returns>The expanded path and filename of the filename</returns> private static string ExpandFileName(string sourceFile, bool toFullPath) { if (String.IsNullOrEmpty(sourceFile)) return sourceFile; if (sourceFile.StartsWith(_dataDirectory, StringComparison.OrdinalIgnoreCase)) { string dataDirectory = GetDataDirectory(); if (sourceFile.Length > _dataDirectory.Length) { if (sourceFile[_dataDirectory.Length] == Path.DirectorySeparatorChar || sourceFile[_dataDirectory.Length] == Path.AltDirectorySeparatorChar) sourceFile = sourceFile.Remove(_dataDirectory.Length, 1); } sourceFile = Path.Combine(dataDirectory, sourceFile.Substring(_dataDirectory.Length)); } #if !PLATFORM_COMPACTFRAMEWORK if (toFullPath) sourceFile = Path.GetFullPath(sourceFile); #endif return sourceFile; } ///<overloads> /// The following commands are used to extract schema information out of the database. Valid schema types are: /// <list type="bullet"> /// <item> /// <description>MetaDataCollections</description> |
︙ | ︙ |