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

--no commit message

--no commit message
上级 e59d810e
......@@ -14,7 +14,16 @@ Change Log
<h1>Change Log</h1>
<h2>Next Version (unreleased)</h2>
<ul><li>Multi version concurrency (MVCC): when a row was updated,
<ul>
<li>The plan is to dual-license H2. The additional license is EPL (Eclipse Public License).
The current license (MPL, Mozilla Public License) will stay.
Current users are not affected because they can keep MPL.
EPL is very similar to MPL, the only bigger difference is related to patents
(EPL is a bit more business friendly in this regard).
See also http://opensource.org/licenses/eclipse-1.0.php,
http://www.eclipse.org/legal/eplfaq.php (FAQ),
http://blogs.zdnet.com/Burnette/?p=131
</li><li>Multi version concurrency (MVCC): when a row was updated,
and the updated column was not indexed, this update was visible sometimes
for other sessions even if it was not committed.
</li><li>Calling SHUTDOWN on one connection and starting a query on
......
......@@ -205,6 +205,7 @@ public class BuildBase {
}
buff.write(x);
}
in.close();
} catch (IOException e) {
throw new Error("Error downloading", e);
}
......
......@@ -37,11 +37,16 @@ public class XMLParser {
private String[] attributeValues = new String[3];
private int currentAttribute;
private boolean endElement;
private boolean html;
public XMLParser(String xml) {
this.xml = xml;
eventType = START_DOCUMENT;
}
public void setHTML(boolean html) {
this.html = html;
}
void addAttributeName(String prefix, String localName) {
if (attributeValues.length <= currentAttribute) {
......@@ -259,6 +264,7 @@ public class XMLParser {
}
int end;
int localNameStart = start;
boolean noValue = false;
while (true) {
end = index;
ch = readChar();
......@@ -268,13 +274,26 @@ public class XMLParser {
skipSpaces();
ch = readChar();
if (ch != '=') {
error("=");
if (html) {
back();
noValue = true;
} else {
error("=");
}
}
break;
} else if (ch == '=') {
break;
} else if (ch == ':') {
localNameStart = index;
} else if (ch == '/' || ch == '>') {
if (html) {
back();
noValue = true;
break;
} else {
error("=");
}
}
}
if (localNameStart == start) {
......@@ -282,19 +301,23 @@ public class XMLParser {
} else {
addAttributeName(xml.substring(start, localNameStart - 1), xml.substring(localNameStart, end));
}
skipSpaces();
ch = readChar();
if (ch != '\"') {
error("\"");
}
start = index;
while (true) {
end = index;
if (noValue) {
noValue = false;
} else {
skipSpaces();
ch = readChar();
if (ch < 0) {
if (ch != '\"') {
error("\"");
} else if (ch == '\"') {
break;
}
start = index;
while (true) {
end = index;
ch = readChar();
if (ch < 0) {
error("\"");
} else if (ch == '\"') {
break;
}
}
}
addAttributeValue(xml.substring(start, end));
......
......@@ -494,4 +494,5 @@ delays guess downloaded jars advantages interrupt javen sourcepath unneeded
compressibility ext crc enumerate components mkdir jant downloading mismatch
timebomb thinks technotes chmod overloading javase flux solves fastest
quickstarter bridge bpm trust guides improvements customizing easiest
workflow seque npl netstat ano spellcheck
\ No newline at end of file
workflow seque npl netstat ano spellcheck eplfaq opensource zdnet burnette
regard epl
\ No newline at end of file
Markdown 格式
0%
您添加了 0 到此讨论。请谨慎行事。
请先完成此评论的编辑!
注册 或者 后发表评论