<!--
$Header: /usr/prj/pg/cvsroot/doc/doc/src/sgml/lisp.sgml,v 1.4 2001/09/14 10:21:25 t-ishii Exp $
-->

 <chapter id="lisp">
<!--
  <title id="lisp-title">Lisp Programming Interface</title>
-->
  <title id="lisp-title">Lispプログラミングインターフェイス</title>
<indexterm><primary>LISP</primary></indexterm>
<indexterm><primary>PostgreSQL</primary><secondary>LISP</secondary></indexterm>
<indexterm><primary>emacs</primary></indexterm>
  <abstract>
   <para>
<!--
    <filename>pg.el</filename> is a socket-level interface to
    <productname>Postgres</productname> for emacs.
-->

    <filename>pg.el</filename>は、<productname>Postgres</productname>とソケットレベルでやりとりする、emacs用のインターフェイスです。
   </para>
  </abstract>

  <note>
   <title><!--Author-->著者</title>
   <para>
    <!--Written by -->Eric Marsden（<email>emarsden@laas.fr</email>）
    <!--on -->、1999-07-21
   </para>
  </note>

  <para>
<!--
   <filename>pg.el</filename> is a socket-level interface to
   <productname>Postgres</productname> for emacs (text
   editor extraordinaire). The module is capable of type coercions from a
   range of SQL types to the equivalent Emacs Lisp type. It currently
   supports neither crypt or Kerberos authentication, nor large
   objects.
-->
    <filename>pg.el</filename>は、<productname>Postgres</productname>とソケットレベルでやりとりするemacs（すばらしいテキストエディタ）用のインターフェイスです。このモジュールによって、SQLのデータ型から同等のEmacs Lispのデータ型への型変換が可能です。現在は、cryptまたはKerberosによる認証やラージオブジェクトはサポートされていません。
  </para>

  <para>
<!--
   The code (version 0.2) is available under GNU GPL from
   <ulink url="http://www.chez.com/emarsden/downloads/">Eric
   Marsden</ulink>
-->
  コード（バージョン0.2）は、<ulink url="http://www.chez.com/emarsden/downloads/pg.el">Eric Marsden</ulink><![%book-publish;[（http://www.chez.com/emarsden/downloads/pg.el）]]>より、GNU GPLライセンスで提供されています。
  </para>

  <para>
<!--
Changes since last release:
-->
前リリースからの変更点を以下に示します。
   </para>

   <itemizedlist mark="bullet" spacing="compact">
    <listitem>
     <para>
<!--
      now works with XEmacs (tested with Emacs 19.34 & 20.2, and XEmacs
      20.4)
-->
      現在、XEmacsで動作します（Emacs 19.34、20.2とXEmacs20.4で動作テスト済みです）。
     </para>
    </listitem>

    <listitem>
     <para>
<!--
      added functions to provide database metainformation (list of
      databases, of tables, of columns)
-->
      データベースのメタ情報（データベース、テーブル、カラムのリスト）を提供する関数を追加しました。
     </para>
    </listitem>

    <listitem>
     <para>
<!--
      arguments to `pg:result' are now :keywords
-->
      pg:resultへの引数は、:keywordsになりました。
     </para>
    </listitem>

    <listitem>
     <para>
<!--
      MULE-resistant
-->
     Muleでも使用できます。
     </para>
    </listitem>

    <listitem>
     <para>
<!--
      more self-testing code
-->
      自己テスト用のコードが増えました。
     </para>
    </listitem>
   </itemizedlist>

  <para>
<!--
   Please note that this is a programmer's API, and doesn't provide any
   form of user interface. Example:
-->
   これはプログラマ用のAPIであり、ユーザーインターフェイスは一切含まれていないことに注意してください。サンプルを示します。
   </para>

<programlisting>
 (defun demo ()
    (interactive)
    (let* ((conn (pg:connect "template1" "postgres" "postgres"))
           (res (pg:exec conn "SELECT * from scshdemo WHERE a = 42")))
      (message "status is %s"   (pg:result res :status))
      (message "metadata is %s" (pg:result res :attributes))
      (message "data is %s"     (pg:result res :tuples))
      (pg:disconnect conn)))
</programlisting>
 </chapter>

<!-- Keep this comment at the end of the file
Local variables:
mode:sgml
sgml-omittag:nil
sgml-shorttag:t
sgml-minimize-attributes:nil
sgml-always-quote-attributes:t
sgml-indent-step:1
sgml-indent-data:t
sgml-parent-document:nil
sgml-default-dtd-file:"./reference.ced"
sgml-exposed-tags:nil
sgml-local-catalogs:("/usr/lib/sgml/catalog")
sgml-local-ecat-files:nil
End:
-->
