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 ...
| |||||||
| FAQ | Members List | Calendar | Search | Today's Posts | Mark Forums Read |
| ||||
| 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 |
| |||
| 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 |
| |||
| 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 |
| |||
| 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 |
| |||
| 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 |
| ||||
| 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 |
| Thread Tools | |
| Display Modes | |
|
|