1. 01 9月, 2016 1 次提交
    • S
      Attempt to maintain encoding for arrays of strings with PG · 7ba3a48d
      Sean Griffin 提交于
      I still think that this is something that should be handled in the pg
      gem, but it's not going to end up happening there so we'll do it here
      instead. Once we bump to pg 0.19 we can pass the encoding to the
      `encode` method instead.
      
      This issue occurs because C has no concept of encoding (or strings,
      really). The bytes that we pass here when sending the value to the
      database will always be interpreted as whatever encoding the connection
      is currently configured to use. That means that roundtripping to the
      database will lose no information
      
      However, after assigning we round trip through our type system without
      hitting the database. The only way that we can do the "correct" thin
      here would be to actually give a reference to the connection to the
      array type and have it check the current value of the connection's
      encoding -- which I'm strongly opposed to. We could also pass in the
      encoding when it's constructed, but since that can change independently
      of the type I'm not a huge fan of that either.
      
      This feels like a reasonable middle ground, where if we have an array of
      strings we simply use the encoding of the string we're given.
      
      Fixes #26326.
      7ba3a48d
  2. 31 8月, 2016 14 次提交
  3. 30 8月, 2016 25 次提交