Skip to content
项目
群组
代码片段
帮助
正在加载...
帮助
为 GitLab 提交贡献
登录/注册
切换导航
H
h2database
项目
项目
详情
活动
周期分析
仓库
仓库
文件
提交
分支
标签
贡献者
分枝图
比较
统计图
议题
0
议题
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
CI / CD
CI / CD
流水线
作业
计划
统计图
Wiki
Wiki
代码片段
代码片段
成员
成员
折叠边栏
关闭边栏
活动
分枝图
统计图
创建新议题
作业
提交
议题看板
打开侧边栏
Administrator
h2database
Commits
9b5cd887
提交
9b5cd887
authored
15 年前
作者:
Thomas Mueller
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
The fulltext search methods and fields are now protected instead of private.
上级
e9447750
隐藏空白字符变更
内嵌
并排
正在显示
4 个修改的文件
包含
211 行增加
和
74 行删除
+211
-74
FullText.java
h2/src/main/org/h2/fulltext/FullText.java
+75
-27
FullTextLucene.java
h2/src/main/org/h2/fulltext/FullTextLucene.java
+58
-20
FullTextSettings.java
h2/src/main/org/h2/fulltext/FullTextSettings.java
+71
-20
IndexInfo.java
h2/src/main/org/h2/fulltext/IndexInfo.java
+7
-7
没有找到文件。
h2/src/main/org/h2/fulltext/FullText.java
浏览文件 @
9b5cd887
...
...
@@ -49,35 +49,40 @@ import org.h2.value.DataType;
*/
public
class
FullText
{
private
static
final
String
TRIGGER_PREFIX
=
"FT_"
;
private
static
final
String
SCHEMA
=
"FT"
;
private
static
final
String
SELECT_MAP_BY_WORD_ID
=
"SELECT ROWID FROM "
+
SCHEMA
+
".MAP WHERE WORDID=?"
;
private
static
final
String
SELECT_ROW_BY_ID
=
"SELECT KEY, INDEXID FROM "
+
SCHEMA
+
".ROWS WHERE ID=?"
;
/**
* A column name of the result set returned by the searchData method.
*/
pr
ivate
static
final
String
FIELD_SCHEMA
=
"SCHEMA"
;
pr
otected
static
final
String
FIELD_SCHEMA
=
"SCHEMA"
;
/**
* A column name of the result set returned by the searchData method.
*/
pr
ivate
static
final
String
FIELD_TABLE
=
"TABLE"
;
pr
otected
static
final
String
FIELD_TABLE
=
"TABLE"
;
/**
* A column name of the result set returned by the searchData method.
*/
pr
ivate
static
final
String
FIELD_COLUMNS
=
"COLUMNS"
;
pr
otected
static
final
String
FIELD_COLUMNS
=
"COLUMNS"
;
/**
* A column name of the result set returned by the searchData method.
*/
pr
ivate
static
final
String
FIELD_KEYS
=
"KEYS"
;
pr
otected
static
final
String
FIELD_KEYS
=
"KEYS"
;
/**
* The column name of the result set returned by the search method.
*/
private
static
final
String
FIELD_QUERY
=
"QUERY"
;
protected
static
final
String
FIELD_QUERY
=
"QUERY"
;
/**
* The hit score.
*/
protected
static
final
String
FIELD_SCORE
=
"SCORE"
;
private
static
final
String
TRIGGER_PREFIX
=
"FT_"
;
private
static
final
String
SCHEMA
=
"FT"
;
private
static
final
String
SELECT_MAP_BY_WORD_ID
=
"SELECT ROWID FROM "
+
SCHEMA
+
".MAP WHERE WORDID=?"
;
private
static
final
String
SELECT_ROW_BY_ID
=
"SELECT KEY, INDEXID FROM "
+
SCHEMA
+
".ROWS WHERE ID=?"
;
/**
* Initializes full text search functionality for this database. This adds
...
...
@@ -247,6 +252,8 @@ public class FullText {
* <ul><li>QUERY (varchar): the query to use to get the data.
* The query does not include 'SELECT * FROM '. Example:
* PUBLIC.TEST WHERE ID = 1
* </li><li>SCORE (float) the relevance score. This value is always 1.0
* for the native fulltext search.
* </li></ul>
*
* @param conn the connection
...
...
@@ -270,6 +277,9 @@ public class FullText {
* names. The column names are quoted if necessary. Example: (ID) </li>
* <li>KEYS (array of values): comma separated list of values. Example: (1)
* </li>
* <li>SCORE (float) the relevance score. This value is always 1.0
* for the native fulltext search.
* </li>
* </ul>
*
* @param conn the connection
...
...
@@ -377,6 +387,7 @@ public class FullText {
}
else
{
result
.
addColumn
(
FullText
.
FIELD_QUERY
,
Types
.
VARCHAR
,
0
,
0
);
}
result
.
addColumn
(
FullText
.
FIELD_SCORE
,
Types
.
FLOAT
,
0
,
0
);
return
result
;
}
...
...
@@ -501,7 +512,17 @@ public class FullText {
}
}
private
static
ResultSet
search
(
Connection
conn
,
String
text
,
int
limit
,
int
offset
,
boolean
data
)
throws
SQLException
{
/**
* Do the search.
*
* @param conn the database connection
* @param text the query
* @param limit the limit
* @param offset the offset
* @param data whether the raw data should be returned
* @return the result set
*/
protected
static
ResultSet
search
(
Connection
conn
,
String
text
,
int
limit
,
int
offset
,
boolean
data
)
throws
SQLException
{
SimpleResultSet
result
=
createResultSet
(
data
);
if
(
conn
.
getMetaData
().
getURL
().
startsWith
(
"jdbc:columnlist:"
))
{
// this is just to query the result set columns
...
...
@@ -559,12 +580,13 @@ public class FullText {
index
.
schema
,
index
.
table
,
columnData
[
0
],
columnData
[
1
]);
columnData
[
1
],
1.0
);
}
else
{
String
query
=
StringUtils
.
quoteIdentifier
(
index
.
schema
)
+
"."
+
StringUtils
.
quoteIdentifier
(
index
.
table
)
+
" WHERE "
+
key
;
result
.
addRow
(
query
);
result
.
addRow
(
query
,
1.0
);
}
rowCount
++;
if
(
limit
>
0
&&
rowCount
>=
limit
)
{
...
...
@@ -603,7 +625,7 @@ public class FullText {
* @param set the hash set
* @param reader the reader
*/
static
void
addWords
(
FullTextSettings
setting
,
HashSet
<
String
>
set
,
Reader
reader
)
throws
SQLException
{
protected
static
void
addWords
(
FullTextSettings
setting
,
HashSet
<
String
>
set
,
Reader
reader
)
throws
SQLException
{
StreamTokenizer
tokenizer
=
new
StreamTokenizer
(
reader
);
tokenizer
.
resetSyntax
();
tokenizer
.
wordChars
(
' '
+
1
,
255
);
...
...
@@ -628,14 +650,14 @@ public class FullText {
}
}
/**
/**
* Add all words in the given text to the hash set.
*
* @param setting the fulltext settings
* @param set the hash set
* @param text the text
*/
static
void
addWords
(
FullTextSettings
setting
,
HashSet
<
String
>
set
,
String
text
)
{
protected
static
void
addWords
(
FullTextSettings
setting
,
HashSet
<
String
>
set
,
String
text
)
{
StringTokenizer
tokenizer
=
new
StringTokenizer
(
text
,
" \t\n\r\f+\"*%&/()=?'!,.;:-_#@|^~`{}[]"
);
while
(
tokenizer
.
hasMoreTokens
())
{
String
word
=
tokenizer
.
nextToken
();
...
...
@@ -646,7 +668,14 @@ public class FullText {
}
}
private
static
void
createTrigger
(
Connection
conn
,
String
schema
,
String
table
)
throws
SQLException
{
/**
* Create the trigger.
*
* @param conn the database connection
* @param schema the schema name
* @param table the table name
*/
protected
static
void
createTrigger
(
Connection
conn
,
String
schema
,
String
table
)
throws
SQLException
{
createOrDropTrigger
(
conn
,
schema
,
table
,
true
);
}
...
...
@@ -669,7 +698,14 @@ public class FullText {
}
}
private
static
void
indexExistingRows
(
Connection
conn
,
String
schema
,
String
table
)
throws
SQLException
{
/**
* Add the existing data to the index.
*
* @param conn the database connection
* @param schema the schema name
* @param table the table name
*/
protected
static
void
indexExistingRows
(
Connection
conn
,
String
schema
,
String
table
)
throws
SQLException
{
FullText
.
FullTextTrigger
existing
=
new
FullText
.
FullTextTrigger
();
existing
.
init
(
conn
,
schema
,
null
,
table
,
false
,
Trigger
.
INSERT
);
String
sql
=
"SELECT * FROM "
+
StringUtils
.
quoteIdentifier
(
schema
)
+
"."
+
StringUtils
.
quoteIdentifier
(
table
);
...
...
@@ -720,7 +756,7 @@ public class FullText {
* @param indexColumns the indexed columns
* @return true if the indexed columns don't match
*/
static
boolean
hasChanged
(
Object
[]
oldRow
,
Object
[]
newRow
,
int
[]
indexColumns
)
{
protected
static
boolean
hasChanged
(
Object
[]
oldRow
,
Object
[]
newRow
,
int
[]
indexColumns
)
{
for
(
int
c
:
indexColumns
)
{
Object
o
=
oldRow
[
c
],
n
=
newRow
[
c
];
if
(
o
==
null
)
{
...
...
@@ -739,12 +775,12 @@ public class FullText {
*/
public
static
class
FullTextTrigger
implements
Trigger
,
CloseListener
{
pr
ivate
FullTextSettings
setting
;
pr
ivate
IndexInfo
index
;
pr
ivate
int
[]
columnTypes
;
pr
ivate
PreparedStatement
prepInsertWord
,
prepInsertRow
,
prepInsertMap
;
pr
ivate
PreparedStatement
prepDeleteRow
,
prepDeleteMap
;
pr
ivate
PreparedStatement
prepSelectRow
;
pr
otected
FullTextSettings
setting
;
pr
otected
IndexInfo
index
;
pr
otected
int
[]
columnTypes
;
pr
otected
PreparedStatement
prepInsertWord
,
prepInsertRow
,
prepInsertMap
;
pr
otected
PreparedStatement
prepDeleteRow
,
prepDeleteMap
;
pr
otected
PreparedStatement
prepSelectRow
;
/**
* INTERNAL
...
...
@@ -859,7 +895,13 @@ public class FullText {
setting
.
removeIndexInfo
(
index
);
}
private
void
insert
(
FullTextSettings
setting
,
Object
[]
row
)
throws
SQLException
{
/**
* Add a row to the index.
*
* @param setting the setting
* @param row the row
*/
protected
void
insert
(
FullTextSettings
setting
,
Object
[]
row
)
throws
SQLException
{
String
key
=
getKey
(
row
);
int
hash
=
key
.
hashCode
();
prepInsertRow
.
setInt
(
1
,
hash
);
...
...
@@ -877,7 +919,13 @@ public class FullText {
}
}
private
void
delete
(
FullTextSettings
setting
,
Object
[]
row
)
throws
SQLException
{
/**
* Delete a row from the index.
*
* @param setting the setting
* @param row the row
*/
protected
void
delete
(
FullTextSettings
setting
,
Object
[]
row
)
throws
SQLException
{
String
key
=
getKey
(
row
);
int
hash
=
key
.
hashCode
();
prepSelectRow
.
setInt
(
1
,
hash
);
...
...
This diff is collapsed.
Click to expand it.
h2/src/main/org/h2/fulltext/FullTextLucene.java
浏览文件 @
9b5cd887
...
...
@@ -53,7 +53,7 @@ public class FullTextLucene extends FullText {
/**
* Whether the text content should be stored in the Lucene index.
*/
static
final
boolean
STORE_DOCUMENT_TEXT_IN_INDEX
=
Boolean
.
getBoolean
(
"h2.storeDocumentTextInIndex"
);
protected
static
final
boolean
STORE_DOCUMENT_TEXT_IN_INDEX
=
Boolean
.
getBoolean
(
"h2.storeDocumentTextInIndex"
);
//## Java 1.4 begin ##
private
static
final
HashMap
<
String
,
IndexModifier
>
INDEX_MODIFIERS
=
New
.
hashMap
();
...
...
@@ -169,6 +169,7 @@ public class FullTextLucene extends FullText {
* <ul><li>QUERY (varchar): the query to use to get the data.
* The query does not include 'SELECT * FROM '. Example:
* PUBLIC.TEST WHERE ID = 1
* </li><li>SCORE (float) the relevance score as returned by Lucene.
* </li></ul>
*
* @param conn the connection
...
...
@@ -193,6 +194,7 @@ public class FullTextLucene extends FullText {
* <li>COLUMNS (array of varchar): comma separated list of quoted column
* names. The column names are quoted if necessary. Example: (ID) </li>
* <li>KEYS (array of values): comma separated list of values. Example: (1)
* </li><li>SCORE (float) the relevance score as returned by Lucene.
* </li>
* </ul>
*
...
...
@@ -213,13 +215,20 @@ public class FullTextLucene extends FullText {
* @param e the original exception
* @return the converted SQL exception
*/
static
SQLException
convertException
(
Exception
e
)
{
protected
static
SQLException
convertException
(
Exception
e
)
{
SQLException
e2
=
new
SQLException
(
"FULLTEXT"
,
"Error while indexing document"
);
e2
.
initCause
(
e
);
return
e2
;
}
private
static
void
createTrigger
(
Connection
conn
,
String
schema
,
String
table
)
throws
SQLException
{
/**
* Create the trigger.
*
* @param conn the database connection
* @param schema the schema name
* @param table the table name
*/
protected
static
void
createTrigger
(
Connection
conn
,
String
schema
,
String
table
)
throws
SQLException
{
Statement
stat
=
conn
.
createStatement
();
String
trigger
=
StringUtils
.
quoteIdentifier
(
schema
)
+
"."
+
StringUtils
.
quoteIdentifier
(
TRIGGER_PREFIX
+
table
);
stat
.
execute
(
"DROP TRIGGER IF EXISTS "
+
trigger
);
...
...
@@ -241,7 +250,7 @@ public class FullTextLucene extends FullText {
* @param conn the connection
* @return the index modifier
*/
static
IndexModifier
getIndexModifier
(
Connection
conn
)
throws
SQLException
{
protected
static
IndexModifier
getIndexModifier
(
Connection
conn
)
throws
SQLException
{
String
path
=
getIndexPath
(
conn
);
IndexModifier
indexer
;
synchronized
(
INDEX_MODIFIERS
)
{
...
...
@@ -266,7 +275,7 @@ public class FullTextLucene extends FullText {
* @param conn the database connection
* @return the path
*/
static
String
getIndexPath
(
Connection
conn
)
throws
SQLException
{
protected
static
String
getIndexPath
(
Connection
conn
)
throws
SQLException
{
Statement
stat
=
conn
.
createStatement
();
ResultSet
rs
=
stat
.
executeQuery
(
"CALL DATABASE_PATH()"
);
rs
.
next
();
...
...
@@ -278,7 +287,14 @@ public class FullTextLucene extends FullText {
return
path
;
}
private
static
void
indexExistingRows
(
Connection
conn
,
String
schema
,
String
table
)
throws
SQLException
{
/**
* Add the existing data to the index.
*
* @param conn the database connection
* @param schema the schema name
* @param table the table name
*/
protected
static
void
indexExistingRows
(
Connection
conn
,
String
schema
,
String
table
)
throws
SQLException
{
FullTextLucene
.
FullTextTrigger
existing
=
new
FullTextLucene
.
FullTextTrigger
();
existing
.
init
(
conn
,
schema
,
null
,
table
,
false
,
Trigger
.
INSERT
);
String
sql
=
"SELECT * FROM "
+
StringUtils
.
quoteIdentifier
(
schema
)
+
"."
+
StringUtils
.
quoteIdentifier
(
table
);
...
...
@@ -308,7 +324,7 @@ public class FullTextLucene extends FullText {
* @param indexModifier the index modifier
* @param indexPath the index path
*/
static
void
removeIndexModifier
(
IndexModifier
indexModifier
,
String
indexPath
)
throws
SQLException
{
protected
static
void
removeIndexModifier
(
IndexModifier
indexModifier
,
String
indexPath
)
throws
SQLException
{
synchronized
(
INDEX_MODIFIERS
)
{
try
{
INDEX_MODIFIERS
.
remove
(
indexPath
);
...
...
@@ -320,7 +336,17 @@ public class FullTextLucene extends FullText {
}
}
private
static
ResultSet
search
(
Connection
conn
,
String
text
,
int
limit
,
int
offset
,
boolean
data
)
throws
SQLException
{
/**
* Do the search.
*
* @param conn the database connection
* @param text the query
* @param limit the limit
* @param offset the offset
* @param data whether the raw data should be returned
* @return the result set
*/
protected
static
ResultSet
search
(
Connection
conn
,
String
text
,
int
limit
,
int
offset
,
boolean
data
)
throws
SQLException
{
SimpleResultSet
result
=
createResultSet
(
data
);
if
(
conn
.
getMetaData
().
getURL
().
startsWith
(
"jdbc:columnlist:"
))
{
// this is just to query the result set columns
...
...
@@ -345,6 +371,7 @@ public class FullTextLucene extends FullText {
}
for
(
int
i
=
0
;
i
<
limit
&&
i
+
offset
<
max
;
i
++)
{
Document
doc
=
hits
.
doc
(
i
+
offset
);
float
score
=
hits
.
score
(
i
+
offset
);
String
q
=
doc
.
get
(
FIELD_QUERY
);
if
(
data
)
{
int
idx
=
q
.
indexOf
(
" WHERE "
);
...
...
@@ -361,9 +388,10 @@ public class FullTextLucene extends FullText {
schemaName
,
tableName
,
columnData
[
0
],
columnData
[
1
]);
columnData
[
1
],
score
);
}
else
{
result
.
addRow
(
q
);
result
.
addRow
(
q
,
score
);
}
}
// TODO keep it open if possible
...
...
@@ -385,14 +413,14 @@ public class FullTextLucene extends FullText {
{
//## Java 1.4 begin ##
pr
ivate
String
schema
;
pr
ivate
String
table
;
pr
ivate
int
[]
keys
;
pr
ivate
int
[]
indexColumns
;
pr
ivate
String
[]
columns
;
pr
ivate
int
[]
columnTypes
;
pr
ivate
String
indexPath
;
pr
ivate
IndexModifier
indexModifier
;
pr
otected
String
schema
;
pr
otected
String
table
;
pr
otected
int
[]
keys
;
pr
otected
int
[]
indexColumns
;
pr
otected
String
[]
columns
;
pr
otected
int
[]
columnTypes
;
pr
otected
String
indexPath
;
pr
otected
IndexModifier
indexModifier
;
//## Java 1.4 end ##
/**
...
...
@@ -504,7 +532,12 @@ public class FullTextLucene extends FullText {
// ignore
}
private
void
insert
(
Object
[]
row
)
throws
SQLException
{
/**
* Add a row to the index.
*
* @param row the row
*/
protected
void
insert
(
Object
[]
row
)
throws
SQLException
{
String
query
=
getQuery
(
row
);
Document
doc
=
new
Document
();
doc
.
add
(
new
Field
(
FIELD_QUERY
,
query
,
Field
.
Store
.
YES
,
Field
.
Index
.
UN_TOKENIZED
));
...
...
@@ -528,7 +561,12 @@ public class FullTextLucene extends FullText {
}
}
private
void
delete
(
Object
[]
row
)
throws
SQLException
{
/**
* Delete a row from the index.
*
* @param row the row
*/
protected
void
delete
(
Object
[]
row
)
throws
SQLException
{
String
query
=
getQuery
(
row
);
try
{
Term
term
=
new
Term
(
FIELD_QUERY
,
query
);
...
...
This diff is collapsed.
Click to expand it.
h2/src/main/org/h2/fulltext/FullTextSettings.java
浏览文件 @
9b5cd887
...
...
@@ -19,25 +19,60 @@ import org.h2.util.SoftHashMap;
/**
* The global settings of a full text search.
*/
class
FullTextSettings
{
public
class
FullTextSettings
{
private
static
final
HashMap
<
String
,
FullTextSettings
>
SETTINGS
=
New
.
hashMap
();
/**
* The settings of open indexes.
*/
protected
static
final
HashMap
<
String
,
FullTextSettings
>
SETTINGS
=
New
.
hashMap
();
private
boolean
initialized
;
private
HashSet
<
String
>
ignoreList
=
New
.
hashSet
();
private
HashMap
<
String
,
Integer
>
words
=
New
.
hashMap
();
private
HashMap
<
Integer
,
IndexInfo
>
indexes
=
New
.
hashMap
();
private
SoftHashMap
<
String
,
PreparedStatement
>
cache
=
new
SoftHashMap
<
String
,
PreparedStatement
>();
/**
* Whether this instance has been initialized.
*/
protected
boolean
initialized
;
private
FullTextSettings
()
{
/**
* The set of words not to index (stop words).
*/
protected
HashSet
<
String
>
ignoreList
=
New
.
hashSet
();
/**
* The set of words / terms.
*/
protected
HashMap
<
String
,
Integer
>
words
=
New
.
hashMap
();
/**
* The set of indexes in this database.
*/
protected
HashMap
<
Integer
,
IndexInfo
>
indexes
=
New
.
hashMap
();
/**
* The prepared statement cache.
*/
protected
SoftHashMap
<
String
,
PreparedStatement
>
cache
=
new
SoftHashMap
<
String
,
PreparedStatement
>();
/**
* Create a new instance.
*/
protected
FullTextSettings
()
{
// don't allow construction
}
HashSet
<
String
>
getIgnoreList
()
{
/**
* Get the ignore list.
*
* @return the ignore list
*/
protected
HashSet
<
String
>
getIgnoreList
()
{
return
ignoreList
;
}
HashMap
<
String
,
Integer
>
getWordList
()
{
/**
* Get the word list.
*
* @return the word list
*/
protected
HashMap
<
String
,
Integer
>
getWordList
()
{
return
words
;
}
...
...
@@ -47,7 +82,7 @@ class FullTextSettings {
* @param indexId the index id
* @return the index info
*/
IndexInfo
getIndexInfo
(
int
indexId
)
{
protected
IndexInfo
getIndexInfo
(
int
indexId
)
{
return
indexes
.
get
(
indexId
);
}
...
...
@@ -56,7 +91,7 @@ class FullTextSettings {
*
* @param index the index
*/
void
addIndexInfo
(
IndexInfo
index
)
{
protected
void
addIndexInfo
(
IndexInfo
index
)
{
indexes
.
put
(
index
.
id
,
index
);
}
...
...
@@ -67,7 +102,7 @@ class FullTextSettings {
* @param word the word to convert and check
* @return the uppercase version of the word or null
*/
String
convertWord
(
String
word
)
{
protected
String
convertWord
(
String
word
)
{
// TODO this is locale specific, document
word
=
word
.
toUpperCase
();
if
(
ignoreList
.
contains
(
word
))
{
...
...
@@ -82,7 +117,7 @@ class FullTextSettings {
* @param conn the connection
* @return the settings
*/
static
FullTextSettings
getInstance
(
Connection
conn
)
throws
SQLException
{
protected
static
FullTextSettings
getInstance
(
Connection
conn
)
throws
SQLException
{
String
path
=
getIndexPath
(
conn
);
FullTextSettings
setting
=
SETTINGS
.
get
(
path
);
if
(
setting
==
null
)
{
...
...
@@ -92,7 +127,13 @@ class FullTextSettings {
return
setting
;
}
private
static
String
getIndexPath
(
Connection
conn
)
throws
SQLException
{
/**
* Get the file system path.
*
* @param conn the connection
* @return the file system path
*/
protected
static
String
getIndexPath
(
Connection
conn
)
throws
SQLException
{
Statement
stat
=
conn
.
createStatement
();
ResultSet
rs
=
stat
.
executeQuery
(
"CALL IFNULL(DATABASE_PATH(), 'MEM:' || DATABASE())"
);
rs
.
next
();
...
...
@@ -111,7 +152,7 @@ class FullTextSettings {
* @param sql the statement
* @return the prepared statement
*/
synchronized
PreparedStatement
prepare
(
Connection
conn
,
String
sql
)
throws
SQLException
{
protected
synchronized
PreparedStatement
prepare
(
Connection
conn
,
String
sql
)
throws
SQLException
{
PreparedStatement
prep
=
cache
.
get
(
sql
);
if
(
prep
!=
null
&&
prep
.
getConnection
().
isClosed
())
{
prep
=
null
;
...
...
@@ -126,7 +167,7 @@ class FullTextSettings {
/**
* Remove all indexes from the settings.
*/
void
removeAllIndexes
()
{
protected
void
removeAllIndexes
()
{
indexes
.
clear
();
}
...
...
@@ -135,15 +176,25 @@ class FullTextSettings {
*
* @param index the index to remove
*/
void
removeIndexInfo
(
IndexInfo
index
)
{
protected
void
removeIndexInfo
(
IndexInfo
index
)
{
indexes
.
remove
(
index
.
id
);
}
void
setInitialized
(
boolean
b
)
{
/**
* Set the initialized flag.
*
* @param b the new value
*/
protected
void
setInitialized
(
boolean
b
)
{
this
.
initialized
=
b
;
}
boolean
isInitialized
()
{
/**
* Get the initialized flag.
*
* @return whether this instance is initialized
*/
protected
boolean
isInitialized
()
{
return
initialized
;
}
...
...
This diff is collapsed.
Click to expand it.
h2/src/main/org/h2/fulltext/IndexInfo.java
浏览文件 @
9b5cd887
...
...
@@ -9,35 +9,35 @@ package org.h2.fulltext;
/**
* The settings of one full text search index.
*/
class
IndexInfo
{
public
class
IndexInfo
{
/**
* The index id.
*/
int
id
;
protected
int
id
;
/**
* The schema name.
*/
String
schema
;
protected
String
schema
;
/**
* The table name.
*/
String
table
;
protected
String
table
;
/**
* The column indexes of the key columns.
*/
int
[]
keys
;
protected
int
[]
keys
;
/**
* The column indexes of the index columns.
*/
int
[]
indexColumns
;
protected
int
[]
indexColumns
;
/**
* The column names.
*/
String
[]
columns
;
protected
String
[]
columns
;
}
This diff is collapsed.
Click to expand it.
编写
预览
Markdown
格式
0%
重试
或
添加新文件
添加附件
取消
您添加了
0
人
到此讨论。请谨慎行事。
请先完成此评论的编辑!
取消
请
注册
或者
登录
后发表评论