Witajcie.
Od kilku dni męczy mnie problem ucinania kwerend w pluginie.
W logach objawia się to następująco:
******************** Wystapil blad w zapytaniu. Kod bledu: 1109 [ Unknown table 's' in field list ]. Tresc polecenia: "SELECT '0' AS RS_ID, s.`id` AS _INT1, s.`prototype_id` AS _INT2, sp.`skin_weapon_id` " ********************
Oryginalna treść kwerendy:
SELECT '0' AS RS_ID, s.id AS _INT1, s.prototype_id AS _INT2, sp.skin_weapon_id AS _INT3, s.custom_tag AS _STR1 FROM gm_skins AS s INNER JOIN gm_prototypes AS sp ON s.prototype_id=sp.id WHERE owner_id='2' AND is_equipped='1' UNION SELECT '1' AS RS_ID, chests_keys AS _INT1, chests AS _INT2, 'NULL' AS _INT3, 'NULL' AS _STR1 FROM gm_items WHERE pid='2' UNION SELECT '2' AS RS_ID, coins AS _INT1, 'NULL' AS _INT2, 'NULL' AS _INT3, 'NULL' AS _STR1 FROM gm_currency WHERE pid='2';
Kolejny przykład błędu:
******************** Wystapil blad w zapytaniu. Kod bledu: 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 '' at line 1 ]. Tresc polecenia: "SELECT COUNT(*) AS player_skins_count, SUM(CASE WHEN sp.`skin_weapon_id` IN ('3', '5'" ********************
Ciekawostka: ucina do 85 znaków .
Formatowanie kwerendy jest przeprowadzane w pełni poprawnie (do formatowania stosuję formatex / format_args() z buforem-stringiem o długości 1024 znaków, bez podmieniania znaków specjalnych - wydaje mi się, że w obecnej fazie jest to zbędne).
Błąd nie występuje cały czas. Dotyczy jedynie kwerend z klauzulą SELECT (może się przyda), a pojawia się nieregularnie.
Z uwagi na ten ostatni fakt, wychodzę do was z pytaniem, czy owy problem tyczy się tylko i wyłącznie połączenia z bazą? (testowałem na pukawce i płatnej, zewnętrznej bazie - podobne rezultaty). Ktoś może spotkał się z podobną sytuacją?
PS. Kodu nie ma sensu podawać - gdyby to w nim był błąd, problem pojawiałby się regularnie...
Użytkownik _McHappy edytował ten post 19.07.2017 14:15