Compartilhar via


SQLiteDatabase.SqliteMaxLikePatternLength Campo

Definição

Comprimento máximo de um padrão LIKE ou GLOB O algoritmo de correspondência de padrões usado na implementação padrão LIKE e GLOB do SQLite pode exibir desempenho O(N^2) (onde N é o número de caracteres no padrão) para certos casos patológicos.

[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

Valor do campo

Value = 50000
Atributos

Comentários

Comprimento máximo de um padrão LIKE ou GLOB O algoritmo de correspondência de padrões usado na implementação padrão LIKE e GLOB do SQLite pode exibir desempenho O(N^2) (onde N é o número de caracteres no padrão) para certos casos patológicos. Para evitar ataques de negação de serviço, o comprimento do padrão LIKE ou GLOB é limitado a SQLITE_MAX_LIKE_PATTERN_LENGTH bytes. O valor padrão desse limite é 50000. Uma estação de trabalho moderna pode avaliar até mesmo um padrão patológico LIKE ou GLOB de 50000 bytes com relativa rapidez. O problema de negação de serviço só entra em jogo quando o comprimento do padrão chega a milhões de bytes. No entanto, como os padrões LIKE ou GLOB mais úteis têm, no máximo, algumas dezenas de bytes, desenvolvedores de aplicativos cautelosos podem querer reduzir esse parâmetro para algo na faixa de algumas centenas se souberem que usuários externos são capazes de gerar padrões arbitrários.

Documentação Java para android.database.sqlite.SQLiteDatabase.SQLITE_MAX_LIKE_PATTERN_LENGTH.

Partes desta página são modificações baseadas no trabalho criado e compartilhado pelo Android Open Source Project e usado de acordo com os termos descritos na Creative Commons 2.5 Attribution License.

Aplica-se a