Sql import json
Материал из Eludia.
Описание
Импортирует в БД данные, подготовленные sql_export_json. Если очередная строка входного потока не является JSON-массивом, исполняет её как SQL.
Строки, описывающие структуру таблиц, обрабатываются процедурой sql_import_json так же, как описание схемы данных — обработчиком запросов.
Строки, описывающие данные, накапливаются в буфере по 100 штук, после чего синхронизируются с содержимым таблицы (по полю id) при помощи wish table_data.
Синопсис (Perl5)
### см. пример для sql_export_json lrt_start (); lrt_print ('Чтение файла...'); my $file = upload_file ({ name => 'file', dir => 'images' }); lrt_println ('Распаковка файла...'); require Compress::Zlib; my $gz = Compress::Zlib::gzopen ($file -> {real_path}, "rb"); my $fn = $file -> {real_path} . 'ungz'; open (F, ">$fn"); my $n = 0; while ($gz -> gzreadline ($_) > 0) {print F; ++ $n}; close F; my $nn = 0; lrt_println ('Импорт данных...'); open (F, $fn); sql_import_json (F, sub {++ $nn % 100 or lrt_println (" $nn строк из $n...")}); close F; lrt_finish ('Процесс завершён', "...");
Категории: API | SQL | Репликация
