Smartstore icon indicating copy to clipboard operation
Smartstore copied to clipboard

Product recycle bin mysql error

Open Algorithman opened this issue 5 months ago • 0 comments

When viewing the product recycle bin i get these errors:

Failed executing DbCommand ("3"ms) [Parameters=[""], CommandType='Text', CommandTimeout='30']"
""SELECT `p`.`Id`, (
    SELECT COUNT(*)
    FROM (
        SELECT DISTINCT `o`.`Id`
        FROM `Order` AS `o`
        WHERE EXISTS (
            SELECT 1
            FROM `OrderItem` AS `o0`
            WHERE (`o`.`Id` = `o0`.`OrderId`) AND (`o0`.`ProductId` = `p`.`Id`))
    ) AS `t`) AS `Count`
FROM `Product` AS `p`
WHERE `p`.`Id` IN (2278, 2322, 2326, 2332, 2345, 2373, 2427, 2444, 2447, 2451, 2454, 2456, 2483, 2520, 2521, 2522, 2539, 2558, 2572, 2575, 2590, 2607, 2610, 2613, 2619)"
An exception occurred while iterating over the results of a query for context type '"Smartstore.Core.Data.SmartDbContext"'."
""MySqlConnector.MySqlException (0x80004005): Unknown column 'p.Id' in 'where clause'
   at MySqlConnector.Core.ServerSession.ReceiveReplyAsync(IOBehavior ioBehavior, CancellationToken cancellationToken) in /_/src/MySqlConnector/Core/ServerSession.cs:line 885
   at MySqlConnector.Core.ResultSet.ReadResultSetHeaderAsync(IOBehavior ioBehavior) in /_/src/MySqlConnector/Core/ResultSet.cs:line 37
   at MySqlConnector.MySqlDataReader.ActivateResultSet(CancellationToken cancellationToken) in /_/src/MySqlConnector/MySqlDataReader.cs:line 130
   at MySqlConnector.MySqlDataReader.InitAsync(CommandListPosition commandListPosition, ICommandPayloadCreator payloadCreator, IDictionary`2 cachedProcedures, IMySqlCommand command, CommandBehavior behavior, Activity activity, IOBehavior ioBehavior, CancellationToken cancellationToken) in /_/src/MySqlConnector/MySqlDataReader.cs:line 482
   at MySqlConnector.Core.CommandExecutor.ExecuteReaderAsync(CommandListPosition commandListPosition, ICommandPayloadCreator payloadCreator, CommandBehavior behavior, Activity activity, IOBehavior ioBehavior, CancellationToken cancellationToken) in /_/src/MySqlConnector/Core/CommandExecutor.cs:line 56
   at MySqlConnector.MySqlCommand.ExecuteReaderAsync(CommandBehavior behavior, IOBehavior ioBehavior, CancellationToken cancellationToken) in /_/src/MySqlConnector/MySqlCommand.cs:line 357
   at MySqlConnector.MySqlCommand.ExecuteDbDataReaderAsync(CommandBehavior behavior, CancellationToken cancellationToken) in /_/src/MySqlConnector/MySqlCommand.cs:line 350
   at Microsoft.EntityFrameworkCore.Storage.RelationalCommand.ExecuteReaderAsync(RelationalCommandParameterObject parameterObject, CancellationToken cancellationToken)
   at Microsoft.EntityFrameworkCore.Storage.RelationalCommand.ExecuteReaderAsync(RelationalCommandParameterObject parameterObject, CancellationToken cancellationToken)
   at Microsoft.EntityFrameworkCore.Query.Internal.SingleQueryingEnumerable`1.AsyncEnumerator.InitializeReaderAsync(AsyncEnumerator enumerator, CancellationToken cancellationToken)
   at Pomelo.EntityFrameworkCore.MySql.Storage.Internal.MySqlExecutionStrategy.ExecuteAsync[TState,TResult](TState state, Func`4 operation, Func`4 verifySucceeded, CancellationToken cancellationToken)
   at Microsoft.EntityFrameworkCore.Query.Internal.SingleQueryingEnumerable`1.AsyncEnumerator.MoveNextAsync()"

and

MySqlConnector.MySqlException (0x80004005): Unknown column 'p.Id' in 'where clause'
   at MySqlConnector.Core.ServerSession.ReceiveReplyAsync(IOBehavior ioBehavior, CancellationToken cancellationToken) in /_/src/MySqlConnector/Core/ServerSession.cs:line 885
   at MySqlConnector.Core.ResultSet.ReadResultSetHeaderAsync(IOBehavior ioBehavior) in /_/src/MySqlConnector/Core/ResultSet.cs:line 37
   at MySqlConnector.MySqlDataReader.ActivateResultSet(CancellationToken cancellationToken) in /_/src/MySqlConnector/MySqlDataReader.cs:line 130
   at MySqlConnector.MySqlDataReader.InitAsync(CommandListPosition commandListPosition, ICommandPayloadCreator payloadCreator, IDictionary`2 cachedProcedures, IMySqlCommand command, CommandBehavior behavior, Activity activity, IOBehavior ioBehavior, CancellationToken cancellationToken) in /_/src/MySqlConnector/MySqlDataReader.cs:line 482
   at MySqlConnector.Core.CommandExecutor.ExecuteReaderAsync(CommandListPosition commandListPosition, ICommandPayloadCreator payloadCreator, CommandBehavior behavior, Activity activity, IOBehavior ioBehavior, CancellationToken cancellationToken) in /_/src/MySqlConnector/Core/CommandExecutor.cs:line 56
   at MySqlConnector.MySqlCommand.ExecuteReaderAsync(CommandBehavior behavior, IOBehavior ioBehavior, CancellationToken cancellationToken) in /_/src/MySqlConnector/MySqlCommand.cs:line 357
   at MySqlConnector.MySqlCommand.ExecuteDbDataReaderAsync(CommandBehavior behavior, CancellationToken cancellationToken) in /_/src/MySqlConnector/MySqlCommand.cs:line 350
   at Microsoft.EntityFrameworkCore.Storage.RelationalCommand.ExecuteReaderAsync(RelationalCommandParameterObject parameterObject, CancellationToken cancellationToken)
   at Microsoft.EntityFrameworkCore.Storage.RelationalCommand.ExecuteReaderAsync(RelationalCommandParameterObject parameterObject, CancellationToken cancellationToken)
   at Microsoft.EntityFrameworkCore.Query.Internal.SingleQueryingEnumerable`1.AsyncEnumerator.InitializeReaderAsync(AsyncEnumerator enumerator, CancellationToken cancellationToken)
   at Pomelo.EntityFrameworkCore.MySql.Storage.Internal.MySqlExecutionStrategy.ExecuteAsync[TState,TResult](TState state, Func`4 operation, Func`4 verifySucceeded, CancellationToken cancellationToken)
   at Microsoft.EntityFrameworkCore.Query.Internal.SingleQueryingEnumerable`1.AsyncEnumerator.MoveNextAsync()
   at Microsoft.EntityFrameworkCore.EntityFrameworkQueryableExtensions.ToDictionaryAsync[TSource,TKey,TElement](IQueryable`1 source, Func`2 keySelector, Func`2 elementSelector, IEqualityComparer`1 comparer, CancellationToken cancellationToken)
   at Microsoft.EntityFrameworkCore.EntityFrameworkQueryableExtensions.ToDictionaryAsync[TSource,TKey,TElement](IQueryable`1 source, Func`2 keySelector, Func`2 elementSelector, IEqualityComparer`1 comparer, CancellationToken cancellationToken)
   at Smartstore.Admin.Controllers.ProductController.DeletedProductsList(GridCommand command, ProductListModel model) in F:\TEMPSMS\src\Smartstore.Web\Areas\Admin\Controllers\ProductController.RecycleBin.cs:line 38
   at Microsoft.AspNetCore.Mvc.Infrastructure.ActionMethodExecutor.TaskOfIActionResultExecutor.Execute(ActionContext actionContext, IActionResultTypeMapper mapper, ObjectMethodExecutor executor, Object controller, Object[] arguments)
   at Microsoft.AspNetCore.Mvc.Infrastructure.ControllerActionInvoker.<InvokeActionMethodAsync>g__Logged|12_1(ControllerActionInvoker invoker)
   at Microsoft.AspNetCore.Mvc.Infrastructure.ControllerActionInvoker.<InvokeNextActionFilterAsync>g__Awaited|10_0(ControllerActionInvoker invoker, Task lastTask, State next, Scope scope, Object state, Boolean isCompleted)
   at Microsoft.AspNetCore.Mvc.Infrastructure.ControllerActionInvoker.Rethrow(ActionExecutedContextSealed context)
   at Microsoft.AspNetCore.Mvc.Infrastructure.ControllerActionInvoker.Next(State& next, Scope& scope, Object& state, Boolean& isCompleted)
   at Microsoft.AspNetCore.Mvc.Infrastructure.ControllerActionInvoker.<InvokeInnerFilterAsync>g__Awaited|13_0(ControllerActionInvoker invoker, Task lastTask, State next, Scope scope, Object state, Boolean isCompleted)
   at Microsoft.AspNetCore.Mvc.Infrastructure.ResourceInvoker.<InvokeNextResourceFilter>g__Awaited|25_0(ResourceInvoker invoker, Task lastTask, State next, Scope scope, Object state, Boolean isCompleted)
   at Microsoft.AspNetCore.Mvc.Infrastructure.ResourceInvoker.Rethrow(ResourceExecutedContextSealed context)
   at Microsoft.AspNetCore.Mvc.Infrastructure.ResourceInvoker.Next(State& next, Scope& scope, Object& state, Boolean& isCompleted)
   at Microsoft.AspNetCore.Mvc.Infrastructure.ResourceInvoker.<InvokeFilterPipelineAsync>g__Awaited|20_0(ResourceInvoker invoker, Task lastTask, State next, Scope scope, Object state, Boolean isCompleted)
   at Microsoft.AspNetCore.Mvc.Infrastructure.ResourceInvoker.<InvokeAsync>g__Logged|17_1(ResourceInvoker invoker)
   at Microsoft.AspNetCore.Mvc.Infrastructure.ResourceInvoker.<InvokeAsync>g__Logged|17_1(ResourceInvoker invoker)
   at Smartstore.Core.Bootstrapping.CheckoutBootstrappingExtensions.<>c.<<UseCheckoutState>b__0_0>d.MoveNext() in F:\TEMPSMS\src\Smartstore.Core\Checkout\Bootstrapping\CheckoutBootstrappingExtensions.cs:line 22
--- End of stack trace from previous location ---
   at Microsoft.AspNetCore.Session.SessionMiddleware.Invoke(HttpContext context)
   at Microsoft.AspNetCore.Session.SessionMiddleware.Invoke(HttpContext context)
   at StackExchange.Profiling.MiniProfilerMiddleware.Invoke(HttpContext context) in C:\projects\dotnet\src\MiniProfiler.AspNetCore\MiniProfilerMiddleware.cs:line 112
   at Smartstore.Web.Api.Startup.<>c.<<BuildPipeline>b__3_7>d.MoveNext()
--- End of stack trace from previous location ---
   at Smartstore.ExceptionExtensions.ReThrow(Exception exception) in F:\TEMPSMS\src\Smartstore\Extensions\ExceptionExtensions.cs:line 15
   at Smartstore.Web.Api.Startup.ProcessException(HttpContext context, Exception ex)
   at Smartstore.Web.Api.Startup.<>c.<<BuildPipeline>b__3_7>d.MoveNext()
--- End of stack trace from previous location ---
   at Smartstore.Core.Localization.RequestCultureMiddleware.Invoke(HttpContext context, IWorkContext workContext) in F:\TEMPSMS\src\Smartstore.Core\Platform\Localization\Services\RequestCultureMiddleware.cs:line 72
   at Smartstore.Core.Logging.RequestLoggingMiddleware.InvokeAsync(HttpContext httpContext, IWebHelper webHelper, IWorkContext workContext) in F:\TEMPSMS\src\Smartstore.Core\Platform\Logging\Serilog\RequestLoggingMiddleware.cs:line 57
   at Smartstore.Core.Bootstrapping.CommonBuilderExtensions.<>c.<<UseWorkContext>b__1_0>d.MoveNext() in F:\TEMPSMS\src\Smartstore.Core\Platform\Common\Bootstrapping\CommonBuilderExtensions.cs:line 35
--- End of stack trace from previous location ---
   at Microsoft.AspNetCore.Authorization.AuthorizationMiddleware.Invoke(HttpContext context)
   at Microsoft.AspNetCore.Authentication.AuthenticationMiddleware.Invoke(HttpContext context)
   at Smartstore.Core.Bootstrapping.LocalizationBuilderExtensions.OnAfterRouting(HttpContext context, Func`1 next) in F:\TEMPSMS\src\Smartstore.Core\Platform\Localization\Bootstrapping\LocalizationBuilderExtensions.cs:line 117
   at Smartstore.Core.Bootstrapping.LocalizationBuilderExtensions.OnBeforeRouting(HttpContext context, Func`1 next) in F:\TEMPSMS\src\Smartstore.Core\Platform\Localization\Bootstrapping\LocalizationBuilderExtensions.cs:line 81
   at Microsoft.AspNetCore.OData.Batch.ODataBatchMiddleware.Invoke(HttpContext context)
   at Microsoft.AspNetCore.OData.Query.ODataQueryRequestMiddleware.Invoke(HttpContext context)
   at Swashbuckle.AspNetCore.SwaggerUI.SwaggerUIMiddleware.Invoke(HttpContext httpContext)
   at Swashbuckle.AspNetCore.Swagger.SwaggerMiddleware.Invoke(HttpContext httpContext, ISwaggerProvider swaggerProvider)
   at Smartstore.Core.Bootstrapping.CommonBuilderExtensions.<>c.<<UseSecurityHeaders>b__3_0>d.MoveNext() in F:\TEMPSMS\src\Smartstore.Core\Platform\Common\Bootstrapping\CommonBuilderExtensions.cs:line 60
--- End of stack trace from previous location ---
   at Smartstore.Core.Bootstrapping.CommonBuilderExtensions.<>c.<<UsePoweredBy>b__2_0>d.MoveNext() in F:\TEMPSMS\src\Smartstore.Core\Platform\Common\Bootstrapping\CommonBuilderExtensions.cs:line 48
--- End of stack trace from previous location ---
   at Smartstore.Engine.Initialization.ApplicationInitializerMiddleware.Invoke(HttpContext context) in F:\TEMPSMS\src\Smartstore\Engine\Initialization\ApplicationInitializerMiddleware.cs:line 81
   at Microsoft.AspNetCore.Diagnostics.StatusCodePagesMiddleware.Invoke(HttpContext context)
   at Microsoft.AspNetCore.Diagnostics.ExceptionHandlerMiddlewareImpl.<Invoke>g__Awaited|10_0(ExceptionHandlerMiddlewareImpl middleware, HttpContext context, Task task)

I tried to run the sql query in my sql client and it seems that the inner query is the culprit. Though the bug most likely is inside Pomelo's EFCore adapter.

Algorithman avatar Aug 30 '24 05:08 Algorithman