eveseat / seat

🌀✳️ SeAT: A Simple, EVE Online API Tool and Corporation Manager

Home Page:https://eveseat.github.io/docs/

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

SeAT v5 - SQL Syntax Error - Top Wallet Transactions (Characters -> Intel)

kibawulf opened this issue · comments

commented
  • Problem: SeAT v5 fails to provide top wallet transactions when clicking on the magnifying glass in the "Intel" page of the character sheet due to SQL Syntax. Stack trace provided. This is reproducible on all characters I've tried it on. Instance was upgraded recently from v4 to v5 and is an existing database with ~350 tokens.

image

  • Expected: Page renders transaction details as expected.

  • Logs / Screenshots / Proof:
    [2023-12-29 01:57:00] local.ERROR: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MariaDB server version for the right syntax to use near '"stationName" FROM "staStations" AS s WHERE s."stationI...' at line 4 (Connection: mysql, SQL: select *, CASE when character_wallet_transactions.location_id BETWEEN 66015148 AND 66015151 then (SELECT s."stationName" FROM "staStations" AS s WHERE s."stationID"=character_wallet_transactions.location_id-6000000) when character_wallet_transactions.location_id BETWEEN 66000000 AND 66014933 then (SELECT s."stationName" FROM "staStations" AS s WHERE s."stationID"=character_wallet_transactions.location_id-6000001) when character_wallet_transactions.location_id BETWEEN 66014934 AND 67999999 then (SELECT d.name FROM sovereignty_structures AS c JOIN universe_stations d ON c.structure_id = d.station_id WHERE c.structure_id=character_wallet_transactions.location_id-6000000) when character_wallet_transactions.location_id BETWEEN 60014861 AND 60014928 then (SELECT d.name FROM sovereignty_structures AS c JOIN universe_stations d ON c.structure_id = d.station_id WHERE c.structure_id=character_wallet_transactions.location_id) when character_wallet_transactions.location_id BETWEEN 60000000 AND 61000000 then (SELECT s."stationName" FROM "staStations" AS s WHERE s."stationID"=character_wallet_transactions.location_id) when character_wallet_transactions.location_id BETWEEN 61000000 AND 61001146 then (SELECT d.name FROM sovereignty_structures AS c JOIN universe_stations d ON c.structure_id = d.station_id WHERE c.structure_id=character_wallet_transactions.location_id) when character_wallet_transactions.location_id > 61001146 then (SELECT name FROM universe_structures AS c WHERE c.structure_id = character_wallet_transactions.location_id) else (SELECT m."itemName" FROM "mapDenormalize" AS m WHERE m."itemID"=character_wallet_transactions.location_id) end AS locationName from `character_wallet_transactions` where `character_id` in (00000001, 00000002, 00000000003, 0000000004, 0000000005, 0000000006) and `client_id` = 2119001427 order by `date` desc limit 10 offset 0) {"userId":6,"exception":"[object] (Illuminate\\Database\\QueryException(code: 42000): SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MariaDB server version for the right syntax to use near '\"stationName\" FROM \"staStations\" AS s WHERE s.\"stationI...' at line 4 (Connection: mysql, SQL: select *, CASE when character_wallet_transactions.location_id BETWEEN 66015148 AND 66015151 then (SELECT s.\"stationName\" FROM \"staStations\" AS s WHERE s.\"stationID\"=character_wallet_transactions.location_id-6000000) when character_wallet_transactions.location_id BETWEEN 66000000 AND 66014933 then (SELECT s.\"stationName\" FROM \"staStations\" AS s WHERE s.\"stationID\"=character_wallet_transactions.location_id-6000001) when character_wallet_transactions.location_id BETWEEN 66014934 AND 67999999 then (SELECT d.name FROM sovereignty_structures AS c JOIN universe_stations d ON c.structure_id = d.station_id WHERE c.structure_id=character_wallet_transactions.location_id-6000000) when character_wallet_transactions.location_id BETWEEN 60014861 AND 60014928 then (SELECT d.name FROM sovereignty_structures AS c JOIN universe_stations d ON c.structure_id = d.station_id WHERE c.structure_id=character_wallet_transactions.location_id) when character_wallet_transactions.location_id BETWEEN 60000000 AND 61000000 then (SELECT s.\"stationName\" FROM \"staStations\" AS s WHERE s.\"stationID\"=character_wallet_transactions.location_id) when character_wallet_transactions.location_id BETWEEN 61000000 AND 61001146 then (SELECT d.name FROM sovereignty_structures AS c JOIN universe_stations d ON c.structure_id = d.station_id WHERE c.structure_id=character_wallet_transactions.location_id) when character_wallet_transactions.location_id > 61001146 then (SELECT name FROM universe_structures AS c WHERE c.structure_id = character_wallet_transactions.location_id) else (SELECT m.\"itemName\" FROM \"mapDenormalize\" AS m WHERE m.\"itemID\"=character_wallet_transactions.location_id) end AS locationName from `character_wallet_transactions` where `character_id` in (00000001, 00000002, 00000000003, 0000000004, 0000000005, 0000000006) and `client_id` = 2119001427 order by `date` desc limit 10 offset 0) at /var/www/seat/vendor/laravel/framework/src/Illuminate/Database/Connection.php:822) [stacktrace] #0 /var/www/seat/vendor/laravel/framework/src/Illuminate/Database/Connection.php(776): Illuminate\\Database\\Connection->runQueryCallback('select \\n ...', Array, Object(Closure)) #1 /var/www/seat/vendor/laravel/framework/src/Illuminate/Database/Connection.php(407): Illuminate\\Database\\Connection->run('select \\n ...', Array, Object(Closure)) #2 /var/www/seat/vendor/laravel/framework/src/Illuminate/Database/Query/Builder.php(2751): Illuminate\\Database\\Connection->select('select \\n ...', Array, true) #3 /var/www/seat/vendor/laravel/framework/src/Illuminate/Database/Query/Builder.php(2740): Illuminate\\Database\\Query\\Builder->runSelect() #4 /var/www/seat/vendor/laravel/framework/src/Illuminate/Database/Query/Builder.php(3294): Illuminate\\Database\\Query\\Builder->Illuminate\\Database\\Query\\{closure}() #5 /var/www/seat/vendor/laravel/framework/src/Illuminate/Database/Query/Builder.php(2739): Illuminate\\Database\\Query\\Builder->onceWithColumns(Array, Object(Closure)) #6 /var/www/seat/vendor/laravel/framework/src/Illuminate/Database/Eloquent/Builder.php(737): Illuminate\\Database\\Query\\Builder->get(Array) #7 /var/www/seat/vendor/laravel/framework/src/Illuminate/Database/Eloquent/Builder.php(721): Illuminate\\Database\\Eloquent\\Builder->getModels(Array) #8 /var/www/seat/vendor/yajra/laravel-datatables-oracle/src/QueryDataTable.php(175): Illuminate\\Database\\Eloquent\\Builder->get() #9 /var/www/seat/vendor/yajra/laravel-datatables-oracle/src/QueryDataTable.php(158): Yajra\\DataTables\\QueryDataTable->results() #10 /var/www/seat/vendor/eveseat/web/src/Http/Controllers/Character/IntelController.php(442): Yajra\\DataTables\\QueryDataTable->make(true) #11 /var/www/seat/vendor/laravel/framework/src/Illuminate/Routing/Controller.php(54): Seat\\Web\\Http\\Controllers\\Character\\IntelController->getTransactionContent(Object(Seat\\Eveapi\\Models\\Character\\CharacterInfo), 2119001427) #12 /var/www/seat/vendor/laravel/framework/src/Illuminate/Routing/ControllerDispatcher.php(43): Illuminate\\Routing\\Controller->callAction('getTransactionC...', Array) #13 /var/www/seat/vendor/laravel/framework/src/Illuminate/Routing/Route.php(259): Illuminate\\Routing\\ControllerDispatcher->dispatch(Object(Illuminate\\Routing\\Route), Object(Seat\\Web\\Http\\Controllers\\Character\\IntelController), 'getTransactionC...') #14 /var/www/seat/vendor/laravel/framework/src/Illuminate/Routing/Route.php(205): Illuminate\\Routing\\Route->runController() #15 /var/www/seat/vendor/laravel/framework/src/Illuminate/Routing/Router.php(806): Illuminate\\Routing\\Route->run() #16 /var/www/seat/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(144): Illuminate\\Routing\\Router->Illuminate\\Routing\\{closure}(Object(Illuminate\\Http\\Request)) #17 /var/www/seat/vendor/laravel/framework/src/Illuminate/Auth/Middleware/Authorize.php(57): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request)) #18 /var/www/seat/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Auth\\Middleware\\Authorize->handle(Object(Illuminate\\Http\\Request), Object(Closure), 'character.intel', 'character') #19 /var/www/seat/vendor/eveseat/web/src/Http/Middleware/Locale.php(44): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request)) #20 /var/www/seat/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Seat\\Web\\Http\\Middleware\\Locale->handle(Object(Illuminate\\Http\\Request), Object(Closure)) #21 /var/www/seat/vendor/laravel/framework/src/Illuminate/Routing/Middleware/SubstituteBindings.php(50): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request)) #22 /var/www/seat/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Routing\\Middleware\\SubstituteBindings->handle(Object(Illuminate\\Http\\Request), Object(Closure)) #23 /var/www/seat/vendor/laravel/framework/src/Illuminate/Auth/Middleware/Authenticate.php(57): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request)) #24 /var/www/seat/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Auth\\Middleware\\Authenticate->handle(Object(Illuminate\\Http\\Request), Object(Closure)) #25 /var/www/seat/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/VerifyCsrfToken.php(78): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request)) #26 /var/www/seat/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Foundation\\Http\\Middleware\\VerifyCsrfToken->handle(Object(Illuminate\\Http\\Request), Object(Closure)) #27 /var/www/seat/vendor/laravel/framework/src/Illuminate/View/Middleware/ShareErrorsFromSession.php(49): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request)) #28 /var/www/seat/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\View\\Middleware\\ShareErrorsFromSession->handle(Object(Illuminate\\Http\\Request), Object(Closure)) #29 /var/www/seat/vendor/laravel/framework/src/Illuminate/Session/Middleware/StartSession.php(121): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request)) #30 /var/www/seat/vendor/laravel/framework/src/Illuminate/Session/Middleware/StartSession.php(64): Illuminate\\Session\\Middleware\\StartSession->handleStatefulRequest(Object(Illuminate\\Http\\Request), Object(Illuminate\\Session\\Store), Object(Closure)) #31 /var/www/seat/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Session\\Middleware\\StartSession->handle(Object(Illuminate\\Http\\Request), Object(Closure)) #32 /var/www/seat/vendor/laravel/framework/src/Illuminate/Cookie/Middleware/AddQueuedCookiesToResponse.php(37): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request)) #33 /var/www/seat/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Cookie\\Middleware\\AddQueuedCookiesToResponse->handle(Object(Illuminate\\Http\\Request), Object(Closure)) #34 /var/www/seat/vendor/laravel/framework/src/Illuminate/Cookie/Middleware/EncryptCookies.php(67): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request)) #35 /var/www/seat/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Cookie\\Middleware\\EncryptCookies->handle(Object(Illuminate\\Http\\Request), Object(Closure)) #36 /var/www/seat/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(119): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request)) #37 /var/www/seat/vendor/laravel/framework/src/Illuminate/Routing/Router.php(805): Illuminate\\Pipeline\\Pipeline->then(Object(Closure)) #38 /var/www/seat/vendor/laravel/framework/src/Illuminate/Routing/Router.php(784): Illuminate\\Routing\\Router->runRouteWithinStack(Object(Illuminate\\Routing\\Route), Object(Illuminate\\Http\\Request)) #39 /var/www/seat/vendor/laravel/framework/src/Illuminate/Routing/Router.php(748): Illuminate\\Routing\\Router->runRoute(Object(Illuminate\\Http\\Request), Object(Illuminate\\Routing\\Route)) #40 /var/www/seat/vendor/laravel/framework/src/Illuminate/Routing/Router.php(737): Illuminate\\Routing\\Router->dispatchToRoute(Object(Illuminate\\Http\\Request)) #41 /var/www/seat/vendor/laravel/framework/src/Illuminate/Foundation/Http/Kernel.php(200): Illuminate\\Routing\\Router->dispatch(Object(Illuminate\\Http\\Request)) #42 /var/www/seat/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(144): Illuminate\\Foundation\\Http\\Kernel->Illuminate\\Foundation\\Http\\{closure}(Object(Illuminate\\Http\\Request)) #43 /var/www/seat/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/TransformsRequest.php(21): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request)) #44 /var/www/seat/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/ConvertEmptyStringsToNull.php(31): Illuminate\\Foundation\\Http\\Middleware\\TransformsRequest->handle(Object(Illuminate\\Http\\Request), Object(Closure)) #45 /var/www/seat/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Foundation\\Http\\Middleware\\ConvertEmptyStringsToNull->handle(Object(Illuminate\\Http\\Request), Object(Closure)) #46 /var/www/seat/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/TransformsRequest.php(21): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request)) #47 /var/www/seat/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/TrimStrings.php(40): Illuminate\\Foundation\\Http\\Middleware\\TransformsRequest->handle(Object(Illuminate\\Http\\Request), Object(Closure)) #48 /var/www/seat/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Foundation\\Http\\Middleware\\TrimStrings->handle(Object(Illuminate\\Http\\Request), Object(Closure)) #49 /var/www/seat/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/ValidatePostSize.php(27): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request)) #50 /var/www/seat/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Foundation\\Http\\Middleware\\ValidatePostSize->handle(Object(Illuminate\\Http\\Request), Object(Closure)) #51 /var/www/seat/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/PreventRequestsDuringMaintenance.php(99): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request)) #52 /var/www/seat/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Foundation\\Http\\Middleware\\PreventRequestsDuringMaintenance->handle(Object(Illuminate\\Http\\Request), Object(Closure)) #53 /var/www/seat/vendor/laravel/framework/src/Illuminate/Http/Middleware/TrustProxies.php(39): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request)) #54 /var/www/seat/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Http\\Middleware\\TrustProxies->handle(Object(Illuminate\\Http\\Request), Object(Closure)) #55 /var/www/seat/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(119): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request)) #56 /var/www/seat/vendor/laravel/framework/src/Illuminate/Foundation/Http/Kernel.php(175): Illuminate\\Pipeline\\Pipeline->then(Object(Closure)) #57 /var/www/seat/vendor/laravel/framework/src/Illuminate/Foundation/Http/Kernel.php(144): Illuminate\\Foundation\\Http\\Kernel->sendRequestThroughRouter(Object(Illuminate\\Http\\Request)) #58 /var/www/seat/public/index.php(51): Illuminate\\Foundation\\Http\\Kernel->handle(Object(Illuminate\\Http\\Request)) #59 {main}

  • Version Info: SeAT v5.0.19 Docker

  • Additional Notes: I'm not sure why the stack trace is truncated in some areas (e.g. line #0 in the stack trace), but please let me know if a debug mode stack trace is needed.

Should get fixed with eveseat/web#660