Skip to content
项目
群组
代码片段
帮助
正在加载...
帮助
为 GitLab 提交贡献
登录/注册
切换导航
H
h2database
项目
项目
详情
活动
周期分析
仓库
仓库
文件
提交
分支
标签
贡献者
分枝图
比较
统计图
议题
0
议题
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
CI / CD
CI / CD
流水线
作业
计划
统计图
Wiki
Wiki
代码片段
代码片段
成员
成员
折叠边栏
关闭边栏
活动
分枝图
统计图
创建新议题
作业
提交
议题看板
打开侧边栏
Administrator
h2database
Commits
b1a3cf48
提交
b1a3cf48
authored
8月 05, 2008
作者:
Thomas Mueller
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
JaQu improvements
上级
71aa57a5
全部展开
显示空白字符变更
内嵌
并排
正在显示
13 个修改的文件
包含
2054 行增加
和
1890 行删除
+2054
-1890
build.html
h2/src/docsrc/html/build.html
+12
-13
jaqu.html
h2/src/docsrc/html/jaqu.html
+12
-3
roadmap.html
h2/src/docsrc/html/roadmap.html
+1
-2
_docs_en.utf8.txt
h2/src/docsrc/text/_docs_en.utf8.txt
+680
-620
_docs_ja.utf8.txt
h2/src/docsrc/text/_docs_ja.utf8.txt
+680
-620
_docs_en.properties
h2/src/docsrc/textbase/_docs_en.properties
+640
-620
SamplesTest.java
h2/src/test/org/h2/test/jaqu/SamplesTest.java
+2
-1
Build.java
h2/src/tools/org/h2/build/Build.java
+2
-1
dictionary.txt
h2/src/tools/org/h2/build/doc/dictionary.txt
+3
-1
Condition.java
h2/src/tools/org/h2/jaqu/Condition.java
+2
-1
Function.java
h2/src/tools/org/h2/jaqu/Function.java
+6
-2
QueryCondition.java
h2/src/tools/org/h2/jaqu/QueryCondition.java
+12
-6
TestCondition.java
h2/src/tools/org/h2/jaqu/TestCondition.java
+2
-0
没有找到文件。
h2/src/docsrc/html/build.html
浏览文件 @
b1a3cf48
...
@@ -43,16 +43,15 @@ A Java Runtime Environment (JRE) version 1.4 or higher is required to run this d
...
@@ -43,16 +43,15 @@ A Java Runtime Environment (JRE) version 1.4 or higher is required to run this d
To build the database executables, the following software stack was used.
To build the database executables, the following software stack was used.
Newer version or compatible software works too.
Newer version or compatible software works too.
</p>
</p>
<ul>
<ul><li>
Windows XP
<li>
Windows XP
</li><li>
Sun JDK Version 1.4 and 1.6
</li><li>
Sun JDK Version 1.4 and 1.6
</li><li>
Eclipse Version 3.3
</li><li>
Eclipse Version 3.3
</li><li>
Eclipse Plugins: Subclipse 1.2.4, EclEmma Java Code Coverage 1.3.0, Eclipse Checkstyle Plug-in 4.4.0
</li><li>
Eclipse Plugins: Subclipse 1.2.4, EclEmma Java Code Coverage 1.3.0, Eclipse Checkstyle Plug-in 4.4.0
</li><li>
Mozilla Firefox 3.0
</li><li>
Mozilla Firefox 3.0
</li><li>
OpenOffice 3.0
</li><li>
OpenOffice 3.0
</li><li>
NSIS 2.38 (Nullsoft Scriptable Install System)
</li><li>
NSIS 2.38 (Nullsoft Scriptable Install System)
</li><li>
Maven 2.0.7
</li><li>
Maven 2.0.7
</li><li>
YourKit Java Profiler
</li><li>
YourKit Java Profiler
</li></ul>
</li></ul>
<br
/><a
name=
"building"
></a>
<br
/><a
name=
"building"
></a>
...
@@ -150,6 +149,6 @@ If you like to provide patches, please consider the following guidelines to simp
...
@@ -150,6 +149,6 @@ If you like to provide patches, please consider the following guidelines to simp
</li><li>
Document grammar changes in src/main/org/h2/res/help.csv
</li><li>
Document grammar changes in src/main/org/h2/res/help.csv
</li><li>
Provide a change log entry (src/docsrc/html/changelog.html).
</li><li>
Provide a change log entry (src/docsrc/html/changelog.html).
</li><li>
Submit patches as .patch files (compressed if big). To create a patch, use for example Eclipse Team/Create Patch.
</li><li>
Submit patches as .patch files (compressed if big). To create a patch, use for example Eclipse Team/Create Patch.
</ul>
</
li></
ul>
</div></td></tr></table>
<!-- analytics -->
</body></html>
</div></td></tr></table>
<!-- analytics -->
</body></html>
h2/src/docsrc/html/jaqu.html
浏览文件 @
b1a3cf48
...
@@ -35,12 +35,21 @@ SELECT * FROM PRODUCTS P
...
@@ -35,12 +35,21 @@ SELECT * FROM PRODUCTS P
WHERE P.UNITS_IN_STOCK = 0
WHERE P.UNITS_IN_STOCK = 0
</pre>
</pre>
<h2>
Advantages
</h2>
<h2>
Advantages
and Differences to other Data Access Tools
</h2>
<p>
<p>
Unlike
to
SQL, JaQu can be easily integrated in Java applications. Because JaQu is pure Java,
Unlike SQL, JaQu can be easily integrated in Java applications. Because JaQu is pure Java,
Javadoc and auto-complete are supported. Type checking is performed by the compiler.
Javadoc and auto-complete are supported. Type checking is performed by the compiler.
JaQu fully protects against SQL injection.
JaQu fully protects against SQL injection.
</p>
</p>
<p>
JaQu is much smaller than object-relation mapping tools such as Hibernate.
Unlike iBatis and Hibernate, no XML or annotation based configuration is required;
instead the configuration (if required at all) is done in pure Java, in the application itself.
</p>
<p>
JaQu does not require or contain any data caching mechanism. Like JDBC and iBatis,
JaQu provides full control over when and what SQL statements are executed.
</p>
<h3>
Why in Java?
</h3>
<h3>
Why in Java?
</h3>
<p>
<p>
...
...
h2/src/docsrc/html/roadmap.html
浏览文件 @
b1a3cf48
...
@@ -128,8 +128,7 @@ Of course, patches are always welcome, but are not always applied as is. Patches
...
@@ -128,8 +128,7 @@ Of course, patches are always welcome, but are not always applied as is. Patches
</li><li>
The HELP information schema can be directly exposed in the Console
</li><li>
The HELP information schema can be directly exposed in the Console
</li><li>
Maybe use the 0x1234 notation for binary fields, see MS SQL Server
</li><li>
Maybe use the 0x1234 notation for binary fields, see MS SQL Server
</li><li>
Support Oracle CONNECT BY in some way: http://www.adp-gmbh.ch/ora/sql/connect_by.html, http://philip.greenspun.com/sql/trees.html
</li><li>
Support Oracle CONNECT BY in some way: http://www.adp-gmbh.ch/ora/sql/connect_by.html, http://philip.greenspun.com/sql/trees.html
</li><li>
SQL Server 2005, Oracle: Support COUNT(*) OVER(). See
</li><li>
SQL Server 2005, Oracle: Support COUNT(*) OVER(). See http://www.orafusion.com/art_anlytc.htm
http://www.orafusion.com/art_anlytc.htm
</li><li>
RANK() and DENSE_RANK(), Partition using OVER()
</li><li>
RANK() and DENSE_RANK(), Partition using OVER()
</li><li>
SQL 2003 (http://www.wiscorp.com/sql_2003_standard.zip)
</li><li>
SQL 2003 (http://www.wiscorp.com/sql_2003_standard.zip)
</li><li>
http://www.jpackage.org
</li><li>
http://www.jpackage.org
...
...
h2/src/docsrc/text/_docs_en.utf8.txt
浏览文件 @
b1a3cf48
差异被折叠。
点击展开。
h2/src/docsrc/text/_docs_ja.utf8.txt
浏览文件 @
b1a3cf48
差异被折叠。
点击展开。
h2/src/docsrc/textbase/_docs_en.properties
浏览文件 @
b1a3cf48
This source diff could not be displayed because it is too large. You can
view the blob
instead.
h2/src/test/org/h2/test/jaqu/SamplesTest.java
浏览文件 @
b1a3cf48
...
@@ -328,7 +328,8 @@ public class SamplesTest extends TestBase {
...
@@ -328,7 +328,8 @@ public class SamplesTest extends TestBase {
productCount
=
count
();
productCount
=
count
();
}});
}});
assertEquals
(
"[Beverages:2, Condiments:5, Meat/Poultry:1, Produce:1, Seafood:1]"
,
assertEquals
(
"[Beverages:2, Condiments:5, "
+
"Meat/Poultry:1, Produce:1, Seafood:1]"
,
list
.
toString
());
list
.
toString
());
}
}
...
...
h2/src/tools/org/h2/build/Build.java
浏览文件 @
b1a3cf48
...
@@ -258,7 +258,8 @@ public class Build extends BuildBase {
...
@@ -258,7 +258,8 @@ public class Build extends BuildBase {
}
}
/**
/**
* Create the file h2jaqu.jar. This only contains the JaQu (Java Query) implementation.
* Create the file h2jaqu.jar. This only contains the JaQu (Java Query)
* implementation.
*/
*/
public
void
jarJaqu
()
{
public
void
jarJaqu
()
{
compile
(
true
,
false
);
compile
(
true
,
false
);
...
...
h2/src/tools/org/h2/build/doc/dictionary.txt
浏览文件 @
b1a3cf48
...
@@ -552,4 +552,6 @@ refill analyzers patches popular came growing indication arabic graphic toc
...
@@ -552,4 +552,6 @@ refill analyzers patches popular came growing indication arabic graphic toc
numbering goto outline makensis macro hyperlink dispatch setlocal wend
numbering goto outline makensis macro hyperlink dispatch setlocal wend
widows msgbox designer styles families uno soffice orphans stan ucb rem
widows msgbox designer styles families uno soffice orphans stan ucb rem
pdfurl upate pagebreak ren echo atlassian buggy submitted xcopy invention
pdfurl upate pagebreak ren echo atlassian buggy submitted xcopy invention
harbor generics pojo annotations
harbor generics pojo annotations ecl subclipse jmx bean plugins team cha emma
nullsoft annotation cover scriptable guidelines consider batis coding
anlytc art orafusion
h2/src/tools/org/h2/jaqu/Condition.java
浏览文件 @
b1a3cf48
...
@@ -26,7 +26,8 @@ class Condition<A> implements Token {
...
@@ -26,7 +26,8 @@ class Condition<A> implements Token {
public
String
getString
(
Query
query
)
{
public
String
getString
(
Query
query
)
{
if
(
compareType
.
hasRightExpression
())
{
if
(
compareType
.
hasRightExpression
())
{
return
query
.
getString
(
x
)
+
" "
+
compareType
.
getString
()
+
" "
+
query
.
getString
(
y
);
return
query
.
getString
(
x
)
+
" "
+
compareType
.
getString
()
+
" "
+
query
.
getString
(
y
);
}
}
return
query
.
getString
(
x
)
+
" "
+
compareType
.
getString
();
return
query
.
getString
(
x
)
+
" "
+
compareType
.
getString
();
}
}
...
...
h2/src/tools/org/h2/jaqu/Function.java
浏览文件 @
b1a3cf48
...
@@ -86,7 +86,9 @@ public class Function implements Token {
...
@@ -86,7 +86,9 @@ public class Function implements Token {
}
}
public
static
Boolean
or
(
Boolean
...
x
)
{
public
static
Boolean
or
(
Boolean
...
x
)
{
return
Db
.
registerToken
(
Utils
.
newObject
(
Boolean
.
class
),
new
Function
(
""
,
(
Object
[])
x
)
{
return
Db
.
registerToken
(
Utils
.
newObject
(
Boolean
.
class
),
new
Function
(
""
,
(
Object
[])
x
)
{
public
String
getString
(
Query
query
)
{
public
String
getString
(
Query
query
)
{
StringBuilder
buff
=
new
StringBuilder
();
StringBuilder
buff
=
new
StringBuilder
();
for
(
int
i
=
0
;
i
<
x
.
length
;
i
++)
{
for
(
int
i
=
0
;
i
<
x
.
length
;
i
++)
{
...
@@ -101,7 +103,9 @@ public class Function implements Token {
...
@@ -101,7 +103,9 @@ public class Function implements Token {
}
}
public
static
Boolean
and
(
Boolean
...
x
)
{
public
static
Boolean
and
(
Boolean
...
x
)
{
return
Db
.
registerToken
(
Utils
.
newObject
(
Boolean
.
class
),
new
Function
(
""
,
(
Object
[])
x
)
{
return
Db
.
registerToken
(
Utils
.
newObject
(
Boolean
.
class
),
new
Function
(
""
,
(
Object
[])
x
)
{
public
String
getString
(
Query
query
)
{
public
String
getString
(
Query
query
)
{
StringBuilder
buff
=
new
StringBuilder
();
StringBuilder
buff
=
new
StringBuilder
();
for
(
int
i
=
0
;
i
<
x
.
length
;
i
++)
{
for
(
int
i
=
0
;
i
<
x
.
length
;
i
++)
{
...
...
h2/src/tools/org/h2/jaqu/QueryCondition.java
浏览文件 @
b1a3cf48
...
@@ -24,32 +24,38 @@ public class QueryCondition<T, A> {
...
@@ -24,32 +24,38 @@ public class QueryCondition<T, A> {
}
}
public
QueryWhere
<
T
>
is
(
A
y
)
{
public
QueryWhere
<
T
>
is
(
A
y
)
{
query
.
addConditionToken
(
new
Condition
<
A
>(
query
,
x
,
y
,
CompareType
.
EQUAL
));
query
.
addConditionToken
(
new
Condition
<
A
>(
query
,
x
,
y
,
CompareType
.
EQUAL
));
return
new
QueryWhere
<
T
>(
query
);
return
new
QueryWhere
<
T
>(
query
);
}
}
public
QueryWhere
<
T
>
bigger
(
A
y
)
{
public
QueryWhere
<
T
>
bigger
(
A
y
)
{
query
.
addConditionToken
(
new
Condition
<
A
>(
query
,
x
,
y
,
CompareType
.
BIGGER
));
query
.
addConditionToken
(
new
Condition
<
A
>(
query
,
x
,
y
,
CompareType
.
BIGGER
));
return
new
QueryWhere
<
T
>(
query
);
return
new
QueryWhere
<
T
>(
query
);
}
}
public
QueryWhere
<
T
>
biggerEqual
(
A
y
)
{
public
QueryWhere
<
T
>
biggerEqual
(
A
y
)
{
query
.
addConditionToken
(
new
Condition
<
A
>(
query
,
x
,
y
,
CompareType
.
BIGGER_EQUAL
));
query
.
addConditionToken
(
new
Condition
<
A
>(
query
,
x
,
y
,
CompareType
.
BIGGER_EQUAL
));
return
new
QueryWhere
<
T
>(
query
);
return
new
QueryWhere
<
T
>(
query
);
}
}
public
QueryWhere
<
T
>
smaller
(
A
y
)
{
public
QueryWhere
<
T
>
smaller
(
A
y
)
{
query
.
addConditionToken
(
new
Condition
<
A
>(
query
,
x
,
y
,
CompareType
.
SMALLER
));
query
.
addConditionToken
(
new
Condition
<
A
>(
query
,
x
,
y
,
CompareType
.
SMALLER
));
return
new
QueryWhere
<
T
>(
query
);
return
new
QueryWhere
<
T
>(
query
);
}
}
public
QueryWhere
<
T
>
smallerEqual
(
A
y
)
{
public
QueryWhere
<
T
>
smallerEqual
(
A
y
)
{
query
.
addConditionToken
(
new
Condition
<
A
>(
query
,
x
,
y
,
CompareType
.
SMALLER_EQUAL
));
query
.
addConditionToken
(
new
Condition
<
A
>(
query
,
x
,
y
,
CompareType
.
SMALLER_EQUAL
));
return
new
QueryWhere
<
T
>(
query
);
return
new
QueryWhere
<
T
>(
query
);
}
}
public
QueryWhere
<
T
>
like
(
A
pattern
)
{
public
QueryWhere
<
T
>
like
(
A
pattern
)
{
query
.
addConditionToken
(
new
Condition
<
A
>(
query
,
x
,
pattern
,
CompareType
.
LIKE
));
query
.
addConditionToken
(
new
Condition
<
A
>(
query
,
x
,
pattern
,
CompareType
.
LIKE
));
return
new
QueryWhere
<
T
>(
query
);
return
new
QueryWhere
<
T
>(
query
);
}
}
...
...
h2/src/tools/org/h2/jaqu/TestCondition.java
浏览文件 @
b1a3cf48
...
@@ -13,6 +13,7 @@ import org.h2.jaqu.util.Utils;
...
@@ -13,6 +13,7 @@ import org.h2.jaqu.util.Utils;
*
*
* @param <A> the incomplete condition data type
* @param <A> the incomplete condition data type
*/
*/
//## Java 1.5 begin ##
public
class
TestCondition
<
A
>
{
public
class
TestCondition
<
A
>
{
private
A
x
;
private
A
x
;
...
@@ -76,3 +77,4 @@ public class TestCondition<A> {
...
@@ -76,3 +77,4 @@ public class TestCondition<A> {
}
}
}
}
//## Java 1.5 end ##
编写
预览
Markdown
格式
0%
重试
或
添加新文件
添加附件
取消
您添加了
0
人
到此讨论。请谨慎行事。
请先完成此评论的编辑!
取消
请
注册
或者
登录
后发表评论