Skip site navigation (1) Skip section navigation (2)

Peripheral Links

Header And Logo

PostgreSQL
| The world's most advanced open source database.

Site Navigation

Search for
  Advanced Search

Re: help with version checking



Arnau wrote:
Tom Lane wrote:
Arnau <arnaulist(at)andromeiberica(dot)com> writes:
   I don't want, if it's possible, to create a function.

Unlike Oracle, PG makes a strong distinction between SQL and
programmable languages (including plpgsql).  You can't write
plpgsql code without putting it into a function.

            regards, tom lane


I've tried Daniel's suggestion but the Raise doesn't terminate the script execution, so if doesn't do what I need. Notice the Update 1

arebassa(at)beowulf:~$ psql -d dermagier -f upgrade_agenda.sql
CREATE FUNCTION
psql:upgrade_agenda.sql:16: ERROR: This script needs Agenda version 1.0.0.0, detected version 1.0.0.1
UPDATE 1



I paste the script I have created:

CREATE OR REPLACE FUNCTION check_version() RETURNS void
AS '
DECLARE
  v_version VARCHAR;

BEGIN
  SELECT version INTO v_version FROM agenda_version WHERE id = 1;

  IF v_version <> ''1.0.0.0'' THEN
RAISE EXCEPTION ''This script needs Agenda version 1.0.0.0, detected version %'', v_version;
  END IF;

END;
' LANGUAGE 'plpgsql';

SELECT check_version();

UPDATE agenda_version set version = '1.0.0.1' where id = 1;



--
Arnau



Home | Main Index | Thread Index

Privacy Policy | PostgreSQL Archives hosted by Command Prompt, Inc. | Designed by tinysofa
Copyright © 1996 – 2008 PostgreSQL Global Development Group