Stenogram Sejmu · 2026-06-18

Paweł Kowal

Kadencja 10 · posiedzenie 60 · wypowiedź 131

Profil posła

Brak głosu imiennego z tego dnia, który potwierdzałby klub mówcy.

Pełna wypowiedź

10. kadencja, 60. posiedzenie, 2. dzień (18-06-2026) 18. punkt porządku dziennego: Sprawozdanie Komisji Spraw Zagranicznych o komisyjnym projekcie uchwały w sprawie uczczenia 35. rocznicy podpisania Traktatu między Rzecząpospolitą Polską a Republiką Federalną Niemiec o dobrym sąsiedztwie i przyjaznej współpracy (druki nr 2713 i 2714). Poseł Paweł Kowal: Panie Marszałku! Wysoka Izbo! Kilka uwag w odpowiedzi na pytania, które padły, i komentarze. Patrząc dzisiaj z perspektywy czasu i słuchając tej dyskusji, utwierdziłem się w tym, że gabinet Jana Krzysztofa Bieleckiego można by uznać to taki gabinet polityki, strategii w polityce zagranicznej w tamtym czasie. Zarówno jego odpowiedź na rozpad Związku Sowieckiego, uznawanie kolejnych państw, które wychodziły ze Związku Sowieckiego, w tym Ukrainy, jak i zawarcie tego traktatu pokazywały, że Polska jest w pełni niepodległa. Te ówczesne akty prawne dawały podstawę odnośnie do tego, co wydarzyło się w kolejnych dekadach. Dawały podstawę ogólną. Na wiele szczegółowych pytań, to są takie bazowe informacje, ogólny traktat o przyjaźni nie odpowiada. W tamtym czasie był, co wiedzą eksperci, zwyczaj, by tego rodzaju traktaty właśnie miały charakter bazowy, ogólny. Ale był proces, który dotyczył traktatu granicznego po końcu komunizmu i tego traktatu polsko-niemieckiego. Ten proces, jeśli popatrzycie państwo na to, jak wyglądał ówczesny świat, był równoległy. I to nie jest przypadek. Właśnie o tym mówię, kiedy mówię o strategii. On był równoległy do procesu zjednoczenia Niemiec. Był, można powiedzieć, takim cichym warunkiem zjednoczenia Niemiec i jednocześnie procesu kształtowania się Unii Europejskiej w dzisiejszym wizerunku, w dzisiejszym układzie prawnym. Ta sprawa także nie jest przypadkowa. To właśnie wynikało z realizmu i rozumienia tego, w jaki sposób powinny współpracować Niemcy jeszcze wówczas, mimo wszystko, w cieniu końca II wojny światowej. Wtedy nam się tak nie wydawało, ale tego czasu wcale tak dużo nie upłynęło. I zwracam uwagę właśnie na potrzebę pewnego realizmu. Odpowiadam tym z państwa, którzy pytali, dlaczego wracamy do traktatu, pokazujemy traktat, kiedy jednocześnie są konflikty interesów między Polską a Niemcami. Otóż panie i panowie posłowie, mówię do tych, którzy pytali, to jest kwestia elementarnego realizmu. Byłoby pewną dziecinnością polityczną uważać, że relacje polsko-niemieckie mają polegać na tym, że we wszystkim się zgadzamy albo że we wszystkim Niemcy przyjmują naszą optykę, nasze interesy i realizują je w 100%. Traktat jest właśnie dokumentem, który pomaga politykom i dyplomatom prowadzić grę o nasze interesy, dlatego że odwołuje się do prawa międzynarodowego. To, co jest charakterystyczne dla tego traktatu, właściwie w całym dokumencie, od preambuły do końca, to głębokie zanurzenie w prawie międzynarodowym. To jest jeden z powodów, dla których tę uchwałę powinniśmy przyjąć. Ona jest konieczna dla nas dzisiaj, ponieważ odwoływanie się do prawa międzynarodowego, odwoływanie się do ogólnych zasad, by w relacjach międzynarodowych unikać agresji, jest częścią naszej racji stanu i naszej taktyki i strategii wobec polityki rosyjskiej. Było kilka pytań szczegółowych, dotyczących kwestii odszkodowań, reparacji i praw Polaków w Niemczech. Szczególnie kwestie odszkodowań były przedmiotem tych dwóch uchwał Sejmu z 2004 r. i 2022 r. Dzisiaj kontynuujemy naszą pracę, by pokazywać, jak widzimy polityczny kierunek i polityczny sens relacji polsko-niemieckich. Nie mogę przyjąć do wiadomości, że ta uchwała jest wyrazem serwilizmu czy jakiegoś niewłaściwego stosunku do Niemiec. Nie sądzę, żeby tak było. Jeśli ktoś przeczytał tę uchwałę, w żadnym razie nie może dojść do takich wniosków. Ta uchwała dotyczy rocznicy traktatu, wskazuje na rzecz najważniejszą: traktat jest dokumentem, który czeka na pełne wypełnienie i przywołuje wszystkie istotne dla współczesnego państwa polskiego elementy stosunków polsko-niemieckich. Na koniec, panie marszałku, jedna uwaga polityczna. Jeśli wracamy do istoty tego, co się zdarzyło w latach 1990-1991 w relacjach polsko-niemieckich, jeżeli wracamy do tego, jak wielkie znaczenie dla budowania Polski we współczesnym kształcie miały ówczesne traktaty: graniczny i ten, do którego dzisiaj wracamy, jeśli patrzymy na nasze ziemie zachodnie - w ubiegłym roku obchodziliśmy 80-lecie tych ziem - to jednak powstaje polityczne pytanie o odpowiedzialność za współpracę z AfD. Przecież cała pomyślność rozwoju ziem zachodnich, ich związek, pełna integracja z Rzecząpospolitą opiera się na tej pewności prawnej. To nie jest powód do żartów, panie i panowie posłowie - nie ma chyba już posłów Konfederacji - to jest poważna sprawa, która w Sejmie powinna być dyskutowana. Zasłanianie się tylko faktem, że AfD ma dzisiaj dobre wyniki w sondażach, zasłanianie tego tragicznego politycznego faktu, że posłowie do Parlamentu Europejskiego z Konfederacji reprezentujący Rzeczpospolitą są w jednej organizacji z organizacją, która kwestionuje cały ten dorobek prawny, na którym zasadza się cała siła gospodarcza i polityczna tej części Polski, a w zasadzie całej Polski, bo dzisiaj jesteśmy przecież w pełni zintegrowanym jednym organizmem, to są jednak poważne rzeczy. I od osób, które w tej sprawie się wypowiadają, albo krzyczały na tej sali, np. pani poseł Arciszewska... (Poseł Dorota Arciszewska-Mielewczyk: Ode mnie daleko, panie pośle.) ...ja bym oczekiwał, żeby na takie rzeczy jasno... (Poseł Dorota Arciszewska-Mielewczyk: Ja merytoryczne zadałam pytanie. Proszę te wycieczki...) ...ja bym oczekiwał, żeby na te działania Konfederacji i na sojusz z AfD jasno reagować. Jeżeli ktoś w tak ostry sposób atakuje twórców tej uchwały, zarzucając im serwilizm, a jednocześnie nie jest w stanie zareagować na sojusz z AfD... (Poseł Dorota Arciszewska-Mielewczyk: Niech pan nie odwraca kota ogonem.) ...tzn. że mamy do czynienia... (Poseł Dorota Arciszewska-Mielewczyk: Niech pan nie odwraca kota ogonem i skupi się na uchwale która jest...) (Dzwonek) ...z jakimś tragicznym pomieszaniem pojęć i fałszem, zasadniczym fałszem, który w chwili próby... (Poseł Dorota Arciszewska-Mielewczyk: Tak, pan żyje w kłamstwie...) Wicemarszałek Piotr Zgorzelski: Pani poseł, zwracam pani uwagę... Przepraszam, panie pośle. (Poseł Dorota Arciszewska-Mielewczyk: To niech pan zwróci uwagę...) Zwracam pani uwagę, że zakłóca pani obrady Sejmu. Tyle razy panią prosiłem, żeby pani zachowywała kulturę osobistą i zasady, jakie obowiązują w Sejmie. W Sejmie obowiązują zasady, które określa regulamin Sejmu, a pani ten regulamin łamie. (Poseł Dorota Arciszewska-Mielewczyk: Na komisji mnie też obrażał. Jak pan nie ma argumentów, to pan obraża.) A zatem na podstawie art. 175 ust. 3 regulaminu Sejmu przywołuję panią do porządku. (Poseł Dorota Arciszewska-Mielewczyk: To pana posła też, bo mnie obraża.) Pani poseł, na podstawie art. 175 ust. 4 regulaminu Sejmu przywołuję panią do porządku i stwierdzam, że uniemożliwia pani prowadzenie obrad. (Wypowiedź poza mikrofonem) Uniemożliwia, bo cały czas przeszkadza i dopytuje. (Poseł Dorota Arciszewska-Mielewczyk: Bo mnie obraża.) Proszę bardzo, panie pośle. (Poseł Paweł Szrot: Dopytywanie jest zakazane?) Nie jest zakazane, tylko to wszystko jest ujęte regulaminem i pan dobrze o tym wie. Poseł Paweł Kowal: Ja nie mam żadnych osobistych uwag do pani poseł... (Poseł Dorota Arciszewska-Mielewczyk: Miał pan poseł, miał cały czas.) ...nawet mam wiele dobrych wspomnień z naszej współpracy. Natomiast mam dużo uwag do pani poglądów... (Poseł Dorota Arciszewska-Mielewczyk: A ja do pana poglądów...) ...a wydaje mi się, że sprawa jest tak istotna i nie są to poglądy tylko pani, ale wielu osób na tej sali... (Poseł Dorota Arciszewska-Mielewczyk: Panie marszałku, ja sobie wypraszam.) ...i myślę, że warto by to w tej sali powiedzieć, żeby zostało choćby w protokołach. Jeśli ktoś tak ostro atakuje posłów, którzy stworzyli tę uchwałę, która dotyczy fundamentów współczesnej Rzeczypospolitej, a nie widzi problemu współpracy z AfD, nie jest w stanie powiedzieć z tą samą odwagą... (Poseł Dorota Arciszewska-Mielewczyk: Panie marszałku, no na litość boską, ja sobie wypraszam. Mówimy o traktacie, a pan robi wycieczki na inny temat. Ja pana proszę...) Wicemarszałek Piotr Zgorzelski: Pani poseł, za chwilę panią wykluczę z obrad. (Poseł Dorota Arciszewska-Mielewczyk: Ja pana proszę, żeby pan zareagował.) Proszę zachować spokój i umożliwić wystąpienie panu posłowi, który także odpowiada na pytania. (Poseł Dorota Arciszewska-Mielewczyk: Ale pan widzi, panie marszałku, że to jest nie na temat...) Widzę, a także słyszę. Natomiast widzę też, jak się pani zachowuje. (Poseł Dorota Arciszewska-Mielewczyk: Nie może kłamać cały czas.) Proszę bardzo, panie pośle. Proszę mówić. (Poseł Dorota Arciszewska-Mielewczyk: Mówimy o traktacie.) Poseł Paweł Kowal: Tak, mówimy o... (Poseł Dorota Arciszewska-Mielewczyk: Zadałam merytoryczne pytania.) Wicemarszałek Piotr Zgorzelski: Ale teraz cały czas pani przeszkadza. Zachowuje się pani niezgodnie z regulaminem i za chwilę panią wykluczę. Poseł Paweł Kowal: Mówimy o traktatach z 1991 r. i z 1990 r., czyli o traktacie, który dotyczył kwestii granic, i traktacie, który dotyczył przyjaźni. (Poseł Dorota Arciszewska-Mielewczyk: Proszę mi odpowiedzieć na pytania.) Wicemarszałek Piotr Zgorzelski: Szanowna Pani Poseł! Nadal uniemożliwia pani prowadzenie obrad. Poseł Paweł Kowal: Panie i Panowie Posłowie! Myślę, że pani poseł wszystko pokazała, że wszystko było widać, jeżeli chodzi o to, na czym polega dzisiejsza dyskusja. Wciąż liczę, że znajdą się osoby ze wszystkich stron sali, które rozumieją, jak istotne dla polskiego bezpieczeństwa są relacje z sąsiadami, w tym relacje z Niemcami, które rozumieją znaczenie realizmu w stosunkach międzynarodowych i które są w stanie właściwie i sprawiedliwie oceniać działalność polityczną tych, którzy podpisywali traktat, i tych, którzy dzisiaj stoją na straży interesów Rzeczypospolitej, którzy dzisiaj prowadzą politykę obronną, politykę zagraniczną w poczuciu odpowiedzialności za to, żeby Polska w trudnym czasie nie była sama, tak jak to było w 1939 r. Historia jest tutaj całkowicie po naszej stronie. Niech Pan Bóg czuwa nad Polską. Dziękuję bardzo. (Oklaski) (Poseł Dorota Arciszewska-Mielewczyk: Czy jest jakaś formuła sprostowania...) Przebieg posiedzenia

Otwórz zachowany oryginał · Źródło urzędowe

Dowód treści wypowiedzi

Dowód kolejności na liście dnia

Kontekst w stenogramie

  1. Wcześniej · wypowiedź 129 Witold Tumanowicz 10. kadencja, 60. posiedzenie, 2. dzień (18-06-2026) 18. punkt porządku dziennego: Sprawozdanie Komisji Spraw Zagranicznych o komisyjnym projekcie uchwały w sprawie uczczenia 35. rocznicy podpisania Traktatu między Rzecząpospolitą Polską a
  2. Wcześniej · wypowiedź 130 Artur Harazim 10. kadencja, 60. posiedzenie, 2. dzień (18-06-2026) 18. punkt porządku dziennego: Sprawozdanie Komisji Spraw Zagranicznych o komisyjnym projekcie uchwały w sprawie uczczenia 35. rocznicy podpisania Traktatu między Rzecząpospolitą Polską a
  3. Później · wypowiedź 132 Elżbieta Burkiewicz 10. kadencja, 60. posiedzenie, 2. dzień (18-06-2026) 18. punkt porządku dziennego: Sprawozdanie Komisji Spraw Zagranicznych o komisyjnym projekcie uchwały w sprawie uczczenia 35. rocznicy podpisania Traktatu między Rzecząpospolitą Polską a
  4. Później · wypowiedź 133 Marcin Józefaciuk 10. kadencja, 60. posiedzenie, 2. dzień (18-06-2026) 18. punkt porządku dziennego: Sprawozdanie Komisji Spraw Zagranicznych o komisyjnym projekcie uchwały w sprawie uczczenia 35. rocznicy podpisania Traktatu między Rzecząpospolitą Polską a
1. (2.74ms; exec 2.69 + fetch 0.05; rows 1) SELECT s.object_id AS statement_id, s.statement_number, s.speaker_name, s.source_member_id, mp.object_id AS member_id, d…
2. (1.18ms; exec 1.16 + fetch 0.02; rows 1) SELECT extraction.id, extraction.quality_state FROM extractions extraction JOIN processing_runs run ON run.id = extracti…
3. (0.91ms; exec 0.88 + fetch 0.02; rows 1) SELECT source_text FROM text_segments WHERE extraction_id = 6272 ORDER BY ordinal
4. (1.31ms; exec 1.28 + fetch 0.03; rows 4) SELECT statement.object_id, statement.statement_number, statement.speaker_name, dayStatement.ordinal FROM sejm_transcrip…
5. (1.66ms; exec 1.65 + fetch 0.01; rows 1) SELECT binding.artifact_id FROM documents document JOIN document_versions version ON version.document_id = document.obje…
6. (1.12ms; exec 1.1 + fetch 0.02; rows 1) SELECT extraction.id, extraction.quality_state FROM extractions extraction JOIN processing_runs run ON run.id = extracti…
7. (0.97ms; exec 0.95 + fetch 0.02; rows 1) SELECT source_text FROM text_segments WHERE extraction_id = 6270 ORDER BY ordinal
8. (1.16ms; exec 1.14 + fetch 0.02; rows 1) SELECT binding.artifact_id FROM documents document JOIN document_versions version ON version.document_id = document.obje…
9. (0.83ms; exec 0.81 + fetch 0.02; rows 1) SELECT extraction.id, extraction.quality_state FROM extractions extraction JOIN processing_runs run ON run.id = extracti…
10. (0.71ms; exec 0.7 + fetch 0.02; rows 1) SELECT source_text FROM text_segments WHERE extraction_id = 6271 ORDER BY ordinal
11. (0.96ms; exec 0.95 + fetch 0.01; rows 1) SELECT binding.artifact_id FROM documents document JOIN document_versions version ON version.document_id = document.obje…
12. (0.83ms; exec 0.82 + fetch 0.01; rows 1) SELECT extraction.id, extraction.quality_state FROM extractions extraction JOIN processing_runs run ON run.id = extracti…
13. (0.62ms; exec 0.6 + fetch 0.02; rows 1) SELECT source_text FROM text_segments WHERE extraction_id = 6273 ORDER BY ordinal
14. (0.92ms; exec 0.91 + fetch 0.01; rows 1) SELECT binding.artifact_id FROM documents document JOIN document_versions version ON version.document_id = document.obje…
15. (0.72ms; exec 0.7 + fetch 0.01; rows 1) SELECT extraction.id, extraction.quality_state FROM extractions extraction JOIN processing_runs run ON run.id = extracti…
16. (0.89ms; exec 0.87 + fetch 0.02; rows 1) SELECT source_text FROM text_segments WHERE extraction_id = 6274 ORDER BY ordinal
17. (2.55ms; exec 2.52 + fetch 0.02; rows 0) SELECT individual.raw_club, individual.evidence_id, f.requested_url FROM sejm_individual_votes individual JOIN sejm_vote…
toggle
1. (2.74ms; exec 2.69 + fetch 0.05; rows 1) SELECT s.object_id AS statement_id, s.statement_number, s.speaker_name, s.source_member_id, mp.object_id AS member_id, day.object_id AS day_id, day.term, day.proceeding_number, day.source_date, day.current_revision_id AS day_revision_id, dayStatement.ordinal, dayEvidence.id AS list_evidence_id, dayEvidence.selector_type AS list_selector_type, dayEvidence.selector AS list_selector, dayFetch.id AS list_fetch_id, dayFetch.requested_url AS list_source_url, dayArtifact.sha256 AS list_sha256, binding.artifact_id, binding.evidence_id AS transcript_evidence_id, transcriptEvidence.selector_type AS transcript_selector_type, transcriptEvidence.selector AS transcript_selector, transcriptFetch.id AS transcript_fetch_id, transcriptFetch.requested_url AS transcript_source_url, artifact.sha256 AS transcript_sha256, artifact.detected_mime, artifact.byte_size FROM sejm_statements s JOIN sejm_transcript_days day ON day.object_id = s.transcript_day_id LEFT JOIN sejm_mp_identities mp ON mp.term = day.term AND mp.mp_number = s.source_member_id LEFT JOIN sejm_transcript_day_statements dayStatement ON dayStatement.day_id = day.object_id AND dayStatement.day_revision_id = day.current_revision_id AND dayStatement.statement_id = s.object_id LEFT JOIN evidence dayEvidence ON dayEvidence.id = dayStatement.evidence_id LEFT JOIN fetches dayFetch ON dayFetch.id = dayEvidence.fetch_id LEFT JOIN artifacts dayArtifact ON dayArtifact.id = dayEvidence.artifact_id LEFT JOIN documents document ON document.owner_object_id = day.object_id AND document.document_kind = 'statement_transcript' AND document.source_document_key = CONCAT('sejm:statement:', s.statement_number) LEFT JOIN document_versions version ON version.document_id = document.object_id AND version.sequence_no = (SELECT MAX(latest.sequence_no) FROM document_versions latest WHERE latest.document_id = document.object_id) LEFT JOIN document_version_artifacts binding ON binding.version_id = version.object_id AND binding.role = 'html' AND binding.current_selector_sha IS NOT NULL LEFT JOIN evidence transcriptEvidence ON transcriptEvidence.id = binding.evidence_id LEFT JOIN fetches transcriptFetch ON transcriptFetch.id = transcriptEvidence.fetch_id LEFT JOIN artifacts artifact ON artifact.id = binding.artifact_id WHERE s.object_id = 16271 LIMIT 1
2. (1.18ms; exec 1.16 + fetch 0.02; rows 1) SELECT extraction.id, extraction.quality_state FROM extractions extraction JOIN processing_runs run ON run.id = extraction.run_id WHERE extraction.source_artifact_id = 23609 AND run.state = 'completed' ORDER BY CASE extraction.quality_state WHEN 'success' THEN 0 WHEN 'unreadable' THEN 1 ELSE 2 END, run.finished_at DESC, extraction.id DESC LIMIT 1
3. (0.91ms; exec 0.88 + fetch 0.02; rows 1) SELECT source_text FROM text_segments WHERE extraction_id = 6272 ORDER BY ordinal
4. (1.31ms; exec 1.28 + fetch 0.03; rows 4) SELECT statement.object_id, statement.statement_number, statement.speaker_name, dayStatement.ordinal FROM sejm_transcript_day_statements dayStatement JOIN sejm_statements statement ON statement.object_id = dayStatement.statement_id WHERE dayStatement.day_id = 16139 AND dayStatement.day_revision_id = 15745 AND dayStatement.ordinal BETWEEN 129 AND 133 AND statement.object_id <> 16271 ORDER BY dayStatement.ordinal
5. (1.66ms; exec 1.65 + fetch 0.01; rows 1) SELECT binding.artifact_id FROM documents document JOIN document_versions version ON version.document_id = document.object_id AND version.sequence_no = (SELECT MAX(latest.sequence_no) FROM document_versions latest WHERE latest.document_id = document.object_id) JOIN document_version_artifacts binding ON binding.version_id = version.object_id AND binding.role = 'html' AND binding.current_selector_sha IS NOT NULL WHERE document.owner_object_id = 16139 AND document.document_kind = 'statement_transcript' AND document.source_document_key = CONCAT('sejm:statement:', 129) LIMIT 1
6. (1.12ms; exec 1.1 + fetch 0.02; rows 1) SELECT extraction.id, extraction.quality_state FROM extractions extraction JOIN processing_runs run ON run.id = extraction.run_id WHERE extraction.source_artifact_id = 23607 AND run.state = 'completed' ORDER BY CASE extraction.quality_state WHEN 'success' THEN 0 WHEN 'unreadable' THEN 1 ELSE 2 END, run.finished_at DESC, extraction.id DESC LIMIT 1
7. (0.97ms; exec 0.95 + fetch 0.02; rows 1) SELECT source_text FROM text_segments WHERE extraction_id = 6270 ORDER BY ordinal
8. (1.16ms; exec 1.14 + fetch 0.02; rows 1) SELECT binding.artifact_id FROM documents document JOIN document_versions version ON version.document_id = document.object_id AND version.sequence_no = (SELECT MAX(latest.sequence_no) FROM document_versions latest WHERE latest.document_id = document.object_id) JOIN document_version_artifacts binding ON binding.version_id = version.object_id AND binding.role = 'html' AND binding.current_selector_sha IS NOT NULL WHERE document.owner_object_id = 16139 AND document.document_kind = 'statement_transcript' AND document.source_document_key = CONCAT('sejm:statement:', 130) LIMIT 1
9. (0.83ms; exec 0.81 + fetch 0.02; rows 1) SELECT extraction.id, extraction.quality_state FROM extractions extraction JOIN processing_runs run ON run.id = extraction.run_id WHERE extraction.source_artifact_id = 23608 AND run.state = 'completed' ORDER BY CASE extraction.quality_state WHEN 'success' THEN 0 WHEN 'unreadable' THEN 1 ELSE 2 END, run.finished_at DESC, extraction.id DESC LIMIT 1
10. (0.71ms; exec 0.7 + fetch 0.02; rows 1) SELECT source_text FROM text_segments WHERE extraction_id = 6271 ORDER BY ordinal
11. (0.96ms; exec 0.95 + fetch 0.01; rows 1) SELECT binding.artifact_id FROM documents document JOIN document_versions version ON version.document_id = document.object_id AND version.sequence_no = (SELECT MAX(latest.sequence_no) FROM document_versions latest WHERE latest.document_id = document.object_id) JOIN document_version_artifacts binding ON binding.version_id = version.object_id AND binding.role = 'html' AND binding.current_selector_sha IS NOT NULL WHERE document.owner_object_id = 16139 AND document.document_kind = 'statement_transcript' AND document.source_document_key = CONCAT('sejm:statement:', 132) LIMIT 1
12. (0.83ms; exec 0.82 + fetch 0.01; rows 1) SELECT extraction.id, extraction.quality_state FROM extractions extraction JOIN processing_runs run ON run.id = extraction.run_id WHERE extraction.source_artifact_id = 23610 AND run.state = 'completed' ORDER BY CASE extraction.quality_state WHEN 'success' THEN 0 WHEN 'unreadable' THEN 1 ELSE 2 END, run.finished_at DESC, extraction.id DESC LIMIT 1
13. (0.62ms; exec 0.6 + fetch 0.02; rows 1) SELECT source_text FROM text_segments WHERE extraction_id = 6273 ORDER BY ordinal
14. (0.92ms; exec 0.91 + fetch 0.01; rows 1) SELECT binding.artifact_id FROM documents document JOIN document_versions version ON version.document_id = document.object_id AND version.sequence_no = (SELECT MAX(latest.sequence_no) FROM document_versions latest WHERE latest.document_id = document.object_id) JOIN document_version_artifacts binding ON binding.version_id = version.object_id AND binding.role = 'html' AND binding.current_selector_sha IS NOT NULL WHERE document.owner_object_id = 16139 AND document.document_kind = 'statement_transcript' AND document.source_document_key = CONCAT('sejm:statement:', 133) LIMIT 1
15. (0.72ms; exec 0.7 + fetch 0.01; rows 1) SELECT extraction.id, extraction.quality_state FROM extractions extraction JOIN processing_runs run ON run.id = extraction.run_id WHERE extraction.source_artifact_id = 23611 AND run.state = 'completed' ORDER BY CASE extraction.quality_state WHEN 'success' THEN 0 WHEN 'unreadable' THEN 1 ELSE 2 END, run.finished_at DESC, extraction.id DESC LIMIT 1
16. (0.89ms; exec 0.87 + fetch 0.02; rows 1) SELECT source_text FROM text_segments WHERE extraction_id = 6274 ORDER BY ordinal
17. (2.55ms; exec 2.52 + fetch 0.02; rows 0) SELECT individual.raw_club, individual.evidence_id, f.requested_url FROM sejm_individual_votes individual JOIN sejm_votes vote ON vote.object_id = individual.vote_id AND vote.current_revision_id = individual.vote_revision_id JOIN object_revisions revision ON revision.id = vote.current_revision_id JOIN evidence e ON e.id = individual.evidence_id JOIN fetches f ON f.id = e.fetch_id WHERE vote.term = 10 AND vote.sitting_number = 60 AND individual.mp_number = 178 AND LEFT(JSON_VALUE(revision.snapshot, '$.date'), 10) = '2026-06-18' AND individual.raw_club IS NOT NULL AND individual.raw_club <> '' ORDER BY vote.voting_number DESC
Top slow:
2.74ms SELECT s.object_id AS statement_id, s.statement_number, s.speaker_name, s.source_member_id, mp.objec…
2.55ms SELECT individual.raw_club, individual.evidence_id, f.requested_url FROM sejm_individual_votes indiv…
1.66ms SELECT binding.artifact_id FROM documents document JOIN document_versions version ON version.documen…
toggle
2.74ms SELECT s.object_id AS statement_id, s.statement_number, s.speaker_name, s.source_member_id, mp.object_id AS member_id, day.object_id AS day_id, day.term, day.proceeding_number, day.source_date, day.current_revision_id AS day_revision_id, dayStatement.ordinal, dayEvidence.id AS list_evidence_id, dayEvidence.selector_type AS list_selector_type, dayEvidence.selector AS list_selector, dayFetch.id AS list_fetch_id, dayFetch.requested_url AS list_source_url, dayArtifact.sha256 AS list_sha256, binding.artifact_id, binding.evidence_id AS transcript_evidence_id, transcriptEvidence.selector_type AS transcript_selector_type, transcriptEvidence.selector AS transcript_selector, transcriptFetch.id AS transcript_fetch_id, transcriptFetch.requested_url AS transcript_source_url, artifact.sha256 AS transcript_sha256, artifact.detected_mime, artifact.byte_size FROM sejm_statements s JOIN sejm_transcript_days day ON day.object_id = s.transcript_day_id LEFT JOIN sejm_mp_identities mp ON mp.term = day.term AND mp.mp_number = s.source_member_id LEFT JOIN sejm_transcript_day_statements dayStatement ON dayStatement.day_id = day.object_id AND dayStatement.day_revision_id = day.current_revision_id AND dayStatement.statement_id = s.object_id LEFT JOIN evidence dayEvidence ON dayEvidence.id = dayStatement.evidence_id LEFT JOIN fetches dayFetch ON dayFetch.id = dayEvidence.fetch_id LEFT JOIN artifacts dayArtifact ON dayArtifact.id = dayEvidence.artifact_id LEFT JOIN documents document ON document.owner_object_id = day.object_id AND document.document_kind = 'statement_transcript' AND document.source_document_key = CONCAT('sejm:statement:', s.statement_number) LEFT JOIN document_versions version ON version.document_id = document.object_id AND version.sequence_no = (SELECT MAX(latest.sequence_no) FROM document_versions latest WHERE latest.document_id = document.object_id) LEFT JOIN document_version_artifacts binding ON binding.version_id = version.object_id AND binding.role = 'html' AND binding.current_selector_sha IS NOT NULL LEFT JOIN evidence transcriptEvidence ON transcriptEvidence.id = binding.evidence_id LEFT JOIN fetches transcriptFetch ON transcriptFetch.id = transcriptEvidence.fetch_id LEFT JOIN artifacts artifact ON artifact.id = binding.artifact_id WHERE s.object_id = 16271 LIMIT 1
2.55ms SELECT individual.raw_club, individual.evidence_id, f.requested_url FROM sejm_individual_votes individual JOIN sejm_votes vote ON vote.object_id = individual.vote_id AND vote.current_revision_id = individual.vote_revision_id JOIN object_revisions revision ON revision.id = vote.current_revision_id JOIN evidence e ON e.id = individual.evidence_id JOIN fetches f ON f.id = e.fetch_id WHERE vote.term = 10 AND vote.sitting_number = 60 AND individual.mp_number = 178 AND LEFT(JSON_VALUE(revision.snapshot, '$.date'), 10) = '2026-06-18' AND individual.raw_club IS NOT NULL AND individual.raw_club <> '' ORDER BY vote.voting_number DESC
1.66ms SELECT binding.artifact_id FROM documents document JOIN document_versions version ON version.document_id = document.object_id AND version.sequence_no = (SELECT MAX(latest.sequence_no) FROM document_versions latest WHERE latest.document_id = document.object_id) JOIN document_version_artifacts binding ON binding.version_id = version.object_id AND binding.role = 'html' AND binding.current_selector_sha IS NOT NULL WHERE document.owner_object_id = 16139 AND document.document_kind = 'statement_transcript' AND document.source_document_key = CONCAT('sejm:statement:', 129) LIMIT 1
N+1 candidates:
5× (4.68ms) SELECT extraction.id, extraction.quality_state FROM extractions extraction JOIN processing…
5× (4.1ms) SELECT source_text FROM text_segments WHERE extraction_id = ? ORDER BY ordinal
4× (4.7ms) SELECT binding.artifact_id FROM documents document JOIN document_versions version ON versi…
toggle
5× (4.68ms) SELECT extraction.id, extraction.quality_state FROM extractions extraction JOIN processing_runs run ON run.id = extraction.run_id WHERE extraction.source_artifact_id = ? AND run.state = ? ORDER BY CASE extraction.quality_state WHEN ? THEN ? WHEN ? THEN ? ELSE ? END, run.finished_at DESC, extraction.id DESC LIMIT ?
5× (4.1ms) SELECT source_text FROM text_segments WHERE extraction_id = ? ORDER BY ordinal
4× (4.7ms) SELECT binding.artifact_id FROM documents document JOIN document_versions version ON version.document_id = document.object_id AND version.sequence_no = (SELECT MAX(latest.sequence_no) FROM document_versions latest WHERE latest.document_id = document.object_id) JOIN document_version_artifacts binding ON binding.version_id = version.object_id AND binding.role = ? AND binding.current_selector_sha IS NOT NULL WHERE document.owner_object_id = ? AND document.document_kind = ? AND document.source_document_key = CONCAT(?, ?) LIMIT ?
PHP: 27.8ms | App: 27.5ms | DB: 20.1ms (17, rows: 19) [exec: 19.7ms, fetch: 0.3ms] | View: 0.5ms (1) | Mem: 2MB (peak: 2MB) | Files: 20
toggle files
(0.54ms) /app/templates/speeches/show.php
/app/public/index.php
/app/vendor/autoload.php
/app/vendor/composer/autoload_real.php
/app/vendor/composer/platform_check.php
/app/vendor/composer/ClassLoader.php
/app/vendor/composer/autoload_static.php
/app/vendor/symfony/deprecation-contracts/function.php
/app/vendor/symfony/polyfill-php83/bootstrap.php
/app/lib/PFrame.php
/app/config/credentials/local.php
/app/src/Http/PublicResponseCache.php
/app/src/Http/AuthRoutes.php
/app/src/Http/ReviewDecisionRoutes.php
/app/src/Http/TopicDecisionRoutes.php
/app/src/Http/WatchRoutes.php
/app/src/Http/SpeechController.php
/app/src/Overview/SpeechReadModel.php
/app/src/Text/TextSearch.php
/app/templates/layout.php