From: | "wangshj" <wangshj(at)sduept(dot)com> |
---|---|
To: | pgsql-bugs(at)postgresql(dot)org |
Subject: | BUG #2395: Can't get right type oid by PQftype. |
Date: | 2006-04-14 06:30:10 |
Message-ID: | 200604140630.k3E6UAZk059778@wwwmaster.postgresql.org |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Thread: | |
Lists: | pgsql-bugs |
The following bug has been logged online:
Bug reference: 2395
Logged by: wangshj
Email address: wangshj(at)sduept(dot)com
PostgreSQL version: 8.1.3
Operating system: CentOS release 4.3 (Final)
Description: Can't get right type oid by PQftype.
Details:
I create a domain type testdomainoid.
CREATE DOMAIN testdomainoid int CHECK(value >20);
In my database,the type oid of testdomainoid is 16385.But PQftype return 23
for testdomainoid's type oid.How could I get the testdomainoid's type oid.
--Creating a table use domain type.
CREATE TABLE test_domain_oid ( col testdomainoid );
--Insert a value.
INSERT INTO test_domain_oid VALUES (30);
//following is my test code.
#include <iostream>
#include "libpq-fe.h"
#include <sstream>
int main(int argc, char ** argv){
PGconn * conn = PQconnectdb("");
if( CONNECTION_OK != PQstatus(conn ) )
{
std::cout << "\nCan't connecte to db\n";
return 0;
}
PGresult * r = PQexec( conn, "SELECT col FROM test_domain_oid " );
if( PGRES_TUPLES_OK == PQresultStatus(r) )
{
Oid id = PQftype( r, 0 );
int mod = PQfmod( r, 0 );
std::cout<<"\noid: " << id<<"\nmod:" << mod <<std::endl;
}
else
{
std::cout << "\nQuery failed..\n";
return 0;
}
PQclear( r );
PQfinish( conn );
};
From | Date | Subject | |
---|---|---|---|
Next Message | Martin | 2006-04-14 06:47:45 | BUG #2396: SELECT to_number('6500', '999,999.99') != 650 |
Previous Message | Alexander Kirpa | 2006-04-14 01:32:16 | BUG #2394: Multiple TRUNCATE within transaction |