1. 20 Aug, 2012 2 commits
    • Heikki Linnakangas's avatar
      Don't get confused if a WAL partial record header has xl_tot_len == 0. · 51fed14d
      Heikki Linnakangas authored
      If a WAL record header was split across pages, but xl_tot_len was 0, we
      would get confused and conclude that we had already read the whole record,
      and proceed to CRC check it. That can lead to a crash in RecordIsValid(),
      which isn't careful to not read beyond end-of-record, as defined by
      xl_tot_len.
      
      Add an explicit sanity check for xl_tot_len <= SizeOfXlogRecord. Also,
      make RecordIsValid() more robust by checking in each step that it doesn't
      try to access memory beyond end of record, even if a length field in the
      record's or a backup block's header is bogus.
      
      Per report and analysis by Tom Lane.
      51fed14d
    • Tom Lane's avatar
      Fix typo in comment. · 9b2a237c
      Tom Lane authored
      9b2a237c
  2. 19 Aug, 2012 2 commits
  3. 18 Aug, 2012 2 commits
    • Tom Lane's avatar
      Make use of LATERAL in information_schema.sequences view. · c246eb5a
      Tom Lane authored
      It said "XXX: The following could be improved if we had LATERAL" ...
      so let's do that.
      
      No catversion bump since either version of the view works fine.
      c246eb5a
    • Tom Lane's avatar
      Another round of planner fixes for LATERAL. · 084a29c9
      Tom Lane authored
      Formerly, subquery pullup had no need to examine other entries in the range
      table, since they could not contain any references to the subquery being
      pulled up.  That's no longer true with LATERAL, so now we need to be able
      to visit rangetable subexpressions to replace Vars referencing the
      pulled-up subquery.  Also, this means that extract_lateral_references must
      be unsurprised at encountering lateral PlaceHolderVars, since such might be
      created when pulling up a subquery that's underneath an outer join with
      respect to the lateral reference.
      084a29c9
  4. 17 Aug, 2012 3 commits
  5. 16 Aug, 2012 18 commits
  6. 15 Aug, 2012 13 commits