H2 Database Engine ist ein Open Source Multiplattform und freie Grafiksoftware in Java implementiert und entwickelt, um Benutzer mit einer sehr schnellen JDBC-API, die eine Browser-basierte Konsole verfügt und hinterlässt einen sehr geringen Platzbedarf (ca. 1 MB) zur Verfügung stellen.
Die Anwendung wird mit einem eingebetteten Modus (speicher Datenbanken), die schneller ist als die Client-Server-Modus ist. Es bietet auch Unterstützung für verschlüsselte Datenbanken, ODBC (Open Database Connectivity) -Treiber, Volltextsuche, sowie Multi-Version concurrency.Features auf einen glanceKey Features sind eine sehr schnelle Datenbank-Engine, Unterstützung von Standard-SQL und JDBC-API, Clustering Unterstützung, leistungsstarke Sicherheitsoptionen, Unterstützung für die PostgreSQL-ODBC-Treiber, In-Memory-Tabellen, In-Memory-Datenbanken, Festplatten-basierte Datenbanken, plattenbasierte Tabellen, temporäre Tabellen, die Unterstützung für schreibgeschützten Datenbanken, Transaktionsunterstützung und Tabellensperren.
Darüber hinaus verfügt die Software 2-Phasen-Commit-Unterstützung, kostenbasierte Optimizer, Unterstützung mehrerer Verbindungen, die Unterstützung von Ergebnismengen, die aktualisierbare und scrollbare, Unterstützung für externe Ergebnis Sortieren, Unterstützung für große Ergebnismengen, die Unterstützung für AES sind (Advanced Encryption Standard) verschlüsselt Datenbanken, SSL (Secure Socket Layer) Unterstützung, sowie die Unterstützung für SHA-256 verschlüsselte Passwörter.
Neben anderen Funktionen zu erwähnen, können wir leicht zu nennen Unterstützung für Informationsschema und mehrere Schemas, Zusammen Unterstützung, Unterstützung für Rollen und Benutzer, verlustfreie Datenkompression, äußere und innere Joins, Inline-Ansichten, schreibgeschützte Ansichten, Unterabfragen, referentielle Integrität, Prüfung Einschränkungen autoincrement-Spalten, berechnete Spalten und die Reihenfolge columns.Supported Datenbank serversCurrently ist H2 Database Engine kompatibel mit dem bekannten MySQL, PostgreSQL, IBM DB2, Apache Derby, Microsoft SQL Server, Oracle und HSQLDB-Datenbankserver / engines.Under die Haube und unterstützten Betriebs systemsBeing in der Programmiersprache Java geschrieben sind, ist die H2 Database Engine Projekt plattformunabhängig und unterstützt alle Betriebssysteme, wo der Java Runtime Environment (JRE) zur Verfügung, darunter GNU / Linux, Microsoft Windows, Mac OS X, Solaris und BSD
Was ist neu in dieser Pressemitteilung:.
- EXPLAIN falsch war für Abfragen mit & quot; ANY & quot; oder & quot; SOME & quot; Bedingungen.
- Callablestatement mit & quot; aus & quot; Parameter:. läuft zweimal die gleiche Aussage könnte zu einer Ausnahme (& quot; Parameter nicht & quot;)
- Fragen Union:. Doppelte Zeilen könnte zurückgeschickt werden, wenn die Unterabfragen enthalten & rdquo; von & quot Ordnung;
- Die Geometrie-Datentyp arbeitet jetzt für benutzerdefinierte Funktionen, die eine Ergebnismenge zurückgeben.
- PostgreSQL-Kompatibilität:. Die pgserver funktionierte nicht richtig, wenn die Einstellung database_to_upper wurde auf false gesetzt
- JdbcDataSource: die Methoden setUrl und getUrl wo als Aliasnamen für setURL und getURL aufgenommen. Dies sollte Probleme mit dem HikariCP (Hikari Verbindungspool) zu lösen.
- Ausgabe 537: H2-Konsole: beim Laden des Schemas, ruft falsche JDBC wo ausgestellt, die die Ausnahme verursachte & quot; Column PRECISION nicht gefunden & quot; .
- Verbesserte Geometrieverarbeitung (Ausgabe 535).
- Die Sortierung kann nun in der Datenbank-URL eingestellt werden, auch wenn es Datentabellen, wenn die Sammlung ist der gleiche wie der aktuellen Kollatierung.
- Verbesserte Oracle-Kompatibilität für CASE WHEN und DECODE.
- Die Aussage & quot; Drop alle Objekte & quot; nicht, wenn eine Tabelle hängt von einer Ansicht über eine Einschränkung.
- Unterabfragen oder Views mit & quot;, um von & quot; ein Alias Expression konnte aufgrund einer Regression in Version 1.3.174 eingeführt ausgeführt werden.
- Ausgabe 73: MySQL-Kompatibilität:. Unterstützung REPLACE, Patch von Cemo Koc
- Der räumliche Index funktioniert jetzt in MVCC-Modus bei Verwendung des MVStore Speicher.
- MVStore: Concurrency Probleme wurden behoben. Die API wurde vereinfacht.
- Verbesserte Fehlermeldung beim Löschen eines Index, die zu einer Einschränkung gehört, geben Einschränkung in Fehlermeldung.
- Ausgabe 518: java.sql.Connection.commit () friert nach LOB-Modifikation mit EXKLUSIV-Verbindung
- Ausgabe 517: Erstellen oder view-Anweisung zu ersetzen hat keine Auswirkungen auf die anderen bereits vorhandene JDBC-Verbindung
- Unterstützung 123L Syntax wie in Java; Beispiel:. SELECT (2000000000L * 2)
- Ausgabe 520:. Unterstützung für Folge Maximalwert, Minimalwert und Kreislauf, Patch von Daniel Gredler hinzufügen
- Ausgabe 521: ScriptReader sollte Closeable implementieren
- Ausgabe 524:. RunScript.execute nicht seine Erklärung, Patch aus Gallien zu schließen
- Hinzufügen von Unterstützung für DB2 & quot; MIT UR & quot; Klausel, Patch von litailang
- Unterstützung für ON DUPLICATE KEY UPDATE wie MySQL mit den Werten (), um mit dem Wert, der eingefügt wurde aktualisiert. Patch von Jean-Francois Noel.
- Ausgabe 522:. Gönnen leere Zeichenfolgen wie NULL in Oracle-Kompatibilitätsmodus, Patch von Daniel Gredler
- Ausgabe 527: Oracle-Kompatibilitätsmodus:. Fehl Skala Verhalten, Patch von Daniel Gredler
- Reduzieren Sie die Speicherkosten Metadaten anzeigen.
- Erweitern Unterstützung der & quot; GRANT ALTER ANY SCHEMA ZUR & quot; um grantee Fähigkeit, Tabellen bearbeiten können
- Ausgabe 532: Javadoc ErrorCode.ROLES_AND_RIGHT_CANNOT_BE_MIXED sieht falsch
- Ausgabe 528: Fügen Sie Oracle-kompatible Funktion TO_CHAR, Patch von Daniel Gredler .
- Ausgabe 534: CREATE ALIAS NOCACHE, Patch von Nicolas Fortin
- Fix ein Problem mit der Speicherung von Unicode-Ersatzzeichenpaare in CLOB Spalten.
- H2-Konsole: add SHIFT + ENTER & quot; laufen ausgewählten & quot; Funktionalität
- Fix bug in DB2 Syntax & quot; select * from Test mit ur & quot ;, Patch von litailang
- Fix bug in DROP ALLE OBJEKTE im Umgang mit inter Schema Abhängigkeiten.
Was ist neu in Version 1.3.174:
- LIRS Cache: Bugfix für Caches, die nur enthalten nicht Resident-Einträge.
- Für die In-Memory-Datenbanken, Abfragen mit einer & quot; Gruppe & quot; Spalte, die auch ein Hash-Index warf eine Runtime.
- Verbesserte Fehlermeldung für einige Syntaxfehler.
- Dateisystem Abstraktion: Wenn direkt verwendet, einige Dateisysteme nicht ordnungsgemäß mit geklebten Byte-Puffer (die Datenbank-Engine nicht verwendet denen) arbeiten .
- Um die MVStore Speicher-Engine (die noch im Gange ist, zu arbeiten) verwenden, hängen Sie & quot ;; mv_store = true & quot; die Datenbank-URL. Mit dem MVTableEngine beim Erstellen der Tabelle wird nicht mehr empfohlen.
- Um benutzerdefinierte Funktionen zu erstellen, die javax.tools.JavaCompiler wird nun verwendet, falls vorhanden, und es werden keine temporären Dateien erstellt. Dies sollte Probleme zu lösen, wenn mehrere H2 Datenbank gleichzeitig die gleichen benutzerdefinierten Funktionen zu kompilieren. So deaktivieren, System das Systemmerkmal & quot; h2.javaSystemCompiler & quot; auf false.
- Gleichzeitig schaffen Funktion Aliase in verschiedenen Datenbanken könnten in der Ausnahme & quot führen; javac:. Nicht gefunden Datei & quot;
- Die Funktion & quot; REGEXP_REPLACE & quot; warf die falsche Art von Ausnahme, wenn die Ersatzzeichenfolge ungültig war.
- Ein Checkpoint wird jetzt getan jeden MAX_LOG_SIZE / 2 anstelle von jedem MAX_LOG_SIZE, so dass das Transaktionsprotokoll nicht so groß werden.
- MVStore Tisch Motor: neue Einstellung & quot; retention_time & quot; um die Zeit, um alte Daten zu behalten konfigurieren. Der Standardwert ist 45 Sekunden.
- Die Methode TableEngine.createTable () gibt jetzt ein Table-Objekt.
- Für schreibgeschützten Datenbanken, für die Trace-Stufe & quot;. & Quot ;, Debug der Trace-Info wird in das temporäre Verzeichnis geschrieben
- Schließen der Dateisperre wird nun warten, bis der Hintergrund-Thread beendet wird.
- In der Version 1.3.172, ein Performance-Regression wurde bei der Festsetzung der Ausgabe 389 (wenn es eine mehrspaltige Primärschlüssel, wird H2 scheinen nicht immer wählen Sie die richtige Index) eingeführt. Um von & quot; Das wurde zur Stärkung einen Index, der die & quot einstimmt stehen; Spaltenliste (die falsche Index wurde in einigen Fällen verwendet).
- Verbesserte räumliche Index und Datentyp.
- Ausgabe 467:. OSGi Class Loader (die Fähigkeit, anhand der Klasse in anderen Classloader in einem anderen OSGi-Bundle zu erstellen, zum Beispiel)
- Suchen & quot; Gruppe & quot; dass eine Unterabfrage enthalten, mit Aggregatfunktion zurück das falsche Ergebnis in einigen Fällen.
- Fix bug in einzigartiger und nicht-eindeutigen Hash-Indizes, die als falsche Ergebnisse zum Tragen, wenn der Suchschlüssel war eine andere Himmelstyp aus der Tabelle Indexschlüssel. z.B. wo der eine war INT und der andere war LONG
- Bug:. Änderungen an der Datenbankstruktur nicht in der Session Abfrage-Cache wird ungültig führen
- Neue Funktion von Davide Cavestro -., Dass die benutzerdefinierten Java-Objekt-Serialisierung Motoren auf einer Pro-DB aufgrund
- Bei der Ausführung der Recover-Tool auf sehr große (& gt; 6G) Datenbanken, einige Statistiken wurden mit negativen Zahlen berichtet, .
- Fügen Sie eine CONTAINS_UNCOMMITTED Spalte nach SESSIONS Metadatentabelle, damit festzustellen, wann Schurken Sitzungen schaffen große Transaktionen.
- Einige kleine Korrekturen an der Geometrie Support, Patches von Nicolas Fortin.
- Die BNF-Tool und die Autocomplete-Funktion sind in OSGi exportiert, wodurch es möglich für intelligente Editoren Autovervollständigung zu tun ist. Patch von Nicolas Fortin.
- Fix DROP alle Objekte und DROP SCHEMA in Gegenwart von Tabellen mit berechneten Spaltenabhängigkeiten.
- Session-temporäre LOB könnte uU ansammeln, wodurch die Größe der DB-Datei bis zum Abschalten. Jetzt sind sie bei jedem Commit gelöscht.
- Es gab einen Fehler, bei dem ein Hash-Index mit mehr als einer Spalte würde still zu einem regulären Index umgewandelt werden. Es wird nun eine Ausnahme.
- Abfragestatistik: neue Funktion, die die neuesten 100 SQL-Abfragen durchgeführt und ihre Spieldaten speichert. Nützlich für das Aufspüren von schlecht Durchführung von Abfragen.
- Vereinbaren Sie einen LOB Deadlock zwischen Lesen und Aktualisieren LOB-Spalten.
- Unterstützung der JDBC DatabaseMetaData # getClientInfoProperties () Methode im Sinne der Rücksendung ein leeres Ergebnis, um WebSphere glücklich zu machen.
- Server # openbrowser respektieren die Umgebungsvariable $ BROWSER. Hinzufügen & quot; Chrom & quot; in die Liste der Browser versucht. Patch von Felix Kaiser.
- wird org.h2.util.ScriptReader Fix beim Umgang mit nicht geschlossenen Block Kommentare.
- org.h2.util.ScriptReader werfen eine bessere Ausnahme beim Umgang mit gebrochenen Schriften, die äußerst große Anweisungen zu generieren.
- Fix bug mit ALLOW_LITERALS = NONE, in dem die periodische Analyse Tabelle einfügen würde eine Ausnahme werfen. Ein ähnliches Problem wurde in der Konsole-Tool festgelegt.
- Ausgabe 510: Stellen Sie org.h2.bnf Öffentlichkeit für den Verzehr durch externe Projekte, Patch von Nicolas Fortin
- Heft 509: Wichtige Update auf ValueGeometry, Patch von Nicolas Fortin (mit einigen Optimierungen) Stellen ValueGeometry # getDimensionCount zuverlässiger. Fügen Sie Unit-Test für illegale ValueGeometry Vergleich prüfen hinzufügen Unit-Test für die Umwandlung von Geometry-Objekt in Objekt einfügen optional Export in MANIFEST.MF für JTS Geometrieklassen überprüfen, ob Geometriewerte können im WKB vertreten sein.
- Ausgabe 506: RFE: Fügen Thread.getName () im Falle eines Patts
- Hinzufügen von Unterstützung für & quot; GRANT ALTER ANY SCHEMA ZUR & quot ;, Patch von John Yates
Was ist neu in Version 1.3.173:
- Diese Version verbessert die MySQL- und PostgreSQL-Kompatibilität verbessert sich die MVStore Speicher-Engine, und fügt den neuen Datentyp & quot; Geometrie & quot; Geodaten.
Was ist neu in Version 1.3.171:
- Sicherheit: Der TCP-Server nicht richtig den Zugriff Rechte der Kunden in einigen Fällen. Dies war besonders ein Problem bei der Verwendung der Fahne & quot; tcpAllowOthers & quot;.
- H2-Konsole:. Die Sitzungszeitüberschreitung kann nun mit dem System-Property & quot konfiguriert werden; h2.consoleTimeout & quot;
- Ausgabe 431: Verbesserte Kompatibilität mit MySQL: Unterstützung für & quot; ENGINE = InnoDB charset = UTF8 & quot; beim Erstellen einer Tabelle.
- Ausgabe 249: Verbesserte Kompatibilität mit MySQL im MySQL-Modus:. Nun die Methoden DatabaseMetaData Methoden speichert * Case * Identifiers senden Sie das gleiche wie MySQL, wenn Sie den MySQL-Modus
- Ausgabe 434:. H2-Konsole nicht in der Chrome-Browser aufgrund einer falschen Ansichtsfenster Argument arbeiten
- Es gab eine Möglichkeit, dass die .lock.db Datei wurde nicht gelöscht, wenn die Datenbank geschlossen wurde, die verlangsamen könnte die Datenbank öffnen.
- Die SQL-Skript von der & quot erzeugt; Skript & quot; Befehl enthalten inkonsistente Zeilenumbrüche Windows.
- Wenn Sie Trace-Stufe 4 (SLF4J) im Server-Modus, einem Verzeichnis & quot; trace.db & quot; und eine leere Datei auf der Client-Seite erstellt. Diese wird nicht mehr hergestellt.
- Optimize IN (...) Fragen: gab es einen Bug in Version 1.3.170 wenn der Typ des auf der linken Seite nicht die Art von der rechten Seite entsprechen. Festgelegt.
- Optimize IN (...) Fragen: gab es einen Bug in Version 1.3.170 zum Vergleich des Typs & quot; X IN (NULL, NULL) & quot ;. Festgelegt.
- Zeitstempel mit Zeitzone, die übergeben wurden, wie ein String wurden nicht immer korrekt umgesetzt. Zum Beispiel & quot; 2012-11-06T23: 00: 00.000Z & quot; umgewandelt wurde, um & quot; 2012.11.06 & quot; statt auf & ldquor; 2012-11-07 & quot; in der Zeitzone MEZ. Vielen Dank an Steve Hruda zum Melden des Problems!
- Neue Tabelle Motor & quot; org.h2.mvstore.db.MVTableEngine & quot; dass intern die MVStore Daten bestehen. Um es auszuprobieren, hängen Sie & quot ;; DEFAULT_TABLE_ENGINE = org.h2.mvstore.db.MVTableEngine & quot; die Datenbank-URL. Dies ist immer noch sehr experimentell und viele Features werden noch nicht unterstützt. Die Daten werden in einer Datei mit dem Suffix & quot gespeichert; .mv.db & quot;.
- Neue Verbindung Einstellung & quot; DEFAULT_TABLE_ENGINE & quot; um eine bestimmte Tabelle Motor verwendet wird wenn keine explizit gesetzt. Dies ist zur Vereinfachung die Prüfung der MVStore Tisch Motor.
- MVStore: verschlüsselt speichert werden nun unterstützt. Nur standardisierten Algorithmen verwendet. PBKDF2, SHA-256, XTS-AES, AES-128
- MVStore:. Verbesserte API dank Simo Tripodi
- MVStore:. Karten können jetzt umbenannt werden
- MVStore:. Speichern Sie die Datei-Header auch am Ende jedes Stück, das in einem weiteren reduzierten Anzahl von Schreiboperationen führt
- MVStore: a. Karte-Implementierung, die gleichzeitige Vorgänge unterstützt
- MVStore: einheitliche Ausnahmebehandlung; die Version wird in den Nachrichten enthalten sind.
- MVStore:. Alten Daten ist nun für 45 Sekunden standardmäßig beibehalten
- MVStore:. Kompresse ist nun standardmäßig deaktiviert und kann auf Wunsch aktiviert werden
- Unterstützung ALTER TABLE ADD ... AFTER. Patchen von Andrew Gaul (argaul at gmail.com). Fixes Ausgabe 401.
- Verbesserte OSGi-Unterstützung. H2 registriert sich nun als DataSourceFactory Service. Fixes Ausgabe 365.
- Fügen Sie eine DISK_SPACE_USED Systemfunktion. Fixes Ausgabe 270.
- Fix einen Compiler-Mehrdeutigkeit beim Kompilieren mit JDK7 dank eines Patch von Lukas Eder.
- Unterstützung Löschen eines Index für Lucene Volltextindizes.
- Optimierte Leistung für SELECT ... ORDER BY X LIMIT Y OFFSET Z Abfragen für In-Memory-Datenbanken mit partiellen Art (von Sergi Vladykin).
- Experimental off-Heap-Speicher-Speicher-Engine & quot; nioMemFS: & quot; und & quot; nioMemLZF:. & quot ;, Vorschlag von Mark Addleman
- Ausgabe 438: JdbcDatabaseMetaData.getSchemas () ist nicht mehr als der 1.3.169 unterstützt .
- MySQL-Kompatibilität: Unterstützung für ALTER TABLE tablename MODIFY [COLUMN] column columnDef. Patch von Ville Koskela.
- Ausgabe 404:. SHOW COLUMNS FROM tablename nicht mit ALLOW_LITERALS = ZAHLEN arbeiten
- Werfen Sie einen expliziten Fehler deutlich zu machen, haben wir nicht die TRIGGER Kombination von SELECT und FOR EACH ROW unterstützen.
- Ausgabe 439:. Utils.sortTopN nicht Einzelelement-Arrays behandeln
Was ist neu in Version 1.3.170:
- Ausgabe 407: Die TriggerAdapter nicht arbeiten CLOB und BLOB-Spalten.
- PostgreSQL-Kompatibilität:. Unterstützung für Datentypen BIGSERIAL und SERIAL als Alias für AUTO_INCREMENT
- Ausgabe 417: H2-Konsole: die Web-Session-Timeout nicht funktioniert hat, was zu einem Speicherleck. Dies war nur ein Problem, wenn die H2-Konsole wurde für eine lange Zeit laufen und viele Sitzungen geöffnet wurden.
- Ausgabe 412: Ausführen des Server-Tool nur mit der Option & quot; -browser & quot; Nun melden Sie sich eine Warnung aus.
- Ausgabe 411:. CloseWatcher Registrierung nicht Parallelität sichere
- MySQL-Kompatibilität: Unterstützung für CONCAT_WS. Vielen Dank an für den Patch litailang!
- PostgreSQL-Kompatibilität: Unterstützung für EXTRACT (WOCHE AB dateColumn). Dank Prashant Bhat für den Patch!
- Fix für einen Bug, wo wir manchmal verwenden wäre das falsche eindeutige Einschränkung auf Fremdschlüsselbedingungen zu überprüfen.
- Unterstützung BOM am Anfang der Dateien für den Befehl RUNSCRIPT
- Fix im Aufruf SET @ X = IDENTITY (), wo es NULL falsch zurück
- Fix ABBA Deadlock zwischen Hinzufügen einer Einschränkung und die H2-Log-Writer-Thread.
- Optimieren IN (...) fragt, wo die Werte konstant und von der gleichen Art sind.
- Wiederherstellungsprogramm: den Parameter & quot; ruhig & quot; nicht verwendet wurde und nun entfernt werden.
- Fix ConcurrentModificationException beim Erstellen von Tabellen und Ausführen von SHOW TABLES parallel. Von Viktor Voytovych wiesen.
- Die Serialisierung ist jetzt steckbar mit Hilfe der Systemeigenschaft & quot; & quot ;. h2.javaObjectSerializer Dank Sergi Vladykin für den Patch!
Was ist neu in Version 1.3.169:
- Die Standard-JAR-Datei wird nun für Java 6 zusammengestellt .
- Die neue JAR-Datei wird wahrscheinlich nicht am Ende im zentralen Maven Repository in den nächsten Wochen, da Sonatype hat die automatische Synchronisierung von Sourceforge (die sie "Legacy sync 'jetzt nennen) deaktiviert. Es wird wohl eine Weile dauern, bis diese aussortiert. Die H2-JAR-Dateien werden auf http://h2database.com/m2-repo/com/h2database/h2/maven-metadata.xml und http://hsql.sourceforge.net/m2-repo/com/h2database/h2 Einsatz /maven-metadata.xml wie gewohnt.
- Ein Teil der Dokumentation und der H2-Konsole wurde geändert, um das Apple-Netzhaut-Display unterstützt.
- Die CreateCluster Werkzeug konnte nicht verwendet werden, wenn die Quelldatenbank enthielt eine CLOB oder BLOB. Die Ursache war, dass die TCP-Server nicht auf der Sitzung, die bei der Verwendung der exklusiven Modus ein Problem verursacht zu synchronisieren.
- Statement.getQueryTimeout (): nur der erste Aufruf dieser Methode wird die Datenbank abzufragen. Wenn die Abfrage-Timeout wurde auf eine andere Weise als das Aufrufen SetQueryTimeout geändert wird, wird diese Methode immer den letzten Wert zurück. Dies wurde geändert, weil Hibernate ruft getQueryTimeout () viel.
- Ausgabe 416: PreparedStatement.setNString wirft AbstractMethodError. Alle implementiert JDBC 4 Methoden, die nicht brechen Kompatibilität mit Java 5 werden jetzt in der Standard-JAR-Datei enthalten ist.
- Ausgabe 414: für einige Funktionen wurden die Parameter zweimal ausgewertet (zum Beispiel & quot; char (nextval (..)) & quot; ran & quot; nextval (..) & quot; zweimal) .
- Die ResultSetMetaData Methoden getSchemaName und getTableName könnte null anstelle von & rdquo zurück; (Ein leerer String), wie in der JDBC-API festgelegt.
- Hinzugefügt Kompatibilität für & quot; SET NAMES & quot; Abfrage in MySQL Kompatibilitätsmodus.
& Quot;
Was ist neu in Version 1.3.168:
- Die Nachricht & quot; Transaktionsprotokoll nicht abgeschnitten & rdquo ; wurde manchmal mit dem .trace.db Datei, auch wenn es kein Problem Abschneiden des Transaktionsprotokoll geschrieben.
- New Systemeigenschaft & quot; h2.serializeJavaObject & quot; (Standard: true)., Die zum Deaktivieren der Serialisierung von Java-Objekten ermöglicht, so dass die Objekte compareTo und toString Methoden verwendet werden
- Dylan hat die H2-Konsole Werkzeug Koreanisch übersetzt. Thanks a lot!
- Die Ausführung der Anweisung CREATE INDEX, WENN BEREITS VORHANDEN, wenn der Index bereits vorhanden nicht mehr fehl für eine Nur-Lese-Datenbank.
- MVCC: gleichzeitige Aktualisieren einer Zeile kann in der Zeile führen, um in der zweiten Verbindung gelöscht erscheinen, wenn es mehrere eindeutige Indizes (oder einem Primärschlüssel und mindestens einen eindeutigen Index). Vielen Dank an Teruo für den Patch!
- Volltextsuche:. In-Memory-Lucene-Indizes werden nun unterstützt
- Volltextsuche: UUID Primärschlüssel werden jetzt unterstützt .
- Apache Tomcat 7.x wird nun eine Warnung mehr anmelden beim Entladen des Web-Anwendung, falls Sie mit einem Verbindungspool.
- H2 Console: Unterstützung der Midori Browser (für Debian / Raspberry Pi)
- Beim Öffnen einer Remote-Sitzung, öffnen Sie nicht eine temporäre Datei, wenn der Trace-Level auf Null gesetzt
- Verwenden HMAC für die Authentifizierung von Remote-LOB-IDs, wodurch die Notwendigkeit für die Aufrechterhaltung eines Cache, und Entfernen der Beschränkung der Anzahl der LOBs pro Ergebnismenge.
- H2-Konsole: HTML- und XML-Dokumente können nun in einer aktualisierbaren Ergebnismenge bearbeitet werden. Es gibt (begrenzten) Unterstützung für die Bearbeitung mit mehreren Leitungen Dokumente.
Was ist neu in Version 1.3.164:
- Aktualisieren ein Ergebnis in einem Trigger gesetzt wird nun unterstützt .
Was ist neu in Version 11.3.162:
- Die folgenden Systemeigenschaften werden nicht mehr unterstützt: h2 .allowBigDecimalExtensions, h2.emptyPassword, h2.minColumnNameMap, h2.returnLobObjects, h2.webMaxValueLength.
- Wenn Sie ein VPN, die Gründung eines H2-Server nicht (für einige VPN-Software).
- Oracle-Kompatibilität:. Unterstützung für DECODE (...)
- Lucene Volltextsuche: Erstellen eines Index ist jetzt schneller, wenn die Tabelle bereits Daten enthält. Vielen Dank an Angel Leon von der Frostwire-Team für den Patch!
- Update-Anweisungen mit einer Spaltenliste in Klammern nicht, wenn die Liste nur eine Spalte. Beispiel:. Update-Prüfgerät (id) = (id)
- Schreibgeschützte Datenbanken in einer Zip-Datei nicht, wenn die Option -baseDir zu arbeiten.
- Ausgabe 334:. SimpleResultSet.getString funktioniert nun auch für Clob Spalten
- Unterabfragen mit einer Gesamt hat nicht immer funktioniert. Beispiel: Auswahl (SELECT COUNT (*) aus Test, bei dem a = ta und b = 0) von Test t Gruppe von einem
- Server:. In einigen (theoretische) Fällen Ausnahmen beim Schließen der Verbindung wurden ignoriert
- Server.createTcpServer, createPgServer, createWebServer:. Ungültige Argumente werden nun erkannt
- Die Selektivität der LOB-Spalten wird nicht mehr berechnet werden, da Indizes auf LOB-Spalten werden nicht unterstützt (dies sollte jedoch nur geringe Auswirkungen auf die Leistung haben, wie die Selektivität von der Hash-Code der Daten berechnet und nicht).
- Neue experimentelle Systemeigenschaft & quot; & quot ;: h2.modifyOnWrite, wenn aktiviert, wird die Datenbankdatei nur geändert werden, wenn das Schreiben in die Datenbank. Wenn aktiviert, ist das serialisierte Dateisperre viel schneller für Nur-Lese-Operationen.
- Ein Nullpointerexception könnte in TableView.isDeterministic für ungültig Blick auf.
- Ausgabe 180: beim Deserialisieren Objekte, der Kontext-Klassenlader wird anstelle des Standard-Klassenlader verwendet, wenn die Systemeigenschaft & quot; h2.useThreadContextClassLoader & quot; wird eingestellt. Vielen Dank an Noah Fontes für den Patch!
- Wenn Sie die exklusiven Modus könnte LOB-Operationen führen, dass der Thread zu blockieren. Dies wirkte sich auch auf die CreateCluster Werkzeug (bei Verwendung von BLOB- oder CLOB-Daten).
- Die Optimierung für & quot; Gruppe & quot; funktionierte nicht richtig, wenn die Gruppe von Säule wurde in der Auswahlliste Alias.
- Ausgabe 326: verbesserte Unterstützung für Groß- und Kleinschreibung (Groß- und Kleinbuchstaben) Bezeichner ohne Anführungszeichen, wenn Sie DATABASE_TO_UPPER = FALSE .
Anforderungen :
- Java 2 Standard Edition Runtime Environment
Kommentare nicht gefunden