ensureJsonExtractFunction function

void ensureJsonExtractFunction(
  1. CommonDatabase database
)

Ensures that json_extract is available on the provided SQLite database.

Implementation

void ensureJsonExtractFunction(sqlite.CommonDatabase database) {
  try {
    database.select(r"""SELECT json_extract('1', '$')""");
    return;
  } on sqlite.SqliteException catch (error) {
    final message = error.message;
    if (!message.contains('no such function: json_extract')) {
      rethrow;
    }
  }

  database.createFunction(
    functionName: 'json_extract',
    argumentCount: const sqlite.AllowedArgumentCount(2),
    deterministic: true,
    directOnly: false,
    function: _jsonExtractFallback,
  );
}