Skip to content
Snippets Groups Projects
  1. Mar 01, 2005
  2. Feb 28, 2005
  3. Feb 27, 2005
  4. Feb 26, 2005
  5. Feb 25, 2005
  6. Feb 24, 2005
  7. Feb 23, 2005
    • Neil Conway's avatar
      This patch optimizes the md5_text() function (which is used to · 3350b374
      Neil Conway authored
      implement the md5() SQL-level function). The old code did the
      following:
      
      1. de-toast the datum
      2. convert it to a cstring via textout()
      3. get the length of the cstring via strlen()
      
      Since we are treating the datum context as a blob of binary data,
      the latter two steps are unnecessary. Once the data has been
      detoasted, we can just use it as-is, and derive its length from
      the varlena metadata.
      
      This patch improves some run-of-the-mill md5() computations by
      just under 10% in my limited tests, and passes the regression tests.
      
      I also noticed that md5_text() wasn't checking the return value
      of md5_hash(); encountering OOM at precisely the right moment
      could result in returning a random md5 hash. This patch corrects
      that. A better fix would be to make md5_hash() only return on
      success (and/or allocate via palloc()), but since it's used in
      the frontend as well I don't see an easy way to do that.
      3350b374
    • Tom Lane's avatar
      Un-break plpgsql build by removing unwanted _() usage. · b9a87e52
      Tom Lane authored
      This would be a completely inappropriate place to apply localization
      anyway.
      b9a87e52
Loading