module PLRuby - RDoc Documentation

# module PLRuby

# Warning¶ ↑

For documentation purpose, the modules PLRuby, PLRuby::Description are defined but don't exist in reality

# PLRuby¶ ↑

PLRuby is a loadable procedural language for the PostgreSQL database system that enables the Ruby language to create functions and trigger procedures.

Functions and triggers are singleton methods of the module PLtemp.

# WARNING¶ ↑

if PLRuby was NOT compiled with –enable-conversion all arguments (to the function or the triggers) are passed as string values, except for NULL values represented by nil.

In this case, you must explicitely call a conversion function (like to_i) if you want to use an argument as an integer

# See¶ ↑

- PLRuby::Description::Function

  To create a function

- PLRuby::Description::Function::SFRM

  To create a function returning SET (SFRM Materialize)

- PLRuby::Description::Function::ExprMultiResult

  To create a function returning SET (ExprMultiResult)

- PLRuby::Description::Trigger

  To define a trigger

- PLRuby::Description::Singleton_method

  To define singleton methods

- PLRuby::Description::Conversion

  What conversions are done when this option is not disabled (–disable-conversion)

# Class hierarchy¶ ↑

- PLRuby::PL

- PLRuby::PL::Plan

- PLRuby::PL::Cursor

- PLRuby::PL::Transaction

- PLRuby::BitString

- PLRuby::Tinterval

- PLRuby::NetAddr

- PLRuby::MacAddr

- PLRuby::Box

- PLRuby::Circle

- PLRuby::Path

- PLRuby::Point

- PLRuby::Polygon

- PLRuby::Segment

Global variable

$Plans

  can be used to store prepared plans. (hash, tainted)

### Public Instance Methods

transaction() { |txn| ... } click to toggle source

Create a new transaction and yield an object PL::Transaction

Only available with PostgreSQL >= 8.0

    # File plruby.rb, line 90
    def transaction()
       yield txn
    end

warn(level = NOTICE, message) click to toggle source

Ruby interface to PostgreSQL elog()

Possible value for `level` are `NOTICE`, `DEBUG` and `NOIND`

Use `raise()` if you want to simulate `elog(ERROR, "...")`

    # File plruby.rb, line 100
    def warn(level = NOTICE, message)
    end