Thread

  1. What is lo_insert?

    Bruce Momjian <bruce@momjian.us> — 2011-01-05T17:21:58Z

    The psql manual page mentions lo_insert:
    
               LASTOID
                   The value of the last affected OID, as returned
    -->            from an INSERT or lo_insert command. This variable
                   is only guaranteed to be valid until after the
                   result of the next SQL command has been displayed.
    
    Should that be lo_import?  I don't see lo_insert used anywhere.  And it
    doesn't seem lo_import sets LASTOID.
    
    -- 
      Bruce Momjian  <bruce@momjian.us>        http://momjian.us
      EnterpriseDB                             http://enterprisedb.com
    
      + It's impossible for everything to be true. +
    
    
  2. Re: What is lo_insert?

    Robert Haas <robertmhaas@gmail.com> — 2011-01-06T02:20:34Z

    On Wed, Jan 5, 2011 at 12:21 PM, Bruce Momjian <bruce@momjian.us> wrote:
    > The psql manual page mentions lo_insert:
    >
    >           LASTOID
    >               The value of the last affected OID, as returned
    > -->            from an INSERT or lo_insert command. This variable
    >               is only guaranteed to be valid until after the
    >               result of the next SQL command has been displayed.
    >
    > Should that be lo_import?  I don't see lo_insert used anywhere.  And it
    > doesn't seem lo_import sets LASTOID.
    
    I think it's supposed to be lo_import.  It sets LASTOID if you do this:
    
    rhaas=# \lo_import '/etc/passwd'
    lo_import 16414
    rhaas=# select :LASTOID;
     ?column?
    ----------
        16414
    (1 row)
    
    -- 
    Robert Haas
    EnterpriseDB: http://www.enterprisedb.com
    The Enterprise PostgreSQL Company
    
    
  3. Re: What is lo_insert?

    Bruce Momjian <bruce@momjian.us> — 2011-01-06T02:32:40Z

    Robert Haas wrote:
    > On Wed, Jan 5, 2011 at 12:21 PM, Bruce Momjian <bruce@momjian.us> wrote:
    > > The psql manual page mentions lo_insert:
    > >
    > > ? ? ? ? ? LASTOID
    > > ? ? ? ? ? ? ? The value of the last affected OID, as returned
    > > --> ? ? ? ? ? ?from an INSERT or lo_insert command. This variable
    > > ? ? ? ? ? ? ? is only guaranteed to be valid until after the
    > > ? ? ? ? ? ? ? result of the next SQL command has been displayed.
    > >
    > > Should that be lo_import? ?I don't see lo_insert used anywhere. ?And it
    > > doesn't seem lo_import sets LASTOID.
    > 
    > I think it's supposed to be lo_import.  It sets LASTOID if you do this:
    > 
    > rhaas=# \lo_import '/etc/passwd'
    > lo_import 16414
    > rhaas=# select :LASTOID;
    >  ?column?
    > ----------
    >     16414
    > (1 row)
    
    OK, but it does not set :LASTOID if you do this:
    
    	SELECT lo_import('/etc/motd');
    
    I have updated the patch to say '\lo_import' and backpatched to 9.0.X.
    
    -- 
      Bruce Momjian  <bruce@momjian.us>        http://momjian.us
      EnterpriseDB                             http://enterprisedb.com
    
      + It's impossible for everything to be true. +