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

Reply via email to