mirror of
https://github.com/Bayselonarrend/OpenIntegrations.git
synced 2025-03-29 21:57:16 +02:00
Доработка компоненты PG
This commit is contained in:
parent
5523d267b9
commit
4b8c0ecb75
src
addins/postgres
en
ru
OInt/addins
OPI/src
CommonModules
CommonTemplates/OPI_PostgreSQL
Binary file not shown.
@ -245,9 +245,12 @@ fn rows_to_json(rows: Vec<postgres::Row>) -> String {
|
||||
}
|
||||
|
||||
result.push(Value::Object(row_map));
|
||||
}
|
||||
};
|
||||
|
||||
json!(result).to_string()
|
||||
json!({
|
||||
"result": true,
|
||||
"data": result
|
||||
}).to_string()
|
||||
}
|
||||
|
||||
fn format_json_error(error: &str) -> String {
|
||||
|
BIN
src/en/OInt/addins/OPI_PostgreSQL.zip
vendored
BIN
src/en/OInt/addins/OPI_PostgreSQL.zip
vendored
Binary file not shown.
Binary file not shown.
BIN
src/ru/OInt/addins/OPI_PostgreSQL.zip
vendored
BIN
src/ru/OInt/addins/OPI_PostgreSQL.zip
vendored
Binary file not shown.
@ -219,6 +219,31 @@
|
||||
|
||||
КонецФункции
|
||||
|
||||
// Получить информацию о таблице
|
||||
// Получает информацию о таблице
|
||||
//
|
||||
// Параметры:
|
||||
// Таблица - Строка - Имя таблицы - table
|
||||
// Соединение - Строка, Произвольный - Соединение или строка подключения - dbc
|
||||
//
|
||||
// Возвращаемое значение:
|
||||
// Структура Из КлючИЗначение, Строка - Результат выполнения запроса
|
||||
Функция ПолучитьИнформациюОТаблице(Знач Таблица, Знач Соединение = "") Экспорт
|
||||
|
||||
OPI_ПреобразованиеТипов.ПолучитьСтроку(Таблица);
|
||||
|
||||
ТекстSQL = "SELECT column_name, data_type, character_maximum_length
|
||||
|FROM information_schema.columns
|
||||
|WHERE table_name = '%1';";
|
||||
|
||||
ТекстSQL = СтрШаблон(ТекстSQL, Таблица);
|
||||
|
||||
Результат = ВыполнитьЗапросSQL(ТекстSQL, , , Соединение);
|
||||
|
||||
Возврат Результат;
|
||||
|
||||
КонецФункции
|
||||
|
||||
// Создать таблицу
|
||||
// Создает пустую таблицу в базе
|
||||
//
|
||||
|
@ -165,7 +165,7 @@
|
||||
// Соединение - Строка, Произвольный - Существующее соединение или путь к базе - db
|
||||
//
|
||||
// Возвращаемое значение:
|
||||
// Структура Из КлючИЗначение, Строка - Результат выполнения запроса или его текст
|
||||
// Структура Из КлючИЗначение, Строка - Результат выполнения запроса
|
||||
Функция ПолучитьИнформациюОТаблице(Знач Таблица, Знач Соединение = "") Экспорт
|
||||
|
||||
OPI_ПреобразованиеТипов.ПолучитьСтроку(Таблица);
|
||||
@ -188,7 +188,7 @@
|
||||
// Соединение - Строка, Произвольный - Существующее соединение или путь к базе - db
|
||||
//
|
||||
// Возвращаемое значение:
|
||||
// Структура Из КлючИЗначение, Строка - Результат выполнения запроса или его текст
|
||||
// Структура Из КлючИЗначение, Строка - Результат выполнения запроса
|
||||
Функция СоздатьТаблицу(Знач Таблица, Знач СтруктураКолонок, Знач Соединение = "") Экспорт
|
||||
|
||||
Результат = OPI_ЗапросыSQL.СоздатьТаблицу(OPI_SQLite, Таблица, СтруктураКолонок, Соединение);
|
||||
|
@ -2322,6 +2322,7 @@
|
||||
|
||||
PostgreSQL_СоздатьБазуДанных(ПараметрыТеста);
|
||||
PostgreSQL_СоздатьТаблицу(ПараметрыТеста);
|
||||
PostgreSQL_ПолучитьИнформациюОТаблице(ПараметрыТеста);
|
||||
PostgreSQL_ДобавитьЗаписи(ПараметрыТеста);
|
||||
PostgreSQL_УдалитьБазуДанных(ПараметрыТеста);
|
||||
|
||||
@ -17370,6 +17371,26 @@
|
||||
|
||||
КонецПроцедуры
|
||||
|
||||
Процедура PostgreSQL_ПолучитьИнформациюОТаблице(ПараметрыФункции)
|
||||
|
||||
Адрес = ПараметрыФункции["PG_IP"];
|
||||
Логин = "bayselonarrend";
|
||||
Пароль = ПараметрыФункции["PG_Password"];
|
||||
База = "testbase1";
|
||||
|
||||
СтрокаПодключения = OPI_PostgreSQL.СформироватьСтрокуПодключения(Адрес, База, Логин, Пароль);
|
||||
|
||||
Таблица = "testtable";
|
||||
|
||||
Результат = OPI_PostgreSQL.ПолучитьИнформациюОТаблице(Таблица, СтрокаПодключения);
|
||||
|
||||
// END
|
||||
|
||||
OPI_ПолучениеДанныхТестов.ЗаписатьЛог(Результат, "ДобавитьЗаписи", "PostgreSQL");
|
||||
OPI_ПолучениеДанныхТестов.Проверка_РезультатИстина(Результат);
|
||||
|
||||
КонецПроцедуры
|
||||
|
||||
Процедура PostgreSQL_ДобавитьЗаписи(ПараметрыФункции)
|
||||
|
||||
Адрес = ПараметрыФункции["PG_IP"];
|
||||
@ -17384,25 +17405,19 @@
|
||||
Картинка = ПараметрыФункции["Picture"];
|
||||
OPI_ПреобразованиеТипов.ПолучитьДвоичныеДанные(Картинка); // Картинка - Тип: ДвоичныеДанные
|
||||
|
||||
Char = Новый Соответствие;
|
||||
Char.Вставить("""char""", 1);
|
||||
|
||||
DP = Новый Соответствие;
|
||||
DP.Вставить("DOUBLE PRECISION", 1.0000000000000002);
|
||||
|
||||
СтруктураЗаписи = Новый Структура;
|
||||
СтруктураЗаписи.Вставить("bool_field" , Новый Структура("BOOL" , Истина));
|
||||
СтруктураЗаписи.Вставить("char_field" , Char);
|
||||
СтруктураЗаписи.Вставить("smallint_field", Новый Структура("SMALLINT" , 5));
|
||||
СтруктураЗаписи.Вставить("int_field" , Новый Структура("INT" , 100));
|
||||
СтруктураЗаписи.Вставить("oid_field" , Новый Структура("OID" , 24576));
|
||||
СтруктураЗаписи.Вставить("bigint_field" , Новый Структура("BIGINT" , 9999999));
|
||||
СтруктураЗаписи.Вставить("real_field" , Новый Структура("REAL" , 15.2));
|
||||
СтруктураЗаписи.Вставить("dp_field" , DP);
|
||||
СтруктураЗаписи.Вставить("text_field" , Новый Структура("TEXT" , "Some text"));
|
||||
СтруктураЗаписи.Вставить("bytea_field" , Новый Структура("BYTEA" , Картинка));
|
||||
СтруктураЗаписи.Вставить("ts_field" , Новый Структура("TIMESTAMP", 1739207915));
|
||||
СтруктураЗаписи.Вставить("ip_field" , Новый Структура("INET" , "127.0.0.1"));
|
||||
СтруктураЗаписи.Вставить("bool_field" , Новый Структура("BOOL" , Истина));
|
||||
СтруктураЗаписи.Вставить("char_field" , Новый Структура("OLDCHAR" , "A"));
|
||||
СтруктураЗаписи.Вставить("smallint_field", Новый Структура("SMALLINT" , 5));
|
||||
СтруктураЗаписи.Вставить("int_field" , Новый Структура("INT" , 100));
|
||||
СтруктураЗаписи.Вставить("oid_field" , Новый Структура("OID" , 24576));
|
||||
СтруктураЗаписи.Вставить("bigint_field" , Новый Структура("BIGINT" , 9999999));
|
||||
СтруктураЗаписи.Вставить("real_field" , Новый Структура("REAL" , 15.2));
|
||||
СтруктураЗаписи.Вставить("dp_field" , Новый Структура("DOUBLE_PRECISION", 1.0000000000000002));
|
||||
СтруктураЗаписи.Вставить("text_field" , Новый Структура("TEXT" , "Some text"));
|
||||
СтруктураЗаписи.Вставить("bytea_field" , Новый Структура("BYTEA" , Картинка));
|
||||
СтруктураЗаписи.Вставить("ts_field" , Новый Структура("TIMESTAMP" , 1739207915));
|
||||
СтруктураЗаписи.Вставить("ip_field" , Новый Структура("INET" , "127.0.0.1"));
|
||||
|
||||
Результат = OPI_PostgreSQL.ДобавитьЗаписи(Таблица, СтруктураЗаписи, Ложь, СтрокаПодключения);
|
||||
|
||||
|
Binary file not shown.
Loading…
x
Reference in New Issue
Block a user