2021-12-01 22:28:09 +00:00
|
|
|
:PROPERTIES:
|
|
|
|
:ID: 305b4103-a9a8-492a-8431-c203f57d2bd0
|
|
|
|
:END:
|
|
|
|
#+title: 2021-11-08
|
|
|
|
* Planning future backend work
|
|
|
|
Meeting with Scott and Eric.
|
|
|
|
|
|
|
|
#+caption: Last week
|
|
|
|
| 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 |
|
|
|
|
|
|
|
|
#+caption: This week
|
|
|
|
| CSLead Tickets | Today |
|
|
|
|
| Analytics View | This week (Eric) |
|
|
|
|
| Search | This week (Correl) |
|
|
|
|
| Verifications | Tech Initiatives sync |
|
|
|
|
* [[id:1463cf0a-e2b2-490c-b1b3-40249b483ca8][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
|
|
|
|
|
2021-12-03 20:52:19 +00:00
|
|
|
The [[id:d9cb2b55-3b0e-4ab3-8369-f71ebc3cd882][search]] code is escaping the characters, but string literals appear to handle
|
|
|
|
escaping differently between different versions of [[id:af84ed59-96a4-4f9c-b34c-b79178ad20cb][PostgreSQL]]. Versions 9.1 and
|
2021-12-01 22:28:09 +00:00
|
|
|
above default the =standard_conforming_strings= setting to =on=, which permits
|
2021-12-03 20:52:19 +00:00
|
|
|
escaping. The [[id:dd113e53-6144-4cb2-a4aa-da3dc2e3e6ea][AppDB]] PostgreSQL version in staging and production are on 9.0.23,
|
2021-12-01 22:28:09 +00:00
|
|
|
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 [[https://www.postgresql.org/docs/9.1/arrays.html#ARRAYS-IO][string array literals]]. The
|
|
|
|
additional escaping needed for this format are running afoul of PostgreSQL's
|
|
|
|
string handling:
|
|
|
|
|
|
|
|
With standard conforming strings on
|
|
|
|
#+begin_example
|
|
|
|
postgres=# select '{"foo","bar","\"baz"}'::text[];
|
|
|
|
text
|
|
|
|
-------------------
|
|
|
|
{foo,bar,"\"baz"}
|
|
|
|
(1 row)
|
|
|
|
#+end_example
|
|
|
|
|
|
|
|
With standard conforming strings off
|
|
|
|
#+begin_example
|
|
|
|
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[];
|
|
|
|
^
|
|
|
|
#+end_example
|