O pacote de download vem com documentação avançada e código-fonte do banco de dados.
O que é novo nesta versão:
- MVStore:., em alguns casos, os blocos de dados CLOB / BLOB foram removidos incorretamente ao abrir um banco de dados
- MVStore:. alterações que afetaram muitas linhas foram foram lentos em alguns casos, se houvesse um índice secundário
- Usando o "runscript" com autocommit desativado poderia resultar em um tempo limite de bloqueio na tabela interna "SYS".
- Edição 603: houve um vazamento de memória quando se utiliza H2 em uma aplicação web. Apache Tomcat registrada uma mensagem de erro:. "A aplicação web ... criou um ThreadLocal com chave do tipo [org.h2.util.DateTimeUtils $ 1]"
- Ao usar o MVStore, executando um script SQL gerar pela ferramenta de recuperar a partir de um arquivo PageStore falhou com uma mensagem de erro estranho (NullPointerException), agora uma clara mensagem de erro é mostrada.
- Edição 605: com a versão 1.4.186, abrindo um banco de dados pode resultar em um loop infinito em LobStorageMap.init .
- As consultas que utilizam a mesma tabela de alias várias vezes agora trabalhar. Antes, a lista de seleção de expressão foi ampliada de forma incorreta. Exemplo:. "Selecione * de um como x, x b como"
- O recurso de compatibilidade com MySQL "insert ... na atualização de chave duplicada" não funcionou com um esquema não-padrão.
- Edição 599:. a condição "em (x, y)" não poderia ser utilizado na lista de seleção ao usar "grupo por"
- O cache LIRs poderia crescer mais do que a memória alocada.
- A nova implementação do sistema de arquivos que re-abre o arquivo se ele foi fechada devido à aplicação chamando Thread.interrupt (). Nome do arquivo prefixo "repetição". Por favor, note é altamente recomendável para evitar chamar Thread.interrupt; este é um problema para várias bibliotecas, incluindo Apache Lucene.
- MVStore: usar sistema de arquivos RandomAccessFile se o nome do arquivo começa com "file:".
- Permitir DATEADD para tomar um valor longo para a contagem quando da manipulação de milissegundos.
- Ao usar MV_STORE = TRUE ea definição SET cache_size, o tamanho do cache foi definida incorretamente, de modo que era efetivamente de 1024 vezes menor do que deveria ser.
- Concurrent CREATE TABLE ... SE NÃO EXISTE na presença de MULTI_THREAD = TRUE poderia lançar uma exceção.
- bug Fix em MVStore ao criar lotes de tabelas temporárias, onde poderíamos ficar sem IDs de transação.
- Adicionar suporte para PostgreSQL função STRING_AGG. Remendo por Fred Aquiles.
- Fix bug em "jdbc: nioMemFS: h2" função isRoot (). Além disso, o tamanho da página foi aumentado para 64 KB.
O que é novo na versão 1.3.187:
- MVStore:., em alguns casos, os blocos de dados CLOB / BLOB foram removidos incorretamente ao abrir um banco de dados
- MVStore:. alterações que afetaram muitas linhas foram foram lentos em alguns casos, se houvesse um índice secundário
- Usando o "runscript" com autocommit desativado poderia resultar em um tempo limite de bloqueio na tabela interna "SYS".
- Edição 603: houve um vazamento de memória quando se utiliza H2 em uma aplicação web. Apache Tomcat registrada uma mensagem de erro:. "A aplicação web ... criou um ThreadLocal com chave do tipo [org.h2.util.DateTimeUtils $ 1]"
- Ao usar o MVStore, executando um script SQL gerar pela ferramenta de recuperar a partir de um arquivo PageStore falhou com uma mensagem de erro estranho (NullPointerException), agora uma clara mensagem de erro é mostrada.
- Edição 605: com a versão 1.4.186, abrindo um banco de dados pode resultar em um loop infinito em LobStorageMap.init .
- As consultas que utilizam a mesma tabela de alias várias vezes agora trabalhar. Antes, a lista de seleção de expressão foi ampliada de forma incorreta. Exemplo:. "Selecione * de um como x, x b como"
- O recurso de compatibilidade com MySQL "insert ... na atualização de chave duplicada" não funcionou com um esquema não-padrão.
- Edição 599:. a condição "em (x, y)" não poderia ser utilizado na lista de seleção ao usar "grupo por"
- O cache LIRs poderia crescer mais do que a memória alocada.
- A nova implementação do sistema de arquivos que re-abre o arquivo se ele foi fechada devido à aplicação chamando Thread.interrupt (). Nome do arquivo prefixo "repetição". Por favor, note é altamente recomendável para evitar chamar Thread.interrupt; este é um problema para várias bibliotecas, incluindo Apache Lucene.
- MVStore: usar sistema de arquivos RandomAccessFile se o nome do arquivo começa com "file:".
- Permitir DATEADD para tomar um valor longo para a contagem quando da manipulação de milissegundos.
- Ao usar MV_STORE = TRUE ea definição SET cache_size, o tamanho do cache foi definida incorretamente, de modo que era efetivamente de 1024 vezes menor do que deveria ser.
- Concurrent CREATE TABLE ... SE NÃO EXISTE na presença de MULTI_THREAD = TRUE poderia lançar uma exceção.
- bug Fix em MVStore ao criar lotes de tabelas temporárias, onde poderíamos ficar sem IDs de transação.
- Adicionar suporte para PostgreSQL função STRING_AGG. Remendo por Fred Aquiles.
- Fix bug em "jdbc: nioMemFS: h2" função isRoot (). Além disso, o tamanho da página foi aumentado para 64 KB.
O que é novo na versão 1.3.186:
- MVStore: importado dados BLOB e CLOB, por vezes, desapareceu. Isto foi causado por um erro na comparação ObjectDataType.
- Leitura de um StreamStore agora lança uma IOException se os dados subjacentes não existe.
- MVStore:. Se há uma exceção ao salvar, a loja está agora em todos os casos imediatamente fechadas
- MVStore:. a ferramenta de despejo poderia entrar em um loop infinito para alguns arquivos
- MVStore:. recuperação para um banco de dados com muitas entradas CLOB ou BLOB é agora muito mais rápido
- Grupo por com um seleto nome da coluna de alias citado não funcionou. Exemplo: selecione 1 "a" dupla de grupo por "a"
- Modo Auto-servidor:. o nome do host agora está armazenado no arquivo .lock.db
O que é novo na versão 1.3.185:
- MVStore: importado dados BLOB e CLOB, por vezes, desapareceu. Isto foi causado por um erro na comparação ObjectDataType.
- Leitura de um StreamStore agora lança uma IOException se os dados subjacentes não existe.
- MVStore:. Se há uma exceção ao salvar, a loja está agora em todos os casos imediatamente fechadas
- MVStore:. a ferramenta de despejo poderia entrar em um loop infinito para alguns arquivos
- MVStore:. recuperação para um banco de dados com muitas entradas CLOB ou BLOB é agora muito mais rápido
- Grupo por com um seleto nome da coluna de alias citado não funcionou. Exemplo: selecione 1 "a" dupla de grupo por "a"
- Modo Auto-servidor:. o nome do host agora está armazenado no arquivo .lock.db
O que é novo na versão 1.3.182:
- MVStore: melhoria das mensagens de erro e de exploração; comportamento melhorado se houver um erro quando a serialização objetos.
- OSGi:. MVStore os pacotes agora são exportados
- Com a opção MVStore, ao usar vários segmentos que simultaneamente criam índices ou tabelas, era relativamente fácil de obter um tempo limite de bloqueio sobre a mesa "SYS".
- Ao usar a opção multi-threaded, a exceção "caminho de código inesperado" poderia ser lançada, especialmente se a opção "analyze_auto" foi definida para um valor baixo.
- No modo do servidor, quando a leitura de um CLOB ou BLOB, se a conexão foi fechada, um NullPointerException pode ser lançada em vez de uma exceção dizendo que a conexão é fechada.
- DatabaseMetaData.getProcedures e getProcedureColumns poderia lançar uma exceção se uma classe definida pelo usuário não está disponível.
- Edição 584:. a mensagem de erro para uma definição sequência errado estava errado
- CSV:. a opção rowSeparator já não é suportado, como o mesmo pode ser alcançado com a lineSeparator
- Descendente índices em tabelas MVStore não funcionou corretamente.
- Edição 579:. As condições na "_ROWID_" pseudo-coluna não utilizar um índice quando usando o MVStore
- Fixo documentação que "compensar" e "buscar" também são palavras-chave desde a versão 1.4.x.
- O Long.MIN_VALUE não pôde ser analisada para auto-incremento (identidade) colunas.
ferramenta
O que é novo na versão 1.3.181:
- Melhor compatibilidade MySQL apoiando "esquema uso". Muito obrigado a Karl Pietrzak para o patch!
- Escrevendo para o arquivo de rastreio é agora mais rápido, especialmente com o nível de depuração.
- A opção de banco de dados "defrag_always = true" não funcionou com o MVStore.
- A sintaxe de escape do JDBC {'valor' ts} não interpretou o valor como um timestamp. O mesmo para {'value' d} (por data) e {t 'value'} (por tempo). Graças a Lukas Eder por relatar o problema.
- arquivo:. apoio substituindo os arquivos existentes usando movimento (atualmente não para Windows)
- A declaração "desfragmentação shutdown" agora comprime o banco de dados (com o MVStore). Este comando pode reduzir significativamente o tamanho do arquivo, e é relativamente rápido, mas não é incremental.
- O MVStore agora compacta automaticamente a loja no fundo se não houver leitura ou gravação atividade, que deve (depois de algum tempo, às vezes cerca de um minuto) reduzir o tamanho do arquivo. Este ainda é um trabalho em andamento, o feedback é bem-vindo!
- Alterar valor padrão de PAGE_SIZE 2048-4096 para corresponder mais de perto a maioria dos sistemas de arquivos tamanho do bloco. (PageStore somente; o MVStore já usada 4096)
abstração do sistema
O que é novo na versão 1.3.180:
- MVStore: a loja é agora auto-compactadas automaticamente até algum ponto, para evitar os tamanhos dos arquivos muito grandes. Esta área ainda é um trabalho em andamento.
- Seqüências de tabelas temporárias (auto-incremento de identidade ou colunas) foram desnecessariamente persistiu no arquivo de banco de dados, e não foram removidos quando reabrir o banco de dados.
- MVStore: um IndexOutOfBoundsException poderia às vezes ocorrer MVMap.openVersion quando acessando simultaneamente a loja .
- O cache LIRs agora re-dimensiona o mapa de hash interna, se necessário.
- Opcionalmente persistem histórico da sessão no console H2.
- Adicione cliente-info propriedade para obter o número de servidores atualmente no cluster e quais os servidores que estão disponíveis.
- bug Fix na mudança de senha criptografada DB que manteve o identificador de arquivo aberto quando a senha errada foi fornecida.
O que é novo na versão 1.3.179:
- As consultas recursivas com muitas linhas de resultado (mais do que a definição "max_memory_rows") não funcionou corretamente.
- A licença foi alterado para MPL 2.0 + EPL 1.0.
- MVStore: tabelas temporárias de conjuntos de resultados poderiam sobreviver re-abertura de um banco de dados, o que poderia resultar em uma ClassCastException .
- Issue 566: MVStore: exclusivo índices que foram criados mais tarde não funcionar corretamente se havia mais de 5000 linhas na tabela .
- MVStore:. criação de índices secundários sobre grandes resultados em tabelas faltando linhas no índice
- Metadados:. a senha de tabelas vinculadas é agora visíveis somente para usuários de administração
- Para o Windows, URLs de banco de dados na forma de "jdbc: h2: / test". onde considerado relativa e não funciona a menos que a propriedade do sistema "h2.implicitRelativePath" foi usado
- Windows: usando um diretório base do "C: /". semelhante e não funcionou como esperado
- Siga especificação JDBC sobre Procedimentos de metadados, uso P0 como tipo de retorno do procedimento.
- Edição 531:. IDENTIDADE ignorado para a coluna adicionada
- FileSystem: melhorar a compatibilidade de arremesso com exceção JDK
- Índice Espacial: ajustar os custos de modo que não usar o índice espacial se a consulta não contém um operador cruza .
- Corrija impasse multi-threaded ao usar uma exibição que inclui uma TableFunction.
- bug Fix na divisão de muito pequenos números BigDecimal.
O que é novo na versão 1.3.176:
- O arquivo método 'serializado' bloqueio não é mais documentadas, uma vez que não estará disponível na versão 1.4.
- O método Csv.getInstance estático () foi removido. Use o construtor público em vez disso.
- O nome padrão de usuário para o Script, RunScript, Shell, e CreateCluster ferramentas não são mais "sa", mas uma cadeia vazia.
- O rastreamento de pilha de exceção "O objeto já está fechada" já não é registrado por padrão.
- Se um valor de um conjunto de resultados foi em si um conjunto de resultados, o resultado só podia ser lido uma vez.
- As restrições de coluna também são visíveis na vista.
- A concessão de um direito adicional para um papel que já tinha o direito para que a tabela não estava funcionando.
- índice espacial:. alguns bugs foram corrigidos (usando restrições espaciais em vista, a transferência de objetos de geometria através de TCP / IP, o objeto de geometria retornada é copiado quando necessário)
- Edição 551:. tipo de dados a documentação estava incorreto
- Edição 368: ON DUPLICATE KEY ATUALIZAÇÃO não funcionou para inserções multi-linhas. Caso de teste de Angus Macdonald.
- OSGi:. javax.tools os pacotes agora é importado (como opcional)
- H2 Console:. de auto-completar agora está desativado por padrão, mas há uma tecla de atalho (Ctrl + Space)
- H2 Console:. de auto-completar não funciona com as declarações de várias linhas
- CLOB e BLOB não foi imediatamente removido após uma reversão.
- Existe uma nova API Aggregate que suporta os tipos de dados internos H2 (geometria, por exemplo). Muito obrigado a Nicolas Fortin para o patch!
- restrições de integridade referencial por vezes utilizado o índice errado, de modo que atualizar uma linha na tabela referenciada incorretamente falhou com uma violação de restrição.
- A tradução polonês foi completada e corrigida.
- Edição 545:. Desnecessário código duplicado foi removido
- A ferramenta profiler agora pode processar arquivos com despejo de segmentos completos.
dados
O que é novo na versão 1.3.175:
- As consultas união: linhas duplicadas poderia ser devolvido se as sub-consultas continha "ordem por" .
- O tipo de dados de geometria agora trabalha para funções definidas pelo usuário que retornam um conjunto de resultados.
- compatibilidade PostgreSQL:. a pgserver não estava funcionando corretamente quando o database_to_upper configuração foi definida como false
- JdbcDataSource: o setURL métodos e getUrl onde adicionado como apelidos para setURL e getURL. Isto deve resolver problemas com o (pool de conexão Hikari) HikariCP.
- Edição 537: H2 Console:. ao carregar o esquema, incorreto chamadas JDBC onde emitido, o que causou a exceção "precisão da coluna não encontrado"
- Melhorado o processamento de geometria (edição 535).
- O agrupamento agora pode ser definido na URL de banco de dados, mesmo se não houver tabelas de dados, se a coleção é o mesmo que o agrupamento atual.
- Melhor compatibilidade Oracle para CASE WHEN e decodificar.
- A declaração "cair todos os objetos" não funciona se uma tabela depende de uma vista através de uma restrição.
- Subqueries ou pontos de vista com "ordem por" uma expressão alias não pôde ser executada devido a uma regressão introduzida na versão 1.3.174.
O que é novo na versão 1.3.174:
- índice espacial melhorada e tipo de dados.
- Edição 467:. OSGi Classe Loader (capacidade de criar referência para a aula em outro ClassLoader, por exemplo, em um outro pacote OSGi)
- "grupo por" Consultas que contêm uma subconsulta com uma função de agregação devolveu o resultado errado em alguns casos.
- Fix bug em índices exclusivos e não exclusivos de hash que se manifestam como resultados incorretos quando a chave de pesquisa foi um tipo cardeal diferente da chave índice da tabela. por exemplo. onde um era INT eo outro era LONGO
- Bug:. As alterações à estrutura de banco de dados não resultar na cache de consultas Sessão sendo invalidado
- Novo recurso de Davide Cavestro -. permitir o uso de motores de costume objeto Java serialização em uma base per-DB
- Ao executar a ferramenta Recuperar na muito grandes; bancos de dados (& gt 6G), algumas estatísticas foram relatados com números negativos .
- Adicione uma coluna CONTAINS_UNCOMMITTED à mesa de SESSIONS metadados, para permitir detectar quando as sessões desonestos estão criando grandes transações.
- Algumas pequenas correções para o suporte GEOMETRIA, remendos por Nicolas Fortin.
- A ferramenta BNF eo recurso de preenchimento automático são exportados em OSGi, o que torna possível para os editores inteligentes para fazer autocomplete. Remendo de Nicolas Fortin.
- Fix GOTA todos os objetos e DROP SCHEMA na presença de tabelas com as dependências de coluna computados.
- Session-LOB temporário de, por vezes, poderia acumular, aumentando o tamanho do arquivo de DB até o desligamento. Agora, eles são removidos para fora a cada commit.
- Houve um erro em que um índice hash com mais de uma coluna seria silenciosamente convertido para um índice regular. Ele agora irá lançar uma exceção.
- Consulta Estatísticas: novo recurso que armazena as mais novas 100 consultas SQL executadas e os seus dados de desempenho. Útil para rastreamento de mal executar consultas.
- Corrigir um impasse LOB entre a leitura ea atualização colunas LOB.
- Suporte a JDBC DatabaseMetaData # getClientInfoProperties () método, no sentido de devolver um resultado vazio, a fim de fazer WebSphere feliz.
- Faça Servidor # openBrowser respeitar a variável de ambiente $ BROWSER. Adicionar "cromo" para a lista de navegadores tentado. Remendo de Felix Kaiser.
- Corrija a org.h2.util.ScriptReader ao manusear blocos de comentários não fechadas.
- Faça org.h2.util.ScriptReader lançar uma exceção melhor ao lidar com scripts de trincas que geram declarações extremamente grandes.
O que é novo na versão 1.3.173:
- Suporte declarações vazias que apenas contém um comentário.
- modo de servidor:. se houve um erro durante a leitura de um LOB, a sessão foi fechada, em alguns casos
- Edição 463:. Nome do driver e versão são agora o mesmo em OsgiDataSourceFactory e JdbcDatabaseMetaData li>
- JaQu:. O tipo de dados VARCHAR é agora (de novo) usado para Cordas (não TEXT, exceto quando expressamente definido)
- Para bancos de dados na memória, criando um índice em uma coluna CLOB ou BLOB não é mais suportado. Este é simplificar a MVTableEngine.
- New coluna "information_schema.tables.row_count_estimate".
- Edição 468: trunc (timestamp) poderia retornar o valor incorreto (+12 horas), e trunc (número) lançar um NullPointerException .
- A expressão trunc (número) jogou um NullPointerException.
- Corrigido um impasse quando a atualização do LOB simultaneamente. Veja TestLob.testDeadlock2 ().
- Corrigido um impasse relacionado com conjuntos de resultados muito grande temporário.
- Adicionar opção "list" para a ferramenta de linha de comando para que Shell-list-mode resultado pode ser acionado durante a leitura de um arquivo.
Comentários não encontrado