SQLiteDatabase.SqliteMaxLikePatternLength 欄位

定義

LIKE 或 GLOB 圖案的最大長度 SQLite 預設 LIKE 與 GLOB 實作中使用的模式匹配演算法,在某些病態情況下可能展現出 O(N^2) 的效能(其中 N 是圖案中的字元數)。

[Android.Runtime.Register("SQLITE_MAX_LIKE_PATTERN_LENGTH")]
public const int SqliteMaxLikePatternLength = 50000;
[<Android.Runtime.Register("SQLITE_MAX_LIKE_PATTERN_LENGTH")>]
val mutable SqliteMaxLikePatternLength : int

欄位值

Value = 50000
屬性

備註

LIKE 或 GLOB 圖案的最大長度 SQLite 預設 LIKE 與 GLOB 實作中使用的模式匹配演算法,在某些病態情況下可能展現出 O(N^2) 的效能(其中 N 是圖案中的字元數)。 為避免阻斷服務攻擊,LIKE 或 GLOB 模式的長度限制在 SQLITE_MAX_LIKE_PATTERN_LENGTH 位元組。 這個限制的預設值是 50000。 現代工作站甚至能相對快速地評估病態的 LIKE 或 GLOB 模式,約 50000 位元組。 阻斷服務問題只有在模式長度達到數百萬位元組時才會顯現。 然而,由於大多數有用的 LIKE 或 GLOB 模式長度最多只有幾十位元組,謹慎的應用程式開發者若知道外部使用者能產生任意模式,可能會將參數縮小到數百個範圍。

Java 文件 android.database.sqlite.SQLiteDatabase.SQLITE_MAX_LIKE_PATTERN_LENGTH

本頁部分內容為基於 Open Source Project 所創建與分享的作品,並依授權條款所描述的使用進行修改。

適用於