Thread: select count(*) datatype ?

select count(*) datatype ?

From
lothar.behrens@lollisoft.de
Date:
Hi,

what type of column is an aggregated value of count ?

Currently I support SQL_CHAR,SQL_INT,... but something seems to
be missed.

Thanks, Lothar

--
Lothar Behrens    |    Rapid Prototyping ...
Rosmarinstr 3        |
40235 Düsseldorf      |    www.lollisoft.de




Re: select count(*) datatype ?

From
Tom Lane
Date:
lothar.behrens@lollisoft.de writes:
> what type of column is an aggregated value of count ?

bigint, at least in recent PG releases.

            regards, tom lane

Re: select count(*) datatype ?

From
lothar.behrens@lollisoft.de
Date:
Am 30 Sep 2005 um 9:54 hat Tom Lane geschrieben:

> lothar.behrens@lollisoft.de writes:
> > what type of column is an aggregated value of count ?
>
> bigint, at least in recent PG releases.
>
>             regards, tom lane
>

Thanks,

but now I am a little confused about how to convert those datatypes to a char[] type.

I write long datatypes from char[] array into bound buffer:

long l = 0;
l = atol("long value");
long* pl = (long*) buffer;
void* b = pl+1;
memcpy(b, &l, sizeof(l));

I read long datatypes into char[] array from bound buffer:

char charrep[100] = "";
sprintf(charrep, "%d", *(long*) buffer);
result->setData(charrep);

How do I this for bigint datatypes (long long as I think) ?

Thanks

Lothar

--
Lothar Behrens    |    Rapid Prototyping ...
Rosmarinstr 3        |
40235 Düsseldorf      |    www.lollisoft.de




Re: select count(*) datatype ?

From
lothar.behrens@lollisoft.de
Date:
Am 30 Sep 2005 um 17:57 hat lothar.behrens@lollisoft.de geschrieben:

I have solved that problem. Open Watcom has a function atoll and lltoa for long
long conversion. I'll try this on Linux and Mac later, there may be similar functions.

Lothar

> Am 30 Sep 2005 um 9:54 hat Tom Lane geschrieben:
>
> > lothar.behrens@lollisoft.de writes:
> > > what type of column is an aggregated value of count ?
> >
> > bigint, at least in recent PG releases.
> >
> >             regards, tom lane
> >
>
> Thanks,
>
> but now I am a little confused about how to convert those datatypes to a char[] type.
>
> I write long datatypes from char[] array into bound buffer:
>
> long l = 0;
> l = atol("long value");
> long* pl = (long*) buffer;
> void* b = pl+1;
> memcpy(b, &l, sizeof(l));
>
> I read long datatypes into char[] array from bound buffer:
>
> char charrep[100] = "";
> sprintf(charrep, "%d", *(long*) buffer);
> result->setData(charrep);
>
> How do I this for bigint datatypes (long long as I think) ?
>
> Thanks
>
> Lothar
>
> --
> Lothar Behrens    |    Rapid Prototyping ...
> Rosmarinstr 3        |
> 40235 Düsseldorf      |    www.lollisoft.de
>
>
>
>
> ---------------------------(end of broadcast)---------------------------
> TIP 6: explain analyze is your friend
>


--
Lothar Behrens    |    Rapid Prototyping ...
Rosmarinstr 3        |
40235 Düsseldorf      |    www.lollisoft.de