1. 16 Sep, 1996 7 commits
    • Marc G. Fournier's avatar
      I have made some corrections to my previous patches for retrieving array · 24f00122
      Marc G. Fournier authored
      attributes as tcl arrays.  The previous code had problems with some chars
      used as delimiter by Tcl.  The new code should be more robust.
      
      By: Massimo Dal Zotto <dz@cs.unitn.it>
      24f00122
    • Marc G. Fournier's avatar
      enable PQ_NOTIFY_PATCH in config.h · 33dccad8
      Marc G. Fournier authored
      33dccad8
    • Marc G. Fournier's avatar
      Fixes: · bbebcb12
      Marc G. Fournier authored
      Async notifies received while a backend is in the middle of a begin/end
      transaction block are lost by libpq when the final end command is issued.
      
      The bug is in the routine PQexec of libpq. The routine throws away any
      message from the backend when a message of type 'C' is received. This
      type of message is sent when the result of a portal query command with
      no tuples is returned. Unfortunately this is the case of the end command.
      As all async notification are sent only when the transaction is finished,
      if they are received in the middle of a transaction they are lost in the
      libpq library. I added some tracing code to PQexec and this is the output:
      
      Submitted by: Massimo Dal Zotto <dz@cs.unitn.it>
      bbebcb12
    • Marc G. Fournier's avatar
    • Marc G. Fournier's avatar
      Enable FUNC_UTIL_PATCH by default · df6ca83a
      Marc G. Fournier authored
      df6ca83a
    • Marc G. Fournier's avatar
      There is a bug in the function executor. The backend crashes while trying to · 906651f6
      Marc G. Fournier authored
      execute an sql function containing an utility command (create, notify, ...).
      The bug is part in the planner, which returns a number of plans different
      than the number of commands if there are utility commands in the query, and
      in part in the function executor which assumes that all commands are normal
      query commands and causes a SIGSEGV trying to execute commands without plan.
      
      Submitted by: Massimo Dal Zotto <dz@cs.unitn.it>
      906651f6
    • Marc G. Fournier's avatar
      |Subject: Postgres patch: Assert attribute type match · 47549313
      Marc G. Fournier authored
      |
      |Here's a patch for Version 2 only.  It just adds an Assert to catch some
      |inconsistencies in the catalog classes.
      |
      |--
      |Bryan Henderson                                    Phone 408-227-6803
      |San Jose, California
      |
      47549313
  2. 10 Sep, 1996 4 commits
    • Marc G. Fournier's avatar
    • Marc G. Fournier's avatar
      Fixes: · 796f7899
      Marc G. Fournier authored
      The problem is that the function arguments are not considered as possible key
      candidates for index scan and so only a sequential scan is possible inside
      the body of a function.  I have therefore made some patches to the optimizer
      so that indices are now used also by functions.  I have also moved the plan
      debug message from pg_eval to pg_plan so that it is printed also for plans
      genereated for function execution.  I had also to add an index rescan to the
      executor because it ignored the parameters set in the execution state, they
      were flagged as runtime variables in ExecInitIndexScan but then never used
      by the executor so that the scan were always done with any key=1. Very odd.
      This means that an index rescan is now done twice for each function execution
      which uses an index, the first time when the index scan is initialized and
      the second when the actual function arguments are finally available for the
      execution.  I don't know what is the cost of an double index scan but I
      suppose it is anyway less than the cost of a full sequential scan, at leat
      for large tables. This is my patch, you must also add -DINDEXSCAN_PATCH in
      Makefile.global to enable the changes.
      
      Submitted by: Massimo Dal Zotto <dz@cs.unitn.it>
      796f7899
    • Marc G. Fournier's avatar
      Fixes: · f2f53aee
      Marc G. Fournier authored
      The comparison routines for text and char data type give incorrect results
      if the input data contains characters greater than 127.  As these routines
      perform the comparison using signed char variables all character codes
      greater than 127 are interpreted as less than 0.  These codes are used to
      encode the iso8859 char sets.
      The other text-like data types seem to work as expected as they use unsigned
      chars in comparisons.
      
      
      Submitted by: Massimo Dal Zotto <dz@cs.unitn.it>
      f2f53aee
    • Marc G. Fournier's avatar
      Cleaned up a spurious '-' ... · 1ba34d91
      Marc G. Fournier authored
      Pointed out by: ernst.molitor@uni-bonn.de
      1ba34d91
  3. 28 Aug, 1996 9 commits
  4. 27 Aug, 1996 18 commits
  5. 26 Aug, 1996 2 commits