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