1. 31 10月, 1996 1 次提交
  2. 30 10月, 1996 1 次提交
    • M
      Fixes: · 69c7f25b
      Marc G. Fournier 提交于
      I found another bug in btree index.  Looking at the code it seems that NULL
      keys are never used to build or scan a btree index (see the explain commands
      in the example).  However this is not the case when a null key is retrieved
      in an outer loop of a join select and used in an index scan of an inner loop.
      This bug causes at least three kinds of problems:
      
      1)  the backend crashes when it tries to compare a text string with a null.
      
      2)  it is not possible to find tuples with null keys in a join.
      
      3)  null is considered equal to 0 when the datum is passed by value, see
          the last query.
      
      Submitted by: Massimo Dal Zotto <dz@cs.unitn.it>
      69c7f25b
  3. 27 10月, 1996 1 次提交
  4. 26 10月, 1996 1 次提交
  5. 24 10月, 1996 1 次提交
    • M
      Fixes: · e1526612
      Marc G. Fournier 提交于
      It's bug in nodeAgg.c on lines 241, 242:
      
                      null_array = malloc(nagg);
                      for (i=0;i<nagg;i++)
                          null_array[i] = 'n';
                      oneTuple = heap_formtuple(tupType, tupValue, null_array);
      
      - your query has not only aggregates but also 'group by-ed' fields and so
      null_array should contain tupType->natts elements (tupType->natts > nagg in
      your case).
      
      Patch follows and it's very simple.
      
      VAdim
      e1526612
  6. 23 10月, 1996 1 次提交
  7. 10 10月, 1996 1 次提交
  8. 08 10月, 1996 1 次提交
  9. 07 10月, 1996 1 次提交
  10. 06 10月, 1996 1 次提交
  11. 20 9月, 1996 1 次提交
  12. 16 9月, 1996 2 次提交
    • M
      There is a bug in the function executor. The backend crashes while trying to · 906651f6
      Marc G. Fournier 提交于
      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
    • M
      |Subject: Postgres patch: Assert attribute type match · 47549313
      Marc G. Fournier 提交于
      |
      |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
  13. 10 9月, 1996 1 次提交
    • M
      Fixes: · 796f7899
      Marc G. Fournier 提交于
      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
  14. 28 8月, 1996 1 次提交
  15. 26 8月, 1996 1 次提交
  16. 19 8月, 1996 1 次提交
    • M
      |From: Dan McGuirk <mcguirk@indirect.com> · f796387b
      Marc G. Fournier 提交于
      |
      |This patch fixes a backend crash that happens sometimes when you try to
      |join on a field that contains NULL in some rows.  Postgres tries to
      |compute a hash value of the field you're joining on, but when the field
      |is NULL, the pointer it thinks is pointing to the data is really just
      |pointing to random memory.  This forces the hash value of NULL to be 0.
      |
      |It seems that nothing matches NULL on joins, even other NULL's (with or
      |without this patch).  Is that what's supposed to happen?
      |
      f796387b
  17. 30 7月, 1996 1 次提交
  18. 27 7月, 1996 1 次提交
  19. 23 7月, 1996 1 次提交
    • M
      More of Dr. George's changes... · e11744e1
      Marc G. Fournier 提交于
              - src/backend/catalog/*
                      - no changes
              - src/backend/executor/*
                      - change how nodeHash.c handles running out of memory
              - src/backend/optimizer/*
                      - mostly cosmetic changes
      e11744e1
  20. 19 7月, 1996 1 次提交
    • M
      Fixes: · 6562fa85
      Marc G. Fournier 提交于
      'select distinct on' causes backend to crash
      
      submitted by: Chris Dunlop    chris@onthe.net.au
      6562fa85
  21. 09 7月, 1996 1 次提交