From 28c6aa1fbd6e001315d46fefb3a7a69727a101c4 Mon Sep 17 00:00:00 2001 From: xuejiaming <326308290@qq.com> Date: Wed, 1 Jun 2022 09:50:43 +0800 Subject: [PATCH] =?UTF-8?q?=E5=8D=95=E5=85=83=E6=B5=8B=E8=AF=95=E7=BC=93?= =?UTF-8?q?=E5=AD=98,=E5=B9=B6=E4=B8=94=E7=A7=BB=E9=99=A4=E8=A1=A8?= =?UTF-8?q?=E8=BE=BE=E5=BC=8F=E7=BC=96=E8=AF=91=E7=BC=93=E5=AD=98=E5=8A=9F?= =?UTF-8?q?=E8=83=BD?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../ShardingCoreBenchmark/EFCoreCrud.cs | 2 +- .../OrderVirtualTableRoute.cs | 2 +- samples/Sample.AutoCreateIfPresent/Program.cs | 2 +- .../IShardingEntityConfigOptions.cs | 20 +- .../ShardingEntityConfigOptions.cs | 16 +- ...tShardingOperatorVirtualDataSourceRoute.cs | 2 +- ...ParseCompileCacheVirtualDataSourceRoute.cs | 180 ++++++++--------- ...stractShardingOperatorVirtualTableRoute.cs | 2 +- ...RouteParseCompileCacheVirtualTableRoute.cs | 184 +++++++++--------- src/ShardingCore/ShardingCore.csproj | 4 +- .../Shardings/LogDayLongVirtualRoute.cs | 2 +- .../Shardings/LogDayVirtualTableRoute.cs | 2 +- .../Shardings/LogMonthLongvirtualRoute.cs | 2 +- .../LogWeekDateTimeVirtualTableRoute.cs | 2 +- .../LogWeekTimeLongVirtualTableRoute.cs | 2 +- .../Shardings/LogYearDateTimeVirtualRoute.cs | 2 +- .../Shardings/LogYearLongVirtualRoute.cs | 2 +- ...OrderAreaShardingVirtualDataSourceRoute.cs | 2 +- .../OrderCreateTimeVirtualTableRoute.cs | 2 +- .../Shardings/SysUserModIntVirtualRoute.cs | 2 +- .../Shardings/SysUserModVirtualTableRoute.cs | 2 +- .../SysUserSalaryVirtualTableRoute.cs | 2 +- .../Shardings/LogDayLongVirtualRoute.cs | 2 +- .../Shardings/LogDayVirtualTableRoute.cs | 2 +- .../Shardings/LogMonthLongvirtualRoute.cs | 2 +- .../LogWeekDateTimeVirtualTableRoute.cs | 2 +- .../LogWeekTimeLongVirtualTableRoute.cs | 2 +- .../Shardings/LogYearDateTimeVirtualRoute.cs | 2 +- .../Shardings/LogYearLongVirtualRoute.cs | 2 +- ...OrderAreaShardingVirtualDataSourceRoute.cs | 2 +- .../OrderCreateTimeVirtualTableRoute.cs | 2 +- .../Shardings/SysUserModIntVirtualRoute.cs | 2 +- .../Shardings/SysUserModVirtualTableRoute.cs | 2 +- .../SysUserSalaryVirtualTableRoute.cs | 2 +- .../Shardings/LogDayLongVirtualRoute.cs | 2 +- .../Shardings/LogDayVirtualTableRoute.cs | 2 +- .../Shardings/LogMonthLongvirtualRoute.cs | 2 +- .../LogWeekDateTimeVirtualTableRoute.cs | 2 +- .../LogWeekTimeLongVirtualTableRoute.cs | 2 +- .../Shardings/LogYearDateTimeVirtualRoute.cs | 2 +- .../Shardings/LogYearLongVirtualRoute.cs | 2 +- ...OrderAreaShardingVirtualDataSourceRoute.cs | 2 +- .../OrderCreateTimeVirtualTableRoute.cs | 2 +- .../Shardings/SysUserModIntVirtualRoute.cs | 2 +- .../Shardings/SysUserModVirtualTableRoute.cs | 2 +- .../SysUserSalaryVirtualTableRoute.cs | 2 +- .../Shardings/LogDayLongVirtualRoute.cs | 2 +- .../Shardings/LogDayVirtualTableRoute.cs | 2 +- .../Shardings/LogMonthLongvirtualRoute.cs | 2 +- .../LogWeekDateTimeVirtualTableRoute.cs | 2 +- .../LogWeekTimeLongVirtualTableRoute.cs | 2 +- .../Shardings/LogYearDateTimeVirtualRoute.cs | 2 +- .../Shardings/LogYearLongVirtualRoute.cs | 2 +- ...OrderAreaShardingVirtualDataSourceRoute.cs | 2 +- .../OrderCreateTimeVirtualTableRoute.cs | 2 +- .../Shardings/SysUserModIntVirtualRoute.cs | 2 +- .../Shardings/SysUserModVirtualTableRoute.cs | 2 +- .../SysUserSalaryVirtualTableRoute.cs | 2 +- 58 files changed, 256 insertions(+), 254 deletions(-) diff --git a/benchmarks/ShardingCoreBenchmark/EFCoreCrud.cs b/benchmarks/ShardingCoreBenchmark/EFCoreCrud.cs index d31c39d3..1d1de46c 100644 --- a/benchmarks/ShardingCoreBenchmark/EFCoreCrud.cs +++ b/benchmarks/ShardingCoreBenchmark/EFCoreCrud.cs @@ -113,7 +113,7 @@ namespace ShardingCore6x } - [Params(1)] + [Params(10)] public int N; diff --git a/benchmarks/ShardingCoreBenchmark/ShardingDbContexts/OrderVirtualTableRoute.cs b/benchmarks/ShardingCoreBenchmark/ShardingDbContexts/OrderVirtualTableRoute.cs index 3fc4ed55..52df9fec 100644 --- a/benchmarks/ShardingCoreBenchmark/ShardingDbContexts/OrderVirtualTableRoute.cs +++ b/benchmarks/ShardingCoreBenchmark/ShardingDbContexts/OrderVirtualTableRoute.cs @@ -11,7 +11,7 @@ namespace ShardingCore6x.ShardingDbContexts { internal class OrderVirtualTableRoute:AbstractSimpleShardingModKeyStringVirtualTableRoute { - public override bool? EnableRouteParseCompileCache => true; + ////public override bool? EnableRouteParseCompileCache => true; public OrderVirtualTableRoute() : base(2, 5) { diff --git a/samples/Sample.AutoCreateIfPresent/Program.cs b/samples/Sample.AutoCreateIfPresent/Program.cs index 61555ac9..5509c10a 100644 --- a/samples/Sample.AutoCreateIfPresent/Program.cs +++ b/samples/Sample.AutoCreateIfPresent/Program.cs @@ -30,7 +30,7 @@ builder.Services.AddShardingDbContext() .AddConfig(o => { o.ConfigId = "c1"; - o.AddDefaultDataSource("ds0", "server=127.0.0.1;port=3306;database=shardingTest;userid=root;password=root;"); + o.AddDefaultDataSource("ds0", "server=127.0.0.1;port=3306;database=shardingTest;userid=root;password=L6yBtV6qNENrwBy7;"); o.UseShardingQuery((conn, b) => { b.UseMySql(conn, new MySqlServerVersion(new Version())).UseLoggerFactory(efLogger); diff --git a/src/ShardingCore/Core/ShardingConfigurations/Abstractions/IShardingEntityConfigOptions.cs b/src/ShardingCore/Core/ShardingConfigurations/Abstractions/IShardingEntityConfigOptions.cs index e845d189..63dae43a 100644 --- a/src/ShardingCore/Core/ShardingConfigurations/Abstractions/IShardingEntityConfigOptions.cs +++ b/src/ShardingCore/Core/ShardingConfigurations/Abstractions/IShardingEntityConfigOptions.cs @@ -31,16 +31,16 @@ namespace ShardingCore.Core.ShardingConfigurations.Abstractions /// 忽略建表时的错误 /// bool? IgnoreCreateTableError { get; set; } - /// - /// 是否启用分表路由编译缓存(默认只缓存单个操作的也就是,>=,<,<=]]>) - /// default cache single filter route expression, ,>=,<,<=]]> with sharding property - /// - bool? EnableTableRouteCompileCache { get; set; } - /// - /// 是否启用分库路由编译缓存(默认只缓存单个操作的也就是,>=,<,<=]]>) - /// default cache single filter route expression, ,>=,<,<=]]> with sharding property - /// - bool? EnableDataSourceRouteCompileCache { get; set; } + ///// + ///// 是否启用分表路由编译缓存(默认只缓存单个操作的也就是,>=,<,<=]]>) + ///// default cache single filter route expression, ,>=,<,<=]]> with sharding property + ///// + //bool? EnableTableRouteCompileCache { get; set; } + ///// + ///// 是否启用分库路由编译缓存(默认只缓存单个操作的也就是,>=,<,<=]]>) + ///// default cache single filter route expression, ,>=,<,<=]]> with sharding property + ///// + //bool? EnableDataSourceRouteCompileCache { get; set; } /// /// 添加分库路由 /// diff --git a/src/ShardingCore/Core/ShardingConfigurations/ShardingEntityConfigOptions.cs b/src/ShardingCore/Core/ShardingConfigurations/ShardingEntityConfigOptions.cs index 7d198198..d90dcb4e 100644 --- a/src/ShardingCore/Core/ShardingConfigurations/ShardingEntityConfigOptions.cs +++ b/src/ShardingCore/Core/ShardingConfigurations/ShardingEntityConfigOptions.cs @@ -38,14 +38,14 @@ namespace ShardingCore.Core.ShardingConfigurations /// 当查询遇到没有路由被命中时是否抛出错误 /// public bool ThrowIfQueryRouteNotMatch { get; set; } = true; - /// - /// 全局启用分表路由表达式缓存,仅缓存单个表达式 - /// - public bool? EnableTableRouteCompileCache { get; set; } - /// - /// 全局启用分库路由表达式缓存,仅缓存单个表达式 - /// - public bool? EnableDataSourceRouteCompileCache { get; set; } + ///// + ///// 全局启用分表路由表达式缓存,仅缓存单个表达式 + ///// + //public bool? EnableTableRouteCompileCache { get; set; } + ///// + ///// 全局启用分库路由表达式缓存,仅缓存单个表达式 + ///// + //public bool? EnableDataSourceRouteCompileCache { get; set; } /// /// 忽略建表时的错误 /// diff --git a/src/ShardingCore/Core/VirtualRoutes/DataSourceRoutes/Abstractions/AbstractShardingOperatorVirtualDataSourceRoute.cs b/src/ShardingCore/Core/VirtualRoutes/DataSourceRoutes/Abstractions/AbstractShardingOperatorVirtualDataSourceRoute.cs index facf12e4..cde51765 100644 --- a/src/ShardingCore/Core/VirtualRoutes/DataSourceRoutes/Abstractions/AbstractShardingOperatorVirtualDataSourceRoute.cs +++ b/src/ShardingCore/Core/VirtualRoutes/DataSourceRoutes/Abstractions/AbstractShardingOperatorVirtualDataSourceRoute.cs @@ -22,7 +22,7 @@ namespace ShardingCore.Core.VirtualRoutes.DataSourceRoutes.Abstractions /// /// /// - public abstract class AbstractShardingOperatorVirtualDataSourceRoute : AbstractShardingRouteParseCompileCacheVirtualDataSourceRoute where TEntity : class + public abstract class AbstractShardingOperatorVirtualDataSourceRoute : AbstractShardingFilterVirtualDataSourceRoute where TEntity : class { protected override List DoRouteWithPredicate(List allDataSourceNames, IQueryable queryable) { diff --git a/src/ShardingCore/Core/VirtualRoutes/DataSourceRoutes/Abstractions/AbstractShardingRouteParseCompileCacheVirtualDataSourceRoute.cs b/src/ShardingCore/Core/VirtualRoutes/DataSourceRoutes/Abstractions/AbstractShardingRouteParseCompileCacheVirtualDataSourceRoute.cs index 0a30b39d..57db1540 100644 --- a/src/ShardingCore/Core/VirtualRoutes/DataSourceRoutes/Abstractions/AbstractShardingRouteParseCompileCacheVirtualDataSourceRoute.cs +++ b/src/ShardingCore/Core/VirtualRoutes/DataSourceRoutes/Abstractions/AbstractShardingRouteParseCompileCacheVirtualDataSourceRoute.cs @@ -1,94 +1,94 @@ -using System; -using System.Collections.Concurrent; -using System.Collections.Generic; -using System.Linq; -using System.Linq.Expressions; -using System.Text; -using System.Threading.Tasks; -using ShardingCore.Extensions; -using ShardingCore.Sharding.Visitors; +//using System; +//using System.Collections.Concurrent; +//using System.Collections.Generic; +//using System.Linq; +//using System.Linq.Expressions; +//using System.Text; +//using System.Threading.Tasks; +//using ShardingCore.Extensions; +//using ShardingCore.Sharding.Visitors; -namespace ShardingCore.Core.VirtualRoutes.DataSourceRoutes.Abstractions -{ - /// - /// 分库路由表达式解析缓存 - /// - /// - /// - public abstract class AbstractShardingRouteParseCompileCacheVirtualDataSourceRoute : AbstractShardingFilterVirtualDataSourceRoute where TEntity : class - { - private static readonly ConcurrentDictionary>, Func> _routeCompileCaches = new(new ExtensionExpressionComparer.RouteParseExpressionEqualityComparer()); - static AbstractShardingRouteParseCompileCacheVirtualDataSourceRoute() - { - Expression> defaultWhere1 = x => true; - _routeCompileCaches.TryAdd(defaultWhere1, defaultWhere1.Compile()); - Expression> defaultWhere2 = x => true; - var expression = defaultWhere2.And(defaultWhere1); - _routeCompileCaches.TryAdd(expression, expression.Compile()); - } - /// - /// 是否启用路由解析编译缓存 - /// - public virtual bool? EnableRouteParseCompileCache => null; +//namespace ShardingCore.Core.VirtualRoutes.DataSourceRoutes.Abstractions +//{ +// /// +// /// 分库路由表达式解析缓存 +// /// +// /// +// /// +// public abstract class AbstractShardingRouteParseCompileCacheVirtualDataSourceRoute : AbstractShardingFilterVirtualDataSourceRoute where TEntity : class +// { +// private static readonly ConcurrentDictionary>, Func> _routeCompileCaches = new(new ExtensionExpressionComparer.RouteParseExpressionEqualityComparer()); +// static AbstractShardingRouteParseCompileCacheVirtualDataSourceRoute() +// { +// Expression> defaultWhere1 = x => true; +// _routeCompileCaches.TryAdd(defaultWhere1, defaultWhere1.Compile()); +// Expression> defaultWhere2 = x => true; +// var expression = defaultWhere2.And(defaultWhere1); +// _routeCompileCaches.TryAdd(expression, expression.Compile()); +// } +// /// +// /// 是否启用路由解析编译缓存 +// /// +// public virtual bool? EnableRouteParseCompileCache => null; - public virtual bool EnableCompileCache() - { - if (EnableRouteParseCompileCache.HasValue) - return EnableRouteParseCompileCache.Value; - return EntityConfigOptions.EnableDataSourceRouteCompileCache.GetValueOrDefault(); - } +// public virtual bool EnableCompileCache() +// { +// if (EnableRouteParseCompileCache.HasValue) +// return EnableRouteParseCompileCache.Value; +// return EntityConfigOptions.EnableDataSourceRouteCompileCache.GetValueOrDefault(); +// } - /// - /// 对表达式进行缓存编译默认永久缓存单个参数表达式,且不包含orElse只包含单个AndAlso或者没有AndAlso的, - /// 比如:或者x]]>,不会缓存id>x && o.id等一共大于、等于、小于、大于等于、小于等于(不等于编译成true]]>)缓存会存在的数量个数上限为 - /// 表后缀x*5+2,当前表如果有300个后缀那么就是1502个缓存结果额外两个为true]]>和true and true]]> - /// - /// - /// - public virtual Func CachingCompile(Expression> parseWhere) - { - if (EnableCompileCache()) - { - var doCachingCompile = DoCachingCompile(parseWhere); - if (doCachingCompile != null) - return doCachingCompile; - doCachingCompile = CustomerCachingCompile(parseWhere); - if (doCachingCompile != null) - return doCachingCompile; - } - return parseWhere.Compile(); - } - /// - /// 系统默认永久单表达式缓存 - /// - /// - /// 返回null会走这个方法如果还是null就会调用方法 - protected virtual Func DoCachingCompile(Expression> parseWhere) - { - var shouldCache = ShouldCache(parseWhere); - if (shouldCache) - return _routeCompileCaches.GetOrAdd(parseWhere, key => parseWhere.Compile()); - return null; - } - /// - /// 表达式是否应该被缓存默认没有or并且and只有一个或者没有 - /// - /// - /// - protected bool ShouldCache(Expression whereExpression) - { - var routeParseCacheExpressionVisitor = new RouteParseCacheExpressionVisitor(); - routeParseCacheExpressionVisitor.Visit(whereExpression); - if (routeParseCacheExpressionVisitor.HasOrElse()) - return false; - if (routeParseCacheExpressionVisitor.AndAlsoCount() > 1) - return false; - return true; - } +// /// +// /// 对表达式进行缓存编译默认永久缓存单个参数表达式,且不包含orElse只包含单个AndAlso或者没有AndAlso的, +// /// 比如:或者x]]>,不会缓存id>x && o.id等一共大于、等于、小于、大于等于、小于等于(不等于编译成true]]>)缓存会存在的数量个数上限为 +// /// 表后缀x*5+2,当前表如果有300个后缀那么就是1502个缓存结果额外两个为true]]>和true and true]]> +// /// +// /// +// /// +// public virtual Func CachingCompile(Expression> parseWhere) +// { +// if (EnableCompileCache()) +// { +// var doCachingCompile = DoCachingCompile(parseWhere); +// if (doCachingCompile != null) +// return doCachingCompile; +// doCachingCompile = CustomerCachingCompile(parseWhere); +// if (doCachingCompile != null) +// return doCachingCompile; +// } +// return parseWhere.Compile(); +// } +// /// +// /// 系统默认永久单表达式缓存 +// /// +// /// +// /// 返回null会走这个方法如果还是null就会调用方法 +// protected virtual Func DoCachingCompile(Expression> parseWhere) +// { +// var shouldCache = ShouldCache(parseWhere); +// if (shouldCache) +// return _routeCompileCaches.GetOrAdd(parseWhere, key => parseWhere.Compile()); +// return null; +// } +// /// +// /// 表达式是否应该被缓存默认没有or并且and只有一个或者没有 +// /// +// /// +// /// +// protected bool ShouldCache(Expression whereExpression) +// { +// var routeParseCacheExpressionVisitor = new RouteParseCacheExpressionVisitor(); +// routeParseCacheExpressionVisitor.Visit(whereExpression); +// if (routeParseCacheExpressionVisitor.HasOrElse()) +// return false; +// if (routeParseCacheExpressionVisitor.AndAlsoCount() > 1) +// return false; +// return true; +// } - protected virtual Func CustomerCachingCompile(Expression> parseWhere) - { - return null; - } - } -} +// protected virtual Func CustomerCachingCompile(Expression> parseWhere) +// { +// return null; +// } +// } +//} diff --git a/src/ShardingCore/Core/VirtualRoutes/TableRoutes/Abstractions/AbstractShardingOperatorVirtualTableRoute.cs b/src/ShardingCore/Core/VirtualRoutes/TableRoutes/Abstractions/AbstractShardingOperatorVirtualTableRoute.cs index ffe959ee..1d1fd0c0 100644 --- a/src/ShardingCore/Core/VirtualRoutes/TableRoutes/Abstractions/AbstractShardingOperatorVirtualTableRoute.cs +++ b/src/ShardingCore/Core/VirtualRoutes/TableRoutes/Abstractions/AbstractShardingOperatorVirtualTableRoute.cs @@ -16,7 +16,7 @@ namespace ShardingCore.Core.VirtualRoutes.TableRoutes.Abstractions * @Date: Saturday, 19 December 2020 19:55:24 * @Email: 326308290@qq.com */ - public abstract class AbstractShardingOperatorVirtualTableRoute : AbstractShardingRouteParseCompileCacheVirtualTableRoute where TEntity : class + public abstract class AbstractShardingOperatorVirtualTableRoute : AbstractShardingFilterVirtualTableRoute where TEntity : class { protected override List DoRouteWithPredicate(List allPhysicTables, IQueryable queryable) { diff --git a/src/ShardingCore/Core/VirtualRoutes/TableRoutes/Abstractions/AbstractShardingRouteParseCompileCacheVirtualTableRoute.cs b/src/ShardingCore/Core/VirtualRoutes/TableRoutes/Abstractions/AbstractShardingRouteParseCompileCacheVirtualTableRoute.cs index 0725ab71..651de97e 100644 --- a/src/ShardingCore/Core/VirtualRoutes/TableRoutes/Abstractions/AbstractShardingRouteParseCompileCacheVirtualTableRoute.cs +++ b/src/ShardingCore/Core/VirtualRoutes/TableRoutes/Abstractions/AbstractShardingRouteParseCompileCacheVirtualTableRoute.cs @@ -1,95 +1,95 @@ -using System; -using System.Collections.Concurrent; -using System.Collections.Generic; -using System.Linq; -using System.Linq.Expressions; -using System.Text; -using System.Threading.Tasks; -using ShardingCore.Core.EntityMetadatas; -using ShardingCore.Core.PhysicTables; -using ShardingCore.Extensions; -using ShardingCore.Sharding.Visitors; +//using System; +//using System.Collections.Concurrent; +//using System.Collections.Generic; +//using System.Linq; +//using System.Linq.Expressions; +//using System.Text; +//using System.Threading.Tasks; +//using ShardingCore.Core.EntityMetadatas; +//using ShardingCore.Core.PhysicTables; +//using ShardingCore.Extensions; +//using ShardingCore.Sharding.Visitors; -namespace ShardingCore.Core.VirtualRoutes.TableRoutes.Abstractions -{ - /// - /// 路由解析缓存 - /// - /// - /// - public abstract class AbstractShardingRouteParseCompileCacheVirtualTableRoute : AbstractShardingFilterVirtualTableRoute where TEntity : class - { - private readonly ConcurrentDictionary>, Func> _routeCompileCaches = new(new ExtensionExpressionComparer.RouteParseExpressionEqualityComparer()); +//namespace ShardingCore.Core.VirtualRoutes.TableRoutes.Abstractions +//{ +// /// +// /// 路由解析缓存 +// /// +// /// +// /// +// public abstract class AbstractShardingRouteParseCompileCacheVirtualTableRoute : AbstractShardingFilterVirtualTableRoute where TEntity : class +// { +// private readonly ConcurrentDictionary>, Func> _routeCompileCaches = new(new ExtensionExpressionComparer.RouteParseExpressionEqualityComparer()); - protected AbstractShardingRouteParseCompileCacheVirtualTableRoute() - { - Expression> defaultWhere1 = x => true; - _routeCompileCaches.TryAdd(defaultWhere1, defaultWhere1.Compile()); - Expression> defaultWhere2 = x => true; - var expression = defaultWhere2.And(defaultWhere1); - _routeCompileCaches.TryAdd(expression, expression.Compile()); - } - /// - /// 是否启用路由解析编译缓存 - /// - public virtual bool? EnableRouteParseCompileCache => null; - public virtual bool EnableCompileCache() - { - if (EnableRouteParseCompileCache.HasValue) - return EnableRouteParseCompileCache.Value; - return EntityConfigOptions.EnableTableRouteCompileCache.GetValueOrDefault(); - } - /// - /// 对表达式进行缓存编译默认永久缓存单个参数表达式,且不包含orElse只包含单个AndAlso或者没有AndAlso的, - /// 比如:或者x]]>,不会缓存id>x && o.id等一共大于、等于、小于、大于等于、小于等于(不等于编译成true]]>)缓存会存在的数量个数上限为 - /// 表后缀x*5+2,当前表如果有300个后缀那么就是1502个缓存结果额外两个为true]]>和true and true]]> - /// - /// - /// - public virtual Func CachingCompile(Expression> parseWhere) - { - if (EnableCompileCache()) - { - var doCachingCompile = DoCachingCompile(parseWhere); - if (doCachingCompile != null) - return doCachingCompile; - doCachingCompile = CustomerCachingCompile(parseWhere); - if (doCachingCompile != null) - return doCachingCompile; - } - return parseWhere.Compile(); - } - /// - /// 系统默认永久单表达式缓存 - /// - /// - /// 返回null会走这个方法如果还是null就会调用方法 - protected virtual Func DoCachingCompile(Expression> parseWhere) - { - var shouldCache = ShouldCache(parseWhere); - if(shouldCache) - return _routeCompileCaches.GetOrAdd(parseWhere, key => parseWhere.Compile()); - return null; - } - /// - /// 表达式是否应该被缓存默认没有or并且and只有一个或者没有 - /// - /// - /// - protected bool ShouldCache(Expression whereExpression) - { - var routeParseCacheExpressionVisitor = new RouteParseCacheExpressionVisitor(); - routeParseCacheExpressionVisitor.Visit(whereExpression); - if (routeParseCacheExpressionVisitor.HasOrElse()) - return false; - if (routeParseCacheExpressionVisitor.AndAlsoCount() > 1) - return false; - return true; - } +// protected AbstractShardingRouteParseCompileCacheVirtualTableRoute() +// { +// Expression> defaultWhere1 = x => true; +// _routeCompileCaches.TryAdd(defaultWhere1, defaultWhere1.Compile()); +// Expression> defaultWhere2 = x => true; +// var expression = defaultWhere2.And(defaultWhere1); +// _routeCompileCaches.TryAdd(expression, expression.Compile()); +// } +// /// +// /// 是否启用路由解析编译缓存 +// /// +// public virtual bool? EnableRouteParseCompileCache => null; +// public virtual bool EnableCompileCache() +// { +// if (EnableRouteParseCompileCache.HasValue) +// return EnableRouteParseCompileCache.Value; +// return EntityConfigOptions.EnableTableRouteCompileCache.GetValueOrDefault(); +// } +// /// +// /// 对表达式进行缓存编译默认永久缓存单个参数表达式,且不包含orElse只包含单个AndAlso或者没有AndAlso的, +// /// 比如:或者x]]>,不会缓存id>x && o.id等一共大于、等于、小于、大于等于、小于等于(不等于编译成true]]>)缓存会存在的数量个数上限为 +// /// 表后缀x*5+2,当前表如果有300个后缀那么就是1502个缓存结果额外两个为true]]>和true and true]]> +// /// +// /// +// /// +// public virtual Func CachingCompile(Expression> parseWhere) +// { +// if (EnableCompileCache()) +// { +// var doCachingCompile = DoCachingCompile(parseWhere); +// if (doCachingCompile != null) +// return doCachingCompile; +// doCachingCompile = CustomerCachingCompile(parseWhere); +// if (doCachingCompile != null) +// return doCachingCompile; +// } +// return parseWhere.Compile(); +// } +// /// +// /// 系统默认永久单表达式缓存 +// /// +// /// +// /// 返回null会走这个方法如果还是null就会调用方法 +// protected virtual Func DoCachingCompile(Expression> parseWhere) +// { +// var shouldCache = ShouldCache(parseWhere); +// if(shouldCache) +// return _routeCompileCaches.GetOrAdd(parseWhere, key => parseWhere.Compile()); +// return null; +// } +// /// +// /// 表达式是否应该被缓存默认没有or并且and只有一个或者没有 +// /// +// /// +// /// +// protected bool ShouldCache(Expression whereExpression) +// { +// var routeParseCacheExpressionVisitor = new RouteParseCacheExpressionVisitor(); +// routeParseCacheExpressionVisitor.Visit(whereExpression); +// if (routeParseCacheExpressionVisitor.HasOrElse()) +// return false; +// if (routeParseCacheExpressionVisitor.AndAlsoCount() > 1) +// return false; +// return true; +// } - protected virtual Func CustomerCachingCompile(Expression> parseWhere) - { - return null; - } - } -} +// protected virtual Func CustomerCachingCompile(Expression> parseWhere) +// { +// return null; +// } +// } +//} diff --git a/src/ShardingCore/ShardingCore.csproj b/src/ShardingCore/ShardingCore.csproj index 512d2ad3..d93dcf1b 100644 --- a/src/ShardingCore/ShardingCore.csproj +++ b/src/ShardingCore/ShardingCore.csproj @@ -17,8 +17,11 @@ latest + + + @@ -34,7 +37,6 @@ - diff --git a/test/ShardingCore.Test/Shardings/LogDayLongVirtualRoute.cs b/test/ShardingCore.Test/Shardings/LogDayLongVirtualRoute.cs index 76cb9447..9feadc6d 100644 --- a/test/ShardingCore.Test/Shardings/LogDayLongVirtualRoute.cs +++ b/test/ShardingCore.Test/Shardings/LogDayLongVirtualRoute.cs @@ -12,7 +12,7 @@ namespace ShardingCore.Test.Shardings { public class LogDayLongVirtualRoute:AbstractSimpleShardingDayKeyLongVirtualTableRoute { - public override bool? EnableRouteParseCompileCache => true; + //public override bool? EnableRouteParseCompileCache => true; protected override bool EnableHintRoute => true; public override void Configure(EntityMetadataTableBuilder builder) diff --git a/test/ShardingCore.Test/Shardings/LogDayVirtualTableRoute.cs b/test/ShardingCore.Test/Shardings/LogDayVirtualTableRoute.cs index 24bf86ea..9c7cd93f 100644 --- a/test/ShardingCore.Test/Shardings/LogDayVirtualTableRoute.cs +++ b/test/ShardingCore.Test/Shardings/LogDayVirtualTableRoute.cs @@ -10,7 +10,7 @@ namespace ShardingCore.Test.Shardings { public class LogDayVirtualTableRoute:AbstractSimpleShardingDayKeyDateTimeVirtualTableRoute { - public override bool? EnableRouteParseCompileCache => true; + //public override bool? EnableRouteParseCompileCache => true; protected override bool EnableHintRoute => true; public override DateTime GetBeginTime() diff --git a/test/ShardingCore.Test/Shardings/LogMonthLongvirtualRoute.cs b/test/ShardingCore.Test/Shardings/LogMonthLongvirtualRoute.cs index 7ec6192b..d154ae15 100644 --- a/test/ShardingCore.Test/Shardings/LogMonthLongvirtualRoute.cs +++ b/test/ShardingCore.Test/Shardings/LogMonthLongvirtualRoute.cs @@ -12,7 +12,7 @@ namespace ShardingCore.Test.Shardings { public class LogMonthLongvirtualRoute:AbstractSimpleShardingMonthKeyLongVirtualTableRoute { - public override bool? EnableRouteParseCompileCache => true; + //public override bool? EnableRouteParseCompileCache => true; protected override bool EnableHintRoute => true; public override bool AutoCreateTableByTime() diff --git a/test/ShardingCore.Test/Shardings/LogWeekDateTimeVirtualTableRoute.cs b/test/ShardingCore.Test/Shardings/LogWeekDateTimeVirtualTableRoute.cs index 5cebebca..e0d4b0e0 100644 --- a/test/ShardingCore.Test/Shardings/LogWeekDateTimeVirtualTableRoute.cs +++ b/test/ShardingCore.Test/Shardings/LogWeekDateTimeVirtualTableRoute.cs @@ -7,7 +7,7 @@ namespace ShardingCore.Test.Shardings { public class LogWeekDateTimeVirtualTableRoute:AbstractSimpleShardingWeekKeyDateTimeVirtualTableRoute { - public override bool? EnableRouteParseCompileCache => true; + //public override bool? EnableRouteParseCompileCache => true; protected override bool EnableHintRoute => true; public override bool AutoCreateTableByTime() diff --git a/test/ShardingCore.Test/Shardings/LogWeekTimeLongVirtualTableRoute.cs b/test/ShardingCore.Test/Shardings/LogWeekTimeLongVirtualTableRoute.cs index 485f2fd1..61438f58 100644 --- a/test/ShardingCore.Test/Shardings/LogWeekTimeLongVirtualTableRoute.cs +++ b/test/ShardingCore.Test/Shardings/LogWeekTimeLongVirtualTableRoute.cs @@ -11,7 +11,7 @@ namespace ShardingCore.Test.Shardings { public class LogWeekTimeLongVirtualTableRoute : AbstractSimpleShardingWeekKeyLongVirtualTableRoute { - public override bool? EnableRouteParseCompileCache => true; + //public override bool? EnableRouteParseCompileCache => true; protected override bool EnableHintRoute => true; public override bool AutoCreateTableByTime() diff --git a/test/ShardingCore.Test/Shardings/LogYearDateTimeVirtualRoute.cs b/test/ShardingCore.Test/Shardings/LogYearDateTimeVirtualRoute.cs index e8429c2f..30fd1e00 100644 --- a/test/ShardingCore.Test/Shardings/LogYearDateTimeVirtualRoute.cs +++ b/test/ShardingCore.Test/Shardings/LogYearDateTimeVirtualRoute.cs @@ -11,7 +11,7 @@ namespace ShardingCore.Test.Shardings { public class LogYearDateTimeVirtualRoute:AbstractSimpleShardingYearKeyDateTimeVirtualTableRoute { - public override bool? EnableRouteParseCompileCache => true; + //public override bool? EnableRouteParseCompileCache => true; protected override bool EnableHintRoute => true; public override bool AutoCreateTableByTime() diff --git a/test/ShardingCore.Test/Shardings/LogYearLongVirtualRoute.cs b/test/ShardingCore.Test/Shardings/LogYearLongVirtualRoute.cs index 1ea94171..aff7a5a4 100644 --- a/test/ShardingCore.Test/Shardings/LogYearLongVirtualRoute.cs +++ b/test/ShardingCore.Test/Shardings/LogYearLongVirtualRoute.cs @@ -13,7 +13,7 @@ namespace ShardingCore.Test.Shardings { public class LogYearLongVirtualRoute:AbstractSimpleShardingYearKeyLongVirtualTableRoute { - public override bool? EnableRouteParseCompileCache => true; + //public override bool? EnableRouteParseCompileCache => true; protected override bool EnableHintRoute => true; public override void Configure(EntityMetadataTableBuilder builder) diff --git a/test/ShardingCore.Test/Shardings/OrderAreaShardingVirtualDataSourceRoute.cs b/test/ShardingCore.Test/Shardings/OrderAreaShardingVirtualDataSourceRoute.cs index f08fac8b..4021baca 100644 --- a/test/ShardingCore.Test/Shardings/OrderAreaShardingVirtualDataSourceRoute.cs +++ b/test/ShardingCore.Test/Shardings/OrderAreaShardingVirtualDataSourceRoute.cs @@ -11,7 +11,7 @@ namespace ShardingCore.Test.Shardings { public class OrderAreaShardingVirtualDataSourceRoute:AbstractShardingOperatorVirtualDataSourceRoute { - public override bool? EnableRouteParseCompileCache => true; + //public override bool? EnableRouteParseCompileCache => true; protected override bool EnableHintRoute =>true; private readonly List _dataSources = new List() diff --git a/test/ShardingCore.Test/Shardings/OrderCreateTimeVirtualTableRoute.cs b/test/ShardingCore.Test/Shardings/OrderCreateTimeVirtualTableRoute.cs index 23df785d..655caf85 100644 --- a/test/ShardingCore.Test/Shardings/OrderCreateTimeVirtualTableRoute.cs +++ b/test/ShardingCore.Test/Shardings/OrderCreateTimeVirtualTableRoute.cs @@ -9,7 +9,7 @@ namespace ShardingCore.Test.Shardings { public class OrderCreateTimeVirtualTableRoute:AbstractSimpleShardingMonthKeyDateTimeVirtualTableRoute { - public override bool? EnableRouteParseCompileCache => true; + //public override bool? EnableRouteParseCompileCache => true; public override DateTime GetBeginTime() { return new DateTime(2021, 1, 1); diff --git a/test/ShardingCore.Test/Shardings/SysUserModIntVirtualRoute.cs b/test/ShardingCore.Test/Shardings/SysUserModIntVirtualRoute.cs index 87c6da2d..8a42588e 100644 --- a/test/ShardingCore.Test/Shardings/SysUserModIntVirtualRoute.cs +++ b/test/ShardingCore.Test/Shardings/SysUserModIntVirtualRoute.cs @@ -12,7 +12,7 @@ namespace ShardingCore.Test.Shardings public class SysUserModIntVirtualRoute:AbstractSimpleShardingModKeyIntVirtualTableRoute { protected override bool EnableHintRoute => true; - public override bool? EnableRouteParseCompileCache => true; + //public override bool? EnableRouteParseCompileCache => true; public SysUserModIntVirtualRoute() : base(2, 3) { diff --git a/test/ShardingCore.Test/Shardings/SysUserModVirtualTableRoute.cs b/test/ShardingCore.Test/Shardings/SysUserModVirtualTableRoute.cs index 80d04314..d102f543 100644 --- a/test/ShardingCore.Test/Shardings/SysUserModVirtualTableRoute.cs +++ b/test/ShardingCore.Test/Shardings/SysUserModVirtualTableRoute.cs @@ -13,7 +13,7 @@ namespace ShardingCore.Test.Shardings public class SysUserModVirtualTableRoute : AbstractSimpleShardingModKeyStringVirtualTableRoute { protected override bool EnableHintRoute => true; - public override bool? EnableRouteParseCompileCache => true; + //public override bool? EnableRouteParseCompileCache => true; public SysUserModVirtualTableRoute() : base(2,3) { diff --git a/test/ShardingCore.Test/Shardings/SysUserSalaryVirtualTableRoute.cs b/test/ShardingCore.Test/Shardings/SysUserSalaryVirtualTableRoute.cs index 1ab38be6..94196038 100644 --- a/test/ShardingCore.Test/Shardings/SysUserSalaryVirtualTableRoute.cs +++ b/test/ShardingCore.Test/Shardings/SysUserSalaryVirtualTableRoute.cs @@ -16,7 +16,7 @@ namespace ShardingCore.Test.Shardings */ public class SysUserSalaryVirtualTableRoute:AbstractShardingOperatorVirtualTableRoute { - public override bool? EnableRouteParseCompileCache => true; + //public override bool? EnableRouteParseCompileCache => true; public override string ShardingKeyToTail(object shardingKey) { diff --git a/test/ShardingCore.Test2x/Shardings/LogDayLongVirtualRoute.cs b/test/ShardingCore.Test2x/Shardings/LogDayLongVirtualRoute.cs index dc2e72cc..b9cfcc30 100644 --- a/test/ShardingCore.Test2x/Shardings/LogDayLongVirtualRoute.cs +++ b/test/ShardingCore.Test2x/Shardings/LogDayLongVirtualRoute.cs @@ -10,7 +10,7 @@ namespace ShardingCore.Test2x.Shardings public class LogDayLongVirtualRoute:AbstractSimpleShardingDayKeyLongVirtualTableRoute { protected override bool EnableHintRoute => true; - public override bool? EnableRouteParseCompileCache => true; + ////public override bool? EnableRouteParseCompileCache => true; public override void Configure(EntityMetadataTableBuilder builder) { diff --git a/test/ShardingCore.Test2x/Shardings/LogDayVirtualTableRoute.cs b/test/ShardingCore.Test2x/Shardings/LogDayVirtualTableRoute.cs index ef1edc8c..c7b0ea03 100644 --- a/test/ShardingCore.Test2x/Shardings/LogDayVirtualTableRoute.cs +++ b/test/ShardingCore.Test2x/Shardings/LogDayVirtualTableRoute.cs @@ -11,7 +11,7 @@ namespace ShardingCore.Test2x.Shardings public class LogDayVirtualTableRoute:AbstractSimpleShardingDayKeyDateTimeVirtualTableRoute { protected override bool EnableHintRoute => true; - public override bool? EnableRouteParseCompileCache => true; + //public override bool? EnableRouteParseCompileCache => true; public override DateTime GetBeginTime() { diff --git a/test/ShardingCore.Test2x/Shardings/LogMonthLongvirtualRoute.cs b/test/ShardingCore.Test2x/Shardings/LogMonthLongvirtualRoute.cs index 73b3f69a..3f3ec19b 100644 --- a/test/ShardingCore.Test2x/Shardings/LogMonthLongvirtualRoute.cs +++ b/test/ShardingCore.Test2x/Shardings/LogMonthLongvirtualRoute.cs @@ -8,7 +8,7 @@ namespace ShardingCore.Test2x.Shardings public class LogMonthLongvirtualRoute:AbstractSimpleShardingMonthKeyLongVirtualTableRoute { protected override bool EnableHintRoute => true; - public override bool? EnableRouteParseCompileCache => true; + //public override bool? EnableRouteParseCompileCache => true; public override bool AutoCreateTableByTime() { diff --git a/test/ShardingCore.Test2x/Shardings/LogWeekDateTimeVirtualTableRoute.cs b/test/ShardingCore.Test2x/Shardings/LogWeekDateTimeVirtualTableRoute.cs index 1c5477eb..ff72683d 100644 --- a/test/ShardingCore.Test2x/Shardings/LogWeekDateTimeVirtualTableRoute.cs +++ b/test/ShardingCore.Test2x/Shardings/LogWeekDateTimeVirtualTableRoute.cs @@ -8,7 +8,7 @@ namespace ShardingCore.Test2x.Shardings public class LogWeekDateTimeVirtualTableRoute:AbstractSimpleShardingWeekKeyDateTimeVirtualTableRoute { protected override bool EnableHintRoute => true; - public override bool? EnableRouteParseCompileCache => true; + //public override bool? EnableRouteParseCompileCache => true; public override bool AutoCreateTableByTime() { diff --git a/test/ShardingCore.Test2x/Shardings/LogWeekTimeLongVirtualTableRoute.cs b/test/ShardingCore.Test2x/Shardings/LogWeekTimeLongVirtualTableRoute.cs index 4f3a8a75..33eba3af 100644 --- a/test/ShardingCore.Test2x/Shardings/LogWeekTimeLongVirtualTableRoute.cs +++ b/test/ShardingCore.Test2x/Shardings/LogWeekTimeLongVirtualTableRoute.cs @@ -8,7 +8,7 @@ namespace ShardingCore.Test2x.Shardings public class LogWeekTimeLongVirtualTableRoute : AbstractSimpleShardingWeekKeyLongVirtualTableRoute { protected override bool EnableHintRoute => true; - public override bool? EnableRouteParseCompileCache => true; + //public override bool? EnableRouteParseCompileCache => true; public override bool AutoCreateTableByTime() { diff --git a/test/ShardingCore.Test2x/Shardings/LogYearDateTimeVirtualRoute.cs b/test/ShardingCore.Test2x/Shardings/LogYearDateTimeVirtualRoute.cs index eae09f82..34157ec8 100644 --- a/test/ShardingCore.Test2x/Shardings/LogYearDateTimeVirtualRoute.cs +++ b/test/ShardingCore.Test2x/Shardings/LogYearDateTimeVirtualRoute.cs @@ -8,7 +8,7 @@ namespace ShardingCore.Test2x.Shardings public class LogYearDateTimeVirtualRoute:AbstractSimpleShardingYearKeyDateTimeVirtualTableRoute { protected override bool EnableHintRoute => true; - public override bool? EnableRouteParseCompileCache => true; + //public override bool? EnableRouteParseCompileCache => true; public override bool AutoCreateTableByTime() { diff --git a/test/ShardingCore.Test2x/Shardings/LogYearLongVirtualRoute.cs b/test/ShardingCore.Test2x/Shardings/LogYearLongVirtualRoute.cs index fbb843a9..a898f8c6 100644 --- a/test/ShardingCore.Test2x/Shardings/LogYearLongVirtualRoute.cs +++ b/test/ShardingCore.Test2x/Shardings/LogYearLongVirtualRoute.cs @@ -8,7 +8,7 @@ namespace ShardingCore.Test2x.Shardings public class LogYearLongVirtualRoute:AbstractSimpleShardingYearKeyLongVirtualTableRoute { protected override bool EnableHintRoute => true; - public override bool? EnableRouteParseCompileCache => true; + //public override bool? EnableRouteParseCompileCache => true; public override void Configure(EntityMetadataTableBuilder builder) { diff --git a/test/ShardingCore.Test2x/Shardings/OrderAreaShardingVirtualDataSourceRoute.cs b/test/ShardingCore.Test2x/Shardings/OrderAreaShardingVirtualDataSourceRoute.cs index 3dd0fb0a..78d07d82 100644 --- a/test/ShardingCore.Test2x/Shardings/OrderAreaShardingVirtualDataSourceRoute.cs +++ b/test/ShardingCore.Test2x/Shardings/OrderAreaShardingVirtualDataSourceRoute.cs @@ -12,7 +12,7 @@ namespace ShardingCore.Test2x.Shardings public class OrderAreaShardingVirtualDataSourceRoute:AbstractShardingOperatorVirtualDataSourceRoute { protected override bool EnableHintRoute =>true; - public override bool? EnableRouteParseCompileCache => true; + //public override bool? EnableRouteParseCompileCache => true; private readonly List _dataSources = new List() { diff --git a/test/ShardingCore.Test2x/Shardings/OrderCreateTimeVirtualTableRoute.cs b/test/ShardingCore.Test2x/Shardings/OrderCreateTimeVirtualTableRoute.cs index dbda2750..1f4bc877 100644 --- a/test/ShardingCore.Test2x/Shardings/OrderCreateTimeVirtualTableRoute.cs +++ b/test/ShardingCore.Test2x/Shardings/OrderCreateTimeVirtualTableRoute.cs @@ -9,7 +9,7 @@ namespace ShardingCore.Test2x.Shardings { public class OrderCreateTimeVirtualTableRoute:AbstractSimpleShardingMonthKeyDateTimeVirtualTableRoute { - public override bool? EnableRouteParseCompileCache => true; + //public override bool? EnableRouteParseCompileCache => true; public override DateTime GetBeginTime() { return new DateTime(2021, 1, 1); diff --git a/test/ShardingCore.Test2x/Shardings/SysUserModIntVirtualRoute.cs b/test/ShardingCore.Test2x/Shardings/SysUserModIntVirtualRoute.cs index e141c2d0..d917ee93 100644 --- a/test/ShardingCore.Test2x/Shardings/SysUserModIntVirtualRoute.cs +++ b/test/ShardingCore.Test2x/Shardings/SysUserModIntVirtualRoute.cs @@ -7,7 +7,7 @@ namespace ShardingCore.Test2x.Shardings public class SysUserModIntVirtualRoute:AbstractSimpleShardingModKeyIntVirtualTableRoute { protected override bool EnableHintRoute => true; - public override bool? EnableRouteParseCompileCache => true; + //public override bool? EnableRouteParseCompileCache => true; public SysUserModIntVirtualRoute() : base(2, 3) { diff --git a/test/ShardingCore.Test2x/Shardings/SysUserModVirtualTableRoute.cs b/test/ShardingCore.Test2x/Shardings/SysUserModVirtualTableRoute.cs index 55a24889..b2773463 100644 --- a/test/ShardingCore.Test2x/Shardings/SysUserModVirtualTableRoute.cs +++ b/test/ShardingCore.Test2x/Shardings/SysUserModVirtualTableRoute.cs @@ -13,7 +13,7 @@ namespace ShardingCore.Test2x.Shardings public class SysUserModVirtualTableRoute : AbstractSimpleShardingModKeyStringVirtualTableRoute { protected override bool EnableHintRoute => true; - public override bool? EnableRouteParseCompileCache => true; + //public override bool? EnableRouteParseCompileCache => true; public SysUserModVirtualTableRoute() : base(2,3) { diff --git a/test/ShardingCore.Test2x/Shardings/SysUserSalaryVirtualTableRoute.cs b/test/ShardingCore.Test2x/Shardings/SysUserSalaryVirtualTableRoute.cs index a76eaf54..03962638 100644 --- a/test/ShardingCore.Test2x/Shardings/SysUserSalaryVirtualTableRoute.cs +++ b/test/ShardingCore.Test2x/Shardings/SysUserSalaryVirtualTableRoute.cs @@ -16,7 +16,7 @@ namespace ShardingCore.Test2x.Shardings */ public class SysUserSalaryVirtualTableRoute:AbstractShardingOperatorVirtualTableRoute { - public override bool? EnableRouteParseCompileCache => true; + //public override bool? EnableRouteParseCompileCache => true; public override string ShardingKeyToTail(object shardingKey) { var time = Convert.ToInt32(shardingKey); diff --git a/test/ShardingCore.Test3x/Shardings/LogDayLongVirtualRoute.cs b/test/ShardingCore.Test3x/Shardings/LogDayLongVirtualRoute.cs index a8e90ff0..5438279b 100644 --- a/test/ShardingCore.Test3x/Shardings/LogDayLongVirtualRoute.cs +++ b/test/ShardingCore.Test3x/Shardings/LogDayLongVirtualRoute.cs @@ -13,7 +13,7 @@ namespace ShardingCore.Test3x.Shardings public class LogDayLongVirtualRoute:AbstractSimpleShardingDayKeyLongVirtualTableRoute { protected override bool EnableHintRoute => true; - public override bool? EnableRouteParseCompileCache => true; + //public override bool? EnableRouteParseCompileCache => true; public override void Configure(EntityMetadataTableBuilder builder) { diff --git a/test/ShardingCore.Test3x/Shardings/LogDayVirtualTableRoute.cs b/test/ShardingCore.Test3x/Shardings/LogDayVirtualTableRoute.cs index 3e46d9aa..42e221c3 100644 --- a/test/ShardingCore.Test3x/Shardings/LogDayVirtualTableRoute.cs +++ b/test/ShardingCore.Test3x/Shardings/LogDayVirtualTableRoute.cs @@ -11,7 +11,7 @@ namespace ShardingCore.Test3x.Shardings public class LogDayVirtualTableRoute:AbstractSimpleShardingDayKeyDateTimeVirtualTableRoute { protected override bool EnableHintRoute => true; - public override bool? EnableRouteParseCompileCache => true; + //public override bool? EnableRouteParseCompileCache => true; public override DateTime GetBeginTime() { diff --git a/test/ShardingCore.Test3x/Shardings/LogMonthLongvirtualRoute.cs b/test/ShardingCore.Test3x/Shardings/LogMonthLongvirtualRoute.cs index 49b09560..d0ecafbe 100644 --- a/test/ShardingCore.Test3x/Shardings/LogMonthLongvirtualRoute.cs +++ b/test/ShardingCore.Test3x/Shardings/LogMonthLongvirtualRoute.cs @@ -12,7 +12,7 @@ namespace ShardingCore.Test3x.Shardings public class LogMonthLongvirtualRoute:AbstractSimpleShardingMonthKeyLongVirtualTableRoute { protected override bool EnableHintRoute => true; - public override bool? EnableRouteParseCompileCache => true; + //public override bool? EnableRouteParseCompileCache => true; public override bool AutoCreateTableByTime() { diff --git a/test/ShardingCore.Test3x/Shardings/LogWeekDateTimeVirtualTableRoute.cs b/test/ShardingCore.Test3x/Shardings/LogWeekDateTimeVirtualTableRoute.cs index 576199f5..090cf043 100644 --- a/test/ShardingCore.Test3x/Shardings/LogWeekDateTimeVirtualTableRoute.cs +++ b/test/ShardingCore.Test3x/Shardings/LogWeekDateTimeVirtualTableRoute.cs @@ -8,7 +8,7 @@ namespace ShardingCore.Test3x.Shardings public class LogWeekDateTimeVirtualTableRoute:AbstractSimpleShardingWeekKeyDateTimeVirtualTableRoute { protected override bool EnableHintRoute => true; - public override bool? EnableRouteParseCompileCache => true; + //public override bool? EnableRouteParseCompileCache => true; public override bool AutoCreateTableByTime() { diff --git a/test/ShardingCore.Test3x/Shardings/LogWeekTimeLongVirtualTableRoute.cs b/test/ShardingCore.Test3x/Shardings/LogWeekTimeLongVirtualTableRoute.cs index f0185062..ce0a5c54 100644 --- a/test/ShardingCore.Test3x/Shardings/LogWeekTimeLongVirtualTableRoute.cs +++ b/test/ShardingCore.Test3x/Shardings/LogWeekTimeLongVirtualTableRoute.cs @@ -12,7 +12,7 @@ namespace ShardingCore.Test3x.Shardings public class LogWeekTimeLongVirtualTableRoute : AbstractSimpleShardingWeekKeyLongVirtualTableRoute { protected override bool EnableHintRoute => true; - public override bool? EnableRouteParseCompileCache => true; + //public override bool? EnableRouteParseCompileCache => true; public override bool AutoCreateTableByTime() { diff --git a/test/ShardingCore.Test3x/Shardings/LogYearDateTimeVirtualRoute.cs b/test/ShardingCore.Test3x/Shardings/LogYearDateTimeVirtualRoute.cs index 57fc8530..75c7db7b 100644 --- a/test/ShardingCore.Test3x/Shardings/LogYearDateTimeVirtualRoute.cs +++ b/test/ShardingCore.Test3x/Shardings/LogYearDateTimeVirtualRoute.cs @@ -12,7 +12,7 @@ namespace ShardingCore.Test3x.Shardings public class LogYearDateTimeVirtualRoute:AbstractSimpleShardingYearKeyDateTimeVirtualTableRoute { protected override bool EnableHintRoute => true; - public override bool? EnableRouteParseCompileCache => true; + //public override bool? EnableRouteParseCompileCache => true; public override bool AutoCreateTableByTime() { diff --git a/test/ShardingCore.Test3x/Shardings/LogYearLongVirtualRoute.cs b/test/ShardingCore.Test3x/Shardings/LogYearLongVirtualRoute.cs index 3f37a985..2645bda5 100644 --- a/test/ShardingCore.Test3x/Shardings/LogYearLongVirtualRoute.cs +++ b/test/ShardingCore.Test3x/Shardings/LogYearLongVirtualRoute.cs @@ -13,7 +13,7 @@ namespace ShardingCore.Test3x.Shardings public class LogYearLongVirtualRoute:AbstractSimpleShardingYearKeyLongVirtualTableRoute { protected override bool EnableHintRoute => true; - public override bool? EnableRouteParseCompileCache => true; + //public override bool? EnableRouteParseCompileCache => true; public override void Configure(EntityMetadataTableBuilder builder) { diff --git a/test/ShardingCore.Test3x/Shardings/OrderAreaShardingVirtualDataSourceRoute.cs b/test/ShardingCore.Test3x/Shardings/OrderAreaShardingVirtualDataSourceRoute.cs index 5048d952..f0e560bc 100644 --- a/test/ShardingCore.Test3x/Shardings/OrderAreaShardingVirtualDataSourceRoute.cs +++ b/test/ShardingCore.Test3x/Shardings/OrderAreaShardingVirtualDataSourceRoute.cs @@ -12,7 +12,7 @@ namespace ShardingCore.Test3x.Shardings public class OrderAreaShardingVirtualDataSourceRoute:AbstractShardingOperatorVirtualDataSourceRoute { protected override bool EnableHintRoute =>true; - public override bool? EnableRouteParseCompileCache => true; + //public override bool? EnableRouteParseCompileCache => true; private readonly List _dataSources = new List() { diff --git a/test/ShardingCore.Test3x/Shardings/OrderCreateTimeVirtualTableRoute.cs b/test/ShardingCore.Test3x/Shardings/OrderCreateTimeVirtualTableRoute.cs index 8eab1249..10bdc974 100644 --- a/test/ShardingCore.Test3x/Shardings/OrderCreateTimeVirtualTableRoute.cs +++ b/test/ShardingCore.Test3x/Shardings/OrderCreateTimeVirtualTableRoute.cs @@ -9,7 +9,7 @@ namespace ShardingCore.Test3x.Shardings { public class OrderCreateTimeVirtualTableRoute:AbstractSimpleShardingMonthKeyDateTimeVirtualTableRoute { - public override bool? EnableRouteParseCompileCache => true; + //public override bool? EnableRouteParseCompileCache => true; public override DateTime GetBeginTime() { return new DateTime(2021, 1, 1); diff --git a/test/ShardingCore.Test3x/Shardings/SysUserModIntVirtualRoute.cs b/test/ShardingCore.Test3x/Shardings/SysUserModIntVirtualRoute.cs index 492611a7..978b422e 100644 --- a/test/ShardingCore.Test3x/Shardings/SysUserModIntVirtualRoute.cs +++ b/test/ShardingCore.Test3x/Shardings/SysUserModIntVirtualRoute.cs @@ -13,7 +13,7 @@ namespace ShardingCore.Test3x.Shardings { protected override bool EnableHintRoute => true; - public override bool? EnableRouteParseCompileCache => true; + //public override bool? EnableRouteParseCompileCache => true; public SysUserModIntVirtualRoute() : base(2, 3) { } diff --git a/test/ShardingCore.Test3x/Shardings/SysUserModVirtualTableRoute.cs b/test/ShardingCore.Test3x/Shardings/SysUserModVirtualTableRoute.cs index 226a1500..eb6f6a4f 100644 --- a/test/ShardingCore.Test3x/Shardings/SysUserModVirtualTableRoute.cs +++ b/test/ShardingCore.Test3x/Shardings/SysUserModVirtualTableRoute.cs @@ -13,7 +13,7 @@ namespace ShardingCore.Test3x.Shardings public class SysUserModVirtualTableRoute : AbstractSimpleShardingModKeyStringVirtualTableRoute { protected override bool EnableHintRoute => true; - public override bool? EnableRouteParseCompileCache => true; + //public override bool? EnableRouteParseCompileCache => true; public SysUserModVirtualTableRoute() : base(2,3) { diff --git a/test/ShardingCore.Test3x/Shardings/SysUserSalaryVirtualTableRoute.cs b/test/ShardingCore.Test3x/Shardings/SysUserSalaryVirtualTableRoute.cs index 27c92c59..78701f2a 100644 --- a/test/ShardingCore.Test3x/Shardings/SysUserSalaryVirtualTableRoute.cs +++ b/test/ShardingCore.Test3x/Shardings/SysUserSalaryVirtualTableRoute.cs @@ -17,7 +17,7 @@ namespace ShardingCore.Test3x.Shardings public class SysUserSalaryVirtualTableRoute:AbstractShardingOperatorVirtualTableRoute { - public override bool? EnableRouteParseCompileCache => true; + //public override bool? EnableRouteParseCompileCache => true; public override string ShardingKeyToTail(object shardingKey) { var time = Convert.ToInt32(shardingKey); diff --git a/test/ShardingCore.Test5x/Shardings/LogDayLongVirtualRoute.cs b/test/ShardingCore.Test5x/Shardings/LogDayLongVirtualRoute.cs index d1aaa42d..017053f7 100644 --- a/test/ShardingCore.Test5x/Shardings/LogDayLongVirtualRoute.cs +++ b/test/ShardingCore.Test5x/Shardings/LogDayLongVirtualRoute.cs @@ -13,7 +13,7 @@ namespace ShardingCore.Test5x.Shardings public class LogDayLongVirtualRoute:AbstractSimpleShardingDayKeyLongVirtualTableRoute { protected override bool EnableHintRoute => true; - public override bool? EnableRouteParseCompileCache => true; + //public override bool? EnableRouteParseCompileCache => true; public override void Configure(EntityMetadataTableBuilder builder) { diff --git a/test/ShardingCore.Test5x/Shardings/LogDayVirtualTableRoute.cs b/test/ShardingCore.Test5x/Shardings/LogDayVirtualTableRoute.cs index 53a9fa4d..675751d0 100644 --- a/test/ShardingCore.Test5x/Shardings/LogDayVirtualTableRoute.cs +++ b/test/ShardingCore.Test5x/Shardings/LogDayVirtualTableRoute.cs @@ -11,7 +11,7 @@ namespace ShardingCore.Test5x.Shardings public class LogDayVirtualTableRoute:AbstractSimpleShardingDayKeyDateTimeVirtualTableRoute { protected override bool EnableHintRoute => true; - public override bool? EnableRouteParseCompileCache => true; + //public override bool? EnableRouteParseCompileCache => true; public override DateTime GetBeginTime() { diff --git a/test/ShardingCore.Test5x/Shardings/LogMonthLongvirtualRoute.cs b/test/ShardingCore.Test5x/Shardings/LogMonthLongvirtualRoute.cs index b1e33884..ea101e0f 100644 --- a/test/ShardingCore.Test5x/Shardings/LogMonthLongvirtualRoute.cs +++ b/test/ShardingCore.Test5x/Shardings/LogMonthLongvirtualRoute.cs @@ -13,7 +13,7 @@ namespace ShardingCore.Test5x.Shardings public class LogMonthLongvirtualRoute:AbstractSimpleShardingMonthKeyLongVirtualTableRoute { protected override bool EnableHintRoute => true; - public override bool? EnableRouteParseCompileCache => true; + //public override bool? EnableRouteParseCompileCache => true; public override bool AutoCreateTableByTime() { diff --git a/test/ShardingCore.Test5x/Shardings/LogWeekDateTimeVirtualTableRoute.cs b/test/ShardingCore.Test5x/Shardings/LogWeekDateTimeVirtualTableRoute.cs index 08482181..80024b8b 100644 --- a/test/ShardingCore.Test5x/Shardings/LogWeekDateTimeVirtualTableRoute.cs +++ b/test/ShardingCore.Test5x/Shardings/LogWeekDateTimeVirtualTableRoute.cs @@ -8,7 +8,7 @@ namespace ShardingCore.Test5x.Shardings public class LogWeekDateTimeVirtualTableRoute:AbstractSimpleShardingWeekKeyDateTimeVirtualTableRoute { protected override bool EnableHintRoute => true; - public override bool? EnableRouteParseCompileCache => true; + //public override bool? EnableRouteParseCompileCache => true; public override bool AutoCreateTableByTime() { diff --git a/test/ShardingCore.Test5x/Shardings/LogWeekTimeLongVirtualTableRoute.cs b/test/ShardingCore.Test5x/Shardings/LogWeekTimeLongVirtualTableRoute.cs index 91b3c93c..314af8f4 100644 --- a/test/ShardingCore.Test5x/Shardings/LogWeekTimeLongVirtualTableRoute.cs +++ b/test/ShardingCore.Test5x/Shardings/LogWeekTimeLongVirtualTableRoute.cs @@ -12,7 +12,7 @@ namespace ShardingCore.Test5x.Shardings public class LogWeekTimeLongVirtualTableRoute : AbstractSimpleShardingWeekKeyLongVirtualTableRoute { protected override bool EnableHintRoute => true; - public override bool? EnableRouteParseCompileCache => true; + //public override bool? EnableRouteParseCompileCache => true; public override bool AutoCreateTableByTime() { diff --git a/test/ShardingCore.Test5x/Shardings/LogYearDateTimeVirtualRoute.cs b/test/ShardingCore.Test5x/Shardings/LogYearDateTimeVirtualRoute.cs index 5b89d1aa..5dcbe810 100644 --- a/test/ShardingCore.Test5x/Shardings/LogYearDateTimeVirtualRoute.cs +++ b/test/ShardingCore.Test5x/Shardings/LogYearDateTimeVirtualRoute.cs @@ -12,7 +12,7 @@ namespace ShardingCore.Test5x.Shardings public class LogYearDateTimeVirtualRoute:AbstractSimpleShardingYearKeyDateTimeVirtualTableRoute { protected override bool EnableHintRoute => true; - public override bool? EnableRouteParseCompileCache => true; + //public override bool? EnableRouteParseCompileCache => true; public override bool AutoCreateTableByTime() { diff --git a/test/ShardingCore.Test5x/Shardings/LogYearLongVirtualRoute.cs b/test/ShardingCore.Test5x/Shardings/LogYearLongVirtualRoute.cs index 2fd15bdb..a580d4b5 100644 --- a/test/ShardingCore.Test5x/Shardings/LogYearLongVirtualRoute.cs +++ b/test/ShardingCore.Test5x/Shardings/LogYearLongVirtualRoute.cs @@ -13,7 +13,7 @@ namespace ShardingCore.Test5x.Shardings public class LogYearLongVirtualRoute:AbstractSimpleShardingYearKeyLongVirtualTableRoute { protected override bool EnableHintRoute => true; - public override bool? EnableRouteParseCompileCache => true; + //public override bool? EnableRouteParseCompileCache => true; public override void Configure(EntityMetadataTableBuilder builder) { diff --git a/test/ShardingCore.Test5x/Shardings/OrderAreaShardingVirtualDataSourceRoute.cs b/test/ShardingCore.Test5x/Shardings/OrderAreaShardingVirtualDataSourceRoute.cs index e64fe89d..abf4b50c 100644 --- a/test/ShardingCore.Test5x/Shardings/OrderAreaShardingVirtualDataSourceRoute.cs +++ b/test/ShardingCore.Test5x/Shardings/OrderAreaShardingVirtualDataSourceRoute.cs @@ -12,7 +12,7 @@ namespace ShardingCore.Test5x.Shardings public class OrderAreaShardingVirtualDataSourceRoute:AbstractShardingOperatorVirtualDataSourceRoute { protected override bool EnableHintRoute =>true; - public override bool? EnableRouteParseCompileCache => true; + //public override bool? EnableRouteParseCompileCache => true; private readonly List _dataSources = new List() { diff --git a/test/ShardingCore.Test5x/Shardings/OrderCreateTimeVirtualTableRoute.cs b/test/ShardingCore.Test5x/Shardings/OrderCreateTimeVirtualTableRoute.cs index c7fb3d5b..f8a9d6ba 100644 --- a/test/ShardingCore.Test5x/Shardings/OrderCreateTimeVirtualTableRoute.cs +++ b/test/ShardingCore.Test5x/Shardings/OrderCreateTimeVirtualTableRoute.cs @@ -9,7 +9,7 @@ namespace ShardingCore.Test5x.Shardings { public class OrderCreateTimeVirtualTableRoute:AbstractSimpleShardingMonthKeyDateTimeVirtualTableRoute { - public override bool? EnableRouteParseCompileCache => true; + //public override bool? EnableRouteParseCompileCache => true; public override DateTime GetBeginTime() { return new DateTime(2021, 1, 1); diff --git a/test/ShardingCore.Test5x/Shardings/SysUserModIntVirtualRoute.cs b/test/ShardingCore.Test5x/Shardings/SysUserModIntVirtualRoute.cs index c27c89c5..4b47116b 100644 --- a/test/ShardingCore.Test5x/Shardings/SysUserModIntVirtualRoute.cs +++ b/test/ShardingCore.Test5x/Shardings/SysUserModIntVirtualRoute.cs @@ -12,7 +12,7 @@ namespace ShardingCore.Test5x.Shardings public class SysUserModIntVirtualRoute:AbstractSimpleShardingModKeyIntVirtualTableRoute { protected override bool EnableHintRoute => true; - public override bool? EnableRouteParseCompileCache => true; + //public override bool? EnableRouteParseCompileCache => true; public SysUserModIntVirtualRoute() : base(2, 3) { diff --git a/test/ShardingCore.Test5x/Shardings/SysUserModVirtualTableRoute.cs b/test/ShardingCore.Test5x/Shardings/SysUserModVirtualTableRoute.cs index 7250ed5a..343413ea 100644 --- a/test/ShardingCore.Test5x/Shardings/SysUserModVirtualTableRoute.cs +++ b/test/ShardingCore.Test5x/Shardings/SysUserModVirtualTableRoute.cs @@ -13,7 +13,7 @@ namespace ShardingCore.Test5x.Shardings public class SysUserModVirtualTableRoute : AbstractSimpleShardingModKeyStringVirtualTableRoute { protected override bool EnableHintRoute => true; - public override bool? EnableRouteParseCompileCache => true; + //public override bool? EnableRouteParseCompileCache => true; public SysUserModVirtualTableRoute() : base(2,3) { diff --git a/test/ShardingCore.Test5x/Shardings/SysUserSalaryVirtualTableRoute.cs b/test/ShardingCore.Test5x/Shardings/SysUserSalaryVirtualTableRoute.cs index d973f57c..65be5cee 100644 --- a/test/ShardingCore.Test5x/Shardings/SysUserSalaryVirtualTableRoute.cs +++ b/test/ShardingCore.Test5x/Shardings/SysUserSalaryVirtualTableRoute.cs @@ -16,7 +16,7 @@ namespace ShardingCore.Test5x.Shardings */ public class SysUserSalaryVirtualTableRoute:AbstractShardingOperatorVirtualTableRoute { - public override bool? EnableRouteParseCompileCache => true; + //public override bool? EnableRouteParseCompileCache => true; public override string ShardingKeyToTail(object shardingKey) { var time = Convert.ToInt32(shardingKey);