On Thu, Dec 16, 2010 at 10:03:21AM +0100, Sjoerd Mullender wrote:
> On 2010-12-16 09:43, Stefan Manegold wrote:
> > Changeset: 4db97a677d15 for MonetDB
> > URL: http://dev.monetdb.org/hg/MonetDB?cmd=changeset;node=4db97a677d15
> > Modified Files:
> > sql/src/test/BugTracker-2009/Tests/copy_multiple_files.SF-2902320.sql
> > sql/src/test/BugTracker-2009/Tests/copy_multiple_files.SF-2902320.sql.in
> >
> > sql/src/test/BugTracker-2009/Tests/copy_multiple_files.SF-2902320.stable.out.Windows
> > testing/src/Mtest.py.in
> > Branch: Oct2010
> > Log Message:
> >
> > for portability: absolute path starts with "${DIRSEP", not "/"
>
> I hope you release that on Windows an absolute path does *not* start
> with either / or \. It starts with a drive letter, colon, and *then* a
> slash or backslash.
Well, in priciple, yes, in the specific MonetDB case, not quite:
from MonetDB/src/gdk/gdk_posix.mx:
int
MT_path_absolute(const char *pathname)
{
char *drive_end = strchr(pathname, ':');
char *path_start = strchr(pathname, '\\');
if (path_start == NULL) {
return 0;
}
return (path_start == pathname || drive_end == (path_start - 1));
}
Hence, I confess I chose to go for short-sighted simple sloppy solution for
this specific test, exploiting a "sloppyness" in the MonetDB kernel.
We might indeed want to consider making the above MT_path_absolute() more
strict --- next to "\abc" it also seems to except, e.g., "abcdef:\ghijkl" as
absolute path on Windows (I'm not sure, whether "drive letter" on Windows
may consist of multiple letters) --- and then also fix this test
accordingly, or even split it in two versions, one for Unix-like file
systems and one for Windows-like file systems ...
Stefan
> >
> > diffs (73 lines):
> >
> > diff -r 5a1db97d3fea -r 4db97a677d15
> > sql/src/test/BugTracker-2009/Tests/copy_multiple_files.SF-2902320.sql
> > --- a/sql/src/test/BugTracker-2009/Tests/copy_multiple_files.SF-2902320.sql
> > Thu Dec 16 09:27:47 2010 +0100
> > +++ /dev/null Thu Jan 01 00:00:00 1970 +0000
> > @@ -1,3 +0,0 @@
> > -create table cm_tmp(i int);
> > -plan copy into cm_tmp from '/file1','/file2';
> > -drop table cm_tmp;
> > diff -r 5a1db97d3fea -r 4db97a677d15
> > sql/src/test/BugTracker-2009/Tests/copy_multiple_files.SF-2902320.sql.in
> > --- /dev/null Thu Jan 01 00:00:00 1970 +0000
> > +++
> > b/sql/src/test/BugTracker-2009/Tests/copy_multiple_files.SF-2902320.sql.in
> > Thu Dec 16 09:42:22 2010 +0100
> > @@ -0,0 +1,3 @@
> > +create table cm_tmp(i int);
> > +plan copy into cm_tmp from '${DIRSEP}file1','${DIRSEP}file2';
> > +drop table cm_tmp;
> > diff -r 5a1db97d3fea -r 4db97a677d15
> > sql/src/test/BugTracker-2009/Tests/copy_multiple_files.SF-2902320.stable.out.Windows
> > --- /dev/null Thu Jan 01 00:00:00 1970 +0000
> > +++
> > b/sql/src/test/BugTracker-2009/Tests/copy_multiple_files.SF-2902320.stable.out.Windows
> > Thu Dec 16 09:42:22 2010 +0100
> > @@ -0,0 +1,44 @@
> > +stdout of test 'copy_multiple_files.SF-2902320` in directory
> > 'src/test/BugTracker-2009` itself:
> > +
> > +
> > +# 08:59:53 >
> > +# 08:59:53 > mserver5
> > "--config=/ufs/niels/scratch/rc/Linux-x86_64/etc/monetdb5.conf" --debug=10
> > --set gdk_nr_threads=0 --set
> > "monet_mod_path=/ufs/niels/scratch/rc/Linux-x86_64/lib/MonetDB5:/ufs/niels/scratch/rc/Linux-x86_64/lib/MonetDB5/lib:/ufs/niels/scratch/rc/Linux-x86_64/lib/MonetDB5/bin"
> > --set "gdk_dbfarm=/ufs/niels/scratch/rc/Linux-x86_64/var/MonetDB5/dbfarm"
> > --set mapi_open=true --set xrpc_open=true --set mapi_port=36694 --set
> > xrpc_port=47294 --set monet_prompt= --trace
> > "--dbname=mTests_src_test_BugTracker-2009" --set mal_listing=0 "--dbinit=
> > include sql;" ; echo ; echo Over..
> > +# 08:59:53 >
> > +
> > +# MonetDB server v5.16.0, based on kernel v1.34.0
> > +# Serving database 'mTests_src_test_BugTracker-2009', using 4 threads
> > +# Compiled for x86_64-unknown-linux-gnu/64bit with 64bit OIDs dynamically
> > linked
> > +# Detected 7.753 GiB (8324386816 bytes) main-memory.
> > +# Copyright (c) 1993-July 2008 CWI.
> > +# Copyright (c) August 2008-2009 MonetDB B.V., all rights reserved
> > +# Visit http://monetdb.cwi.nl/ for further information
> > +# Listening for connection requests on mapi:monetdb://alf.ins.cwi.nl:36694/
> > +# MonetDB/SQL module v2.34.0 loaded
> > +
> > +Ready.
> > +#function user.main():void;
> > +# clients.quit();
> > +#end main;
> > +
> > +Over..
> > +
> > +# 08:59:53 >
> > +# 08:59:53 > mclient -lsql -i --host=alf --port=36694
> > +# 08:59:53 >
> > +
> > +% .plan # table_name
> > +% rel # name
> > +% clob # type
> > +% 94 # length
> > +insert(
> > +| table(sys.cm_tmp) [ cm_tmp.i, cm_tmp.%TID% NOT NULL ]
> > +| union (
> > +| | table copyfrom('sys', 'cm_tmp', '|', '\n', 'NULL', 'null', '\file1',
> > -1, 0), [ cm_tmp.i ],
> > +| | table copyfrom('sys', 'cm_tmp', '|', '\n', 'NULL', 'null', '\file2',
> > -1, 0), [ cm_tmp.i ]
> > +| )
> > +)
> > +
> > +# 08:59:53 >
> > +# 08:59:53 > Done.
> > +# 08:59:53 >
> > +
> > diff -r 5a1db97d3fea -r 4db97a677d15 testing/src/Mtest.py.in
> > --- a/testing/src/Mtest.py.in Thu Dec 16 09:27:47 2010 +0100
> > +++ b/testing/src/Mtest.py.in Thu Dec 16 09:42:22 2010 +0100
> > @@ -3065,6 +3065,7 @@
> > vars = vars + [ 'MILCLIENT', 'MALCLIENT', 'SQLCLIENT', 'SQLDUMP',
> > 'XQUERYCLIENT'] #, 'MONETDB_MOD_PATH' ]
> >
> > env = {}
> > + env['DIRSEP'] = os.sep
> >
> > # most intuitive (?) default settings
> > dft['TSTSRCBASE'] = "GetMonetConfig(par['PACKAGE'],'--source')"
> > _______________________________________________
> > Checkin-list mailing list
> > [email protected]
> > http://mail.monetdb.org/mailman/listinfo/checkin-list
>
>
> --
> Sjoerd Mullender
>
> _______________________________________________
> Checkin-list mailing list
> [email protected]
> http://mail.monetdb.org/mailman/listinfo/checkin-list
--
| Stefan.Manegold @ CWI.nl | DB Architectures (INS1) |
| http://CWI.nl/~manegold/ | Science Park 123 (L321) |
| Tel.: +31 (0)20 592-4212 | 1098 XG Amsterdam (NL) |
_______________________________________________
Checkin-list mailing list
[email protected]
http://mail.monetdb.org/mailman/listinfo/checkin-list