Saturday, September 30, 2017

pspg news

* 14 styles - new retro dBase IV style
* more less scroll commands
* available as rpm from PostgreSQL community repository

Thursday, September 14, 2017

New release of plpgsql_check

plpgsql_check 1.2.1 is available. Now there some analyse of dead code and detection of missing RETURN command is included.
create or replace function fx(x int)
returns int as $$
begin
  begin
    if (x > 0) then
      raise exception 'xxx' using errcode = 'XX888';
    else
      raise exception 'yyy' using errcode = 'YY888';
    end if;
    return -1; -- dead code;
  end;
  return -1;
end;
$$ language plpgsql;
select * from plpgsql_check_function_tb('fx(int)');
 functionid | lineno | statement | sqlstate |     message      | detail | hint |     level     | position | query | context.
------------+--------+-----------+----------+------------------+--------+------+---------------+----------+-------+---------
 fx         |      9 | RETURN    | 00000    | unreachable code |        |      | warning extra |          |       |.
 fx         |     11 | RETURN    | 00000    | unreachable code |        |      | warning extra |          |       |.
(2 rows)

create or replace function fx(x int)
returns int as $$
begin
  begin
    if (x > 0) then
      raise exception 'xxx' using errcode = 'XX888';
    else
      raise exception 'yyy' using errcode = 'YY888';
    end if;
  exception
    when sqlstate 'XX888' then
      null;
    when sqlstate 'YY888' then
      null;
  end;
end; -- missing return;
$$ language plpgsql;
select * from plpgsql_check_function_tb('fx(int)');
 functionid | lineno | statement | sqlstate |                    message                     | detail | hint | level | position | query | context.
------------+--------+-----------+----------+------------------------------------------------+--------+------+-------+----------+-------+---------
 fx         |        |           | 2F005    | control reached end of function without RETURN |        |      | error |          |       |.
(1 row)

Source code: https://github.com/okbob/plpgsql_check/releases

Tuesday, September 12, 2017

short post - pspg is ready for release

https://github.com/okbob/pspg. Please, test.

Wednesday, September 6, 2017

Article about migration from Oracle to PostgreSQL with Ora2pg

I wrote a article about migration large set of PL/SQL procedures to Postgres. This article is in Czech language, but Google translator works.

Friday, September 1, 2017

New Ora2pg is available

I am a happy user of Ora2pg - mainly because it really helps with my work. Year ago Ora2pg has minimal support for PL/SQL to PL/pgSQL conversion. Now, this conversion is very well supported. Sure, PL/SQL and Oracle are very large/rich language (environment), so is not possible to support all patterns, but some basic and often used patterns are supported already. What I have to say - a cooperation with Gilles Darold is perfect - see: Ora2Pg v18.2 has been released.