roam/daily/2021-11-08.org
2021-12-03 15:52:19 -05:00

2.7 KiB

2021-11-08

Planning future backend work

Meeting with Scott and Eric.

Number clicked column to account backup 4h
CSLead Tickets EOW
Tagbox upgrades EOW
Remove outbound tag sanitization EOW
Analytics search testing ???
OpenAPI newline pattern validation Tomorrow
Start on Search Service Next week
Last week
CSLead Tickets Today
Analytics View This week (Eric)
Search This week (Correl)
Verifications Tech Initiatives sync
This week

Bulk Job ACP discussion

  • Could deleting duplicate subscribers across lists belong in the Control Panel?
  • Why would we want to pause a job?

    • More likely to be an internal issue, pausing processing to relieve system pressure
  • Differences between customer-initiated jobs and internally (PSE/ASE) initiated jobs
  • Any future plans for bulk actions in the CP?

    • Deleting duplicate subscribers across lists csreq?
    • Nothing prioritized right now.

Searching any/all tags with quotation marks

https://jira.aweber.io/browse/CCPANEL-10726

The search code is escaping the characters, but string literals appear to handle escaping differently between different versions of PostgreSQL. Versions 9.1 and above default the standard_conforming_strings setting to on, which permits escaping. The AppDB PostgreSQL version in staging and production are on 9.0.23, and have the setting turned to off.

Because of how search is currently built, in order to support searching on multiple values, these values are being encoded as string array literals. The additional escaping needed for this format are running afoul of PostgreSQL's string handling:

With standard conforming strings on

  postgres=# select '{"foo","bar","\"baz"}'::text[];
         text
  -------------------
   {foo,bar,"\"baz"}
  (1 row)

With standard conforming strings off

  app-txn=> select '{"foo","bar","\"baz"}'::text[];
  WARNING:  nonstandard use of escape in a string literal
  LINE 1: select '{"foo","bar","\"baz"}'::text[];
                 ^
  HINT:  Use the escape string syntax for escapes, e.g., E'\r\n'.
  ERROR:  malformed array literal: "{"foo","bar",""baz"}"
  LINE 1: select '{"foo","bar","\"baz"}'::text[];
                 ^