[HACKERS] heap_form_tuple crashing

2012-05-31 Thread Atri Sharma
Hi all,

I am trying to call heap_form_tuple to create a tuple from a datum.

My call to heap_form_tuple looks like:


val1=0;
tupledesc1=BlessTupleDesc(node-ss.ss_currentRelation-rd_att);
tuple=heap_form_tuple(tupledesc1,p1,val1);


p1 is a pointer to a Datum instance which is created from a char array.

When I am running the code,the system is crashing.

Please let me know what can the problem be and also what I should do
to rectify it.

Atri
-- 
Regards,

Atri
l'apprenant

-- 
Sent via pgsql-hackers mailing list (pgsql-hackers@postgresql.org)
To make changes to your subscription:
http://www.postgresql.org/mailpref/pgsql-hackers


Re: [HACKERS] heap_form_tuple crashing

2012-05-31 Thread Heikki Linnakangas

On 31.05.2012 13:42, Atri Sharma wrote:

I am trying to call heap_form_tuple to create a tuple from a datum.

My call to heap_form_tuple looks like:


val1=0;
tupledesc1=BlessTupleDesc(node-ss.ss_currentRelation-rd_att);
tuple=heap_form_tuple(tupledesc1,p1,val1);


p1 is a pointer to a Datum instance which is created from a char array.

When I am running the code,the system is crashing.

Please let me know what can the problem be and also what I should do
to rectify it.


Hard to say without seeing the full code...

--
  Heikki Linnakangas
  EnterpriseDB   http://www.enterprisedb.com

--
Sent via pgsql-hackers mailing list (pgsql-hackers@postgresql.org)
To make changes to your subscription:
http://www.postgresql.org/mailpref/pgsql-hackers


Re: [HACKERS] heap_form_tuple crashing

2012-05-31 Thread Atri Sharma
On Thu, May 31, 2012 at 5:02 PM, Heikki Linnakangas
heikki.linnakan...@enterprisedb.com wrote:
 On 31.05.2012 13:42, Atri Sharma wrote:

 I am trying to call heap_form_tuple to create a tuple from a datum.

 My call to heap_form_tuple looks like:


 val1=0;
 tupledesc1=BlessTupleDesc(node-ss.ss_currentRelation-rd_att);
 tuple=heap_form_tuple(tupledesc1,p1,val1);


 p1 is a pointer to a Datum instance which is created from a char array.

 When I am running the code,the system is crashing.

 Please let me know what can the problem be and also what I should do
 to rectify it.


 Hard to say without seeing the full code...

 --
  Heikki Linnakangas
  EnterpriseDB   http://www.enterprisedb.com

Hi Heikki,

Thanks for the reply.

Another thing I wanted to ask was that would you recommend building
tuples from strings directly or converting them to Datum first and
then build the tuples from Datum instances?

Atri
-- 
Regards,

Atri
l'apprenant

-- 
Sent via pgsql-hackers mailing list (pgsql-hackers@postgresql.org)
To make changes to your subscription:
http://www.postgresql.org/mailpref/pgsql-hackers


Re: [HACKERS] heap_form_tuple crashing

2012-05-31 Thread Heikki Linnakangas

On 31.05.2012 14:42, Atri Sharma wrote:

Another thing I wanted to ask was that would you recommend building
tuples from strings directly or converting them to Datum first and
then build the tuples from Datum instances?


It depends. If you have all the values in strings already, then 
BuildTupleFromCStrings() is probably the easiest. But if you have some 
attributes in Datum format already, then it's probably easier and faster 
to use heap_form_tuple().


--
  Heikki Linnakangas
  EnterpriseDB   http://www.enterprisedb.com

--
Sent via pgsql-hackers mailing list (pgsql-hackers@postgresql.org)
To make changes to your subscription:
http://www.postgresql.org/mailpref/pgsql-hackers


Re: [HACKERS] heap_form_tuple crashing

2012-05-31 Thread Atri Sharma
On Thu, May 31, 2012 at 5:14 PM, Heikki Linnakangas
heikki.linnakan...@enterprisedb.com wrote:
 On 31.05.2012 14:42, Atri Sharma wrote:

 Another thing I wanted to ask was that would you recommend building
 tuples from strings directly or converting them to Datum first and
 then build the tuples from Datum instances?


 It depends. If you have all the values in strings already, then
 BuildTupleFromCStrings() is probably the easiest. But if you have some
 attributes in Datum format already, then it's probably easier and faster to
 use heap_form_tuple().


 --
  Heikki Linnakangas
  EnterpriseDB   http://www.enterprisedb.com

Performance wise,which one would be better(I am envisioning a large
set of strings to be converted to tuples)?


-- 
Regards,

Atri
l'apprenant

-- 
Sent via pgsql-hackers mailing list (pgsql-hackers@postgresql.org)
To make changes to your subscription:
http://www.postgresql.org/mailpref/pgsql-hackers


Re: [HACKERS] heap_form_tuple crashing

2012-05-31 Thread Tom Lane
Atri Sharma atri.j...@gmail.com writes:
 My call to heap_form_tuple looks like:
 val1=0;
 tupledesc1=BlessTupleDesc(node-ss.ss_currentRelation-rd_att);
 tuple=heap_form_tuple(tupledesc1,p1,val1);

 p1 is a pointer to a Datum instance which is created from a char array.

Does that actually match the tupdesc you're using?  Are you sure you
created the Datum correctly (ie, did you call the appropriate datatype
input routine)?

BTW, the BlessTupleDesc call here seems to be pure cargo-cult
programming.  It should not be necessary to bless a relation's tupdesc
(because that should be a named type already); and even if it were,
heap_form_tuple doesn't care.

regards, tom lane

-- 
Sent via pgsql-hackers mailing list (pgsql-hackers@postgresql.org)
To make changes to your subscription:
http://www.postgresql.org/mailpref/pgsql-hackers


Re: [HACKERS] heap_form_tuple crashing

2012-05-31 Thread Atri Sharma
On Thu, May 31, 2012 at 7:01 PM, Tom Lane t...@sss.pgh.pa.us wrote:
 Atri Sharma atri.j...@gmail.com writes:
 My call to heap_form_tuple looks like:
 val1=0;
 tupledesc1=BlessTupleDesc(node-ss.ss_currentRelation-rd_att);
 tuple=heap_form_tuple(tupledesc1,p1,val1);

 p1 is a pointer to a Datum instance which is created from a char array.

 Does that actually match the tupdesc you're using?  Are you sure you
 created the Datum correctly (ie, did you call the appropriate datatype
 input routine)?

 BTW, the BlessTupleDesc call here seems to be pure cargo-cult
 programming.  It should not be necessary to bless a relation's tupdesc
 (because that should be a named type already); and even if it were,
 heap_form_tuple doesn't care.

                        regards, tom lane

Hi Tom,

Thanks for the advice and help.Your diagnosis is correct,I used the
correct datatype input routine and it worked like a charm.

I will remove the calls to BlessTupleDesc then?

Atri

-- 
Regards,

Atri
l'apprenant

-- 
Sent via pgsql-hackers mailing list (pgsql-hackers@postgresql.org)
To make changes to your subscription:
http://www.postgresql.org/mailpref/pgsql-hackers