Todos os produtos
Search
Central de documentação

PolarDB:PolarDB for MySQL 8.0.2 release notes

Última atualização: Nov 06, 2026

Este tópico descreve as notas de versão do PolarDB for MySQL 8.0.2.

2026

8.0.2.2.39 (2026.11.03)

Novos recursos

Descrição

  • Suporte para montar tabelas Lance externas como tabelas estrangeiras, o que permite consultar dados externos do Lance diretamente, sem a necessidade de importar os dados.

  • Adicionada uma chave do otimizador de SQL incremental para materialized views, com o objetivo de controlar centralmente a otimização de SQL incremental para agregação de múltiplas tabelas e a deduplicação de fingerprint.

  • Adicionado suporte para Multi-master Cluster partitioned tables ler suas tabelas de destino com instruções INSERT/REPLACE.

  • Adicionada a capacidade de renomear uma Single Table distribuída transparente no mesmo banco de dados em Multi-master Cluster (Limitless) Edition, mantendo a consistência de metadados em vários nós de leitura e gravação (RW) e nós globais de somente leitura (RO).

  • Adicionado suporte do Multi-master Cluster (Limitless) Edition para execução distribuída de instruções INSERT... SELECT... LOCK IN SHARE MODE em tabelas distribuídas transparentes.

  • Adicionada uma chave opcional para PolarVector (vector retrieval) ignorar a varredura suplementar de dados não indexados. O comportamento padrão de recuperação permanece inalterado.

  • Adicionado um código de erro de roteamento dedicado para consultas totalmente colunares e suporte para reter consultas de chave primária de tabela única e de índice secundário de cobertura na execução de row-store, por meio de um limiar configurável de contagem de linhas.

  • Adicionado um comando de DBA para excluir explicitamente a tabela Delta de um incrementally refreshed materialized view, reduzindo o risco de exclusão acidental.

  • Adicionado suporte para visões materializadas incrementais usarem um plano híbrido em clusters com global consistency (performance mode) ativado. A configuração materialized_view_ivm_hybrid_under_scc, ativada por padrão, isenta sessões internas de ETL incremental do SCC, melhorando a eficiência das atualizações incrementais de inner-join de múltiplas tabelas suportadas.

  • Adicionadas atualizações otimistas para campos do tipo BLOB em índices clusterizados, reduzindo a contenção de tree-lock.

  • Estendida a lista de permissões de DDL seguro para tabelas base de visão materializada incremental (IVM), de modo que instruções DDL que atendam às condições de segurança não interrompam mais as atualizações de visão materializada incremental.

Otimizações

Descrição

  • Para o In-Memory Column Index (IMCI), adicionada compressão leve na memória para pacotes int/decimal, reduzindo o consumo de memória e o uso real no LRU de pacotes.

  • Melhorada a eficiência de execução de full-sort em altos graus de paralelismo.

  • Otimizado o pruning de anchor-range para backfill de visão materializada incremental (IVM), evitando falhas de atualização causadas pela contagem repetida de âncoras já cobertas por intervalos atualizados.

  • Melhorado o desempenho de coleta de estatísticas para tabelas colunares IMCI, reduzindo leituras duplicadas e sobrecarga de materialização durante a amostragem de tabelas grandes.

  • Otimizadas leituras paralelas e fusão de ordenação para Direct Load de tabela colunar X-Engine, reduzindo a sobrecarga de I/O de arquivos temporários e melhorando o desempenho de importação de dados em grande escala.

  • Melhorado o desempenho de criação de tabelas únicas particionadas em bancos de dados distribuídos multi-master, reduzindo a sobrecarga de aquisição e sincronização repetidas de locks globais de DDL ao criar muitos índices.

  • Otimizado o uso de memória de tabelas históricas na memória em nós de somente leitura (RO) de tabelas colunares X-Engine, reduzindo a sobrecarga de memória residente dos nós de somente leitura.

Correções de bugs

Descrição

  • Corrigido um problema em Multi-master Cluster (Limitless) Edition no qual, após ativar innodb_mm_enable_calculate_free_stats, a thread em segundo plano de free-stats podia causar falha no processo mysqld no caminho de cold-load após a evicção do cache do Data Dictionary (DD) de mysql.tablespaces, devido a current_thd ser nulo.

  • Corrigida uma falha de parsing ao obter valores de colunas de autoincremento de tabelas colunares X-Engine.

  • Corrigido um problema em que um nó de somente leitura IMCI podia falhar ao encerrar normalmente durante o desligamento concorrente do parsing de log independente.

  • Corrigido um problema em que uma tabela de broadcast usada como o lado preservado de um LEFT JOIN com uma tabela distribuída não podia ser executada nativamente em cenários de tabela derivada com chave de partição, sem chave de partição e coparticionada.

  • Corrigidas falhas de alteração de schema quando tablespaces estavam ausentes ou descartados, e códigos de erro anormais ao excluir tabelas no modo de somente leitura.

  • Corrigido um problema em que um nó de somente leitura de índice colunar não relatava versões de metadados prontamente após a reconexão, causando o acúmulo de versões obsoletas e o aumento do uso de memória.

  • Corrigida uma possível saída anormal do cluster causada por falha na inicialização de estatísticas durante o switchover entre primário e secundário.

  • O Orca (Redis-compatible) agora suporta o comando hsetex para estruturas hash, melhorando a eficiência da inserção de dados ao definir um tempo de expiração.

  • Corrigido um loop de falha durante o carregamento de checkpoint causado pela limpeza equivocada de arquivos cfile órfãos após um switchover de HA online.

  • Corrigido um problema em que a indexação automática do IMCI podia sobrescrever chaves de ordenação configuradas pelo usuário ao executar recomendações expiradas, desativando a consolidação de ordenação.

  • Corrigidas causas de erro pouco claras ao atualizar conjuntamente múltiplas visões materializadas sem IMCI; agora o sistema relata os requisitos para visões materializadas, índices colunares nas tabelas base relacionadas e políticas de offloading.

  • Corrigido um SIGSEGV quando uma tarefa de estatísticas em segundo plano do IMCI abria uma tabela com colunas geradas STORED.

  • Corrigido um problema em que as configurações de ttl_purge_hour forçavam uma relação de tamanho entre os parâmetros start_hour e end_hour. Também foi corrigido um problema em que dados purgados por TTL ainda podiam ser consultados após a ativação do cache de consulta.

  • Corrigida uma possível interrupção de service causada pelo parsing repetido de certas prepared queries complexas.

  • Corrigido um problema em que visões materializadas incrementais aninhadas eram marcadas incorretamente como inválidas após a execução de um DDL que não quebra dependência, como COMMENT, na tabela base, causando erros de DESCRIBE e metadados de coluna ausentes.

  • Corrigidos tempos limite de consulta causados por espera mútua entre QuickSelect e Join em consultas paralelas IMCI.

  • Corrigido um problema em que clusters com o recurso de branch table ativado podiam acionar uma asserção e falhar ao iniciar durante a recuperação de falha ou a recuperação de inicialização do banco de dados secundário.

  • Corrigida uma possível falha anormal do cluster de banco de dados ao ler dados de partição fria durante uma consulta de partição híbrida quente-fria em tabelas colunares.

  • Corrigido um problema de ciclo de vida de memória causado pela limpeza concorrente de encaminhamento de PN SQL e leituras de innodb_trx.

  • Corrigido um problema em que a interface colunar em lote ignorava a criação ou exclusão de índices para tabelas existentes quando o marcador colunar implícito já era o valor de destino.

  • Corrigido um problema em que reconstruções de índice de texto completo e switchovers entre primário e secundário podiam bloquear o flushing de dirty pages.

  • Corrigida uma falha no banco de dados causada pelo pruning de colunas de tabela derivada que removia incorretamente subconsultas escalares ainda referenciadas por ordenação ou agrupamento em certas consultas de visões complexas.

  • Adicionado suporte a DDL e tabelas criptografadas para tabelas e partições de arquivamento OSS, mantendo a consistência do status de arquivamento, e corrigidas exceções que podiam ser causadas por atualizações de estatísticas durante a limpeza de recuperação e o switchover entre primário e secundário.

  • Corrigidos problemas na construção, troca, leitura e limpeza de oss file filter, que o mecanismo OSS não suporta para tabelas particionadas híbridas formatadas em CSV.

  • Corrigidos atrasos de replay causados por alterações de DDL bloqueadas quando o DDL era executado durante a reinicialização do nó IMCI e o índice de coluna NCI afetado estava em recuperação em segundo plano.

  • Corrigida uma possível falha no processo do banco de dados quando procedimentos nativos usavam parâmetros de subconsulta.

  • Corrigida uma possível saída anormal do cluster durante a redução do buffer pool do InnoDB, quando o MTR desfixava prematuramente uma página e a liberação subsequente do lock de página acessava um lock inválido.

  • Corrigidas janelas de pin do PVS ausentes e saídas anormais causadas por redo de página mesclada de cross-Register Pin durante a recuperação de inicialização do Standby.

  • Corrigida uma possível falha no nó primário quando a compactação em segundo plano do BranchDB/PVS encontrava intervalos de pin não contíguos.

  • Corrigida uma possível falha durante a geração de plano quando tabelas derivadas de subconsultas transformadas eram incluídas incorretamente como candidatas JPPD.

  • Corrigido um erro de coluna oculta interna não encontrada, acionado por ADD INDEX em um índice secundário de uma visão materializada após a conclusão da atualização.

  • Corrigido um problema em transações distribuídas de múltiplas instruções em tabelas particionadas multi-master, no qual consultas subsequentes UNION ALL ou aninhadas não conseguiam ler alterações não confirmadas de etapas anteriores da mesma transação.

  • Corrigido o registro repetido de referências delta retidas após a redefinição de DDL da tabela base em visões materializadas FAST aninhadas, impedindo que as tabelas delta falhassem ao serem recuperadas automaticamente após a exclusão de todas as visões materializadas relacionadas.

  • Corrigidas falhas probabilísticas de ponteiro nulo causadas por uma condição de corrida de inserção de B-tree em tabelas colunares durante o replay paralelo de WAL.

  • Corrigida uma falha de cluster causada quando o KILL interrompia a limpeza da tabela auxiliar durante a remoção de DDL de um índice de texto completo.

  • Corrigidas falhas de consistência causadas por leituras Orca SCC reutilizando uma read view antiga.

  • Corrigida uma possível saída anormal do mysqld quando SUBQUERY_COALESCE era usado com um Hint de bloco de consulta sem nome.

  • Corrigido um problema em que o CHECK TABLE em uma tabela de broadcast relatava falsamente réplicas completas válidas em cada nó de leitura e gravação (RW) como linhas mal posicionadas e recomendava incorretamente o REPAIR TABLE.

  • Corrigida uma possível falha de operação do sistema de arquivos quando o DDL de uma gravação e múltiplas leituras do IMCI era executado simultaneamente com a recuperação de índice de coluna.

  • Corrigida uma possível falha de nó quando o DDL online em tabelas colunares X-Engine processava campos anuláveis TEXT/LONGTEXT.

  • Corrigida uma falha quando um worker PQ clonava um plano clonado xform em UNION ALL (o caminho union_direct).

  • Corrigido um problema em que excluir uma visão materializada FAST antes da conclusão de sua atualização inicial liberava incorretamente as contagens de referência delta da visão materializada incremental (IVM), impedindo que tabelas delta ainda usadas por outras visões materializadas fossem recuperadas prematuramente.

  • Corrigida uma falha causada pelo tamanho expirado do cache de arquivo undo durante a inicialização do nó de somente leitura.

  • Corrigido um problema de compatibilidade em que uma atualização regular de visão materializada COMPLETE falhava porque o AP não tinha capacidade de execução IMCI, e impediu que atualizações em cascata reutilizassem resultados de cache de snapshot obsoletos.

  • Corrigida a exibição inconsistente de resultados de campos do tipo bit em consultas agregadas.

  • Corrigidos problemas de concorrência entre o replay de log de DDL e tarefas em segundo plano em clusters secundários X-Engine.

  • Corrigido um problema em que consultas agregadas de tabelas largas usando uma varredura de índice de chave primária em tabelas colunares X-Engine (incluindo COUNT(DISTINCT)) não podiam ser interrompidas por muito tempo após o KILL QUERY.

  • Corrigidas falhas intermitentes de parsing de pacotes de resultados quando consultas paralelas colunares reutilizavam resultados em cache.

  • Corrigidas saídas anormais de nós causadas por gravações lentas de log em clusters distribuídos.

  • Corrigidos resultados vazios intermitentes de consultas de tabelas híbridas entre nós e melhorada a estabilidade das consultas.

  • Corrigidas possíveis falhas de cluster, interrupções de migração e anomalias de dados arquivados em cenários de arquivamento TTL.

  • Corrigido um problema em que consultas de deduplicação, união ou join envolvendo colunas constantes em consultas colunares IMCI podiam causar falhas anormais de cluster ou falhas de execução.

  • Corrigidas possíveis falhas de cluster ou exclusões perdidas quando instruções de exclusão de tabelas distribuídas contêm subconsultas.

  • Corrigida uma falha de CC causada quando o DELETE MASTER encontrava um lock global residual SLS_XB.

  • Corrigidas possíveis saídas anormais de consultas de join sob planos de execução específicos.

  • Corrigido o vazamento de funções internas de visões contendo WITH ROLLUP durante o SHOW CREATE VIEW, a atualização de metadados de INFORMATION_SCHEMA e de visões dependentes, que causava falhas na restauração de backup lógico ou no reparsing de visões.

  • Corrigidas anomalias causadas pela contagem anormal de capacidade de hash de redo durante o replay de nó de somente leitura (RO) e números de sequência de log lógico incompatíveis durante a inicialização não multi-master.

  • Corrigido o vazamento de LNNVL e resultados incorretos sob NOT, dupla negação e transformações de valor de verdade, mantendo as semânticas de pushdown e fallback do IMCI consistentes. NULL

  • Corrigidas saídas anormais causadas por gravações entre nós quando o service de comunicação do nó multi-master falhava ao iniciar.

  • Corrigida uma falha em que DISTINCT convertido para GROUP fazia com que expressões agregadas ORDER BY fossem publicadas incorretamente como chaves de grupo de tabela temporária, fazendo com que KEY_PART_INFO consumisse um Field vazio.

  • Corrigidas perdas de metadados anuláveis, corrupção de memória do buffer de linhas de hash join e falhas causadas por erros de incorporação no lado do worker em tabelas materializadas de anti-join de consultas paralelas.

  • Corrigida uma falha no banco de dados ao executar flush_outline enquanto algumas linhas na tabela outline tinham uma coluna Digest vazia.

  • Corrigido um problema em que o Direct Load paralelo de tabela colunar X-Engine não aplicava corretamente a restrição de acesso a arquivo secure_file_priv.

  • Corrigidas interrupções intermitentes de consultas concorrentes distribuídas sob alta carga.

  • Corrigido um problema em que o Direct Load de tabela colunar X-Engine não relatava um erro após a falha no envio do arquivo de dados intermediário e continuava importando.

  • Corrigidas possíveis falhas de cluster ou erros de segurança de memória quando tabelas particionadas híbridas X-Engine/InnoDB executavam CREATE TABLE LIKE seguido de EXCHANGE PARTITION.

  • Corrigido um problema em que os recursos de memória e arquivos temporários não eram liberados corretamente após a falha na inicialização do Direct Load de tabela colunar X-Engine.

  • Corrigidas falhas anormais durante a otimização de consultas complexas e melhorada a estabilidade das consultas.

  • Corrigido um problema no Release Direct Load do X-Engine em que o avanço da sequência era inconsistente com a ordem de publicação dos dados, fazendo com que gravações normais após reinicialização, replay de banco de dados secundário ou promoção reutilizassem potencialmente sequências de dados importados.

  • Corrigido um problema em que predicados de string vazia podiam retornar resultados de consulta incorretos após a fusão de dados em tabelas colunares X-Engine.

  • Corrigida uma possível falha ao consultar campos BLOB em nós de somente leitura (RO) acionada por end_range.

  • Corrigida uma inconsistência entre os resultados da função HEX do executor IMCI e do executor regular ao consultar colunas de data e hora.

  • Corrigida a sobrecarga adicional de CPU que podia ocorrer quando muitos pools de threads em segundo plano do IMCI são configurados.

  • Corrigido um possível problema de UAF de memória nos metadados subjacentes do InnoDB que podia acionar uma falha após a execução de DDL.

  • Corrigido um problema em que mysql.func contendo um valor dl vazio acionava uma asserção durante a inicialização e causava a saída do mysqld.

  • Corrigida uma possível falha do mysqld ao atualizar o cache de funções com uma string vazia em mysql.role_edges.

  • Corrigidas possíveis falhas de nó em tabelas colunares X-Engine com campos BLOB grandes.

  • Adicionada observabilidade para TTL e corrigidos comentários TTL inválidos. Você pode consultar tabelas do sistema para obter informações sobre todas as configurações com TTL ativado.

  • Corrigida uma possível falha do mysqld ao atualizar o cache de privilégios com uma string vazia em mysql.global_grants.

  • Corrigidas falhas em tabelas particionadas X-Engine durante o replay de Binlog no formato de linha ou fast lookup devido à adaptação incompleta do caminho de leitura.

8.0.2.2.38.1(2026.10.13)

Correções de bugs

Descrição

  • Corrigido um problema em que locks de backup vazavam quando nós de somente leitura reproduziam alterações de sinônimos. As recargas de cache agora são ignoradas quando o recurso de sinônimos está desativado.

  • Corrigido um problema em que a troca direta de partição com WITHOUT VALIDATION ignorava incorretamente as verificações de layout de coluna instantâneo.

  • Corrigido o problema em que os metadados DD de uma partição com um índice colunar (COLUMNAR) eram perdidos após a partição ser arquivada como uma partição fria ORC/OSS.

8.0.2.2.38(2026.09.21)

Novos recursos

Descrição

  • Adicionado suporte para Limitless (multi-master cluster) em tabelas particionadas ALTER TABLE auto_increment, permitindo que os usuários especifiquem o valor de auto_increment.

  • Adicionada capacidade de reconstrução em fases para IMCIvector indexes e otimizado o desempenho e a estabilidade de memória de consultas de múltiplos subíndices.

  • Adicionadas capacidades de criação, rollback e liberação de savepoints para transações distribuídas multi-master Multi-Master Cluster (Limitless).

  • Adicionada capacidade de prefetch de I/O de bytes brutos para varreduras de materialização atrasada CTable, reduzindo o impacto da latência de leitura do PFS e OSS no desempenho da consulta.

  • Adicionado suporte para montar tabelas Iceberg externas como tabelas estrangeiras, permitindo consultar diretamente dados externos do Iceberg sem importar os dados.

  • Adicionadas capacidades de exportação e reimportação lógica de Limitless distribuído transparente para mysqldump, garantindo a recuperação correta dos dados do objeto e do estado de distribuição, com limpeza aprimorada de locks e tarefas em cenários de falha.

  • Adicionada capacidade de inicialização de estatísticas durante o dimensionamento horizontal de tabelas particionadas multi-master Multi-Master Cluster (Limitless).

  • Adicionado agendamento automático de memória para o OSS LRU Cache no recurso CTable, introduzindo o módulo de memória LRU_OSS gerenciado pelo IMCI Memory Scheduler, com suporte para dimensionamento automático de capacidade, gatilhos de evicção e dimensionamento de especificação serverless.

  • Adicionada configuração de flushing de dirty pages auxiliar do Polar File System (PolarFS). O flushing de dirty pages auxiliar do PolarFS é ativado automaticamente quando um nó de leitura e gravação (RW) é iniciado, eliminando a necessidade de configuração manual.

  • Adicionada capacidade de otimização de dicionário local AdaptHashAggr IMCI para GROUP BY. Essa capacidade é controlada pela variável de sessão imci_enable_adapt_hash_aggr_local_dict e é desativada por padrão. Quando ativada, em cenários com um TableScan direto em que uma a quatro colunas de agrupamento de strings provêm do dicionário local do pacote atual, as sondagens repetidas da tabela hash são reduzidas, o que melhora o desempenho de agregação GROUP BY para strings de baixa cardinalidade, mantendo as semânticas de consulta inalteradas.

Melhorias de recursos

Descrição

  • Otimizado o pruning estatístico para condições de inteiros sem sinal em CTable, reduzindo leituras de dados incompatíveis e preservando os resultados originais da consulta e o comportamento de conversão de tipo.

  • O Orca (Redis-Compatible) otimizou a reutilização de MDL e tabelas de dicionário em nós de somente leitura (RO) para reduzir o consumo de recursos de CPU.

  • O Orca (Redis-Compatible) otimizou leituras fortemente consistentes para usar a aquisição de CSN no nível de lote, reduzindo o tempo de espera.

  • Otimizado o IMCIvector indexes em cenários de post-filter ou inline-filter, onde a baixa seletividade de predicados podia causar tempo excessivo de consulta devido a múltiplas rodadas de busca.

  • Otimizada a eficiência da otimização de consultas para consultas contendo IN-List com um grande número de elementos.

Correções de bugs

Descrição

  • Corrigido o problema em que as operações LIST COLUMNS falhavam em tabelas particionadas REORGANIZE PARTITION.

  • Corrigido o problema em que a troca de RowBuf podia travar devido à falta de metadados após a reinicialização de IMCI.

  • Corrigido o problema em que a saturação da fila de log do IMCIHybrid Plan podia formar uma espera circular com o lock TRX_SYS, causando interrupções e falhas no replay de réplicas.

  • Corrigida a normalização incompleta de digest para valores literais ORDER BY/GROUP BY, que causava problemas de correspondência de outline/CCL, preservando o comportamento compatível com versões anteriores de itens BY inteiros.

  • Corrigido o problema no qual o modo de multi-gravação GDN agora impõe exclusão mútua de parâmetros entre loose_innodb_csn, loose_innodb_csn_replica e loose_innodb_polar_scc.

  • Corrigido o problema em que o IMCI podia acessar um ponteiro nulo ao executar consultas contendo a função SHA2, causando a indisponibilidade do cluster.

  • Corrigido o problema em que a migração do ponto de acesso em cenários distribuídos transparentes Multi-Master Cluster (Limitless) falhava ao invalidar páginas do buffer pool de row-store do nó de somente leitura IMCI local, causando inconsistência de dados e falhas no cluster.

  • Corrigido o problema em que subconsultas escalares correlacionadas em cenários trans-dist multi-master não conseguiam gerar planos paralelos distribuídos, retornando ERROR 8871.

  • Corrigido o problema em que sessões ociosas armazenavam em cache ReadViews obsoletas em cenários Hybrid Plan, impedindo o avanço do Undo Purge.

  • Corrigido o problema em que branches excluídos pela extração de subcondição comum em cenários de prepared statements não limpavam suas unidades de subconsulta, causando otimização residual de subconsulta e possíveis falhas durante a fase de execução quando common_subcond_extraction estava ativado.

  • Corrigida a omissão de validação para a capacidade de índice descendente em tabelas particionadas X-Engine e tabelas particionadas híbridas.

  • Corrigido o problema em que o clone de plano do worker podia falhar devido à falta de modelos de subconsulta quando expressões internas de semijoin continham subconsultas em cenários ePQ distribuídos multi-master.

  • Corrigido o problema em que os metadados de comparação temporal eram perdidos quando predicados externos contendo expressões temporais LEAST()/GREATEST() eram enviados para tabelas derivadas com o Derived Condition Pushdown ativado. Esse problema podia causar falhas de asserção de depuração, falhas na versão de release ou semânticas incorretas de comparação de strings em cenários específicos de tabelas derivadas materializadas e aliases agregados. Após a correção, essas condições temporais LEAST()/GREATEST() não são mais enviadas incorretamente, garantindo a estabilidade da consulta e a correção semântica.

  • Corrigido um problema em que a consulta de colunas virtuais em tabelas podia causar uma falha em cenários MPP IMCIHybrid Plan.

  • Corrigido o problema em que a execução concorrente de DROP DATABASE e SHOW ENGINE INNODB STATUS lendo páginas de lock DD inválidas em cenários multi-master podia causar falhas de RW.

  • Corrigida a falha causada por uma anomalia intermitente de replay em nós de somente leitura (RO) X-Engine, onde as referências de metadados eram inconsistentes com o nó de leitura e gravação (RW).

  • Corrigido o problema em que desligar o banco de dados após instalar o componente de lock de backup podia causar falha devido a um ponteiro de sessão nulo.

  • Corrigido o problema em que um cabeçalho de arquivo de estatísticas de tabela IMCI corrompido (.tab_stat) acionava uma asserção durante a fase de otimização de consulta. A correção degrada graciosamente para estatísticas vazias em caso de falha na validação de leitura e garante gravações atômicas de arquivos de estatísticas.

  • Corrigido o problema em que as marcas d'água de atualização de visão materializada podiam ser zero, obsoletas ou desalinhadas quando o Hybrid Plan genérico estava ativado.

  • Corrigido o problema em que incremental materialized views eram corrompidos e a atualização era interrompida devido à perda da âncora IMCI durante o replay de reinicialização do nó first_precommit_lsn de transações de múltiplas linhas.

  • Corrigido o problema em que consultas de tabelas particionadas LIST DEFAULT, limites de iterador e operações de metadados de partição completa ignoravam a partição padrão.

  • Corrigida a inconsistência entre a capacidade LRU exibida e a real do IMCIvector indexes.

  • Corrigido o problema intermitente de reutilização de ID de arquivo em nós column-store IMCI que podia causar falhas no cluster.

8.0.2.2.37(2026.09.02)

Novos recursos

Descrição

  • Adicionada a capacidade de atualização de visão materializada incremental de ignorar alterações em tabelas especificadas, melhorando a eficiência da atualização.

  • Adicionado suporte para definir índices secundários em visões materializadas e para recuperar, importar e exportar atualizações de visões materializadas.

  • Adicionado suporte para arquivamento paralelo de partições: partições do mecanismo InnoDB podem ser arquivadas em paralelo para partições dos mecanismos X-Engine, ORC ou CSV, formando uma tabela particionada híbrida. O comando part2table também é suportado para arquivar partições InnoDB em paralelo para tabelas OSS. O arquivamento paralelo usa múltiplas threads simultaneamente, melhorando significativamente a velocidade para partições com grandes volumes de dados.

  • Adicionada capacidade de Branch/FORK no nível do banco de dados e da tabela. Você pode usar instruções SQL para criar branches graváveis a partir de tabelas ou bancos de dados existentes em segundos, sem copiar os dados do usuário. Os branches leem um snapshot consistente da tabela de origem no momento da criação e usam isolamento Copy-on-Write no nível da página, de modo que as gravações não afetam a tabela de origem.

  • Adicionada capacidade de consulta distribuída transparente SELECT... LOCK IN SHARE MODE em cluster Multi-master (Limitless), garantindo as semânticas de ciclo de vida da transação de lock de linha SHARE.

  • Adicionada otimização de transferência de resultados de consultas entre nós e melhorada a estabilidade da conexão em cenários excepcionais.

  • Tabelas particionadas multi-master na arquitetura Limitless suportam índices secundários globais.

  • Tabelas particionadas de armazenamento colunar X-Engine suportam importação bypass (direct load) com LOAD DATA; cada partição constrói independentemente dados colunares e commit unificado em duas fases, sem resíduos em caso de falha na importação. Anteriormente, tabelas particionadas só podiam usar o caminho de importação regular.

  • DML e DQL distribuídos em cluster multi-master suportam múltiplos workers em paralelo, com suporte em todos os nós de leitura/gravação (RW), melhorando significativamente a velocidade de execução. É necessário especificar max_parallel_degree na sessão para que tenha efeito.

  • Adicionadas pontuação BM25, consultas de frase, consultas combinadas e suporte a sinônimos para índices de texto completo IMCI.

  • Adicionado suporte a cache de binlog para nós de somente leitura, reduzindo a sobrecarga de IOPS de leituras concorrentes de binlog.

  • Adicionado suporte para PARALLEL DDL de Online Copy: tabelas InnoDB podem ser convertidas online para tabelas X-Engine usando a instrução ALTER TABLE... ENGINE=xengine, com acesso DML concorrente permitido durante a conversão, sem interrupção de service. ALTER TABLE... ENGINE=orc/csv também suporta COPY DDL paralelo.

  • Adicionado um parâmetro X-Engine que controla se a collation do conjunto de caracteres padrão do banco de dados é usada.

  • O PolarDB Orca suporta HyperLogLog, uma estrutura de dados de estimativa de cardinalidade probabilística no protocolo nativo do Redis.

  • Tabelas particionadas X-Engine agora suportam conversão no nível da partição do formato de row store para o formato colunar. Sintaxe: ALTER TABLE table_name CHANGE PARTITION partition_name ENGINE=xengine DATA_FORMAT=column;.

  • Adicionado suporte IBD OSS para tabelas particionadas, permitindo partições híbridas e expandindo o suporte a OSS.

  • Tabelas totalmente colunares X-Engine agora suportam codificação automática de dicionário e pruning estatístico com reconhecimento de collation.

  • O recurso de otimização de hot row (hotspot) agora suporta flush status para atualizar estatísticas, facilitando a observação de alterações incrementais durante os testes.

  • Adicionado o parâmetro innodb_polar_max_delay_time_in_second, que permite ao nó primário evictar proativamente o nó físico de somente leitura com base no limiar de latência de aplicação de redo.

  • O PolarDB Orca suporta o comando monitor do protocolo Redis, que retorna todos os comandos processados pelo Orca.

  • Adicionado um mecanismo de leitura assíncrona de redo multithread na versão 8.0.2 para aumentar a largura de banda de leitura de redo do Slave.

Melhorias de recursos

Descrição

  • Otimização das estratégias de alocação de memória para X-Engine, CTable e IMCI em diferentes modos de operação e cenários de failover de alta disponibilidade.

  • Otimização da atualização incremental de visualizações materializadas, ignorando instruções UPDATE na tabela base que não afetam os resultados da visualização, o que evita computações inválidas de JOIN e gravações na tabela de contêiner.

  • Otimização de consultas de paginação profunda no IMCI com a adição do modo de execução QuickSelect TopK. Isso substitui a ordenação completa e reduz a sobrecarga de ordenação em cenários com grandes offsets e múltiplas linhas.

  • Otimização do uso de memória do information_schema.INNODB_LOG_INFO, evitando o acúmulo no redo log em cenários que geram sobrecarga adicional.

  • Otimização do tempo de troca de arquivos de binlog e da eficiência de E/S do binlog, impedindo o bloqueio de commits de transações quando há muitos arquivos de binlog.

  • Otimização do pool de memória distribuído e adição de parâmetros e métricas de monitoramento relacionados.

Correções de bugs

Descrição

  • Correção de um problema em clusters Multi-master onde o remote_exec_cmd em prepared statements, durante execuções repetidas, poderia causar a falha do processo do servidor.

  • Correção de um problema em que as MATERIALIZED OPTIONS de visualizações materializadas com engine=xengine no X-Engine ficavam indisponíveis quando não validadas, causando falha na atualização em segundo plano.

  • Correção de um problema em que o get_status gravava diretamente no serverless.info durante operações de meta forward em clusters Serverless Multi-master, causando E/S de arquivo em nós que não são de leitura/gravação e podendo levar à falha do cluster.

  • Correção de um problema em que o diagnóstico de consistência do catálogo de índices secundários de visualizações materializadas fornecia recomendações destrutivas (missing→DROP) e em que a validação combinada de índices UNIQUE com particionamento implícito estava ausente.

  • Correção de um problema em que o caminho de prepared statements não suportava fallback de execução para ordenação adaptativa, fazendo com que consultas ORDER BY LIMIT selecionassem um índice de ordenação incorreto e se tornassem consultas lentas.

  • Correção de um problema em que a reorganização de partições Copy/Inplace em tabelas particionadas do X-Engine poderia acionar gravações de eventos de linha no binlog e causar a falha do cluster.

  • Correção de um problema em que o JSON_ARRAYAGG poderia propagar incorretamente um estado NULL válido durante a rematerialização de tabelas derivadas LATERAL, fazendo com que a TempTable reutilizasse ponteiros JSON BLOB obsoletos e falhasse.

  • Correção de um erro de alinhamento de tipo no Join de formato de linha do IMCI ao processar non-equi joins.

  • Correção de um problema em que o handler reutilizava um GlobalCtx obsoleto durante a importação paralela por bypass (direct load) de tabelas colunares do X-Engine, causando a falha do cluster quando o LOAD DATA era repetido.

  • Correção de um problema em que a primeira atualização de uma visualização materializada incremental encontrava uma exceção last_commit_lsn, causando inconsistência de dados nas atualizações incrementais subsequentes.

  • Correção de um problema em que o estado obsoleto do cache TABLE persistia após o index_merge em tabelas particionadas, fazendo com que consultas de índices secundários retornassem resultados vazios intermitentemente.

  • Correção de um problema em que as estatísticas de colunas não podiam ser persistidas ou carregadas corretamente quando os nomes de bancos de dados ou tabelas continham caracteres especiais, ou quando as tabelas continham tipos de colunas não suportados, como JSON.

  • Correção de um problema em tabelas distribuídas transparentes com LIMIT e UPDATE de partição única, em que a conversão de tipo JSON impedia a execução via encaminhamento de SQL.

  • Correção de um problema em que a visualização de estatísticas colunares do IMCI poderia causar a falha do cluster quando apenas o recurso de tabela colunar estava ativado, mas o mecanismo IMCI não.

  • Correção de um problema em que os marcadores de keypart JPP em cenários de lateral derived table poderiam ser sobrescritos por keyparts não-JPP subsequentes, fazendo com que a otimização de índices ordenados mudasse para índices sem keyparts válidos, podendo acionar asserções ou falhas no InnoDB.

  • Correção de um problema em que a execução repetida de DDL de partição em uma stored procedure poderia causar o encerramento anormal do cluster.

  • Correção de um problema em que tabelas particionadas do X-Engine ainda recebiam uma chave primária implícita (IPK), fazendo com que a importação por bypass (direct load) do LOAD DATA fosse rejeitada devido a índices secundários, resultando em inconsistência com o comportamento de tabelas não particionadas.

  • Correção de um problema em que um nó Local RO no cluster primário de uma implantação multi-master não conseguia se registrar ao alternar para leitura/gravação, pois o nó original de leitura/gravação não havia concluído o offlining assíncrono no CC.

  • Correção de um problema em que um nó de leitura/gravação mantendo um bloqueio global interno poderia causar falhas na replicação (replay) somente leitura.

  • Correção de um problema no log de auditoria de SQL dinâmico PREPARE/EXECUTE dentro de stored procedures, em que as linhas verificadas (scanned rows) eram exibidas como o valor acumulado de todo o processo de chamada, em vez das linhas realmente verificadas pela instrução.

  • Correção de uma exceção de ponteiro nulo causada por uma incompatibilidade entre colunas recém-adicionadas e metadados antigos quando consultas concorrentes realizavam column pruning após a adição instantânea de colunas no IMCI.

  • Correção de um problema de use-after-free causado pelo acesso concorrente ao PROCESSLIST_VERBOSE a partir do COM_CHANGE_USER e Security_context.

  • Correção de uma possível falha de instância caso uma tabela fosse excluída enquanto as estatísticas do IMCI estavam sendo coletadas.

  • Correção de um problema de gravação em tabelas de armazenamento colunar que não continham dados com valor NULL devido ao manuseio inadequado de marcadores, o que poderia causar incorreção nos dados colunares em cenários específicos.

  • Correção de um problema em que o LOAD DATA paralelo do X-Engine a partir de caminhos de arquivo com curingas no OSS não fazia push down de prefixos literais, fazendo com que diretórios grandes passassem por varredura paginada completa e as importações travassem na etapa de enumeração de arquivos. Também garante que os erros da lista de arquivos do OSS sejam retornados corretamente para a camada superior.

  • Correção de um vazamento de memória que poderia ocorrer quando um cluster multi-master era desligado com as estatísticas de espaço ocioso ativadas.

  • Correção de resultados incorretos que poderiam ocorrer em algumas consultas de tabelas derivadas após a ativação do column pruning.

  • Correção de um loop infinito na troca de rowbuf quando o desligamento do IMCI ocorria após a compactação de ordenação ter pré-alocado, mas não processado, valores de rowid.

  • Correção de um defeito de tempo (timing defect) entre a abertura atrasada da tabela temporária MEMORY para CTEs compartilhadas e a segunda otimização de intervalo para skip-sort.

  • Correção de um problema em que, após a ativação do MDL de partição, os caches relacionados ao TABLE CACHE ficavam anormais e causavam uma falha de acesso ao cluster.

  • Correção de um problema em que a mesclagem global de logs poderia travar durante operações DDL paralelas multithread (como OPTIMIZE) em clusters multi-master.

  • Correção de um problema em que o uso de placeholders de parâmetro (?) em ORDER BY/GROUP BY dentro de prepared statements poderia causar a falha do servidor. O digest agora é truncado corretamente em vez de acionar uma falha nesse cenário.

  • Correção de uma falha causada pelo pré-processamento repetido de visualizações de funções de janela (window functions).

  • Correção de um problema em que um nó somente leitura poderia ser encerrado anormalmente durante a extensão do tablespace e a replicação (replay) de logs.

  • Correção de um erro de sintaxe causado por conflito entre WITH CHECK OPTION e a sintaxe de consulta de tabela ARCHIVED ao criar visualizações. Agora há compatibilidade com o uso de ARCHIVED como nome de CTE.

  • Correção de falhas de processo que poderiam ocorrer quando CTEs com múltiplas referências eram executadas em paralelo.

  • Correção de um problema em que consultas de frases ngram do InnoDB FTS com LIMIT poderiam perder resultados correspondentes.

  • Correção de um problema em que consultas contendo tanto ROLLUP quanto window functions não podiam ser executadas pelo IMCI.

  • Correção de uma falha causada por funções de tabela (table functions) acessando uma tabela vazia enquanto prepared statements estavam sendo reanalisadas.

  • Correção de um erro de acesso a bitmap para predicados DATE/TIMESTAMPIS NULL/IS NOT NULL em tabelas colunares do IMCI durante a execução paralela.

  • Correção de erros de fuso horário no ORC pruning e no cache entre sessões para TIMESTAMP em tabelas colunares do IMCI em sessões não UTC.

  • Correção de um problema em que gravações redo de split incompletas no IMCI impediam o avanço do checkpoint_lsn.

  • Correção de um problema em que, quando o XID de uma transação XA continha bytes null, a fase de recuperação de falha (crash recovery) poderia identificar incorretamente os XIDs de transações diferentes como idênticos, causando falha na recuperação e impedindo o início do cluster.

  • Correção de um problema em que os bloqueios MDL não podiam ser adquiridos durante a fase DD SCAN, deixando os dados do IMCI irrecuperáveis após um erro.

  • Correção de um problema em que, ao inserir dados em um índice secundário único, a verificação de duplicatas bloqueava um intervalo muito grande para o primeiro registro não igual após o intervalo conflitante. O bloqueio agora é rebaixado de um Next-key lock para um gap lock para melhorar o desempenho de inserções concorrentes.

  • Correção de possíveis falhas de nó quando subconsultas na execução paralela de consultas acionavam a otimização dinâmica de intervalo.

  • Correção de um problema de rollback de savepoint quando a entrada do mapeamento de chave primária de visualização materializada incremental (IVM pkey map) não era recuperada, evitando a execução repetida de cadeias idênticas de UPDATE/DELETE de chave primária após uma falha no NCI find_key e o problema de dados obsoletos na visualização materializada.

  • Correção de um problema em que a situação concorrente entre com_change_user e consultas show processlist/is.processlist causava a falha do cluster.

  • Correção de um problema em que o CHECK TABLE de tabelas grandes COLUMN do X-Engine não conseguia ser encerrado prontamente quando uma varredura paralela era interrompida.

  • Correção de um problema em que a limpeza de cache com múltiplas versões de TABLE_SHARE durante operações de MDL de partição poderia causar a falha do cluster.

  • Correção de um problema em que estatísticas estendidas acionavam incorretamente o carregamento e a transmissão (broadcasting) de estatísticas de partição multi-master em cenários distribuídos de tabela única.

  • Correção de um problema em que consultas específicas de agrupamento implícito poderiam falhar após a transformação da consulta.

  • Correção de um problema em que o Hybrid Plan poderia falhar ao ler dados de certas read views em cenários extremos.

8.0.2.2.36.4(2026.08.16)&8.0.2.2.36.3(2026.08.05)

Correções de bugs

Descrição

  • Correção de um possível deadlock entre a thread de estatísticas em segundo plano do X-Engine e as operações DDL em primeiro plano.

  • Correção de um problema em que o IMCI lidava incorretamente com marcadores ao gravar dados sem valores NULL, o que poderia causar incorreção nos dados colunares em cenários específicos.

  • Correção de um problema em que, quando o XID de uma transação XA continha bytes null, a fase de crash recovery poderia identificar incorretamente os XIDs de transações diferentes como idênticos, causando falha na recuperação e impedindo o início do cluster.

8.0.2.2.36.1(2026.07.22)

Novos recursos

Descrição

  • Adição do recurso de atualização incremental para incremental materialized view/MIN/MAX/STDDEV de tabela única e consultas de agregação de múltiplas tabelas em VARIANCEs.

Correções de bugs

Descrição

  • Correção de um problema em que entradas fantasma de índices secundários poderiam permanecer após a exclusão de linhas por chave primária em tabelas de armazenamento colunar X-Engine.

  • Correção de um problema de exceção no mp_ddl após a ativação do innodb_stats_persistent.

  • Correção de um problema em que a thread de coleta de estatísticas em segundo plano não acionava a recuperação de memória em cenários específicos.

8.0.2.2.36(2026.07.15)

Novos recursos

Descrição

  • Adição do recurso de assinatura de Binlog do Materialized view, com suporte à sincronização e consumo de dados sob cursor para visualizações materializadas com maior volume de alterações.

  • A atualização do Incremental materialized view agora suporta Hybrid Plan, melhorando a eficiência de execução em cenários de inner join de múltiplas tabelas onde pequenas alterações incrementais acionam joins de tabelas base grandes.

  • O X-Engine agora suporta Geo-Distributed Network (GDN), permitindo gravações em uma região e leituras a partir de múltiplos nós próximos.

  • Adição de suporte à operação TRUNCATE PARTITION em tabelas particionadas do X-Engine. Em cenários de tabelas com partições híbridas, também foi adicionado suporte para a execução da operação TRUNCATE em partições do X-Engine.

  • Adição de suporte do Multi-Master Cluster (Limitless) para roteamento multi-master distribuído de tabela única, invalidação de cache, redistribuição e ePQ.

  • Cenários do Multi-master sharded tables: estatísticas estendidas de colunas agora são suportadas para uma estimativa de custo mais precisa, e a transmissão (broadcasting) de estatísticas é suportada para que as estatísticas de todas as partições sejam visíveis globalmente.

  • IMCI Adição de subcomputação QuickSelect, que utiliza um algoritmo de seleção rápida O(n) para suportar consultas de percentil com alta eficiência, evitando a sobrecarga de ordenação de volume total.

  • Armazenamento do IMCI com ativação padrão da codificação de dicionário de componentes parciais. Adição de suporte à reescrita e otimização de consultas executando strings com codificação de dicionário de componentes parciais.

  • Adição de suporte para DDL Inplace em tabelas hybrid partitions (InnoDB/X-Engine/ORC/CSV) para criação e exclusão em linha, RENAME de índice secundário, e operações CHANGE INDEX OPTION e ALTER INDEX COMMENT.

  • O AutoETL suporta atualização de origem de visualização/pipeline (Inplace-Update), autorização de sincronização de múltiplos clusters, parâmetros ETL personalizados e sincronização de metadados globais.

  • Adição do arquivamento de IBD para o OSS, permitindo o arquivamento de tabelas individuais.

  • O recurso de inferência de modelo integrado do PolarDB está incluído na taxa de especificação do cluster, sem custo adicional.

  • Adição do recurso de tabela de broadcast do Multi-master cluster. Por meio da palavra-chave BROADCAST, é possível criar uma tabela de broadcast que replica os dados da tabela para cada nó DN, eliminando a sobrecarga de rede de JOIN entre bancos de dados.

  • A estratégia de arquivamento automático do DLM adicionou suporte para o arquivamento automático de tabelas sub-partition RANGE COLUMNS + HASH, suportando mecanismos de destino de arquivamento que incluem armazenamento em linha do X-Engine, armazenamento colunar do X-Engine, CSV e ORC.

  • O Orca feature suporta a estrutura de dados Redis Stream e comandos relacionados.

  • O recurso TTL adicionou suporte para Binlog, utilizando sincronização de dados do banco de dados sob cursor para garantir a consistência dos dados.

  • Adição do Orca feature com suporte a comandos relacionados ao tipo de dados de Índices Geoespaciais do Redis.

  • O Local RO do Multi-Master Cluster (Limitless) agora suporta o recurso IMCI. A configuração dos parâmetros principais é a seguinte; os parâmetros restantes seguem as configurações de parâmetros para nós Local RO padrão e nós IMCI multi-master.

    • imci_share_storage_lsn (ON): Se os nós IMCI utilizam a dimensão LSN para manter a consistência de leitura MPP.

    • imci_share_storage_data (OFF): Se os nós IMCI compartilham dados colunares.

    • polar_enable_imci (ON): Se o recurso IMCI é utilizado.

    • use_imci_engine (ON): Se o mecanismo IMCI é utilizado.

    • imci_enable_checkpoint (ON): Se o IMCI Checkpoint é ativado.

    • polar_enable_imci_with_mm (ON): Especifica se o IMCI pode ser usado em um cluster multi-master.

    • mm_is_local_replica (ON): Se o nó é um nó Local RO em um cluster multi-master.

Melhorias de recursos

Descrição

  • Adição de recursos online para mais operações DDL, incluindo a conversão entre tabelas criptografadas.

  • Otimização do IMCIfull-text index em cenários de consulta com a função JSON_OVERLAP. A otimização aproveita suficientemente as informações do índice para uma estimativa correta e precisa do número base.

  • Ao controlar o uso total de disco de tabelas temporárias, usuários com privilégios SUPER são excluídos da restrição.

  • Otimização do table_map_event do Binlog para não registrar mais a coluna oculta (Hidden column) produzida pelo Functional Index, evitando problemas de incompatibilidade com o Canal.

  • Aprimoramento da execução assíncrona para melhorar o desempenho em cenários de gravação com alta concorrência e binlog ativado.

Correções de bugs

Descrição

  • Correção de um problema em que a função GROUP BY em colunas de string poderia retornar incorretamente ANY_VALUE ao executar NULL em tabelas com alto NDV.

  • Correção de uma falha em tabelas particionadas multi-master causada pela invocação de write_result antes de close_thread_tables durante operações DML e DDL concorrentes.

  • Correção de uma falha em que construções temporárias de condition pushdown join-equal eram persistidas incorretamente durante a execução repetida de prepared statements.

  • Correção de um problema em que a execução de consultas de detalhes contendo campos grandes com o IMCI poderia falhar devido à memória insuficiente.

  • Correção de um problema de falha de validação ao converter a sintaxe de partição WITHOUT VALIDATION em tabelas únicas de origem que possuíam INSTANT ADD/DROP/MODIFY COLUMN.

  • Correção de um problema em que o parallel query poderia retornar resultados incorretos em cenários de LIMIT/OFFSET.

  • Correção de um problema em que a função REGEXP com charset binário na avaliação de tabela derivada de window function combinada poderia causar falha.

  • Correção de uma falha causada por tabelas base de visualizações materializadas incrementais que não cobriam totalmente o IMCI.

  • Correção de uma falha rara ao adicionar partições a tabelas com GSI enquanto os bloqueios MDL de partição estão ativados.

  • Correção de uma falha causada por formatos de desserialização parallel query incompatíveis quando múltiplas versões de exec status (PQ) coexistiam.

  • Correção de um problema em que read views compartilhadas em cenários de Hybrid Plan poderiam usar sequências de leitura do IMCI expiradas, causando anomalias na visibilidade dos resultados.

  • Correção de um problema em que o DROP DATABASE liberava bloqueios em nós de réplica prematuramente, permitindo que o SQL do usuário acessasse arquivos excluídos e causasse falha.

  • Correção de um problema em que estatísticas estendidas acionavam incorretamente o carregamento e a transmissão de estatísticas de partição multi-master em cenários distribuídos de tabela única.

  • Correção do problema em que o ALTER TABLE redefinia os metadados DD ivm_delta_mv_ da tabela base. Atualmente, os metadados DD ivm_delta_mv_ são retidos apenas quando o DDL ADD ORDER KEY ou ADD INDEX é executado. Outras instruções DDL redefinem ou modificam os metadados.

  • Correção de uma falha causada por acesso concorrente a objetos antigos do page_hash durante o Resize em linha do InnoDB Buffer Pool.

  • Correção de um problema de resíduo após a exclusão de tabela ou IMCI pelo vector indexes após a tarefa de Dump.

  • Correção de um problema em que a tarefa de arquivamento do DLM no modo Release falhava quando o estado de Progresso não era atualizado corretamente como ARCHIVE_ERROR.

  • Correção de um problema em que consultas RANGE de tabelas grandes do X-Engine com desvio significativo de Index Dive poderiam selecionar um plano de execução incorreto.

  • Correção de um problema em que a comparação de timestamp de persistência de estatísticas do IMCI falhava em múltiplos nós colunares.

  • Correção de um problema que acionava falha ao eliminar JOIN na traversia de tabelas de colunas Item_cond com Item NULL existente.

  • Correção de um problema em que o acesso subsequente ao cluster falhava após a falha de uma operação DDL em uma tabela com caracteres especiais.

  • Correção de inconsistência linha-coluna em consultas colunares causada pela pré-busca multicoluna do IMCI RowBuf gerando caches de pacotes incompletos sob pressão de memória.

  • Correção de um problema em que visualizações UNION com colunas constantes em cenários de JOIN retornavam resultados incorretos do Derived Condition Pushdown.

  • Correção de possíveis erros quando o recurso Fast Import acessa campos BLOB durante a restauração de banco de dados/tabela.

  • Correção de um problema em que os índices de ordenação da TempTable poderiam ignorar incorretamente o filesort, causando uma ordenação anormal dos resultados.

  • Correção de um problema em que o dbms_oss.delete_table_file não invalidava o cache da lista global de tabelas do OSS após excluir um arquivo de partição ou tabela, fazendo com que o dbms_oss.list_table() ainda exibisse a partição excluída.

  • Correção de um problema em que consultas usando UNION ou UNION ALL com GROUP BY poderiam falhar quando as subconsultas retornavam strings constantes.

  • Correção de um possível deadlock entre múltiplas threads na B-Tree quando o parallel query estava ativado no nó primário.

  • Correção de um problema em que, durante um failover de alta disponibilidade de tabela colunar do X-Engine, a alternância de um nó somente leitura para um nó de leitura/gravação poderia causar inconsistência de dados.

  • Correção de um problema em que a invocação repetida de stored procedures poderia causar a falha de um processo devido à reutilização incorreta de memória relacionada a SQL Hints (como SET_VAR).

  • Correção de um possível travamento do nó primário durante gravações em tabelas colunares do X-Engine.

  • Correção de um problema em que, após a conversão rápida de uma tabela regular para uma tabela particionada (WITHOUT VALIDATION), apenas a primeira partição retinha o IMCI, enquanto as partições restantes o perdiam.

  • Correção de um problema em que Window Functions não podiam usar o IMCI para execução em certos cenários, e o pushdown de GROUP BY poderia impedir que as consultas fossem executadas no IMCI.

  • Correção de um problema em que a coleta de estatísticas ignorava partições com pruning ao executar partitioned table em ANALYZE TABLEs totalmente colunares.

  • Correção de uma falha causada por uma pequena probabilidade de conflitos de nomes de arquivos temporários ao criar índices de texto completo.

  • Correção de uma exceção rara de instância causada por problemas de tempo na liberação de MDL entre threads de trabalho em segundo plano e threads líderes em primeiro plano durante o arquivamento automático do DLM.

  • Correção de uma leitura fora dos limites (out-of-bounds read) no frame da window function.

  • Correção de um possível vazamento de memória no LRU_RB_BLOCK durante falha na inserção de cache do IMCI RowBuf.

  • Correção de um vazamento de memória que poderia ocorrer em cenários extremos quando o Parallel Parse estava ativado.

  • Correção de falha no Online DDL quando as tabelas contêm índices de colunas virtuais.

  • Correção de um problema em que um nó Local RO multi-master falhava ao ignorar o redo de um master diferente do seu quando o Parallel Parse estava ativado.

  • Correção de uma falha de asserção causada pela ativação incorreta de algumas otimizações de consulta durante a execução de prepared statements.

  • Correção de uma falha causada por gravações sujas (dirty writes) na compactação de metadados do IMCI RowBuf devido ao manuseio incorreto de caminhos de estouro de tamanho de página.

  • Correção de uma exceção de instância ao executar o arquivamento automático do DLM em tabelas particionadas com colunas virtuais.

  • Correção do problema em que um POINT submetido a ST_Buffer com uma distância extremamente pequena no sistema de coordenadas geográficas (SRID 4326) poderia causar uma falha.

8.0.2.2.35.1(2026.06.28)

Novos recursos

Descrição

  • Adição do recurso de inferência gratuita de modelos integrados, que permite que os modelos executem inferências diretamente no banco de dados sem qualquer consumo de token ou cobranças adicionais.

Correções de bugs

Descrição

  • Correção de um problema em que, para tabelas particionadas INTERVAL, especificar ROW_FORMAT=COMPRESSED sem definir explicitamente o KEY_BLOCK_SIZE causava a perda do atributo ROW_FORMAT.

8.0.2.2.35(2026.06.03)

Novos recursos

Descrição

  • Adição do recurso de visualização materializada Parallel refresh.

  • Adição do recurso Incremental materialized views, que evolui a base de visualizações materializadas de volume total, melhorando o desempenho de atualização.

  • O novo fluxo de trabalho de restauração de banco de dados e tabelas permite consultas rápidas de dados completos que são concluídas em minutos, independentemente da quantidade de dados sendo restaurados.

  • Adição de suporte para o recurso de limpeza assíncrona de dados expirados do Global Secondary Indexes (GSIs) residuais de DROP/TRUNCATE PARTITION.

  • Adição do GDN multiple writing edition, fornecendo o recurso de gravação global de múltiplos pontos com alias no nível da tabela.

  • Adição de suporte à expressão ask_polar para o recurso de plano de armazenamento colunar.

  • Adição de um módulo independente de controle de concorrência para consultas vector search, desacoplado do controle de concorrência de consultas IMCI.

  • Atualização do vsag para a versão oficial da branch 0.16. Adição de construção de estrutura paralela para o algoritmo HNSW e suporte para criação de índices baseados no algoritmo hgraph.

  • O vector search do IMCI agora suporta os tipos de índices vetoriais IVF e IVF PQ.

Melhorias de recursos

Descrição

  • Otimização do desempenho do Hash Join do IMCI, convertendo os resultados intermediários do Join para armazenamento em formato de linha, reduzindo a sobrecarga de desempenho da materialização de dados.

  • Otimização do mecanismo de armazenamento X-Engine com a remoção de chaves primárias implícitas (Implicit PKs) desnecessárias para simplificar a lógica de atualização de dados e as estruturas de dados em memória na camada de armazenamento.

  • Otimização da estratégia de invalidação de cache de tabela durante operações ADD/DROP PARTITION em tabelas particionadas X-Engine para reduzir o impacto nas consultas.

  • Otimização da lógica de computação concorrente para criação de índices vetoriais, permitindo o uso de mais threads para acelerar a criação de índices.

  • Correção do limitador de taxa adaptativo impreciso para bulk load de DDL e melhoria do algoritmo de limitação de taxa adaptativa.

Correções de bugs

Descrição

  • Correção de uma falha que podia ocorrer durante a atualização incremental de uma visão materializada em uma tabela com particionamento híbrido ao ler metadados de partição.

  • Corrigido um problema em que o ONLINE DDL falhava quando a tabela continha um índice de coluna virtual.

  • Corrigido um problema na edição community do MySQL em que a limpeza de binary logs na inicialização podia resultar em um Previous_gtid incorreto para o identificador global de transação (GTID).

  • Corrigido um problema em que o INSERT ON DUPLICATE KEY UPDATE podia atualizar a linha incorreta durante inserções simultâneas de várias sessões em uma tabela com uma coluna de incremento automático.

  • Corrigido um problema em que uma consulta IMCI usando Hybrid Index Search com LIMIT retornava para a execução baseada em linhas quando o valor de LIMIT OFFSET era muito grande.

  • Corrigidos vários problemas de incompatibilidade em nós multi-primary quando o Parallel Parse está ativado.

  • Corrigido um possível vazamento de memória em índices HNSW e DiskANN baseados em VSAG dentro do índice vetorial de um IMCI.

  • Corrigido um problema em que o plano de execução combinado misto (Hybrid Plan) do IMCI podia causar a recuperação da visão de leitura (Read View) durante uma falha do cluster.

  • Corrigido um vazamento de memória de aproximadamente 626 KB causado pela não liberação do buffer pool no caminho de aborto de inicialização quando um failover de HA do InnoDB falhava ao iniciar.

  • Corrigido um problema de acesso à memória fora dos limites causado por acesso simultâneo entre objetos de bloqueio de segmentos de rollback (Rsegs) e a thread de reprodução do Redo log durante failovers de HA do InnoDB, além de um vazamento de memória na ramificação de erro para registros grandes (big_rec) no caminho de inserção de índice clusterizado.

  • Corrigido um vazamento de memória nos módulos sql_sharing e sql_sharing_proc do SQL Plan Management (SPM), em que os buffers internos de objetos de string não eram liberados corretamente.

  • Corrigido um problema de use-after-free no mecanismo de armazenamento X-Engine que podia ocorrer se uma tarefa de recuperação de espaço em segundo plano fosse executada simultaneamente com o desligamento de uma instância de banco de dados.

  • Corrigida uma operação inválida de liberação de memória e um vazamento indireto de memória no InnoDB, causados pela liberação incorreta de um objeto de contador embutido pelo LatchCounter durante a destruição.

  • Corrigido um pequeno vazamento de memória que ocorria a cada requisição no módulo ask_polar porque a lista vinculada de cabeçalhos de requisição não era liberada corretamente após a conclusão de uma requisição HTTP.

  • Corrigido um problema de use-after-free em que o módulo de monitoramento de desempenho (performance_schema) podia acessar um ponteiro obsoleto para uma thread de sessão (THD) durante uma verificação simultânea, após a thread já ter liberado seus recursos.

  • Corrigidos vários vazamentos de memória no módulo de estatísticas estendidas (polar_extend_stats). Os problemas eram causados por dados de cache amostrados destruídos incorretamente, um buffer de tupla de valores desvinculado do gerenciamento de memória e falta de propriedade em um contêiner de clonagem de efeito de filtro.

  • Corrigido um problema de acesso à memória fora dos limites durante o desligamento da instância. O problema ocorria quando uma thread de sincronização de redo log acessava um recurso liberado porque um objeto de sincronização era destruído durante a limpeza do binlog antes que a thread tivesse saído completamente.

  • Corrigido um estouro de pilha no mecanismo de armazenamento X-Engine. O problema ocorria quando uma operação DDL em uma tabela particionada gerava um nome de tabela completo que excedia o comprimento máximo do sistema e era gravado em um buffer de tamanho fixo.

  • Corrigida uma falha de instância que ocorria durante uma atualização paralela de um full refresh for materialized view em cenários específicos de consulta semijoin.

  • Corrigido um problema de acesso à memória fora dos limites que ocorria quando um Prepared Statement era recompilado e um ponteiro de nome de tabela em uma query hint ainda apontava para uma área de memória liberada.

  • Corrigido o problema em que, após a emissão de um erro quando uma instrução LOAD DATA tentava importar um valor NOT NULL para uma coluna NULL, o estado de validação de campo da sessão atual não era redefinido corretamente. Como resultado, instruções INSERT válidas subsequentes na mesma sessão também relatavam incorretamente o erro Column cannot be null. Restabelecer a conexão pode contornar temporariamente esse problema.

  • Corrigido o problema em que um valor de data ou hora inválido era passado durante a execução de uma prepared statement (Prepared Statement). Uma gravação fora dos limites ocorria quando a mensagem de aviso era gerada, causando um estouro de buffer e uma falha no cluster.

  • Corrigido um problema em que consultas paralelas podiam causar uma falha no sistema quando o ORDER BY referenciava uma expressão de alias constante.

  • Corrigida uma falha causada pela cópia incompleta de uma estrutura de dados interna quando o otimizador de consultas extraía uma subconsulta (fazendo o merge com a consulta externa). Também foi corrigido um problema em que o ponteiro do cache de tabela era nulo ou inválido.

  • Corrigido um problema em que o IMCI se tornava inválido e inutilizável após uma instrução DDL que adicionava simultaneamente um IMCI e um índice secundário regular em uma tabela particionada.

  • Corrigido o problema de compatibilidade entre a sintaxe ALTER específica do PolarDB (como a conversão rápida de uma tabela única em uma tabela particionada) e os comentários do DMS, resolvendo o problema de transmissão do DTS de PolarDB para PolarDB.

  • Corrigido um problema de acesso a ponteiro solto (dangling pointer) causado pela não redefinição do PlanHintsStatement quando um Prepared Statement era recompilado.

  • Corrigido um problema de escape incorreto de string que podia ocorrer quando o PolarDB AutoETL criava uma visão de pesquisa contendo uma ETL_UDF.

  • Corrigido um problema de memória que podia ocorrer em um nó somente leitura (RO) ao liberar o cache, caso o recurso de estatísticas estendidas estivesse ativado.

  • Corrigido um problema em que as gravações de dados falhavam durante as atualizações de versão do cluster porque os tipos de campo mysql.ttl_job_history's scan_cost, purge_cost e purge_rows da tabela do sistema mysql.ttl_job_history eram incompatíveis.

  • Corrigido um problema em que o tempo de espera de bloqueio de linha da tabela para o mecanismo de armazenamento X-Engine não era incluído nas estatísticas de espera de bloqueio do log de consultas lentas.

  • Corrigido um problema em que o alocador de log (log_allocater) não era liberado a tempo em nós Standby HA executados como Replica, o que podia causar anomalias de memória.

  • Corrigido um problema no IMCI em que o limiar era calculado incorretamente quando instruções de lista IN de várias colunas (Row Expr) eram convertidas para semijoin.

  • Corrigido um problema em que o cache de consultas acionava esperas de leitura fortemente consistente do InnoDB prematuramente, causando tempos limite de atraso de replicação no nó somente leitura do IMCI.

  • Corrigida uma anomalia de dados causada por uma perda de Header Page Apply quando a Transparent Data Encryption (TDE) era usada em um nó somente leitura (RO) ou em um nó standby.

  • Corrigido um problema em que os plugins Thread Pool e Connection Control eram iniciados simultaneamente em novos nós devido a uma configuração incorreta de parâmetros. Uma verificação de conflito agora será executada automaticamente na inicialização.

  • Corrigidos um estouro de buffer e uma falha de instância que podiam ocorrer ao consultar uma tabela particionada usando um índice secundário em um campo inteiro, caso a primeira partição InnoDB da tabela fosse um Partition Partial Index.

  • Corrigida uma falha na edição community do MySQL causada por uma exceção ao atualizar um índice espacial que é um índice secundário.

  • Corrigido um problema de identificação de alias no Redis de versão inferior (<7.4.0) em que os resultados do comando DUMP do recurso Orca não eram reconhecidos.

  • Corrigido um problema no índice vetorial do IMCI em que, após a tarefa de dump, a exclusão da tabela ou a exclusão do índice falhava e não parava corretamente no final.

8.0.2.2.34.3(2026.06.30)

Novos recursos

Descrição

  • Adicionado o recurso de inferência gratuita de modelos integrados, com suporte a inferência direta no banco de dados para modelos, sem consumo de token e sem cobranças adicionais.

8.0.2.2.34.2(2026.05.07)

Correções de bugs

Descrição

  • Adicionado o parâmetro mm_enable_wait_binlog_flush, com suporte à conclusão do flush de disco do Binlog pendente no Multi-Master Cluster (Limitless) e em outros cenários, para resolver o problema de inconsistência de dados que o flush assíncrono de disco do Binlog podia causar.

  • Corrigido um problema no Multi-Master Cluster (Limitless) em que, ao usar o recurso de arquivamento de dados frios como CSV após a criação de tabelas, a execução de DROP TABLE causava uma falha no cluster.

8.0.2.2.34.1(2026.04.03)

Correções de bugs

Descrição

  • Corrigido um problema em que uma atualização de versão secundária para 8.0.2.2.34 travava durante o fluxo da tarefa de atualização devido a um problema no processo de atualização.

8.0.2.2.34(2026.03.26)

Novos recursos

Descrição

  • Adicionadas várias estratégias de amostragem de estatísticas de índice que podem ser ativadas por meio de parâmetros.

  • Adicionado suporte do Global Secondary Indexes (GSIs) para a operação REBUILD PARTITION em tabelas particionadas.

  • O Hybrid Plan do IMCI (incluindo Hybrid Index Search e Hybrid Index Join) agora conta com suporte para o modo de execução MPP.

  • O vector search do IMCI agora suporta o tipo de índice DiskANN.

  • Adicionado o recurso de Copy DDL paralelo, que melhora significativamente a eficiência de execução das operações COPY DDL.

  • Adicionado o recurso searching testing graph (Search View) do PolarSearch, implementando a capacidade de Auto-ETL do PolarDB for MySQL para o PolarSearch, o que torna a sincronização de dados mais prática e rápida.

  • Adicionada a opção REORGANIZE PARTITION para WITHOUT VALIDATION, com suporte à modificação rápida de limites de partição RANGE. Isso é adequado para cenários em que os dados da partição estão se aproximando da capacidade máxima, permitindo alterações rápidas de limite para rotear novos dados para novas partições.

    Nota

    Limites: uma única instrução DDL suporta apenas a modificação de um valor de limite de borda de partição e não suporta a modificação adicional do nome da partição.

  • Adicionado o parâmetro xengine_default_storage_table_format, com suporte para especificar o formato de tabela padrão ao criar tabelas do X-Engine.

  • Adicionado suporte para a atualização do full refresh for materialized view quando a consulta fosse descarregada para execução em um nó específico.

  • O formato de tabela compactada tradicional do InnoDB apresenta risco de corrupção de dados quando o BLOCK_SIZE é menor que 4. Adicionada a variável de sistema polar_compressed_table_policy para controlar a política de compactação de tabelas recém-criadas.

    • NATIVE: execução de amostra de origem.

    • ADJUST_KEY_BLOCK_SIZE (padrão): Permite a criação da tabela e corrige automaticamente o KEY_BLOCK_SIZE se for menor que 4.

    • AUTO_CONVERT_ROW_FORMAT: Converte silenciosamente a tabela para o formato de linha padrão.

    • REJECTED: Rejeita a operação e retorna um erro.

    Nota
    • Esta política se aplica apenas a tabelas compactadas recém-criadas e não afeta as tabelas compactadas existentes.

    • Para clusters que executam uma versão de kernel anterior à 8.0.2.2.34, recomendamos que você não crie mais tabelas compactadas InnoDB com um BLOCK_SIZE menor que 4.

  • Adicionado suporte para tabelas particionadas híbridas com chaves primárias, permitindo que as partições do X-Engine sejam arquivadas como partições OSS.

  • Adicionado um modo DEMAND para o SQL Plan Management (SPM) que pode ser usado para injetar, capturar e gerenciar planos de execução.

  • Adicionado suporte para ativação e desativação dinâmica do pool de memória do PolarDB three-layer decoupling (CXL). Atualmente, suporta apenas a troca dinâmica de toda a memória CXL, não suportando temporariamente a alteração dinâmica do tamanho do pool de memória CXL.

  • Adicionado suporte para conexão direta com a plataforma de service de modelos grandes da cloud Alibaba Cloud Model Studio por meio da expressão ask_polar.

  • Adicionado suporte para o uso do adaptive selection of ordered indexes várias vezes dentro de uma mesma instrução. Também foi corrigido um problema de falha com a ordenação adaptativa em cenários específicos.

  • Adicionada a expressão LNNVL, adequada para configurar a execução de armazenamento em colunas de linhas.

Otimizações de desempenho

Descrição

  • Otimizado o arquivamento de partições para o OSS partitioned table (cold data archiving). Durante o processo, a poda automática de instruções UPDATE/DELETE na partição em arquivamento e na partição de dados frios do OSS evita, em grande medida, o bloqueio de instruções DML.

  • Otimizada a velocidade de recuperação da estrutura de dados de metadados do X-Engine na fase de reinicialização, reduzindo o consumo durante a reinicialização.

Correções de bugs

Descrição

  • Corrigido o problema em que, com o Query Cache ativado, o full refresh for materialized view não refletia prontamente os resultados mais recentes após a atualização.

  • Corrigido o problema em que, em certos cenários, a ordem declarada do ORDER BY não surtia efeito, e otimizado o processamento de predicados do Loose Index Scan (LIS) em consultas de agrupamento.

  • Corrigido o problema em que, após a ativação do thread_pool_enabled, as estatísticas de memória no performance_schema ficavam incorretas.

  • Corrigido um problema em que a perda ocasional de transações para o Seamless Switch sob o recurso de persistência de transações do IMCI levava à inconsistência de dados entre os armazenamentos de linhas e colunas.

  • Corrigido o problema em que as unidades dos valores timestamp min/max no formato ORC estavam desalinhadas e a parte em nanossegundos era ignorada.

  • Corrigido um problema em que o valor padrão se tornava inválido devido a uma exceção de memória quando uma operação do instant add column que adicionava uma coluna com um valor padrão de string longa era convertida em uma operação assíncrona.

  • Corrigido o problema em que a implementação imperfeita da clonagem de objetos Item_ref no recurso JPPD causava falhas subsequentes.

  • Corrigido um problema no IMCI em que uma condição de filtro era incorretamente propagada (pushed down) para além de uma cláusula LIMIT, o que podia levar a resultados incorretos.

  • Corrigido o problema em que a ferramenta mysqlredolog falhava ao analisar registros específicos de MLOG_METADATA_CHANGE.

  • Corrigido um problema em que o JSON_TABLE podia falhar probabilisticamente no caminho de execução do trigger.

  • Corrigido um erro que podia impedir a atualização das estatísticas ao coletar estatísticas para um IMCI com o aprimoramento de amostragem de colunas de baixa cardinalidade (imci_stats_scan_max_ndv) ativado.

  • Corrigido o problema em que o concurrency control (CCL) não surtia efeito para a sintaxe DELETE xx FROM... (sem afetar a sintaxe DELETE FROM...).

  • Corrigido um estado de memória incorreto em um nó somente leitura (RO) quando nenhuma extensão era inicializada.

  • Corrigido um problema em que o filtro de consulta não surtia efeito quando o cold data archiving era usado com um Bloom Filter do tipo date especificado.

  • Corrigido o problema em que o Orca (Redis-Compatible) podia falhar ao usar o pcur para limpar chaves expiradas; o pcur foi substituído por uma abordagem de armazenamento de chaves.

  • Corrigido um problema em que um estouro de inteiro INT no sistema de arquivos NCI do IMCI após operações de longa duração causava acesso à memória fora dos limites e fazia com que a reprodução de transações do IMCI travasse.

8.0.2.2.33.1(2026.02.02)

Correções de bugs

Descrição

  • Corrigido o problema em que o Online Copy DDL não surtia efeito em determinados cenários e adicionadas restrições para cenários como o Multi-Master Cluster (Limitless).

  • Corrigido um problema em que a sincronização inconsistente da sequência de limpeza interna entre o nó de leitura e gravação (RW) e o nó somente leitura (RO) ao usar o X-Engine columnar tables podia causar falhas intermitentes nos nós somente leitura.

  • Corrigido um problema de consulta lenta que ocorria quando um IMCI criava estatísticas vazias para um OSS partitioned table (cold data archiving) porque calculava a contagem real de linhas.

8.0.2.2.33(2026.01.28)

Novos recursos

Descrição

  • Adicionado um tipo de dados BSON nativo. Esse tipo suporta operações de projeção, atualização, consulta e agregação.

  • Adicionada a capacidade de chamar um modelo de linguagem grande (LLM) diretamente usando instruções SQL padrão.

  • Adicionada a capacidade de inserção paralela no processo de atualização do full refresh for materialized view. Por meio do processamento paralelo, a velocidade de atualização dos dados da visão materializada é significativamente melhorada.

  • Adicionado o recurso Search View and ETL stored procedures. Esse recurso pode executar automaticamente a extração, transformação e carga de dados, melhorando a eficiência da sincronização e agregação de dados.

  • Adicionadas janelas de tempo de execução configuráveis para o TTL na camada SQL. Agora é possível especificar horários de início e fim para as tarefas de TTL, a fim de limpar automaticamente os dados expirados dentro de um período predefinido.

  • Adicionado o X-Engine com suporte ao formato de armazenamento do column storing, oferecendo suporte a armazenamento local de baixo custo e análise de alto desempenho.

  • Adicionado suporte para a execução de operações DDL no modo COPY em tabelas particionadas híbridas que contêm partições OSS.

  • Adicionado suporte do X-Engine para conjunto de caracteres e collation de colunas de índice, incluindo utf8_unicode_ci e utf8mb4_unicode_ci.

  • Adicionado o recurso de fluxo minuto a minuto de nós para atualização de volume total do full refresh for materialized view. Suporta o envio de tarefas de atualização minuto a minuto com base no custo para execução em nós específicos, a fim de evitar o impacto no intervalo de recursos.

  • Adicionado o recurso IMCI com suporte para tabelas de partições híbridas. Atualmente, tabelas de partições híbridas combinadas em grupos InnoDB+X-Engine, InnoDB+ORC e InnoDB+CSV podem gerenciar o IMCI por meio da instrução ALTER TABLE COMMENT, aproveitando assim o IMCI para acelerar consultas analíticas em tabelas particionadas.

  • Adicionado suporte para o tipo de dados DATETIME no recurso Overview. Além do TIMESTAMP, agora você pode usar colunas do tipo DATETIME para definir políticas automáticas de expiração de dados, o que atende a uma gama mais ampla de cenários de negócios.

  • Adicionado suporte para scripts LUA sob a compatibilidade do Orca (Redis-Compatible). Comandos como EVAL, EVALRO e SCRIPTS agora são suportados.

  • Adicionado o recurso de compilação incremental do vector indexes. Esse recurso permite que o índice seja atualizado quase em tempo real à medida que os dados são gravados, melhorando muito a eficiência da importação e atualização de grandes volumes de dados vetoriais.

  • Adicionado o recurso Eliminate redundant GROUP BY/ORDER BY, que realiza simplificação e eliminação para cláusulas GROUP BY e ORDER BY, reduzindo a computação de restos redundantes e melhorando a eficiência de execução de consultas SQL específicas.

Otimizações de desempenho

Descrição

  • Otimizada a eficiência da replicação física ao ativar a análise paralela de Redo log em nós somente leitura, reduzindo o atraso entre o primário e a réplica.

  • Otimizado o tempo de reinicialização do IMCI. O módulo NCI (Non-Clustered Index) foi modificado para suportar o mecanismo de Checkpoint, eliminando as etapas de LOADING NCI e reconstrução completa do NCI sempre que possível.

  • Otimizado o mecanismo de gerenciamento de dados de metadados do X-Engine. Por meio da liberação periódica do manifest log e do manifest checkpoint de versões antigas, evita-se que a retenção contínua e crescente de arquivos de dados de metadados ocupe espaço ocioso na cota de armazenamento externo.

  • Otimizado o desempenho do IMCI particionado para o vector retrieval. Essa otimização reutiliza as distâncias calculadas durante a fase de pesquisa de índice vetorial no merge de múltiplos caminhos para evitar cálculos redundantes. Também foi corrigido um problema em que a propagação de condição (condition pushdown) para um IMCI podia retornar resultados incorretos em cenários de ORDER BY LIMIT.

  • Otimizado o ponteiro do IMCI para condições de consulta que contêm listas IN (IN-List) com tipos de string excessivamente longos, melhorando o desempenho da consulta.

  • Otimizado o processo de pesquisa do plano de consulta para acelerar a busca pela ordem de junção (join order) de múltiplas tabelas, o que reduz o tempo geral de otimização para consultas SQL complexas.

  • Otimizada a eficiência de execução da agregação de agrupamento (HashGroupby) com a introdução de operações de sondagem de tabela hash vetorizadas, o que melhora o desempenho da agregação de agrupamento enquanto reduz levemente o consumo de memória durante a computação.

  • Removido o limite para o número de partições de uma tabela.

  • Otimizada a estratégia de execução de consultas do IMCI ao ativar a execução de agregação de agrupamento adaptativa por padrão. Esse recurso seleciona automaticamente o algoritmo de agregação mais eficiente com base na distribuição dos dados e nas características da consulta, melhorando o desempenho de consultas analíticas que contêm a cláusula GROUP BY.

  • Otimizada a eficiência da subexecução na computação do IMCI em Hash Join. Desta vez, a otimização abrange todas as consultas que usam Hash Join, trazendo melhorias de desempenho gerais, com um aprimoramento significativo especialmente para cenários de Semi Join.

  • Otimizado o desempenho do pool de memória distribuído com a adição de parâmetros e itens de monitoramento relevantes.

Correções de bugs

Descrição

  • Corrigida uma falha que podia ocorrer em cenários específicos quando uma condição de filtro contendo um campo de gatilho era propagada (pushed down) para uma tabela derivada.

  • Corrigido um problema em que a otimização de propagação de condição (condition pushdown) era ineficaz devido à presença de uma função de atribuição de variável na consulta.

  • Corrigido um problema no Global Secondary Indexes (GSIs) em que a otimização de propagação (pushdown) sob um LIMIT OFFSET específico em determinados cenários podia causar uma falha no cluster.

  • Corrigido um problema de estabilidade que podia ser desencadeado pelo manuseio inadequado de metadados internos durante o processo de atualização de determinadas tabelas particionadas.

  • Corrigido um problema em que a execução de operações DML em uma tabela particionada híbrida que contém partições OSS podia bloquear leituras e gravações simultâneas.

  • Corrigido um problema no IMCI em que o operador HashJoin de alto desempenho podia causar a perda de linhas do conjunto de resultados ao processar um RIGHT JOIN com dados descarregados (spilled) para o disco.

  • Corrigido um problema raro em que a replicação podia travar em um IMCI em cenários com operações DDL frequentes, levando à latência de dados no nó.

  • Corrigido um problema em que as estatísticas não podiam ser coletadas conforme o esperado para colunas de string com conjuntos de caracteres amplos (como utf8), mesmo que o comprimento definido fosse curto.

  • Corrigido o problema em que, no Multi-Master Cluster (Limitless), a execução de operações DDL relacionadas ao Global Secondary Indexes (GSIs) podia causar a falha do cluster devido a conflitos com threads em segundo plano.

  • Corrigido um problema no modo Orca (Redis-Compatible) em que os metadados da tabela de dados podiam não ser atualizados em tempo hábil.

  • Corrigido um possível erro de análise de SQL que podia ocorrer ao usar o dbms_outln.add_optimizer_outline_sharding para criar um Statement Outline para tabelas fragmentadas (sharded).

  • Corrigido um problema em que as PCUs de um nó serverless de baixa especificação e sem carga com o IMCI sofriam dimensionamento para cima e para baixo repetidamente.

  • Corrigido um possível problema de falta de memória (OOM) no recurso serverless para o IMCI que podia ocorrer quando os recursos eram rapidamente dimensionados para cima e depois reduzidos, porque a cota de cache não era recuperada em tempo hábil.

  • Corrigido um erro de custo de estimativa no Elastic Parallel Query para uma grande quantidade de tabelas de volume frequente, o que causava uma falha no cluster durante o avanço.

  • Corrigida uma falha que podia ocorrer ao definir um intervalo de partição para uma tabela particionada por intervalo (Interval) caso um tipo de tempo fosse especificado.

  • Corrigido um problema no IMCI em que não era possível executar condições de consulta em instruções SQL contendo volume de alteração do sistema.

  • Corrigido um problema em que a coleta de estatísticas podia falhar em tabelas com atualizações e exclusões frequentes, além de uma leve melhoria na eficiência da amostragem.

  • Corrigido um problema em que o uso de memória podia aumentar continuamente se uma operação DDL fosse executada durante a aplicação de log incremental.

  • Corrigido um problema em que uma tabela não podia ser aberta para um plano Index Merge quando a consulta não precisava acessar as partições OSS de uma tabela particionada híbrida.

  • Corrigido um problema de estabilidade que podia causar uma falha quando o buffer pool era muito menor do que o conjunto de resultados intermediários exigido por uma consulta.

  • Corrigido um problema em que os nós somente leitura podiam pular alguns registros ao acessar Btrees após a ativação do parâmetro de filtro de localização de limite do nó somente leitura.

2025

8.0.2.2.32.1(2025.12.25)

Correções de bugs

Descrição

Corrigido um problema no qual o comando restore do Orca (Redis-Compatible) omitia informações de TTL (time to live) ao restaurar campos de hash expirados.

8.0.2.2.32(2025.12.22)

Novos recursos

Descrição

  • Adicionado suporte para Join condition pushdown em tabelas derivadas (derived table) que contêm a cláusula UNION.

  • Adicionada a expansão query rewrite baseada em custo para OR, que converte inteligentemente expressões OR ou in em UNION ALL para melhorar a utilização de índices e o desempenho em cenários de consulta específicos.

  • Adicionado suporte para vector indexes em operações DDL online, permitindo não alterar o estado do IMCI em casos de criação, exclusão, modificação e recriação de índices vetoriais já existentes.

  • Adicionado suporte ao algoritmo SM4 no Configure transparent data encryption (TDE), fornecendo criptografia de nível mais alto e proteção mais densa para os dados.

  • Adicionado suporte global para nós de armazenamento em coluna de apenas leitura no Multi-master sharded tables.

  • Adicionado suporte para vector search adaptive should execution Optimized, com seleção dinâmica do método de execução (prefilter/postfilter/inline filter).

  • Adicionado o recurso snapshot update, que introduz um mecanismo de atualização compatível com o PostgreSQL e otimiza a eficiência de execução de operações UPDATE em cenários específicos. Esse recurso é controlado pelo parâmetro innodb_polar_use_snapshot_update e pode ser ativado no nível da sessão e no nível global.

  • Adicionado suporte no IMCI para full-text index, melhorando efetivamente o desempenho de pesquisa fuzzy local e análise de texto.

  • Adicionado suporte no automatic archiving cold data (DLM) para arquivamento de tabelas particionadas com IMCI em tabelas externas do OSS, implementando compatibilidade com DLM e IMCI.

  • Adicionadas métricas de monitoramento para o Orca (Redis-Compatible) para melhorar sua observabilidade, incluindo conexões ativas, novas conexões, uso de memória e o número de tarefas pendentes.

Otimizações de desempenho

Descrição

  • Otimizada a eficiência do Page Apply na replicação física. Isso reduz a sobrecarga de I/O quando nós de apenas leitura acessam dados frios, minimizando variações esporádicas de latência e aumentando a estabilidade do cluster.

  • Otimizada a lógica de dedução de predicados (deduce_predicates) no otimizador de consultas para identificar condições estáticas em chaves de partição de forma mais eficaz, permitindo um pruning de partição mais agressivo e melhorando a eficiência das consultas.

Correções de bugs

Descrição

  • Corrigido um problema em que a execução de RENAME TABLE e outras operações DDL em tabelas que contêm views após um failover de alta disponibilidade podia causar o erro Duplicate entry.

  • Corrigido um problema em que o recurso de recuperação de tabelas do banco de dados não conseguia recuperar corretamente uma tabela que continha colunas excluídas usando o método instant drop column.

  • Corrigido um problema em um cluster multi-primary em que a exclusão de um nó de leitura e gravação era interrompida após o switchover de um access point.

  • Corrigido um problema no X-Engine em que a execução de operações de adição ou exclusão de partições em tabelas particionadas exigia a adição de um bloqueio MDL no nível da tabela.

  • Corrigido um problema no Orca (Redis-Compatible) em que a exclusão de uma chave (key) após o estabelecimento de uma gravação podia causar imprecisão nas estatísticas de dbsize.

  • Corrigido um problema em que a desativação dinâmica do parâmetro de thread pool loose_thread_pool_enabled podia fazer com que as conexões travassem após a conclusão da execução de DDL.

  • Corrigido um problema no IMCI em que o uso do recurso ETL não suportava JSON TABLE, e otimizada a exibição de informações de erro quando a memória de consulta do IMCI é insuficiente.

  • Corrigido um problema em que uma instrução SELECT contendo tanto IN-List quanto funções de agregação com DISTINCT podia impedir a execução da consulta no IMCI.

  • Corrigido um problema no IMCI que podia causar resultados imprecisos de multiplicação ao processar dados DECIMAL com mais de 16 dígitos após a vírgula decimal.

  • Corrigido um problema no recurso Serverless do IMCI em que o scale-out proativo era acionado continuamente devido a um status anormal do índice.

  • Corrigido um problema em que um nó standby podia travar durante a fase de recuperação em cenários de Point-in-Time Recovery (PITR) e recuperação de banco de dados e tabelas.

  • Corrigido um problema que podia fazer com que as conexões existentes de Binlog dump travassem e afetassem a limpeza do Binlog após a promoção de um nó de apenas leitura para o nó primário.

  • Corrigido um problema em um nó de leitura/gravação (RW) ao executar o comando SHOW POLAR STANDBYS, em que a consulta da latência em segundos (delay_second) do nó standby não era precisa.

  • Corrigido um problema em que o recurso de column pruning do otimizador de consultas podia causar a falha do processo ao remover incorretamente uma subconsulta referenciada por várias colunas de projeção.

  • Corrigido um problema em que estatísticas imprecisas para colunas inteiras não BIGINT impediam o otimizador de consultas de gerar um plano de execução ideal.

  • Corrigido um problema em que a consulta de dados JSON de um comprimento específico podia retornar o erro "innodb_blob_slave_read_consistent" em um nó de apenas leitura quando o parâmetro The JSON binary value contains invalid data está ativado.

  • Corrigido um problema que podia impedir a execução de consultas contendo uma Expressão de Tabela Comum (CTE) recursiva em um IMCI.

  • Corrigido um problema em que um nó de apenas leitura recém-registrado podia relatar uma falha de modificação de SDI ao executar operações DDL após ser promovido a nó primário.

8.0.2.2.31.2(2025.11.19)

Novos recursos

Descrição

Adicionado interruptor dinâmico, com suporte para ativação dinâmica do recurso de ajuste da configuração de posição padrão do cursor em nós de apenas leitura (RO).

Correções de bugs

Descrição

Corrigido um problema em que o HA (failover de alta disponibilidade) durante uma expansão não inicializada sob alta pressão de gravação concorrente podia causar a falha do cluster.

8.0.2.2.31.1(2025.10.15)

Correções de bugs

Descrição

Corrigido um problema em que o IMCI do Hybrid Plan acceleration for wide table queries retornava inesperadamente para a execução em row store devido à otimização de consulta (convertendo funções AVG em SUM/COUNT).

8.0.2.2.31(2025.09.24)

Novos recursos

Descrição

  • Adicionada a capacidade de configurar se o atributo BIGINT é exibido para campos inteiros (MEDIUMINT, INT, SMALLINT, TINYINT, ZEROFILL, etc.) quando o atributo display width não está definido.

  • Adicionados recursos de gerenciamento de concorrência e consulta de status para criação de índices vetoriais em segundo plano no IMCI, permitindo o controle eficaz do consumo de recursos e o rastreamento em tempo real do progresso da tarefa ao criar índices vetoriais em grande escala.

  • Adicionado o recurso de extensão de memória CXL, que permite ao cluster aumentar dinamicamente a capacidade do buffer pool por meio do pool de memória CXL (Compute Express Link), melhorando o desempenho do processamento de dados em grande escala e o throughput do sistema.

  • O IMCI agora fornece dois novos tipos de índices vetoriais baseados na biblioteca FAISS: HNSW e HNSWPQ, que suportam recuperação de vizinhos mais próximos aproximados (ANN) de vetores de alta dimensão com maior desempenho e menor uso de memória.

  • Adicionado o modo inline filter na pesquisa vetorial do IMCI, implementando a integração de filtragem de volume padrão e pesquisa vetorial em uma única sub-rotina de computação combinada.

  • Adicionado suporte para sinônimos compatíveis com Oracle (SYNONYM). Agora você pode criar sinônimos para tabelas ou views e operar diretamente neles.

  • Estendido o recurso de subparticionamento para suportar os tipos de partição RANGE COLUMNS, LIST COLUMNS e LIST COLUMNS+DEFAULT, com suporte para campos de chave de subpartição como DATE, DATETIME e CHAR. Até o momento, o partitioned table suporta qualquer combinação de todos os tipos de partição primária e secundária e fornece otimização de pruning de partição para consultas relacionadas.

  • Adicionado suporte por meio do IMCI para acelerar a atualização de materialized views de volume total, fornecendo agregação de resultados pré-computados para consultas complexas, o que melhora significativamente a velocidade de resposta de consultas de agregação de alta frequência ou combinadas.

  • Adicionada a expressão embedding para converter texto de entrada em vetores em tempo real. Também suporta a conversão automática de conteúdo de texto em vetores durante gravações de dados por meio de colunas virtuais materializadas.

  • Adicionado suporte a alias (alias name) na sintaxe INSERT... VALUES/SET... ON DUPLICATE KEY UPDATE, permitindo o uso de referências de alias na cláusula UPDATE para utilizar dados parciais do INSERT, tornando a lógica do SQL mais clara e limpa.

  • Estendido o recurso automatic cold data archiving para suportar o arquivamento de partições de dados frios em tabelas particionadas para o mecanismo de armazenamento X-Engine. Após o arquivamento, a tabela se torna uma tabela particionada híbrida de InnoDB e X-Engine, suportando consultas unificadas entre partições em diferentes mecanismos de armazenamento.

  • Adicionado suporte para o recurso de encaminhamento com controle forte de nível de isolamento de sessão para nós não IMCI em intervalos não RU (Read Uncommitted). Ao ativar o parâmetro imci_ignore_unsupported_isolation_level, algumas solicitações de sessão são encaminhadas para execução em nós de armazenamento em coluna, aproveitando a capacidade de aceleração desse armazenamento.

  • Adicionada a expressão json_arrayagg, que agrega várias linhas de resultados em um único array JSON em consultas IMCI, melhorando a capacidade de processar dados formatados em JSON.

  • Integrado o Resource Control com o recurso Orca (compatível com Redis). Isso permite gerenciar a utilização geral de recursos de CPU do sistema Orca usando um parâmetro, cujo padrão é 100%.

  • Adicionado suporte ao recurso Orca (compatível com o protocolo Redis) para o comando PUBSUB, incluindo PUBLISH, SUBSCRIBE, UNSUBSCRIBE, PSUBSCRIBE, PUNSUBSCRIBE, PUBSUB CHANNELS, PUBSUB NUMPAT e PUBSUB NUMSUB, estendendo a capacidade de publicação e assinatura de mensagens.

  • O recurso SQL Trace agora suporta a amostragem e gravação de instruções SQL reais, armazenando-as em shared SQL, o que permite que os administradores de banco de dados solucionem problemas e otimizem com precisão consultas lentas excessivamente longas ou de alta frequência.

  • Adicionado o parâmetro rds_max_tmp_disk_space, usado para controlar o volume total de espaço em disco local utilizado por tabelas temporárias geradas por consultas grandes, evitando que o disco fique cheio.

  • Adicionado suporte ao dbms_oss.delete_table_file para limpar arquivos correspondentes no OSS após a exclusão da estrutura de tabelas particionadas.

  • Adicionada a sintaxe DDL da categoria COPY no recurso Time to live (TTL). Atualmente, há suporte apenas para DDL da categoria INPLACE.

Otimizações de desempenho

Descrição

  • Otimizado o modelo de estimativa de custo do Row and column routing guide, permitindo que ele calcule a sobrecarga de execução com base em linhas de string, sem depender do custo após a otimização paralela, gerando assim planos de execução mais otimizados em cenários específicos.

  • Adicionado um recurso para medir o tempo consumido pelas operações internas dos operadores de execução de row-store e column-store. Esses dados suportam o ajuste de coeficientes e a otimização automática do modelo de custo row-column.

  • Adicionado o recurso de gravação de instruções SQL originais para o Statement Outline. Este recurso suporta a regeneração do Outline com base no SQL original no ambiente atual, melhorando a flexibilidade do gerenciamento e fixação de planos de execução.

  • Reestruturada a estrutura de processamento de comandos do Orca (Redis-Compatible) e otimizados os caminhos de bloqueio, melhorando o desempenho geral de leitura e gravação em aproximadamente 10%.

  • Otimizado o desempenho de consultas em tabelas particionadas. Corrigido um problema em que novas condições de constante de chave de partição geradas durante a fase de otimização de consulta (como MEP) não acionavam o pruning de partição secundária, e ativado o pruning de partição para tabelas internas em nested outer joins.

  • Otimizada a lógica de processamento para consultas union com um grande número de query block, resolvendo um problema em que a função find_cloned_select_lex consumia tempo excessivo e carregava totalmente um único núcleo de CPU.

  • Otimizado o processo de carregamento de metadados quando um nó de column store reinicia em cenários de dados em grande escala. Isso evita problemas de falta de memória (OOM) causados por uma lista de metadados excessivamente longa.

  • Unificada a convenção de nomenclatura de arquivos locais para o IMCI, de modo que os nomes dos arquivos não variam mais de acordo com a função do nó, simplificando o gerenciamento de arquivos durante o failover de alta disponibilidade.

  • Otimizada a lógica do thread pool elástico em segundo plano de um nó de column store de apenas leitura ao obter o status da tarefa, reduzindo seu consumo de recursos de CPU.

Correções de bugs

Descrição

  • Corrigido um problema em que uma consulta paralela podia causar a falha do cluster em cenários específicos de pushdown de condição.

  • Corrigido um problema em que podia ocorrer inconsistência de dados em um nó de apenas leitura em alguns cenários ao ler grandes campos JSON ou campos JSON frequentemente atualizados parcialmente.

  • Corrigido um problema no IMCI em que a expansão de capacidade não era acionada automaticamente quando o NCI (Non-Clustered Index) falhava ao inserir no lru cache.

  • Corrigido o crescimento anormal do espaço de armazenamento causado pela não limpeza oportuna de arquivos de dados de índices vetoriais.

  • Corrigido um erro de memória causado pela inicialização anormal do membro Item_sum_sum::resolve_type na função dec_buffs durante a fase de execução de row store de consultas de funções de agregação.

  • Corrigidos problemas no IMCI em que consultas de recuperação vetorial podiam retornar incorretamente para a execução em row-store e em que o otimizador de consultas fazia escolhas ruins baseadas em custo para consultas de filtro escalar.

  • Corrigido um problema ao listar arquivos do OSS usando o comando dbms_oss.list_table_file.

  • Corrigido um problema de falta de memória (OOM) em nós de leitura/gravação (RW) ao realizar uma operação IMCI em uma tabela com um ONLINE DDL. Isso era causado pelo comportamento padrão de gravação em lote.

  • Corrigido um problema em que operações DDL podiam causar a falha do cluster quando o nome de uma tabela particionada híbrida ORC com IMCI continha caracteres especiais.

  • Corrigido um problema em que um nó de apenas leitura podia não encontrar alguns registros durante ajustes na estrutura de índice B-tree sob alta pressão de gravação.

  • Corrigido o problema em que uma tabela sem chave primária, mas contendo uma UNIQUE KEY, podia apresentar exceções no cluster quando um IMCI era adicionado à tabela.

  • Corrigido um problema de validação de permissão ao arquivar dados de tabelas particionadas para tabelas externas do OSS com o dbms_dlm.archive_partition2table. Agora, as permissões exigidas foram reduzidas, exigindo apenas as permissões INSERT, CREATE, DROP e ALTER para realizar a operação.

  • Corrigido um problema no Orca (Redis-Compatible) em que o valor da opção MAXLEN no comando LPOS excedia o comprimento do corpo local da tabela de colunas, causando a falha do cluster.

  • Corrigido um vazamento de memória que podia ocorrer ao ler dados de uma tabela de armazenamento frio no formato ORC.

  • Corrigida uma falha na execução de consultas parciais que retornava OOM Error devido ao cálculo impreciso do volume de memória utilizado.

  • Corrigido um problema em que o desempenho da consulta podia degradar no Multi-Master Cluster (Limitless) sob alta pressão.

  • Corrigido um problema em que a propagação de condição constante falhava durante a otimização de consulta devido a comprimentos de conjunto de caracteres inconsistentes.

  • Corrigido um problema no nó de agregação do Multi-Master Cluster (Limitless) em que, após a execução da instrução CREATE... IF NOT EXISTS, o gtid_executed ficava vazio.

  • Corrigido um problema no Multi-Master Cluster (Limitless) em que o failover de alta disponibilidade entre os nós primário e standby podia causar a falha do cluster.

  • Corrigido um problema em que uma consulta IMCI podia retornar resultados incorretos se contivesse tanto as funções de agregação DISTINCT quanto AVG.

  • Corrigido um problema em que o cluster falhava na reutilização porque o result_field do Item_func_conv_charset não era limpo após a conclusão da instrução SQL.

  • Corrigido um problema no Multi-Master Cluster (Limitless) em que, após o failover a quente de um nó local de apenas leitura (RO) para um nó de leitura e gravação (RW), a execução de operações DML em tabelas IMCI podia acionar a falha do nó RW.

  • Corrigido um problema causado pelo acesso a um ponteiro solto (dangling pointer) quando um índice era liberado durante uma operação IMCI em um INSTANT DDL.

  • Corrigido um problema em que consultas paralelas em cenários de aninhamento de múltiplas camadas de derived table podiam acionar a falha do cluster.

  • Corrigido um problema em que as informações de CREATE PARTITION TABLE eram perdidas durante uma operação Data Cleanup (TTL) porque as informações principais do Data Dictionary (DD) não eram atualizadas.

  • Corrigido um problema no Adaptive execution plan switching (adaptive ordering) em que a otimização na instrução LIMIT OFFSET não conseguia adaptar corretamente a ordenação.

  • Corrigido um erro de ordenação que podia ocorrer ao usar ORDER BY DISTANCE para ordenação de similaridade vetorial com valores de distância próximos de 0.

  • Corrigido um problema no Elastic Parallel Query em que a execução MPP entre nós podia causar resultados incorretos ou a falha do cluster quando havia subconsultas shared aninhadas em vários níveis.

  • Corrigido um problema em que a otimização de column pruning podia causar a falha do cluster quando uma consulta continha uma Expressão de Tabela Comum (CTE) recursiva.

  • Corrigido um problema em que o Query Cache podia acessar memória inválida sob acesso simultâneo multi-thread.

  • Corrigido um problema no Orca (Redis-Compatible) em que a definição de um tempo de expiração para campos de hash (Hash) contendo campos duplicados podia causar a falha do cluster.

  • Corrigido um problema no Multi-Master Cluster (Limitless) em que, após um failover de alta disponibilidade, o cluster não conseguia iniciar ou os dados não conseguiam manter a sincronização.

  • Corrigido um problema em que dados duplicados podiam ser recuperados ao acessar um índice espacial em um nó de apenas leitura.

  • Corrigido um problema em que os resultados de execução da função json_valid do IMCI podiam ser inconsistentes entre o row store e o column store quando o primeiro parâmetro era do tipo varchar.

  • Corrigido um problema em que dados duplicados apareciam no conjunto de resultados após uma subconsulta EXISTS ser convertida em um SEMI JOIN (com a estratégia duplicate weedout) quando a consulta paralela estava ativada.

  • Corrigido um problema na arquitetura de armazenamento compartilhado do IMCI em que o índice de coluna de uma tabela de armazenamento frio em um nó de column store de apenas leitura podia estar ausente.

  • Corrigido um problema em que um cluster podia falhar ocasionalmente após a agregação adaptativa ser ativada em consultas de versões mais antigas.

  • Removidas verificações desnecessárias de status de linha compactada no código para evitar o acionamento de erros inesperados em casos especiais.

  • Corrigido um problema em que um read-only column store node podia apresentar latência de replicação em cenários com operações DDL frequentes.

8.0.2.2.30.2(2025.08.20)

Correções de bugs

Descrição

  • Corrigido um problema no recurso IMCI em que um nó podia sofrer deltastore quando o swap executava uma tarefa pax, devido ao estouro do comprimento da página uint32 causando crash ou encontrando um ponteiro nulo.

  • Corrigido um problema em que a ordem imprópria de inicialização de variáveis globais fazia com que as operações de arquivo Follower de uma-gravação-e-múltiplas-leituras do IMCI fossem bloqueadas inesperadamente.

  • Corrigido um bug raro que podia fazer com que o processo de purga em segundo plano corrompesse um índice secundário durante o rollback de uma transação.

8.0.2.2.30.1(2025.07.03)

Otimizações de desempenho

Descrição

  • Otimizado o uso de memória e o espaço de armazenamento do IMCI no vector indexes.

  • Otimizada a eficiência de execução de funções de janela do IMCI, combinando funções de janela idênticas definidas com o mesmo PARTITION BY.

Correções de bugs

Descrição

  • Corrigida uma falha potencial durante a reescrita de consulta baseada em custo para instruções SQL que contêm tanto uma inline view quanto uma subconsulta escalar.

  • Corrigido um problema em que o Index Join acionava erros intermitentes no modo Hybrid Plan quando o IMCI executava consultas em tabelas particionadas.

  • Corrigido um problema que impedia que algumas instruções no modo prepare statement fossem roteadas corretamente para nós de column store.

  • Corrigido um problema no módulo Delta do IMCI em que o processo de colunização de ordenação falhava ao julgar o rollback de linhas legadas ausentes, causando acesso a ponteiro nulo e acionando a falha do cluster.

  • Corrigido um problema em que algumas consultas não podiam ser enviadas (pushed down) para o IMCI para execução quando o parâmetro imci_implicit_orderby_rollup estava ativado.

  • Corrigido um problema que impedia que consultas com IN-LISTs excessivamente longas usassem o IMCI.

8.0.2.2.30(2025.07.01)

Novos recursos

Descrição

  • Adicionado o recurso column encryption, que funciona com o TDE feature para criptografar colunas especificadas. Uma função de descriptografia pode ser usada para obter os dados originais ao acessar os dados.

  • Adicionado um recurso que desconstrói expressões de consulta com condições de múltiplos valores (IN-LIST) ou disjunções lógicas (OR) em uma operação UNION ALL de múltiplas subconsultas independentes para gerar planos de acesso a índices de forma mais eficiente.

  • Adicionado suporte para Index Hint em instruções Delete, ou seja, a especificação de uso de índices específicos por meio das sintaxes USE INDEX e IGNORE INDEX. Esse recurso pode ser ativado através do parâmetro delete_enable_index_hint.

  • Adicionado suporte para execução paralela de tabelas derivadas laterais (Lateral Derived Table). No parallel query scenarios, há suporte para pushdown para workers para execução.

  • O IMCI adicionou suporte para subconsultas que contêm Roll UP em colunas de projeção que contêm funções de agregação combinadas.

  • O IMCI adicionou o recurso vector indexes, com suporte para recuperação de similaridade baseada no algoritmo ANN.

Otimizações de desempenho

Descrição

  • Aprimoramos a operação assíncrona e o controle de fluxo para a limpeza de arquivos obsoletos após a exclusão de um nó IMCI somente leitura.

  • Otimizamos a restrição de arquivamento de armazenamento frio do ALTER TABLE, que exigia a retenção de uma partição InnoDB, passando a oferecer suporte ao arquivamento de todas as partições. Agora há suporte para REORGANIZE PARTITION para restaurar partições OSS de tabelas particionadas arquivadas de volta para partições InnoDB.

  • Otimizamos o processo de construção da tabela Hash na estrutura HASH JOIN do IMCI e a implementação específica da tabela HASH, melhorando significativamente o desempenho do HASH JOIN do IMCI.

Correções de bugs

Descrição

  • Corrigimos uma falha que ocorria em uma consulta paralela se uma tabela constante fosse uma tabela externa em um LEFT JOIN com várias tabelas internas.

  • Corrigimos um problema em que o comando SCAN do Orca feature podia falhar ao retornar um resultado, permanecendo em estado de busca.

  • Corrigimos um problema em que o Sharding Outline não oferecia suporte correto a aliases de tabela, ORDER BY e LIMIT BY.

  • Corrigimos uma falha causada pelo fato de a tabela base e a tabela dependente não serem enviadas para o mesmo shard para execução quando um valor padrão referencia uma tabela.

  • Corrigimos um problema em que a adição de um índice a uma tabela com um tipo SET exigia um bloqueio de tabela.

  • Corrigimos uma falha de cluster acionada ao atualizar um valor NULL para uma string vazia em uma tabela que usa o formato de linha REDUNDANT e contém uma coluna de adição instantânea.

  • Corrigimos um problema no IMCI em que a computação da expressão DISTANCE DOT retornava um valor incorreto para o grau de similaridade mútua.

  • Corrigimos um erro que ocorria quando uma tabela arquivada em armazenamento frio no formato ORC continha tipos BIT, ENUM ou SET.

  • Corrigimos um problema de desvio nas estatísticas do adaptive should execution para os planos INDEX MERGE e index condition pushdown (ICP).

  • Corrigimos um problema em que a leitura de dados JSON em um nó somente leitura (RO) podia retornar um erro INVALID JSON em alguns cenários.

  • Corrigimos uma falha causada pela fusão de uma cláusula ORDER BY na consulta externa em uma visualização materializada.

  • Corrigimos um problema em que a desativação do pushdown de função causava resultados incorretos para o Elastic Parallel Query.

  • Corrigimos dois problemas no Data Lifecycle Management (DLM): uma exceção de arquivamento que deixava tabelas temporárias residuais, para a qual agora adicionamos o registro de erros; e uma falha de ASSERT causada por um conflito de bloqueio X durante a segunda atualização de bloqueio no processo de arquivamento de bloqueio de metadados de partição (MDL) do DLM.

  • Corrigimos um problema no partitioned table em que o cache de table_name na tabela INFORMATION_SCHEMA do IMCI não era atualizado após um DDL RENAME.

  • Corrigimos um problema na implementação do prepare execute em que a intercalação de tipos de string era afetada incorretamente pela configuração character_set_client.

  • Corrigimos um erro de asserção acionado por uma tarefa de atualização com base em informações antigas do IMCI após o commit de uma instrução INSTANT DDL.

  • Corrigimos uma falha que ocorria em cenários de alta simultaneidade quando o Elastic Parallel Query e o performance_schema estavam habilitados.

  • Corrigimos um problema em que o MySQL Community Edition não incluía a palavra-chave LIMIT nos cálculos de custo de desempenho de consulta.

  • Corrigimos um problema intermitente de imprecisão de tempo ao usar imci_analyze_query para criar perfil de consultas do IMCI.

  • Corrigimos um problema em que funções definidas pelo usuário não suportadas eram roteadas adaptativamente para o IMCI, o que causava erros de consulta.

  • Corrigimos uma falha na thread em segundo plano que coleta estatísticas do IMCI para o otimizador híbrido. Esse bug tinha maior probabilidade de ser acionado quando uma coluna virtual estava presente.

  • Corrigimos um problema que podia ocorrer ao acessar um partitioned table após sua restauração usando o recurso de restauração de banco de dados e tabelas, caso a tabela incluísse um INSTANT ADD COLUMN e tivesse 10 ou mais partições.

  • Corrigimos um erro de falta de memória que podia ocorrer no IMCI quando uma operação GROUP BY era executada em strings de comprimento variável com uma grande quantidade de dados.

  • Corrigimos um problema de arquivo inexistente ao executar show binlog events em um nó somente leitura.

  • Corrigimos um problema no IMCI em que as consultas podiam falhar intermitentemente ao usar o Hybrid Plan após a habilitação do global strong consistency (performance mode).

  • Corrigimos o problema de vazamento de memória que ocorria quando o pool de threads interno do IMCI passava por uma redução elástica de escala, evitando vazamentos de memória quando o cluster Serverless ajusta as PCUs.

  • Corrigimos um problema no IMCI em que a execução da operação DROP INDEX durante o período de carregamento do NCI (Non-Clustered Index) podia causar o bloqueio do processo de carregamento.

  • Corrigimos um problema em que ocorria uma falha antes da gravação do log de DDL para uma troca de partição. Esse problema fazia com que o processo de recuperação de falhas do cluster ignorasse o log de DDL, resultando em uma anomalia no cluster.

  • Corrigimos um problema em que, em cenários de consulta paralela do partitioned table, o grau de paralelismo de um plano paralelo envolvendo PartitionWise Repartition excedia o max_parallel_degree.

8.0.2.2.29.2(2025.06.06)

Correções de bugs

Descrição

  • Corrigimos uma falha nos Hybrid Plans do IMCI que ocorria ao usar um index join com um post filter e um anti semi join.

  • Corrigimos uma falha do sistema durante operações de DDL online. Essa falha era causada por inconsistência de dados ao atualizar ou excluir dados com uma máscara dinâmica.

  • Corrigimos uma falha durante o Time to live (TTL) causada por um deadlock que acionava a reversão de uma transação.

  • Corrigimos um problema na thread do Time to live (TTL) durante o processo de desativação, em que a não liberação da transação (trx) para o objeto podia causar uma falha.

  • Corrigimos um erro de falta de memória (OOM) que ocorria durante a compactação de classificação do IMCI.

8.0.2.2.29.1(2025.05.14)

Correções de bugs

Descrição

Corrigimos o problema de vazamento de memória que ocorria no pool de threads interno do IMCI durante a redução elástica de escala, evitando efetivamente vazamentos de memória em clusters Serverless quando a PCU (PolarDB Capacity Unit) é ajustada dinamicamente.

8.0.2.2.29(2025.05.08)

Novos recursos

Descrição

  • O recurso Serverless adiciona a recuperação de memória não utilizada para o parse buf (bloco de memória do log de parse) em nós somente leitura (ROs), reduzindo o uso de memória.

  • As funções de janela agora oferecem suporte à cláusula frame, incluindo o frame Rows e o frame Range padrão.

  • Adicionamos suporte ao método de DDL online para modificar o valor da coluna de incremento automático do X-Engine.

  • Adicionamos estatísticas do pruner. Agora você pode consultar a visualização INFORMATION_SCHEMA.IMCI_SQL_PROFILING para verificar o status de poda de blocos de dados para o operador TableScan.

  • Agora você pode usar hints para influenciar o plano de execução de instruções dentro de uma definição de visualização.

  • Adicionamos suporte na visualização INFORMATION_SCHEMA.POLAR_INDEX_STATISTICS para consultar a tabela do sistema relacionada e obter os nomes de cada índice de tabela nas estatísticas.

  • Adicionamos a opção FORCE STORAGE OSS e suporte para o deleting cold data durante operações, sincronizando a exclusão de dados no OSS.

  • Introduzimos o mecanismo Range-prefix Skip Scan para expandir a aplicabilidade do Skip Scan e melhorar o desempenho de consultas complexas.

  • Adicionamos o IMCI para estender o recurso Hybrid Plan, fazendo com que seu suporte não exiba o formato de definição de tabela de chave primária.

  • Adicionamos o parâmetro adaptive_digest_length_multiplier, que ajusta dinamicamente o tamanho de memória pré-alocada para resumos (digests) com base no comprimento do texto SQL.

  • Adicionamos o parâmetro oss_orc_read_buffer_size, que oferece suporte à configuração dinâmica do tamanho do cache de leitura do ORCReader.

  • Adicionamos o parâmetro Innodb_ttl_finished_job_expired_days, utilizado para controlar a limpeza de dados expirados na tabela ttl_job_history.

  • O Index Join do IMCI no Hybrid Plan adicionou suporte para os modos Semi Join e Anti Semi Join.

Otimizações de desempenho

Descrição

  • Otimizamos o desempenho de consultas do IMCI para cenários de IN-List.

  • Otimizamos um problema de variação no desempenho do banco de dados ao usar o recurso max_execution_time sob alta simultaneidade.

  • Otimizamos o Orca (Redis-Compatible) para oferecer suporte à definição de tempos de expiração TTL para tipos de dados HASH no nível do campo.

  • Otimizamos a configuração de volume de alterações relacionadas à consistência global de alto desempenho, ajustando o alias do nível do sistema para o alias do nível de conexão, e adicionamos suporte para o database generation na configuração de habilitação.

  • Otimizamos o mecanismo de implementação do Hash Groupby do IMCI. Agora o sistema seleciona adaptativamente a estratégia e o algoritmo de particionamento com base nas características de distribuição de dados para melhorar o desempenho da consulta.

Correções de bugs

Descrição

  • Corrigimos um problema em que o comando ALTER TABLE podia falhar e causar a reinicialização do banco de dados.

  • Corrigimos um problema no recurso de snapshot em nós de column store que podia causar o congelamento do monitoramento devido a longas esperas de bloqueio.

  • Corrigimos um deadlock causado por threads simultâneas durante o arquivamento de dados de partição em um partitioned table.

  • Corrigimos um problema em que uma consulta paralela com uma condição IS NULL podia retornar resultados incorretos.

  • Corrigimos um problema no recurso adaptive selection of ordered indexes em cenários de consulta de tipo específico que podiam causar uma falha no cluster.

  • Corrigimos um problema de acúmulo intermitente de blocos de dados na memória do ImciFollower na estrutura de arquitetura compartilhada de múltiplas instâncias do IMCI.

  • Corrigimos um problema em que uma instrução SQL que mantinha um MDL (bloqueio de metadados) no nível da tabela, mas não no nível da partição, podia causar uma falha de acesso SQL ao executar a instrução DROP PARTITION para excluir a partição.

  • Corrigimos um problema no X-Engine em que o caminho Index_merge não conseguia obter corretamente os metadados do Instant_ddl durante o processamento, causando uma exceção na consulta de dados.

  • Corrigimos um problema no IMCI em que a leitura de dados do tipo timestamp no Mixoutput materializado combinado misto não realizava a conversão de fuso horário.

  • Corrigimos um problema em que um nó de column store ocasionalmente acessava dados em cache pré-DDL após uma operação de DDL.

  • Corrigimos um problema de acesso à memória fora dos limites que ocorria ao executar operações do Instant modify column em tabelas com uma grande quantidade de campos.

  • Corrigimos um problema em que a modificação dinâmica do parâmetro thread_pool_size ao habilitar a execução assíncrona podia causar uma falha no banco de dados.

  • Corrigimos um problema ocasional de leitura/gravação fora dos limites no ROW LOG ao executar uma operação de DDL ONLINE em uma tabela com uma coluna virtual.

  • Corrigimos problemas de conversão de tipo de string para vetor, permitindo o uso de múltiplos caracteres de espaço em branco.

  • Corrigimos um problema no cluster Serverless do IMCI em que não era possível reduzir a capacidade quando a especificação do nó primário era relativamente grande.

  • Corrigimos um problema em que o IMCI não conseguia controlar a classificação de resultados de consulta com ROLLUP por meio da chave imci_implicit_orderby_rollup.

  • Corrigimos um problema que podia causar a falha do banco de dados se uma consulta SQL incluísse uma cláusula GROUP BY + WITH ROLLUP, a coluna GROUP BY referenciasse uma coluna em uma tabela derivada e o otimizador achatasse essa tabela derivada.

  • Corrigimos um problema que impedia a inicialização de um novo nó de leitura/gravação ao ser adicionado a um cluster multi-master com um nó global somente leitura.

  • Corrigimos uma possível falha em um nó secundário em um cluster multi-master ao alternar o endpoint do banco de dados ou do objeto.

  • Corrigimos um problema em que não era possível modificar dinamicamente o parâmetro innodb_log_buffer_size após desabilitar dinamicamente o parâmetro innodb_polar_log_rdma_transfer.

  • Corrigimos um problema em que subconsultas correlacionadas contendo LIMIT 1 não podiam ser executadas no IMCI.

  • Corrigimos um possível problema de corrupção em um índice secundário criado em uma coluna virtual.

8.0.2.2.28(2025.03.12)

Novos recursos

Descrição

  • Adicionamos um recurso de coleta automática para estatísticas de colunas, mantendo-as sempre atualizadas.

  • Adicionamos um parâmetro de limite de custo para controlar dinamicamente a distribuição adaptativa de solicitações entre row stores e column stores. Esse parâmetro é distinto do limite geral de distribuição de custo.

  • Adicionamos suporte para expressões RANGE do partitioned table, introduzindo a função cast_for_range(). Essa função converte dados do tipo double para o tipo int, habilitando o suporte para campos de chave de partição do tipo double.

  • PolarDB for MySQL adicionou capacidade de execução assíncrona, oferecendo suporte ao processamento assíncrono de bloqueios e outras pendências, além do flush assíncrono de log em disco e outras pendências lógicas.

  • O Orca fornece métricas abrangentes de monitoramento de conexão, incluindo total de conexões, conexões ativas atuais e solicitações atuais.

  • Adicionamos suporte à invocação de Outline para a instrução explain analyze, tornando seu recurso consistente com a instrução explain e melhorando a capacidade de otimização de consultas.

  • Adicionamos suporte às seguintes funções relacionadas a GIS: ST_HAUSDORFFDISTANCE, ST_FRECHETDISTANCE, ST_LineInterpolatePoints, ST_LineInterpolatePoint, ST_PointAtDistance, ST_Union, ST_Difference, ST_Buffer, ST_Collect, ST_Symdifference, ST_Intersection, enriquecendo o suporte a recursos de GIS.

  • Adicionamos o recurso de agendamento de primeiro nível para otimização de consultas do IMCI, permitindo a alocação de consultas de column store no primeiro nível de otimização e melhorando a eficiência da execução de consultas.

  • O recurso Time to live (TTL) adiciona compatibilidade com o TiDB e outros produtos, além de adicionar suporte para a sintaxe TTL = 'b' + INTERVAL 3 MONTH;.

Otimizações de desempenho

Descrição

  • Otimizamos o modelo de custo de partição. Para consultas de igualdade e condições IN em índices que não contêm uma chave de partição, um fator de contagem de partição é incluído na estimativa de custo para melhorar sua precisão.

  • Otimizamos a lógica de seleção de algoritmo para permitir que algumas subconsultas correlacionadas usem um hash join eficiente.

  • Otimizamos o IMCI no processamento de subconsultas IN e EXISTS diversas, melhorando a lógica de processamento de subconsultas e, consequentemente, aumentando significativamente a eficiência da consulta e o desempenho de execução.

  • Otimizamos o Multi-Master Cluster (Limitless) para oferecer suporte ao Partition Redo e ao mecanismo de Redo assíncrono, melhorando efetivamente o desempenho do cursor em cenários de throughput do sistema e atendendo melhor às solicitações de alta simultaneidade.

  • Otimizamos o Orca no processamento do comando SCAN do Redis com a opção COUNT, mantendo corretamente o número de elementos de metadados retornados de forma precisa e consistente.

  • Otimizamos o IMCI para aprimorar o suporte à instrução SELECT DISTINCT..., permitindo situações de non-full-groupby, o que melhora a compatibilidade com múltiplos cenários e otimiza a flexibilidade e a adequação do uso de consultas.

  • Otimizamos a lógica para subconsultas IN aninhadas em vários níveis, para que agora possam ser aceleradas pelo IMCI.

Correções de bugs

Descrição

  • Corrigimos um problema em que um endereço de memória inválido podia ser acessado ao executar o Introduction to INTERVAL RANGE em tabelas descritas em INSERT ON DUPLICATE KEY UPDATE.

  • Corrigimos uma incompatibilidade com o recurso de restauração de banco de dados e tabelas que ocorria porque o parâmetro loose_innodb_initialize_in_space_extend para extensão de espaço de arquivo não podia ser definido como 0.

  • Corrigimos o IMCI no Hybrid Plan, onde o mecanismo Index Join adicionou suporte para os modos Semi Join e Anti Semi Join, avançando na capacidade de otimização de consultas e melhorando a eficiência de execução em diversos cenários de consulta.

  • Corrigimos uma falha do sistema que podia ocorrer ao usar o mecanismo TempTable com uma expressão de tabela comum (CTE) referenciada várias vezes.

  • Corrigimos uma exceção de consulta que podia ser acionada quando todos os dados em um bloco de dados armazenado eram idênticos.

  • Corrigimos um problema em que um nó somente leitura não sincronizava a variável gtid_purged, o que fazia com que as consultas retornassem valores vazios.

  • Corrigimos um problema em que uma tarefa de restauração de banco de dados e tabelas podia ser interrompida se a tabela de origem tivesse um IMCI.

  • Corrigimos um problema no IMCI em que a execução em linha com o Hybrid Plan desabilitado podia causar uma falha.

  • Corrigimos um possível vazamento de socket no framework de rede Orca quando uma conexão expirava ou era fechada ativamente.

  • Corrigimos um problema raro em que, com o recurso de DDL não bloqueante habilitado, uma instrução falhava ao sair normalmente se sua conexão de DDL correspondente fosse encerrada.

  • Corrigimos uma ineficiência no processo de arquivamento de partição do gerenciamento de ciclo de vida de dados (DLM), utilizando um bloqueio de metadados (MDL) no nível da partição em vez do nível da tabela, o que reduz a granularidade do bloqueio e melhora a simultaneidade do sistema e a eficiência do arquivamento.

  • Corrigimos a preempção de memória imprecisa sob cargas de trabalho mistas.

  • Corrigimos um problema em que uma partição do X-Engine exigia uma reconstrução de tabela durante uma operação de otimização.

  • Corrigimos uma falha de cluster de consulta paralela causada por uma operação de classificação após uma fusão de tabela materializada.

  • Corrigimos uma possível falha que ocorria quando o recurso de poda de tabela materializada era usado com o recurso WITH ROLLUP.

  • Corrigimos uma falha de cluster que ocorria ao criar uma tabela temporária com uma instrução CREATE TABLE AS SELECT.

  • Corrigimos uma possível falha de cluster que podia ser acionada ao acessar tabelas de estatísticas em um Multi-Master Cluster (Limitless).

  • Corrigimos um erro de seleção de índice em consultas IMCI para cenários de filtragem de intervalo constante (const BETWEEN field1 AND field2).

  • Corrigimos um problema em cenários do Multi-master Cluster (Limitless) Edition em que o processo de DDL online para o IMCI era incompatível com a lógica do Logical Log Sequence Number (LLSN), causando a perda de algumas reproduções de log de redo do IMCI.

  • Corrigimos um problema de vazamento no X-Engine ao recuperar espaço de tabela antigo após a execução de alterações de DDL.

  • Corrigimos uma falha causada pela execução de uma instrução IMCI durante uma consulta em uma tabela particionada com explain for connection.

  • Corrigimos um problema em que os dados do IMCI não podiam ser recuperados devido a uma falha na aquisição do bloqueio de metadados (MDL) durante a fase de recuperação de metadados.

  • Corrigimos um problema em que consultas no IMCI I_S (visualizações relacionadas ao IMCI no banco de dados Information_Schema) com uma condição de filtro name retornavam resultados incompletos porque a consulta não usava uma função de comparação de strings que diferencia maiúsculas de minúsculas.

  • Corrigimos um problema de reinicialização do nó somente leitura do X-Engine durante a limpeza de metadados de blocos de dados fora do período prévio.

  • Corrigimos uma possível anomalia no sistema de bloqueio de metadados (MDL) quando o número de conexões excedia 65.536.

8.0.2.2.27.2(2025.01.23)

Correções de bugs

Descrição

  • Corrigimos um possível problema de redundância de dados no índice de coluna que podia ocorrer durante a recuperação de falhas se um cluster de nós de column store reiniciasse durante uma transação grande.

  • Corrigimos um problema de sintaxe no recurso TTL, ajustando o TTL como uma palavra-chave não reservada, para manter a correção e a compatibilidade com a região da comunidade.

8.0.2.2.27.1(2025.01.14)

Novos recursos

Descrição

Correções de bugs

Descrição

Corrigimos um problema em que a leitura de campos grandes JSON ou GIS por meio do IMCI podia causar falhas intermitentes na leitura de dados.

2024

8.0.2.2.27(2024.12.28)

Novos recursos

Descrição

  • Adicionamos suporte para o Global Database Network em cenários onde o from cluster adiciona apenas nós de column store somente leitura.

  • Adicionamos suporte para a combinação de partições do REORGANIZE PARTITION e LIST DEFAULT HASH e da partição do LIST para a partição do HASH, dividindo os valores em uma nova partição LIST.

    Adicionamos prefixos de partição do HASH como nome de partição HASH de corpo inteiro.

  • Adicionamos suporte para tabelas largas grandes, estendendo o X-Engine para suportar tabelas com um número máximo de 10.000 colunas.

  • Adicionamos a expressão DISTANCE para calcular a similaridade de cosseno, a similaridade de produto escalar e a distância euclidiana.

  • Adicionamos o recurso de consulta de pesquisa vetorial acelerada pelo IMCI.

  • Adicionamos suporte para a sintaxe table value constructor. Você pode usar a sintaxe VALUES ROW em instruções DML.

  • Adicionamos suporte por meio de stored procedure para adicionar o IMCI em lote a todas as tabelas do banco de dados.

  • Aprimoramos o Outline para oferecer suporte a tabelas particionadas. Agora, um único Outline pode corresponder a todas as instruções que compartilham o mesmo modelo em diferentes tabelas particionadas.

  • Introduzimos a coleta de estatísticas em colunas não indexadas e um método de gerenciamento unificado para estatísticas estendidas.

  • Adicionamos a capacidade de ajustar dinamicamente a seleção de resultados do Order Index durante a execução com base nas condições reais.

Otimizações de desempenho

Descrição

  • Otimizamos a velocidade de inicialização dos nós de column store somente leitura. Agora, o mecanismo de column store pode ser iniciado independentemente a partir de um deslocamento de snapshot do IMCI.

  • Otimizamos o tempo de inicialização dos nós de column store em cenários com um grande número de tabelas.

  • Otimizamos o recurso Orca, adicionando suporte para os comandos AUTH e HELLO do Redis através da sintaxe username:password para especificar o nome da conta e a senha.

  • Otimizamos os cenários de DDL do mecanismo de armazenamento X-Engine, onde o sistema agora habilita automaticamente o recurso de pré-commit do X-Engine.

  • Otimizamos o Orca ajustando a granularidade do bloqueio para o tipo de dados de agregação ordenada (Sorted Set), utilizando apenas a posição do marcador padrão para o índice secundário na avaliação e quebra de bloqueio.

  • Otimizamos o código para criação e destruição de threads no readahead lógico e simplificamos a lógica de verificação de memória.

Correções de bugs

Descrição

  • Correção de um problema em que instruções DDL em tabelas com views podiam relatar um erro ou não surtir efeito após um switchover de HA.

  • Resolvida uma falha em que a definição do parâmetro pq_enable_xengine_mpp (relacionado a parallel query) como OFF não surtia efeito.

  • Ajustado o comportamento do valor AUTO_INCREMENT em tabelas particionadas, que ocasionalmente sofria rollback e causava erros de chave duplicada em operações de INSERT.

  • Corrigida a permissão para definir o alias binlog_rows_query_log_events no nível de sessão. Adicionado suporte para execução de SQL, cópia standby e rollback no DMS.

  • Solução para um problema em que itens duplicados não eram reportados como erro ao definir variáveis do tipo flagset, como optimizer_switch.

  • Corrigido um erro que causava a falha do processo ao ativar o switch win magic. O problema ocorria devido a base_ref_items vazio ou insuficiente, o que causava overflow na reescrita de subqueries.

  • Resolvida uma falha na avaliação de expressões que ocorria quando uma lista IN contendo valores nulos era convertida em um conjunto de resultados de JOIN.

  • Ajustado um problema em que o uso de HASH JOIN no plano de execução podia causar resultados incorretos em parallel query.

  • Correção de um problema que podia gerar resultados incorretos quando uma query continha tabelas derivadas laterais (LDTs).

  • Corrigido o suporte do Orca ao modelo de transação do protocolo Redis, incluindo os comandos WATCH, UNWATCH, MULTI, EXEC e DISCARD.

  • Resolvida uma inconsistência no Orca em que os resultados retornados pelos recursos BITOP, ZRANGEBYLEX, ZRANGEBYSCORE, ZREVRANGEBYSCORE e ZREVRANGEBYLEX diferiam do Redis oficial.

  • Correção de um problema em que expressões SUBSTRING_INDEX processando a saída GROUP_CONCAT de strings vazias com comprimento de delimitador maior que 1 podiam causar a falha do processo.

  • Ajustada uma falha de processo causada pela instrução CAST(REGEXP_SUBSTR(...)) AS DECIMAL.

  • Solução para um problema em que os dados não eram validados quando uma instrução DDL era usada para alterar a dimensão de um tipo VECTOR.

  • Corrigida uma inconsistência no dicionário de dados que ocorria durante a atualização de uma versão secundária que não suportava recuperação de vetores para uma versão com esse suporte.

  • Resolvida uma falha rara em que dados duplicados apareciam em um índice de chave primária ao usar a manutenção de partição online (MDL).

  • Correção de problemas de compatibilidade de memória elástica em componentes do IMCI Serverless, incluindo exceções ao expandir e reduzir a capacidade.

  • Ajustado um problema em que o uso da instrução ALTER TABLE DROP para excluir múltiplos índices full-text (FTS) simultaneamente podia causar resíduo de metadados.

  • Solução para um problema em que a unicidade dos valores de índice não era aproveitada para melhorar o desempenho da query.

  • Corrigido um problema que causava a falha do cluster em cenários extremos ao executar operações DML em tabelas com Autoinc após a ativação do in line partition dimension protecting (MDL).

  • Resolvida uma falha de cluster que podia ocorrer durante a seleção de índices de múltiplos valores no MRR.

  • Correção de um problema no Orca em que a execução de comandos de gerenciamento parcial (como ORCA_OPTIMIZE, AUTH e ACL) exigia o bloqueio desnecessário do banco de dados de definição.

  • Ajustado um problema em que o uso de parallel query podia levar a resultados incorretos quando a query envolvia dados BLOB.

  • Solução para um problema em que certos tipos de queries não eram roteados corretamente durante a execução adaptativa.

  • Corrigido um problema em cenários de dados frios em que o cache de metadados em um nó somente leitura não era atualizado após os dados serem archived in the CSV or ORC format.

  • Resolvida uma falha de cluster causada por um problema de memória durante operações DDL em uma tabela que continha campos BLOB.

  • Correção do problema que impedia o suporte a rebuild online para IMCI, melhorando a disponibilidade do IMCI.

8.0.2.2.26.1(2024.11.21)

Correções de bugs

Descrição

Correção de um problema em que a execução de INSERT... ON DUPLICATE KEY UPDATE após a promoção de um nó RO para RW causava o rollback do Autoinc da tabela.

8.0.2.2.26(2024.10.21)

Otimizações de desempenho

Descrição

  • Otimização do mecanismo de amostragem de estatísticas, com aumento da frequência de amostragem para tabelas grandes e garantia de cobertura do intervalo de valores de cada coluna. Isso melhora a precisão da estimativa de custo do otimizador.

  • Aprimorado o processo de fluxo Serverless para nós de column store.

    Nós colunares recém-adicionados agora só podem atender a requisições externas após a prontidão dos índices, reduzindo queries lentas causadas por SQL que usa planos de row store nesses nós durante o período de indexação.

  • Melhoria no desempenho de queries partitioned table ao otimizar o IMCI em SQL durante a execução, mantendo as informações de partição de armazenamento com baixa sobrecarga de desempenho.

Correções de bugs

Descrição

  • Correção de um problema que causava conjuntos de resultados incorretos ao mesclar palavras-chave IN em uma subquery aninhada.

  • Resolvida uma falha de processo ao usar subqueries correlacionadas com aninhamento de window function.

  • Ajustada uma falha durante a migração causada por um problema de concorrência entre operações INSTANT DDL de alta frequência e tarefas de compactação em segundo plano.

  • Solução para um problema de corrupção de B-tree causada pela adição de uma coluna auto-incremento e pela criação de um índice de chave primária em ordem inversa nessa coluna.

  • Corrigido um problema em que o valor Autoinc sofria rollback para 0 após a limpeza de todos os dados de uma tabela.

  • Resolvido um fallback do IMCI para o row store ao processar uma expressão que continha múltiplas subqueries com SUM.

  • Ajustada a ocorrência de resultados incorretos ao usar uma expressão JSON_ARRAY em uma subquery com o IMCI ativado.

  • Correção de uma falha do sistema durante a transformação de query que ocorria quando o número de tabelas excedia 61.

  • Solução para um erro ao importar os mesmos dados duas vezes usando REPLACE LOAD DATA em tabelas particionadas UNIQUE CHECK IGNORE.

  • Corrigido um problema de rollback do Autoinc que ocorria após o failover de nó (HA) no partitioned table.

  • Resolvida uma falha que causava a interrupção do novo fluxo de trabalho de recuperação de banco de dados e tabelas após múltiplas rodadas de recuperação na mesma tabela.

  • Ajustado um problema que impedia rebuilds online de IMCI, o que tornava o IMCI indisponível.

  • Correção de uma falha rara em que uma query falhava porque o executor de column store acessava dados inválidos ao processar valores de string.

  • Solução para a degradação de desempenho causada pelo uso da otimização Index_merge em instruções UPDATE.

  • Corrigido um problema em que o Index JOIN no IMCI usando constantes como condições de JOIN podia gerar erros.

  • Resolvida uma falha de execução em situações de parallel query ao ajustar o processo paralelo no pushdown de condições de table function.

  • Ajustado um erro que podia ocorrer ao especificar um índice inexistente no Outline após a ativação do ePQ multiple instance parallel.

  • Correção de um problema que impedia o uso de DDL assíncrono ao modificar COMMENT para adicionar IMCI em uma tabela com índices full-text.

  • Solução para uma possível falha de cluster durante a fase de inicialização do Undo quando o Force Recovery estava ativado.

  • Corrigido um problema que causava resultados incorretos em um cenário de atualização de tabela temporária do InnoDB.

  • Resolvido um problema de conflito entre a divisão de transações de alto nível do Proxy e o Fast Query Cache que afetava a agregação de resultados.

  • Ajustada a ocorrência de resultados incorretos no parallel query quando a query continha uma tabela constante.

  • Correção de um problema em que JSON_Length retornava resultados incorretos ao usar um caractere curinga.

  • Solução para um problema que fazia com que um nó RO travasse durante a fase de HA, resultando em tempos prolongados de switchover de HA.

  • Corrigido um problema em que o uso de valores constantes para ordenação em window functions podia causar a falha da execução do parallel query.

  • Resolvida uma falha que podia ocorrer em um nó RO durante a fase de HA (failover de nó) quando o recurso RO No Sync estava ativado.

8.0.2.2.25.2(2 024.08.13)

Correções de bugs

Descrição

Atualizada a versão do sistema de arquivos e otimizado o processo de restauração de cluster de snapshot gravável.

8.0.2.2.25.1(2024.08.10)

Correções de bugs

Descrição

Correção de problemas de compatibilidade entre a versão do sistema de arquivos e o sistema de controle de gerenciamento.

8.0.2.2.25(2024.08.08)

Novos recursos

Descrição

  • Adicionado suporte à função JSON_VALUE() para simplificar a criação de índices em colunas JSON.

  • Implementada a capacidade de modificação contínua de dados durante a execução de Copy DDL.

  • Incluído suporte para pushdown de condições de JOIN para suas respectivas views.

  • IMCI Adicionada a base de index join no Hybrid Plan, com suporte ao uso de índices InnoDB para realizar JOINs de forma vantajosa.

  • Adicionado suporte para acesso direto a tabelas de dados em nós de IA por meio de tabelas externas federadas.

  • Implementado o suporte ao recurso OSS OUTFILE parallel export to OSS engine.

  • Incluído suporte para DDLs de alta prioridade para garantir a execução bem-sucedida.

  • Adicionado suporte para bloqueio de tabelas arquivadas.

  • Implementado um otimizador híbrido de linha-coluna e roteamento de linha-coluna baseado em custo.

  • Adicionado recurso de otimização para eliminação de conexões completas ou parciais.

    Aprimorado o recurso de eliminação de conexões externas, estendendo-o para mais cenários.

  • Enable optimized binlog writing for large transactions, evitando o bloqueio de commits de outras transações.

  • Adicionado suporte no Hybrid Plan do IMCI para tabelas particionadas, colunas virtuais e colunas dos tipos ENUM, SET e GIS.

  • Implementado o suporte a failover dinâmico em column store no row within execution process.

  • Adicionado suporte à aceleração de queries OSS para archiving partitioned tables to OSS external tables. Manual partition archiving ou automatic archiving podem gerar OSS_FILE_FILTER query acceleration data de forma síncrona.

Otimizações de desempenho

Descrição

  • Otimização para o PolarDB for MySQL versão 8.0.1 e superiores, com adição de suporte para o EXPLAIN exibir a situação de invocação do outline.

  • Aprimorado o recurso de pushdown do PolarDB for MySQL, com suporte para pushdown de ORDER BY LIMIT para tabelas em JOIN.

  • Habilitado o ajuste dinâmico de PolarDB IO Threads sem a necessidade de reinicialização.

  • Reduzido o tempo de otimização de queries para consultas em tabela única.

  • Solução para problemas de desempenho no rollback de transações DML do IMCI.

  • Otimizado o algoritmo de hash do bloom filter do IMCI, utilizando prefixos de string na construção da estrutura para reduzir a sobrecarga.

  • Aprimorado o desempenho do AIO simulado.

  • Melhoria no desempenho de clusters de 3 zonas de disponibilidade (3-AZ) sob baixa concorrência.

  • Expandido o recurso de DDL não bloqueante para suportar mais instruções DDL.

  • Otimizado o uso de memória de metadados em queries do IMCI.

  • Ajustado o nível de prioridade da thread de processamento de transações do Polarfs, melhorando o desempenho de DDL no PolarDB for MySQL.

  • Aprimorado o desempenho e a estabilidade do sistema de arquivos durante operações DDL que criam e excluem arquivos de tabela com frequência.

Correções de bugs

Descrição

  • Correção de uma falha causada por um hash self-join em uma Common Table Expression (CTE) dentro de uma parallel query.

  • Resolvido um erro de falta de memória (OOM) que ocorria durante a execução do IMCI quando uma query continha um número excessivo de cláusulas UNION ALL.

  • Ajustado um problema em um nó RO em que as threads de usuário aguardavam excessivamente por uma página livre quando o buffer pool estava cheio.

  • Solução para um problema em que o mecanismo de amostragem de estatísticas amostrava tabelas grandes com muita frequência.

  • Corrigido um problema em que a remoção de nós RO podia causar o bloqueio temporário de conexões de monitoramento quando innodb_polar_log_rdma_transfer estava ativado.

  • Resolvida uma incompatibilidade de algumas conversões implícitas no IMCI com a instrução CASE do MySQL.

  • Ajustado um problema em que o archiving partitioned tables to OSS external tables não suportava o Global Secondary Indexes (GSIs).

  • Correção da identificação incorreta de erros de conexão em pacotes de reconhecimento (ACK) de um nó secundário.

  • Solução para um erro de memória insuficiente (OOM) que ocorria durante a execução de analyze table em tabelas grandes.

  • Corrigido um problema em que o processo de mesclagem de views falhava ao remover subqueries desnecessárias.

  • Resolvido um problema na conversão de inlist para JOIN, em que um tipo inlist inconsistente causava um conjunto de resultados inconsistente.

  • Ajustado um problema em que a reescrita de query não conseguia ler dados de uma subquery de linha única ao usar index_merge.

  • Correção de uma falha ao converter subquery em semi join crash.

  • Solução para uma falha na reescrita de query com anti join ao converter subquery de volume padrão em tabela derivada.

  • Corrigido um problema de perda de precisão com números de ponto flutuante em JSON.

  • Resolvida uma incompatibilidade do recurso Log RDMA do global consistent high-performance mode (SCC) com clusters standby GDN.

  • Ajustado um problema de overflow causado pela conversão de um valor double grande para uint durante o processo de planejamento de computação paralela.

  • Correção da subestimativa do custo de acesso REF ou MULTI_RANGE para índices secundários que não incluíam a chave de partição em uma tabela particionada UCI.

  • Solução para um problema de perda de precisão anômala na fase de análise de double value em JSON.

  • Corrigido um problema que causava o travamento do banco de dados durante um checkpoint acionado manualmente.

  • Resolvida uma falha que ocorria quando as regras de reescrita de derived merge e desenrolamento de subquery escalar se intercalavam.

  • Ajustado um problema de segurança no processo de recuperação de falhas de transações XA externas do MySQL.

  • Correção de um problema em que as estatísticas de uma tabela particionada IMCI se tornavam inválidas em cenários de partition pruning.

  • Solução para um problema que impedia a tabela InnoDB com function index de realizar cold data archiving.

  • Corrigido um problema em que a definição de caracteres separadores nos valores de optimizer_switch e parallel_query_switch relatava erros em vez de avisos.

  • Ajustado o caminho de acesso index merge intersection proibido por padrão em instruções DML, melhorando o desempenho e prevenindo deadlocks.

  • Resolvido um problema em que erros de estimativa de cardinalidade impediam o otimizador de selecionar o JOIN ORDER ideal.

  • Correção de um erro de atributo de coluna column store na instrução CREATE TEMPORARY TABLE SELECT STATEMENT.

  • Solução para uma possível falha de asserção durante a otimização de tabela.

  • Corrigido um problema de resultados imprecisos no cache de query causado pela comparação de time e datetime durante a execução paralela em nó único e múltiplos nós.

  • Ajustado um endereço IP incorreto no log de auditoria para reutilização de conexão sob um connection pool no nível de sessão.

  • Resolvida a subestimativa de custo para queries de ponto e intervalo baseadas em chave primária em tabelas particionadas UCI.

8.0.2.2.24(2024.06.21)

Otimizações de desempenho

Descrição

  • Otimizado o uso de memória de metadados em queries do IMCI.

  • Aprimorado o uso de memória do otimizador IMCI em cenários de queries de alta concorrência.

Correções de bugs

Descrição

  • Correção de um erro ao criar Global Secondary Indexes (GSIs) usando Parallel DDL em tabelas vazias.

  • Resolvida uma estimativa incorreta de estatísticas para tabelas grandes com campos Blob.

  • Ajustado um problema em que o número de linhas verificadas para tabelas derivadas não era registrado durante auditorias e verificações de log de queries lentas.

  • Solução para um vazamento de espaço causado por uma exceção durante o processo de shrink.

  • Corrigido um erro que ocorria no processo de parallel query quando o hybrid partitions continha simultaneamente partição InnoDB e ORC durante o particionamento.

  • Resolvidos conjuntos de resultados incorretos causados por subqueries colapsadas de forma inadequada.

  • Ajustado um problema que impedia a execução da operação de adição de coluna (ADD COLUMN) em tabelas particionadas sub-partition após a atualização da versão do motor de 8.0.1 para 8.0.2.

  • Correção de um bug de parallel query que podia causar a falha do cluster quando o predicado continha uma expressão DEFAULT.

  • Solução para um problema de passagem de permissão de execução elevada na estratégia do DLM.

  • Corrigida uma falha ao realizar operações de arquivamento em índices de ordem de downgrade existentes no archived table.

  • Resolvido um bug que impedia a recuperação de espaço Blob do registro original ao atualizar uma coluna Blob.

  • Ajustado um problema em que o uso de colunas BIGINT como condições de JOIN com valores muito grandes podia causar estimativa de cardinalidade imprecisa, impedindo o uso do IMCI.

  • Correção de um problema em que a atualização de estatísticas em tabelas particionadas IMCI podia amostrar apenas algumas partições, causando estatísticas imprecisas.

  • Solução para um bug em que subqueries inúteis não eram excluídas durante o processo de mesclagem de views.

  • Corrigido um problema em que uma parallel query podia falhar quando uma CTE usada como tabela à direita em um LEFT JOIN era eliminada.

  • Ajustado um problema em que, com o thread pool ativado, o ID de transação de transações de leitura e gravação no SQL Insights podia ser 0.

8.0.2.2.23.1(2024.05.20)

Novos recursos

Descrição

Adicionadas informações sobre a quantidade de linhas retornadas ao Fast Query Cache. As consultas que atingem o cache agora exibem a contagem de linhas retornadas nos logs de auditoria.

Correções de bugs

Descrição

  • A quantidade de linhas verificadas por uma tabela derivada agora é registrada no log de auditoria e no log de consultas lentas.

  • Corrigido um bug que fazia com que as consultas não retornassem dados quando o pushdown de Limit Offset era usado com uma condição de igualdade em um índice secundário e uma condição de lista IN na chave primária.

  • As comparações entre os tipos FLOAT e INT agora retornam resultados corretos.

8.0.2.2.23(2024.05.08)

Novos recursos

Descrição

  • Adicionado o parâmetro limit_orderby_pushdown_mode para controlar se LIMIT e ORDER BY são transferidos (pushed down) para tabelas derivadas ou para todas as sub-ramificações do UNION ALL. Quando o LIMIT é menor que o valor de limit_pushdown_to_union_threshold, o LIMIT e o ORDER BY são transferidos para todas as sub-ramificações do UNION ALL.

  • O IMCI agora oferece suporte a LEFT JOIN com base no pushdown de TopK.

  • O otimizador agora pode converter um LEFT JOIN em um INNER JOIN usando uma transformação de consulta baseada nas condições HAVING e nas condições externas de uma view.

  • O otimizador agora pode eliminar operadores DISTINCT redundantes das instruções de consulta para melhorar a velocidade de execução.

Otimizações de desempenho

Descrição

  • Agora é possível acelerar consultas em arquivos de dados CSV armazenados no Object Storage Service (OSS).

  • Adicionado suporte para a execução de INSTANT DROP PARTITION em tabelas particionadas com índices secundários globais (GSI) existentes, sem invalidar o GSI na tabela particionada.

  • Melhorado o desempenho de leitura dos nós somente leitura (RO).

  • Adicionado suporte para eliminação de LEFT JOIN em instruções UPDATE.

  • O recurso SQL Trace agora registra corretamente as instruções SQL e seus planos de execução ao chamar um stored procedure integrado.

  • Agora você pode usar o recurso de adição instantânea de colunas em tabelas que possuem um IMCI.

  • Agora há suporte para a derivação de predicados de não igualdade, permitindo que mais predicados sejam transferidos (pushed down).

  • Simplificado o fluxo de uso dos parâmetros de roteamento automático de linha-coluna. Também oferece suporte ao retorno de motivos explícitos por meio de SET use_imci_engine=FORCED quando o column store não é utilizado.

  • Otimizado o processo de execução de subconsultas para agrupar múltiplas subconsultas para eliminação, sempre que possível.

  • O Hybrid Plan agora oferece suporte a tabelas temporárias para acelerar consultas em tabelas largas (wide tables).

  • O pool de threads agora lida com solicitações de conexão de forma mais rápida em cenários de baixa concorrência.

  • O comando rman.import agora é suportado para um IMCI.

  • Otimizado o recurso de amostragem de estatísticas do X-Engine para estimar a taxa de compressão aproximada.

  • Agora é possível criar nós RO do Tair para fornecer capacidades de leitura de cache.

  • Ao monitorar o desempenho do banco de dados, o impacto do acesso do administrador do sistema na métrica de status slow_queries agora é ignorado.

  • Reduzida a sobrecarga de metadados para alocação de memória e estatísticas no IMCI para conservar memória.

  • O X-Engine agora oferece suporte a consultas paralelas em tabelas únicas e particionadas.

  • O IMCI agora oferece suporte ao método de otimização BatchProbe para melhorar o desempenho de JOINs.

  • Otimizado o uso de memória de metadados do IMCI, módulos de arquivo e pequenos objetos residentes, reduzindo o consumo de memória residente.

  • Agora é possível usar o IMCI e a consistência global (modo de alto desempenho) ao mesmo tempo.

  • O Stats Manager agora pode despachar automaticamente tarefas de coleta de histogramas para um nó somente leitura ou nó standby quente para atualizações automáticas de histogramas.

  • Otimizado o desempenho de E/S dos nós somente leitura do PolarFS, melhorando a velocidade de resposta às consultas.

Correções de bugs

Descrição

  • Corrigido um problema que impedia a execução de solicitações subsequentes de expansão do buffer pool. Isso ocorria porque o cancelamento automático de uma operação anterior de redução era bloqueado por uma grande consulta SQL do usuário que não liberava suas páginas ocupadas.

  • Corrigido um problema ao usar dbms_oss.delete_table_file dentro da configuração de stored procedures, que impedia a exclusão de dados frios nos formatos CSV e ORC.

  • Corrigida uma possível falha de nó causada pelo cancelamento automático de uma operação anterior de redução do buffer pool sob alta concorrência.

  • Corrigido um problema em que uma consulta poderia não ser despachada para o IMCI para execução se contivesse uma subconsulta que retornasse um conjunto de resultados vazio.

  • Corrigido um erro de contador interno no pool de threads que ocorria ao encontrar uma espera de bloqueio ACL durante a autenticação assíncrona.

  • Corrigido um problema que retornava uma mensagem de asserção ao realizar uma operação de multiplicação em dados Decimal se pelo menos um multiplicador fosse 0 e a escala do resultado excedesse 16.

  • Corrigido um problema que ocorria durante atualizações com um clique do RDS for MySQL para o PolarDB for MySQL, em que uma reinicialização do cluster PolarDB for MySQL interrompia o link de migração.

  • Corrigida uma falha de nó que ocorria ao consultar uma partição híbrida contendo partições InnoDB e ORC.

  • Corrigido um problema de perda de dados que ocorria ao arquivar dados repetidamente em uma tabela externa do OSS.

  • Corrigida uma falha de nó causada pelo acesso a uma referência de Blob inválida ao realizar uma operação de leitura antecipada (read-ahead) em dados Blob.

  • Corrigida uma falha intermitente de nó que ocorria quando o recurso de leitura antecipada estava ativado durante o uso de um IMCI.

  • Corrigido um problema de falta de suporte à sintaxe de hint no recurso de pushdown de condição de junção.

  • Corrigido um problema de falta de suporte à sintaxe de hint no recurso de pushdown de predicado para subconsulta.

  • Corrigido o pushdown incompleto da condição HAVING.

  • Corrigida uma possível falha de nó em uma consulta paralela que ocorria quando uma subconsulta não correlacionada era executada enquanto uma coluna de projeção era referenciada na cláusula HAVING.

  • Corrigida a impressão excessiva de logs de inicialização do Autoinc.

  • Corrigido um problema em que o recurso de mesclagem de subconsultas não suportava hints do otimizador.

  • Corrigido um problema em que uma tabela externa do OSS retornava um erro em um cenário de ORDER BY DESC.

  • Corrigido um problema de acesso à memória fora dos limites que ocorria quando o IMCI compactava um strpack de tamanho excessivo.

  • Corrigida uma possível regressão de desempenho que ocorria ao transferir condições para uma tabela derivada.

  • Corrigido um problema de exibição incorreta dos campos BIT após uma operação GROUP BY.

  • Corrigido um problema de degradação de desempenho de consultas lentas no X-Engine causado pelo controle rigoroso de concorrência das tarefas de compactação em segundo plano, o que afetava as operações em primeiro plano.

  • Corrigido um problema na consulta paralela que causava resultados incorretos. Isso ocorria quando um fragmento de plano continha várias tabelas realizando uma varredura paralela por partição e também executava uma operação de hash join paralelo.

  • Corrigido um problema em que o desacoplamento (unnesting) de subconsultas causava o aviso column in group statement is ambiguous.

8.0.2.2.22.1(2024.04.17)

Otimizações de desempenho

Descrição

  • Melhoradas as mensagens de erro para importação de dados frios do OSS para o mecanismo InnoDB.

  • O SQL Trace agora pode rastrear a execução de consultas lentas.

Correções de bugs

Descrição

  • Corrigido um vazamento de memória durante uma operação de Reload para recursos como Statement Outline e Concurrency Control.

  • Corrigido um problema em que a junção à esquerda (left join) com o banco de dados INFORMATION_SCHEMA em uma tabela resultava em erro.

  • Corrigido um problema em que uma política DLM permanecia ativa após a alteração da estrutura da tabela.

  • Corrigido um problema em que a execução do comando INSERT INTO ON DUPLICATE VALUE em uma tabela particionada gerava o erro Can't find record on <table>.

  • Corrigido um problema em que uma falha de baixa probabilidade podia ocorrer quando o comando TRUNCATE PARTITION era executado em uma tabela particionada que continha uma coluna de incremento automático.

  • Corrigido um problema em que a execução de uma consulta paralela em uma tabela grande com uma B-tree alta ou inclinada resultava em poucos fragmentos paralelos ou distribuição de dados desequilibrada entre os workers concorrentes.

8.0.2.2.22(2024.04.07)

Otimizações de desempenho

Descrição

  • Adicionado suporte para concessão de privilégios dinâmicos globais aos usuários para executar os comandos SHOW_ROUTINE, FLUSH_USER_RESOURCES, FLUSH_TABLES, FLUSH_STATUS e FLUSH_OPTIMIZER_COSTS.

  • Desativado o recurso de atualização parcial pequena para BLOBs para evitar possíveis erros de leitura de dados ao ler campos do tipo BLOB.

  • Ao usar a sintaxe HINT SET_VAR para definir o valor do parâmetro loose_optimizer_switch, uma vírgula à direita não é mais necessária.

Correções de bugs

Descrição

  • Corrigido um problema em que a execução de uma operação EXCHANGE PARTITION com diferentes ordens de índice corrompia um índice e impedia o acesso aos dados da tabela.

  • Corrigido um deadlock na leitura antecipada (read-ahead) de DDL em cenários de DDL paralelo.

  • Corrigido um problema em que um LSN de checkpoint inesperado causava falha na recuperação de travamento (crash recovery) após uma reinicialização anormal do cluster.

  • Corrigido um problema que exigia a reinicialização do nó para se recuperar de um rollback do Autoinc.

  • Corrigido um problema em que o Hybrid Plan aplicado a instruções SQL com ORDER BY que geravam linhas contendo NULL relatava o erro "table definition has changed".

  • Corrigido um problema em que alguns stored procedures integrados não relatavam erros corretamente quando recebiam um número incorreto de variáveis de entrada.

  • Corrigido um problema em que grupos duplicados apareciam no conjunto de resultados quando uma consulta paralela transferia o GROUP BY para um Worker para execução paralela em uma tabela particionada.

  • Corrigido um problema em que a criação de uma tabela com colunas do tipo DECIMAL relatava incorretamente o erro "Row size too large. The maximum row size for the used table type, not counting BLOBs, is 65535. This includes storage overhead, check the manual. You have to change some columns to TEXT or BLOBs".

  • Corrigida uma falha rara durante o processo de limpeza de undo ao usar uma tabela temporária após a ativação do recurso de consulta flashback.

  • Corrigido um problema em que o otimizador falhava em omitir uma operação de classificação após selecionar um índice de ordenação.

  • Corrigido um problema em que a otimização de eliminação de JOIN falhava em atualizar as informações das colunas das tabelas restantes. Isso podia impedir que o otimizador selecionasse o método de acesso ideal para a tabela.

  • Corrigido um possível erro nos resultados da consulta quando o otimizador escolhia a política de materialização para um semi join.

  • Corrigido um problema em que, para tabelas particionadas cuja chave primária não continha a chave de partição na situação binlog_row_image=MINIMAL, o Binlog Record não conseguia definir de forma única a posição de um determinado registro de linha.

  • Corrigido um problema em que um índice UCI podia não ser único quando a chave primária não incluía a chave de partição nos seguintes cenários:

    • Elevação de uma tabela interna de um semi join

    • Cenários de eliminação de GROUP BY ou DISTINCT;

    • Adição de uma dependência de chave única para eliminação de JOIN

    • Descorrelação de uma subconsulta escalar correlacionada convertendo-a em uma tabela derivada por meio de uma função de janela

    • Processamento de uma consulta GroupJoin com um IMCI

8.0.2.2.21(2024.01.17)

Novos recursos

Descrição

  • Quando a consistência global (modo de alto desempenho) está ativada, é possível usar um hint em uma instrução SQL para desativar o recurso para instruções que não o exigem.

  • Oferece suporte ao uso de subconsultas correlacionadas na cláusula GROUP BY e à eliminação de subconsultas correlacionadas complexas.

  • Oferece suporte ao Concurrency Control e ao Statement Outline em um Cluster Multi-master (Banco de dados/Tabela). Ao adicionar ou excluir regras de Concurrency Control ou Statement Outline em um nó primário, essas alterações são sincronizadas automaticamente com todos os outros nós primários no cluster.

  • Adicionado suporte para o cluster PolarDB for MySQL na adição de nó de cache Tair, para leitura de dados no banco de dados PolarDB for MySQL.

Otimizações de desempenho

Descrição

  • Otimizado o tratamento do pool de threads para solicitações de conexão em cenários de baixa concorrência.

  • Otimizado o processo de inicialização do IMCI.

  • Melhorado o desempenho de leitura de dados em nós somente leitura (RO) durante buscas em índices secundários que obtêm dados usando a chave primária.

  • Otimizado o processo de cálculo da máscara de transação no IMCI.

Correções de bugs

Descrição

  • Corrigido um problema em que uma atualização de cluster podia invalidar regras do Concurrency Control (CCL) que correspondiam a um valor DIGEST.

  • Corrigida uma falha de nó causada pela adição de crases (backticks) aos parâmetros de entrada ao chamar certos stored procedures integrados.

  • Corrigido um problema em que consultas TopK usando o IMCI retornavam resultados incorretos ao classificar em ordem decrescente em tabelas com um grande número de valores NULL.

  • Corrigido um problema que impedia um nó IMCI somente leitura de recuperar dados do IMCI se fosse iniciado durante uma operação DDL em uma tabela com um IMCI.

  • Corrigido um problema que, em alguns cenários, impedia o uso da consulta paralela elástica (ePQ) em consultas que continham uma CTE recursiva.

  • Corrigido um problema no novo processo de recuperação de banco de dados e tabelas em que a adição de um novo nó somente leitura (RO) falhava devido a um deslocamento de registro baixo.

  • Corrigido um problema no novo processo de recuperação de banco de dados e tabelas em que uma thread não conseguia sair devido a um disco cheio.

  • Corrigido um problema em que modificações simultâneas em estruturas de dados durante a replicação física no X-Engine causavam exceções em nós somente leitura (RO).

  • Corrigida uma falha ao atualizar uma réplica de leitura do X-Engine para standby.

  • Corrigido um problema em que a modificação do conjunto de caracteres de uma chave de partição em uma tabela particionada não reparticionava os dados.

  • Corrigido um problema em que a consulta a views contendo dados do tipo BIT com o IMCI retornava resultados incorretos.

  • Corrigida a alta latência de gravação em tabelas X-Engine em cenários de baixa concorrência.

  • Corrigido um problema em que o GROUP BY não conseguia encontrar a coluna correspondente após a elevação (pull-up) de uma subconsulta de linha única.

  • Corrigido um problema que causava resultados incorretos quando o recurso subquery_to_derived estava ativado no MySQL Community Edition.

  • Corrigido um problema ao usar o parâmetro polar_abbrev_sort_key_size para controlar a classificação durante operações, que causava gravação incorreta na memória.

  • Corrigido um problema em que uma consulta de igualdade em uma tabela particionada retornava dados apenas da primeira partição se a chave primária da tabela não incluísse a chave de partição e uma chave única fosse selecionada para uma mesclagem de índices.

2023

8.0.2.2.20(2023.12.20)

Otimizações de desempenho

Descrição

  • Para um cluster que anteriormente não possuía um Statement Outline, a adição de um após uma atualização de versão garante que a correspondência do outline não seja mais afetada pelo conjunto de caracteres.

  • Otimizado o processo de ativação da consistência global (modo de alto desempenho).

  • É possível acessar a view INFORMATION_SCHEMA do column store a partir de qualquer nó. Por padrão, a view agrega e exibe informações de todos os nós do column store.

  • Melhorado o recurso de restauração de banco de dados e tabelas, aumentando a velocidade de restauração e adicionando suporte para rollback de falha de tarefa.

Correções de bugs

Descrição

  • Corrigida uma possível falha de nó durante uma varredura paralela em uma tabela derivada com cálculos ROLLUP.

  • Corrigida uma falha de nó causada por uma string CONNECTION definida pelo usuário formatada incorretamente ao criar uma tabela externa do OSS.

  • Corrigido um problema que bloqueava a liberação de páginas sujas (dirty page flushing) em um nó RW se ele falhasse em encerrar a conexão de replicação com um nó RO cuja máquina física tivesse falhado.

  • Corrigido um problema em que um número excessivo de tabelas após um failover de HA levava à evicção do cache de tabelas, o que causava o rollback dos valores de incremento automático.

  • Corrigida uma falha de nó de réplica causada por uma sequência extrema de redo log. A sequência era gerada por uma condição de corrida entre a exclusão de uma tabela ou índice X-Engine e uma operação SwitchMemtable em segundo plano.

  • Corrigido um vazamento de objeto de conexão interna causado pelo encerramento anormal de uma consulta paralela elástica (ePQ) quando uma conexão remota era fechada à força.

  • Corrigido um problema em que uma consulta ROLLUP paralela retornava resultados incorretos se a cláusula GROUP BY contivesse várias colunas constantes idênticas.

  • Corrigido um erro de asserção que ocorria ao acessar o índice secundário global (GSI) de uma tabela particionada com RANGE INDEX após a poda de partições ter removido todas as partições.

  • Corrigida uma falha de arquivamento causada por colunas BLOB na tabela ao arquivar dados frios para o formato ORC.

  • Habilitadas consultas paralelas para usar um índice secundário global (GSI) em cenários de MRR e outros.

8.0.2.2.19.1(2023.11.13)

Correções de bugs

Descrição

Incorporado o patch oficial do MySQL 8.0.16 para corrigir um problema de deadlock causado por Blobs excessivamente grandes.

8.0.2.2.19(2023.10.30)

Novos recursos

Descrição

  • Adicionado o parâmetro opt_non_covering_key_cost para controlar se o custo de posicionamento inicial dos índices secundários é considerado.

  • Adicionado o parâmetro worst_seek_records_threshold para controlar o valor máximo do custo de E/S de acesso a índices não cobertos durante a estimativa de custo.

Otimizações de desempenho

Descrição

  • Otimizada a promoção de um nó somente leitura para um nó primário.

  • Otimizada a forma como o pool de threads lida com novas conexões.

  • O otimizador agora pode transferir condições para uma tabela derivada quando a subconsulta é uma cláusula UNION.

  • O otimizador agora pode transferir mais condições para uma tabela derivada usando a propriedade transitiva das condições de igualdade.

  • O otimizador agora oferece suporte à transferência de predicados elegíveis para uma subconsulta.

  • Melhorado o modelo de custo para buscas de igualdade em índices não cobertos.

  • Reduzido o consumo de memória para o cache de objetos de tabela e o cache de definições de tabela.

  • Adicionado o arquivamento automático de dados frios para todas as tabelas particionadas por RANGE usando o DLM.

  • O otimizador agora pode selecionar um GSI para uma tabela particionada em consultas que usam poda de partição.

Correções de bugs

Descrição

  • Corrigido um bug que podia impedir a inicialização do cluster se as informações de AccessKey para o OSS SERVER estivessem corrompidas.

  • Corrigidas falhas de consulta em alguns cenários causadas pelo consumo excessivo de memória pelo operador GroupJoin.

  • Corrigido um bug que impedia a execução de algumas consultas com predicados OR porque o plano de consulta falhava em vincular às colunas corretas.

  • Corrigidas estimativas imprecisas de seletividade de junção do otimizador ao juntar uma coluna sem sinal com uma coluna com sinal.

  • Corrigido um bug que podia causar a reinicialização do banco de dados quando uma consulta era encerrada pelo agendador.

  • Corrigidas falhas de recuperação de espaço causadas por um nó somente leitura do X-Engine não relatar informações de referência de versão.

  • Corrigida uma falha que ocorria ao reverter um RowID avançado durante o carregamento de um checkpoint.

  • Corrigida uma regressão de desempenho de E/S para o IMCI em cenários de materialização tardia.

  • Corrigido um possível loop infinito durante a poda de partições que ocorria quando uma partição não era encontrada.

8.0.2.2.18(2023.09.17)

Correções de bugs

Descrição

Corrigido um problema em que a exclusão da última regra CCL que possuía apenas uma palavra-chave (sem schema e tabela) entre tipos de instruções SQL idênticos podia causar uma falha de nó.

8.0.2.2.17(2023.08.23)

Otimizações de desempenho

Descrição

Melhorada a velocidade de arquivamento ao arquivar dados frios no formato CSV para o OSS.

Correções de bugs

Descrição

  • Corrigido um problema em que o uso de uma conta com a consistência global (modo de alto desempenho) e a consulta paralela elástica (ePQ) ativadas simultaneamente podia acionar o erro Table definition has changed.

  • Corrigidas contagens imprecisas de linhas verificadas para instruções SQL em cenários de pushdown de condição de índice.

  • Resolvida uma falha de nó que podia ocorrer ao usar a pesquisa de frases em um índice de texto completo.

  • Corrigido um problema em que nós somente leitura recém-conectados falhavam após o nó de leitura e gravação realizar um undo truncate.

8.0.2.2.16.1(2023.07.25)

Correções de bugs

Descrição

  • Corrigido o alto uso de CPU causado por uma thread em segundo plano.

  • Corrigida uma possível falha de inicialização do cluster causada por um AccessKey corrompido para o OSS Server.

8.0.2.2.16(2023.07.23)

Novos recursos

Descrição

Adicionado o parâmetro innodb_polar_import_tablespace_strict_mode, com valor padrão ON. Quando definido como ON, as operações de recuperação de banco de dados e tabelas gerarão um erro se a estrutura da tabela contiver um índice de texto completo.

Otimizações de desempenho

Descrição

  • Agora é possível usar um IMCI para consultar partições específicas de uma tabela particionada.

  • Os IMCIs agora podem usar o índice primário do mecanismo InnoDB para acelerar consultas.

  • O sistema agora converte subconsultas IN em subconsultas semi-join para operações UPDATE ou DELETE em uma única tabela.

  • O sistema agora converte subconsultas escalares em tabelas materializadas em consultas de junção.

  • Agora é possível usar o recurso Fast Query Cache com tabelas particionadas no mecanismo InnoDB.

  • A criação de uma tabela externa do OSS não cria mais automaticamente uma chave primária de incremento automático implícita.

  • Agora é possível criar um índice secundário global em uma tabela particionada com UNIQUE CHECK IGNORE=1.

Correções de bugs

Descrição

  • Corrigido um problema em que o recurso de otimização JPPD falhava quando uma expressão de tabela comum (CTE) continha uma CTE aninhada com múltiplas referências.

  • Corrigido um problema em que a restauração de banco de dados e tabelas falhava quando realizada em tabelas particionadas híbridas.

  • Corrigido um problema em que um nó secundário falhava ao reconectar após o nó primário ser desligado e reiniciado.

  • Corrigido um problema raro em que um processo podia ser reinterrompido durante a recuperação de falhas.

  • Corrigido um problema em que operações INSERT em uma tabela particionada com UNIQUE CHECK IGNORE=1 colocavam dados na partição errada.

8.0.2.2.15(2023.06.28)

Novos recursos

Descrição

Adicionada a sintaxe ALTER TABLE table_name CHANGE PARTITION partition_name ENGINE=CSV/ORC FORCE;.

Otimizações de desempenho

Descrição

  • Oferece suporte à transmissão de logs entre nós de leitura e gravação (RW) e nós somente leitura (RO) por meio de uma rede RDMA.

  • Oferece suporte ao arquivamento de tabelas particionadas e tabelas padrão com colunas de incremento automático para o OSS.

  • O mecanismo de consulta federada agora oferece suporte à transferência da sintaxe ORDER BY para um banco de dados remoto, o que reduz a sobrecarga de rede quando usado com LIMIT e OFFSET.

  • Oferece suporte à criação de um IMCI em uma tabela particionada híbrida (InnoDB+ORC).

  • Otimizado o pool de threads para lidar com conexões de curta duração.

  • O DLM agora oferece suporte ao arquivamento de partições InnoDB em uma tabela particionada para o OSS.

  • Oferece suporte à adição e exclusão de partições InnoDB em uma tabela particionada híbrida.

Correções de bugs

Descrição

  • Corrigido um bug que impedia a interrupção imediata de consultas usando um IMCI e a limpeza de seus arquivos temporários quando o disco ficava cheio.

  • Corrigido um problema em que os parâmetros não tinham efeito em execuções repetidas de um stored procedure.

  • Corrigido um problema em que usuários comuns podiam excluir a conta sys.

  • Corrigido um problema com um contador interno no pool de threads que podia causar um acúmulo de solicitações SQL durante o registro simultâneo de logs de consultas lentas.

  • Corrigido um problema que causava a reinicialização inesperada de um nó durante uma restauração de banco de dados e tabelas em uma tabela particionada após um failover de HA.

  • Corrigido um problema em que o LSN do checkpoint não avançava conforme o esperado.

  • Corrigido um problema em que a execução de operações de consulta em nós somente leitura enquanto o ALTER TABLE... IMPORT TABLESPACE estava em execução no nó de leitura e gravação podia causar erros.

8.0.2.2.14(2023.05.24)

Novos recursos

Descrição

  • Adicionado o comando de arquivamento de partição ALTER TABLE table_name CHANGE PARITION part_name ENGINE = 'csv'; .

  • Adicionado o recurso de compactação em nível de linha.

  • Adicionada a função de fragmento de alternância de dados de chave primária call dbms_dts.show_parallel_ranges (<schema_name>, <table_name>, [<suggestion_ranges>]).

Otimizações de desempenho

Descrição

  • Agora é possível criar um IMCI em uma coluna virtual.

  • A lixeira agora pode ser usada para tabelas com IMCI.

  • Capacidade de consulta do OSS otimizada. Após ativar o recurso de consulta paralela elástica, quando o valor do parâmetro loose_csv_max_oss_threads for maior que 1, as consultas paralelas são executadas diretamente.

  • Mensagens de erro aprimoradas para formatos de arquivo incorretos em tabelas externas do OSS.

  • Adicionado suporte para leitura e gravação no OSS no formato ORC.

  • Mensagens de erro aprimoradas para erros de ortografia.

Correções de bugs

Descrição

  • Corrigidos atrasos de replicação que ocorriam ao reproduzir o Redo log de uma tabela larga em um nó RO.

  • Corrigida uma falha de nó que ocorria ao consultar uma tabela particionada híbrida com otimização de índice de ordem.

  • Corrigida uma falha de nó que ocorria ao truncar uma partição híbrida.

  • Corrigido um problema em que consultas que usavam a otimização de pushdown de Limit Offset e uma função de janela retornavam resultados incorretos.

  • Corrigido um problema que impedia o OSS de executar consultas em paralelo.

  • Corrigido um problema em que o OSS não conseguia ler arquivos JSON.

  • Corrigido um erro de digitação na palavra-chave do mecanismo.

  • Corrigido um problema em que a leitura de dados frios formatados em CSV do OSS podia ler apenas o primeiro arquivo.

  • Corrigido um problema de incapacidade de leitura após o arquivamento de dados com \n por meio do DLM.

  • Corrigido um problema em que o arquivamento de dados frios podia deixar arquivos temporários no OSS.

8.0.2.2.13(2023.04.21)

Novos recursos

Descrição

  • O Hint Plan adicionou as categorias de tipo de Hint BNL, BKA e MRR.

  • Adicionada a variável by_expr_ignore_charset no SQL Sharing. Quando by_expr_ignore_charset é definido como ON, as diferenças entre os resumos (digests) gerados por instruções contendo ORDER BY ou GROUP BY em diferentes conjuntos de caracteres são eliminadas. No entanto, após definir como ON, todos os valores de resumo gerados nesse modo diferem daqueles gerados antes de ON ser definido.

  • O recurso Statement Outline adicionou o ponto de entrada dbms_outln.add_optimizer_outline('schema', 'hints', 'query') , usado para adicionar Optimizer Hints.

  • Adicionado o comando ALTER TABLE table_name CHANGE PARTITION partition_name ENGINE = 'csv';, usado para arquivar todos os dados de uma partição especificada de uma tabela particionada no OSS.

Otimizações de desempenho

Descrição

  • Consumo de memória otimizado ao verificar tabelas na lixeira.

  • Adicionado suporte para consultar informações de GTID em um nó somente leitura.

  • O IMCI agora suporta adição instantânea de coluna (instant add column). Isso é alcançado reconstruindo os dados do índice.

  • O IMCI agora suporta a função REGEXPR.

  • O IMCI agora suporta otimização de poda (pruning) para condições IS NULL e IS NOT NULL.

  • Adicionado suporte para Parallel DDL para criação paralela de índice secundário global.

  • Adicionado suporte para tabela particionada com índice secundário global já criado ao usar o recurso Instant column addition at the end of a table.

  • Adicionado suporte para converter uma tabela com um índice secundário global em uma tabela particionada por intervalo (interval range). Também é possível criar um índice secundário global em uma tabela particionada por intervalo.

  • Para melhorar o desempenho, o sistema agora ignora o cálculo do resumo (digest) para instruções SQL sem um Statement Outline.

  • O DDL não bloqueante agora suporta as instruções OPTIMIZE TABLE e TRUNCATE TABLE.

Correções de bugs

Descrição

  • Corrigida uma falha de conexão com o banco de dados causada por tempo limite de leitura ao estabelecer replicação física em um nó somente leitura.

  • Corrigido um problema em que ocorria pushdown incorreto para tabelas com campos NULL quando o parâmetro engine_condition_pushdown estava definido como true.

  • Corrigido um problema ao executar ALTER TABLE engine = csv storage oss, force; , em que não era possível excluir o arquivo de origem no OSS.

  • Corrigida uma falha de nó de banco de dados que ocorria ao verificar uma tabela externa do OSS vazia.

8.0.2.2.12(2023.03.20)

Novos recursos

Descrição

  • Adicionado o recurso Nonblocking DDL.

  • Adicionado o recurso SQL Trace.

  • Adicionado o recurso SQL detail.

  • Adicionado o recurso Auto Plan Cache.

  • Adicionado o recurso IMCI.

  • A consistência global (modo de alto desempenho) adicionou o parâmetro Innodb_scc_timeout_count para registrar o número de tempos limite de consulta.

  • A consistência global (modo de alto desempenho) adicionou o parâmetro Innodb_scc_timeout_degrade_count para registrar o número de vezes que as consultas foram rebaixadas para consultas assíncronas devido a tempo limite.

Otimizações de desempenho

Descrição

  • O Statement Outline agora gera um aviso em vez de um erro para dicas de índice inexistentes.

  • O log de consultas lentas agora inclui planos de execução em seus dados estendidos.

  • A memória para cálculo de resumo de instrução agora é dimensionada dinamicamente com o comprimento da consulta.

  • O Controle de Concorrência (CCL) adicionou o parâmetro ccl_mode. Quando o tráfego de acesso ao banco de dados atinge o limite de controle de concorrência, as solicitações de acesso ao cluster atual de outras fontes são rejeitadas.

  • Os procedimentos armazenados integrados agora suportam variáveis de entrada com o prefixo de um sinal de arroba (@).

  • A granularidade de bloqueio interno do PolarFS foi otimizada, melhorando significativamente o desempenho sob alta carga.

Correções de bugs

Descrição

  • Adicionar ou excluir regras CCL ou Statement Outlines em um nó standby quente ou em um nó somente leitura agora gera um erro corretamente.

  • Corrigido um problema em que a execução de SHOW SLAVE HOSTS no nó primário causava falha no cluster.

8.0.2.2.11.1(2023.02.21)

Novos recursos

Descrição

Adicionado o parâmetro loose_group_by_compatible_sorting, usado para controlar se a classificação Group By compatível com o modo está ativada.

Otimizações de desempenho

Descrição

O Statement Outline com um Schema_name vazio agora corresponde a todas as instruções SQL com o mesmo valor de Digest.

Correções de bugs

Descrição

Corrigido acesso potencial à memória ilegal ao executar uma instrução DDL em uma tabela particionada.

8.0.2.2.11(2023.02.20)

Otimizações de desempenho

Descrição

  • Quando a expressão de partição contém uma coluna de incremento automático (AUTO_INCREMENT), os usuários podem especificar o valor dessa coluna, e a poda de partição é executada com base no valor especificado.

  • A sintaxe LIST DEFAULT HASH para criar tabelas particionadas com add partition agora suporta a opção without validation para adicionar partições LIST.

8.0.2.2.10(2023.01.09)

Novos recursos

Descrição

A sintaxe para converter uma tabela regular em uma tabela particionada agora inclui a opção without validation. Sintaxe: Alter table t1 partition by range(a) (partition p0 values less than (100), partition p1 values less than (200)) without validation.

Otimizações de desempenho

Descrição

  • A computação baseada em custo agora suporta o pushdown de condições de junção externa de derived tables materializadas para o interior da derived table.

  • O otimizador agora converte uma condição de predicado com uma IN-List em uma tabela temporária, executa uma semi-join com a consulta na cláusula from e evita a sobrecarga de materialização repetida usando um método de cópia zero.

  • O otimizador agora faz o pushdown de condições da cláusula HAVING para a cláusula WHERE.

  • As operações DDL em subpartições agora usam um MDL em nível de partição para reduzir a granularidade do bloqueio. Durante a execução do DDL, apenas a partição modificada é afetada, e as operações DML em outras partições não são bloqueadas.

Correções de bugs

Descrição

  • Quando o TDE está ativado, a criptografia das tabelas do sistema é desativada.

  • Os parâmetros de tempo limite para conexões de replicação física foram ajustados para evitar travamentos durante uma falha de máquina física.

2022

8.0.2.2.9(2022.12.23)

Otimizações de desempenho

Descrição

  • Os pontos e vírgulas no final do parâmetro de consulta dos procedimentos armazenados integrados dbms_ccl.add_ccl_digest_rule, dbms_outln.add_index_outline e dbms_outln.add_optimizer_outline agora são ignorados.

  • A palavra-chave MEMBER foi alterada para uma palavra-chave não reservada.

  • Adicionado suporte para o recurso Partial Result Cache.

  • Recurso de eliminação de junção otimizado. Adicionado suporte para realizar a eliminação de left join dentro da tabela (incluindo junções aninhadas em várias camadas e Semi-Join dentro da tabela).

  • O mecanismo de consulta federada agora suporta o pushdown de todas as condições compatíveis para o servidor remoto para execução, retornando apenas as colunas exigidas pela consulta.

  • O mecanismo de consulta federada agora suporta o pushdown da sintaxe LIMIT OFFSET para o banco de dados remoto para execução.

Correções de bugs

Descrição

Corrigido um problema em que não era possível usar IF NOT EXISTS na sintaxe de criação de Server.

8.0.2.2.8(2022.11.30)

Novos recursos

Descrição

  • Adicionada a instrução SELECT INTO OSSOUTFILE, usada para exportar tabelas locais (tabelas no PolarFS) para o OSS.

  • Adicionado suporte para o recurso hot standby switchover.

  • Adicionado o parâmetro dynamic_partition_prune_enabled para controlar o recurso de poda dinâmica de partição. Quando ativado, em cenários de consulta de junção de várias tabelas envolvendo tabelas particionadas, as verificações de partição desnecessárias são reduzidas quando as condições de junção satisfazem as condições de poda de partição, melhorando assim o desempenho da consulta.

Otimizações de desempenho

Descrição

  • Suporta a criação, exclusão e reconstrução de índices em partições específicas de uma tabela particionada.

  • As operações REBUILD PARTITION e REORGANIZE PARTITION agora usam um bloqueio MDL em nível de partição, garantindo que as operações DML em outras partições não sejam afetadas.

  • Não armazena mais em formato de texto claro e exibe a tabela mysql.servers usando o nome da conta e a senha criptografada.

    Nota

    Os nomes de usuário e senhas do Server existentes não são criptografados após a atualização. Você precisa excluí-los manualmente e recriá-los.

  • Adicionado suporte para o uso da tecnologia de junção partition-wise entre tabelas particionadas e tabelas regulares, melhorando significativamente a eficiência da junção sob grandes volumes de dados.

  • O Statement Outline suporta todas as cláusulas UNION.

  • O pushdown de Limit offset agora se aplica ao acessar uma partição específica em uma tabela particionada.

Correções de bugs

Descrição

  • Corrigido um problema no otimizador paralelo que causava uma estimativa imprecisa do número de valores exclusivos para um campo GROUP BY.

  • Corrigido um problema em que instruções SQL eram registradas no Binlog durante uma atualização a quente.

8.0.2.2.7(2022.10.25)

Otimizações de desempenho

Descrição

  • Agora você pode usar a consulta paralela elástica multi-nó (ePQ) para consultas entre nós de dados de tabela externa no Object Storage Service (OSS).

  • Agora você pode usar um índice secundário global (GSI) em tabelas particionadas.

  • Agora você pode usar a consulta paralela multi-nó em vários estágios em consultas que contêm SJM (Semi-join Materialization).

Correções de bugs

Descrição

  • Corrigido o erro ERROR 1028 (HY000): Sort aborted: Query execution was interrupted causado pela terminação antecipada do LIMIT 1.

  • Um nó não falha mais quando uma tarefa agendada grava em uma chave primária implícita.

  • Corrigido um problema em que COUNT(DISTINCT...) retornava conjuntos de resultados incorretos ao usar a consulta paralela elástica multi-nó (ePQ).

  • Uma consulta paralela não retorna mais um conjunto de resultados incorreto quando a condição de consulta contém os tipos DATE e DATETIME.

8.0.2.2.6.1(2022.09.17)

Correções de bugs

Descrição

Corrigida uma falha em nós somente leitura causada por conflitos de valor de hash de nome de arquivo.

8.0.2.2.6(2022.08.19)

Otimizações de desempenho

Descrição

  • Otimização do pool de threads: O pool de threads agora gera threads adicionais para processar novas solicitações enquanto uma transação aguarda um bloqueio de metadados ou um bloqueio de linha.

  • CCL aprimorado para suportar limitação de DDL.

  • Acelerado o processo de reconstrução de dados DDL com uma gravação assíncrona em um arquivo temporário.

  • Desempenho do pool de threads melhorado sob alta concorrência.

  • Adicionado o parâmetro oss_sts_token na sintaxe para criação de um servidor OSS, que é usado para configurar credenciais de acesso temporário para o OSS.

Correções de bugs

Descrição

Corrigido erro de resultados retornados em consultas que possuem simultaneamente pushdown de Limit offset e MRR durante a otimização.

8.0.2.2.5.1(2022.07.22)

Otimizações de desempenho

Descrição

  • Adicionado suporte para a criação de tabelas particionadas híbridas. Para obter mais informações, consulte create hybrid partitions.

  • Os nós somente leitura agora suportam tabelas temporárias de memória personalizadas. Este recurso suporta apenas os mecanismos MEMORY e MyISAM.

  • Adicionado suporte para o recurso ReadableProto. Ele permite que você leia diretamente dados serializados e armazenados em um campo BLOB especificando o protocolo Protobuf.

  • Otimizado o algoritmo de classificação DDL substituindo uma intercalação de duas vias por uma intercalação de várias vias para reduzir as operações de I/O e melhorar o desempenho da criação de índice DDL.

  • Adicionado o parâmetro oss_prefix na sintaxe de criação de servidor OSS, usado para configurar o caminho do arquivo no OSS.

Correções de bugs

Descrição

  • Corrigido um problema em que group_by_implicit_sorting produzia resultados não ordenados durante a execução concorrente ao selecionar o índice de uma coluna group by.

  • Corrigido um problema em que a instrução EXPLAIN FORMAT=TREE exibia resultados de Hash Join com erro em cost e rows.

  • Corrigida latência excessiva de replicação física sob baixa carga do cluster.

  • Corrigido um problema em que a limpeza da LRU List era bloqueada, impedindo a liberação de uma página. Isso ocorria quando havia muitas páginas sujas (dirty pages) no Buffer Pool e o flush era lento.

  • Corrigida falha no banco de dados causada por registros muito longos durante operações de rollback de Update após instant add column.

8.0.2.2.4(2022.05.31)

Novos recursos

Descrição

Adicionado suporte para os usuários criarem e usarem tabelas do mecanismo Federated.

Correções de bugs

Descrição

  • Corrigido um problema em que o SKIP_SCAN podia retornar um conjunto de resultados incorreto quando existem vários conjuntos de dados em um prefixo de índice.

  • Corrigido um problema em que o SKIP_SCAN retornava um conjunto de resultados incorreto para dados marcados para exclusão.

  • Corrigido um problema em que o cache de consulta rápida bloqueava a sincronização do redo log quando o nó somente leitura adquiria um bloqueio de metadados (MDL).

8.0.2.2.3(2022.04.19)

Correções de bugs

Descrição

Corrigido erro de resultados ao usar índice para group by.

8.0.2.2.2(2022.03.31)

Otimizações de desempenho

Descrição

  • A consulta paralela do PolarDB agora suporta o mecanismo de execução paralela multi-nó (ePQ). Para uma única consulta, alguns ou todos os Workers podem ser agendados para nós remotos, aproveitando os recursos de computação de vários nós no cluster. Os detalhes são os seguintes:

    • O grau de paralelismo para consultas paralelas pode ultrapassar os gargalos de nó único e acelerar consultas grandes e outras consultas analíticas.

    • O mecanismo agenda consultas para nós ociosos com base na carga global de recursos para acelerar as consultas e melhorar a utilização dos recursos.

    • Você pode formar vários grupos de clusters para criar um pool de recursos de computação, proporcionando maior elasticidade para os recursos de computação.

  • Adicionado o switch parallel_query_switch ao parâmetro de consulta paralela restrict_on_limit_without_order, que controla consultas paralelas com LIMIT, mas sem ORDER BY.

  • O PolarDB agora suporta pushdown de condição para uma tabela derivada materializada.

8.0.2.2.1(2022.03.15)

Novos recursos

Descrição

Adicionada a sintaxe SET INTERVAL para modificar o tipo INTERVAL e o valor das partições INTERVAL RANGE, além de permitir a conversão entre tabelas particionadas por RANGE e tabelas particionadas por INTERVAL RANGE. Para mais informações, consulte modify INTERVAL RANGE partitions e convert partitioned tables.

Otimizações de desempenho

Descrição

Correções de bugs

Descrição

  • Corrigido um problema em que a history list não podia ser excluída, causando o crescimento excessivo do undo log.

  • Corrigido um problema ao criar uma tabela particionada com CREATE TABLE.. LIKE.. LIST DEFAULT HASH em caso de falha.

  • Corrigido um problema de exibição do UNIQUE CHECK IGNORE na tabela do sistema mysql.tables.

8.0.2.2.0(2022.01.12)

Otimizações de desempenho

Descrição

  • A capacidade de Elastic Parallel Query foi aprimorada. A capacidade de aceleração linear foi elevada a um novo patamar com a introdução da computação paralela em múltiplos estágios.

  • Capacidades de partitioned table aprimoradas. Há suporte para mais tipos de tabelas particionadas, incluindo o particionamento por intervalo (Interval). Para mais informações, consulte Tabelas particionadas.

  • Adicionado suporte para decorrelação de subconsultas.

  • Com o PolarProxy, agora você pode usar uma stored procedure para definir um campo sensível e marcar os metadados de seu valor.

  • Adicionada a variável STATUS Online_altered_partition para contar o número de operações ALTER TABLE ADD PARTITION e ALTER TABLE DROP PARTITION executadas online.

  • O kernel do banco de dados agora oferece suporte à retomada de transações a partir de pontos de interrupção e permite que um nó somente leitura leia transações não confirmadas.

Correções de bugs

Descrição

  • Adicionado suporte para as sintaxes SELECT FOR UPDATE WAIT N e SELECT FOR SHARE WAIT N. N representa o tempo limite de espera de bloqueio em segundos, aplicado por bloqueio de linha. Se uma consulta precisar bloquear várias linhas, o tempo não é acumulado — a detecção de tempo limite se aplica a cada linha individualmente. Se a espera exceder N segundos, o erro "Lock wait timeout exceeded; try restarting transaction" será retornado.

  • Corrigido um problema em que o otimizador não selecionava o caminho ideal de varredura de intervalo de índice para algumas instruções GROUP BY.

  • Corrigido um problema em que um valor grande do parâmetro group_concat_max_len causava estouro aritmético, resultando em resultados incorretos da função GROUP_CONCAT.

  • Adicionado suporte para modificar o tamanho do cache do banco de dados.

  • Desempenho de consulta otimizado ao evitar varreduras de partição desnecessárias.

  • Corrigido um problema em que uma operação DDL falhava em uma tabela criptografada.

  • Otimizado o master_key_id_mutex para permitir a execução de operações DDL em paralelo.

  • Corrigida uma falha durante a reprodução de logs em um nó somente leitura sob cargas de trabalho de alta concorrência.

  • Corrigido um problema em que nós somente leitura falhavam em m_recv_bits.is_set(fold) durante a replicação física sob alta pressão de concorrência.

2021

8.0.2.1.4.1(2021.10.26)

Otimizações de desempenho

Descrição

O valor padrão do parâmetro innodb_adaptive_hash_index foi modificado de ON para OFF.

Correções de bugs

Descrição

Adicionado suporte para modificar o tamanho do cache do banco de dados.

2020

8.0.2.1.4(2020.12.01)

Novos recursos

Descrição

Adicionado suporte para o recurso oficial MySQL 8.0.20 Index Hints.

Correções de bugs

Descrição

  • Resolvido um problema de estabilidade com o Hash Join paralelo.

  • Corrigido um bug nas estatísticas que causava estimativas incorretas de contagem de linhas para chaves de índice.

  • Corrigido um erro na varredura paralela de tabelas temporárias compartilhadas com dados vazios.

  • Corrigido um erro de processamento de dados na função REGEXP_REPLACE.

  • Corrigida uma falha em consultas complexas contendo constantes de subconsulta.

  • Corrigido um bug que fazia o filesort retornar dados incorretos.

8.0.2.1.3(2020.10.26)

Otimizações de desempenho

Descrição

  • Melhorado o modelo de estimativa de custo para o Hash Join.

  • Adicionado suporte para Hash Join paralelo, incluindo as fases Build e Probe em paralelo.

Correções de bugs

Descrição

  • Corrigido um problema que fazia com que o número de partições paralelas fosse exibido incorretamente em um plano de execução paralela.

  • Corrigida uma falha causada por subconsultas paralelas.

  • Corrigido o RAND() para produzir resultados aleatórios em todas as worker threads em uma consulta paralela.

8.0.2.1.2(2020.09.27)

Otimizações de desempenho

Descrição

A consulta paralela do PolarDB agora oferece suporte total ao mais recente executor iterativo do modelo volcano.

8.0.2.1.1(2020.08.26)

Otimizações de desempenho

Descrição

Otimizado o desempenho de gravação do cluster.

Correções de bugs

Descrição

Corrigido um problema de vazamento de memória.

8.0.2.1.0(2020.07.22)

Novos recursos

Descrição

Adicionado o persistent buffer pool (Warm Buffer Pool). Durante reinicializações após falhas e atualizações, os dados no Buffer Pool são retidos, acelerando significativamente a velocidade de reinicialização e mantendo o desempenho consistente após a reinicialização.

Otimizações de desempenho

Descrição

  • O EXPLAIN agora pode exibir um plano paralelo. Você pode usar FORMAT=TREE para visualizar a árvore do plano de execução paralela.

  • A consulta paralela agora oferece suporte a hash join, melhorando o desempenho de JOIN para tabelas sem índices. Para mais informações, consulte parallel acceleration of hash joins.

  • Adicionado suporte para o recurso Resource Manager, que permite o monitoramento de recursos de CPU e memória. Para mais informações, consulte a documentação relacionada.

  • Adicionado suporte para o Performance Agent, que coleta e agrega dados de desempenho para nós em um cluster PolarDB for MySQL. Você pode consultar a tabela de memória PERF_STATISTICS para obter métricas de desempenho. Para mais informações, consulte Performance Agent, que coleta e agrega dados de desempenho para nós em um cluster PolarDB for MySQL. Você pode consultar a tabela de memória PERF_STATISTICS para obter métricas de desempenho. Para mais informações, consulte Performance Agent.