Unix Technical Forum

pg_regress: paths in largeobject test

This is a discussion on pg_regress: paths in largeobject test within the Pgsql Patches forums, part of the PostgreSQL category; --> Hi, the largeobject test does this: 137 SELECT lo_export(loid, '@abs_builddir@/results/lotest.txt') <snip> 138 139 \lo_import 'results/lotest.txt' 140 141 \set newloid ...


Go Back   Unix Technical Forum > Database Server Software > PostgreSQL > Pgsql Patches

FAQ Members List Calendar Search Today's Posts Mark Forums Read
  #1 (permalink)  
Old 04-19-2008, 07:23 AM
Jorgen Austvik - Sun Norway
 
Posts: n/a
Default pg_regress: paths in largeobject test

Hi,

the largeobject test does this:

137 SELECT lo_export(loid, '@abs_builddir@/results/lotest.txt') <snip>
138
139 \lo_import 'results/lotest.txt'
140
141 \set newloid :LASTOID
142
143 -- just make sure \lo_export does not barf
144 \lo_export :newloid 'results/lotest2.txt'

I believe the results paths in line 139 and 144 are missing the
@abs_builddir@ qualifier.

The attached patch has been tested with "make check" and by running
pg_regress outside the PostgreSQL source tree, both on Solaris 11, x86.

-J
--

Jørgen Austvik, Software Engineering - QA
Sun Microsystems Database Technology Group


---------------------------(end of broadcast)---------------------------
TIP 4: Have you searched our list archives?

http://archives.postgresql.org

Digg this Post!Add Post to del.icio.usBookmark Post in TechnoratiFurl this Post!
Reply With Quote
  #2 (permalink)  
Old 04-19-2008, 07:23 AM
Tom Lane
 
Posts: n/a
Default Re: pg_regress: paths in largeobject test

Jorgen Austvik - Sun Norway <Jorgen.Austvik@Sun.COM> writes:
> I believe the results paths in line 139 and 144 are missing the
> @abs_builddir@ qualifier.


I'd put it the other way around: likely we should get rid of the
one use of @abs_builddir@.

regards, tom lane

---------------------------(end of broadcast)---------------------------
TIP 5: don't forget to increase your free space map settings

Digg this Post!Add Post to del.icio.usBookmark Post in TechnoratiFurl this Post!
Reply With Quote
  #3 (permalink)  
Old 04-19-2008, 07:23 AM
Jorgen Austvik - Sun Norway
 
Posts: n/a
Default Re: pg_regress: paths in largeobject test

Tom Lane wrote:
> Jorgen Austvik - Sun Norway <Jorgen.Austvik@Sun.COM> writes:
>> I believe the results paths in line 139 and 144 are missing the
>> @abs_builddir@ qualifier.

>
> I'd put it the other way around: likely we should get rid of the
> one use of @abs_builddir@.


He, he.

Generally I prefer explicit over implicit (having the full paths make
troubleshooting easier), but in this case you have the additional aspect
of the lo_import operating relative to the client, while lo_export
operates relative to the server. If you remove @abs_builddir@ on the
first one, you might e.g. get problems like this:

SELECT lo_export(loid, 'results/lotest.txt') FROM lotest_stash_values;
ERROR: could not create server file "results/lotest.txt": No such
file or directory

-J
--

Jørgen Austvik, Software Engineering - QA
Sun Microsystems Database Technology Group


---------------------------(end of broadcast)---------------------------
TIP 6: explain analyze is your friend

Digg this Post!Add Post to del.icio.usBookmark Post in TechnoratiFurl this Post!
Reply With Quote
  #4 (permalink)  
Old 04-19-2008, 07:23 AM
Alvaro Herrera
 
Posts: n/a
Default Re: pg_regress: paths in largeobject test

Jorgen Austvik - Sun Norway wrote:
> Tom Lane wrote:
>> Jorgen Austvik - Sun Norway <Jorgen.Austvik@Sun.COM> writes:
>>> I believe the results paths in line 139 and 144 are missing the
>>> @abs_builddir@ qualifier.

>> I'd put it the other way around: likely we should get rid of the
>> one use of @abs_builddir@.

>
> He, he.
>
> Generally I prefer explicit over implicit (having the full paths make
> troubleshooting easier), but in this case you have the additional aspect of
> the lo_import operating relative to the client, while lo_export operates
> relative to the server.


I submit that the test is OK as it currently is. The lo_export() call
is expanded by the server, which can be running anywhere -- hence the
need to use an absolute path.

Then we have \lo_import and \lo_export calls which are relative to the
client. The client is already running in the regress builddir, so using
relative paths works fine.

If I try to run the client from another directory, it fails completely.
Exactly what is the problem you are trying to fix?

$ cd ..
$ pwd
/pgsql/build/00head/src/test
$ regress/pg_regress largeobject
(using postmaster on Unix socket, port 55432)
============== dropping database "regression" ==============
DROP DATABASE
============== creating database "regression" ==============
CREATE DATABASE
ALTER DATABASE
============== running regression test queries ==============
test largeobject ... /bin/sh: cannot open ./sql/largeobject.sql: No such file
diff: ./expected/largeobject.out: No such file or directory
diff: ./results/largeobject.out: No such file or directory
diff command failed with status 512: diff -w "./expected/largeobject.out" "./results/largeobject.out" > "./results/largeobject.out.diff"


--
Alvaro Herrera http://www.advogato.org/person/alvherre
"The Postgresql hackers have what I call a "NASA space shot" mentality.
Quite refreshing in a world of "weekend drag racer" developers."
(Scott Marlowe)

---------------------------(end of broadcast)---------------------------
TIP 2: Don't 'kill -9' the postmaster

Digg this Post!Add Post to del.icio.usBookmark Post in TechnoratiFurl this Post!
Reply With Quote
  #5 (permalink)  
Old 04-19-2008, 07:23 AM
Tom Lane
 
Posts: n/a
Default Re: pg_regress: paths in largeobject test

Alvaro Herrera <alvherre@alvh.no-ip.org> writes:
> Jorgen Austvik - Sun Norway wrote:
>> Tom Lane wrote:
>>> I'd put it the other way around: likely we should get rid of the
>>> one use of @abs_builddir@.

>>
>> Generally I prefer explicit over implicit (having the full paths make
>> troubleshooting easier), but in this case you have the additional aspect of
>> the lo_import operating relative to the client, while lo_export operates
>> relative to the server.


> I submit that the test is OK as it currently is.


Yeah, I hadn't thought about the different-paths aspect at the time of
making the above comment; but given that, it is correct as-is.

regards, tom lane

---------------------------(end of broadcast)---------------------------
TIP 7: You can help support the PostgreSQL project by donating at

http://www.postgresql.org/about/donate

Digg this Post!Add Post to del.icio.usBookmark Post in TechnoratiFurl this Post!
Reply With Quote
  #6 (permalink)  
Old 04-19-2008, 07:23 AM
Jorgen Austvik - Sun Norway
 
Posts: n/a
Default Re: pg_regress: paths in largeobject test

Tom Lane wrote:
> Alvaro Herrera <alvherre@alvh.no-ip.org> writes:
>> I submit that the test is OK as it currently is.

>
> Yeah, I hadn't thought about the different-paths aspect at the time of
> making the above comment; but given that, it is correct as-is.


OK, I still think it is easier to debug with the paths there explicitly,
and I think the test will run just as well with them as without them,
but it is no biggie.

-J
--

Jørgen Austvik, Software Engineering - QA
Sun Microsystems Database Technology Group


---------------------------(end of broadcast)---------------------------
TIP 3: Have you checked our extensive FAQ?

http://www.postgresql.org/docs/faq

Digg this Post!Add Post to del.icio.usBookmark Post in TechnoratiFurl this Post!
Reply With Quote
Reply


Thread Tools
Display Modes

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

vB code is On
Smilies are On
[IMG] code is On
HTML code is Off
Trackbacks are On
Pingbacks are On
Refbacks are On
Forum Jump


All times are GMT. The time now is 05:31 PM.


Powered by vBulletin® Version 3.6.5
Copyright ©2000 - 2008, Jelsoft Enterprises Ltd.
SEO by vBSEO 3.2.0
www.UnixAdminTalk.com