Árvore de páginas

Versões comparadas

Chave

  • Esta linha foi adicionada.
  • Esta linha foi removida.
  • A formatação mudou.
Comentário: Alteração do comportamento de validação
informa explicitamente que não é possível realizar uma atribuição de valor em uma coluna virtual, antes de enviar a instrução ao Banco de Dados. Vide abaixo o exemplo das novas mensagens deste tratamento -- onde <X> indica o nome da coluna virtual envolvida na ocorrência:

Ocorrência

Quando a aplicação

Inclusão de trecho
AdvPL
AdvPL
nopaneltrue
tenta fazer um insert ou update utilizando um ALIAS de tabela que foi aberta internamente pelo Framework da linguagem, usando um recurso de otimização de busca de colunas relacionadas, ocorre falha na operação, retornando um erro específico do SGDB utilizado.

Trechos de mensagens de erro:

Bloco de código
titleMensagem de erro observada em ambiente Oracle
THREAD ERROR ([8764], usuario, dekstop) 10/09/2019 15:30:10
EE7010: DB error (Insert): -27 File: EE7010 - Error : 904 - ORA-00904: "A1_NOME": invalid identifier
( From tISAMFile::Write )
Bloco de código
titleMensagem de erro observada em ambiente MSSQL
THREAD ERROR ([4784], usuario, desktop)   19/08/2019 09:49:24
SC5010: DB error (Update): -29 File: SC5010 - Error : 207 (S0022) (RC=-1) - [Microsoft][ODBC SQL Server Driver][SQL Server]Invalid column name 'A1_NOME'.
Error : 8180 (37000) (RC=-1) - [Microsoft][ODBC SQL Server Driver][SQL Server]Statement(s) could not be prepared.
( From tISAMFile::Update )
Melhoria

Uma tabela aberta internamente com colunas agregadas por relacionamento (ou Joined Columns) não deve deveria ser usada utilizada para inserção ou alteração de dados, apenas consulta. Sem uma proteção específica para estas condições, caso a aplicação AdvPL atribuísse qualquer conteúdo em uma coluna virtual, nas operações de inserção ou alteração,

Inclusão de trecho
DBAccess
DBAccess
nopaneltrue
submetia ao SGDB uma instrução que fatalmente não seria executada, pois referenciava colunas que não existem fisicamente (virtual columns), retornando um erro após enviar ao Banco de Dados a instrução de atualização

Foi implementada uma melhoria na mensagem apresentada pelo no tratamento desta ocorrência, onde o

Inclusão de trecho
dbaccess
dbaccess
nopaneltrue
 gera uma mensagem de erro específica e diferenciada, que passa a informar que a operação solicitada é inválida para a tabela em questão.As seguintes mensagens passam a ser observadas no console do
Inclusão de trecho
dbaccessdbaccess
nopaneltrue
Sem Formato
DB error (Insert): -27 File: MYTEST - TOP Error -27 - InvalidUnsupported VALUE InsertASSIGN on TableVIRTUAL withJOINED JOINEDCOLUMN Columns<X> ( From tISAMFile::WriteRecord )
DB error (Update): -29 File: MYTEST - TOP Error -29 - Unsupported InvalidVALUE UpdateASSIGN on TableVIRTUAL withJOINED JOINEDCOLUMN Columns<X> ( From tISAMFile::Update )




Informações adicionais
  • Referente ao chamado: DBTEC-792