From aa5868826ff949fdfbd57c5c0b03ef6c314f6ffe Mon Sep 17 00:00:00 2001 From: cgfhtw Date: Wed, 27 Dec 2023 10:26:42 +0100 Subject: [PATCH] getAntraege --- .../27351_digitalisierung_formulare.php | 64 +++++++++++++++++-- 1 file changed, 60 insertions(+), 4 deletions(-) diff --git a/system/dbupdate_3.4/27351_digitalisierung_formulare.php b/system/dbupdate_3.4/27351_digitalisierung_formulare.php index 1f8dd4b4b..4bf52dc3a 100644 --- a/system/dbupdate_3.4/27351_digitalisierung_formulare.php +++ b/system/dbupdate_3.4/27351_digitalisierung_formulare.php @@ -170,9 +170,12 @@ if($result = @$db->db_query("SELECT 1 FROM system.tbl_berechtigung WHERE berecht } } -if (!$result = @$db->db_query("SELECT campus.get_status_studierendenantrag(0)")) { +if (!$result = @$db->db_query("SELECT campus.get_status_studierendenantrag(0)")) +{ $qry = 'CREATE FUNCTION campus.get_status_studierendenantrag(integer) RETURNS character varying LANGUAGE plpgsql + STABLE + RETURNS NULL ON NULL INPUT AS $_$ DECLARE i_studierendenantrag_id ALIAS FOR $1; DECLARE rec RECORD; @@ -194,10 +197,25 @@ if (!$result = @$db->db_query("SELECT campus.get_status_studierendenantrag(0)")) else echo '
campus.get_status_studierendenantrag(integer): function created'; } +elseif ($result = @$db->db_query("SELECT 1 FROM pg_proc WHERE proname='get_status_studierendenantrag' AND provolatile='s'")) +{ + if ($db->db_num_rows($result) == 0) { + $qry = 'ALTER FUNCTION campus.get_status_studierendenantrag(integer) STABLE;'; + $qry .= 'ALTER FUNCTION campus.get_status_studierendenantrag(integer) RETURNS NULL ON NULL INPUT;'; -if (!$result = @$db->db_query("SELECT campus.get_status_id_studierendenantrag(0)")) { + if(!$db->db_query($qry)) + echo 'campus.get_status_studierendenantrag(integer): '.$db->db_last_error().'
'; + else + echo '
campus.get_status_studierendenantrag(integer): function updated'; + } +} + +if (!$result = @$db->db_query("SELECT campus.get_status_id_studierendenantrag(0)")) +{ $qry = 'CREATE FUNCTION campus.get_status_id_studierendenantrag(integer) RETURNS integer LANGUAGE plpgsql + STABLE + RETURNS NULL ON NULL INPUT AS $_$ DECLARE i_studierendenantrag_id ALIAS FOR $1; DECLARE rec RECORD; @@ -219,10 +237,24 @@ if (!$result = @$db->db_query("SELECT campus.get_status_id_studierendenantrag(0) else echo '
campus.get_status_id_studierendenantrag(integer): function created'; } +elseif ($result = @$db->db_query("SELECT 1 FROM pg_proc WHERE proname='get_status_id_studierendenantrag' AND provolatile='s'")) +{ + if ($db->db_num_rows($result) == 0) { + $qry = 'ALTER FUNCTION campus.get_status_id_studierendenantrag(integer) STABLE;'; + $qry .= 'ALTER FUNCTION campus.get_status_id_studierendenantrag(integer) RETURNS NULL ON NULL INPUT;'; -if (!$result = @$db->db_query("SELECT public.get_absem_prestudent(0, null)")) { + if(!$db->db_query($qry)) + echo 'campus.get_status_id_studierendenantrag(integer): '.$db->db_last_error().'
'; + else + echo '
campus.get_status_id_studierendenantrag(integer): function updated'; + } +} + +if (!$result = @$db->db_query("SELECT public.get_absem_prestudent(0, null)")) +{ $qry = 'CREATE FUNCTION public.get_absem_prestudent(integer, character varying) RETURNS integer LANGUAGE plpgsql + STABLE AS $_$ DECLARE i_prestudent_id ALIAS FOR $1; DECLARE cv_studiensemester_kurzbz ALIAS FOR $2; @@ -253,9 +285,22 @@ if (!$result = @$db->db_query("SELECT public.get_absem_prestudent(0, null)")) { else echo '
public.get_absem_prestudent(integer, character varying): function created'; } -if (!$result = @$db->db_query("SELECT public.get_stdsem_prestudent(0, null)")) { +elseif ($result = @$db->db_query("SELECT 1 FROM pg_proc WHERE proname='get_absem_prestudent' AND provolatile='s'")) +{ + if ($db->db_num_rows($result) == 0) { + $qry = 'ALTER FUNCTION public.get_absem_prestudent(integer, character varying) STABLE;'; + + if(!$db->db_query($qry)) + echo 'public.get_absem_prestudent(integer, character varying): '.$db->db_last_error().'
'; + else + echo '
public.get_absem_prestudent(integer, character varying): function updated'; + } +} +if (!$result = @$db->db_query("SELECT public.get_stdsem_prestudent(0, null)")) +{ $qry = 'CREATE FUNCTION public.get_stdsem_prestudent(integer, character varying) RETURNS character varying LANGUAGE plpgsql + STABLE AS $_$ DECLARE i_prestudent_id ALIAS FOR $1; DECLARE cv_studiensemester_kurzbz ALIAS FOR $2; @@ -286,6 +331,17 @@ if (!$result = @$db->db_query("SELECT public.get_stdsem_prestudent(0, null)")) { else echo '
public.get_stdsem_prestudent(integer, character varying): function created'; } +elseif ($result = @$db->db_query("SELECT 1 FROM pg_proc WHERE proname='get_stdsem_prestudent' AND provolatile='s'")) +{ + if ($db->db_num_rows($result) == 0) { + $qry = 'ALTER FUNCTION public.get_stdsem_prestudent(integer, character varying) STABLE;'; + + if(!$db->db_query($qry)) + echo 'public.get_stdsem_prestudent(integer, character varying): '.$db->db_last_error().'
'; + else + echo '
public.get_stdsem_prestudent(integer, character varying): function updated'; + } +} if($result = @$db->db_query("SELECT 1 FROM public.tbl_status_grund WHERE statusgrund_kurzbz = 'abbrecherStgl';")) {