PGS-220000 PostgreSQL: ERROR: bigint erro fora do intervalo no Campaign Classic
Saiba como resolver o PGS-220000 PostgreSQL: ERROR: erro bigint fora do intervalo em Campaign Classic usando a ID da instância de execução .
Descrição description
Ambiente
Adobe Campaign Classic v7
Problema
O seguinte erro é executado no workflow de arquivamento (mcSynch) do Centro de mensagens:
Resolução resolution
Solução
O problema é a ID da instância de execução que foi usada para identificar a instância de execução RT.
Como mostrado acima, o valor usado é 50,805,170.
A ID da instância de execução é usada pelo workflow de arquivamento da seguinte maneira:
vars.CELL_OFFSET + "*" + vars.cellId + " + @id"
Onde
-
CELL_OFFSET é uma constante (72057594037927936) criada pela atividade "Informações de conexão".
-
cellId é a ID da instância de execução.
Esses dois números acima são multiplicados juntos. O número do resultado final é maior que o valor máximo do tipo bigint Postgres (Tipos Numéricos PostgreSQL).
Os dois valores são adicionados à query da seguinte maneira:
SELECIONE :#(1)# * :#(2)# + B0.iBatchEventId, B0.iBatchEventId, B0.iStatus, B0.iRetry, B0.tsSubmit, B0.tsScheduled, B0.tsExpiration, B0.tsCreated, B0.tsProcessing, B0.tsProcessed, B0.tsLastModified, B0.sType, B0.iDeliveryId, B0.i WishedChannel, B0.sExternalId, B0.sOrigin, B0.sEmail, B0.iEmailFormat, B0.sMobilePhone, B0.sRegistrationToken, B0.iMobileAppId, B0.sLine1, B0.sLine2, B0.sLine3, B0.sLine4, B0.sLine5, B0.sLine6, B0.sLine7, B0.sCountryCode, B0.s Idioma, B0.iFolderId, B0.iCreatedById, B0.mData
FROM NmsBatchEvent B0
ONDE ((B0.iFolderId IN (SELECT xr.iFolderId FROM XtkRights xr WHERE xr.iOperatorId IN (3798)) OU B0.iFolderId=0))
E (((B0.iFolderId IN (SELECT xr.iFolderId FROM XtkRights xr WHERE xr.iOperatorId IN (3798)) OU B0.iFolderId=0)))
E ((B0.iBatchEventId <
>
:#(3)#) E (B0.tsLastModified <
:#(4)#)))
ORDER BY truncdate(B0.tsLastModified, :#(5)#, 'Europa/Londres'), B0.iBatchEventId LIMIT 501'
Param( 0)=72057594037927936\n —>
:#(1)#
Param( 1)=50805170\n —>
:#(2)#
Param( 2)=0\n Param(3)=04/09/2021 05:00:26\n Param(4)=1
A solução é utilizar um número menor como a ID da instância de execução.