Commit graph

15 commits

Author SHA1 Message Date
agc
d549bff9a5 Add SHA512 digests for distfiles for databases category
Problems found with existing distfiles:
	distfiles/D6.data.ros.gz
	distfiles/cstore0.2.tar.gz
	distfiles/data4.tar.gz
	distfiles/sphinx-2.2.7-release.tar.gz
No changes made to the cstore or mariadb55-client distinfo files.

Otherwise, existing SHA1 digests verified and found to be the same on
the machine holding the existing distfiles (morden).  All existing
SHA1 digests retained for now as an audit trail.
2015-11-03 01:56:09 +00:00
gdt
6afd0c766c Update to 0.47.
Upstream changes are mainly housekeeping and minor build system
changes not visible to pkgsrc users, plus the usual bugfixes.  Some
procedures previously advertised for deprecation have been dropped,
and some new ones are added to the deprectation list, notably
dbcoltypes.
2015-06-07 11:24:16 +00:00
gdt
e845c97404 Update to 0.46.
- 0.46 | 2013-03-14

  - bugfix: handle connection options w/o "backup" env var

	Previously, ‘pg-conndefaults’ expected every option to have a
	backup env var (e.g., option ‘#:host’ and env var ‘PGHOST’).
	For later versions of PostgreSQL which no longer maintain this
	1:1 correspondance, Guile-PG would segfault.

	Now, in such cases, the value associated w/ the key ‘#:envvar’
	in the alist returned by ‘pg-conndefaults’ is ‘#f’.

  - planned retirement
    - procedure ‘(database postgres) pg-getline’
    - procedure ‘(database postgres) pg-getlineasync’
    - procedure ‘(database postgres) pg-putline’
    - procedure ‘(database postgres) pg-endcopy’

	These procedures are obsoleted by ‘pg-get-copy-data’ and
	‘pg-put-copy-data’.  They WILL BE REMOVED by 2013-12-31.

	Actually, the first two were originally -- in Guile-PG 0.41
	(2011-09-29) -- planned to be removed by 2012-12-31.
	Support has been extended for solidarity w/ the latter two.

  - bootstrap tools upgraded
    - GNU Texinfo 5.1

Copyright (C) 2002-2013 Thien-Thi Nguyen

Copying and distribution of this file, with or without modification,
are permitted provided the copyright notice and this notice are preserved.
2013-05-03 15:23:35 +00:00
gdt
c815a530ec Update to 0.45.
Add a patch from upstream to avoid segfaulting on null PQ options.

- 0.45 | 2013-03-10

  - support for "make installcheck"

	This does "make check" at its core, so the same env vars apply.
	Obviously, you should do "make install" first for sane results.

  - bootstrap tools upgraded
    - GNU Autoconf 2.69
    - GNU Automake 1.13.1
    - Guile-BAUX 20121120.1242.e233fad
    - SNUGGLE 0.2
    - GNU Texinfo 5.0
2013-03-13 23:30:42 +00:00
gdt
d585e6db90 Update to 0.44. Because guile-pg now works with mainstream guile,
switch from guile16 to guile (currently 1.8), and remove the special
accomodations for 1.6.

- 0.44 | 2012-04-20

  - distribution now .tar.xz

	If you have GNU tar, you can use "tar xf" and it will DTRT.
	If not, you can use "xz -dc TARBALL | tar xf -" to unpack.

  - bugfix: ‘pg-get-copy-data’ handles unspecified ‘async?’

	Previously, if ‘async?’ was unspecified, it was incorrectly
	interpreted as true (i.e., "not false").  Now, if unspecified,
	it is interpreted correctly as false.

  - testing slack for pre-8.1 ‘pg-client-encoding’

	Previously, the types-table test was too strict when checking
	the ‘pg-client-encoding’ return value, expecting "UTF-8" only.
	Now, it accepts also "UNICODE", which is the norm for PostgreSQL
	prior to 8.1.

  - support for ‘make check KEEPD=1’

	If you run "make check" many times, you can avoid daemon bounce
	overhead by specifying ‘KEEPD=1’, which inhibits daemon killing.

  - maintenance tools
    - GNU Autoconf 2.68
    - GNU Automake 1.11.5
    - GNU Libtool 2.4.2
    - Guile-BAUX 20120309.1509.1c4bb92
    - SNUGGLE 0.1


- 0.43 | 2012-02-06

	[PBI] means "WARNING: potentially backward-incompatible".

  - bugfix: ‘sql-quote’ translates backslash (#\\) to ‘\134’

	Previously, backslash characters were passed through
	unmodified.  Now, they are translated to the string "\134"
	(i.e., the four characters ‘#\\’, ‘#\1’, ‘#\3’, ‘#\4’).

  - [PBI] ‘bytea’ stringifier outputs only one backslash

	If the ‘bytea’ stringifier from ‘(database postgres-types)’ is
	used standalone, this represents a BACKWARD INCOMPATIBLE change.
	In the normal case, however, where the stringifier is used in
	conjunction with ‘sql-quote’, this change is transparent.

  - new (database postgres-qcons) proc: string-xrep

	Some versions of Guile emit ‘\xXX’ to represent the octet with
	hex value XX when constructing the external representation of a
	string, for certain octets.  Furthermore, some versions of
	PostgreSQL cannot grok such escape sequences anyway.  The new
	procedure ‘string-xrep’ is like ‘object->string’ (for a string
	arg) except that it explicitly emits the octet itself, except
	for ‘#\\’ and and ‘#\"’, which are backslash-escaped as normal.

  - ‘(database postgres-qcons) idquote’ no longer emits ‘\xXX’

	Before, ‘idquote’ used ‘object->string’ internally, and thus
	suffered from the problems described in the preceding NEWS
	entry.  Now, it uses ‘string-xrep’.

  - ‘(database postgres-col-defs) validate-def’ more permissive

	A column name may now be any symbol that does not contain
	whitespace.  Previously it was restricted to a symbol whose
	constituent characters were alphanumeric or underscore.

	This change makes Guile-PG less strict (in some sense) than
	PostgreSQL, which imposes other rules.  Overarching is the
	recommendation from PostgreSQL to consistently use a "delimited
	identifier" (aka "quoted identifier") rather than a naked name.
	That's what ‘idquote’ and ‘string-xrep’, both used extensively
	in Guile-PG, do.  See section "Identifiers and Key Words" in
	chapter "SQL Syntax" in the PostgreSQL documentation, for more
	information.

  - ‘pgtable-manager’ and ‘pgtable-worker’ likewise relaxed

	These use ‘(database postgres-col-defs)’ procs and new proc
	‘string-xrep’ internally, and thus benefit from the changes
	mentioned in the preceding NEWS entries.  Notably, table and
	column names are less constrained.  For example, see file
	test/types-table.scm, proc ‘test-m2’.

	[Probably "relaxed" is not as good as "strictness relaxed and
	multi-byte-fu enhanced", but that does not fit on one line.]

  - fake cluster created on-demand for "make check"

	In addition to a fake installation, "make check" now also
	creates a cluster under test/fake-cluster/ configured for
	Unix-domain connections, and kicks/kills the daemon around the
	actual ‘runtest TEST’ invocations.  This means it is no longer
	necessary to set env var ‘PGDATABASE’.  In fact, that and env
	var ‘PGHOST’ are now silently ignored, since ‘runtest’ clobbers
	them internally.

	If you previously tested Guile-PG against different PostgreSQL
	versions by varying ‘PGDATABASE’, you now need to vary env var
	‘INITDB’ instead, and zonk the cluster before the "make check"
	invocation.  Something like:

	  $(MAKE) delete-cluster
	  $(MAKE) check DEBUG=1 INITDB=/a/particular/initdb

	in directory test/ would be fine.  See README section "Testing".


- 0.42 | 2011-10-04

  - bugfix: "make check" no longer clobbers installed file

	For Guile versions that require a Scheme wrapper for .so loading
	(i.e., Guile 1.8 and later), "make check" does a fake install w/
	a ‘prefix’ in the build tree.  Unfortunately, in Guile-PG 0.41,
	that dir was not specified to the Scheme wrapper, resulting in
	its installation under the "real" (as determined / set by the
	configure script) ‘prefix’.

	The system would reamin in this inconsistent state, with the
	wrapper pointing into the build tree, until "make install", at
	which point everything was resynchronized.  Obviously, if you
	never do "make install", the problem persists (silently, until
	the build tree is deleted).

	This has now been fixed.  If you did a "make check" but NOT
	"make install" of Guile-PG 0.41, the best way forward is to
	configure Guile-PG 0.42 and then "make install; make uninstall".

  - ‘pg-print’ now does ‘fflush’ after each operation

	This probably kills performance, but it is safer, given Guile's
	direct use of ‘write(2)’ et al.

  - ‘pg-set-client-encoding!’ also accepts symbolic encoding


- 0.41 | 2011-09-29

  - Bugs fixed

    - Make ‘idquote’ special-case ‘*’ in second part.

	was: (display (idquote 'a.*)) |= "a"."*"
	now: (display (idquote 'a.*)) |= "a".*

    - Call ‘string-append’ with strings, not symbols.

	We no longer rely on this particular Guile 1.4 slack.

  - Portability fixes (tested w/ Guile 1.8.7)

	With the following (and other, non-user-visible) changes, "make
	check" no longer displays "foo is deprecated" messages with
	Guile 1.8.7.  If you see them for your system, for either "make
	check" or subsequent Guile-PG use, please report that as a bug.

    - Don't do "defer/allow ints" for Guile 1.8+.

    - Revamped Scheme object to C byte range for Guile 1.8+

	Access to Scheme string representation was curtailed in Guile
	1.8 (API available but deprecated), so all operations that pass
	a C byte range to libpq functions now incur an extra conversion
	step.  The unfortunate user-visible result is performance loss.

  - Planned retirement
    - procedure ‘(database postgres) pg-getline’
    - procedure ‘(database postgres) pg-getlineasync’

	These procedures are obsoleted by ‘pg-get-copy-data’ and
	WILL BE REMOVED by 2012-12-31.

  - New fluid to control ‘(database postgres-qcons) sql-quote’

	The fluid ‘sql-quote-auto-E?’ controls whether or not
	‘sql-quote’ should check for ‘\’ (backslash) characters and
	prefix an "E" in that case.  This is relevant if you use
	PostgreSQL 8.2+.

  - New support for "hex format" in ‘bytea’ objectifier

	PostgreSQL 9.0 introduces a more efficient "hex format" for
	‘bytea’ output.  This is now recognized and parsed, falling back
	to handling the traditional "escape format" if not recognized.

  - Doc improvements
    - Fix omission: Document ‘pg-get-copy-data’ arg ‘async?’.
    - Indices merged into one
    - Builtin type converters listed and indexed
    - Builtin type converter array variants listed

  - For ‘make check DEBUG=1’, display the guile(1) invocation.

  - Tested w/ latest server versions: 8.[01234], 9.[01]

	Additionally, the entries in file test/OK now include the
	associated Guile-PG version, and some include a subheading
	"other pg" to list the precise server version numbers.


- 0.40 | 2011-06-05
  - Changes to configuration
    - Bug fixed in finding ‘pg_encoding_to_char’, ‘pg_char_to_encoding’
    - Now seeks and arranges to use <postgresql/foo> headers
    - No longer clobbers user vars ‘CPPFLAGS’, ‘LDFLAGS’
  - Changes to build / test / install
    - Bug fixed: Delete everything on "make uninstall"
    - Scheme code now punified for install
    - Add "no C module" mode for build / install
    - Changes to "make check"
      - Flaky symlinking replaced w/ partial in-tree installation
      - runtest now honors env var ‘GUILE’
      - runtest now shows loaded files if env var ‘DEBUG’ set
  - New (database postgres-qcons) proc: idquote
  - Docs now explicitly UTF-8
  - Tested on more platforms (see file test/OK)
  - Maintenance uses AAL 2.68, 1.11.1, 2.4; Guile-BAUX 20110605.1656
2012-11-07 13:45:35 +00:00
gdt
5540e98796 Update to 0.39. Resolves type errors vs newer pgsql.
(approval to update during freeze by agc@)

- 0.39 | 2010-01-11

  - Dropped (database postgres) procs
    - pg-lo-get-connection
    - pg-get-client-data
    - pg-set-client-data!

	These were pre-announced in Guile-PG 0.38 (2009-06-22) NEWS.

  - Proc `(database postgres) pg-parameter-status' no longer takes keyword

	This was pre-announced in Guile-PG 0.38 (2009-06-22) NEWS.

  - Maintenance uses autoconf 2.65, automake 1.11, libtool 2.2.6b


- 0.38 | 2009-06-22

  - Support for PostgreSQL 7.3 and earlier dropped

	Sorry, this was not pre-announced.  Note that the subsequent
	version, i.e. PostgreSQL 7.4, was released 2003-11-17, over five
	years ago.

  - Dropped (database postgres) proc: pg-get-connection

	This was pre-announced in 0.37 (2008-05-24) NEWS.

  - External rep no longer includes "serial number"
    - Connection
    - Result

	These were pre-announced in 0.37 (2008-05-24) NEWS.

  - Planned retirement
    - pg-lo-get-connection
    - pg-get-client-data
    - pg-set-client-data!

	These (database postgres) procs provide or rely on associations
	that can better be expressed using normal Scheme facilities such
	as object properties, hash tables, etc, and thus are deemed a
	redundant maintenance burden; they WILL BE REMOVED by 2009-12-31.

  - Proc `(database postgres) pg-parameter-status' takes symbol `parm'

	These are equivalent:
	(pg-parameter-status CONN #:session_authorization)
	(pg-parameter-status CONN  'session_authorization)

	Note, however, that support for keyword `parm' is a misfeature,
	and WILL BE REMOVED by 2009-12-31.

  - Proc `(database postgres-qcons) sql-quote' more standards compliant

	Previously, this did single-quote escaping by inserting a
	backslash character prior to every single-quote.  The result is
	acceptable by PostgreSQL, but is not standards compliant.  Now,
	it does the escaping by doubling each single-quote, which is
	standards compliant and less prone to trigger warnings from the
	more recent PostgreSQL versions (8.2 and later).

	bef: (sql-quote "a'b") => "'a\\'b'"
	now: (sql-quote "a'b") => "'a''b'"

  - Changes to `pgtable-manager' (and thus `pgtable-worker')

    - Support for DEFAULT

	You can now use the keyword #:DEFAULT to specify DEFAULT as the
	value to insert into a table, or to update a column.  Indeed, for
	column values, any keyword now expands to its name (sans `#:').

    - #:insert-values no longer filters "serial"

	Previously, columns with "serial" type were filtered, so that it
	was possible to #:insert-values specifying only values for the
	other columns.  Now, such usage raises a "column count mismatch"
	error; you must explicitly use #:DEFAULT.  For example, given a
	table with column types "text", "serial", "text":

	bef: (W #:insert-values "foo" "bar") => ok
	now: (W #:insert-values "foo" "bar") => error
	     (W #:insert-values "foo" #:DEFAULT "bar") => ok

	Although technically speaking the new behavior is incompatible,
	the previous behavior was never documented (secret misfeature),
	so the impact on your code is likely to be zero (no worries).

  - Connection object xrep omits "port" if "host" is a socket dir

	When the connection is Unix-domain (i.e., the "host" is a string
	that begins with slash that names a directory), the concept of
	"port" makes no sense.

  - Manual table-of-contents moved forward

	It used to be (strangely but perhaps following some outdated
	convention) at the end of the document.

  - New (database postgres) procs

    - pg-mblen

	While we wait for Guile to go multibyte (and stay there), this
	is a small building-block that eases "mostly ignorant" string
	processing.

    - pg-server-version

	This returns an integer representation of the server version of
	a connection, or `#f' if the connection is closed.

  - New (database postgres-resx) proc: object<-result

	This is useful for `SELECT EXPR;' where the result tuple
	consists of one row and one column.

  - Maintenance uses autoconf 2.63, automake 1.11, libtool 2.2.6
2010-03-19 11:26:57 +00:00
gdt
23e2413166 Update to 0.37. Headlines from NEWS:
- 0.37 | 2008-05-24

  - Configuration change: search $prefix for PostgreSQL headers/libs

  - Change to pg-get-connection

	This proc now returns #f if its arg's connection is no longer live.
	You should probably avoid it altogether; see following NEWS item.

  - Planned modesty

	Currently, Guile-PG exposes some accounting (implementation) details
	that it shouldn't.  These are the "serial number" of connection and
	result objects, and the link between a result object the connection
	object where it originated.  These details WILL BE REMOVED after
	2008-10-01; do NOT rely on them.  Practically speaking, this means
	`pg-get-connection' will be deleted and the external representation
	for the objects will drop the "N" field:

	until 2008-10-01:   #<PG-CONN:N:...>   and   #<PG-RESULT:N:...>
	after 2008-10-01:   #<PG-CONN:...>     and   #<PG-RESULT:...>

  - Tests issue SQL commands directly to CREATE and DROP the test database

	Previously "make check" required the commands createdb(1) and
        dropdb(1) (or destroydb(1) for older PostgreSQL versions) to be
        installed on the system.  Now, the test infrastructure uses Guile-PG
        module (database postgres) to connect to "template1" and issues SQL
	commands "CREATE DATABASE" and "DROP DATABASE" directly.

  - New (database postgres-meta) proc: information-schema-names
  - New (database postgres-meta) proc: information-schema-coldefs

	These procs describe Guile-PG's "standard introspection" support,
	as specified in the PostgreSQL 7.4.19 documentation (chapter 32,
	"The Information Schema").

	Additionally, loading the module defines type converters for
	`cardinal_number', `character_data' and `sql_identifier'.  The
	`time_stamp' type converter does not seem to be used and is not
	provided.

  - New pgtable-manager (and -worker) command: #:finish

	This closes the (internal) connection and arranges for all future
	invocations of the closure to signal a "dead connection" error.

  - Proc `gxrepl' closes connection when done

  - New support for #:FOO-all combiners in `parse+make-SELECT-tree'

	This (database postgres-qcons) proc now supports #:union-all,
	#:intersect-all and #:except-all, as combiners.

  - Maintenance uses autoconf 2.62, automake 1.10.1, libtool 2.2.2
2008-10-20 13:53:17 +00:00
gdt
68013bbef2 Update to 0.36. Changes: be more careful in test code not to use
features that are not always available.
2008-03-03 19:43:22 +00:00
gdt
3b667085ba Update to 0.35.
- 0.35 | 2008-02-13

  - Bugfix: composition INTERSECT in `parse+make-SELECT-tree'

	This proc, in module (database postgres-qcons), used to
	erroneously accept #:intersection and emit "INTERSECTION".
	Now, it accepts #:intersect and emits "INTERSECT".

  - New (database postgres) procs
    - pg-escape-string-conn
    - pg-escape-bytea-conn
    - pg-unescape-bytea

  - Tested against PostgreSQL 7.4.19
2008-02-16 00:58:24 +00:00
gdt
dd4e4e3dec Update to 0.34.
Highlights from NEWS:

- 0.34 | 2007-12-13

  - License now GPLv3+ (see COPYING)


  - New (database postgres) procs
    - pg-finish
    - pg-flush

  - Tested against PostgreSQL 7.4.18


- 0.33 | 2007-05-20

  - New type converters in module (database postgres-types)

	int  decimal  numeric  varchar  character  bytea

  - New support for special constructs in (database postgres-qcons)

	(in/set A B...) => A IN ( B, ... )
	(between A B C) => ( A BETWEEN B AND C )
	(any--OP A B)   => ( A OP ANY B )
	(all--OP A B)   => ( A OP ALL B )

	For the latter two, OP is a comparison operator, e.g `='.
	Parentheses and commas are added automatically.

- 0.32 | 2007-04-11

  - New command for `pgtable-manager': #:tuples-result->rows

	This uses `(database postgres-resx) result->object-rows'.
	For example:

	(define T (pgtable-worker ...))
	(define R (T #:select ...))
	(equal? (T #:tuples-result->rows R)
	        (map (lambda (x)
	               (map cdr x))
	             (T #:tuples-result->alists R)))
	=> #t


- 0.31 | 2007-04-03

  - Opaque string support removed

	Opaque string support in modules (database postgres-table) and
	(database postgres-qcons) has been removed.  This was announced
	in NEWS below for Guile-PG 0.30 (2006-04-04).

  - Support for `pgtable-manager' "data commands" removed

	Announced in NEWS below for Guile-PG 0.30 (2006-04-04).

- 0.30 | 2006-04-04

  - New stuff for `pgtable-manager' (and by extension `pgtable-worker')

    - Support for NULL

	You can now use the keyword #:NULL to specify NULL as the value
	to insert into a table, or to update a column.

    - New command: #:update-col-alist

	This is like #:update-col, except that the COLS and DATA are
	specified as a single alist arg, not separately.

  - New (database postgres) procs

	The following procs are associated with the `PQPROTOCOLVERSION'
	feature in the `pg-guile-pg-loaded' return value.  Note that
	this is in contrast to the one-to-one correspondance between
	feature and libpq function for previous Guile-PG releases.

    - pg-protocol-version
    - pg-transaction-status
    - pg-parameter-status
    - pg-set-error-verbosity
    - pg-result-error-field
    - pg-ftable
    - pg-ftablecol
    - pg-fformat

	These adhere closely to the C functions in the libpq interface.
	Here is a table listing the functions and their behavior for
	installations prior to PostgreSQL 7.4.

	libpq func            behavior: do nothing and return
	 PQprotocolVersion     2
	 PQtransactionStatus   #:unknown
	 PQparameterStatus     #f
	 PQsetErrorVerbosity   #:default
	 PQresultErrorField    #f
	 PQftable              #f
	 PQftablecol           #f
	 PQfformat             #f

    - pg-put-copy-data
    - pg-put-copy-end
    - pg-get-copy-data

	These have a simplified, "more Schemey", interface.  They cannot
	be used when connected to a "Protocol 2.0" (PostgreSQL 7.3.x and
	prior) server.

    - pg-exec-params
    - pg-exec-prepared
    - pg-send-query-params
    - pg-send-query-prepared

	These have a simplified, "more Schemey", interface, and some
	serious (though provisionary) restrictions.  They cannot be used
	when connected to a "Protocol 2.0" (PostgreSQL 7.3.x and prior)
	server.  See new section "Parameters" in the manual for details.
2008-01-05 17:22:17 +00:00
gdt
ce59777d41 Update to 0.29. Changes since last update:
- 0.29 | 2005-08-25

  - Dropped proc: where-clausifier
  - Dropped proc: tuples-result->table
  - For `gxrepl', results are now printed with " | " field separator
  - All (database postgres) procs now tested
  - Support files guile.m4 and modsup.h synched with Guile 1.4.1.106


- 0.28 | 2005-05-09

  - Bugfix: array reference handling in (database postgres-qcons)
  - FSF street address updated in copyright notices


- 0.27 | 2005-03-02

  - Result objects print without redundant "PGRES_" prefix
  - New command for (database postgres-table) proc `pgtable-manager'
  - New (database postgres-resx) proc: result->object-rows
  - Changes to module (database postgres-qcons)

- 0.26 | 2005-02-24

  - Expiration date set for opaque string support
  - Expiration date set for two (database postegres-table) procs
  - Dropped (database postgres-types) proc: dbcoltype:name
  - New type converters in module (database postgres-types)
  - New module: (database postgres-qcons)
  - New module: (database postgres-resdisp)
  - New module: (database postgres-gxrepl)


- 0.25 | 2005-01-02

  - New (database postgres) proc: pg-result-error-message

- 0.24 | 2004-11-24

  - New (database postgres) proc: pg-set-nonblocking!
  - New (database postgres) proc: pg-is-nonblocking?
2005-12-09 16:01:10 +00:00
agc
671d62d2e2 Add RMD160 digests in addition to SHA1 ones. 2005-02-23 16:33:05 +00:00
wiz
877460554b Update to 0.23. Provided by Greg Troxel in pkgsrc-wip.
Uses guile-1.6 and postgresql-7.4.

Four years of development since the previous version: many changes.

XXX: This package includes a hack since pgsql.bl3.mk does
     not provide a way to get the matching -clients package.
2004-12-03 13:41:30 +00:00
seb
ae445ff60d Convert to USE_NEW_TEXINFO.
Fix the Info directory file entry and provide patches for both the
.texi and the .info file so USE_MAKEINFO is not needed.
2003-06-29 13:11:19 +00:00
cjones
d93d1a240e Imported guile-pg:
Guile-pg is a Guile module providing access and allowing updates to
PostgreSQL databases from Guile scripts. Guile is the GNU interpreter
for the Scheme language and PostgreSQL is a free relational database
management system.
2002-10-27 01:14:09 +00:00