提交 e9170d56 authored 作者: Thomas Mueller's avatar Thomas Mueller

Documentation; prepare for retina display

上级 eb73eaa9
......@@ -121,8 +121,8 @@ MERGE INTO TEST KEY(ID) VALUES(2, 'World')
"
"Commands (DML)","RUNSCRIPT","
RUNSCRIPT FROM fileNameString [ scriptCompression ]
[ CIPHER cipher PASSWORD string ] [ CHARSET charsetString ]
RUNSCRIPT FROM fileNameString scriptCompressionEncryption
[ CHARSET charsetString ]
","
Runs a SQL script from a file. The script is a text file containing SQL
statements; each statement must end with ';'. This command can be used to
......@@ -132,8 +132,7 @@ case sensitive and can contain spaces.
Instead of a file name, an URL may be used.
To read a stream from the classpath, use the prefix 'classpath:'.
The compression algorithm must match the one used when creating the script. When
using encryption, only DEFLATE and LZF are supported (LZF is faster but uses more space).
The compression algorithm must match the one used when creating the script.
Instead of a file, an URL may be used.
Admin rights are required to execute this command.
......@@ -144,8 +143,7 @@ RUNSCRIPT FROM 'backup.sql'
"Commands (DML)","SCRIPT","
SCRIPT [ SIMPLE ] [ NODATA ] [ NOPASSWORDS ] [ NOSETTINGS ]
[ DROP ] [ BLOCKSIZE blockSizeInt ]
[ TO fileNameString [ scriptCompression ]
[ CIPHER cipher PASSWORD string ]
[ TO fileNameString scriptCompressionEncryption
[ CHARSET charsetString ] ]
[ TABLE tableName [, ...] ]
[ SCHEMA schemaName [, ...] ]
......@@ -165,8 +163,7 @@ database files.
If a file name is specified, then the whole
script (including insert statements) is written to this file, and a result set
without the insert statements is returned. When using encryption, only DEFLATE
and LZF are supported (LZF is faster but uses more space).
without the insert statements is returned.
The password must be in single quotes; it is case sensitive and can contain spaces.
......@@ -479,7 +476,8 @@ CREATE DOMAIN EMAIL AS VARCHAR(255) CHECK (POSITION('@', VALUE) > 1)
"
"Commands (DDL)","CREATE INDEX","
CREATE { [ UNIQUE ] [ HASH ] INDEX [ [ IF NOT EXISTS ] newIndexName ]
CREATE
{ [ UNIQUE ] [ HASH ] INDEX [ [ IF NOT EXISTS ] newIndexName ]
| PRIMARY KEY [ HASH ] }
ON tableName ( indexColumn [,...] )
","
......@@ -1928,10 +1926,11 @@ The action SET DEFAULT will set the column in the referencing (child) table to t
FOREIGN KEY(ID) REFERENCES TEST(ID) ON UPDATE CASCADE
"
"Other Grammar","Script Compression","
COMPRESSION { DEFLATE | LZF | ZIP | GZIP }
"Other Grammar","Script Compression Encryption","
[ COMPRESSION { DEFLATE | LZF | ZIP | GZIP } ] [ CIPHER cipher PASSWORD string ]
","
The compression algorithm to use for script files.
The compression and encryption algorithm to use for script files.
When using encryption, only DEFLATE and LZF are supported.
LZF is faster but uses more space.
","
COMPRESSION LZF
......
......@@ -18,9 +18,10 @@ Change Log
<h1>Change Log</h1>
<h2>Next Version (unreleased)</h2>
<ul><li>The CreateCluster tool could not be used if the source database contained a CLOB or BLOB.
The root cause was that the TCP server did not synchronize on the session, which caused a problem
when using the exclusive mode.
<ul><li>H2 Console system tray icon: support for Mac OS X retina displays.
</li><li>The CreateCluster tool could not be used if the source database contained a CLOB or BLOB.
The root cause was that the TCP server did not synchronize on the session, which caused a problem
when using the exclusive mode.
</li><li>Statement.getQueryTimeout(): only the first call to this method will query the database.
If the query timeout was changed in another way than calling setQueryTimeout,
this method will always return the last value. This was changed because Hibernate
......
......@@ -411,7 +411,8 @@ As in all modes, both persistent and in-memory databases are supported.
There is no limit on the number of database open concurrently,
or on the number of open connections.
</p>
<img src="images/connection-mode-embedded.png"
<img src="images/connection-mode-embedded-2.png"
width="208" height="259"
alt="The database is embedded in the application" />
<h3>Server Mode</h3>
......@@ -428,7 +429,8 @@ As in all modes, both persistent and in-memory databases are supported.
There is no limit on the number of database open concurrently per server,
or on the number of open connections.
</p>
<img src="images/connection-mode-remote.png"
<img src="images/connection-mode-remote-2.png"
width="376" height="218"
alt="The database is running in a server; the application connects to the server" />
<h3>Mixed Mode</h3>
......@@ -445,7 +447,8 @@ or automatically (automatic mixed mode). When using the <a href="#auto_mixed_mod
all clients that want to connect to the database (no matter if
it's an local or remote connection) can do so using the exact same database URL.
</p>
<img src="images/connection-mode-mixed.png"
<img src="images/connection-mode-mixed-2.png"
width="403" height="240"
alt="Database, server, and application run in one JVM; an application connects" />
<h2 id="database_url">Database URL Overview</h2>
......
......@@ -15,7 +15,10 @@ Initial Developer: H2 Group
<table class="nav" onmousemove="return mouseMove(event)"><tr class="nav"><td class="nav" valign="top">
<div id = "searchMenu" style="width: 180px; overflow: hidden;">
<div class="menu" style="white-space:nowrap;">
<img src="images/h2-logo.png" alt="H2 database logo" onclick="document.location='main.html'" width="136" height="74"/>
<img src="images/h2-logo-2.png"
alt="H2 database logo"
onclick="document.location='main.html'"
width="136" height="74"/>
&nbsp;&nbsp;<span id = "goTop" onclick="window.scrollTo(0,0)" style="color: #fff; position:fixed; font-size: 20px; cursor: pointer;">&#x25b2;</span>
</div>
......
......@@ -38,12 +38,12 @@ Welcome to H2, the Java SQL database. The main features of H2 are:
Version ${version} (${versionDate})
</td></tr>
<tr><td style="border: 0px; background-color: #eee;">
<a href="http://www.h2database.com/h2-setup-${versionDate}.exe"><img style="border: 1px #00f solid;" src="images/download.png" alt="Download this database" width="22" height="20"/></a>
<a href="http://www.h2database.com/h2-setup-${versionDate}.exe"><img style="border: 1px #00f solid;" src="images/download-2.png" alt="Download this database" width="22" height="22"/></a>
</td><td style="vertical-align: middle; border: 0px; background-color: #eee;">
<a href="http://www.h2database.com/h2-setup-${versionDate}.exe">Windows Installer (4 MB)</a>
</td></tr>
<tr><td style="border: 0px; background-color: #eee;">
<a href="http://www.h2database.com/h2-${versionDate}.zip"><img style="border: 1px #00f solid;" src="images/download.png" alt="Download this database" width="22" height="20"/></a>
<a href="http://www.h2database.com/h2-${versionDate}.zip"><img style="border: 1px #00f solid;" src="images/download-2.png" alt="Download this database" width="22" height="22"/></a>
</td><td style="vertical-align: middle; border: 0px; background-color: #eee;">
<a href="http://www.h2database.com/h2-${versionDate}.zip">All Platforms (zip, 5 MB)</a>
</td></tr>
......@@ -176,7 +176,7 @@ Welcome to H2, the Java SQL database. The main features of H2 are:
<form action="https://www.paypal.com/cgi-bin/webscr" method="post">
<p>
<input type="hidden" name="cmd" value="_s-xclick"/>
<input type="image" src="https://www.paypal.com/en_US/i/btn/x-click-but04.gif" name="submit" alt="PayPal icon"/>
<input type="image" src="images/paypal-donate.png" width="108" height="108" name="submit" alt="PayPal icon"/>
<input type="hidden" name="encrypted" value="-----BEGIN PKCS7-----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-----END PKCS7-----"/>
</p>
</form>
......
......@@ -36,7 +36,9 @@ This database can be used in embedded mode, or in server mode. To use it in embe
<p>
The Console lets you access a SQL database using a browser interface.
<br />
<img src="images/console.png" alt="Web Browser - H2 Console Server - H2 Database" />
<img src="images/console-2.png"
width="535" height="179"
alt="Web Browser - H2 Console Server - H2 Database" />
<br />
If you don't have Windows XP, or if something does not work as expected,
please see the detailed description in the <a href="tutorial.html">Tutorial</a>.
......
......@@ -301,9 +301,10 @@ td.index {
margin: 0px;
border-collapse: collapse;
vertical-align: top;
width: 16px;
height: 24px;
background-image: url(images/div-ts.png);
width: 16px;
background-size: 16px 512px;
}
.ls {
......@@ -312,9 +313,10 @@ td.index {
margin: 0px;
border-collapse: collapse;
vertical-align: top;
width: 16px;
height: 24px;
background-image: url(images/div-ls.png);
width: 16px;
background-size: 16px 512px;
}
.ks {
......@@ -323,9 +325,10 @@ td.index {
margin: 0px;
border-collapse: collapse;
vertical-align: top;
width: 16px;
height: 24px;
background-image: url(images/div-ks.png);
width: 16px;
background-size: 16px 512px;
}
.te {
......@@ -334,9 +337,10 @@ td.index {
margin: 0px;
border-collapse: collapse;
vertical-align: top;
width: 16px;
height: 24px;
background-image: url(images/div-te.png);
width: 16px;
background-size: 16px 512px;
}
.le {
......@@ -345,9 +349,10 @@ td.index {
margin: 0px;
border-collapse: collapse;
vertical-align: top;
width: 16px;
height: 24px;
background-image: url(images/div-le.png);
width: 16px;
background-size: 16px 512px;
}
.ke {
......@@ -356,9 +361,10 @@ td.index {
margin: 0px;
border-collapse: collapse;
vertical-align: top;
width: 16px;
height: 24px;
background-image: url(images/div-ke.png);
width: 16px;
background-size: 16px 512px;
}
.d {
......@@ -367,8 +373,8 @@ td.index {
margin: 0px;
border-collapse: collapse;
vertical-align: top;
min-width: 16px;
height: 24px;
background-image: url(images/div-d.png);
background-repeat: repeat-x;
min-width: 16px;
background-size: 1024px 512px;
}
......@@ -74,7 +74,9 @@ Tutorial
The H2 Console application lets you access a database using a browser.
This can be a H2 database, or another database that supports the JDBC API.
</p>
<img src="images/console.png" alt="Web Browser - H2 Console Server - H2 Database" />
<img src="images/console-2.png"
width="535" height="179"
alt="Web Browser - H2 Console Server - H2 Database" />
<p>
This is a client/server application, so both a server and a client (a browser) are required to run it.
</p><p>
......@@ -88,7 +90,9 @@ Depending on your platform and environment, there are multiple ways to start the
Click [Start], [All Programs], [H2], and [H2 Console (Command Line)]<br />
When using the Sun JDK 1.5, a window with the title 'H2 Console ' should appear.
When using the Sun JDK 1.6, an icon will be added to the system tray:
<img src="images/db-16.png" alt="H2 database icon" /><br />
<img src="images/db-64-t.png"
width="32" height="32"
alt="H2 database icon" /><br />
If you don't get the window and the system tray icon,
then maybe Java is not installed correctly (in this case, try another way to start the application).
A browser window should open and point to the login page at <code>http://localhost:8082</code>.
......
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<!-- Created with Inkscape (http://www.inkscape.org/) -->
<svg
xmlns:dc="http://purl.org/dc/elements/1.1/"
xmlns:cc="http://creativecommons.org/ns#"
xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
xmlns:svg="http://www.w3.org/2000/svg"
xmlns="http://www.w3.org/2000/svg"
xmlns:xlink="http://www.w3.org/1999/xlink"
xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
width="744.09448819"
height="1052.3622047"
id="svg2"
version="1.1"
inkscape:version="0.48.2 r9819"
sodipodi:docname="New document 1">
<defs
id="defs4">
<linearGradient
id="linearGradient3771">
<stop
id="stop3773"
offset="0"
style="stop-color:#99e354;stop-opacity:1;" />
<stop
id="stop3775"
offset="1"
style="stop-color:#6a9e3b;stop-opacity:1;" />
</linearGradient>
<linearGradient
id="linearGradient3763">
<stop
style="stop-color:#76d849;stop-opacity:1;"
offset="0"
id="stop3765" />
<stop
style="stop-color:#689556;stop-opacity:1;"
offset="1"
id="stop3767" />
</linearGradient>
<linearGradient
inkscape:collect="always"
xlink:href="#linearGradient3771"
id="linearGradient3783"
x1="0"
y1="252.36218"
x2="720"
y2="892.36218"
gradientUnits="userSpaceOnUse" />
<filter
inkscape:collect="always"
id="filter3913">
<feGaussianBlur
inkscape:collect="always"
stdDeviation="13.92"
id="feGaussianBlur3915" />
</filter>
</defs>
<sodipodi:namedview
id="base"
pagecolor="#ffffff"
bordercolor="#666666"
borderopacity="1.0"
inkscape:pageopacity="0.0"
inkscape:pageshadow="2"
inkscape:zoom="0.34029514"
inkscape:cx="361.88904"
inkscape:cy="470.59183"
inkscape:document-units="px"
inkscape:current-layer="layer1"
showgrid="true"
inkscape:window-width="1189"
inkscape:window-height="695"
inkscape:window-x="90"
inkscape:window-y="76"
inkscape:window-maximized="0">
<inkscape:grid
type="xygrid"
id="grid2985" />
</sodipodi:namedview>
<metadata
id="metadata7">
<rdf:RDF>
<cc:Work
rdf:about="">
<dc:format>image/svg+xml</dc:format>
<dc:type
rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
<dc:title></dc:title>
</cc:Work>
</rdf:RDF>
</metadata>
<g
inkscape:label="Layer 1"
inkscape:groupmode="layer"
id="layer1">
<path
d="m 840,572.36218 a 480,480 0 1 1 -960,0 480,480 0 1 1 960,0 z"
sodipodi:ry="480"
sodipodi:rx="480"
sodipodi:cy="572.36218"
sodipodi:cx="360"
id="path3813"
style="fill:#2b2b2b;fill-opacity:1;fill-rule:evenodd;stroke:none;filter:url(#filter3913)"
sodipodi:type="arc"
transform="translate(20,20)" />
<path
sodipodi:type="arc"
style="fill:url(#linearGradient3783);fill-opacity:1;fill-rule:evenodd;stroke:#ebebeb;stroke-width:30;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none"
id="path2989"
sodipodi:cx="360"
sodipodi:cy="572.36218"
sodipodi:rx="480"
sodipodi:ry="480"
d="m 840,572.36218 a 480,480 0 1 1 -960,0 480,480 0 1 1 960,0 z" />
<path
style="fill:#ebebeb;fill-opacity:1;stroke:#ffffff;stroke-opacity:1"
d="m 200,292.36218 0,260 -160,0 c -20,0 -20,20 0,40 l 320,360 320,-360 c 20,-20 20,-40 0,-40 l -160,0 0,-260 c 0,-40 -20,-60 -60,-60 l -200,0 c -40,0 -60,20 -60,60 z"
id="path2987"
inkscape:connector-curvature="0"
sodipodi:nodetypes="ccccccccsscc" />
</g>
</svg>
......@@ -10,22 +10,15 @@ mkdir ..\h2web
rmdir /s /q bin 2>nul
rmdir /s /q temp 2>nul
call java15 >nul 2>nul
call build -quiet
call java16 >nul 2>nul
call build -quiet compile
call build -quiet spellcheck javadocImpl jarClient
echo %time:~0,8% JDK 1.5
call java15 >nul 2>nul
call build -quiet clean compile installer mavenDeployCentral
rem call build -quiet compile benchmark
rem == Copy the benchmark results and update the performance page and diagram
call java15 >nul 2>nul
call build -quiet switchSource
ren ..\h2web h2web-%today%
echo %time:~0,8% Done
......@@ -6,26 +6,13 @@ mkdir ../h2web
rm -rf bin
rm -rf temp
JAVA_HOME=$JAVA15
PATH=$JAVA15/bin:$PATH
./build.sh -quiet
JAVA_HOME=$JAVA16
PATH=$JAVA16/bin:$PATH
./build.sh -quiet compile
./build.sh -quiet spellcheck javadocImpl jarClient
echo $(date "+%H:%M:%S") JDK 1.5
JAVA_HOME=$JAVA15
PATH=$JAVA15/bin:$PATH
./build.sh -quiet clean compile installer mavenDeployCentral
# ./build.sh -quiet compile benchmark
# == Copy the benchmark results
# == and update the performance page and diagram
JAVA_HOME=$JAVA15
PATH=$JAVA15/bin:$PATH
./build.sh -quiet switchSource
echo $(date "+%H:%M:%S") Done
......@@ -48,15 +48,14 @@ MERGE INTO tableName [ ( columnName [,...] ) ]
","
Updates existing rows, and insert rows that don't exist."
"Commands (DML)","RUNSCRIPT","
RUNSCRIPT FROM fileNameString [ scriptCompression ]
[ CIPHER cipher PASSWORD string ] [ CHARSET charsetString ]
RUNSCRIPT FROM fileNameString scriptCompressionEncryption
[ CHARSET charsetString ]
","
Runs a SQL script from a file."
"Commands (DML)","SCRIPT","
SCRIPT [ SIMPLE ] [ NODATA ] [ NOPASSWORDS ] [ NOSETTINGS ]
[ DROP ] [ BLOCKSIZE blockSizeInt ]
[ TO fileNameString [ scriptCompression ]
[ CIPHER cipher PASSWORD string ]
[ TO fileNameString scriptCompressionEncryption
[ CHARSET charsetString ] ]
[ TABLE tableName [, ...] ]
[ SCHEMA schemaName [, ...] ]
......@@ -644,10 +643,10 @@ Defines a referential constraint."
CASCADE | RESTRICT | NO ACTION | SET { DEFAULT | NULL }
","
The action CASCADE will cause conflicting rows in the referencing (child) table to be deleted or updated."
"Other Grammar","Script Compression","
COMPRESSION { DEFLATE | LZF | ZIP | GZIP }
"Other Grammar","Script Compression Encryption","
[ COMPRESSION { DEFLATE | LZF | ZIP | GZIP } ] [ CIPHER cipher PASSWORD string ]
","
The compression algorithm to use for script files."
The compression and encryption algorithm to use for script files."
"Other Grammar","Select Expression","
* | expression [ [ AS ] columnAlias ] | tableAlias.*
","
......
......@@ -175,11 +175,11 @@ function resortTable(link) {
newRows.sort(sortCallback);
var arrow;
if (span.getAttribute("sortDir") == 'down') {
arrow = '&nbsp;<img src="sort_up.gif" with=7 height=10 border=0/>';
arrow = '&nbsp;<span style="color:gray">&#x25b2;</span>';
newRows.reverse();
span.setAttribute('sortDir','up');
} else {
arrow = '&nbsp;<img src="sort_down.gif" with=7 height=10 border=0/>';
arrow = '&nbsp;<span style="color:gray">&#x25bc;</span>';
span.setAttribute('sortDir','down');
}
......
......@@ -392,12 +392,15 @@ ShutdownHandler {
// Dimension d = tray.getTrayIconSize();
Dimension d = (Dimension) Utils.callMethod(tray, "getTrayIconSize");
String iconFile;
if (d.width >= 24 && d.height >= 24) {
iconFile = "/org/h2/res/h2-24.png";
} else if (d.width >= 22 && d.height >= 22) {
iconFile = "/org/h2/res/h2-22-t.png";
// for Mac OS X 10.8.1 with retina display:
// the reported resolution is 22 x 22, but the image
// is scaled and the real resolution is 44 x 44
iconFile = "/org/h2/res/h2-64-t.png";
// iconFile = "/org/h2/res/h2-22-t.png";
} else {
iconFile = "/org/h2/res/h2.png";
}
......
......@@ -20,10 +20,10 @@ import javax.imageio.ImageIO;
*/
public class RailroadImages {
private static final int SIZE = 128;
private static final int SIZE = 64;
private static final int LINE_REPEAT = 32;
private static final int DIV = 8;
private static final int STROKE = 16;
private static final int DIV = 2;
private static final int STROKE = 6;
private String outDir;
......@@ -47,14 +47,17 @@ public class RailroadImages {
new File(out).mkdirs();
BufferedImage img;
Graphics2D g;
img = new BufferedImage(SIZE, SIZE, BufferedImage.TYPE_INT_ARGB);
img = new BufferedImage(SIZE * 64, SIZE * LINE_REPEAT, BufferedImage.TYPE_INT_ARGB);
g = img.createGraphics();
for (int i = 0; i < 2; i++) {
setStroke(g, i);
g.drawLine(0, SIZE / 2, SIZE, SIZE / 2);
g.drawLine(0, SIZE / 2, SIZE * 64, SIZE / 2);
}
g.dispose();
savePng(img, "div-d.png");
img = null;
img = new BufferedImage(SIZE, SIZE * LINE_REPEAT, BufferedImage.TYPE_INT_ARGB);
g = img.createGraphics();
for (int i = 0; i < 2; i++) {
......@@ -67,6 +70,8 @@ public class RailroadImages {
g.dispose();
savePng(img, "div-ts.png");
savePng(flipHorizontal(img), "div-te.png");
img = null;
img = new BufferedImage(SIZE, SIZE * LINE_REPEAT, BufferedImage.TYPE_INT_ARGB);
g = img.createGraphics();
for (int i = 0; i < 2; i++) {
......@@ -84,12 +89,13 @@ public class RailroadImages {
g.dispose();
savePng(img, "div-ks.png");
savePng(flipHorizontal(img), "div-ke.png");
img = null;
}
private static void setStroke(Graphics2D g, int i) {
if (i == 0) {
g.setColor(Color.WHITE);
g.setStroke(new BasicStroke(STROKE * 2));
g.setStroke(new BasicStroke(STROKE * 3));
} else {
g.setColor(Color.BLACK);
g.setStroke(new BasicStroke(STROKE));
......
......@@ -711,4 +711,4 @@ zurich bern biel lugano geneva gallen lausanne chur basel winterthur
bellinzona thun lucerne bienne visualize modifies
pasted deliberate unsaved invented earliest expose pruning revert
derive bounding greatly extreme terribly iterating pruned percentage
apart render cloned costly antialiasing antialias quercus rect mvr
apart render cloned costly antialiasing antialias quercus rect mvr retina
Markdown 格式
0%
您添加了 0 到此讨论。请谨慎行事。
请先完成此评论的编辑!
注册 或者 后发表评论