Patch title: Release 93 bulk changes
Abstract:
File: /appli/database/io.pli
Key:
    Removed line
    Added line
   
abstract
  [Handles datas stored in a file, using HTML like tags.]


method db do_store filename -> status
  oarg_rw Database_ db ; arg Str filename ; arg Status statu
  if not database_store_sem:nowait_rd_request
    return failure
  part store "store database "+filename
    db get_root (var Data_ d)
    var Link:Stream s :> new Stream
    s open filename+".tmp" out+safe
abstract
  [Handles datas stored in a file, using HTML like tags.]


method db do_store filename -> status
  oarg_rw Database_ db ; arg Str filename ; arg Status statu
  if not database_store_sem:nowait_rd_request
    return failure
  part store "store database "+filename
    db get_root (var Data_ d)
    var Link:Stream s :> new Stream
    s open filename+".tmp" out+safe
    s safe_configure "journal"
    if db:flags:database_compressed
      s writeline "<zlib>"
      (var Stream z) open "zlib:" "" out+safe pliant_default
      d store z
      z flush sync
      status := shunt z:close=success and s:close=success su
    else
      d store s
      s flush sync
      status := shunt s:close=success success failure
    if status=success
    if db:flags:database_compressed
      s writeline "<zlib>"
      (var Stream z) open "zlib:" "" out+safe pliant_default
      d store z
      z flush sync
      status := shunt z:close=success and s:close=success su
    else
      d store s
      s flush sync
      status := shunt s:close=success success failure
    if status=success
      # file_directory_flush filename
      file_delete filename
      file_move filename+".tmp" filename
      file_directory_flush filename
    else
      file_delete filename+".tmp"
  database_store_sem rd_release



      file_delete filename
      file_move filename+".tmp" filename
      file_directory_flush filename
    else
      file_delete filename+".tmp"
  database_store_sem rd_release