System.Data.SQLite
Check-in [c1d2964281]
Not logged in

Many hyperlinks are disabled.
Use anonymous login to enable hyperlinks.

Overview
Comment:Modify virtual methods for index estimated cost handling.
Downloads: Tarball | ZIP archive | SQL archive
Timelines: family | ancestors | descendants | both | virtualTables
Files: files | file ages | folders
SHA1: c1d296428129467d8a585a71f44e3af712e97878
User & Date: mistachkin 2013-06-22 20:04:08
Context
2013-06-22
20:05
Also update error message wording. check-in: f01efa4daa user: mistachkin tags: virtualTables
20:04
Modify virtual methods for index estimated cost handling. check-in: c1d2964281 user: mistachkin tags: virtualTables
02:51
Support compiling without built-in support for creating virtual tables in managed code, thus allowing the vtshim extension module to be excluded. check-in: a85fc42853 user: mistachkin tags: virtualTables
Changes
Hide Diffs Unified Diffs Ignore Whitespace Patch

Changes to System.Data.SQLite/SQLiteModule.cs.

2509
2510
2511
2512
2513
2514
2515
2516
2517

2518
2519
2520
2521
2522
2523
2524
2525









2526
2527
2528
2529
2530
2531
2532
            return SetTableError(pVtab, error);
        }
        #endregion

        ///////////////////////////////////////////////////////////////////////

        #region Index Handling Helper Methods
        protected virtual bool SetDefaultEstimatedCost(
            SQLiteIndex index

            )
        {
            if ((index == null) || (index.Outputs == null))
                return false;

            index.Outputs.EstimatedCost = DefaultCost;
            return true;
        }









        #endregion
        #endregion

        ///////////////////////////////////////////////////////////////////////

        #region Public Properties
        private bool logErrors;







|
|
>





|


>
>
>
>
>
>
>
>
>







2509
2510
2511
2512
2513
2514
2515
2516
2517
2518
2519
2520
2521
2522
2523
2524
2525
2526
2527
2528
2529
2530
2531
2532
2533
2534
2535
2536
2537
2538
2539
2540
2541
2542
            return SetTableError(pVtab, error);
        }
        #endregion

        ///////////////////////////////////////////////////////////////////////

        #region Index Handling Helper Methods
        protected virtual bool SetEstimatedCost(
            SQLiteIndex index,
            double estimatedCost
            )
        {
            if ((index == null) || (index.Outputs == null))
                return false;

            index.Outputs.EstimatedCost = estimatedCost;
            return true;
        }

        ///////////////////////////////////////////////////////////////////////

        protected virtual bool SetEstimatedCost(
            SQLiteIndex index
            )
        {
            return SetEstimatedCost(index, DefaultCost);
        }
        #endregion
        #endregion

        ///////////////////////////////////////////////////////////////////////

        #region Public Properties
        private bool logErrors;

Changes to System.Data.SQLite/SQLiteModuleEnumerable.cs.

231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
        public override SQLiteErrorCode BestIndex(
            SQLiteVirtualTable table,
            SQLiteIndex index
            )
        {
            CheckDisposed();

            if (!SetDefaultEstimatedCost(index))
            {
                SetTableError(table, "failed to set default estimated cost");
                return SQLiteErrorCode.Error;
            }

            return SQLiteErrorCode.Ok;
        }







|







231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
        public override SQLiteErrorCode BestIndex(
            SQLiteVirtualTable table,
            SQLiteIndex index
            )
        {
            CheckDisposed();

            if (!SetEstimatedCost(index))
            {
                SetTableError(table, "failed to set default estimated cost");
                return SQLiteErrorCode.Error;
            }

            return SQLiteErrorCode.Ok;
        }