Files
harbour-core/harbour/contrib/hbpgsql/tests/test.prg
Viktor Szakats 92fee58e76 2012-11-06 17:31 UTC+0100 Viktor Szakats (harbour syenar.net)
* contrib/hbfimage/fi_winfu.c
    ! fixes to previous modification

  * contrib/hbpgsql/postgres.c
  * contrib/hbpgsql/tests/test.prg
  * contrib/hbpgsql/tpostgre.prg
    * renamed few functions that are not direct wrappers:
      PQCREATETRACE() -> PQTRACECREATE()
      INCOMPATIBLE.

  * contrib/hbnf/mouse.c
  * contrib/hbnf/mouse1.prg
    * renamed internal function:
      _mset_sensitive() -> _ft_MSetSensitive()

  * contrib/hbhttpd/hbhttpd.hbx
  * contrib/hblzf/hblzf.hbx
  * contrib/hbmlzo/hbmlzo.hbx
  * contrib/hbmxml/hbmxml.hbx
  * contrib/hbmysql/hbmysql.hbx
  * contrib/hbnf/hbnf.hbx
  * contrib/hbnetio/hbnetio.hbx
  * contrib/hbodbc/hbodbc.hbx
  * contrib/hbpgsql/hbpgsql.hbx
  * contrib/hbssl/hbssl.hbx
  * contrib/hbtip/hbtip.hbx
  * contrib/hbtpathy/hbtpathy.hbx
  * contrib/hbxdiff/hbxdiff.hbx
  * contrib/hbzebra/hbzebra.hbx
  * contrib/rddads/rddads.hbx
  * contrib/xhb/xhb.hbx
    + formatted function names in .hbx files
2012-11-06 16:35:09 +00:00

96 lines
2.7 KiB
Plaintext

/*
* $Id$
*/
#require "hbpgsql"
#include "postgres.ch"
PROCEDURE Main()
LOCAL conn, res, aTemp, x, y, pFile
LOCAL cDb := "test"
LOCAL cUser := "user"
LOCAL cPass := "pass"
CLS
conn := PQsetdbLogin( "localhost", "5432", NIL, NIL, cDb, cUser, cPass )
? PQdb( conn ), PQuser( conn ), PQpass( conn ), PQhost( conn ), PQport( conn ), PQtty( conn ), PQoptions( conn )
conn := PQconnectDB( "dbname = " + cDb + " host = localhost user = " + cUser + " password = " + cPass + " port = 5432" )
? PQstatus( conn ), PQerrormessage( conn )
IF PQstatus( conn ) != CONNECTION_OK
QUIT
ENDIF
? "Blocking: ", PQisnonblocking( conn ), PQsetnonblocking( conn, .T. ), PQisnonblocking( conn )
pFile := PQtracecreate( "trace.log" )
PQtrace( conn, pFile )
? "Verbose: ", PQsetErrorVerbosity( conn, 2 )
? ;
"Protocol: ", PQprotocolVersion( conn ), ;
" Server Version: ", PQserverVersion( conn ), ;
" Client Encoding: ", PQsetClientEncoding( conn, "ASCII" ), ;
"New encode: ", PQclientEncoding( conn )
? PQdb( conn ), PQuser( conn ), PQpass( conn ), PQhost( conn ), PQport( conn ), PQtty( conn ), PQoptions( conn )
res := PQexec( conn, "drop table products" )
? PQresultStatus( res ), PQresultErrorMessage( res )
res := NIL
res := PQexec( conn, "create table products ( product_no numeric(10), name varchar(20), price numeric(10,2) )" )
? PQresultStatus( res ), PQresultErrorMessage( res )
res := PQexecParams( conn, "insert into products(product_no, name, price) values ($1, $2, $3)", { "2", "bread", "10.95" } )
? "Oid Row: ", PQoidValue( res ), PQoidStatus( res )
IF PQresultStatus( res ) != PGRES_COMMAND_OK
? PQresultStatus( res ), PQresultErrorMessage( res )
ENDIF
res := PQexec( conn, 'select price, name, product_no as "produto" from products' )
IF PQresultStatus( res ) != PGRES_TUPLES_OK
? PQresultStatus( res ), PQresultErrorMessage( res )
ENDIF
? "Binary: ", PQbinaryTuples( res )
? "Rows: ", PQntuples( res ), "Cols: ", PQnfields( res )
? PQfname( res, 1 ), PQftable( res, 1 ), PQftype( res, 1 ), PQfnumber( res, "name" ), PQfmod( res, 1 ), PQfsize( res, 1 ), PQgetisnull( res, 1, 1 )
aTemp := PQmetadata( res )
FOR x := 1 TO Len( aTemp )
? "Linha 1: "
FOR y := 1 TO 6
?? aTemp[ x ][ y ], ", "
NEXT
NEXT
? PQFcount( res )
? PQlastrec( res )
? PQGetvalue( res, 1, 2 )
? "Large Objects, always should be in a transaction..."
PQexec( conn, "begin" )
? ( x := lo_Import( conn, __FILE__ ) )
? lo_Export( conn, x, "test.new" )
? lo_Unlink( conn, x )
PQexec( conn, "commit" )
PQuntrace( conn )
RETURN