mirror of
https://github.com/Bayselonarrend/OpenIntegrations.git
synced 2025-04-13 11:50:53 +02:00
Main build (Jenkins)
This commit is contained in:
parent
cf40594ab1
commit
c7846ad3e9
4
docs/en/data/PostgreSQL/ClearTable.json
vendored
Normal file
4
docs/en/data/PostgreSQL/ClearTable.json
vendored
Normal file
@ -0,0 +1,4 @@
|
||||
{
|
||||
"Address": "93.125.42.204",
|
||||
"Password": "12we..."
|
||||
}
|
14
docs/en/examples/PostgreSQL/ClearTable.txt
vendored
Normal file
14
docs/en/examples/PostgreSQL/ClearTable.txt
vendored
Normal file
@ -0,0 +1,14 @@
|
||||
Address = "93.125.42.204";
|
||||
Login = "bayselonarrend";
|
||||
Password = "12we...";
|
||||
Base = "testbase1";
|
||||
|
||||
// When using the connection string, a new connection is initialised,
|
||||
// which will be closed after the function is executed.
|
||||
// If several operations are performed, it is desirable to use one connection,
|
||||
// previously created by the CreateConnection function()
|
||||
ConnectionString = OPI_PostgreSQL.GenerateConnectionString(Address, Base, Login, Password);
|
||||
|
||||
Table = "testtable";
|
||||
|
||||
Result = OPI_PostgreSQL.ClearTable(Table, ConnectionString);
|
68
docs/en/examples/PostgreSQL/GetRecords.txt
vendored
68
docs/en/examples/PostgreSQL/GetRecords.txt
vendored
@ -3,35 +3,49 @@
|
||||
Password = "12we...";
|
||||
Base = "testbase1";
|
||||
|
||||
// When using the connection string, a new connection is initialised,
|
||||
// which will be closed after the function is executed.
|
||||
// If several operations are performed, it is desirable to use one connection,
|
||||
// previously created by the CreateConnection function()
|
||||
ConnectionString = OPI_PostgreSQL.GenerateConnectionString(Address, Base, Login, Password);
|
||||
|
||||
Table = "testtable";
|
||||
// All records without filters
|
||||
|
||||
Table = "testtable";
|
||||
Result = OPI_PostgreSQL.GetRecords(Table, , , , , ConnectionString);
|
||||
|
||||
// Filter, selected fields, limit and sorting
|
||||
|
||||
ConnectionString = OPI_PostgreSQL.GenerateConnectionString(Address, "test_data", Login, Password);
|
||||
|
||||
Table = "test_data";
|
||||
|
||||
Fields = New Array;
|
||||
Fields.Add("bool_field");
|
||||
Fields.Add("oldchar_field");
|
||||
Fields.Add("smallint_field");
|
||||
Fields.Add("smallserial_field");
|
||||
Fields.Add("int_field");
|
||||
Fields.Add("serial_field");
|
||||
Fields.Add("oid_field");
|
||||
Fields.Add("bigint_field");
|
||||
Fields.Add("bigserial_field");
|
||||
Fields.Add("real_field");
|
||||
Fields.Add("dp_field");
|
||||
Fields.Add("text_field");
|
||||
Fields.Add("varchar_field");
|
||||
Fields.Add("charn_field");
|
||||
Fields.Add("char_field");
|
||||
Fields.Add("name_field");
|
||||
Fields.Add("bytea_field");
|
||||
Fields.Add("ts_field");
|
||||
Fields.Add("tswtz_field");
|
||||
Fields.Add("ip_field");
|
||||
Fields.Add("json_field");
|
||||
Fields.Add("jsonb_field");
|
||||
Fields.Add("date_field");
|
||||
Fields.Add("time_field");
|
||||
Fields.Add("uuid_field");
|
||||
Fields.Add("first_name");
|
||||
Fields.Add("last_name");
|
||||
Fields.Add("email");
|
||||
|
||||
Result = OPI_PostgreSQL.GetRecords(Table, Fields, , , , ConnectionString);
|
||||
Filters = New Array;
|
||||
|
||||
FilterStructure1 = New Structure;
|
||||
|
||||
FilterStructure1.Insert("field", "gender");
|
||||
FilterStructure1.Insert("type" , "=");
|
||||
FilterStructure1.Insert("value", "Male");
|
||||
FilterStructure1.Insert("union", "AND");
|
||||
FilterStructure1.Insert("raw" , False);
|
||||
|
||||
FilterStructure2 = New Structure;
|
||||
|
||||
FilterStructure2.Insert("field", "id");
|
||||
FilterStructure2.Insert("type" , "BETWEEN");
|
||||
FilterStructure2.Insert("value", "20 AND 50");
|
||||
FilterStructure2.Insert("raw" , True);
|
||||
|
||||
Filters.Add(FilterStructure1);
|
||||
Filters.Add(FilterStructure2);
|
||||
|
||||
Sort = New Structure("ip_address", "DESC");
|
||||
Count = 5;
|
||||
|
||||
Result = OPI_PostgreSQL.GetRecords(Table, Fields, Filters, Sort, Count, ConnectionString);
|
||||
|
2
docs/en/examples/SQLite/AddRecords.txt
vendored
2
docs/en/examples/SQLite/AddRecords.txt
vendored
@ -4,7 +4,7 @@
|
||||
PictureFile = GetTempFileName("png");
|
||||
Image.Write(PictureFile); // PictureFile - File to disk
|
||||
|
||||
Base = "C:\Users\Administrator\AppData\Local\Temp\v8_1A0B_60.sqlite";
|
||||
Base = "C:\Users\Administrator\AppData\Local\Temp\v8_80B2_2a.sqlite";
|
||||
Table = "test";
|
||||
|
||||
DataArray = New Array;
|
||||
|
2
docs/en/examples/SQLite/ClearTable.txt
vendored
2
docs/en/examples/SQLite/ClearTable.txt
vendored
@ -1,4 +1,4 @@
|
||||
Base = "C:\Users\Administrator\AppData\Local\Temp\v8_1A0B_60.sqlite";
|
||||
Base = "C:\Users\Administrator\AppData\Local\Temp\v8_80B2_2a.sqlite";
|
||||
Table = "test";
|
||||
|
||||
Result = OPI_SQLite.ClearTable(Table, Base);
|
||||
|
2
docs/en/examples/SQLite/CreateTable.txt
vendored
2
docs/en/examples/SQLite/CreateTable.txt
vendored
@ -1,4 +1,4 @@
|
||||
Base = "C:\Users\Administrator\AppData\Local\Temp\v8_1A0B_60.sqlite";
|
||||
Base = "C:\Users\Administrator\AppData\Local\Temp\v8_80B2_2a.sqlite";
|
||||
Table = "test";
|
||||
|
||||
ColoumnsStruct = New Structure;
|
||||
|
2
docs/en/examples/SQLite/DeletePosts.txt
vendored
2
docs/en/examples/SQLite/DeletePosts.txt
vendored
@ -1,4 +1,4 @@
|
||||
Base = "C:\Users\Administrator\AppData\Local\Temp\v8_1A0B_60.sqlite";
|
||||
Base = "C:\Users\Administrator\AppData\Local\Temp\v8_80B2_2a.sqlite";
|
||||
Table = "test";
|
||||
|
||||
Filters = New Array;
|
||||
|
2
docs/en/examples/SQLite/DeleteTable.txt
vendored
2
docs/en/examples/SQLite/DeleteTable.txt
vendored
@ -1,4 +1,4 @@
|
||||
Base = "C:\Users\Administrator\AppData\Local\Temp\v8_1A0B_60.sqlite";
|
||||
Base = "C:\Users\Administrator\AppData\Local\Temp\v8_80B2_2a.sqlite";
|
||||
Table = "test";
|
||||
|
||||
Result = OPI_SQLite.DeleteTable(Table, Base);
|
||||
|
2
docs/en/examples/SQLite/GetRecords.txt
vendored
2
docs/en/examples/SQLite/GetRecords.txt
vendored
@ -1,4 +1,4 @@
|
||||
Base = "C:\Users\Administrator\AppData\Local\Temp\v8_1A0B_60.sqlite";
|
||||
Base = "C:\Users\Administrator\AppData\Local\Temp\v8_80B2_2a.sqlite";
|
||||
Table = "test";
|
||||
|
||||
Fields = New Array;
|
||||
|
@ -1,4 +1,4 @@
|
||||
Base = "C:\Users\Administrator\AppData\Local\Temp\v8_1A0B_60.sqlite";
|
||||
Base = "C:\Users\Administrator\AppData\Local\Temp\v8_80B2_2a.sqlite";
|
||||
Table = "test";
|
||||
|
||||
Result = OPI_SQLite.GetTableInformation(Table, Base);
|
||||
|
2
docs/en/examples/SQLite/UpdateRecords.txt
vendored
2
docs/en/examples/SQLite/UpdateRecords.txt
vendored
@ -1,4 +1,4 @@
|
||||
Base = "C:\Users\Administrator\AppData\Local\Temp\v8_1A0B_60.sqlite";
|
||||
Base = "C:\Users\Administrator\AppData\Local\Temp\v8_80B2_2a.sqlite";
|
||||
Table = "test";
|
||||
|
||||
FieldsStructure = New Structure;
|
||||
|
13
docs/en/md/PostgreSQL/Orm/Clear-table.mdx
vendored
13
docs/en/md/PostgreSQL/Orm/Clear-table.mdx
vendored
@ -26,7 +26,20 @@ import TabItem from '@theme/TabItem';
|
||||
|
||||
|
||||
```bsl title="1C:Enterprise/OneScript code example"
|
||||
Address = "93.125.42.204";
|
||||
Login = "bayselonarrend";
|
||||
Password = "12we...";
|
||||
Base = "testbase1";
|
||||
|
||||
// When using the connection string, a new connection is initialised,
|
||||
// which will be closed after the function is executed.
|
||||
// If several operations are performed, it is desirable to use one connection,
|
||||
// previously created by the CreateConnection function()
|
||||
ConnectionString = OPI_PostgreSQL.GenerateConnectionString(Address, Base, Login, Password);
|
||||
|
||||
Table = "testtable";
|
||||
|
||||
Result = OPI_PostgreSQL.ClearTable(Table, ConnectionString);
|
||||
```
|
||||
|
||||
|
||||
|
68
docs/en/md/PostgreSQL/Orm/Get-records.mdx
vendored
68
docs/en/md/PostgreSQL/Orm/Get-records.mdx
vendored
@ -39,38 +39,52 @@ Values of the Binary data type (BLOB) are returned as `{'blob':Base64 string}`
|
||||
Password = "12we...";
|
||||
Base = "testbase1";
|
||||
|
||||
// When using the connection string, a new connection is initialised,
|
||||
// which will be closed after the function is executed.
|
||||
// If several operations are performed, it is desirable to use one connection,
|
||||
// previously created by the CreateConnection function()
|
||||
ConnectionString = OPI_PostgreSQL.GenerateConnectionString(Address, Base, Login, Password);
|
||||
|
||||
Table = "testtable";
|
||||
// All records without filters
|
||||
|
||||
Table = "testtable";
|
||||
Result = OPI_PostgreSQL.GetRecords(Table, , , , , ConnectionString);
|
||||
|
||||
// Filter, selected fields, limit and sorting
|
||||
|
||||
ConnectionString = OPI_PostgreSQL.GenerateConnectionString(Address, "test_data", Login, Password);
|
||||
|
||||
Table = "test_data";
|
||||
|
||||
Fields = New Array;
|
||||
Fields.Add("bool_field");
|
||||
Fields.Add("oldchar_field");
|
||||
Fields.Add("smallint_field");
|
||||
Fields.Add("smallserial_field");
|
||||
Fields.Add("int_field");
|
||||
Fields.Add("serial_field");
|
||||
Fields.Add("oid_field");
|
||||
Fields.Add("bigint_field");
|
||||
Fields.Add("bigserial_field");
|
||||
Fields.Add("real_field");
|
||||
Fields.Add("dp_field");
|
||||
Fields.Add("text_field");
|
||||
Fields.Add("varchar_field");
|
||||
Fields.Add("charn_field");
|
||||
Fields.Add("char_field");
|
||||
Fields.Add("name_field");
|
||||
Fields.Add("bytea_field");
|
||||
Fields.Add("ts_field");
|
||||
Fields.Add("tswtz_field");
|
||||
Fields.Add("ip_field");
|
||||
Fields.Add("json_field");
|
||||
Fields.Add("jsonb_field");
|
||||
Fields.Add("date_field");
|
||||
Fields.Add("time_field");
|
||||
Fields.Add("uuid_field");
|
||||
Fields.Add("first_name");
|
||||
Fields.Add("last_name");
|
||||
Fields.Add("email");
|
||||
|
||||
Result = OPI_PostgreSQL.GetRecords(Table, Fields, , , , ConnectionString);
|
||||
Filters = New Array;
|
||||
|
||||
FilterStructure1 = New Structure;
|
||||
|
||||
FilterStructure1.Insert("field", "gender");
|
||||
FilterStructure1.Insert("type" , "=");
|
||||
FilterStructure1.Insert("value", "Male");
|
||||
FilterStructure1.Insert("union", "AND");
|
||||
FilterStructure1.Insert("raw" , False);
|
||||
|
||||
FilterStructure2 = New Structure;
|
||||
|
||||
FilterStructure2.Insert("field", "id");
|
||||
FilterStructure2.Insert("type" , "BETWEEN");
|
||||
FilterStructure2.Insert("value", "20 AND 50");
|
||||
FilterStructure2.Insert("raw" , True);
|
||||
|
||||
Filters.Add(FilterStructure1);
|
||||
Filters.Add(FilterStructure2);
|
||||
|
||||
Sort = New Structure("ip_address", "DESC");
|
||||
Count = 5;
|
||||
|
||||
Result = OPI_PostgreSQL.GetRecords(Table, Fields, Filters, Sort, Count, ConnectionString);
|
||||
```
|
||||
|
||||
|
||||
|
2
docs/en/md/SQLite/Orm/Add-records.mdx
vendored
2
docs/en/md/SQLite/Orm/Add-records.mdx
vendored
@ -38,7 +38,7 @@ Binary data can also be transferred as a structure `{'blob':File path}`
|
||||
PictureFile = GetTempFileName("png");
|
||||
Image.Write(PictureFile); // PictureFile - File to disk
|
||||
|
||||
Base = "C:\Users\Administrator\AppData\Local\Temp\v8_1A0B_60.sqlite";
|
||||
Base = "C:\Users\Administrator\AppData\Local\Temp\v8_80B2_2a.sqlite";
|
||||
Table = "test";
|
||||
|
||||
DataArray = New Array;
|
||||
|
2
docs/en/md/SQLite/Orm/Clear-table.mdx
vendored
2
docs/en/md/SQLite/Orm/Clear-table.mdx
vendored
@ -26,7 +26,7 @@ import TabItem from '@theme/TabItem';
|
||||
|
||||
|
||||
```bsl title="1C:Enterprise/OneScript code example"
|
||||
Base = "C:\Users\Administrator\AppData\Local\Temp\v8_1A0B_60.sqlite";
|
||||
Base = "C:\Users\Administrator\AppData\Local\Temp\v8_80B2_2a.sqlite";
|
||||
Table = "test";
|
||||
|
||||
Result = OPI_SQLite.ClearTable(Table, Base);
|
||||
|
2
docs/en/md/SQLite/Orm/Create-table.mdx
vendored
2
docs/en/md/SQLite/Orm/Create-table.mdx
vendored
@ -27,7 +27,7 @@ import TabItem from '@theme/TabItem';
|
||||
|
||||
|
||||
```bsl title="1C:Enterprise/OneScript code example"
|
||||
Base = "C:\Users\Administrator\AppData\Local\Temp\v8_1A0B_60.sqlite";
|
||||
Base = "C:\Users\Administrator\AppData\Local\Temp\v8_80B2_2a.sqlite";
|
||||
Table = "test";
|
||||
|
||||
ColoumnsStruct = New Structure;
|
||||
|
2
docs/en/md/SQLite/Orm/Delete-posts.mdx
vendored
2
docs/en/md/SQLite/Orm/Delete-posts.mdx
vendored
@ -27,7 +27,7 @@ import TabItem from '@theme/TabItem';
|
||||
|
||||
|
||||
```bsl title="1C:Enterprise/OneScript code example"
|
||||
Base = "C:\Users\Administrator\AppData\Local\Temp\v8_1A0B_60.sqlite";
|
||||
Base = "C:\Users\Administrator\AppData\Local\Temp\v8_80B2_2a.sqlite";
|
||||
Table = "test";
|
||||
|
||||
Filters = New Array;
|
||||
|
2
docs/en/md/SQLite/Orm/Delete-table.mdx
vendored
2
docs/en/md/SQLite/Orm/Delete-table.mdx
vendored
@ -26,7 +26,7 @@ import TabItem from '@theme/TabItem';
|
||||
|
||||
|
||||
```bsl title="1C:Enterprise/OneScript code example"
|
||||
Base = "C:\Users\Administrator\AppData\Local\Temp\v8_1A0B_60.sqlite";
|
||||
Base = "C:\Users\Administrator\AppData\Local\Temp\v8_80B2_2a.sqlite";
|
||||
Table = "test";
|
||||
|
||||
Result = OPI_SQLite.DeleteTable(Table, Base);
|
||||
|
2
docs/en/md/SQLite/Orm/Get-records.mdx
vendored
2
docs/en/md/SQLite/Orm/Get-records.mdx
vendored
@ -34,7 +34,7 @@ Values of the Binary data type (BLOB) are returned as `{'blob':Base64 string}`
|
||||
|
||||
|
||||
```bsl title="1C:Enterprise/OneScript code example"
|
||||
Base = "C:\Users\Administrator\AppData\Local\Temp\v8_1A0B_60.sqlite";
|
||||
Base = "C:\Users\Administrator\AppData\Local\Temp\v8_80B2_2a.sqlite";
|
||||
Table = "test";
|
||||
|
||||
Fields = New Array;
|
||||
|
@ -26,7 +26,7 @@ import TabItem from '@theme/TabItem';
|
||||
|
||||
|
||||
```bsl title="1C:Enterprise/OneScript code example"
|
||||
Base = "C:\Users\Administrator\AppData\Local\Temp\v8_1A0B_60.sqlite";
|
||||
Base = "C:\Users\Administrator\AppData\Local\Temp\v8_80B2_2a.sqlite";
|
||||
Table = "test";
|
||||
|
||||
Result = OPI_SQLite.GetTableInformation(Table, Base);
|
||||
|
2
docs/en/md/SQLite/Orm/Update-records.mdx
vendored
2
docs/en/md/SQLite/Orm/Update-records.mdx
vendored
@ -28,7 +28,7 @@ import TabItem from '@theme/TabItem';
|
||||
|
||||
|
||||
```bsl title="1C:Enterprise/OneScript code example"
|
||||
Base = "C:\Users\Administrator\AppData\Local\Temp\v8_1A0B_60.sqlite";
|
||||
Base = "C:\Users\Administrator\AppData\Local\Temp\v8_80B2_2a.sqlite";
|
||||
Table = "test";
|
||||
|
||||
FieldsStructure = New Structure;
|
||||
|
4
docs/ru/data/PostgreSQL/ОчиститьТаблицу.json
vendored
Normal file
4
docs/ru/data/PostgreSQL/ОчиститьТаблицу.json
vendored
Normal file
@ -0,0 +1,4 @@
|
||||
{
|
||||
"Адрес": "93.125.42.204",
|
||||
"Пароль": "12we..."
|
||||
}
|
14
docs/ru/examples/PostgreSQL/ОчиститьТаблицу.txt
vendored
Normal file
14
docs/ru/examples/PostgreSQL/ОчиститьТаблицу.txt
vendored
Normal file
@ -0,0 +1,14 @@
|
||||
Адрес = "93.125.42.204";
|
||||
Логин = "bayselonarrend";
|
||||
Пароль = "12we...";
|
||||
База = "testbase1";
|
||||
|
||||
// При использовании строки подключения инициализируется новое соединение,
|
||||
// которое будет закрыто после выполнения функции.
|
||||
// В случае выполнения нескольких операций желательно использовать одно соединение,
|
||||
// заранее созданное функцией ОткрытьСоединение()
|
||||
СтрокаПодключения = OPI_PostgreSQL.СформироватьСтрокуПодключения(Адрес, База, Логин, Пароль);
|
||||
|
||||
Таблица = "testtable";
|
||||
|
||||
Результат = OPI_PostgreSQL.ОчиститьТаблицу(Таблица, СтрокаПодключения);
|
68
docs/ru/examples/PostgreSQL/ПолучитьЗаписи.txt
vendored
68
docs/ru/examples/PostgreSQL/ПолучитьЗаписи.txt
vendored
@ -3,35 +3,49 @@
|
||||
Пароль = "12we...";
|
||||
База = "testbase1";
|
||||
|
||||
// При использовании строки подключения инициализируется новое соединение,
|
||||
// которое будет закрыто после выполнения функции.
|
||||
// В случае выполнения нескольких операций желательно использовать одно соединение,
|
||||
// заранее созданное функцией ОткрытьСоединение()
|
||||
СтрокаПодключения = OPI_PostgreSQL.СформироватьСтрокуПодключения(Адрес, База, Логин, Пароль);
|
||||
|
||||
Таблица = "testtable";
|
||||
// Все записи без отборов
|
||||
|
||||
Таблица = "testtable";
|
||||
Результат = OPI_PostgreSQL.ПолучитьЗаписи(Таблица, , , , , СтрокаПодключения);
|
||||
|
||||
// Отборы, выбранные поля, количество и сортировка
|
||||
|
||||
СтрокаПодключения = OPI_PostgreSQL.СформироватьСтрокуПодключения(Адрес, "test_data", Логин, Пароль);
|
||||
|
||||
Таблица = "test_data";
|
||||
|
||||
Поля = Новый Массив;
|
||||
Поля.Добавить("bool_field");
|
||||
Поля.Добавить("oldchar_field");
|
||||
Поля.Добавить("smallint_field");
|
||||
Поля.Добавить("smallserial_field");
|
||||
Поля.Добавить("int_field");
|
||||
Поля.Добавить("serial_field");
|
||||
Поля.Добавить("oid_field");
|
||||
Поля.Добавить("bigint_field");
|
||||
Поля.Добавить("bigserial_field");
|
||||
Поля.Добавить("real_field");
|
||||
Поля.Добавить("dp_field");
|
||||
Поля.Добавить("text_field");
|
||||
Поля.Добавить("varchar_field");
|
||||
Поля.Добавить("charn_field");
|
||||
Поля.Добавить("char_field");
|
||||
Поля.Добавить("name_field");
|
||||
Поля.Добавить("bytea_field");
|
||||
Поля.Добавить("ts_field");
|
||||
Поля.Добавить("tswtz_field");
|
||||
Поля.Добавить("ip_field");
|
||||
Поля.Добавить("json_field");
|
||||
Поля.Добавить("jsonb_field");
|
||||
Поля.Добавить("date_field");
|
||||
Поля.Добавить("time_field");
|
||||
Поля.Добавить("uuid_field");
|
||||
Поля.Добавить("first_name");
|
||||
Поля.Добавить("last_name");
|
||||
Поля.Добавить("email");
|
||||
|
||||
Результат = OPI_PostgreSQL.ПолучитьЗаписи(Таблица, Поля, , , , СтрокаПодключения);
|
||||
Фильтры = Новый Массив;
|
||||
|
||||
СтруктураФильтра1 = Новый Структура;
|
||||
|
||||
СтруктураФильтра1.Вставить("field", "gender");
|
||||
СтруктураФильтра1.Вставить("type" , "=");
|
||||
СтруктураФильтра1.Вставить("value", "Male");
|
||||
СтруктураФильтра1.Вставить("union", "AND");
|
||||
СтруктураФильтра1.Вставить("raw" , Ложь);
|
||||
|
||||
СтруктураФильтра2 = Новый Структура;
|
||||
|
||||
СтруктураФильтра2.Вставить("field", "id");
|
||||
СтруктураФильтра2.Вставить("type" , "BETWEEN");
|
||||
СтруктураФильтра2.Вставить("value", "20 AND 50");
|
||||
СтруктураФильтра2.Вставить("raw" , Истина);
|
||||
|
||||
Фильтры.Добавить(СтруктураФильтра1);
|
||||
Фильтры.Добавить(СтруктураФильтра2);
|
||||
|
||||
Сортировка = Новый Структура("ip_address", "DESC");
|
||||
Количество = 5;
|
||||
|
||||
Результат = OPI_PostgreSQL.ПолучитьЗаписи(Таблица, Поля, Фильтры, Сортировка, Количество, СтрокаПодключения);
|
||||
|
2
docs/ru/examples/SQLite/ДобавитьЗаписи.txt
vendored
2
docs/ru/examples/SQLite/ДобавитьЗаписи.txt
vendored
@ -4,7 +4,7 @@
|
||||
ФайлКартинки = ПолучитьИмяВременногоФайла("png");
|
||||
Картинка.Записать(ФайлКартинки); // ФайлКартинки - Файл на диске
|
||||
|
||||
База = "C:\Users\Administrator\AppData\Local\Temp\v8_1A0B_60.sqlite";
|
||||
База = "C:\Users\Administrator\AppData\Local\Temp\v8_80B2_2a.sqlite";
|
||||
Таблица = "test";
|
||||
|
||||
МассивДанных = Новый Массив;
|
||||
|
2
docs/ru/examples/SQLite/ОбновитьЗаписи.txt
vendored
2
docs/ru/examples/SQLite/ОбновитьЗаписи.txt
vendored
@ -1,4 +1,4 @@
|
||||
База = "C:\Users\Administrator\AppData\Local\Temp\v8_1A0B_60.sqlite";
|
||||
База = "C:\Users\Administrator\AppData\Local\Temp\v8_80B2_2a.sqlite";
|
||||
Таблица = "test";
|
||||
|
||||
СтруктураПолей = Новый Структура;
|
||||
|
2
docs/ru/examples/SQLite/ОчиститьТаблицу.txt
vendored
2
docs/ru/examples/SQLite/ОчиститьТаблицу.txt
vendored
@ -1,4 +1,4 @@
|
||||
База = "C:\Users\Administrator\AppData\Local\Temp\v8_1A0B_60.sqlite";
|
||||
База = "C:\Users\Administrator\AppData\Local\Temp\v8_80B2_2a.sqlite";
|
||||
Таблица = "test";
|
||||
|
||||
Результат = OPI_SQLite.ОчиститьТаблицу(Таблица, База);
|
||||
|
2
docs/ru/examples/SQLite/ПолучитьЗаписи.txt
vendored
2
docs/ru/examples/SQLite/ПолучитьЗаписи.txt
vendored
@ -1,4 +1,4 @@
|
||||
База = "C:\Users\Administrator\AppData\Local\Temp\v8_1A0B_60.sqlite";
|
||||
База = "C:\Users\Administrator\AppData\Local\Temp\v8_80B2_2a.sqlite";
|
||||
Таблица = "test";
|
||||
|
||||
Поля = Новый Массив;
|
||||
|
@ -1,4 +1,4 @@
|
||||
База = "C:\Users\Administrator\AppData\Local\Temp\v8_1A0B_60.sqlite";
|
||||
База = "C:\Users\Administrator\AppData\Local\Temp\v8_80B2_2a.sqlite";
|
||||
Таблица = "test";
|
||||
|
||||
Результат = OPI_SQLite.ПолучитьИнформациюОТаблице(Таблица, База);
|
||||
|
2
docs/ru/examples/SQLite/СоздатьТаблицу.txt
vendored
2
docs/ru/examples/SQLite/СоздатьТаблицу.txt
vendored
@ -1,4 +1,4 @@
|
||||
База = "C:\Users\Administrator\AppData\Local\Temp\v8_1A0B_60.sqlite";
|
||||
База = "C:\Users\Administrator\AppData\Local\Temp\v8_80B2_2a.sqlite";
|
||||
Таблица = "test";
|
||||
|
||||
СтруктураКолонок = Новый Структура;
|
||||
|
2
docs/ru/examples/SQLite/УдалитьЗаписи.txt
vendored
2
docs/ru/examples/SQLite/УдалитьЗаписи.txt
vendored
@ -1,4 +1,4 @@
|
||||
База = "C:\Users\Administrator\AppData\Local\Temp\v8_1A0B_60.sqlite";
|
||||
База = "C:\Users\Administrator\AppData\Local\Temp\v8_80B2_2a.sqlite";
|
||||
Таблица = "test";
|
||||
|
||||
Фильтры = Новый Массив;
|
||||
|
2
docs/ru/examples/SQLite/УдалитьТаблицу.txt
vendored
2
docs/ru/examples/SQLite/УдалитьТаблицу.txt
vendored
@ -1,4 +1,4 @@
|
||||
База = "C:\Users\Administrator\AppData\Local\Temp\v8_1A0B_60.sqlite";
|
||||
База = "C:\Users\Administrator\AppData\Local\Temp\v8_80B2_2a.sqlite";
|
||||
Таблица = "test";
|
||||
|
||||
Результат = OPI_SQLite.УдалитьТаблицу(Таблица, База);
|
||||
|
13
docs/ru/md/PostgreSQL/Orm/Clear-table.mdx
vendored
13
docs/ru/md/PostgreSQL/Orm/Clear-table.mdx
vendored
@ -26,7 +26,20 @@ import TabItem from '@theme/TabItem';
|
||||
|
||||
|
||||
```bsl title="Пример использования для 1С:Предприятие/OneScript"
|
||||
Адрес = "93.125.42.204";
|
||||
Логин = "bayselonarrend";
|
||||
Пароль = "12we...";
|
||||
База = "testbase1";
|
||||
|
||||
// При использовании строки подключения инициализируется новое соединение,
|
||||
// которое будет закрыто после выполнения функции.
|
||||
// В случае выполнения нескольких операций желательно использовать одно соединение,
|
||||
// заранее созданное функцией ОткрытьСоединение()
|
||||
СтрокаПодключения = OPI_PostgreSQL.СформироватьСтрокуПодключения(Адрес, База, Логин, Пароль);
|
||||
|
||||
Таблица = "testtable";
|
||||
|
||||
Результат = OPI_PostgreSQL.ОчиститьТаблицу(Таблица, СтрокаПодключения);
|
||||
```
|
||||
|
||||
|
||||
|
68
docs/ru/md/PostgreSQL/Orm/Get-records.mdx
vendored
68
docs/ru/md/PostgreSQL/Orm/Get-records.mdx
vendored
@ -39,38 +39,52 @@ import TabItem from '@theme/TabItem';
|
||||
Пароль = "12we...";
|
||||
База = "testbase1";
|
||||
|
||||
// При использовании строки подключения инициализируется новое соединение,
|
||||
// которое будет закрыто после выполнения функции.
|
||||
// В случае выполнения нескольких операций желательно использовать одно соединение,
|
||||
// заранее созданное функцией ОткрытьСоединение()
|
||||
СтрокаПодключения = OPI_PostgreSQL.СформироватьСтрокуПодключения(Адрес, База, Логин, Пароль);
|
||||
|
||||
Таблица = "testtable";
|
||||
// Все записи без отборов
|
||||
|
||||
Таблица = "testtable";
|
||||
Результат = OPI_PostgreSQL.ПолучитьЗаписи(Таблица, , , , , СтрокаПодключения);
|
||||
|
||||
// Отборы, выбранные поля, количество и сортировка
|
||||
|
||||
СтрокаПодключения = OPI_PostgreSQL.СформироватьСтрокуПодключения(Адрес, "test_data", Логин, Пароль);
|
||||
|
||||
Таблица = "test_data";
|
||||
|
||||
Поля = Новый Массив;
|
||||
Поля.Добавить("bool_field");
|
||||
Поля.Добавить("oldchar_field");
|
||||
Поля.Добавить("smallint_field");
|
||||
Поля.Добавить("smallserial_field");
|
||||
Поля.Добавить("int_field");
|
||||
Поля.Добавить("serial_field");
|
||||
Поля.Добавить("oid_field");
|
||||
Поля.Добавить("bigint_field");
|
||||
Поля.Добавить("bigserial_field");
|
||||
Поля.Добавить("real_field");
|
||||
Поля.Добавить("dp_field");
|
||||
Поля.Добавить("text_field");
|
||||
Поля.Добавить("varchar_field");
|
||||
Поля.Добавить("charn_field");
|
||||
Поля.Добавить("char_field");
|
||||
Поля.Добавить("name_field");
|
||||
Поля.Добавить("bytea_field");
|
||||
Поля.Добавить("ts_field");
|
||||
Поля.Добавить("tswtz_field");
|
||||
Поля.Добавить("ip_field");
|
||||
Поля.Добавить("json_field");
|
||||
Поля.Добавить("jsonb_field");
|
||||
Поля.Добавить("date_field");
|
||||
Поля.Добавить("time_field");
|
||||
Поля.Добавить("uuid_field");
|
||||
Поля.Добавить("first_name");
|
||||
Поля.Добавить("last_name");
|
||||
Поля.Добавить("email");
|
||||
|
||||
Результат = OPI_PostgreSQL.ПолучитьЗаписи(Таблица, Поля, , , , СтрокаПодключения);
|
||||
Фильтры = Новый Массив;
|
||||
|
||||
СтруктураФильтра1 = Новый Структура;
|
||||
|
||||
СтруктураФильтра1.Вставить("field", "gender");
|
||||
СтруктураФильтра1.Вставить("type" , "=");
|
||||
СтруктураФильтра1.Вставить("value", "Male");
|
||||
СтруктураФильтра1.Вставить("union", "AND");
|
||||
СтруктураФильтра1.Вставить("raw" , Ложь);
|
||||
|
||||
СтруктураФильтра2 = Новый Структура;
|
||||
|
||||
СтруктураФильтра2.Вставить("field", "id");
|
||||
СтруктураФильтра2.Вставить("type" , "BETWEEN");
|
||||
СтруктураФильтра2.Вставить("value", "20 AND 50");
|
||||
СтруктураФильтра2.Вставить("raw" , Истина);
|
||||
|
||||
Фильтры.Добавить(СтруктураФильтра1);
|
||||
Фильтры.Добавить(СтруктураФильтра2);
|
||||
|
||||
Сортировка = Новый Структура("ip_address", "DESC");
|
||||
Количество = 5;
|
||||
|
||||
Результат = OPI_PostgreSQL.ПолучитьЗаписи(Таблица, Поля, Фильтры, Сортировка, Количество, СтрокаПодключения);
|
||||
```
|
||||
|
||||
|
||||
|
2
docs/ru/md/SQLite/Orm/Add-records.mdx
vendored
2
docs/ru/md/SQLite/Orm/Add-records.mdx
vendored
@ -38,7 +38,7 @@ import TabItem from '@theme/TabItem';
|
||||
ФайлКартинки = ПолучитьИмяВременногоФайла("png");
|
||||
Картинка.Записать(ФайлКартинки); // ФайлКартинки - Файл на диске
|
||||
|
||||
База = "C:\Users\Administrator\AppData\Local\Temp\v8_1A0B_60.sqlite";
|
||||
База = "C:\Users\Administrator\AppData\Local\Temp\v8_80B2_2a.sqlite";
|
||||
Таблица = "test";
|
||||
|
||||
МассивДанных = Новый Массив;
|
||||
|
2
docs/ru/md/SQLite/Orm/Clear-table.mdx
vendored
2
docs/ru/md/SQLite/Orm/Clear-table.mdx
vendored
@ -26,7 +26,7 @@ import TabItem from '@theme/TabItem';
|
||||
|
||||
|
||||
```bsl title="Пример использования для 1С:Предприятие/OneScript"
|
||||
База = "C:\Users\Administrator\AppData\Local\Temp\v8_1A0B_60.sqlite";
|
||||
База = "C:\Users\Administrator\AppData\Local\Temp\v8_80B2_2a.sqlite";
|
||||
Таблица = "test";
|
||||
|
||||
Результат = OPI_SQLite.ОчиститьТаблицу(Таблица, База);
|
||||
|
2
docs/ru/md/SQLite/Orm/Create-table.mdx
vendored
2
docs/ru/md/SQLite/Orm/Create-table.mdx
vendored
@ -27,7 +27,7 @@ import TabItem from '@theme/TabItem';
|
||||
|
||||
|
||||
```bsl title="Пример использования для 1С:Предприятие/OneScript"
|
||||
База = "C:\Users\Administrator\AppData\Local\Temp\v8_1A0B_60.sqlite";
|
||||
База = "C:\Users\Administrator\AppData\Local\Temp\v8_80B2_2a.sqlite";
|
||||
Таблица = "test";
|
||||
|
||||
СтруктураКолонок = Новый Структура;
|
||||
|
2
docs/ru/md/SQLite/Orm/Delete-posts.mdx
vendored
2
docs/ru/md/SQLite/Orm/Delete-posts.mdx
vendored
@ -27,7 +27,7 @@ import TabItem from '@theme/TabItem';
|
||||
|
||||
|
||||
```bsl title="Пример использования для 1С:Предприятие/OneScript"
|
||||
База = "C:\Users\Administrator\AppData\Local\Temp\v8_1A0B_60.sqlite";
|
||||
База = "C:\Users\Administrator\AppData\Local\Temp\v8_80B2_2a.sqlite";
|
||||
Таблица = "test";
|
||||
|
||||
Фильтры = Новый Массив;
|
||||
|
2
docs/ru/md/SQLite/Orm/Delete-table.mdx
vendored
2
docs/ru/md/SQLite/Orm/Delete-table.mdx
vendored
@ -26,7 +26,7 @@ import TabItem from '@theme/TabItem';
|
||||
|
||||
|
||||
```bsl title="Пример использования для 1С:Предприятие/OneScript"
|
||||
База = "C:\Users\Administrator\AppData\Local\Temp\v8_1A0B_60.sqlite";
|
||||
База = "C:\Users\Administrator\AppData\Local\Temp\v8_80B2_2a.sqlite";
|
||||
Таблица = "test";
|
||||
|
||||
Результат = OPI_SQLite.УдалитьТаблицу(Таблица, База);
|
||||
|
2
docs/ru/md/SQLite/Orm/Get-records.mdx
vendored
2
docs/ru/md/SQLite/Orm/Get-records.mdx
vendored
@ -34,7 +34,7 @@ import TabItem from '@theme/TabItem';
|
||||
|
||||
|
||||
```bsl title="Пример использования для 1С:Предприятие/OneScript"
|
||||
База = "C:\Users\Administrator\AppData\Local\Temp\v8_1A0B_60.sqlite";
|
||||
База = "C:\Users\Administrator\AppData\Local\Temp\v8_80B2_2a.sqlite";
|
||||
Таблица = "test";
|
||||
|
||||
Поля = Новый Массив;
|
||||
|
@ -26,7 +26,7 @@ import TabItem from '@theme/TabItem';
|
||||
|
||||
|
||||
```bsl title="Пример использования для 1С:Предприятие/OneScript"
|
||||
База = "C:\Users\Administrator\AppData\Local\Temp\v8_1A0B_60.sqlite";
|
||||
База = "C:\Users\Administrator\AppData\Local\Temp\v8_80B2_2a.sqlite";
|
||||
Таблица = "test";
|
||||
|
||||
Результат = OPI_SQLite.ПолучитьИнформациюОТаблице(Таблица, База);
|
||||
|
2
docs/ru/md/SQLite/Orm/Update-records.mdx
vendored
2
docs/ru/md/SQLite/Orm/Update-records.mdx
vendored
@ -28,7 +28,7 @@ import TabItem from '@theme/TabItem';
|
||||
|
||||
|
||||
```bsl title="Пример использования для 1С:Предприятие/OneScript"
|
||||
База = "C:\Users\Administrator\AppData\Local\Temp\v8_1A0B_60.sqlite";
|
||||
База = "C:\Users\Administrator\AppData\Local\Temp\v8_80B2_2a.sqlite";
|
||||
Таблица = "test";
|
||||
|
||||
СтруктураПолей = Новый Структура;
|
||||
|
12834
service/dictionaries/en.json
vendored
12834
service/dictionaries/en.json
vendored
File diff suppressed because it is too large
Load Diff
6
src/en/OInt/core/Modules/OPI_PostgreSQL.os
vendored
6
src/en/OInt/core/Modules/OPI_PostgreSQL.os
vendored
@ -146,8 +146,8 @@ Function ExecuteSQLQuery(Val QueryText
|
||||
CloseConnection = False;
|
||||
Connector = Connection;
|
||||
Else
|
||||
CloseConnection = True;
|
||||
Connector = CreateConnection(Connection);
|
||||
CloseConnection = True;
|
||||
Connector = CreateConnection(Connection);
|
||||
EndIf;
|
||||
|
||||
If Not IsConnector(Connector) Then
|
||||
@ -422,7 +422,7 @@ EndFunction
|
||||
|
||||
Function GetFeatures() Export
|
||||
|
||||
Features = New Structure;
|
||||
Features = New Map;
|
||||
Features.Insert("ParameterNumeration", True);
|
||||
Features.Insert("ParameterMarker" , "$");
|
||||
|
||||
|
2
src/en/OInt/core/Modules/OPI_SQLite.os
vendored
2
src/en/OInt/core/Modules/OPI_SQLite.os
vendored
@ -344,7 +344,7 @@ EndFunction
|
||||
|
||||
Function GetFeatures() Export
|
||||
|
||||
Features = New Structure;
|
||||
Features = New Map;
|
||||
Features.Insert("ParameterNumeration", True);
|
||||
Features.Insert("ParameterMarker" , "?");
|
||||
|
||||
|
114
src/en/OInt/tests/Modules/internal/OPI_Tests.os
vendored
114
src/en/OInt/tests/Modules/internal/OPI_Tests.os
vendored
@ -2340,6 +2340,7 @@ Procedure Postgres_ORM() Export
|
||||
PostgreSQL_GetTableInformation(TestParameters);
|
||||
PostgreSQL_AddRecords(TestParameters);
|
||||
PostgreSQL_GetRecords(TestParameters);
|
||||
PostgreSQL_ClearTable(TestParameters);
|
||||
PostgreSQL_DeleteTable(TestParameters);
|
||||
PostgreSQL_DropDatabase(TestParameters);
|
||||
|
||||
@ -17696,47 +17697,66 @@ Procedure PostgreSQL_GetRecords(FunctionParameters)
|
||||
Password = FunctionParameters["PG_Password"];
|
||||
Base = "testbase1";
|
||||
|
||||
// When using the connection string, a new connection is initialised,
|
||||
// which will be closed after the function is executed.
|
||||
// If several operations are performed, it is desirable to use one connection,
|
||||
// previously created by the CreateConnection function()
|
||||
ConnectionString = OPI_PostgreSQL.GenerateConnectionString(Address, Base, Login, Password);
|
||||
|
||||
Table = "testtable";
|
||||
// All records without filters
|
||||
|
||||
Table = "testtable";
|
||||
Result = OPI_PostgreSQL.GetRecords(Table, , , , , ConnectionString);
|
||||
|
||||
If ValueIsFilled(Result["data"]) Then // SKIP
|
||||
Result["data"][0]["bytea_field"]["BYTEA"] // SKIP
|
||||
= Left(Result["data"][0]["bytea_field"]["BYTEA"], 10) + "..."; // SKIP
|
||||
EndIf; // SKIP
|
||||
|
||||
OPI_TestDataRetrieval.WriteLog(Result, "GetRecords", "PostgreSQL"); // SKIP
|
||||
OPI_TestDataRetrieval.Check_ResultTrue(Result); // SKIP
|
||||
|
||||
// Filter, selected fields, limit and sorting
|
||||
|
||||
ConnectionString = OPI_PostgreSQL.GenerateConnectionString(Address, "test_data", Login, Password);
|
||||
|
||||
Table = "test_data";
|
||||
|
||||
Fields = New Array;
|
||||
Fields.Add("bool_field");
|
||||
Fields.Add("oldchar_field");
|
||||
Fields.Add("smallint_field");
|
||||
Fields.Add("smallserial_field");
|
||||
Fields.Add("int_field");
|
||||
Fields.Add("serial_field");
|
||||
Fields.Add("oid_field");
|
||||
Fields.Add("bigint_field");
|
||||
Fields.Add("bigserial_field");
|
||||
Fields.Add("real_field");
|
||||
Fields.Add("dp_field");
|
||||
Fields.Add("text_field");
|
||||
Fields.Add("varchar_field");
|
||||
Fields.Add("charn_field");
|
||||
Fields.Add("char_field");
|
||||
Fields.Add("name_field");
|
||||
Fields.Add("bytea_field");
|
||||
Fields.Add("ts_field");
|
||||
Fields.Add("tswtz_field");
|
||||
Fields.Add("ip_field");
|
||||
Fields.Add("json_field");
|
||||
Fields.Add("jsonb_field");
|
||||
Fields.Add("date_field");
|
||||
Fields.Add("time_field");
|
||||
Fields.Add("uuid_field");
|
||||
Fields.Add("first_name");
|
||||
Fields.Add("last_name");
|
||||
Fields.Add("email");
|
||||
|
||||
Result = OPI_PostgreSQL.GetRecords(Table, Fields, , , , ConnectionString);
|
||||
Filters = New Array;
|
||||
|
||||
FilterStructure1 = New Structure;
|
||||
|
||||
FilterStructure1.Insert("field", "gender");
|
||||
FilterStructure1.Insert("type" , "=");
|
||||
FilterStructure1.Insert("value", "Male");
|
||||
FilterStructure1.Insert("union", "AND");
|
||||
FilterStructure1.Insert("raw" , False);
|
||||
|
||||
FilterStructure2 = New Structure;
|
||||
|
||||
FilterStructure2.Insert("field", "id");
|
||||
FilterStructure2.Insert("type" , "BETWEEN");
|
||||
FilterStructure2.Insert("value", "20 AND 50");
|
||||
FilterStructure2.Insert("raw" , True);
|
||||
|
||||
Filters.Add(FilterStructure1);
|
||||
Filters.Add(FilterStructure2);
|
||||
|
||||
Sort = New Structure("ip_address", "DESC");
|
||||
Count = 5;
|
||||
|
||||
Result = OPI_PostgreSQL.GetRecords(Table, Fields, Filters, Sort, Count, ConnectionString);
|
||||
|
||||
// END
|
||||
|
||||
If ValueIsFilled(Result["data"]) Then
|
||||
Result["data"][0]["bytea_field"]["BYTEA"] = Left(Result["data"][0]["bytea_field"]["BYTEA"], 10) + "...";
|
||||
EndIf;
|
||||
|
||||
OPI_TestDataRetrieval.WriteLog(Result, "GetRecords", "PostgreSQL");
|
||||
OPI_TestDataRetrieval.WriteLog(Result, "GetRecords (filters)", "PostgreSQL");
|
||||
OPI_TestDataRetrieval.Check_ResultTrue(Result);
|
||||
OPI_TestDataRetrieval.Check_Array(Result["data"], 5);
|
||||
|
||||
EndProcedure
|
||||
|
||||
@ -17815,6 +17835,36 @@ Procedure PostgreSQL_DropDatabase(FunctionParameters)
|
||||
|
||||
EndProcedure
|
||||
|
||||
Procedure PostgreSQL_ClearTable(FunctionParameters)
|
||||
|
||||
Address = FunctionParameters["PG_IP"];
|
||||
Login = "bayselonarrend";
|
||||
Password = FunctionParameters["PG_Password"];
|
||||
Base = "testbase1";
|
||||
|
||||
// When using the connection string, a new connection is initialised,
|
||||
// which will be closed after the function is executed.
|
||||
// If several operations are performed, it is desirable to use one connection,
|
||||
// previously created by the CreateConnection function()
|
||||
ConnectionString = OPI_PostgreSQL.GenerateConnectionString(Address, Base, Login, Password);
|
||||
|
||||
Table = "testtable";
|
||||
|
||||
Result = OPI_PostgreSQL.ClearTable(Table, ConnectionString);
|
||||
|
||||
// END
|
||||
|
||||
OPI_TestDataRetrieval.WriteLog(Result, "ClearTable", "PostgreSQL");
|
||||
OPI_TestDataRetrieval.Check_ResultTrue(Result);
|
||||
|
||||
Result = OPI_PostgreSQL.GetRecords(Table, , , , , ConnectionString);
|
||||
|
||||
OPI_TestDataRetrieval.WriteLog(Result, "ClearTable (check)", "PostgreSQL");
|
||||
OPI_TestDataRetrieval.Check_ResultTrue(Result);
|
||||
OPI_TestDataRetrieval.Check_Array(Result["data"], 0);
|
||||
|
||||
EndProcedure
|
||||
|
||||
#EndRegion
|
||||
|
||||
#EndRegion
|
||||
|
86
src/en/OInt/tools/Modules/OPI_SQLQueries.os
vendored
86
src/en/OInt/tools/Modules/OPI_SQLQueries.os
vendored
@ -46,7 +46,7 @@
|
||||
|
||||
Function CreateDatabase(Val Module, Val Base, Val Connection = "") Export
|
||||
|
||||
Scheme = NewSQLScheme("CREATEDATABASE");
|
||||
Scheme = NewSQLScheme("CREATEDATABASE", Module);
|
||||
|
||||
SetBaseName(Scheme, Base);
|
||||
|
||||
@ -59,7 +59,7 @@ EndFunction
|
||||
|
||||
Function DropDatabase(Val Module, Val Base, Val Connection = "") Export
|
||||
|
||||
Scheme = NewSQLScheme("DROPDATABASE");
|
||||
Scheme = NewSQLScheme("DROPDATABASE", Module);
|
||||
|
||||
SetBaseName(Scheme, Base);
|
||||
|
||||
@ -75,7 +75,7 @@ Function CreateTable(Val Module, Val Table, Val ColoumnsStruct, Val Connection =
|
||||
ErrorText = "The column structure is not a valid key-value structure";
|
||||
OPI_TypeConversion.GetKeyValueCollection(ColoumnsStruct, ErrorText);
|
||||
|
||||
Scheme = NewSQLScheme("CREATE");
|
||||
Scheme = NewSQLScheme("CREATE", Module);
|
||||
|
||||
SetTableName(Scheme, Table);
|
||||
|
||||
@ -121,7 +121,7 @@ Function GetRecords(Val Module
|
||||
, Val Count = ""
|
||||
, Val Connection = "") Export
|
||||
|
||||
Scheme = NewSQLScheme("SELECT");
|
||||
Scheme = NewSQLScheme("SELECT", Module);
|
||||
|
||||
SetTableName(Scheme, Table);
|
||||
SetLimit(Scheme, Count);
|
||||
@ -144,7 +144,7 @@ Function UpdateRecords(Val Module
|
||||
, Val Filters = ""
|
||||
, Val Connection = "") Export
|
||||
|
||||
Scheme = NewSQLScheme("UPDATE");
|
||||
Scheme = NewSQLScheme("UPDATE", Module);
|
||||
|
||||
FieldArray = New Array;
|
||||
ValuesArray = New Array;
|
||||
@ -169,7 +169,7 @@ EndFunction
|
||||
|
||||
Function DeletePosts(Val Module, Val Table, Val Filters = "", Val Connection = "") Export
|
||||
|
||||
Scheme = NewSQLScheme("DELETE");
|
||||
Scheme = NewSQLScheme("DELETE", Module);
|
||||
|
||||
SetTableName(Scheme, Table);
|
||||
|
||||
@ -184,7 +184,7 @@ EndFunction
|
||||
|
||||
Function DeleteTable(Val Module, Val Table, Val Connection = "") Export
|
||||
|
||||
Scheme = NewSQLScheme("DROP");
|
||||
Scheme = NewSQLScheme("DROP", Module);
|
||||
|
||||
SetTableName(Scheme, Table);
|
||||
|
||||
@ -197,7 +197,7 @@ EndFunction
|
||||
|
||||
Function ClearTable(Val Module, Val Table, Val Connection = "") Export
|
||||
|
||||
Scheme = NewSQLScheme("TRUNCATE");
|
||||
Scheme = NewSQLScheme("TRUNCATE", Module);
|
||||
|
||||
SetTableName(Scheme, Table);
|
||||
|
||||
@ -233,7 +233,7 @@ EndFunction
|
||||
|
||||
#Region Scheme
|
||||
|
||||
Function NewSQLScheme(Val Action, Val Features = Undefined)
|
||||
Function NewSQLScheme(Val Action, Val Module = Undefined)
|
||||
|
||||
OPI_TypeConversion.GetLine(Action);
|
||||
|
||||
@ -245,7 +245,7 @@ Function NewSQLScheme(Val Action, Val Features = Undefined)
|
||||
|
||||
ElsIf Action = "INSERT" Then
|
||||
|
||||
Scheme = EmptySchemeInsert(Features);
|
||||
Scheme = EmptySchemeInsert();
|
||||
|
||||
ElsIf Action = "UPDATE" Then
|
||||
|
||||
@ -281,6 +281,13 @@ Function NewSQLScheme(Val Action, Val Features = Undefined)
|
||||
|
||||
EndIf;
|
||||
|
||||
Features = Module.GetFeatures();
|
||||
|
||||
ReplaceDefaultFeatures(Features);
|
||||
|
||||
Scheme.Insert("nump" , Features["ParameterNumeration"]);
|
||||
Scheme.Insert("markp", Features["ParameterMarker"]);
|
||||
|
||||
Return Scheme;
|
||||
|
||||
EndFunction
|
||||
@ -300,17 +307,12 @@ Function EmptySchemeSelect()
|
||||
|
||||
EndFunction
|
||||
|
||||
Function EmptySchemeInsert(Val Features)
|
||||
Function EmptySchemeInsert()
|
||||
|
||||
Scheme = New Structure("type", "INSERT");
|
||||
|
||||
ParameterNumeration = ?(ValueIsFilled(Features), Features["ParameterNumeration"], False);
|
||||
ParameterMarker = ?(ValueIsFilled(Features), Features["ParameterMarker"] , "?");
|
||||
|
||||
Scheme.Insert("table", "");
|
||||
Scheme.Insert("set" , New Array);
|
||||
Scheme.Insert("nump" , ParameterNumeration);
|
||||
Scheme.Insert("markp", ParameterMarker);
|
||||
|
||||
Return Scheme;
|
||||
|
||||
@ -513,9 +515,11 @@ Function FormTextUpdate(Val Scheme)
|
||||
|
||||
CheckSchemeRequiredFields(Scheme, "table,set,values");
|
||||
|
||||
Table = Scheme["table"];
|
||||
Fields = Scheme["set"];
|
||||
Filters = Scheme["filter"];
|
||||
Table = Scheme["table"];
|
||||
Fields = Scheme["set"];
|
||||
Filters = Scheme["filter"];
|
||||
Numeration = Scheme["nump"];
|
||||
Marker = Scheme["markp"];
|
||||
|
||||
SQLTemplate = "UPDATE %1 SET %2 %3;";
|
||||
|
||||
@ -523,7 +527,13 @@ Function FormTextUpdate(Val Scheme)
|
||||
|
||||
For N = 0 To Fields.UBound() Do
|
||||
|
||||
Fields[N] = Fields[N] + " = ?" + OPI_Tools.NumberToString(N + 1);
|
||||
CurrentMarker = Marker;
|
||||
|
||||
If Numeration Then
|
||||
CurrentMarker = CurrentMarker + OPI_Tools.NumberToString(N + 1);
|
||||
EndIf;
|
||||
|
||||
Fields[N] = Fields[N] + " = " + CurrentMarker;
|
||||
|
||||
EndDo;
|
||||
|
||||
@ -741,7 +751,7 @@ Function AddRow(Val Module, Val Table, Val Record, Val Connection)
|
||||
|
||||
Features = Module.GetFeatures();
|
||||
|
||||
Scheme = NewSQLScheme("INSERT", Features);
|
||||
Scheme = NewSQLScheme("INSERT", Module);
|
||||
SetTableName(Scheme, Table);
|
||||
|
||||
SplitDataCollection(Record, FieldArray, ValuesArray);
|
||||
@ -1002,13 +1012,21 @@ Procedure AddField(Scheme, Val Name) Export
|
||||
|
||||
EndProcedure
|
||||
|
||||
Procedure AddFilter(Scheme, Val Field, Val Type, Val Value, Val Grouping, Val Raw)
|
||||
Procedure AddFilter(Scheme
|
||||
, Val Field
|
||||
, Val Type
|
||||
, Val Value
|
||||
, Val Grouping
|
||||
, Val Raw)
|
||||
|
||||
OPI_TypeConversion.GetLine(Field);
|
||||
OPI_TypeConversion.GetLine(Type);
|
||||
OPI_TypeConversion.GetLine(Grouping);
|
||||
OPI_TypeConversion.GetBoolean(Raw);
|
||||
|
||||
Numeration = Scheme["nump"];
|
||||
Marker = Scheme["markp"];
|
||||
|
||||
MainStructure = New Structure("field,type,union"
|
||||
, Field
|
||||
, Type
|
||||
@ -1022,8 +1040,14 @@ Procedure AddFilter(Scheme, Val Field, Val Type, Val Value, Val Grouping, Val Ra
|
||||
|
||||
Scheme["values"].Add(Value);
|
||||
|
||||
OrderNumber = Scheme["values"].Count();
|
||||
MainStructure.Insert("value", "?" + OPI_Tools.NumberToString(OrderNumber));
|
||||
CurrentMarker = Marker;
|
||||
|
||||
If Numeration Then
|
||||
OrderNumber = Scheme["values"].Count();
|
||||
CurrentMarker = CurrentMarker + + OPI_Tools.NumberToString(OrderNumber);
|
||||
EndIf;
|
||||
|
||||
MainStructure.Insert("value", CurrentMarker);
|
||||
|
||||
EndIf;
|
||||
|
||||
@ -1064,6 +1088,20 @@ Procedure SetLimit(Scheme, Val Count)
|
||||
|
||||
EndProcedure
|
||||
|
||||
Procedure ReplaceDefaultFeatures(Features)
|
||||
|
||||
DefaultFeatures = New Map;
|
||||
DefaultFeatures.Insert("ParameterNumeration", True); // nump
|
||||
DefaultFeatures.Insert("ParameterMarker" , "?"); // markp
|
||||
|
||||
For Each Feature In Features Do
|
||||
DefaultFeatures.Insert(Feature.Key, Feature.Value);
|
||||
EndDo;
|
||||
|
||||
Features = DefaultFeatures;
|
||||
|
||||
EndProcedure
|
||||
|
||||
#EndRegion
|
||||
|
||||
#EndRegion
|
||||
|
@ -146,8 +146,8 @@ Function ExecuteSQLQuery(Val QueryText
|
||||
CloseConnection = False;
|
||||
Connector = Connection;
|
||||
Else
|
||||
CloseConnection = True;
|
||||
Connector = CreateConnection(Connection);
|
||||
CloseConnection = True;
|
||||
Connector = CreateConnection(Connection);
|
||||
EndIf;
|
||||
|
||||
If Not IsConnector(Connector) Then
|
||||
@ -422,7 +422,7 @@ EndFunction
|
||||
|
||||
Function GetFeatures() Export
|
||||
|
||||
Features = New Structure;
|
||||
Features = New Map;
|
||||
Features.Insert("ParameterNumeration", True);
|
||||
Features.Insert("ParameterMarker" , "$");
|
||||
|
||||
|
@ -46,7 +46,7 @@
|
||||
|
||||
Function CreateDatabase(Val Module, Val Base, Val Connection = "") Export
|
||||
|
||||
Scheme = NewSQLScheme("CREATEDATABASE");
|
||||
Scheme = NewSQLScheme("CREATEDATABASE", Module);
|
||||
|
||||
SetBaseName(Scheme, Base);
|
||||
|
||||
@ -59,7 +59,7 @@ EndFunction
|
||||
|
||||
Function DropDatabase(Val Module, Val Base, Val Connection = "") Export
|
||||
|
||||
Scheme = NewSQLScheme("DROPDATABASE");
|
||||
Scheme = NewSQLScheme("DROPDATABASE", Module);
|
||||
|
||||
SetBaseName(Scheme, Base);
|
||||
|
||||
@ -75,7 +75,7 @@ Function CreateTable(Val Module, Val Table, Val ColoumnsStruct, Val Connection =
|
||||
ErrorText = "The column structure is not a valid key-value structure";
|
||||
OPI_TypeConversion.GetKeyValueCollection(ColoumnsStruct, ErrorText);
|
||||
|
||||
Scheme = NewSQLScheme("CREATE");
|
||||
Scheme = NewSQLScheme("CREATE", Module);
|
||||
|
||||
SetTableName(Scheme, Table);
|
||||
|
||||
@ -121,7 +121,7 @@ Function GetRecords(Val Module
|
||||
, Val Count = ""
|
||||
, Val Connection = "") Export
|
||||
|
||||
Scheme = NewSQLScheme("SELECT");
|
||||
Scheme = NewSQLScheme("SELECT", Module);
|
||||
|
||||
SetTableName(Scheme, Table);
|
||||
SetLimit(Scheme, Count);
|
||||
@ -144,7 +144,7 @@ Function UpdateRecords(Val Module
|
||||
, Val Filters = ""
|
||||
, Val Connection = "") Export
|
||||
|
||||
Scheme = NewSQLScheme("UPDATE");
|
||||
Scheme = NewSQLScheme("UPDATE", Module);
|
||||
|
||||
FieldArray = New Array;
|
||||
ValuesArray = New Array;
|
||||
@ -169,7 +169,7 @@ EndFunction
|
||||
|
||||
Function DeletePosts(Val Module, Val Table, Val Filters = "", Val Connection = "") Export
|
||||
|
||||
Scheme = NewSQLScheme("DELETE");
|
||||
Scheme = NewSQLScheme("DELETE", Module);
|
||||
|
||||
SetTableName(Scheme, Table);
|
||||
|
||||
@ -184,7 +184,7 @@ EndFunction
|
||||
|
||||
Function DeleteTable(Val Module, Val Table, Val Connection = "") Export
|
||||
|
||||
Scheme = NewSQLScheme("DROP");
|
||||
Scheme = NewSQLScheme("DROP", Module);
|
||||
|
||||
SetTableName(Scheme, Table);
|
||||
|
||||
@ -197,7 +197,7 @@ EndFunction
|
||||
|
||||
Function ClearTable(Val Module, Val Table, Val Connection = "") Export
|
||||
|
||||
Scheme = NewSQLScheme("TRUNCATE");
|
||||
Scheme = NewSQLScheme("TRUNCATE", Module);
|
||||
|
||||
SetTableName(Scheme, Table);
|
||||
|
||||
@ -233,7 +233,7 @@ EndFunction
|
||||
|
||||
#Region Scheme
|
||||
|
||||
Function NewSQLScheme(Val Action, Val Features = Undefined)
|
||||
Function NewSQLScheme(Val Action, Val Module = Undefined)
|
||||
|
||||
OPI_TypeConversion.GetLine(Action);
|
||||
|
||||
@ -245,7 +245,7 @@ Function NewSQLScheme(Val Action, Val Features = Undefined)
|
||||
|
||||
ElsIf Action = "INSERT" Then
|
||||
|
||||
Scheme = EmptySchemeInsert(Features);
|
||||
Scheme = EmptySchemeInsert();
|
||||
|
||||
ElsIf Action = "UPDATE" Then
|
||||
|
||||
@ -281,6 +281,13 @@ Function NewSQLScheme(Val Action, Val Features = Undefined)
|
||||
|
||||
EndIf;
|
||||
|
||||
Features = Module.GetFeatures();
|
||||
|
||||
ReplaceDefaultFeatures(Features);
|
||||
|
||||
Scheme.Insert("nump" , Features["ParameterNumeration"]);
|
||||
Scheme.Insert("markp", Features["ParameterMarker"]);
|
||||
|
||||
Return Scheme;
|
||||
|
||||
EndFunction
|
||||
@ -300,17 +307,12 @@ Function EmptySchemeSelect()
|
||||
|
||||
EndFunction
|
||||
|
||||
Function EmptySchemeInsert(Val Features)
|
||||
Function EmptySchemeInsert()
|
||||
|
||||
Scheme = New Structure("type", "INSERT");
|
||||
|
||||
ParameterNumeration = ?(ValueIsFilled(Features), Features["ParameterNumeration"], False);
|
||||
ParameterMarker = ?(ValueIsFilled(Features), Features["ParameterMarker"] , "?");
|
||||
|
||||
Scheme.Insert("table", "");
|
||||
Scheme.Insert("set" , New Array);
|
||||
Scheme.Insert("nump" , ParameterNumeration);
|
||||
Scheme.Insert("markp", ParameterMarker);
|
||||
|
||||
Return Scheme;
|
||||
|
||||
@ -513,9 +515,11 @@ Function FormTextUpdate(Val Scheme)
|
||||
|
||||
CheckSchemeRequiredFields(Scheme, "table,set,values");
|
||||
|
||||
Table = Scheme["table"];
|
||||
Fields = Scheme["set"];
|
||||
Filters = Scheme["filter"];
|
||||
Table = Scheme["table"];
|
||||
Fields = Scheme["set"];
|
||||
Filters = Scheme["filter"];
|
||||
Numeration = Scheme["nump"];
|
||||
Marker = Scheme["markp"];
|
||||
|
||||
SQLTemplate = "UPDATE %1 SET %2 %3;";
|
||||
|
||||
@ -523,7 +527,13 @@ Function FormTextUpdate(Val Scheme)
|
||||
|
||||
For N = 0 To Fields.UBound() Do
|
||||
|
||||
Fields[N] = Fields[N] + " = ?" + OPI_Tools.NumberToString(N + 1);
|
||||
CurrentMarker = Marker;
|
||||
|
||||
If Numeration Then
|
||||
CurrentMarker = CurrentMarker + OPI_Tools.NumberToString(N + 1);
|
||||
EndIf;
|
||||
|
||||
Fields[N] = Fields[N] + " = " + CurrentMarker;
|
||||
|
||||
EndDo;
|
||||
|
||||
@ -741,7 +751,7 @@ Function AddRow(Val Module, Val Table, Val Record, Val Connection)
|
||||
|
||||
Features = Module.GetFeatures();
|
||||
|
||||
Scheme = NewSQLScheme("INSERT", Features);
|
||||
Scheme = NewSQLScheme("INSERT", Module);
|
||||
SetTableName(Scheme, Table);
|
||||
|
||||
SplitDataCollection(Record, FieldArray, ValuesArray);
|
||||
@ -1002,13 +1012,21 @@ Procedure AddField(Scheme, Val Name) Export
|
||||
|
||||
EndProcedure
|
||||
|
||||
Procedure AddFilter(Scheme, Val Field, Val Type, Val Value, Val Grouping, Val Raw)
|
||||
Procedure AddFilter(Scheme
|
||||
, Val Field
|
||||
, Val Type
|
||||
, Val Value
|
||||
, Val Grouping
|
||||
, Val Raw)
|
||||
|
||||
OPI_TypeConversion.GetLine(Field);
|
||||
OPI_TypeConversion.GetLine(Type);
|
||||
OPI_TypeConversion.GetLine(Grouping);
|
||||
OPI_TypeConversion.GetBoolean(Raw);
|
||||
|
||||
Numeration = Scheme["nump"];
|
||||
Marker = Scheme["markp"];
|
||||
|
||||
MainStructure = New Structure("field,type,union"
|
||||
, Field
|
||||
, Type
|
||||
@ -1022,8 +1040,14 @@ Procedure AddFilter(Scheme, Val Field, Val Type, Val Value, Val Grouping, Val Ra
|
||||
|
||||
Scheme["values"].Add(Value);
|
||||
|
||||
OrderNumber = Scheme["values"].Count();
|
||||
MainStructure.Insert("value", "?" + OPI_Tools.NumberToString(OrderNumber));
|
||||
CurrentMarker = Marker;
|
||||
|
||||
If Numeration Then
|
||||
OrderNumber = Scheme["values"].Count();
|
||||
CurrentMarker = CurrentMarker + + OPI_Tools.NumberToString(OrderNumber);
|
||||
EndIf;
|
||||
|
||||
MainStructure.Insert("value", CurrentMarker);
|
||||
|
||||
EndIf;
|
||||
|
||||
@ -1064,6 +1088,20 @@ Procedure SetLimit(Scheme, Val Count)
|
||||
|
||||
EndProcedure
|
||||
|
||||
Procedure ReplaceDefaultFeatures(Features)
|
||||
|
||||
DefaultFeatures = New Map;
|
||||
DefaultFeatures.Insert("ParameterNumeration", True); // nump
|
||||
DefaultFeatures.Insert("ParameterMarker" , "?"); // markp
|
||||
|
||||
For Each Feature In Features Do
|
||||
DefaultFeatures.Insert(Feature.Key, Feature.Value);
|
||||
EndDo;
|
||||
|
||||
Features = DefaultFeatures;
|
||||
|
||||
EndProcedure
|
||||
|
||||
#EndRegion
|
||||
|
||||
#EndRegion
|
||||
|
@ -344,7 +344,7 @@ EndFunction
|
||||
|
||||
Function GetFeatures() Export
|
||||
|
||||
Features = New Structure;
|
||||
Features = New Map;
|
||||
Features.Insert("ParameterNumeration", True);
|
||||
Features.Insert("ParameterMarker" , "?");
|
||||
|
||||
|
114
src/en/OPI/src/CommonModules/OPI_Tests/Module.bsl
vendored
114
src/en/OPI/src/CommonModules/OPI_Tests/Module.bsl
vendored
@ -2340,6 +2340,7 @@ Procedure Postgres_ORM() Export
|
||||
PostgreSQL_GetTableInformation(TestParameters);
|
||||
PostgreSQL_AddRecords(TestParameters);
|
||||
PostgreSQL_GetRecords(TestParameters);
|
||||
PostgreSQL_ClearTable(TestParameters);
|
||||
PostgreSQL_DeleteTable(TestParameters);
|
||||
PostgreSQL_DropDatabase(TestParameters);
|
||||
|
||||
@ -17696,47 +17697,66 @@ Procedure PostgreSQL_GetRecords(FunctionParameters)
|
||||
Password = FunctionParameters["PG_Password"];
|
||||
Base = "testbase1";
|
||||
|
||||
// When using the connection string, a new connection is initialised,
|
||||
// which will be closed after the function is executed.
|
||||
// If several operations are performed, it is desirable to use one connection,
|
||||
// previously created by the CreateConnection function()
|
||||
ConnectionString = OPI_PostgreSQL.GenerateConnectionString(Address, Base, Login, Password);
|
||||
|
||||
Table = "testtable";
|
||||
// All records without filters
|
||||
|
||||
Table = "testtable";
|
||||
Result = OPI_PostgreSQL.GetRecords(Table, , , , , ConnectionString);
|
||||
|
||||
If ValueIsFilled(Result["data"]) Then // SKIP
|
||||
Result["data"][0]["bytea_field"]["BYTEA"] // SKIP
|
||||
= Left(Result["data"][0]["bytea_field"]["BYTEA"], 10) + "..."; // SKIP
|
||||
EndIf; // SKIP
|
||||
|
||||
OPI_TestDataRetrieval.WriteLog(Result, "GetRecords", "PostgreSQL"); // SKIP
|
||||
OPI_TestDataRetrieval.Check_ResultTrue(Result); // SKIP
|
||||
|
||||
// Filter, selected fields, limit and sorting
|
||||
|
||||
ConnectionString = OPI_PostgreSQL.GenerateConnectionString(Address, "test_data", Login, Password);
|
||||
|
||||
Table = "test_data";
|
||||
|
||||
Fields = New Array;
|
||||
Fields.Add("bool_field");
|
||||
Fields.Add("oldchar_field");
|
||||
Fields.Add("smallint_field");
|
||||
Fields.Add("smallserial_field");
|
||||
Fields.Add("int_field");
|
||||
Fields.Add("serial_field");
|
||||
Fields.Add("oid_field");
|
||||
Fields.Add("bigint_field");
|
||||
Fields.Add("bigserial_field");
|
||||
Fields.Add("real_field");
|
||||
Fields.Add("dp_field");
|
||||
Fields.Add("text_field");
|
||||
Fields.Add("varchar_field");
|
||||
Fields.Add("charn_field");
|
||||
Fields.Add("char_field");
|
||||
Fields.Add("name_field");
|
||||
Fields.Add("bytea_field");
|
||||
Fields.Add("ts_field");
|
||||
Fields.Add("tswtz_field");
|
||||
Fields.Add("ip_field");
|
||||
Fields.Add("json_field");
|
||||
Fields.Add("jsonb_field");
|
||||
Fields.Add("date_field");
|
||||
Fields.Add("time_field");
|
||||
Fields.Add("uuid_field");
|
||||
Fields.Add("first_name");
|
||||
Fields.Add("last_name");
|
||||
Fields.Add("email");
|
||||
|
||||
Result = OPI_PostgreSQL.GetRecords(Table, Fields, , , , ConnectionString);
|
||||
Filters = New Array;
|
||||
|
||||
FilterStructure1 = New Structure;
|
||||
|
||||
FilterStructure1.Insert("field", "gender");
|
||||
FilterStructure1.Insert("type" , "=");
|
||||
FilterStructure1.Insert("value", "Male");
|
||||
FilterStructure1.Insert("union", "AND");
|
||||
FilterStructure1.Insert("raw" , False);
|
||||
|
||||
FilterStructure2 = New Structure;
|
||||
|
||||
FilterStructure2.Insert("field", "id");
|
||||
FilterStructure2.Insert("type" , "BETWEEN");
|
||||
FilterStructure2.Insert("value", "20 AND 50");
|
||||
FilterStructure2.Insert("raw" , True);
|
||||
|
||||
Filters.Add(FilterStructure1);
|
||||
Filters.Add(FilterStructure2);
|
||||
|
||||
Sort = New Structure("ip_address", "DESC");
|
||||
Count = 5;
|
||||
|
||||
Result = OPI_PostgreSQL.GetRecords(Table, Fields, Filters, Sort, Count, ConnectionString);
|
||||
|
||||
// END
|
||||
|
||||
If ValueIsFilled(Result["data"]) Then
|
||||
Result["data"][0]["bytea_field"]["BYTEA"] = Left(Result["data"][0]["bytea_field"]["BYTEA"], 10) + "...";
|
||||
EndIf;
|
||||
|
||||
OPI_TestDataRetrieval.WriteLog(Result, "GetRecords", "PostgreSQL");
|
||||
OPI_TestDataRetrieval.WriteLog(Result, "GetRecords (filters)", "PostgreSQL");
|
||||
OPI_TestDataRetrieval.Check_ResultTrue(Result);
|
||||
OPI_TestDataRetrieval.Check_Array(Result["data"], 5);
|
||||
|
||||
EndProcedure
|
||||
|
||||
@ -17815,6 +17835,36 @@ Procedure PostgreSQL_DropDatabase(FunctionParameters)
|
||||
|
||||
EndProcedure
|
||||
|
||||
Procedure PostgreSQL_ClearTable(FunctionParameters)
|
||||
|
||||
Address = FunctionParameters["PG_IP"];
|
||||
Login = "bayselonarrend";
|
||||
Password = FunctionParameters["PG_Password"];
|
||||
Base = "testbase1";
|
||||
|
||||
// When using the connection string, a new connection is initialised,
|
||||
// which will be closed after the function is executed.
|
||||
// If several operations are performed, it is desirable to use one connection,
|
||||
// previously created by the CreateConnection function()
|
||||
ConnectionString = OPI_PostgreSQL.GenerateConnectionString(Address, Base, Login, Password);
|
||||
|
||||
Table = "testtable";
|
||||
|
||||
Result = OPI_PostgreSQL.ClearTable(Table, ConnectionString);
|
||||
|
||||
// END
|
||||
|
||||
OPI_TestDataRetrieval.WriteLog(Result, "ClearTable", "PostgreSQL");
|
||||
OPI_TestDataRetrieval.Check_ResultTrue(Result);
|
||||
|
||||
Result = OPI_PostgreSQL.GetRecords(Table, , , , , ConnectionString);
|
||||
|
||||
OPI_TestDataRetrieval.WriteLog(Result, "ClearTable (check)", "PostgreSQL");
|
||||
OPI_TestDataRetrieval.Check_ResultTrue(Result);
|
||||
OPI_TestDataRetrieval.Check_Array(Result["data"], 0);
|
||||
|
||||
EndProcedure
|
||||
|
||||
#EndRegion
|
||||
|
||||
#EndRegion
|
||||
|
4
src/ru/OInt/core/Modules/OPI_PostgreSQL.os
vendored
4
src/ru/OInt/core/Modules/OPI_PostgreSQL.os
vendored
@ -146,8 +146,8 @@
|
||||
ЗакрыватьСоединение = Ложь;
|
||||
Коннектор = Соединение;
|
||||
Иначе
|
||||
ЗакрыватьСоединение = Истина;
|
||||
Коннектор = ОткрытьСоединение(Соединение);
|
||||
ЗакрыватьСоединение = Истина;
|
||||
Коннектор = ОткрытьСоединение(Соединение);
|
||||
КонецЕсли;
|
||||
|
||||
Если Не ЭтоКоннектор(Коннектор) Тогда
|
||||
|
42
src/ru/OInt/tests/Modules/internal/OPI_Тесты.os
vendored
42
src/ru/OInt/tests/Modules/internal/OPI_Тесты.os
vendored
@ -17700,28 +17700,28 @@
|
||||
// При использовании строки подключения инициализируется новое соединение,
|
||||
// которое будет закрыто после выполнения функции.
|
||||
// В случае выполнения нескольких операций желательно использовать одно соединение,
|
||||
// заранее созданное функцией ОткрытьСоединение()
|
||||
// заранее созданное функцией ОткрытьСоединение()
|
||||
СтрокаПодключения = OPI_PostgreSQL.СформироватьСтрокуПодключения(Адрес, База, Логин, Пароль);
|
||||
|
||||
|
||||
// Все записи без отборов
|
||||
|
||||
Таблица = "testtable";
|
||||
|
||||
Таблица = "testtable";
|
||||
Результат = OPI_PostgreSQL.ПолучитьЗаписи(Таблица, , , , , СтрокаПодключения);
|
||||
|
||||
Если ЗначениеЗаполнено(Результат["data"]) Тогда // SKIP
|
||||
|
||||
Если ЗначениеЗаполнено(Результат["data"]) Тогда // SKIP
|
||||
Результат["data"][0]["bytea_field"]["BYTEA"] // SKIP
|
||||
= Лев(Результат["data"][0]["bytea_field"]["BYTEA"], 10) + "..."; // SKIP
|
||||
КонецЕсли; // SKIP
|
||||
|
||||
OPI_ПолучениеДанныхТестов.ЗаписатьЛог(Результат, "ПолучитьЗаписи", "PostgreSQL"); // SKIP
|
||||
OPI_ПолучениеДанныхТестов.Проверка_РезультатИстина(Результат); // SKIP
|
||||
|
||||
// Отборы, выбранные поля, количество и сортировка
|
||||
|
||||
СтрокаПодключения = OPI_PostgreSQL.СформироватьСтрокуПодключения(Адрес, "test_data", Логин, Пароль);
|
||||
|
||||
Таблица = "test_data";
|
||||
|
||||
= Лев(Результат["data"][0]["bytea_field"]["BYTEA"], 10) + "..."; // SKIP
|
||||
КонецЕсли; // SKIP
|
||||
|
||||
OPI_ПолучениеДанныхТестов.ЗаписатьЛог(Результат, "ПолучитьЗаписи", "PostgreSQL"); // SKIP
|
||||
OPI_ПолучениеДанныхТестов.Проверка_РезультатИстина(Результат); // SKIP
|
||||
|
||||
// Отборы, выбранные поля, количество и сортировка
|
||||
|
||||
СтрокаПодключения = OPI_PostgreSQL.СформироватьСтрокуПодключения(Адрес, "test_data", Логин, Пароль);
|
||||
|
||||
Таблица = "test_data";
|
||||
|
||||
Поля = Новый Массив;
|
||||
Поля.Добавить("first_name");
|
||||
Поля.Добавить("last_name");
|
||||
@ -17856,13 +17856,13 @@
|
||||
|
||||
OPI_ПолучениеДанныхТестов.ЗаписатьЛог(Результат, "ОчиститьТаблицу", "PostgreSQL");
|
||||
OPI_ПолучениеДанныхТестов.Проверка_РезультатИстина(Результат);
|
||||
|
||||
|
||||
Результат = OPI_PostgreSQL.ПолучитьЗаписи(Таблица, , , , , СтрокаПодключения);
|
||||
|
||||
OPI_ПолучениеДанныхТестов.ЗаписатьЛог(Результат, "ОчиститьТаблицу (проверка)", "PostgreSQL");
|
||||
OPI_ПолучениеДанныхТестов.Проверка_РезультатИстина(Результат);
|
||||
OPI_ПолучениеДанныхТестов.Проверка_Массив(Результат["data"], 0);
|
||||
|
||||
OPI_ПолучениеДанныхТестов.Проверка_Массив(Результат["data"], 0);
|
||||
|
||||
КонецПроцедуры
|
||||
|
||||
#КонецОбласти
|
||||
|
60
src/ru/OInt/tools/Modules/OPI_ЗапросыSQL.os
vendored
60
src/ru/OInt/tools/Modules/OPI_ЗапросыSQL.os
vendored
@ -280,11 +280,11 @@
|
||||
Схема = Новый Структура;
|
||||
|
||||
КонецЕсли;
|
||||
|
||||
|
||||
Особенности = Модуль.ПолучитьОсобенности();
|
||||
|
||||
ЗаменитьСтандартныеОсобенности(Особенности);
|
||||
|
||||
|
||||
ЗаменитьСтандартныеОсобенности(Особенности);
|
||||
|
||||
Схема.Вставить("nump" , Особенности["НумерацияПараметров"]);
|
||||
Схема.Вставить("markp", Особенности["МаркерПараметров"]);
|
||||
|
||||
@ -520,7 +520,7 @@
|
||||
Фильтры = Схема["filter"];
|
||||
Нумерация = Схема["nump"];
|
||||
Маркер = Схема["markp"];
|
||||
|
||||
|
||||
ШаблонSQL = "UPDATE %1 SET %2 %3;";
|
||||
|
||||
ТекстФильтра = СформироватьТекстФильтра(Фильтры);
|
||||
@ -532,7 +532,7 @@
|
||||
Если Нумерация Тогда
|
||||
ТекущийМаркер = ТекущийМаркер + OPI_Инструменты.ЧислоВСтроку(Н + 1);
|
||||
КонецЕсли;
|
||||
|
||||
|
||||
Поля[Н] = Поля[Н] + " = " + ТекущийМаркер;
|
||||
|
||||
КонецЦикла;
|
||||
@ -1013,11 +1013,11 @@
|
||||
КонецПроцедуры
|
||||
|
||||
Процедура ДобавитьОтбор(Схема
|
||||
, Знач Поле
|
||||
, Знач Тип
|
||||
, Знач Значение
|
||||
, Знач Группировка
|
||||
, Знач КакЕсть)
|
||||
, Знач Поле
|
||||
, Знач Тип
|
||||
, Знач Значение
|
||||
, Знач Группировка
|
||||
, Знач КакЕсть)
|
||||
|
||||
OPI_ПреобразованиеТипов.ПолучитьСтроку(Поле);
|
||||
OPI_ПреобразованиеТипов.ПолучитьСтроку(Тип);
|
||||
@ -1026,7 +1026,7 @@
|
||||
|
||||
Нумерация = Схема["nump"];
|
||||
Маркер = Схема["markp"];
|
||||
|
||||
|
||||
ОсновнаяСтруктура = Новый Структура("field,type,union"
|
||||
, Поле
|
||||
, Тип
|
||||
@ -1040,13 +1040,13 @@
|
||||
|
||||
Схема["values"].Добавить(Значение);
|
||||
|
||||
ТекущийМаркер = Маркер;
|
||||
|
||||
Если Нумерация Тогда
|
||||
ПорядковыйНомер = Схема["values"].Количество();
|
||||
ТекущийМаркер = ТекущийМаркер + + OPI_Инструменты.ЧислоВСтроку(ПорядковыйНомер);
|
||||
КонецЕсли;
|
||||
|
||||
ТекущийМаркер = Маркер;
|
||||
|
||||
Если Нумерация Тогда
|
||||
ПорядковыйНомер = Схема["values"].Количество();
|
||||
ТекущийМаркер = ТекущийМаркер + + OPI_Инструменты.ЧислоВСтроку(ПорядковыйНомер);
|
||||
КонецЕсли;
|
||||
|
||||
ОсновнаяСтруктура.Вставить("value", ТекущийМаркер);
|
||||
|
||||
КонецЕсли;
|
||||
@ -1089,17 +1089,17 @@
|
||||
КонецПроцедуры
|
||||
|
||||
Процедура ЗаменитьСтандартныеОсобенности(Особенности)
|
||||
|
||||
СтандартныеОсобенности = Новый Соответствие;
|
||||
СтандартныеОсобенности.Вставить("НумерацияПараметров", Истина); // nump
|
||||
СтандартныеОсобенности.Вставить("МаркерПараметров" , "?"); // markp
|
||||
|
||||
Для Каждого Особенность Из Особенности Цикл
|
||||
СтандартныеОсобенности.Вставить(Особенность.Ключ, Особенность.Значение);
|
||||
КонецЦикла;
|
||||
|
||||
Особенности = СтандартныеОсобенности;
|
||||
|
||||
|
||||
СтандартныеОсобенности = Новый Соответствие;
|
||||
СтандартныеОсобенности.Вставить("НумерацияПараметров", Истина); // nump
|
||||
СтандартныеОсобенности.Вставить("МаркерПараметров" , "?"); // markp
|
||||
|
||||
Для Каждого Особенность Из Особенности Цикл
|
||||
СтандартныеОсобенности.Вставить(Особенность.Ключ, Особенность.Значение);
|
||||
КонецЦикла;
|
||||
|
||||
Особенности = СтандартныеОсобенности;
|
||||
|
||||
КонецПроцедуры
|
||||
|
||||
#КонецОбласти
|
||||
|
@ -2155,9 +2155,9 @@
|
||||
КонецФункции
|
||||
|
||||
Функция ПолучитьОбщийМодуль(Знач Имя)
|
||||
|
||||
|
||||
Модуль = Вычислить(Имя);
|
||||
|
||||
|
||||
Возврат Модуль;
|
||||
КонецФункции
|
||||
|
||||
|
@ -146,8 +146,8 @@
|
||||
ЗакрыватьСоединение = Ложь;
|
||||
Коннектор = Соединение;
|
||||
Иначе
|
||||
ЗакрыватьСоединение = Истина;
|
||||
Коннектор = ОткрытьСоединение(Соединение);
|
||||
ЗакрыватьСоединение = Истина;
|
||||
Коннектор = ОткрытьСоединение(Соединение);
|
||||
КонецЕсли;
|
||||
|
||||
Если Не ЭтоКоннектор(Коннектор) Тогда
|
||||
|
@ -280,11 +280,11 @@
|
||||
Схема = Новый Структура;
|
||||
|
||||
КонецЕсли;
|
||||
|
||||
|
||||
Особенности = Модуль.ПолучитьОсобенности();
|
||||
|
||||
ЗаменитьСтандартныеОсобенности(Особенности);
|
||||
|
||||
|
||||
ЗаменитьСтандартныеОсобенности(Особенности);
|
||||
|
||||
Схема.Вставить("nump" , Особенности["НумерацияПараметров"]);
|
||||
Схема.Вставить("markp", Особенности["МаркерПараметров"]);
|
||||
|
||||
@ -520,7 +520,7 @@
|
||||
Фильтры = Схема["filter"];
|
||||
Нумерация = Схема["nump"];
|
||||
Маркер = Схема["markp"];
|
||||
|
||||
|
||||
ШаблонSQL = "UPDATE %1 SET %2 %3;";
|
||||
|
||||
ТекстФильтра = СформироватьТекстФильтра(Фильтры);
|
||||
@ -532,7 +532,7 @@
|
||||
Если Нумерация Тогда
|
||||
ТекущийМаркер = ТекущийМаркер + OPI_Инструменты.ЧислоВСтроку(Н + 1);
|
||||
КонецЕсли;
|
||||
|
||||
|
||||
Поля[Н] = Поля[Н] + " = " + ТекущийМаркер;
|
||||
|
||||
КонецЦикла;
|
||||
@ -1013,11 +1013,11 @@
|
||||
КонецПроцедуры
|
||||
|
||||
Процедура ДобавитьОтбор(Схема
|
||||
, Знач Поле
|
||||
, Знач Тип
|
||||
, Знач Значение
|
||||
, Знач Группировка
|
||||
, Знач КакЕсть)
|
||||
, Знач Поле
|
||||
, Знач Тип
|
||||
, Знач Значение
|
||||
, Знач Группировка
|
||||
, Знач КакЕсть)
|
||||
|
||||
OPI_ПреобразованиеТипов.ПолучитьСтроку(Поле);
|
||||
OPI_ПреобразованиеТипов.ПолучитьСтроку(Тип);
|
||||
@ -1026,7 +1026,7 @@
|
||||
|
||||
Нумерация = Схема["nump"];
|
||||
Маркер = Схема["markp"];
|
||||
|
||||
|
||||
ОсновнаяСтруктура = Новый Структура("field,type,union"
|
||||
, Поле
|
||||
, Тип
|
||||
@ -1040,13 +1040,13 @@
|
||||
|
||||
Схема["values"].Добавить(Значение);
|
||||
|
||||
ТекущийМаркер = Маркер;
|
||||
|
||||
Если Нумерация Тогда
|
||||
ПорядковыйНомер = Схема["values"].Количество();
|
||||
ТекущийМаркер = ТекущийМаркер + + OPI_Инструменты.ЧислоВСтроку(ПорядковыйНомер);
|
||||
КонецЕсли;
|
||||
|
||||
ТекущийМаркер = Маркер;
|
||||
|
||||
Если Нумерация Тогда
|
||||
ПорядковыйНомер = Схема["values"].Количество();
|
||||
ТекущийМаркер = ТекущийМаркер + + OPI_Инструменты.ЧислоВСтроку(ПорядковыйНомер);
|
||||
КонецЕсли;
|
||||
|
||||
ОсновнаяСтруктура.Вставить("value", ТекущийМаркер);
|
||||
|
||||
КонецЕсли;
|
||||
@ -1089,17 +1089,17 @@
|
||||
КонецПроцедуры
|
||||
|
||||
Процедура ЗаменитьСтандартныеОсобенности(Особенности)
|
||||
|
||||
СтандартныеОсобенности = Новый Соответствие;
|
||||
СтандартныеОсобенности.Вставить("НумерацияПараметров", Истина); // nump
|
||||
СтандартныеОсобенности.Вставить("МаркерПараметров" , "?"); // markp
|
||||
|
||||
Для Каждого Особенность Из Особенности Цикл
|
||||
СтандартныеОсобенности.Вставить(Особенность.Ключ, Особенность.Значение);
|
||||
КонецЦикла;
|
||||
|
||||
Особенности = СтандартныеОсобенности;
|
||||
|
||||
|
||||
СтандартныеОсобенности = Новый Соответствие;
|
||||
СтандартныеОсобенности.Вставить("НумерацияПараметров", Истина); // nump
|
||||
СтандартныеОсобенности.Вставить("МаркерПараметров" , "?"); // markp
|
||||
|
||||
Для Каждого Особенность Из Особенности Цикл
|
||||
СтандартныеОсобенности.Вставить(Особенность.Ключ, Особенность.Значение);
|
||||
КонецЦикла;
|
||||
|
||||
Особенности = СтандартныеОсобенности;
|
||||
|
||||
КонецПроцедуры
|
||||
|
||||
#КонецОбласти
|
||||
|
@ -17700,28 +17700,28 @@
|
||||
// При использовании строки подключения инициализируется новое соединение,
|
||||
// которое будет закрыто после выполнения функции.
|
||||
// В случае выполнения нескольких операций желательно использовать одно соединение,
|
||||
// заранее созданное функцией ОткрытьСоединение()
|
||||
// заранее созданное функцией ОткрытьСоединение()
|
||||
СтрокаПодключения = OPI_PostgreSQL.СформироватьСтрокуПодключения(Адрес, База, Логин, Пароль);
|
||||
|
||||
|
||||
// Все записи без отборов
|
||||
|
||||
Таблица = "testtable";
|
||||
|
||||
Таблица = "testtable";
|
||||
Результат = OPI_PostgreSQL.ПолучитьЗаписи(Таблица, , , , , СтрокаПодключения);
|
||||
|
||||
Если ЗначениеЗаполнено(Результат["data"]) Тогда // SKIP
|
||||
|
||||
Если ЗначениеЗаполнено(Результат["data"]) Тогда // SKIP
|
||||
Результат["data"][0]["bytea_field"]["BYTEA"] // SKIP
|
||||
= Лев(Результат["data"][0]["bytea_field"]["BYTEA"], 10) + "..."; // SKIP
|
||||
КонецЕсли; // SKIP
|
||||
|
||||
OPI_ПолучениеДанныхТестов.ЗаписатьЛог(Результат, "ПолучитьЗаписи", "PostgreSQL"); // SKIP
|
||||
OPI_ПолучениеДанныхТестов.Проверка_РезультатИстина(Результат); // SKIP
|
||||
|
||||
// Отборы, выбранные поля, количество и сортировка
|
||||
|
||||
СтрокаПодключения = OPI_PostgreSQL.СформироватьСтрокуПодключения(Адрес, "test_data", Логин, Пароль);
|
||||
|
||||
Таблица = "test_data";
|
||||
|
||||
= Лев(Результат["data"][0]["bytea_field"]["BYTEA"], 10) + "..."; // SKIP
|
||||
КонецЕсли; // SKIP
|
||||
|
||||
OPI_ПолучениеДанныхТестов.ЗаписатьЛог(Результат, "ПолучитьЗаписи", "PostgreSQL"); // SKIP
|
||||
OPI_ПолучениеДанныхТестов.Проверка_РезультатИстина(Результат); // SKIP
|
||||
|
||||
// Отборы, выбранные поля, количество и сортировка
|
||||
|
||||
СтрокаПодключения = OPI_PostgreSQL.СформироватьСтрокуПодключения(Адрес, "test_data", Логин, Пароль);
|
||||
|
||||
Таблица = "test_data";
|
||||
|
||||
Поля = Новый Массив;
|
||||
Поля.Добавить("first_name");
|
||||
Поля.Добавить("last_name");
|
||||
@ -17856,13 +17856,13 @@
|
||||
|
||||
OPI_ПолучениеДанныхТестов.ЗаписатьЛог(Результат, "ОчиститьТаблицу", "PostgreSQL");
|
||||
OPI_ПолучениеДанныхТестов.Проверка_РезультатИстина(Результат);
|
||||
|
||||
|
||||
Результат = OPI_PostgreSQL.ПолучитьЗаписи(Таблица, , , , , СтрокаПодключения);
|
||||
|
||||
OPI_ПолучениеДанныхТестов.ЗаписатьЛог(Результат, "ОчиститьТаблицу (проверка)", "PostgreSQL");
|
||||
OPI_ПолучениеДанныхТестов.Проверка_РезультатИстина(Результат);
|
||||
OPI_ПолучениеДанныхТестов.Проверка_Массив(Результат["data"], 0);
|
||||
|
||||
OPI_ПолучениеДанныхТестов.Проверка_Массив(Результат["data"], 0);
|
||||
|
||||
КонецПроцедуры
|
||||
|
||||
#КонецОбласти
|
||||
|
Loading…
x
Reference in New Issue
Block a user