IDL :) - Mailing list pgsql-interfaces

From Taral
Subject IDL :)
Date
Msg-id 000101be10bc$dd2c0be0$8a14f7d0@taral.dobiecenter.com
Whole thread Raw
Responses Re: [INTERFACES] IDL :)  (Tom Lane <tgl@sss.pgh.pa.us>)
List pgsql-interfaces
Well... SOMEONE comment on this! It's what I've got so far:

Taral

--- cut here ---

module PostgreSQL {
    enum celltype {
        int2,
        int4,
        int8

        // more types
    };

    typedef short int2type;
    typedef sequence<int2type> int2col;
    typedef long int4type;
    typedef sequence<int4type> int4col;
    struct int8type {
        long lsw;
        long msw;
    };
    typedef sequence<int8type> int8col;

    union Column switch (celltype) {
      case int2:
        int2col int2var;
      case int4:
        int4col int4var;
      case int8:
        int8col int8var;

      // more types
    };

    union Cell switch (celltype) {
      case int2:
        int2type int2var;
      case int4:
        int4type int4var;
      case int8:
        int8type int8var;

      // more types
    };

    interface Row {
        typedef sequence<Cell> type;
        attribute type data; // throws system exception on set until BE
supports this
    };

    interface QueryResult {
        typedef sequence<Column> type;
        typedef sequence<string> headerType;

        readonly attribute headerType header;
        attribute type data; // throws system exception on set until
implemented

        Row fetch(in long rownum); // returns nil until implemented
    };

    interface Database {
        QueryResult exec(in string query);
    };
};


pgsql-interfaces by date:

Previous
From: "Taral"
Date:
Subject: CORBA object lifetime problems
Next
From: Tom Lane
Date:
Subject: Re: [INTERFACES] IDL :)