Spec-Zone.ru › DuckDB

Dart API

DuckDB.Dart — это родной Dart API для DuckDB.

Установка

DuckDB.Dart можно установить с pub.dev. Подробности см. в справочнике API.

Использование пакета как библиотеки

Зависимость от него

Выполните эту команду:

С Flutter:

flutter pub add dart_duckdb

Это добавит строку такого вида в ваш пакет pubspec.yaml (и запустит неявное flutter pub get):

dependencies:
  dart_duckdb: ^1.1.3

В качестве альтернативы ваш редактор может поддерживать flutter pub get. Узнайте больше в документации вашего редактора.

Импорт

Теперь в вашем Dart-коде вы можете импортировать его:

import 'package:dart_duckdb/dart_duckdb.dart';

Примеры использования

См. примеры проектов в duckdb-dart репозитории:

  • cli: приложение командной строки
  • duckdbexplorer: графическое приложение, которое собирается для настольных операционных систем, а также Android и iOS.

Вот несколько общих фрагментов кода для DuckDB.Dart:

Запрос в базе данных с оперативной памятью

import 'package:dart_duckdb/dart_duckdb.dart';

void main() {
  final db = duckdb.open(":memory:");
  final connection = duckdb.connect(db);

  connection.execute('''
    CREATE TABLE users (id INTEGER, name VARCHAR, age INTEGER);
    INSERT INTO users VALUES (1, 'Alice', 30), (2, 'Bob', 25);
  ''');

  final result = connection.query("SELECT * FROM users WHERE age > 28").fetchAll();

  for (final row in result) {
    print(row);
  }

  connection.dispose();
  db.dispose();
}

Запросы на фоновых изолятах

import 'package:dart_duckdb/dart_duckdb.dart';

void main() {
  final db = duckdb.open(":memory:");
  final connection = duckdb.connect(db);

  await Isolate.spawn(backgroundTask, db.transferrable);

  connection.dispose();
  db.dispose();
}

void backgroundTask(TransferableDatabase transferableDb) {
  final connection = duckdb.connectWithTransferred(transferableDb);
  // Access database ...
  // fetch is needed to send the data back to the main isolate
}

© Copyright 2018–2024 Stichting DuckDB Foundation
Licensed under the MIT License.
https://duckdb.org/docs/api/dart.html

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API