facing problem in outparameters in c
Hi Team, i am facing the problem in passing the outparameters in postgres package calling by using c language.can you please help us to solve the problem.. below is way iam calling the package. snprintf(buffer, sizeof(buffer),"SELECT smp_ss7_mig_dev.pr_pkg_oss_networkserver_pr_sp_apply_sl_yn('%s','%s','%s', %d ,%d)",m_h_imsi.arr,m_h_hlraddress.arr,m_h_vlraddress.arr,m_ht_message,m_ht_msgType,allow_yn,po_ns_relay_reason,po_sl_relay_reason); res = PQexec(con,buffer); if (PQresultStatus(res) != PGRES_TUPLES_OK) { printf("No data retrieved\n"); PQclear(res); PQfinish(con); exit(1); } printf("allow_yn===%d\tpo_ns_relay_reason==%d\tpo_sl_relay_reason==%s\n",allow_yn,po_ns_relay_reason,po_sl_relay_reason.arr); Thanks & Regards, Mahesh Bodepati Software Engineer- Engineering XIUS INNOVATE . LEAD. mahesh.bodep...@xius.com<mailto:battini.subrahman...@xius.com> http://www.xius.com<http://www.xius.com/>
Re: facing problem in outparameters in c
whatever you said is correct but actually what i want is whenever iam calling the postgres function by passing input and output parameters in c ,after execution of postgres function in database side they will return output paramers .after that when i print the output variable name i need that output parameter value diretcly without differenciating with column names. Thanks & Regards, Mahesh Bodepati Software Engineer- Engineering XIUS INNOVATE . LEAD. mahesh.bodep...@xius.com<mailto:battini.subrahman...@xius.com> http://www.xius.com<http://www.xius.com/> From: Laurenz Albe Sent: Wednesday, October 28, 2020 12:29 PM To: Mahesh Bodepati ; pgsql-general@lists.postgresql.org Subject: Re: facing problem in outparameters in c On Wed, 2020-10-28 at 04:57 +, Mahesh Bodepati wrote: > Actually i am calling a postgres function by using c language which > description > is defined in database side .when iam calling a postgres function by passing > input > and output parameters after excution of function in database side i need > output > data in correcsponding output parameters but iam not getting output like > that. Right; output parameters in a function are columns in the result set. > i am getting total output data in response pointer.if iam getting total data > in response pointer it is hard to figure out which data is for which output > parameter. No, that is very simple. You can call PQfnumber on the result set to find which position in the result set belongs to a certain parameter name. See https://www.postgresql.org/docs/current/libpq-exec.html#LIBPQ-EXEC-SELECT-INFO > can you please check once attached two text files. I looked, and the C code is unreadable. You seem to be mixing embedded SQL and libpq calls, which you shouldn't. There is great value in a consistent indentation style. Yours, Laurenz Albe -- Cybertec | https://www.cybertec-postgresql.com