Я создал
CREATE OR REPLACE FUNCTION public.officer_view_licences(
IN lab_code_r character)
RETURNS TABLE(appl_type_r character varying, appl_date_r timestamp without time zone, shop_name_r character varying, status_r character, appl_no_r character varying, license_no_r character varying, license_issue_date_r date, issueing_authority_name_r character varying, issueing_authority_desig_r character varying, reject_date_r date, valid_upto_r date) AS
$BODY$
BEGIN
return QUERY SELECT appl_type, appl_date, appl_no, license_no, license_issue_date, issueing_authority_name, issueing_authority_desig, reject_date, valid_upto FROM license_detail where lab_code = lab_code_r order by appl_type, license_issue_date desc ;
END
$BODY$
LANGUAGE plpgsql VOLATILE
COST 100
ROWS 1000;
функция в моей базе данных в pgsql и вызвать его из
public function officer_view_licences($lab_code){
$pgquery = pg_query("select * from officer_view_licences('".$lab_code."')");
while($row = pg_fetch_assoc($pgquery)) {
$records[] = $row;
}
print_r($records);
return $records;
}
Я распечатал записи, но там нет распечатки. но когда я бегу
SELECT appl_type, appl_date, appl_no, license_no, license_issue_date, issueing_authority_name, issueing_authority_desig, reject_date, valid_upto FROM license_detail where lab_code = '119' order by appl_type, license_issue_date desc ;
Это напечатает некоторую запись. Как я могу проверить, что моя функция работает правильно или нет?
Вы должны запросить pg_stat_activity
select * from pg_stat_activity
where application_name ~* '[o]fficer_view_licences';
Кроме того, вы можете явно указать имя приложения для сеанса для правильной идентификации.
set application_name to officer_view_licences_thisone;
Затем вы можете запросить это как:
select * from pg_stat_activity
where application_name = 'officer_view_licences_thisone';
Других решений пока нет …