提交 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') ...@@ -121,8 +121,8 @@ MERGE INTO TEST KEY(ID) VALUES(2, 'World')
" "
"Commands (DML)","RUNSCRIPT"," "Commands (DML)","RUNSCRIPT","
RUNSCRIPT FROM fileNameString [ scriptCompression ] RUNSCRIPT FROM fileNameString scriptCompressionEncryption
[ CIPHER cipher PASSWORD string ] [ CHARSET charsetString ] [ CHARSET charsetString ]
"," ","
Runs a SQL script from a file. The script is a text file containing SQL 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 statements; each statement must end with ';'. This command can be used to
...@@ -132,8 +132,7 @@ case sensitive and can contain spaces. ...@@ -132,8 +132,7 @@ case sensitive and can contain spaces.
Instead of a file name, an URL may be used. Instead of a file name, an URL may be used.
To read a stream from the classpath, use the prefix 'classpath:'. To read a stream from the classpath, use the prefix 'classpath:'.
The compression algorithm must match the one used when creating the script. When The compression algorithm must match the one used when creating the script.
using encryption, only DEFLATE and LZF are supported (LZF is faster but uses more space).
Instead of a file, an URL may be used. Instead of a file, an URL may be used.
Admin rights are required to execute this command. Admin rights are required to execute this command.
...@@ -144,8 +143,7 @@ RUNSCRIPT FROM 'backup.sql' ...@@ -144,8 +143,7 @@ RUNSCRIPT FROM 'backup.sql'
"Commands (DML)","SCRIPT"," "Commands (DML)","SCRIPT","
SCRIPT [ SIMPLE ] [ NODATA ] [ NOPASSWORDS ] [ NOSETTINGS ] SCRIPT [ SIMPLE ] [ NODATA ] [ NOPASSWORDS ] [ NOSETTINGS ]
[ DROP ] [ BLOCKSIZE blockSizeInt ] [ DROP ] [ BLOCKSIZE blockSizeInt ]
[ TO fileNameString [ scriptCompression ] [ TO fileNameString scriptCompressionEncryption
[ CIPHER cipher PASSWORD string ]
[ CHARSET charsetString ] ] [ CHARSET charsetString ] ]
[ TABLE tableName [, ...] ] [ TABLE tableName [, ...] ]
[ SCHEMA schemaName [, ...] ] [ SCHEMA schemaName [, ...] ]
...@@ -165,8 +163,7 @@ database files. ...@@ -165,8 +163,7 @@ database files.
If a file name is specified, then the whole If a file name is specified, then the whole
script (including insert statements) is written to this file, and a result set script (including insert statements) is written to this file, and a result set
without the insert statements is returned. When using encryption, only DEFLATE without the insert statements is returned.
and LZF are supported (LZF is faster but uses more space).
The password must be in single quotes; it is case sensitive and can contain spaces. 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) ...@@ -479,7 +476,8 @@ CREATE DOMAIN EMAIL AS VARCHAR(255) CHECK (POSITION('@', VALUE) > 1)
" "
"Commands (DDL)","CREATE INDEX"," "Commands (DDL)","CREATE INDEX","
CREATE { [ UNIQUE ] [ HASH ] INDEX [ [ IF NOT EXISTS ] newIndexName ] CREATE
{ [ UNIQUE ] [ HASH ] INDEX [ [ IF NOT EXISTS ] newIndexName ]
| PRIMARY KEY [ HASH ] } | PRIMARY KEY [ HASH ] }
ON tableName ( indexColumn [,...] ) ON tableName ( indexColumn [,...] )
"," ","
...@@ -1928,10 +1926,11 @@ The action SET DEFAULT will set the column in the referencing (child) table to t ...@@ -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 FOREIGN KEY(ID) REFERENCES TEST(ID) ON UPDATE CASCADE
" "
"Other Grammar","Script Compression"," "Other Grammar","Script Compression Encryption","
COMPRESSION { DEFLATE | LZF | ZIP | GZIP } [ 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. LZF is faster but uses more space.
"," ","
COMPRESSION LZF COMPRESSION LZF
......
...@@ -18,9 +18,10 @@ Change Log ...@@ -18,9 +18,10 @@ Change Log
<h1>Change Log</h1> <h1>Change Log</h1>
<h2>Next Version (unreleased)</h2> <h2>Next Version (unreleased)</h2>
<ul><li>The CreateCluster tool could not be used if the source database contained a CLOB or BLOB. <ul><li>H2 Console system tray icon: support for Mac OS X retina displays.
The root cause was that the TCP server did not synchronize on the session, which caused a problem </li><li>The CreateCluster tool could not be used if the source database contained a CLOB or BLOB.
when using the exclusive mode. 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. </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, 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 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. ...@@ -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, There is no limit on the number of database open concurrently,
or on the number of open connections. or on the number of open connections.
</p> </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" /> alt="The database is embedded in the application" />
<h3>Server Mode</h3> <h3>Server Mode</h3>
...@@ -428,7 +429,8 @@ As in all modes, both persistent and in-memory databases are supported. ...@@ -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, There is no limit on the number of database open concurrently per server,
or on the number of open connections. or on the number of open connections.
</p> </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" /> alt="The database is running in a server; the application connects to the server" />
<h3>Mixed Mode</h3> <h3>Mixed Mode</h3>
...@@ -445,7 +447,8 @@ or automatically (automatic mixed mode). When using the <a href="#auto_mixed_mod ...@@ -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 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. it's an local or remote connection) can do so using the exact same database URL.
</p> </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" /> alt="Database, server, and application run in one JVM; an application connects" />
<h2 id="database_url">Database URL Overview</h2> <h2 id="database_url">Database URL Overview</h2>
......
...@@ -15,7 +15,10 @@ Initial Developer: H2 Group ...@@ -15,7 +15,10 @@ Initial Developer: H2 Group
<table class="nav" onmousemove="return mouseMove(event)"><tr class="nav"><td class="nav" valign="top"> <table class="nav" onmousemove="return mouseMove(event)"><tr class="nav"><td class="nav" valign="top">
<div id = "searchMenu" style="width: 180px; overflow: hidden;"> <div id = "searchMenu" style="width: 180px; overflow: hidden;">
<div class="menu" style="white-space:nowrap;"> <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> &nbsp;&nbsp;<span id = "goTop" onclick="window.scrollTo(0,0)" style="color: #fff; position:fixed; font-size: 20px; cursor: pointer;">&#x25b2;</span>
</div> </div>
......
...@@ -38,12 +38,12 @@ Welcome to H2, the Java SQL database. The main features of H2 are: ...@@ -38,12 +38,12 @@ Welcome to H2, the Java SQL database. The main features of H2 are:
Version ${version} (${versionDate}) Version ${version} (${versionDate})
</td></tr> </td></tr>
<tr><td style="border: 0px; background-color: #eee;"> <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;"> </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> <a href="http://www.h2database.com/h2-setup-${versionDate}.exe">Windows Installer (4 MB)</a>
</td></tr> </td></tr>
<tr><td style="border: 0px; background-color: #eee;"> <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;"> </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> <a href="http://www.h2database.com/h2-${versionDate}.zip">All Platforms (zip, 5 MB)</a>
</td></tr> </td></tr>
...@@ -176,7 +176,7 @@ Welcome to H2, the Java SQL database. The main features of H2 are: ...@@ -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"> <form action="https://www.paypal.com/cgi-bin/webscr" method="post">
<p> <p>
<input type="hidden" name="cmd" value="_s-xclick"/> <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-----"/> <input type="hidden" name="encrypted" value="-----BEGIN PKCS7-----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-----END PKCS7-----"/>
</p> </p>
</form> </form>
......
...@@ -36,7 +36,9 @@ This database can be used in embedded mode, or in server mode. To use it in embe ...@@ -36,7 +36,9 @@ This database can be used in embedded mode, or in server mode. To use it in embe
<p> <p>
The Console lets you access a SQL database using a browser interface. The Console lets you access a SQL database using a browser interface.
<br /> <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 /> <br />
If you don't have Windows XP, or if something does not work as expected, 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>. please see the detailed description in the <a href="tutorial.html">Tutorial</a>.
......
...@@ -301,9 +301,10 @@ td.index { ...@@ -301,9 +301,10 @@ td.index {
margin: 0px; margin: 0px;
border-collapse: collapse; border-collapse: collapse;
vertical-align: top; vertical-align: top;
width: 16px;
height: 24px; height: 24px;
background-image: url(images/div-ts.png); background-image: url(images/div-ts.png);
width: 16px; background-size: 16px 512px;
} }
.ls { .ls {
...@@ -312,9 +313,10 @@ td.index { ...@@ -312,9 +313,10 @@ td.index {
margin: 0px; margin: 0px;
border-collapse: collapse; border-collapse: collapse;
vertical-align: top; vertical-align: top;
width: 16px;
height: 24px; height: 24px;
background-image: url(images/div-ls.png); background-image: url(images/div-ls.png);
width: 16px; background-size: 16px 512px;
} }
.ks { .ks {
...@@ -323,9 +325,10 @@ td.index { ...@@ -323,9 +325,10 @@ td.index {
margin: 0px; margin: 0px;
border-collapse: collapse; border-collapse: collapse;
vertical-align: top; vertical-align: top;
width: 16px;
height: 24px; height: 24px;
background-image: url(images/div-ks.png); background-image: url(images/div-ks.png);
width: 16px; background-size: 16px 512px;
} }
.te { .te {
...@@ -334,9 +337,10 @@ td.index { ...@@ -334,9 +337,10 @@ td.index {
margin: 0px; margin: 0px;
border-collapse: collapse; border-collapse: collapse;
vertical-align: top; vertical-align: top;
width: 16px;
height: 24px; height: 24px;
background-image: url(images/div-te.png); background-image: url(images/div-te.png);
width: 16px; background-size: 16px 512px;
} }
.le { .le {
...@@ -345,9 +349,10 @@ td.index { ...@@ -345,9 +349,10 @@ td.index {
margin: 0px; margin: 0px;
border-collapse: collapse; border-collapse: collapse;
vertical-align: top; vertical-align: top;
width: 16px;
height: 24px; height: 24px;
background-image: url(images/div-le.png); background-image: url(images/div-le.png);
width: 16px; background-size: 16px 512px;
} }
.ke { .ke {
...@@ -356,9 +361,10 @@ td.index { ...@@ -356,9 +361,10 @@ td.index {
margin: 0px; margin: 0px;
border-collapse: collapse; border-collapse: collapse;
vertical-align: top; vertical-align: top;
width: 16px;
height: 24px; height: 24px;
background-image: url(images/div-ke.png); background-image: url(images/div-ke.png);
width: 16px; background-size: 16px 512px;
} }
.d { .d {
...@@ -367,8 +373,8 @@ td.index { ...@@ -367,8 +373,8 @@ td.index {
margin: 0px; margin: 0px;
border-collapse: collapse; border-collapse: collapse;
vertical-align: top; vertical-align: top;
min-width: 16px;
height: 24px; height: 24px;
background-image: url(images/div-d.png); background-image: url(images/div-d.png);
background-repeat: repeat-x; background-size: 1024px 512px;
min-width: 16px;
} }
...@@ -74,7 +74,9 @@ Tutorial ...@@ -74,7 +74,9 @@ Tutorial
The H2 Console application lets you access a database using a browser. 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. This can be a H2 database, or another database that supports the JDBC API.
</p> </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> <p>
This is a client/server application, so both a server and a client (a browser) are required to run it. This is a client/server application, so both a server and a client (a browser) are required to run it.
</p><p> </p><p>
...@@ -88,7 +90,9 @@ Depending on your platform and environment, there are multiple ways to start the ...@@ -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 /> 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.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: 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, 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). 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>. 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 ...@@ -10,22 +10,15 @@ mkdir ..\h2web
rmdir /s /q bin 2>nul rmdir /s /q bin 2>nul
rmdir /s /q temp 2>nul rmdir /s /q temp 2>nul
call java15 >nul 2>nul
call build -quiet
call java16 >nul 2>nul call java16 >nul 2>nul
call build -quiet compile call build -quiet compile
call build -quiet spellcheck javadocImpl jarClient 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 call build -quiet clean compile installer mavenDeployCentral
rem call build -quiet compile benchmark rem call build -quiet compile benchmark
rem == Copy the benchmark results and update the performance page and diagram 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% ren ..\h2web h2web-%today%
echo %time:~0,8% Done echo %time:~0,8% Done
...@@ -6,26 +6,13 @@ mkdir ../h2web ...@@ -6,26 +6,13 @@ mkdir ../h2web
rm -rf bin rm -rf bin
rm -rf temp 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 compile
./build.sh -quiet spellcheck javadocImpl jarClient ./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 clean compile installer mavenDeployCentral
# ./build.sh -quiet compile benchmark # ./build.sh -quiet compile benchmark
# == Copy the benchmark results # == Copy the benchmark results
# == and update the performance page and diagram # == and update the performance page and diagram
JAVA_HOME=$JAVA15
PATH=$JAVA15/bin:$PATH
./build.sh -quiet switchSource
echo $(date "+%H:%M:%S") Done echo $(date "+%H:%M:%S") Done
...@@ -48,15 +48,14 @@ MERGE INTO tableName [ ( columnName [,...] ) ] ...@@ -48,15 +48,14 @@ MERGE INTO tableName [ ( columnName [,...] ) ]
"," ","
Updates existing rows, and insert rows that don't exist." Updates existing rows, and insert rows that don't exist."
"Commands (DML)","RUNSCRIPT"," "Commands (DML)","RUNSCRIPT","
RUNSCRIPT FROM fileNameString [ scriptCompression ] RUNSCRIPT FROM fileNameString scriptCompressionEncryption
[ CIPHER cipher PASSWORD string ] [ CHARSET charsetString ] [ CHARSET charsetString ]
"," ","
Runs a SQL script from a file." Runs a SQL script from a file."
"Commands (DML)","SCRIPT"," "Commands (DML)","SCRIPT","
SCRIPT [ SIMPLE ] [ NODATA ] [ NOPASSWORDS ] [ NOSETTINGS ] SCRIPT [ SIMPLE ] [ NODATA ] [ NOPASSWORDS ] [ NOSETTINGS ]
[ DROP ] [ BLOCKSIZE blockSizeInt ] [ DROP ] [ BLOCKSIZE blockSizeInt ]
[ TO fileNameString [ scriptCompression ] [ TO fileNameString scriptCompressionEncryption
[ CIPHER cipher PASSWORD string ]
[ CHARSET charsetString ] ] [ CHARSET charsetString ] ]
[ TABLE tableName [, ...] ] [ TABLE tableName [, ...] ]
[ SCHEMA schemaName [, ...] ] [ SCHEMA schemaName [, ...] ]
...@@ -644,10 +643,10 @@ Defines a referential constraint." ...@@ -644,10 +643,10 @@ Defines a referential constraint."
CASCADE | RESTRICT | NO ACTION | SET { DEFAULT | NULL } CASCADE | RESTRICT | NO ACTION | SET { DEFAULT | NULL }
"," ","
The action CASCADE will cause conflicting rows in the referencing (child) table to be deleted or updated." The action CASCADE will cause conflicting rows in the referencing (child) table to be deleted or updated."
"Other Grammar","Script Compression"," "Other Grammar","Script Compression Encryption","
COMPRESSION { DEFLATE | LZF | ZIP | GZIP } [ 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"," "Other Grammar","Select Expression","
* | expression [ [ AS ] columnAlias ] | tableAlias.* * | expression [ [ AS ] columnAlias ] | tableAlias.*
"," ","
......
...@@ -175,11 +175,11 @@ function resortTable(link) { ...@@ -175,11 +175,11 @@ function resortTable(link) {
newRows.sort(sortCallback); newRows.sort(sortCallback);
var arrow; var arrow;
if (span.getAttribute("sortDir") == 'down') { 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(); newRows.reverse();
span.setAttribute('sortDir','up'); span.setAttribute('sortDir','up');
} else { } 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'); span.setAttribute('sortDir','down');
} }
......
...@@ -392,12 +392,15 @@ ShutdownHandler { ...@@ -392,12 +392,15 @@ ShutdownHandler {
// Dimension d = tray.getTrayIconSize(); // Dimension d = tray.getTrayIconSize();
Dimension d = (Dimension) Utils.callMethod(tray, "getTrayIconSize"); Dimension d = (Dimension) Utils.callMethod(tray, "getTrayIconSize");
String iconFile; String iconFile;
if (d.width >= 24 && d.height >= 24) { if (d.width >= 24 && d.height >= 24) {
iconFile = "/org/h2/res/h2-24.png"; iconFile = "/org/h2/res/h2-24.png";
} else if (d.width >= 22 && d.height >= 22) { } 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 { } else {
iconFile = "/org/h2/res/h2.png"; iconFile = "/org/h2/res/h2.png";
} }
......
...@@ -20,10 +20,10 @@ import javax.imageio.ImageIO; ...@@ -20,10 +20,10 @@ import javax.imageio.ImageIO;
*/ */
public class RailroadImages { 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 LINE_REPEAT = 32;
private static final int DIV = 8; private static final int DIV = 2;
private static final int STROKE = 16; private static final int STROKE = 6;
private String outDir; private String outDir;
...@@ -47,14 +47,17 @@ public class RailroadImages { ...@@ -47,14 +47,17 @@ public class RailroadImages {
new File(out).mkdirs(); new File(out).mkdirs();
BufferedImage img; BufferedImage img;
Graphics2D g; 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(); g = img.createGraphics();
for (int i = 0; i < 2; i++) { for (int i = 0; i < 2; i++) {
setStroke(g, i); setStroke(g, i);
g.drawLine(0, SIZE / 2, SIZE, SIZE / 2); g.drawLine(0, SIZE / 2, SIZE * 64, SIZE / 2);
} }
g.dispose(); g.dispose();
savePng(img, "div-d.png"); savePng(img, "div-d.png");
img = null;
img = new BufferedImage(SIZE, SIZE * LINE_REPEAT, BufferedImage.TYPE_INT_ARGB); img = new BufferedImage(SIZE, SIZE * LINE_REPEAT, BufferedImage.TYPE_INT_ARGB);
g = img.createGraphics(); g = img.createGraphics();
for (int i = 0; i < 2; i++) { for (int i = 0; i < 2; i++) {
...@@ -67,6 +70,8 @@ public class RailroadImages { ...@@ -67,6 +70,8 @@ public class RailroadImages {
g.dispose(); g.dispose();
savePng(img, "div-ts.png"); savePng(img, "div-ts.png");
savePng(flipHorizontal(img), "div-te.png"); savePng(flipHorizontal(img), "div-te.png");
img = null;
img = new BufferedImage(SIZE, SIZE * LINE_REPEAT, BufferedImage.TYPE_INT_ARGB); img = new BufferedImage(SIZE, SIZE * LINE_REPEAT, BufferedImage.TYPE_INT_ARGB);
g = img.createGraphics(); g = img.createGraphics();
for (int i = 0; i < 2; i++) { for (int i = 0; i < 2; i++) {
...@@ -84,12 +89,13 @@ public class RailroadImages { ...@@ -84,12 +89,13 @@ public class RailroadImages {
g.dispose(); g.dispose();
savePng(img, "div-ks.png"); savePng(img, "div-ks.png");
savePng(flipHorizontal(img), "div-ke.png"); savePng(flipHorizontal(img), "div-ke.png");
img = null;
} }
private static void setStroke(Graphics2D g, int i) { private static void setStroke(Graphics2D g, int i) {
if (i == 0) { if (i == 0) {
g.setColor(Color.WHITE); g.setColor(Color.WHITE);
g.setStroke(new BasicStroke(STROKE * 2)); g.setStroke(new BasicStroke(STROKE * 3));
} else { } else {
g.setColor(Color.BLACK); g.setColor(Color.BLACK);
g.setStroke(new BasicStroke(STROKE)); g.setStroke(new BasicStroke(STROKE));
......
...@@ -711,4 +711,4 @@ zurich bern biel lugano geneva gallen lausanne chur basel winterthur ...@@ -711,4 +711,4 @@ zurich bern biel lugano geneva gallen lausanne chur basel winterthur
bellinzona thun lucerne bienne visualize modifies bellinzona thun lucerne bienne visualize modifies
pasted deliberate unsaved invented earliest expose pruning revert pasted deliberate unsaved invented earliest expose pruning revert
derive bounding greatly extreme terribly iterating pruned percentage 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 到此讨论。请谨慎行事。
请先完成此评论的编辑!
注册 或者 后发表评论