1
0
mirror of https://github.com/Bayselonarrend/OpenIntegrations.git synced 2025-08-10 22:41:43 +02:00

PG: Нормализация параметров

This commit is contained in:
Anton Titovets
2025-02-11 14:28:22 +03:00
parent d160c54c31
commit 55689caa16
14 changed files with 6788 additions and 6518 deletions

File diff suppressed because it is too large Load Diff

View File

@@ -146,7 +146,7 @@ fn process_object(object: &Map<String, Value>) -> Result<Box<dyn ToSql + Sync>,
Box::new(map) as Box<dyn ToSql + Sync>
})
.ok_or_else(|| "Invalid object for HSTORE".to_string()),
"TIMESTAMP" | "TIMESTAMP WITH TIME ZONE" => value
"TIMESTAMP" | "TIMESTAMP WITH TIME ZONE" | "TIMESTAMP_WITH_TIME_ZONE" => value
.as_i64()
.map(|v| {
let duration = UNIX_EPOCH + std::time::Duration::from_millis(v as u64 * 1000);
@@ -247,10 +247,7 @@ fn rows_to_json(rows: Vec<postgres::Row>) -> String {
result.push(Value::Object(row_map));
};
json!({
"result": true,
"data": result
}).to_string()
json!({ "result": true, "data": result }).to_string()
}
fn format_json_error(error: &str) -> String {

Binary file not shown.

Binary file not shown.

View File

@@ -38,6 +38,7 @@
//@skip-check wrong-string-literal-content
//@skip-check method-too-many-params
//@skip-check constructor-function-return-section
//@skip-check doc-comment-collection-item-type
// Раскомментировать, если выполняется OneScript
#Использовать "../../tools"
@@ -195,7 +196,7 @@
// Соединение - Строка, Произвольный - Соединение или строка подключения - dbc
//
// Возвращаемое значение:
// Структура Из КлючИЗначение, Строка - Результат выполнения запроса
// Структура Из КлючИЗначение - Результат выполнения запроса
Функция СоздатьБазуДанных(Знач База, Знач Соединение = "") Экспорт
Результат = OPI_ЗапросыSQL.СоздатьБазуДанных(OPI_PostgreSQL, База, Соединение);
@@ -211,7 +212,7 @@
// Соединение - Строка, Произвольный - Соединение или строка подключения - dbc
//
// Возвращаемое значение:
// Структура Из КлючИЗначение, Строка - Результат выполнения запроса
// Структура Из КлючИЗначение - Результат выполнения запроса
Функция УдалитьБазуДанных(Знач База, Знач Соединение = "") Экспорт
Результат = OPI_ЗапросыSQL.УдалитьБазуДанных(OPI_PostgreSQL, База, Соединение);
@@ -227,7 +228,7 @@
// Соединение - Строка, Произвольный - Соединение или строка подключения - dbc
//
// Возвращаемое значение:
// Структура Из КлючИЗначение, Строка - Результат выполнения запроса
// Структура Из КлючИЗначение - Результат выполнения запроса
Функция ПолучитьИнформациюОТаблице(Знач Таблица, Знач Соединение = "") Экспорт
OPI_ПреобразованиеТипов.ПолучитьСтроку(Таблица);
@@ -244,6 +245,44 @@
КонецФункции
// Получить типы колонок таблицы
// Получает массив типов колонок таблицы
//
// Параметры:
// Таблица - Строка - Имя таблицы - table
// Соединение - Строка, Произвольный - Соединение или строка подключения - dbc
//
// Возвращаемое значение:
// Массив, Соответствие Из КлючИЗначение - Массив типов или информация об ошибке
Функция ПолучитьТипыКолонокТаблицы(Знач Таблица, Знач Соединение = "") Экспорт
ИнформацияОТаблице = ПолучитьИнформациюОТаблице(Таблица, Соединение);
Если Не ИнформацияОТаблице["result"] Тогда
Возврат ИнформацияОТаблице;
КонецЕсли;
МассивТипов = Новый Массив;
Для Каждого Колонка Из ИнформацияОТаблице Цикл
ТекущийТип = Колонка["data_type"];
ТекущийТип = Строка(вРег(ТекущийТип));
ТекущийТип = СтрЗаменить(ТекущийТип, " ", "_");
ТекущийТип = СтрЗаменить(ТекущийТип, """CHAR""", "OLDCHAR");
Если СтрНачинаетсяС(ТекущийТип, "CHAR") Тогда
ТекущийТип = "CHAR";
КонецЕсли;
МассивТипов.Добавить(ТекущийТип);
КонецЦикла;
Возврат МассивТипов;
КонецФункции
// Создать таблицу
// Создает пустую таблицу в базе
//
@@ -253,7 +292,7 @@
// Соединение - Строка, Произвольный - Соединение или строка подключения - dbc
//
// Возвращаемое значение:
// Структура Из КлючИЗначение, Строка - Результат выполнения запроса
// Структура Из КлючИЗначение - Результат выполнения запроса
Функция СоздатьТаблицу(Знач Таблица, Знач СтруктураКолонок, Знач Соединение = "") Экспорт
Результат = OPI_ЗапросыSQL.СоздатьТаблицу(OPI_PostgreSQL, Таблица, СтруктураКолонок, Соединение);
@@ -377,6 +416,49 @@
КонецФункции
// Нормализовать набор параметров
// Преобразует массив значений параметров в массив структур описаний для передачи в запрос
//
// Параметры:
// МассивЗначений - Массив Из Произвольный - Массив значений параметров запроса - values
// МассивТипов - Массив Из Строка - Массив типов колонок. См. ПолучитьТипыКолонокТаблицы - types
//
// Возвращаемое значение:
// Массив Из Соответствие - Нормализованный набор параметров для запроса
Функция НормализоватьНаборПараметров(Знач МассивЗначений, Знач МассивТипов) Экспорт
OPI_ПреобразованиеТипов.ПолучитьМассив(МассивЗначений);
OPI_ПреобразованиеТипов.ПолучитьМассив(МассивТипов);
СоответствиеТипов = ПолучитьСоответствиеТипов();
ИтоговыйМассив = Новый Массив;
ГраницаТипов = МассивТипов.ВГраница();
Для Н = 0 По МассивЗначений.ВГраница() Цикл
Если Н > ГраницаТипов Тогда
Прервать;
Конецесли;
ТекущийТип = вРег(МассивТипов[Н]);
ТекущееЗначение = МассивЗначений[Н];
ОписаниеТипа = СоответствиеТипов.Получить(ТекущийТип);
Если ОписаниеТипа <> Неопределено Тогда
ТекущееЗначение = ОписаниеТипа.ПривестиЗначение(ТекущееЗначение);
КонецЕсли;
ТекущееОписание = Новый Соответствие;
ТекущееОписание.Вставить(ТекущийТип, ТекущееЗначение);
ИтоговыйМассив.Добавить(ТекущееОписание);
КонецЦикла;
Возврат ИтоговыйМассив;
КонецФункции
// Получить структуру фильтра записей
// Получает структуру шаблон для фильтрации записей в запросах ORM
//
@@ -505,4 +587,44 @@
КонецФункции
Функция ПолучитьСоответствиеТипов()
ОписаниеBool = Новый ОписаниеТипов("Булево");
ОписаниеOldchar = Новый ОписаниеТипов("Число", , , Новый КвалификаторыЧисла(1, 0, ДопустимыйЗнак.Неотрицательный));
ОписаниеI = Новый ОписаниеТипов("Число", , , Новый КвалификаторыЧисла(, 0, ДопустимыйЗнак.Любой));
ОписаниеU = Новый ОписаниеТипов("Число", , , Новый КвалификаторыЧисла(, 0, ДопустимыйЗнак.Неотрицательный));
ОписаниеF = Новый ОписаниеТипов("Число", , , Новый КвалификаторыЧисла(, , ДопустимыйЗнак.Любой));
ОписаниеString = Новый ОписаниеТипов("Строка");
СоответствиеТипов = Новый Соответствие();
СоответствиеТипов.Вставить("BOOL" , ОписаниеBool);
СоответствиеТипов.Вставить("""CHAR""" , ОписаниеOldchar);
СоответствиеТипов.Вставить("OLDCHAR" , ОписаниеOldchar);
СоответствиеТипов.Вставить("SMALLINT" , ОписаниеI);
СоответствиеТипов.Вставить("SMALLSERIAL" , ОписаниеI);
СоответствиеТипов.Вставить("INT" , ОписаниеI);
СоответствиеТипов.Вставить("SERIAL" , ОписаниеI);
СоответствиеТипов.Вставить("BIGINT" , ОписаниеI);
СоответствиеТипов.Вставить("BIGSERIAL" , ОписаниеI);
СоответствиеТипов.Вставить("TIMESTAMP" , ОписаниеI);
СоответствиеТипов.Вставить("TIMESTAMP WITH TIME ZONE", ОписаниеI);
СоответствиеТипов.Вставить("TIMESTAMP_WITH_TIME_ZONE", ОписаниеI);
СоответствиеТипов.Вставить("OID" , ОписаниеU);
СоответствиеТипов.Вставить("REAL" , ОписаниеF);
СоответствиеТипов.Вставить("DOUBLE PRECISION" , ОписаниеF);
СоответствиеТипов.Вставить("DOUBLE_PRECISION" , ОписаниеF);
СоответствиеТипов.Вставить("VARCHAR" , ОписаниеString);
СоответствиеТипов.Вставить("TEXT" , ОписаниеString);
СоответствиеТипов.Вставить("CHAR" , ОписаниеString);
СоответствиеТипов.Вставить("CITEXT" , ОписаниеString);
СоответствиеТипов.Вставить("NAME" , ОписаниеString);
СоответствиеТипов.Вставить("LTREE" , ОписаниеString);
СоответствиеТипов.Вставить("LQUERY" , ОписаниеString);
СоответствиеТипов.Вставить("LTXTQUERY" , ОписаниеString);
СоответствиеТипов.Вставить("INET" , ОписаниеString);
Возврат СоответствиеТипов;
КонецФункции
#КонецОбласти

View File

@@ -165,7 +165,7 @@
// Соединение - Строка, Произвольный - Существующее соединение или путь к базе - db
//
// Возвращаемое значение:
// Структура Из КлючИЗначение, Строка - Результат выполнения запроса
// Соответствие Из КлючИЗначение - Результат выполнения запроса
Функция ПолучитьИнформациюОТаблице(Знач Таблица, Знач Соединение = "") Экспорт
OPI_ПреобразованиеТипов.ПолучитьСтроку(Таблица);
@@ -188,7 +188,7 @@
// Соединение - Строка, Произвольный - Существующее соединение или путь к базе - db
//
// Возвращаемое значение:
// Структура Из КлючИЗначение, Строка - Результат выполнения запроса
// Соответствие Из КлючИЗначение - Результат выполнения запроса
Функция СоздатьТаблицу(Знач Таблица, Знач СтруктураКолонок, Знач Соединение = "") Экспорт
Результат = OPI_ЗапросыSQL.СоздатьТаблицу(OPI_SQLite, Таблица, СтруктураКолонок, Соединение);
@@ -209,7 +209,7 @@
// Соединение - Строка, Произвольный - Существующее соединение или путь к базе - db
//
// Возвращаемое значение:
// Структура Из КлючИЗначение, Строка - Результат выполнения запроса
// Соответствие Из КлючИЗначение - Результат выполнения запроса
Функция ДобавитьЗаписи(Знач Таблица, Знач МассивДанных, Знач Транзакция = Истина, Знач Соединение = "") Экспорт
Результат = OPI_ЗапросыSQL.ДобавитьЗаписи(OPI_SQLite, Таблица, МассивДанных, Транзакция, Соединение);
@@ -232,7 +232,7 @@
// Соединение - Строка, Произвольный - Существующее соединение или путь к базе - db
//
// Возвращаемое значение:
// Структура Из КлючИЗначение, Строка - Результат выполнения запроса
// Соответствие Из КлючИЗначение - Результат выполнения запроса
Функция ПолучитьЗаписи(Знач Таблица
, Знач Поля = "*"
, Знач Фильтры = ""
@@ -255,7 +255,7 @@
// Соединение - Строка, Произвольный - Существующее соединение или путь к базе - db
//
// Возвращаемое значение:
// Структура Из КлючИЗначение, Строка - Результат выполнения запроса
// Соответствие Из КлючИЗначение - Результат выполнения запроса
Функция ОбновитьЗаписи(Знач Таблица, Знач СтруктураЗначений, Знач Фильтры = "", Знач Соединение = "") Экспорт
Результат = OPI_ЗапросыSQL.ОбновитьЗаписи(OPI_SQLite, Таблица, СтруктураЗначений, Фильтры, Соединение);
@@ -272,7 +272,7 @@
// Соединение - Строка, Произвольный - Существующее соединение или путь к базе - db
//
// Возвращаемое значение:
// Структура Из КлючИЗначение, Строка - Результат выполнения запроса
// Соответствие Из КлючИЗначение - Результат выполнения запроса
Функция УдалитьЗаписи(Знач Таблица, Знач Фильтры = "", Знач Соединение = "") Экспорт
Результат = OPI_ЗапросыSQL.УдалитьЗаписи(OPI_SQLite, Таблица, Фильтры, Соединение);
@@ -288,7 +288,7 @@
// Соединение - Строка, Произвольный - Существующее соединение или путь к базе - db
//
// Возвращаемое значение:
// Структура Из КлючИЗначение, Строка - Результат выполнения запроса
// Соответствие Из КлючИЗначение - Результат выполнения запроса
Функция УдалитьТаблицу(Знач Таблица, Знач Соединение = "") Экспорт
Результат = OPI_ЗапросыSQL.УдалитьТаблицу(OPI_SQLite, Таблица, Соединение);
@@ -304,7 +304,7 @@
// Соединение - Строка, Произвольный - Существующее соединение или путь к базе - db
//
// Возвращаемое значение:
// Структура Из КлючИЗначение, Строка - Результат выполнения запроса
// Соответствие Из КлючИЗначение - Результат выполнения запроса
Функция ОчиститьТаблицу(Знач Таблица, Знач Соединение = "") Экспорт
Результат = OPI_ЗапросыSQL.УдалитьЗаписи(OPI_SQLite, Таблица, , Соединение);

View File

@@ -17386,7 +17386,7 @@
// END
OPI_ПолучениеДанныхТестов.ЗаписатьЛог(Результат, "ДобавитьЗаписи", "PostgreSQL");
OPI_ПолучениеДанныхТестов.ЗаписатьЛог(Результат, "ПолучитьИнформациюОТаблице", "PostgreSQL");
OPI_ПолучениеДанныхТестов.Проверка_РезультатИстина(Результат);
КонецПроцедуры
@@ -17407,7 +17407,7 @@
СтруктураЗаписи = Новый Структура;
СтруктураЗаписи.Вставить("bool_field" , Новый Структура("BOOL" , Истина));
СтруктураЗаписи.Вставить("char_field" , Новый Структура("OLDCHAR" , "A"));
СтруктураЗаписи.Вставить("char_field" , Новый Структура("OLDCHAR" , 1));
СтруктураЗаписи.Вставить("smallint_field", Новый Структура("SMALLINT" , 5));
СтруктураЗаписи.Вставить("int_field" , Новый Структура("INT" , 100));
СтруктураЗаписи.Вставить("oid_field" , Новый Структура("OID" , 24576));

View File

@@ -2148,9 +2148,9 @@
КонецФункции
Функция ПолучитьОбщийМодуль(Знач Имя)
Модуль = Вычислить(Имя);
Возврат Модуль;
КонецФункции

View File

@@ -38,6 +38,7 @@
//@skip-check wrong-string-literal-content
//@skip-check method-too-many-params
//@skip-check constructor-function-return-section
//@skip-check doc-comment-collection-item-type
// Раскомментировать, если выполняется OneScript
// #Использовать "../../tools"
@@ -195,7 +196,7 @@
// Соединение - Строка, Произвольный - Соединение или строка подключения - dbc
//
// Возвращаемое значение:
// Структура Из КлючИЗначение, Строка - Результат выполнения запроса
// Структура Из КлючИЗначение - Результат выполнения запроса
Функция СоздатьБазуДанных(Знач База, Знач Соединение = "") Экспорт
Результат = OPI_ЗапросыSQL.СоздатьБазуДанных(OPI_PostgreSQL, База, Соединение);
@@ -211,7 +212,7 @@
// Соединение - Строка, Произвольный - Соединение или строка подключения - dbc
//
// Возвращаемое значение:
// Структура Из КлючИЗначение, Строка - Результат выполнения запроса
// Структура Из КлючИЗначение - Результат выполнения запроса
Функция УдалитьБазуДанных(Знач База, Знач Соединение = "") Экспорт
Результат = OPI_ЗапросыSQL.УдалитьБазуДанных(OPI_PostgreSQL, База, Соединение);
@@ -227,7 +228,7 @@
// Соединение - Строка, Произвольный - Соединение или строка подключения - dbc
//
// Возвращаемое значение:
// Структура Из КлючИЗначение, Строка - Результат выполнения запроса
// Структура Из КлючИЗначение - Результат выполнения запроса
Функция ПолучитьИнформациюОТаблице(Знач Таблица, Знач Соединение = "") Экспорт
OPI_ПреобразованиеТипов.ПолучитьСтроку(Таблица);
@@ -244,6 +245,44 @@
КонецФункции
// Получить типы колонок таблицы
// Получает массив типов колонок таблицы
//
// Параметры:
// Таблица - Строка - Имя таблицы - table
// Соединение - Строка, Произвольный - Соединение или строка подключения - dbc
//
// Возвращаемое значение:
// Массив, Соответствие Из КлючИЗначение - Массив типов или информация об ошибке
Функция ПолучитьТипыКолонокТаблицы(Знач Таблица, Знач Соединение = "") Экспорт
ИнформацияОТаблице = ПолучитьИнформациюОТаблице(Таблица, Соединение);
Если Не ИнформацияОТаблице["result"] Тогда
Возврат ИнформацияОТаблице;
КонецЕсли;
МассивТипов = Новый Массив;
Для Каждого Колонка Из ИнформацияОТаблице Цикл
ТекущийТип = Колонка["data_type"];
ТекущийТип = Строка(вРег(ТекущийТип));
ТекущийТип = СтрЗаменить(ТекущийТип, " ", "_");
ТекущийТип = СтрЗаменить(ТекущийТип, """CHAR""", "OLDCHAR");
Если СтрНачинаетсяС(ТекущийТип, "CHAR") Тогда
ТекущийТип = "CHAR";
КонецЕсли;
МассивТипов.Добавить(ТекущийТип);
КонецЦикла;
Возврат МассивТипов;
КонецФункции
// Создать таблицу
// Создает пустую таблицу в базе
//
@@ -253,7 +292,7 @@
// Соединение - Строка, Произвольный - Соединение или строка подключения - dbc
//
// Возвращаемое значение:
// Структура Из КлючИЗначение, Строка - Результат выполнения запроса
// Структура Из КлючИЗначение - Результат выполнения запроса
Функция СоздатьТаблицу(Знач Таблица, Знач СтруктураКолонок, Знач Соединение = "") Экспорт
Результат = OPI_ЗапросыSQL.СоздатьТаблицу(OPI_PostgreSQL, Таблица, СтруктураКолонок, Соединение);
@@ -377,6 +416,49 @@
КонецФункции
// Нормализовать набор параметров
// Преобразует массив значений параметров в массив структур описаний для передачи в запрос
//
// Параметры:
// МассивЗначений - Массив Из Произвольный - Массив значений параметров запроса - values
// МассивТипов - Массив Из Строка - Массив типов колонок. См. ПолучитьТипыКолонокТаблицы - types
//
// Возвращаемое значение:
// Массив Из Соответствие - Нормализованный набор параметров для запроса
Функция НормализоватьНаборПараметров(Знач МассивЗначений, Знач МассивТипов) Экспорт
OPI_ПреобразованиеТипов.ПолучитьМассив(МассивЗначений);
OPI_ПреобразованиеТипов.ПолучитьМассив(МассивТипов);
СоответствиеТипов = ПолучитьСоответствиеТипов();
ИтоговыйМассив = Новый Массив;
ГраницаТипов = МассивТипов.ВГраница();
Для Н = 0 По МассивЗначений.ВГраница() Цикл
Если Н > ГраницаТипов Тогда
Прервать;
Конецесли;
ТекущийТип = вРег(МассивТипов[Н]);
ТекущееЗначение = МассивЗначений[Н];
ОписаниеТипа = СоответствиеТипов.Получить(ТекущийТип);
Если ОписаниеТипа <> Неопределено Тогда
ТекущееЗначение = ОписаниеТипа.ПривестиЗначение(ТекущееЗначение);
КонецЕсли;
ТекущееОписание = Новый Соответствие;
ТекущееОписание.Вставить(ТекущийТип, ТекущееЗначение);
ИтоговыйМассив.Добавить(ТекущееОписание);
КонецЦикла;
Возврат ИтоговыйМассив;
КонецФункции
// Получить структуру фильтра записей
// Получает структуру шаблон для фильтрации записей в запросах ORM
//
@@ -505,4 +587,44 @@
КонецФункции
Функция ПолучитьСоответствиеТипов()
ОписаниеBool = Новый ОписаниеТипов("Булево");
ОписаниеOldchar = Новый ОписаниеТипов("Число", , , Новый КвалификаторыЧисла(1, 0, ДопустимыйЗнак.Неотрицательный));
ОписаниеI = Новый ОписаниеТипов("Число", , , Новый КвалификаторыЧисла(, 0, ДопустимыйЗнак.Любой));
ОписаниеU = Новый ОписаниеТипов("Число", , , Новый КвалификаторыЧисла(, 0, ДопустимыйЗнак.Неотрицательный));
ОписаниеF = Новый ОписаниеТипов("Число", , , Новый КвалификаторыЧисла(, , ДопустимыйЗнак.Любой));
ОписаниеString = Новый ОписаниеТипов("Строка");
СоответствиеТипов = Новый Соответствие();
СоответствиеТипов.Вставить("BOOL" , ОписаниеBool);
СоответствиеТипов.Вставить("""CHAR""" , ОписаниеOldchar);
СоответствиеТипов.Вставить("OLDCHAR" , ОписаниеOldchar);
СоответствиеТипов.Вставить("SMALLINT" , ОписаниеI);
СоответствиеТипов.Вставить("SMALLSERIAL" , ОписаниеI);
СоответствиеТипов.Вставить("INT" , ОписаниеI);
СоответствиеТипов.Вставить("SERIAL" , ОписаниеI);
СоответствиеТипов.Вставить("BIGINT" , ОписаниеI);
СоответствиеТипов.Вставить("BIGSERIAL" , ОписаниеI);
СоответствиеТипов.Вставить("TIMESTAMP" , ОписаниеI);
СоответствиеТипов.Вставить("TIMESTAMP WITH TIME ZONE", ОписаниеI);
СоответствиеТипов.Вставить("TIMESTAMP_WITH_TIME_ZONE", ОписаниеI);
СоответствиеТипов.Вставить("OID" , ОписаниеU);
СоответствиеТипов.Вставить("REAL" , ОписаниеF);
СоответствиеТипов.Вставить("DOUBLE PRECISION" , ОписаниеF);
СоответствиеТипов.Вставить("DOUBLE_PRECISION" , ОписаниеF);
СоответствиеТипов.Вставить("VARCHAR" , ОписаниеString);
СоответствиеТипов.Вставить("TEXT" , ОписаниеString);
СоответствиеТипов.Вставить("CHAR" , ОписаниеString);
СоответствиеТипов.Вставить("CITEXT" , ОписаниеString);
СоответствиеТипов.Вставить("NAME" , ОписаниеString);
СоответствиеТипов.Вставить("LTREE" , ОписаниеString);
СоответствиеТипов.Вставить("LQUERY" , ОписаниеString);
СоответствиеТипов.Вставить("LTXTQUERY" , ОписаниеString);
СоответствиеТипов.Вставить("INET" , ОписаниеString);
Возврат СоответствиеТипов;
КонецФункции
#КонецОбласти

View File

@@ -165,7 +165,7 @@
// Соединение - Строка, Произвольный - Существующее соединение или путь к базе - db
//
// Возвращаемое значение:
// Структура Из КлючИЗначение, Строка - Результат выполнения запроса
// Соответствие Из КлючИЗначение - Результат выполнения запроса
Функция ПолучитьИнформациюОТаблице(Знач Таблица, Знач Соединение = "") Экспорт
OPI_ПреобразованиеТипов.ПолучитьСтроку(Таблица);
@@ -188,7 +188,7 @@
// Соединение - Строка, Произвольный - Существующее соединение или путь к базе - db
//
// Возвращаемое значение:
// Структура Из КлючИЗначение, Строка - Результат выполнения запроса
// Соответствие Из КлючИЗначение - Результат выполнения запроса
Функция СоздатьТаблицу(Знач Таблица, Знач СтруктураКолонок, Знач Соединение = "") Экспорт
Результат = OPI_ЗапросыSQL.СоздатьТаблицу(OPI_SQLite, Таблица, СтруктураКолонок, Соединение);
@@ -209,7 +209,7 @@
// Соединение - Строка, Произвольный - Существующее соединение или путь к базе - db
//
// Возвращаемое значение:
// Структура Из КлючИЗначение, Строка - Результат выполнения запроса
// Соответствие Из КлючИЗначение - Результат выполнения запроса
Функция ДобавитьЗаписи(Знач Таблица, Знач МассивДанных, Знач Транзакция = Истина, Знач Соединение = "") Экспорт
Результат = OPI_ЗапросыSQL.ДобавитьЗаписи(OPI_SQLite, Таблица, МассивДанных, Транзакция, Соединение);
@@ -232,7 +232,7 @@
// Соединение - Строка, Произвольный - Существующее соединение или путь к базе - db
//
// Возвращаемое значение:
// Структура Из КлючИЗначение, Строка - Результат выполнения запроса
// Соответствие Из КлючИЗначение - Результат выполнения запроса
Функция ПолучитьЗаписи(Знач Таблица
, Знач Поля = "*"
, Знач Фильтры = ""
@@ -255,7 +255,7 @@
// Соединение - Строка, Произвольный - Существующее соединение или путь к базе - db
//
// Возвращаемое значение:
// Структура Из КлючИЗначение, Строка - Результат выполнения запроса
// Соответствие Из КлючИЗначение - Результат выполнения запроса
Функция ОбновитьЗаписи(Знач Таблица, Знач СтруктураЗначений, Знач Фильтры = "", Знач Соединение = "") Экспорт
Результат = OPI_ЗапросыSQL.ОбновитьЗаписи(OPI_SQLite, Таблица, СтруктураЗначений, Фильтры, Соединение);
@@ -272,7 +272,7 @@
// Соединение - Строка, Произвольный - Существующее соединение или путь к базе - db
//
// Возвращаемое значение:
// Структура Из КлючИЗначение, Строка - Результат выполнения запроса
// Соответствие Из КлючИЗначение - Результат выполнения запроса
Функция УдалитьЗаписи(Знач Таблица, Знач Фильтры = "", Знач Соединение = "") Экспорт
Результат = OPI_ЗапросыSQL.УдалитьЗаписи(OPI_SQLite, Таблица, Фильтры, Соединение);
@@ -288,7 +288,7 @@
// Соединение - Строка, Произвольный - Существующее соединение или путь к базе - db
//
// Возвращаемое значение:
// Структура Из КлючИЗначение, Строка - Результат выполнения запроса
// Соответствие Из КлючИЗначение - Результат выполнения запроса
Функция УдалитьТаблицу(Знач Таблица, Знач Соединение = "") Экспорт
Результат = OPI_ЗапросыSQL.УдалитьТаблицу(OPI_SQLite, Таблица, Соединение);
@@ -304,7 +304,7 @@
// Соединение - Строка, Произвольный - Существующее соединение или путь к базе - db
//
// Возвращаемое значение:
// Структура Из КлючИЗначение, Строка - Результат выполнения запроса
// Соответствие Из КлючИЗначение - Результат выполнения запроса
Функция ОчиститьТаблицу(Знач Таблица, Знач Соединение = "") Экспорт
Результат = OPI_ЗапросыSQL.УдалитьЗаписи(OPI_SQLite, Таблица, , Соединение);

View File

@@ -1,4 +1,4 @@
// OneScript: ./OInt/tests/Modules/internal/OPI_Тесты.os
// OneScript: ./OInt/tests/Modules/internal/OPI_Тесты.os
// MIT License
@@ -17386,7 +17386,7 @@
// END
OPI_ПолучениеДанныхТестов.ЗаписатьЛог(Результат, "ДобавитьЗаписи", "PostgreSQL");
OPI_ПолучениеДанныхТестов.ЗаписатьЛог(Результат, "ПолучитьИнформациюОТаблице", "PostgreSQL");
OPI_ПолучениеДанныхТестов.Проверка_РезультатИстина(Результат);
КонецПроцедуры
@@ -17407,7 +17407,7 @@
СтруктураЗаписи = Новый Структура;
СтруктураЗаписи.Вставить("bool_field" , Новый Структура("BOOL" , Истина));
СтруктураЗаписи.Вставить("char_field" , Новый Структура("OLDCHAR" , "A"));
СтруктураЗаписи.Вставить("char_field" , Новый Структура("OLDCHAR" , 1));
СтруктураЗаписи.Вставить("smallint_field", Новый Структура("SMALLINT" , 5));
СтруктураЗаписи.Вставить("int_field" , Новый Структура("INT" , 100));
СтруктураЗаписи.Вставить("oid_field" , Новый Структура("OID" , 24576));