Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> Niezgodność typów, zła ilość kolumn w procedurze składowanej
jamSoft
post 1.02.2012, 23:32:42
Post #1





Grupa: Zarejestrowani
Postów: 44
Pomógł: 0
Dołączył: 4.03.2008

Ostrzeżenie: (20%)
X----


Modyfikuję czyjś system. Siedzę parę godzin nad full text search i procedurą składowaną. Chcąc dodać kolejnego joina do poniższego zapytania, mam error 'niezgodność typów' i chwilkę dalej: ilość kolumn się nie zgadza, powinna byc 52 a jest np 86. Nie wiem gdzie jest tego deklaracja - ilości kolumn zwracanych.
Zwracany typ funkcji to "setof searched_text_type" (tak jak w oryginale). Nie mogę znaleźć info w sieci na temat tego typu.
  1. DECLARE
  2. row record;
  3. BEGIN
  4. RETURN query
  5. (
  6. SELECT * FROM
  7. (SELECT * FROM table_full_text_search(_language, _query) AS (id integer,table_name character varying,rank real)) AS text
  8. LEFT JOIN table_accomodations_i18n AS mtsacc
  9. ON mtsacc.accomodations_id=text.id AND text.table_name='table_accomodations_i18n' AND mtsacc.language_code=_language
  10. LEFT JOIN table_accomodations_packages_i18n AS mtsaccpac
  11. ON mtsaccpac.package_id=text.id AND text.table_name='table_accomodations_packages_i18n' AND mtsaccpac.language_code=_language
  12.  
  13. ..... TU DALSZE JOIN .....
  14.  
  15. );
  16. END;


Używam pgadmin na PostgreSQL 8.4.3


--------------------
tworzenie stron internetowych- Siedlce, usługi programistyczne - http://wereda.net
Go to the top of the page
+Quote Post
skowron-line
post 2.02.2012, 09:53:28
Post #2





Grupa: Zarejestrowani
Postów: 4 340
Pomógł: 542
Dołączył: 15.01.2006
Skąd: Olsztyn/Warszawa

Ostrzeżenie: (0%)
-----


Jeżeli masz niezgodność typów w JOIN to oznacza to tyle co
  1. JOIN TABLE ON TABLE.string = table2.int



--------------------
I'm so fast that last night I turned off the light switch in my hotel room and was in bed before the room was dark - Muhammad Ali.
Peg jeżeli chcesz uprawiać sex to dzieci muszą wyjść, a jeżeli chcesz żeby był dobry ty też musisz wyjść - Al Bundy.

QueryBuilder, Mootools.net, bbcradio1::MistaJam
http://www.phpbench.com/
Go to the top of the page
+Quote Post
jamSoft
post 3.02.2012, 12:32:16
Post #3





Grupa: Zarejestrowani
Postów: 44
Pomógł: 0
Dołączył: 4.03.2008

Ostrzeżenie: (20%)
X----


okazało się, że powyzsza składnia wymaga dopasowania ilości zwracanych pól do deklaracji tej funkcji (lub funkcji query - do końca nie wiem).

należało też utworzyć nowy typ danych użytkownika dla tego zwracanego 'obiektu', który niestety nie był od razu widoczny w pgadmin -> zobaczyłem go podczas eksportu bazy do sql


--------------------
tworzenie stron internetowych- Siedlce, usługi programistyczne - http://wereda.net
Go to the top of the page
+Quote Post

Reply to this topicStart new topic
1 Użytkowników czyta ten temat (1 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Wersja Lo-Fi Aktualny czas: 24.04.2024 - 19:36