Mailing List Archive: 49091 messages
  • Home
  • Script library
  • AltME Archive
  • Mailing list
  • Articles Index
  • Site search
 

[REBOL] Re: PostgreSQL 2 Rebol and back again...

From: jeff:rebol at: 7-Dec-2000 8:58

;- Postgres has a much cleaner client API to work with ; for REBOL/Command than MySQL. REBOL [ Title: "Postgres Database REBOL/command API" Purpose: { Exposes the Postgres API in REBOL/command } Needs: [command] File: %postgres.r ] pq: load/library %libpq.so routines: [ PQsetdbLogin [ "Login to postgres Database" pghost [int] pgport [int] pgoptions [int] pgtty [int] dbName [int] login [string!] pwd [string!] return: [long] ] PQdb ["Name of database" PGconn [int] return: [string!]] PQhost ["Name of host" PGconn [int] return: [string!]] PQoptions ["Options of connection" PGconn [int] return: [string!]] PQport ["Port number" PGconn [int] return: [string!]] PQtty ["Tty of database" PGconn [int] return: [string!]] PQstatus ["Status of connection" PGconn [int] return: [int]] PQerrorMessage ["Error associated with connection" PGconn [int] return: [string!]] PQfinish ["Close connection" PGconn [int]] PQreset ["Reset communication with database" PGconn [int]] PQexec [ "Execute SQL statement" PGconn [int] query [string!] return: [int]] PQresultStatus ["Status of query" result [int] return: [int]] PQresStatus ["Convert status to string" res-stat [int] return: [string!]] PQresultErrorMessage ["Error message for query" PGresult [int] return: [string!]] PQntuples ["Number of tuples in result" PGresult [int] return: [int]] PQnfields ["Number of fields in result" PGresult [int] return: [int]] PQfname ["Field attribute associated with field index" PGresult [int] field_index [int] return: [string!]] PQfnumber ["Field index associated with field name" PGresult [int] field_name [string!] return: [int]] PQftype ["Field type associated with given index" PGresult [int] field_num [int] return: [int]] PQfsize ["Size in bytes of field associated with index" PGresult [int] field_index [int] return: [int]] PQfmod ["Type-specific modification data per field at index" PGresult [int] field_index [int] return: [int]] PQgetvalue ["Get field (attribute) value" PGresult [int] tup_num [int] field_num [int] return: [char*]] PQgetlength ["Length of a field in bytes" PGresult [int] tup_num [int] field_num [int] return: [int]] PQgetisnull ["NULL status of a field" PGresult [int] tup_num [int] field_num [int] return: [int]] PQcmdStatus ["Command status of last query command" PGresult [int] return: [string!]] PQcmdTuples ["Number of tuples affected by INSERT, UPDATE, DELETE queries" PGresult [int] return: [string!]] PQoidStatus ["String with the object id of the tuple inserted" PGresult [int] return: [string!]] PQclear ["Frees the storage associated with the PGresult" PQresult [int]] PQsendQuery ["Submit a query to Postgres without waiting result(s)" PGconn [int] query [string!] return: [string!]] PQgetResult ["Wait for the next result from a prior PQsendQuery" PGconn [int] return: [int]] PQconsumeInput ["If input is available from the backend, consume it" PGconn [int]] PQisBusy ["Returns TRUE if a query is busy (would block)" PGconn [int] return: [int]] PQsocket ["file descriptor number for the backend connection socket" PGconn [int] return: [int]] PQrequestCancel["Request abandon processing of the current query" PGconn [int] return: [int]] fe_getauthname ["Name the user has authenticated" errorMessage [string!] return: [string!]] fe_setauthsvc ["use authentication service name rather default" name [string!] errorMessage [string!]] ] foreach [name spec] routines [ set name make routine! spec pq form name ]