Update of /cvsroot/monetdb/pathfinder/tests/BugTracker/Tests
In directory
23jxhf1.ch3.sourceforge.com:/tmp/cvs-serv30606/tests/BugTracker/Tests
Added Files:
Tag: Nov2009
compilation_error.SF-2860037_1.xq.in
Log Message:
propagated changes of Tuesday Sep 29 2009 - Wednesday Sep 30 2009
from the Aug2009 branch to the Nov2009 branch
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
2009/09/29 - stmane:
tests/BugTracker/Tests/compilation_error.SF-2860037_1.xq.in,1.1.2.1
added tests for
ID: 2860037 "PF: fatal error: aborted too deep recursion on linux"
https://sourceforge.net/tracker/?func=detail&aid=2860037&group_id=56967&atid=482468
and
ID: 2860574 "PF: fatal error: column not found / BATappend access denied"
https://sourceforge.net/tracker/?func=detail&aid=2860574&group_id=56967&atid=482468
both seem to work fine after Jan R.'s recnt fixes
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
--- NEW FILE: compilation_error.SF-2860037_1.xq.in ---
pf:add-doc("$TSTSRCDIR/compilation_error.SF-2860037.xml","eprints-export.xml")
<>
doc("eprints-export.xml")
<>
declare function processISBN($fields as element()*) as element()*
{
let $isbn10 := $fiel...@name eq "isbn"]/string()
let $isbn13 := $fiel...@name eq "isbn_13"]/string()
let $i := if (empty($isbn13) or $isbn13="") then $isbn10 else $isbn13
let $ii := if ($i = "not assigned") then () else $i
return
(<isbn>{$ii}</isbn>
,<isbn_10>{$isbn10}</isbn_10>
,<isbn_13>{$isbn13}</isbn_13>
)
};
declare function processNames($en as xs:string, $fields as element()*) as
element()*
{
let $allnm := concat(concat("all",$en),"s")
let $givennm := concat($en,"s_given")
let $familynm := concat($en,"s_family")
let $idnm := concat($en,"s_id")
let $fullnm := concat($en,"s_fullname")
let $allnames :=
for $f in $fields
let $given := $f/*:pa...@name eq "given"]/string()
let $family := $f/*:pa...@name eq "family"]/string()
return concat($given,$family)
let $conv :=
for $f in $fields
let $given := $f/*:pa...@name eq "given"]/string()
let $family := $f/*:pa...@name eq "family"]/string()
let $id := $f/@id/string()
return
element {$en}{
if (empty($given)) then ()
else element {$givennm}{$given}
,if (empty($family)) then ()
else element {$familynm}{$family}
,if (empty($id)) then ()
else element {$idnm}{$id}
,if (empty($given) and empty($family)) then ()
else element {$fullnm}{$given,$family}
}
return
(element {$allnm} { string-join($allnames," and ") }
,$conv
)
};
let $doc := doc("eprints-export.xml")
let $skip := ("creators","editors",
"supervisors","assistant_supervisors","isbn","isbn_13")
let $result :=
for $rec in $doc//*:record
let $flds := $rec/*:field
let $cr := processNames("creator",$fl...@name eq "creators"])
let $ed := processNames("editor",$fl...@name eq "editors"])
let $sup := processNames("supervisor",$fl...@name eq "supervisors"])
let $asup := processNames("assistant_supervisor",$fl...@name eq
"assistant_supervisors"])
let $isbn := processISBN($fl...@name eq "isbn" or @name eq "isbn_13"])
let $ep :=
<eprint>{
$cr,$ed,$sup,$asup,$isbn,
for $f in $flds
let $fn := if ($f/@name) then exactly-one($f/@name/string()) else
"unnamed-field"
return
if ($fn = $skip) then ()
else if ($fn eq "date_effective")
then let $value := exactly-one($f/string())
return (<date_effective>{$value}</date_effective>
,<year>{substring($value,1,4)}</year>
)
else element {$fn} {string($f)}
}</eprint>
return
$ep
return
<repository>{ $result }</repository>
<>
pf:del-doc("eprints-export.xml")
------------------------------------------------------------------------------
Come build with us! The BlackBerry® Developer Conference in SF, CA
is the only developer event you need to attend this year. Jumpstart your
developing skills, take BlackBerry mobile applications to market and stay
ahead of the curve. Join us from November 9-12, 2009. Register now!
http://p.sf.net/sfu/devconf
_______________________________________________
Monetdb-pf-checkins mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/monetdb-pf-checkins