Join GitHub today
GitHub is home to over 20 million developers working together to host and review code, manage projects, and build software together.
C Ruby Shell C++
Fetching latest commit…
Cannot retrieve the latest commit at this time.
|Failed to load latest commit information.|
PL/Ruby is a loadable procedural language for the Postgres database system that enable the Ruby language to create functions and trigger procedures This version can be compiled for the new interface of fmgr (Postgresql > 7.0.2 : postgresql.snapshot.tar.gz). The language must be 'newC' in this case * Prerequisite ruby >= 1.4.4 source of postgresql (for some include files) * Installation ruby extconf.rb make make install You may need to specify : --with-pgsql-include-dir=<include file directory for PostgreSQL> --with-pgsql-lib-dir=<library dir for PostgreSQL> --with-pgsql-srcinc-dir=<include file *from* the source of PostgreSQL> pgsql-srcinc-dir must contains, for example, the file catalog/pg_proc.h --with-pgsql-version=<release number for PostgreSQL, actually 6 or 7> Example : ruby extconf.rb --with-pgsql-include-dir=/usr/include/postgresql \ --with-pgsql-lib-dir=/usr/lib \ --with-pgsql-srcinc-dir=/var/postgres/postgresl-6.5/src/include * Test (and examples) make test this will run the 2 commands : ( cd test/plt; ./runtest ) ( cd test/plp; ./runtest ) The database plruby_test is created and then destroyed. Don't use it if such a database exist on your system. * Now create the PL/Ruby language in PostgreSQL Since the pg_language system catalog is private to each database, the new language can be created only for individual databases, or in the template1 database. In the latter case, it is automatically available in all newly created databases. The commands to create the new language are: create function plruby_call_handler () returns opaque as 'path-to-plruby-shared-lib' language 'C'; create trusted procedural language 'plruby' handler plruby_call_handler lancompiler 'PL/Ruby'; *WARNING* for the new interface to fmgr (for PostgreSQL > 7.0.2), the language must be specified as 'newC' rather than 'C' The trusted keyword on create procedural language tells PostgreSQL, that all users (not only those with superuser privilege) are permitted to create functions with LANGUAGE 'plruby'. This is absolutely safe, because there is nothing a normal user can do with PL/Ruby, to get around access restrictions he/she has. * Documentation : see plruby.rd and plruby.html * Copying This extension module is copyrighted free software by Guy Decoux You can redistribute it and/or modify it under the same term as Ruby. Guy Decoux <email@example.com>