Patch title: Release 84 bulk changes
Abstract:
File: /pliant/appli/data_browser.pli
Key:
    Removed line
    Added line
   
abstract
  [This virtual tree page maps all the database data in the 
doc
  [Don't use this as a sample on how to use Pliant database 
  [This page is using the low level interface whereas most o


          if (addressof master:base)<>(addressof data_root:b
            var Str mime := "text/plain"
            select "" (var Str mime) noeol
              option "view" "text/plain"
              option "store" "binary/*"
            button "download"
              var Data_ master2 := data_root search_path pat
              var Link:Database_ base :> master2 base
              if master2:adr<>null
                reset_http_answer
                http_request answer_mime_type := mime
                http_request send_header
                base:sem rd_request
                master2 store http_request:stream
                base:sem rd_release
                http_request send_footer
              else
                [Internal bug in Pliant module /pliant/appli
            file_upload "" (var Str filename) noeol
            select "" (var Str action) noeol
              option "add and replace only" ""
              option "clear then add" "clear"
            button "upload"
              var Data_ master2 := data_root search_path pat
              var Link:Database_ base :> master2 base
              if master2:adr<>null
                base:sem request
                if action="clear"
                  master2:interface reset master2
                (var Stream s) open filename in+safe
                base get_root (var Data_ root)
abstract
  [This virtual tree page maps all the database data in the 
doc
  [Don't use this as a sample on how to use Pliant database 
  [This page is using the low level interface whereas most o


          if (addressof master:base)<>(addressof data_root:b
            var Str mime := "text/plain"
            select "" (var Str mime) noeol
              option "view" "text/plain"
              option "store" "binary/*"
            button "download"
              var Data_ master2 := data_root search_path pat
              var Link:Database_ base :> master2 base
              if master2:adr<>null
                reset_http_answer
                http_request answer_mime_type := mime
                http_request send_header
                base:sem rd_request
                master2 store http_request:stream
                base:sem rd_release
                http_request send_footer
              else
                [Internal bug in Pliant module /pliant/appli
            file_upload "" (var Str filename) noeol
            select "" (var Str action) noeol
              option "add and replace only" ""
              option "clear then add" "clear"
            button "upload"
              var Data_ master2 := data_root search_path pat
              var Link:Database_ base :> master2 base
              if master2:adr<>null
                base:sem request
                if action="clear"
                  master2:interface reset master2
                (var Stream s) open filename in+safe
                base get_root (var Data_ root)
                root load s master2:base
                root load s
                base:sem release
                reload_page
              else
                [Internal bug in Pliant module /pliant/appli
 
      else
    
        function display_data_tree data header page
          arg_rw Data_ data ; arg Str header ; arg_rw HtmlPa
          cell
            fixed
              text header+data:key
          data:base:sem rd_request
          var Link:Type t :> data:interface type data
          if t<>Void
            cell
              small
                italic
                  text t:name
          else
            cell void
          if t<>Void and (data:interface get data addressof:
            cell
              fixed
                text value
          else
            cell void
          var Data_ more := data:interface first data "" "" 
          while more:adr<>null
            data:base:sem rd_release
            display_data_tree more header+". " page
            data:base:sem rd_request
            more := data:interface next data "" "" buf
          data:base:sem rd_release
    
        table columns 3 border 0 padding 0
          cell header
            bold [Subpath]
          cell header
            bold [Type]
          cell header
            bold [Value]
          master:base:sem rd_request
          var Data_ sub := master:interface first master "" 
          while sub:adr<>null
            master:base:sem rd_release
            display_data_tree sub "" page
            master:base:sem rd_request
            sub := master:interface next master "" "" buf
          master:base:sem rd_release



                base:sem release
                reload_page
              else
                [Internal bug in Pliant module /pliant/appli
 
      else
    
        function display_data_tree data header page
          arg_rw Data_ data ; arg Str header ; arg_rw HtmlPa
          cell
            fixed
              text header+data:key
          data:base:sem rd_request
          var Link:Type t :> data:interface type data
          if t<>Void
            cell
              small
                italic
                  text t:name
          else
            cell void
          if t<>Void and (data:interface get data addressof:
            cell
              fixed
                text value
          else
            cell void
          var Data_ more := data:interface first data "" "" 
          while more:adr<>null
            data:base:sem rd_release
            display_data_tree more header+". " page
            data:base:sem rd_request
            more := data:interface next data "" "" buf
          data:base:sem rd_release
    
        table columns 3 border 0 padding 0
          cell header
            bold [Subpath]
          cell header
            bold [Type]
          cell header
            bold [Value]
          master:base:sem rd_request
          var Data_ sub := master:interface first master "" 
          while sub:adr<>null
            master:base:sem rd_release
            display_data_tree sub "" page
            master:base:sem rd_request
            sub := master:interface next master "" "" buf
          master:base:sem rd_release