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&reg; 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&#45;12, 2009. Register now&#33;
http://p.sf.net/sfu/devconf
_______________________________________________
Monetdb-pf-checkins mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/monetdb-pf-checkins

Reply via email to