1
0
mirror of https://github.com/Bayselonarrend/OpenIntegrations.git synced 2025-03-17 21:08:03 +02:00

Main build (Jenkins)

This commit is contained in:
Vitaly the Alpaca (bot) 2025-02-13 21:31:59 +03:00
parent ee5a445d60
commit 24abb0fcf8
97 changed files with 7619 additions and 6479 deletions

View File

@ -404,6 +404,10 @@ jobs:
- name: Основные методы
if: ${{ cancelled() }} == false
run: oscript /home/runner/.local/share/ovm/current/lib/1testrunner/src/main.os -run ./src/ru/OInt/tests/Modules/internal/OPI_ТестыCLI.os "CLI_Postgres_ОсновныеМетоды"
- name: ORM
if: ${{ cancelled() }} == false
run: oscript /home/runner/.local/share/ovm/current/lib/1testrunner/src/main.os -run ./src/ru/OInt/tests/Modules/internal/OPI_ТестыCLI.os "CLI_Postgres_ORM"

4
ci/cli_ostestru vendored
View File

@ -243,6 +243,10 @@ pipeline {
steps {
catchError(buildResult: 'FAILURE', stageResult: 'FAILURE') {
powershell encoding: 'UTF-8', script:'1testrunner -run "./src/ru/OInt/tests/Modules/internal/OPI_ТестыCLI.os" "CLI_Postgres_ОсновныеМетоды"'
}
catchError(buildResult: 'FAILURE', stageResult: 'FAILURE') {
powershell encoding: 'UTF-8', script:'1testrunner -run "./src/ru/OInt/tests/Modules/internal/OPI_ТестыCLI.os" "CLI_Postgres_ORM"'
}

4
ci/ostestru vendored
View File

@ -243,6 +243,10 @@ pipeline {
steps {
catchError(buildResult: 'FAILURE', stageResult: 'FAILURE') {
powershell encoding: 'UTF-8', script:'1testrunner -run "./src/ru/OInt/tests/Modules/internal/OPI_Тесты.os" "Postgres_ОсновныеМетоды"'
}
catchError(buildResult: 'FAILURE', stageResult: 'FAILURE') {
powershell encoding: 'UTF-8', script:'1testrunner -run "./src/ru/OInt/tests/Modules/internal/OPI_Тесты.os" "Postgres_ORM"'
}

View File

@ -0,0 +1,4 @@
{
"Address": "93.125.42.204",
"Password": "12we..."
}

View File

@ -0,0 +1,4 @@
{
"Address": "93.125.42.204",
"Password": "12we..."
}

View File

@ -0,0 +1,4 @@
{
"Address": "93.125.42.204",
"Password": "12we..."
}

View File

@ -0,0 +1,5 @@
{
"Image": "https://api.athenaeum.digital/test_data/picture.jpg",
"Address": "93.125.42.204",
"Password": "12we..."
}

View File

@ -0,0 +1,4 @@
{
"Address": "93.125.42.204",
"Password": "12we..."
}

View File

@ -0,0 +1,4 @@
{
"Address": "93.125.42.204",
"Password": "12we..."
}

View File

@ -0,0 +1,8 @@
 Address = "93.125.42.204";
Login = "bayselonarrend";
Password = "12we...";
Base = "postgres";
ConnectionString = OPI_PostgreSQL.GenerateConnectionString(Address, Base, Login, Password);
Connection = OPI_PostgreSQL.CreateConnection(ConnectionString);
Result = OPI_PostgreSQL.CloseConnection(Connection);

View File

@ -0,0 +1,7 @@
 Address = "93.125.42.204";
Login = "bayselonarrend";
Password = "12we...";
Base = "postgres";
ConnectionString = OPI_PostgreSQL.GenerateConnectionString(Address, Base, Login, Password);
Result = OPI_PostgreSQL.CreateConnection(ConnectionString);

View File

@ -3,6 +3,10 @@
Password = "12we...";
Base = "postgres";
// 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);
Base = "testbase1";

View File

@ -3,6 +3,10 @@
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";

View 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.DeleteTable(Table, ConnectionString);

View File

@ -3,6 +3,10 @@
Password = "12we...";
Base = "postgres";
// 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);
Base = "testbase1";

View File

@ -0,0 +1,61 @@
 Image = "https://api.athenaeum.digital/test_data/picture.jpg";
OPI_TypeConversion.GetBinaryData(Image); // Image - Type: BinaryData
Address = "93.125.42.204";
Login = "bayselonarrend";
Password = "12we...";
Base = "test_data";
ConnectionString = OPI_PostgreSQL.GenerateConnectionString(Address, Base, Login, Password);
Connection = OPI_PostgreSQL.CreateConnection(ConnectionString);
// CREATE
QueryText = "
|CREATE TABLE test_table (
|id SERIAL PRIMARY KEY,
|name NAME,
|age INT,
|salary REAL,
|is_active BOOL,
|created_at DATE,
|data BYTEA
|);";
Result = OPI_PostgreSQL.ExecuteSQLQuery(QueryText, , , Connection);
// INSERT with parameters
QueryText = "
|INSERT INTO test_table (name, age, salary, is_active, created_at, data)
|VALUES ($1, $2, $3, $4, $5, $6);";
ParameterArray = New Array;
ParameterArray.Add(New Structure("NAME" , "Vitaly"));
ParameterArray.Add(New Structure("INT" , 25));
ParameterArray.Add(New Structure("REAL" , 1000.12));
ParameterArray.Add(New Structure("BOOL" , True));
ParameterArray.Add(New Structure("DATE" , OPI_Tools.GetCurrentDate()));
ParameterArray.Add(New Structure("BYTEA", Image));
Result = OPI_PostgreSQL.ExecuteSQLQuery(QueryText, ParameterArray, , Connection);
// SELECT (The result of this query is shown in the Result block)
QueryText = "SELECT id, name, age, salary, is_active, created_at, data FROM test_table;";
Result = OPI_PostgreSQL.ExecuteSQLQuery(QueryText, , , Connection);
// DO + Transaction
QueryText = "DO $$
|BEGIN
| CREATE TABLE users (
| id SMALLSERIAL,
| name TEXT NOT NULL,
| age INT NOT NULL
| );
| INSERT INTO users (name, age) VALUES ('Alice', 30);
| INSERT INTO users (name, age) VALUES ('Bob', 25);
| INSERT INTO users (name, age) VALUES ('Charlie', 35);
| COMMIT;

View File

@ -0,0 +1,6 @@
 Address = "93.125.42.204";
Login = "bayselonarrend";
Password = "12we...";
Base = "postgres";
Result = OPI_PostgreSQL.GenerateConnectionString(Address, Base, Login, Password);

View File

@ -3,6 +3,10 @@
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";

View File

@ -0,0 +1,9 @@
 Address = "93.125.42.204";
Login = "bayselonarrend";
Password = "12we...";
Base = "postgres";
ConnectionString = OPI_PostgreSQL.GenerateConnectionString(Address, Base, Login, Password);
Connection = OPI_PostgreSQL.CreateConnection(ConnectionString);
Result = OPI_PostgreSQL.IsConnector(Connection);

View File

@ -4,7 +4,7 @@
PictureFile = GetTempFileName("png");
Image.Write(PictureFile); // PictureFile - File to disk
Base = "C:\Users\Administrator\AppData\Local\Temp\v8_5571_2fd.sqlite";
Base = "C:\Users\Administrator\AppData\Local\Temp\v8_1A0B_60.sqlite";
Table = "test";
DataArray = New Array;

View File

@ -1,4 +1,4 @@
 Base = "C:\Users\Administrator\AppData\Local\Temp\v8_5571_2fd.sqlite";
 Base = "C:\Users\Administrator\AppData\Local\Temp\v8_1A0B_60.sqlite";
Table = "test";
Result = OPI_SQLite.ClearTable(Table, Base);

View File

@ -1,4 +1,4 @@
 Base = "C:\Users\Administrator\AppData\Local\Temp\v8_5571_2fd.sqlite";
 Base = "C:\Users\Administrator\AppData\Local\Temp\v8_1A0B_60.sqlite";
Table = "test";
ColoumnsStruct = New Structure;

View File

@ -1,4 +1,4 @@
 Base = "C:\Users\Administrator\AppData\Local\Temp\v8_5571_2fd.sqlite";
 Base = "C:\Users\Administrator\AppData\Local\Temp\v8_1A0B_60.sqlite";
Table = "test";
Filters = New Array;

View File

@ -1,4 +1,4 @@
 Base = "C:\Users\Administrator\AppData\Local\Temp\v8_5571_2fd.sqlite";
 Base = "C:\Users\Administrator\AppData\Local\Temp\v8_1A0B_60.sqlite";
Table = "test";
Result = OPI_SQLite.DeleteTable(Table, Base);

View File

@ -1,4 +1,4 @@
 Base = "C:\Users\Administrator\AppData\Local\Temp\v8_5571_2fd.sqlite";
 Base = "C:\Users\Administrator\AppData\Local\Temp\v8_1A0B_60.sqlite";
Table = "test";
Fields = New Array;

View File

@ -1,4 +1,4 @@
 Base = "C:\Users\Administrator\AppData\Local\Temp\v8_5571_2fd.sqlite";
 Base = "C:\Users\Administrator\AppData\Local\Temp\v8_1A0B_60.sqlite";
Table = "test";
Result = OPI_SQLite.GetTableInformation(Table, Base);

View File

@ -1,4 +1,4 @@
 Base = "C:\Users\Administrator\AppData\Local\Temp\v8_5571_2fd.sqlite";
 Base = "C:\Users\Administrator\AppData\Local\Temp\v8_1A0B_60.sqlite";
Table = "test";
FieldsStructure = New Structure;

View File

@ -30,7 +30,14 @@ import TabItem from '@theme/TabItem';
```bsl title="1C:Enterprise/OneScript code example"
Address = "93.125.42.204";
Login = "bayselonarrend";
Password = "12we...";
Base = "postgres";
ConnectionString = OPI_PostgreSQL.GenerateConnectionString(Address, Base, Login, Password);
Connection = OPI_PostgreSQL.CreateConnection(ConnectionString);
Result = OPI_PostgreSQL.CloseConnection(Connection);
```

View File

@ -30,7 +30,13 @@ import TabItem from '@theme/TabItem';
```bsl title="1C:Enterprise/OneScript code example"
Address = "93.125.42.204";
Login = "bayselonarrend";
Password = "12we...";
Base = "postgres";
ConnectionString = OPI_PostgreSQL.GenerateConnectionString(Address, Base, Login, Password);
Result = OPI_PostgreSQL.CreateConnection(ConnectionString);
```

View File

@ -34,7 +34,67 @@ Without specifying the `ForcifyResult` flag, result data is returned only for qu
```bsl title="1C:Enterprise/OneScript code example"
Image = "https://api.athenaeum.digital/test_data/picture.jpg";
OPI_TypeConversion.GetBinaryData(Image); // Image - Type: BinaryData
Address = "93.125.42.204";
Login = "bayselonarrend";
Password = "12we...";
Base = "test_data";
ConnectionString = OPI_PostgreSQL.GenerateConnectionString(Address, Base, Login, Password);
Connection = OPI_PostgreSQL.CreateConnection(ConnectionString);
// CREATE
QueryText = "
|CREATE TABLE test_table (
|id SERIAL PRIMARY KEY,
|name NAME,
|age INT,
|salary REAL,
|is_active BOOL,
|created_at DATE,
|data BYTEA
|);";
Result = OPI_PostgreSQL.ExecuteSQLQuery(QueryText, , , Connection);
// INSERT with parameters
QueryText = "
|INSERT INTO test_table (name, age, salary, is_active, created_at, data)
|VALUES ($1, $2, $3, $4, $5, $6);";
ParameterArray = New Array;
ParameterArray.Add(New Structure("NAME" , "Vitaly"));
ParameterArray.Add(New Structure("INT" , 25));
ParameterArray.Add(New Structure("REAL" , 1000.12));
ParameterArray.Add(New Structure("BOOL" , True));
ParameterArray.Add(New Structure("DATE" , OPI_Tools.GetCurrentDate()));
ParameterArray.Add(New Structure("BYTEA", Image));
Result = OPI_PostgreSQL.ExecuteSQLQuery(QueryText, ParameterArray, , Connection);
// SELECT (The result of this query is shown in the Result block)
QueryText = "SELECT id, name, age, salary, is_active, created_at, data FROM test_table;";
Result = OPI_PostgreSQL.ExecuteSQLQuery(QueryText, , , Connection);
// DO + Transaction
QueryText = "DO $$
|BEGIN
| CREATE TABLE users (
| id SMALLSERIAL,
| name TEXT NOT NULL,
| age INT NOT NULL
| );
| INSERT INTO users (name, age) VALUES ('Alice', 30);
| INSERT INTO users (name, age) VALUES ('Bob', 25);
| INSERT INTO users (name, age) VALUES ('Charlie', 35);
| COMMIT;
```

View File

@ -29,7 +29,12 @@ import TabItem from '@theme/TabItem';
```bsl title="1C:Enterprise/OneScript code example"
Address = "93.125.42.204";
Login = "bayselonarrend";
Password = "12we...";
Base = "postgres";
Result = OPI_PostgreSQL.GenerateConnectionString(Address, Base, Login, Password);
```

View File

@ -30,7 +30,15 @@ import TabItem from '@theme/TabItem';
```bsl title="1C:Enterprise/OneScript code example"
Address = "93.125.42.204";
Login = "bayselonarrend";
Password = "12we...";
Base = "postgres";
ConnectionString = OPI_PostgreSQL.GenerateConnectionString(Address, Base, Login, Password);
Connection = OPI_PostgreSQL.CreateConnection(ConnectionString);
Result = OPI_PostgreSQL.IsConnector(Connection);
```

View File

@ -31,6 +31,10 @@ import TabItem from '@theme/TabItem';
Password = "12we...";
Base = "postgres";
// 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);
Base = "testbase1";

View File

@ -32,6 +32,10 @@ import TabItem from '@theme/TabItem';
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";

View File

@ -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.DeleteTable(Table, ConnectionString);
```

View File

@ -31,6 +31,10 @@ import TabItem from '@theme/TabItem';
Password = "12we...";
Base = "postgres";
// 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);
Base = "testbase1";

View File

@ -31,6 +31,10 @@ import TabItem from '@theme/TabItem';
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";

View File

@ -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_5571_2fd.sqlite";
Base = "C:\Users\Administrator\AppData\Local\Temp\v8_1A0B_60.sqlite";
Table = "test";
DataArray = New Array;

View File

@ -26,7 +26,7 @@ import TabItem from '@theme/TabItem';
```bsl title="1C:Enterprise/OneScript code example"
Base = "C:\Users\Administrator\AppData\Local\Temp\v8_5571_2fd.sqlite";
Base = "C:\Users\Administrator\AppData\Local\Temp\v8_1A0B_60.sqlite";
Table = "test";
Result = OPI_SQLite.ClearTable(Table, Base);

View File

@ -27,7 +27,7 @@ import TabItem from '@theme/TabItem';
```bsl title="1C:Enterprise/OneScript code example"
Base = "C:\Users\Administrator\AppData\Local\Temp\v8_5571_2fd.sqlite";
Base = "C:\Users\Administrator\AppData\Local\Temp\v8_1A0B_60.sqlite";
Table = "test";
ColoumnsStruct = New Structure;

View File

@ -27,7 +27,7 @@ import TabItem from '@theme/TabItem';
```bsl title="1C:Enterprise/OneScript code example"
Base = "C:\Users\Administrator\AppData\Local\Temp\v8_5571_2fd.sqlite";
Base = "C:\Users\Administrator\AppData\Local\Temp\v8_1A0B_60.sqlite";
Table = "test";
Filters = New Array;

View File

@ -26,7 +26,7 @@ import TabItem from '@theme/TabItem';
```bsl title="1C:Enterprise/OneScript code example"
Base = "C:\Users\Administrator\AppData\Local\Temp\v8_5571_2fd.sqlite";
Base = "C:\Users\Administrator\AppData\Local\Temp\v8_1A0B_60.sqlite";
Table = "test";
Result = OPI_SQLite.DeleteTable(Table, Base);

View File

@ -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_5571_2fd.sqlite";
Base = "C:\Users\Administrator\AppData\Local\Temp\v8_1A0B_60.sqlite";
Table = "test";
Fields = New Array;

View File

@ -26,7 +26,7 @@ import TabItem from '@theme/TabItem';
```bsl title="1C:Enterprise/OneScript code example"
Base = "C:\Users\Administrator\AppData\Local\Temp\v8_5571_2fd.sqlite";
Base = "C:\Users\Administrator\AppData\Local\Temp\v8_1A0B_60.sqlite";
Table = "test";
Result = OPI_SQLite.GetTableInformation(Table, Base);

View File

@ -28,7 +28,7 @@ import TabItem from '@theme/TabItem';
```bsl title="1C:Enterprise/OneScript code example"
Base = "C:\Users\Administrator\AppData\Local\Temp\v8_5571_2fd.sqlite";
Base = "C:\Users\Administrator\AppData\Local\Temp\v8_1A0B_60.sqlite";
Table = "test";
FieldsStructure = New Structure;

View File

@ -0,0 +1,5 @@
{
"Картинка": "https://api.athenaeum.digital/test_data/picture.jpg",
"Адрес": "93.125.42.204",
"Пароль": "12we..."
}

View File

@ -0,0 +1,4 @@
{
"Адрес": "93.125.42.204",
"Пароль": "12we..."
}

View File

@ -0,0 +1,4 @@
{
"Адрес": "93.125.42.204",
"Пароль": "12we..."
}

View File

@ -0,0 +1,4 @@
{
"Адрес": "93.125.42.204",
"Пароль": "12we..."
}

View File

@ -0,0 +1,4 @@
{
"Адрес": "93.125.42.204",
"Пароль": "12we..."
}

View File

@ -0,0 +1,4 @@
{
"Адрес": "93.125.42.204",
"Пароль": "12we..."
}

View File

@ -0,0 +1,61 @@
 Картинка = "https://api.athenaeum.digital/test_data/picture.jpg";
OPI_ПреобразованиеТипов.ПолучитьДвоичныеДанные(Картинка); // Картинка - Тип: ДвоичныеДанные
Адрес = "93.125.42.204";
Логин = "bayselonarrend";
Пароль = "12we...";
База = "test_data";
СтрокаПодключения = OPI_PostgreSQL.СформироватьСтрокуПодключения(Адрес, База, Логин, Пароль);
Соединение = OPI_PostgreSQL.ОткрытьСоединение(СтрокаПодключения);
// CREATE
ТекстЗапроса = "
|CREATE TABLE test_table (
|id SERIAL PRIMARY KEY,
|name NAME,
|age INT,
|salary REAL,
|is_active BOOL,
|created_at DATE,
|data BYTEA
|);";
Результат = OPI_PostgreSQL.ВыполнитьЗапросSQL(ТекстЗапроса, , , Соединение);
// INSERT с параметрами
ТекстЗапроса = "
|INSERT INTO test_table (name, age, salary, is_active, created_at, data)
|VALUES ($1, $2, $3, $4, $5, $6);";
МассивПараметров = Новый Массив;
МассивПараметров.Добавить(Новый Структура("NAME" , "Vitaly"));
МассивПараметров.Добавить(Новый Структура("INT" , 25));
МассивПараметров.Добавить(Новый Структура("REAL" , 1000.12));
МассивПараметров.Добавить(Новый Структура("BOOL" , Истина));
МассивПараметров.Добавить(Новый Структура("DATE" , OPI_Инструменты.ПолучитьТекущуюДату()));
МассивПараметров.Добавить(Новый Структура("BYTEA", Картинка));
Результат = OPI_PostgreSQL.ВыполнитьЗапросSQL(ТекстЗапроса, МассивПараметров, , Соединение);
// SELECT (Результат этого запроса приведен в следующем блоке)
ТекстЗапроса = "SELECT id, name, age, salary, is_active, created_at, data FROM test_table;";
Результат = OPI_PostgreSQL.ВыполнитьЗапросSQL(ТекстЗапроса, , , Соединение);
// DO + Транзакция
ТекстЗапроса = "DO $$
|BEGIN
| CREATE TABLE users (
| id SMALLSERIAL,
| name TEXT NOT NULL,
| age INT NOT NULL
| );
| INSERT INTO users (name, age) VALUES ('Alice', 30);
| INSERT INTO users (name, age) VALUES ('Bob', 25);
| INSERT INTO users (name, age) VALUES ('Charlie', 35);
| COMMIT;

View File

@ -0,0 +1,8 @@
 Адрес = "93.125.42.204";
Логин = "bayselonarrend";
Пароль = "12we...";
База = "postgres";
СтрокаПодключения = OPI_PostgreSQL.СформироватьСтрокуПодключения(Адрес, База, Логин, Пароль);
Соединение = OPI_PostgreSQL.ОткрытьСоединение(СтрокаПодключения);
Результат = OPI_PostgreSQL.ЗакрытьСоединение(Соединение);

View File

@ -0,0 +1,7 @@
 Адрес = "93.125.42.204";
Логин = "bayselonarrend";
Пароль = "12we...";
База = "postgres";
СтрокаПодключения = OPI_PostgreSQL.СформироватьСтрокуПодключения(Адрес, База, Логин, Пароль);
Результат = OPI_PostgreSQL.ОткрытьСоединение(СтрокаПодключения);

View File

@ -3,6 +3,10 @@
Пароль = "12we...";
База = "testbase1";
// При использовании строки подключения инициализируется новое соединение,
// которое будет закрыто после выполнения функции.
// В случае выполнения нескольких операций желательно использовать одно соединение,
// заранее созданное функцией ОткрытьСоединение()
СтрокаПодключения = OPI_PostgreSQL.СформироватьСтрокуПодключения(Адрес, База, Логин, Пароль);
Таблица = "testtable";

View File

@ -3,6 +3,10 @@
Пароль = "12we...";
База = "postgres";
// При использовании строки подключения инициализируется новое соединение,
// которое будет закрыто после выполнения функции.
// В случае выполнения нескольких операций желательно использовать одно соединение,
// заранее созданное функцией ОткрытьСоединение()
СтрокаПодключения = OPI_PostgreSQL.СформироватьСтрокуПодключения(Адрес, База, Логин, Пароль);
База = "testbase1";

View File

@ -3,6 +3,10 @@
Пароль = "12we...";
База = "testbase1";
// При использовании строки подключения инициализируется новое соединение,
// которое будет закрыто после выполнения функции.
// В случае выполнения нескольких операций желательно использовать одно соединение,
// заранее созданное функцией ОткрытьСоединение()
СтрокаПодключения = OPI_PostgreSQL.СформироватьСтрокуПодключения(Адрес, База, Логин, Пароль);
Таблица = "testtable";

View File

@ -0,0 +1,6 @@
 Адрес = "93.125.42.204";
Логин = "bayselonarrend";
Пароль = "12we...";
База = "postgres";
Результат = OPI_PostgreSQL.СформироватьСтрокуПодключения(Адрес, База, Логин, Пароль);

View File

@ -3,6 +3,10 @@
Пароль = "12we...";
База = "postgres";
// При использовании строки подключения инициализируется новое соединение,
// которое будет закрыто после выполнения функции.
// В случае выполнения нескольких операций желательно использовать одно соединение,
// заранее созданное функцией ОткрытьСоединение()
СтрокаПодключения = OPI_PostgreSQL.СформироватьСтрокуПодключения(Адрес, База, Логин, Пароль);
База = "testbase1";

View File

@ -0,0 +1,14 @@
 Адрес = "93.125.42.204";
Логин = "bayselonarrend";
Пароль = "12we...";
База = "testbase1";
// При использовании строки подключения инициализируется новое соединение,
// которое будет закрыто после выполнения функции.
// В случае выполнения нескольких операций желательно использовать одно соединение,
// заранее созданное функцией ОткрытьСоединение()
СтрокаПодключения = OPI_PostgreSQL.СформироватьСтрокуПодключения(Адрес, База, Логин, Пароль);
Таблица = "testtable";
Результат = OPI_PostgreSQL.УдалитьТаблицу(Таблица, СтрокаПодключения);

View File

@ -0,0 +1,9 @@
 Адрес = "93.125.42.204";
Логин = "bayselonarrend";
Пароль = "12we...";
База = "postgres";
СтрокаПодключения = OPI_PostgreSQL.СформироватьСтрокуПодключения(Адрес, База, Логин, Пароль);
Соединение = OPI_PostgreSQL.ОткрытьСоединение(СтрокаПодключения);
Результат = OPI_PostgreSQL.ЭтоКоннектор(Соединение);

View File

@ -4,7 +4,7 @@
ФайлКартинки = ПолучитьИмяВременногоФайла("png");
Картинка.Записать(ФайлКартинки); // ФайлКартинки - Файл на диске
База = "C:\Users\Administrator\AppData\Local\Temp\v8_5571_2fd.sqlite";
База = "C:\Users\Administrator\AppData\Local\Temp\v8_1A0B_60.sqlite";
Таблица = "test";
МассивДанных = Новый Массив;

View File

@ -1,4 +1,4 @@
 База = "C:\Users\Administrator\AppData\Local\Temp\v8_5571_2fd.sqlite";
 База = "C:\Users\Administrator\AppData\Local\Temp\v8_1A0B_60.sqlite";
Таблица = "test";
СтруктураПолей = Новый Структура;

View File

@ -1,4 +1,4 @@
 База = "C:\Users\Administrator\AppData\Local\Temp\v8_5571_2fd.sqlite";
 База = "C:\Users\Administrator\AppData\Local\Temp\v8_1A0B_60.sqlite";
Таблица = "test";
Результат = OPI_SQLite.ОчиститьТаблицу(Таблица, База);

View File

@ -1,4 +1,4 @@
 База = "C:\Users\Administrator\AppData\Local\Temp\v8_5571_2fd.sqlite";
 База = "C:\Users\Administrator\AppData\Local\Temp\v8_1A0B_60.sqlite";
Таблица = "test";
Поля = Новый Массив;

View File

@ -1,4 +1,4 @@
 База = "C:\Users\Administrator\AppData\Local\Temp\v8_5571_2fd.sqlite";
 База = "C:\Users\Administrator\AppData\Local\Temp\v8_1A0B_60.sqlite";
Таблица = "test";
Результат = OPI_SQLite.ПолучитьИнформациюОТаблице(Таблица, База);

View File

@ -1,4 +1,4 @@
 База = "C:\Users\Administrator\AppData\Local\Temp\v8_5571_2fd.sqlite";
 База = "C:\Users\Administrator\AppData\Local\Temp\v8_1A0B_60.sqlite";
Таблица = "test";
СтруктураКолонок = Новый Структура;

View File

@ -1,4 +1,4 @@
 База = "C:\Users\Administrator\AppData\Local\Temp\v8_5571_2fd.sqlite";
 База = "C:\Users\Administrator\AppData\Local\Temp\v8_1A0B_60.sqlite";
Таблица = "test";
Фильтры = Новый Массив;

View File

@ -1,4 +1,4 @@
 База = "C:\Users\Administrator\AppData\Local\Temp\v8_5571_2fd.sqlite";
 База = "C:\Users\Administrator\AppData\Local\Temp\v8_1A0B_60.sqlite";
Таблица = "test";
Результат = OPI_SQLite.УдалитьТаблицу(Таблица, База);

View File

@ -30,7 +30,14 @@ import TabItem from '@theme/TabItem';
```bsl title="Пример использования для 1С:Предприятие/OneScript"
Адрес = "93.125.42.204";
Логин = "bayselonarrend";
Пароль = "12we...";
База = "postgres";
СтрокаПодключения = OPI_PostgreSQL.СформироватьСтрокуПодключения(Адрес, База, Логин, Пароль);
Соединение = OPI_PostgreSQL.ОткрытьСоединение(СтрокаПодключения);
Результат = OPI_PostgreSQL.ЗакрытьСоединение(Соединение);
```

View File

@ -30,7 +30,13 @@ import TabItem from '@theme/TabItem';
```bsl title="Пример использования для 1С:Предприятие/OneScript"
Адрес = "93.125.42.204";
Логин = "bayselonarrend";
Пароль = "12we...";
База = "postgres";
СтрокаПодключения = OPI_PostgreSQL.СформироватьСтрокуПодключения(Адрес, База, Логин, Пароль);
Результат = OPI_PostgreSQL.ОткрытьСоединение(СтрокаПодключения);
```

View File

@ -34,7 +34,67 @@ import TabItem from '@theme/TabItem';
```bsl title="Пример использования для 1С:Предприятие/OneScript"
Картинка = "https://api.athenaeum.digital/test_data/picture.jpg";
OPI_ПреобразованиеТипов.ПолучитьДвоичныеДанные(Картинка); // Картинка - Тип: ДвоичныеДанные
Адрес = "93.125.42.204";
Логин = "bayselonarrend";
Пароль = "12we...";
База = "test_data";
СтрокаПодключения = OPI_PostgreSQL.СформироватьСтрокуПодключения(Адрес, База, Логин, Пароль);
Соединение = OPI_PostgreSQL.ОткрытьСоединение(СтрокаПодключения);
// CREATE
ТекстЗапроса = "
|CREATE TABLE test_table (
|id SERIAL PRIMARY KEY,
|name NAME,
|age INT,
|salary REAL,
|is_active BOOL,
|created_at DATE,
|data BYTEA
|);";
Результат = OPI_PostgreSQL.ВыполнитьЗапросSQL(ТекстЗапроса, , , Соединение);
// INSERT с параметрами
ТекстЗапроса = "
|INSERT INTO test_table (name, age, salary, is_active, created_at, data)
|VALUES ($1, $2, $3, $4, $5, $6);";
МассивПараметров = Новый Массив;
МассивПараметров.Добавить(Новый Структура("NAME" , "Vitaly"));
МассивПараметров.Добавить(Новый Структура("INT" , 25));
МассивПараметров.Добавить(Новый Структура("REAL" , 1000.12));
МассивПараметров.Добавить(Новый Структура("BOOL" , Истина));
МассивПараметров.Добавить(Новый Структура("DATE" , OPI_Инструменты.ПолучитьТекущуюДату()));
МассивПараметров.Добавить(Новый Структура("BYTEA", Картинка));
Результат = OPI_PostgreSQL.ВыполнитьЗапросSQL(ТекстЗапроса, МассивПараметров, , Соединение);
// SELECT (Результат этого запроса приведен в следующем блоке)
ТекстЗапроса = "SELECT id, name, age, salary, is_active, created_at, data FROM test_table;";
Результат = OPI_PostgreSQL.ВыполнитьЗапросSQL(ТекстЗапроса, , , Соединение);
// DO + Транзакция
ТекстЗапроса = "DO $$
|BEGIN
| CREATE TABLE users (
| id SMALLSERIAL,
| name TEXT NOT NULL,
| age INT NOT NULL
| );
| INSERT INTO users (name, age) VALUES ('Alice', 30);
| INSERT INTO users (name, age) VALUES ('Bob', 25);
| INSERT INTO users (name, age) VALUES ('Charlie', 35);
| COMMIT;
```

View File

@ -29,7 +29,12 @@ import TabItem from '@theme/TabItem';
```bsl title="Пример использования для 1С:Предприятие/OneScript"
Адрес = "93.125.42.204";
Логин = "bayselonarrend";
Пароль = "12we...";
База = "postgres";
Результат = OPI_PostgreSQL.СформироватьСтрокуПодключения(Адрес, База, Логин, Пароль);
```

View File

@ -30,7 +30,15 @@ import TabItem from '@theme/TabItem';
```bsl title="Пример использования для 1С:Предприятие/OneScript"
Адрес = "93.125.42.204";
Логин = "bayselonarrend";
Пароль = "12we...";
База = "postgres";
СтрокаПодключения = OPI_PostgreSQL.СформироватьСтрокуПодключения(Адрес, База, Логин, Пароль);
Соединение = OPI_PostgreSQL.ОткрытьСоединение(СтрокаПодключения);
Результат = OPI_PostgreSQL.ЭтоКоннектор(Соединение);
```

View File

@ -31,6 +31,10 @@ import TabItem from '@theme/TabItem';
Пароль = "12we...";
База = "postgres";
// При использовании строки подключения инициализируется новое соединение,
// которое будет закрыто после выполнения функции.
// В случае выполнения нескольких операций желательно использовать одно соединение,
// заранее созданное функцией ОткрытьСоединение()
СтрокаПодключения = OPI_PostgreSQL.СформироватьСтрокуПодключения(Адрес, База, Логин, Пароль);
База = "testbase1";

View File

@ -32,6 +32,10 @@ import TabItem from '@theme/TabItem';
Пароль = "12we...";
База = "testbase1";
// При использовании строки подключения инициализируется новое соединение,
// которое будет закрыто после выполнения функции.
// В случае выполнения нескольких операций желательно использовать одно соединение,
// заранее созданное функцией ОткрытьСоединение()
СтрокаПодключения = OPI_PostgreSQL.СформироватьСтрокуПодключения(Адрес, База, Логин, Пароль);
Таблица = "testtable";

View File

@ -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.УдалитьТаблицу(Таблица, СтрокаПодключения);
```

View File

@ -31,6 +31,10 @@ import TabItem from '@theme/TabItem';
Пароль = "12we...";
База = "postgres";
// При использовании строки подключения инициализируется новое соединение,
// которое будет закрыто после выполнения функции.
// В случае выполнения нескольких операций желательно использовать одно соединение,
// заранее созданное функцией ОткрытьСоединение()
СтрокаПодключения = OPI_PostgreSQL.СформироватьСтрокуПодключения(Адрес, База, Логин, Пароль);
База = "testbase1";

View File

@ -31,6 +31,10 @@ import TabItem from '@theme/TabItem';
Пароль = "12we...";
База = "testbase1";
// При использовании строки подключения инициализируется новое соединение,
// которое будет закрыто после выполнения функции.
// В случае выполнения нескольких операций желательно использовать одно соединение,
// заранее созданное функцией ОткрытьСоединение()
СтрокаПодключения = OPI_PostgreSQL.СформироватьСтрокуПодключения(Адрес, База, Логин, Пароль);
Таблица = "testtable";

View File

@ -38,7 +38,7 @@ import TabItem from '@theme/TabItem';
ФайлКартинки = ПолучитьИмяВременногоФайла("png");
Картинка.Записать(ФайлКартинки); // ФайлКартинки - Файл на диске
База = "C:\Users\Administrator\AppData\Local\Temp\v8_5571_2fd.sqlite";
База = "C:\Users\Administrator\AppData\Local\Temp\v8_1A0B_60.sqlite";
Таблица = "test";
МассивДанных = Новый Массив;

View File

@ -26,7 +26,7 @@ import TabItem from '@theme/TabItem';
```bsl title="Пример использования для 1С:Предприятие/OneScript"
База = "C:\Users\Administrator\AppData\Local\Temp\v8_5571_2fd.sqlite";
База = "C:\Users\Administrator\AppData\Local\Temp\v8_1A0B_60.sqlite";
Таблица = "test";
Результат = OPI_SQLite.ОчиститьТаблицу(Таблица, База);

View File

@ -27,7 +27,7 @@ import TabItem from '@theme/TabItem';
```bsl title="Пример использования для 1С:Предприятие/OneScript"
База = "C:\Users\Administrator\AppData\Local\Temp\v8_5571_2fd.sqlite";
База = "C:\Users\Administrator\AppData\Local\Temp\v8_1A0B_60.sqlite";
Таблица = "test";
СтруктураКолонок = Новый Структура;

View File

@ -27,7 +27,7 @@ import TabItem from '@theme/TabItem';
```bsl title="Пример использования для 1С:Предприятие/OneScript"
База = "C:\Users\Administrator\AppData\Local\Temp\v8_5571_2fd.sqlite";
База = "C:\Users\Administrator\AppData\Local\Temp\v8_1A0B_60.sqlite";
Таблица = "test";
Фильтры = Новый Массив;

View File

@ -26,7 +26,7 @@ import TabItem from '@theme/TabItem';
```bsl title="Пример использования для 1С:Предприятие/OneScript"
База = "C:\Users\Administrator\AppData\Local\Temp\v8_5571_2fd.sqlite";
База = "C:\Users\Administrator\AppData\Local\Temp\v8_1A0B_60.sqlite";
Таблица = "test";
Результат = OPI_SQLite.УдалитьТаблицу(Таблица, База);

View File

@ -34,7 +34,7 @@ import TabItem from '@theme/TabItem';
```bsl title="Пример использования для 1С:Предприятие/OneScript"
База = "C:\Users\Administrator\AppData\Local\Temp\v8_5571_2fd.sqlite";
База = "C:\Users\Administrator\AppData\Local\Temp\v8_1A0B_60.sqlite";
Таблица = "test";
Поля = Новый Массив;

View File

@ -26,7 +26,7 @@ import TabItem from '@theme/TabItem';
```bsl title="Пример использования для 1С:Предприятие/OneScript"
База = "C:\Users\Administrator\AppData\Local\Temp\v8_5571_2fd.sqlite";
База = "C:\Users\Administrator\AppData\Local\Temp\v8_1A0B_60.sqlite";
Таблица = "test";
Результат = OPI_SQLite.ПолучитьИнформациюОТаблице(Таблица, База);

View File

@ -28,7 +28,7 @@ import TabItem from '@theme/TabItem';
```bsl title="Пример использования для 1С:Предприятие/OneScript"
База = "C:\Users\Administrator\AppData\Local\Temp\v8_5571_2fd.sqlite";
База = "C:\Users\Administrator\AppData\Local\Temp\v8_1A0B_60.sqlite";
Таблица = "test";
СтруктураПолей = Новый Структура;

File diff suppressed because it is too large Load Diff

View File

@ -2313,6 +2313,21 @@ EndProcedure
#Region PostgreSQL
Procedure Postgres_CommonMethods() Export
TestParameters = New Structure;
OPI_TestDataRetrieval.ParameterToCollection("PG_IP" , TestParameters);
OPI_TestDataRetrieval.ParameterToCollection("PG_Password", TestParameters);
OPI_TestDataRetrieval.ParameterToCollection("Picture" , TestParameters);
PostgreSQL_GenerateConnectionString(TestParameters);
PostgreSQL_CreateConnection(TestParameters);
PostgreSQL_CloseConnection(TestParameters);
PostgreSQL_IsConnector(TestParameters);
PostgreSQL_ExecuteSQLQuery(TestParameters);
EndProcedure
Procedure Postgres_ORM() Export
TestParameters = New Structure;
@ -2325,6 +2340,7 @@ Procedure Postgres_ORM() Export
PostgreSQL_GetTableInformation(TestParameters);
PostgreSQL_AddRecords(TestParameters);
PostgreSQL_GetRecords(TestParameters);
PostgreSQL_DeleteTable(TestParameters);
PostgreSQL_DropDatabase(TestParameters);
EndProcedure
@ -16924,7 +16940,8 @@ Procedure SQLite_ExecuteSQLQuery(FunctionParameters)
Result = OPI_SQLite.ExecuteSQLQuery(QueryText, , , Connection);
Blob = Result["data"][0]["data"]["blob"]; // SKIP
Blob = Result["data"][0]["data"]["blob"]; // SKIP
Result["data"][0]["data"]["blob"] = "Base64"; // SKIP
OPI_TestDataRetrieval.WriteLog(Result, "ExecuteSQLQuery", "SQLite"); // SKIP
OPI_TestDataRetrieval.Check_SQLiteSuccess(Result); // SKIP
@ -17296,6 +17313,178 @@ EndProcedure
#Region PostgreSQL
Procedure PostgreSQL_GenerateConnectionString(FunctionParameters)
Address = FunctionParameters["PG_IP"];
Login = "bayselonarrend";
Password = FunctionParameters["PG_Password"];
Base = "postgres";
Result = OPI_PostgreSQL.GenerateConnectionString(Address, Base, Login, Password);
// END
Result = StrReplace(Result, Password, "***");
Result = StrReplace(Result, Address , "127.0.0.1");
OPI_TestDataRetrieval.WriteLog(Result, "GenerateConnectionString", "PostgreSQL");
OPI_TestDataRetrieval.Check_String(Result);
EndProcedure
Procedure PostgreSQL_CreateConnection(FunctionParameters)
Address = FunctionParameters["PG_IP"];
Login = "bayselonarrend";
Password = FunctionParameters["PG_Password"];
Base = "postgres";
ConnectionString = OPI_PostgreSQL.GenerateConnectionString(Address, Base, Login, Password);
Result = OPI_PostgreSQL.CreateConnection(ConnectionString);
// END
OPI_TestDataRetrieval.WriteLog(Result, "CreateConnection", "PostgreSQL");
OPI_TestDataRetrieval.Check_AddIn(Result, "AddIn.OPI_PostgreSQL.Main");
EndProcedure
Procedure PostgreSQL_CloseConnection(FunctionParameters)
Address = FunctionParameters["PG_IP"];
Login = "bayselonarrend";
Password = FunctionParameters["PG_Password"];
Base = "postgres";
ConnectionString = OPI_PostgreSQL.GenerateConnectionString(Address, Base, Login, Password);
Connection = OPI_PostgreSQL.CreateConnection(ConnectionString);
Result = OPI_PostgreSQL.CloseConnection(Connection);
// END
OPI_TestDataRetrieval.WriteLog(Result, "CloseConnection", "PostgreSQL");
OPI_TestDataRetrieval.Check_ResultTrue(Result);
EndProcedure
Procedure PostgreSQL_IsConnector(FunctionParameters)
Address = FunctionParameters["PG_IP"];
Login = "bayselonarrend";
Password = FunctionParameters["PG_Password"];
Base = "postgres";
ConnectionString = OPI_PostgreSQL.GenerateConnectionString(Address, Base, Login, Password);
Connection = OPI_PostgreSQL.CreateConnection(ConnectionString);
Result = OPI_PostgreSQL.IsConnector(Connection);
// END
OPI_TestDataRetrieval.WriteLog(Result, "IsConnector", "PostgreSQL");
OPI_TestDataRetrieval.Check_True(Result);
EndProcedure
Procedure PostgreSQL_ExecuteSQLQuery(FunctionParameters)
Image = FunctionParameters["Picture"];
OPI_TypeConversion.GetBinaryData(Image); // Image - Type: BinaryData
Address = FunctionParameters["PG_IP"];
Login = "bayselonarrend";
Password = FunctionParameters["PG_Password"];
Base = "test_data";
ConnectionString = OPI_PostgreSQL.GenerateConnectionString(Address, Base, Login, Password);
Connection = OPI_PostgreSQL.CreateConnection(ConnectionString);
OPI_PostgreSQL.DeleteTable("users", Connection); // SKIP
Deletion = OPI_PostgreSQL.DeleteTable("test_table", Connection); // SKIP
OPI_TestDataRetrieval.WriteLog(Connection, "ExecuteSQLQuery (deleting)", "PostgreSQL"); // SKIP
OPI_TestDataRetrieval.WriteLog(Connection, "ExecuteSQLQuery (connect)", "PostgreSQL"); // SKIP
OPI_TestDataRetrieval.Check_AddIn(Connection, "AddIn.OPI_PostgreSQL.Main"); // SKIP
// CREATE
QueryText = "
|CREATE TABLE test_table (
|id SERIAL PRIMARY KEY,
|name NAME,
|age INT,
|salary REAL,
|is_active BOOL,
|created_at DATE,
|data BYTEA
|);";
Result = OPI_PostgreSQL.ExecuteSQLQuery(QueryText, , , Connection);
OPI_TestDataRetrieval.WriteLog(Result, "ExecuteSQLQuery (Create)", "PostgreSQL"); // SKIP
OPI_TestDataRetrieval.Check_ResultTrue(Result); // SKIP
// INSERT with parameters
QueryText = "
|INSERT INTO test_table (name, age, salary, is_active, created_at, data)
|VALUES ($1, $2, $3, $4, $5, $6);";
ParameterArray = New Array;
ParameterArray.Add(New Structure("NAME" , "Vitaly"));
ParameterArray.Add(New Structure("INT" , 25));
ParameterArray.Add(New Structure("REAL" , 1000.12));
ParameterArray.Add(New Structure("BOOL" , True));
ParameterArray.Add(New Structure("DATE" , OPI_Tools.GetCurrentDate()));
ParameterArray.Add(New Structure("BYTEA", Image));
Result = OPI_PostgreSQL.ExecuteSQLQuery(QueryText, ParameterArray, , Connection);
OPI_TestDataRetrieval.WriteLog(Result, "ExecuteSQLQuery (Insert)", "PostgreSQL"); // SKIP
OPI_TestDataRetrieval.Check_ResultTrue(Result); // SKIP
// SELECT (The result of this query is shown in the Result block)
QueryText = "SELECT id, name, age, salary, is_active, created_at, data FROM test_table;";
Result = OPI_PostgreSQL.ExecuteSQLQuery(QueryText, , , Connection);
Blob = Result["data"][0]["data"]["BYTEA"]; // SKIP
Result["data"][0]["data"]["BYTEA"] = "Base64"; // SKIP
OPI_TestDataRetrieval.WriteLog(Result, "ExecuteSQLQuery", "PostgreSQL"); // SKIP
OPI_TestDataRetrieval.Check_ResultTrue(Result); // SKIP
OPI_TestDataRetrieval.Check_Equality(Base64Value(Blob).Size(), Image.Size()); // SKIP
// DO + Transaction
QueryText = "DO $$
|BEGIN
| CREATE TABLE users (
| id SMALLSERIAL,
| name TEXT NOT NULL,
| age INT NOT NULL
| );
| INSERT INTO users (name, age) VALUES ('Alice', 30);
| INSERT INTO users (name, age) VALUES ('Bob', 25);
| INSERT INTO users (name, age) VALUES ('Charlie', 35);
| COMMIT;
|END $$ LANGUAGE plpgsql;";
Result = OPI_PostgreSQL.ExecuteSQLQuery(QueryText, , , Connection);
OPI_TestDataRetrieval.WriteLog(Result, "ExecuteSQLQuery (Transaction)", "PostgreSQL"); // SKIP
OPI_TestDataRetrieval.Check_ResultTrue(Result); // SKIP
Closing = OPI_PostgreSQL.CloseConnection(Connection);
// END
OPI_TestDataRetrieval.WriteLog(Result, "CloseConnection (query)", "PostgreSQL");
OPI_TestDataRetrieval.Check_ResultTrue(Result);
EndProcedure
Procedure PostgreSQL_CreateDatabase(FunctionParameters)
Address = FunctionParameters["PG_IP"];
@ -17303,6 +17492,10 @@ Procedure PostgreSQL_CreateDatabase(FunctionParameters)
Password = FunctionParameters["PG_Password"];
Base = "postgres";
// 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);
Base = "testbase1";
@ -17317,26 +17510,24 @@ Procedure PostgreSQL_CreateDatabase(FunctionParameters)
OPI_TestDataRetrieval.WriteLog(Result, "CreateDatabase", "PostgreSQL");
OPI_TestDataRetrieval.Check_ResultTrue(Result);
EndProcedure
Base = "testbase2";
OPI_PostgreSQL.DropDatabase(Base, ConnectionString);
Procedure PostgreSQL_DropDatabase(FunctionParameters)
Connection = OPI_PostgreSQL.CreateConnection(ConnectionString);
Address = FunctionParameters["PG_IP"];
Login = "bayselonarrend";
Password = FunctionParameters["PG_Password"];
Base = "postgres";
OPI_TestDataRetrieval.WriteLog(Connection, "CreateDatabase (open)", "PostgreSQL");
OPI_TestDataRetrieval.Check_AddIn(Connection, "AddIn.OPI_PostgreSQL.Main");
ConnectionString = OPI_PostgreSQL.GenerateConnectionString(Address, Base, Login, Password);
Result = OPI_PostgreSQL.CreateDatabase(Base, Connection);
Base = "testbase1";
Result = OPI_PostgreSQL.DropDatabase(Base, ConnectionString);
// END
OPI_TestDataRetrieval.WriteLog(Result, "DropDatabase", "PostgreSQL");
OPI_TestDataRetrieval.WriteLog(Result, "CreateDatabase (connect)", "PostgreSQL");
OPI_TestDataRetrieval.Check_ResultTrue(Result);
Result = OPI_PostgreSQL.CreateDatabase(Base, Connection);
OPI_TestDataRetrieval.WriteLog(Result, "CreateDatabase (existing)", "PostgreSQL");
OPI_TestDataRetrieval.Check_ResultFalse(Result);
EndProcedure
Procedure PostgreSQL_CreateTable(FunctionParameters)
@ -17346,6 +17537,10 @@ Procedure PostgreSQL_CreateTable(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";
@ -17384,6 +17579,21 @@ Procedure PostgreSQL_CreateTable(FunctionParameters)
OPI_TestDataRetrieval.WriteLog(Result, "CreateTable", "PostgreSQL");
OPI_TestDataRetrieval.Check_ResultTrue(Result);
Table = "ABC DEF";
Result = OPI_PostgreSQL.CreateTable(Table, ColoumnsStruct, ConnectionString);
OPI_TestDataRetrieval.WriteLog(Result, "CreateTable (name error)", "PostgreSQL");
OPI_TestDataRetrieval.Check_ResultFalse(Result);
Table = "somename";
ColoumnsStruct.Insert("wtf_field" , "WTF");
Result = OPI_PostgreSQL.CreateTable(Table, ColoumnsStruct, ConnectionString);
OPI_TestDataRetrieval.WriteLog(Result, "CreateTable (type error)", "PostgreSQL");
OPI_TestDataRetrieval.Check_ResultFalse(Result);
EndProcedure
Procedure PostgreSQL_GetTableInformation(FunctionParameters)
@ -17393,6 +17603,10 @@ Procedure PostgreSQL_GetTableInformation(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";
@ -17404,6 +17618,13 @@ Procedure PostgreSQL_GetTableInformation(FunctionParameters)
OPI_TestDataRetrieval.WriteLog(Result, "GetTableInformation", "PostgreSQL");
OPI_TestDataRetrieval.Check_ResultTrue(Result);
Table = "heyho";
Result = OPI_PostgreSQL.GetTableInformation(Table, ConnectionString);
OPI_TestDataRetrieval.WriteLog(Result, "GetTableInformation (error)", "PostgreSQL");
OPI_TestDataRetrieval.Check_Array(Result["data"], 0);
EndProcedure
Procedure PostgreSQL_AddRecords(FunctionParameters)
@ -17508,11 +17729,86 @@ Procedure PostgreSQL_GetRecords(FunctionParameters)
Result["data"][0]["bytea_field"]["BYTEA"] = Left(Result["data"][0]["bytea_field"]["BYTEA"], 10) + "...";
EndIf;
OPI_TestDataRetrieval.WriteLog(Result, "AddRecords", "PostgreSQL");
OPI_TestDataRetrieval.WriteLog(Result, "GetRecords", "PostgreSQL");
OPI_TestDataRetrieval.Check_ResultTrue(Result);
EndProcedure
Procedure PostgreSQL_DeleteTable(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.DeleteTable(Table, ConnectionString);
// END
OPI_TestDataRetrieval.WriteLog(Result, "DeleteTable", "PostgreSQL");
OPI_TestDataRetrieval.Check_ResultTrue(Result);
EndProcedure
Procedure PostgreSQL_DropDatabase(FunctionParameters)
Address = FunctionParameters["PG_IP"];
Login = "bayselonarrend";
Password = FunctionParameters["PG_Password"];
Base = "postgres";
// 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);
Base = "testbase1";
Result = OPI_PostgreSQL.DropDatabase(Base, ConnectionString);
// END
OPI_TestDataRetrieval.WriteLog(Result, "DropDatabase", "PostgreSQL");
OPI_TestDataRetrieval.Check_ResultTrue(Result);
Base = "testbase2";
Connection = OPI_PostgreSQL.CreateConnection(ConnectionString);
OPI_TestDataRetrieval.WriteLog(Connection, "DropDatabase (open)", "PostgreSQL");
OPI_TestDataRetrieval.Check_AddIn(Connection, "AddIn.OPI_PostgreSQL.Main");
Result = OPI_PostgreSQL.DropDatabase(Base, Connection);
OPI_TestDataRetrieval.WriteLog(Result, "DropDatabase (connect)", "PostgreSQL");
OPI_TestDataRetrieval.Check_ResultTrue(Result);
Result = OPI_PostgreSQL.DropDatabase(Base, Connection);
OPI_TestDataRetrieval.WriteLog(Result, "DropDatabase (error)", "PostgreSQL");
OPI_TestDataRetrieval.Check_ResultFalse(Result);
Closing = OPI_PostgreSQL.CloseConnection(Connection);
OPI_TestDataRetrieval.WriteLog(Closing, "DropDatabase (close)", "PostgreSQL");
OPI_TestDataRetrieval.Check_ResultTrue(Closing);
Result = OPI_PostgreSQL.DropDatabase(Base, Connection);
OPI_TestDataRetrieval.WriteLog(Result, "DropDatabase (connect error)", "PostgreSQL");
OPI_TestDataRetrieval.Check_ResultFalse(Result);
EndProcedure
#EndRegion
#EndRegion

View File

@ -465,7 +465,7 @@ Function FormTextSelect(Val Scheme)
Count = Scheme["limit"];
SQLTemplate = "SELECT %1 FROM %2
|%3";
|%3;";
OptionsBlock = ForSelectOptionsText(Filters, Sort, Count);
@ -484,7 +484,7 @@ Function FormTextInsert(Val Scheme)
Numeration = Scheme["nump"];
Marker = Scheme["markp"];
SQLTemplate = "INSERT INTO %1 (%2) VALUES (%3)";
SQLTemplate = "INSERT INTO %1 (%2) VALUES (%3);";
Parameters = New Array;
@ -517,7 +517,7 @@ Function FormTextUpdate(Val Scheme)
Fields = Scheme["set"];
Filters = Scheme["filter"];
SQLTemplate = "UPDATE %1 SET %2 %3";
SQLTemplate = "UPDATE %1 SET %2 %3;";
FilterText = FormFilterText(Filters);
@ -540,7 +540,7 @@ Function FormTextDelete(Val Scheme)
Table = Scheme["table"];
Filters = Scheme["filter"];
SQLTemplate = "DELETE FROM %1 %2";
SQLTemplate = "DELETE FROM %1 %2;";
FilterText = FormFilterText(Filters);
@ -559,7 +559,7 @@ Function FormTextCreate(Val Scheme)
SQLTemplate = "CREATE TABLE %1 (
| %2
| )";
| );";
ColoumTemplate = "%1 %2";
@ -585,7 +585,7 @@ Function FormTextDrop(Val Scheme)
Table = Scheme["table"];
SQLTemplate = "DROP TABLE %1";
SQLTemplate = "DROP TABLE %1;";
TextSQL = StrTemplate(SQLTemplate, Table);
@ -599,7 +599,7 @@ Function FormTextTruncate(Val Scheme)
Table = Scheme["table"];
SQLTemplate = "TRUNCATE TABLE %1";
SQLTemplate = "TRUNCATE TABLE %1;";
TextSQL = StrTemplate(SQLTemplate, Table);
@ -613,7 +613,7 @@ Function FormTextCreateDatabase(Val Scheme)
Base = Scheme["database"];
SQLTemplate = "CREATE DATABASE %1";
SQLTemplate = "CREATE DATABASE %1;";
TextSQL = StrTemplate(SQLTemplate, Base);
@ -627,7 +627,7 @@ Function FormTextDropDatabase(Val Scheme)
Base = Scheme["database"];
SQLTemplate = "DROP DATABASE %1";
SQLTemplate = "DROP DATABASE %1;";
TextSQL = StrTemplate(SQLTemplate, Base);
@ -691,7 +691,7 @@ Function ProcessRecordsStart(Val Module, Val Transaction, Val Connection)
If Transaction Then
Start = Module.ExecuteSQLQuery("BEGIN TRANSACTION", , , Connection);
Start = Module.ExecuteSQLQuery("BEGIN", , , Connection);
If Not Start["result"] Then
Return Start;
@ -712,14 +712,14 @@ Function ProcessRecordsEnd(Val ProcessedStructure, Val Module, Val Transaction,
If ErrorsArray.Count() > 0 Then
Rollback = Module.ExecuteSQLQuery("ROLLBACK", , , Connection);
Rollback = Module.ExecuteSQLQuery("ROLLBACK;", , , Connection);
SuccessCount = 0;
ResultStrucutre.Insert("rollback", Rollback);
Else
Completion = Module.ExecuteSQLQuery("COMMIT", , , Connection);
Completion = Module.ExecuteSQLQuery("COMMIT;", , , Connection);
ResultStrucutre.Insert("commit", Completion);
EndIf;

View File

@ -273,6 +273,7 @@ Function GetTestTable() Export
NewTest(TestTable, "TC_Client" , "TCP Client" , TCP);
NewTest(TestTable, "SQLL_CommonMethods" , "Common methods" , SQLite);
NewTest(TestTable, "SQLL_ORM" , "ORM" , SQLite);
NewTest(TestTable, "Postgres_CommonMethods" , "Common methods" , Postgres);
NewTest(TestTable, "Postgres_ORM" , "ORM" , Postgres);
Return TestTable;
@ -2112,6 +2113,12 @@ Procedure Check_ResultTrue(Val Result) Export
EndProcedure
Procedure Check_ResultFalse(Val Result) Export
ExpectsThat(Result["result"]).Равно(False);
EndProcedure
#EndRegion
#EndRegion

View File

@ -465,7 +465,7 @@ Function FormTextSelect(Val Scheme)
Count = Scheme["limit"];
SQLTemplate = "SELECT %1 FROM %2
|%3";
|%3;";
OptionsBlock = ForSelectOptionsText(Filters, Sort, Count);
@ -484,7 +484,7 @@ Function FormTextInsert(Val Scheme)
Numeration = Scheme["nump"];
Marker = Scheme["markp"];
SQLTemplate = "INSERT INTO %1 (%2) VALUES (%3)";
SQLTemplate = "INSERT INTO %1 (%2) VALUES (%3);";
Parameters = New Array;
@ -517,7 +517,7 @@ Function FormTextUpdate(Val Scheme)
Fields = Scheme["set"];
Filters = Scheme["filter"];
SQLTemplate = "UPDATE %1 SET %2 %3";
SQLTemplate = "UPDATE %1 SET %2 %3;";
FilterText = FormFilterText(Filters);
@ -540,7 +540,7 @@ Function FormTextDelete(Val Scheme)
Table = Scheme["table"];
Filters = Scheme["filter"];
SQLTemplate = "DELETE FROM %1 %2";
SQLTemplate = "DELETE FROM %1 %2;";
FilterText = FormFilterText(Filters);
@ -559,7 +559,7 @@ Function FormTextCreate(Val Scheme)
SQLTemplate = "CREATE TABLE %1 (
| %2
| )";
| );";
ColoumTemplate = "%1 %2";
@ -585,7 +585,7 @@ Function FormTextDrop(Val Scheme)
Table = Scheme["table"];
SQLTemplate = "DROP TABLE %1";
SQLTemplate = "DROP TABLE %1;";
TextSQL = StrTemplate(SQLTemplate, Table);
@ -599,7 +599,7 @@ Function FormTextTruncate(Val Scheme)
Table = Scheme["table"];
SQLTemplate = "TRUNCATE TABLE %1";
SQLTemplate = "TRUNCATE TABLE %1;";
TextSQL = StrTemplate(SQLTemplate, Table);
@ -613,7 +613,7 @@ Function FormTextCreateDatabase(Val Scheme)
Base = Scheme["database"];
SQLTemplate = "CREATE DATABASE %1";
SQLTemplate = "CREATE DATABASE %1;";
TextSQL = StrTemplate(SQLTemplate, Base);
@ -627,7 +627,7 @@ Function FormTextDropDatabase(Val Scheme)
Base = Scheme["database"];
SQLTemplate = "DROP DATABASE %1";
SQLTemplate = "DROP DATABASE %1;";
TextSQL = StrTemplate(SQLTemplate, Base);
@ -691,7 +691,7 @@ Function ProcessRecordsStart(Val Module, Val Transaction, Val Connection)
If Transaction Then
Start = Module.ExecuteSQLQuery("BEGIN TRANSACTION", , , Connection);
Start = Module.ExecuteSQLQuery("BEGIN", , , Connection);
If Not Start["result"] Then
Return Start;
@ -712,14 +712,14 @@ Function ProcessRecordsEnd(Val ProcessedStructure, Val Module, Val Transaction,
If ErrorsArray.Count() > 0 Then
Rollback = Module.ExecuteSQLQuery("ROLLBACK", , , Connection);
Rollback = Module.ExecuteSQLQuery("ROLLBACK;", , , Connection);
SuccessCount = 0;
ResultStrucutre.Insert("rollback", Rollback);
Else
Completion = Module.ExecuteSQLQuery("COMMIT", , , Connection);
Completion = Module.ExecuteSQLQuery("COMMIT;", , , Connection);
ResultStrucutre.Insert("commit", Completion);
EndIf;

View File

@ -273,6 +273,7 @@ Function GetTestTable() Export
NewTest(TestTable, "TC_Client" , "TCP Client" , TCP);
NewTest(TestTable, "SQLL_CommonMethods" , "Common methods" , SQLite);
NewTest(TestTable, "SQLL_ORM" , "ORM" , SQLite);
NewTest(TestTable, "Postgres_CommonMethods" , "Common methods" , Postgres);
NewTest(TestTable, "Postgres_ORM" , "ORM" , Postgres);
Return TestTable;
@ -2112,6 +2113,12 @@ Procedure Check_ResultTrue(Val Result) Export
EndProcedure
Procedure Check_ResultFalse(Val Result) Export
ExpectsThat(Result["result"]).Равно(False);
EndProcedure
#EndRegion
#EndRegion

View File

@ -2313,6 +2313,21 @@ EndProcedure
#Region PostgreSQL
Procedure Postgres_CommonMethods() Export
TestParameters = New Structure;
OPI_TestDataRetrieval.ParameterToCollection("PG_IP" , TestParameters);
OPI_TestDataRetrieval.ParameterToCollection("PG_Password", TestParameters);
OPI_TestDataRetrieval.ParameterToCollection("Picture" , TestParameters);
PostgreSQL_GenerateConnectionString(TestParameters);
PostgreSQL_CreateConnection(TestParameters);
PostgreSQL_CloseConnection(TestParameters);
PostgreSQL_IsConnector(TestParameters);
PostgreSQL_ExecuteSQLQuery(TestParameters);
EndProcedure
Procedure Postgres_ORM() Export
TestParameters = New Structure;
@ -2325,6 +2340,7 @@ Procedure Postgres_ORM() Export
PostgreSQL_GetTableInformation(TestParameters);
PostgreSQL_AddRecords(TestParameters);
PostgreSQL_GetRecords(TestParameters);
PostgreSQL_DeleteTable(TestParameters);
PostgreSQL_DropDatabase(TestParameters);
EndProcedure
@ -16924,7 +16940,8 @@ Procedure SQLite_ExecuteSQLQuery(FunctionParameters)
Result = OPI_SQLite.ExecuteSQLQuery(QueryText, , , Connection);
Blob = Result["data"][0]["data"]["blob"]; // SKIP
Blob = Result["data"][0]["data"]["blob"]; // SKIP
Result["data"][0]["data"]["blob"] = "Base64"; // SKIP
OPI_TestDataRetrieval.WriteLog(Result, "ExecuteSQLQuery", "SQLite"); // SKIP
OPI_TestDataRetrieval.Check_SQLiteSuccess(Result); // SKIP
@ -17296,6 +17313,178 @@ EndProcedure
#Region PostgreSQL
Procedure PostgreSQL_GenerateConnectionString(FunctionParameters)
Address = FunctionParameters["PG_IP"];
Login = "bayselonarrend";
Password = FunctionParameters["PG_Password"];
Base = "postgres";
Result = OPI_PostgreSQL.GenerateConnectionString(Address, Base, Login, Password);
// END
Result = StrReplace(Result, Password, "***");
Result = StrReplace(Result, Address , "127.0.0.1");
OPI_TestDataRetrieval.WriteLog(Result, "GenerateConnectionString", "PostgreSQL");
OPI_TestDataRetrieval.Check_String(Result);
EndProcedure
Procedure PostgreSQL_CreateConnection(FunctionParameters)
Address = FunctionParameters["PG_IP"];
Login = "bayselonarrend";
Password = FunctionParameters["PG_Password"];
Base = "postgres";
ConnectionString = OPI_PostgreSQL.GenerateConnectionString(Address, Base, Login, Password);
Result = OPI_PostgreSQL.CreateConnection(ConnectionString);
// END
OPI_TestDataRetrieval.WriteLog(Result, "CreateConnection", "PostgreSQL");
OPI_TestDataRetrieval.Check_AddIn(Result, "AddIn.OPI_PostgreSQL.Main");
EndProcedure
Procedure PostgreSQL_CloseConnection(FunctionParameters)
Address = FunctionParameters["PG_IP"];
Login = "bayselonarrend";
Password = FunctionParameters["PG_Password"];
Base = "postgres";
ConnectionString = OPI_PostgreSQL.GenerateConnectionString(Address, Base, Login, Password);
Connection = OPI_PostgreSQL.CreateConnection(ConnectionString);
Result = OPI_PostgreSQL.CloseConnection(Connection);
// END
OPI_TestDataRetrieval.WriteLog(Result, "CloseConnection", "PostgreSQL");
OPI_TestDataRetrieval.Check_ResultTrue(Result);
EndProcedure
Procedure PostgreSQL_IsConnector(FunctionParameters)
Address = FunctionParameters["PG_IP"];
Login = "bayselonarrend";
Password = FunctionParameters["PG_Password"];
Base = "postgres";
ConnectionString = OPI_PostgreSQL.GenerateConnectionString(Address, Base, Login, Password);
Connection = OPI_PostgreSQL.CreateConnection(ConnectionString);
Result = OPI_PostgreSQL.IsConnector(Connection);
// END
OPI_TestDataRetrieval.WriteLog(Result, "IsConnector", "PostgreSQL");
OPI_TestDataRetrieval.Check_True(Result);
EndProcedure
Procedure PostgreSQL_ExecuteSQLQuery(FunctionParameters)
Image = FunctionParameters["Picture"];
OPI_TypeConversion.GetBinaryData(Image); // Image - Type: BinaryData
Address = FunctionParameters["PG_IP"];
Login = "bayselonarrend";
Password = FunctionParameters["PG_Password"];
Base = "test_data";
ConnectionString = OPI_PostgreSQL.GenerateConnectionString(Address, Base, Login, Password);
Connection = OPI_PostgreSQL.CreateConnection(ConnectionString);
OPI_PostgreSQL.DeleteTable("users", Connection); // SKIP
Deletion = OPI_PostgreSQL.DeleteTable("test_table", Connection); // SKIP
OPI_TestDataRetrieval.WriteLog(Connection, "ExecuteSQLQuery (deleting)", "PostgreSQL"); // SKIP
OPI_TestDataRetrieval.WriteLog(Connection, "ExecuteSQLQuery (connect)", "PostgreSQL"); // SKIP
OPI_TestDataRetrieval.Check_AddIn(Connection, "AddIn.OPI_PostgreSQL.Main"); // SKIP
// CREATE
QueryText = "
|CREATE TABLE test_table (
|id SERIAL PRIMARY KEY,
|name NAME,
|age INT,
|salary REAL,
|is_active BOOL,
|created_at DATE,
|data BYTEA
|);";
Result = OPI_PostgreSQL.ExecuteSQLQuery(QueryText, , , Connection);
OPI_TestDataRetrieval.WriteLog(Result, "ExecuteSQLQuery (Create)", "PostgreSQL"); // SKIP
OPI_TestDataRetrieval.Check_ResultTrue(Result); // SKIP
// INSERT with parameters
QueryText = "
|INSERT INTO test_table (name, age, salary, is_active, created_at, data)
|VALUES ($1, $2, $3, $4, $5, $6);";
ParameterArray = New Array;
ParameterArray.Add(New Structure("NAME" , "Vitaly"));
ParameterArray.Add(New Structure("INT" , 25));
ParameterArray.Add(New Structure("REAL" , 1000.12));
ParameterArray.Add(New Structure("BOOL" , True));
ParameterArray.Add(New Structure("DATE" , OPI_Tools.GetCurrentDate()));
ParameterArray.Add(New Structure("BYTEA", Image));
Result = OPI_PostgreSQL.ExecuteSQLQuery(QueryText, ParameterArray, , Connection);
OPI_TestDataRetrieval.WriteLog(Result, "ExecuteSQLQuery (Insert)", "PostgreSQL"); // SKIP
OPI_TestDataRetrieval.Check_ResultTrue(Result); // SKIP
// SELECT (The result of this query is shown in the Result block)
QueryText = "SELECT id, name, age, salary, is_active, created_at, data FROM test_table;";
Result = OPI_PostgreSQL.ExecuteSQLQuery(QueryText, , , Connection);
Blob = Result["data"][0]["data"]["BYTEA"]; // SKIP
Result["data"][0]["data"]["BYTEA"] = "Base64"; // SKIP
OPI_TestDataRetrieval.WriteLog(Result, "ExecuteSQLQuery", "PostgreSQL"); // SKIP
OPI_TestDataRetrieval.Check_ResultTrue(Result); // SKIP
OPI_TestDataRetrieval.Check_Equality(Base64Value(Blob).Size(), Image.Size()); // SKIP
// DO + Transaction
QueryText = "DO $$
|BEGIN
| CREATE TABLE users (
| id SMALLSERIAL,
| name TEXT NOT NULL,
| age INT NOT NULL
| );
| INSERT INTO users (name, age) VALUES ('Alice', 30);
| INSERT INTO users (name, age) VALUES ('Bob', 25);
| INSERT INTO users (name, age) VALUES ('Charlie', 35);
| COMMIT;
|END $$ LANGUAGE plpgsql;";
Result = OPI_PostgreSQL.ExecuteSQLQuery(QueryText, , , Connection);
OPI_TestDataRetrieval.WriteLog(Result, "ExecuteSQLQuery (Transaction)", "PostgreSQL"); // SKIP
OPI_TestDataRetrieval.Check_ResultTrue(Result); // SKIP
Closing = OPI_PostgreSQL.CloseConnection(Connection);
// END
OPI_TestDataRetrieval.WriteLog(Result, "CloseConnection (query)", "PostgreSQL");
OPI_TestDataRetrieval.Check_ResultTrue(Result);
EndProcedure
Procedure PostgreSQL_CreateDatabase(FunctionParameters)
Address = FunctionParameters["PG_IP"];
@ -17303,6 +17492,10 @@ Procedure PostgreSQL_CreateDatabase(FunctionParameters)
Password = FunctionParameters["PG_Password"];
Base = "postgres";
// 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);
Base = "testbase1";
@ -17317,26 +17510,24 @@ Procedure PostgreSQL_CreateDatabase(FunctionParameters)
OPI_TestDataRetrieval.WriteLog(Result, "CreateDatabase", "PostgreSQL");
OPI_TestDataRetrieval.Check_ResultTrue(Result);
EndProcedure
Base = "testbase2";
OPI_PostgreSQL.DropDatabase(Base, ConnectionString);
Procedure PostgreSQL_DropDatabase(FunctionParameters)
Connection = OPI_PostgreSQL.CreateConnection(ConnectionString);
Address = FunctionParameters["PG_IP"];
Login = "bayselonarrend";
Password = FunctionParameters["PG_Password"];
Base = "postgres";
OPI_TestDataRetrieval.WriteLog(Connection, "CreateDatabase (open)", "PostgreSQL");
OPI_TestDataRetrieval.Check_AddIn(Connection, "AddIn.OPI_PostgreSQL.Main");
ConnectionString = OPI_PostgreSQL.GenerateConnectionString(Address, Base, Login, Password);
Result = OPI_PostgreSQL.CreateDatabase(Base, Connection);
Base = "testbase1";
Result = OPI_PostgreSQL.DropDatabase(Base, ConnectionString);
// END
OPI_TestDataRetrieval.WriteLog(Result, "DropDatabase", "PostgreSQL");
OPI_TestDataRetrieval.WriteLog(Result, "CreateDatabase (connect)", "PostgreSQL");
OPI_TestDataRetrieval.Check_ResultTrue(Result);
Result = OPI_PostgreSQL.CreateDatabase(Base, Connection);
OPI_TestDataRetrieval.WriteLog(Result, "CreateDatabase (existing)", "PostgreSQL");
OPI_TestDataRetrieval.Check_ResultFalse(Result);
EndProcedure
Procedure PostgreSQL_CreateTable(FunctionParameters)
@ -17346,6 +17537,10 @@ Procedure PostgreSQL_CreateTable(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";
@ -17384,6 +17579,21 @@ Procedure PostgreSQL_CreateTable(FunctionParameters)
OPI_TestDataRetrieval.WriteLog(Result, "CreateTable", "PostgreSQL");
OPI_TestDataRetrieval.Check_ResultTrue(Result);
Table = "ABC DEF";
Result = OPI_PostgreSQL.CreateTable(Table, ColoumnsStruct, ConnectionString);
OPI_TestDataRetrieval.WriteLog(Result, "CreateTable (name error)", "PostgreSQL");
OPI_TestDataRetrieval.Check_ResultFalse(Result);
Table = "somename";
ColoumnsStruct.Insert("wtf_field" , "WTF");
Result = OPI_PostgreSQL.CreateTable(Table, ColoumnsStruct, ConnectionString);
OPI_TestDataRetrieval.WriteLog(Result, "CreateTable (type error)", "PostgreSQL");
OPI_TestDataRetrieval.Check_ResultFalse(Result);
EndProcedure
Procedure PostgreSQL_GetTableInformation(FunctionParameters)
@ -17393,6 +17603,10 @@ Procedure PostgreSQL_GetTableInformation(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";
@ -17404,6 +17618,13 @@ Procedure PostgreSQL_GetTableInformation(FunctionParameters)
OPI_TestDataRetrieval.WriteLog(Result, "GetTableInformation", "PostgreSQL");
OPI_TestDataRetrieval.Check_ResultTrue(Result);
Table = "heyho";
Result = OPI_PostgreSQL.GetTableInformation(Table, ConnectionString);
OPI_TestDataRetrieval.WriteLog(Result, "GetTableInformation (error)", "PostgreSQL");
OPI_TestDataRetrieval.Check_Array(Result["data"], 0);
EndProcedure
Procedure PostgreSQL_AddRecords(FunctionParameters)
@ -17508,11 +17729,86 @@ Procedure PostgreSQL_GetRecords(FunctionParameters)
Result["data"][0]["bytea_field"]["BYTEA"] = Left(Result["data"][0]["bytea_field"]["BYTEA"], 10) + "...";
EndIf;
OPI_TestDataRetrieval.WriteLog(Result, "AddRecords", "PostgreSQL");
OPI_TestDataRetrieval.WriteLog(Result, "GetRecords", "PostgreSQL");
OPI_TestDataRetrieval.Check_ResultTrue(Result);
EndProcedure
Procedure PostgreSQL_DeleteTable(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.DeleteTable(Table, ConnectionString);
// END
OPI_TestDataRetrieval.WriteLog(Result, "DeleteTable", "PostgreSQL");
OPI_TestDataRetrieval.Check_ResultTrue(Result);
EndProcedure
Procedure PostgreSQL_DropDatabase(FunctionParameters)
Address = FunctionParameters["PG_IP"];
Login = "bayselonarrend";
Password = FunctionParameters["PG_Password"];
Base = "postgres";
// 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);
Base = "testbase1";
Result = OPI_PostgreSQL.DropDatabase(Base, ConnectionString);
// END
OPI_TestDataRetrieval.WriteLog(Result, "DropDatabase", "PostgreSQL");
OPI_TestDataRetrieval.Check_ResultTrue(Result);
Base = "testbase2";
Connection = OPI_PostgreSQL.CreateConnection(ConnectionString);
OPI_TestDataRetrieval.WriteLog(Connection, "DropDatabase (open)", "PostgreSQL");
OPI_TestDataRetrieval.Check_AddIn(Connection, "AddIn.OPI_PostgreSQL.Main");
Result = OPI_PostgreSQL.DropDatabase(Base, Connection);
OPI_TestDataRetrieval.WriteLog(Result, "DropDatabase (connect)", "PostgreSQL");
OPI_TestDataRetrieval.Check_ResultTrue(Result);
Result = OPI_PostgreSQL.DropDatabase(Base, Connection);
OPI_TestDataRetrieval.WriteLog(Result, "DropDatabase (error)", "PostgreSQL");
OPI_TestDataRetrieval.Check_ResultFalse(Result);
Closing = OPI_PostgreSQL.CloseConnection(Connection);
OPI_TestDataRetrieval.WriteLog(Closing, "DropDatabase (close)", "PostgreSQL");
OPI_TestDataRetrieval.Check_ResultTrue(Closing);
Result = OPI_PostgreSQL.DropDatabase(Base, Connection);
OPI_TestDataRetrieval.WriteLog(Result, "DropDatabase (connect error)", "PostgreSQL");
OPI_TestDataRetrieval.Check_ResultFalse(Result);
EndProcedure
#EndRegion
#EndRegion

View File

@ -2314,18 +2314,18 @@
#Область PostgreSQL
Процедура Postgres_ОсновныеМетоды() Экспорт
ПараметрыТеста = Новый Структура;
ПараметрыТеста = Новый Структура;
OPI_ПолучениеДанныхТестов.ПараметрВКоллекцию("PG_IP" , ПараметрыТеста);
OPI_ПолучениеДанныхТестов.ПараметрВКоллекцию("PG_Password", ПараметрыТеста);
OPI_ПолучениеДанныхТестов.ПараметрВКоллекцию("Picture" , ПараметрыТеста);
PostgreSQL_СформироватьСтрокуПодключения(ПараметрыТеста);
PostgreSQL_ОткрытьСоединение(ПараметрыТеста);
PostgreSQL_ЗакрытьСоединение(ПараметрыТеста);
PostgreSQL_ЭтоКоннектор(ПараметрыТеста);
PostgreSQL_ВыполнитьЗапросSQL(ПараметрыТеста);
PostgreSQL_ОткрытьСоединение(ПараметрыТеста);
PostgreSQL_ЗакрытьСоединение(ПараметрыТеста);
PostgreSQL_ЭтоКоннектор(ПараметрыТеста);
PostgreSQL_ВыполнитьЗапросSQL(ПараметрыТеста);
КонецПроцедуры
Процедура Postgres_ORM() Экспорт
@ -16941,7 +16941,7 @@
Результат = OPI_SQLite.ВыполнитьЗапросSQL(ТекстЗапроса, , , Соединение);
Blob = Результат["data"][0]["data"]["blob"]; // SKIP
Результат["data"][0]["data"]["blob"] = "Base64"; // SKIP
OPI_ПолучениеДанныхТестов.ЗаписатьЛог(Результат, "ВыполнитьЗапросSQL", "SQLite"); // SKIP
OPI_ПолучениеДанныхТестов.Проверка_SQLiteУспех(Результат); // SKIP
@ -17322,14 +17322,14 @@
Результат = OPI_PostgreSQL.СформироватьСтрокуПодключения(Адрес, База, Логин, Пароль);
// END
Результат = СтрЗаменить(Результат, Пароль, "***");
Результат = СтрЗаменить(Результат, Адрес, "127.0.0.1");
// END
Результат = СтрЗаменить(Результат, Пароль, "***");
Результат = СтрЗаменить(Результат, Адрес , "127.0.0.1");
OPI_ПолучениеДанныхТестов.ЗаписатьЛог(Результат, "СформироватьСтрокуПодключения", "PostgreSQL");
OPI_ПолучениеДанныхТестов.Проверка_Строка(Результат);
OPI_ПолучениеДанныхТестов.Проверка_Строка(Результат);
КонецПроцедуры
Процедура PostgreSQL_ОткрытьСоединение(ПараметрыФункции)
@ -17342,11 +17342,11 @@
СтрокаПодключения = OPI_PostgreSQL.СформироватьСтрокуПодключения(Адрес, База, Логин, Пароль);
Результат = OPI_PostgreSQL.ОткрытьСоединение(СтрокаПодключения);
// END
// END
OPI_ПолучениеДанныхТестов.ЗаписатьЛог(Результат, "ОткрытьСоединение", "PostgreSQL");
OPI_ПолучениеДанныхТестов.Проверка_Компонента(Результат, "AddIn.OPI_PostgreSQL.Main");
OPI_ПолучениеДанныхТестов.Проверка_Компонента(Результат, "AddIn.OPI_PostgreSQL.Main");
КонецПроцедуры
Процедура PostgreSQL_ЗакрытьСоединение(ПараметрыФункции)
@ -17360,11 +17360,11 @@
Соединение = OPI_PostgreSQL.ОткрытьСоединение(СтрокаПодключения);
Результат = OPI_PostgreSQL.ЗакрытьСоединение(Соединение);
// END
// END
OPI_ПолучениеДанныхТестов.ЗаписатьЛог(Результат, "ЗакрытьСоединение", "PostgreSQL");
OPI_ПолучениеДанныхТестов.Проверка_РезультатИстина(Результат);
OPI_ПолучениеДанныхТестов.Проверка_РезультатИстина(Результат);
КонецПроцедуры
Процедура PostgreSQL_ЭтоКоннектор(ПараметрыФункции)
@ -17375,7 +17375,7 @@
База = "postgres";
СтрокаПодключения = OPI_PostgreSQL.СформироватьСтрокуПодключения(Адрес, База, Логин, Пароль);
Соединение = OPI_PostgreSQL.ОткрытьСоединение(СтрокаПодключения);
Результат = OPI_PostgreSQL.ЭтоКоннектор(Соединение);
@ -17398,7 +17398,7 @@
СтрокаПодключения = OPI_PostgreSQL.СформироватьСтрокуПодключения(Адрес, База, Логин, Пароль);
Соединение = OPI_PostgreSQL.ОткрытьСоединение(СтрокаПодключения);
OPI_PostgreSQL.УдалитьТаблицу("users", Соединение); // SKIP
Удаление = OPI_PostgreSQL.УдалитьТаблицу("test_table", Соединение); // SKIP
OPI_ПолучениеДанныхТестов.ЗаписатьЛог(Соединение, "ВыполнитьЗапросSQL (удаление)", "PostgreSQL"); // SKIP
@ -17431,12 +17431,12 @@
|VALUES ($1, $2, $3, $4, $5, $6);";
МассивПараметров = Новый Массив;
МассивПараметров.Добавить(Новый Структура("NAME" , "Vitaly"));
МассивПараметров.Добавить(Новый Структура("INT" , 25));
МассивПараметров.Добавить(Новый Структура("REAL" , 1000.12));
МассивПараметров.Добавить(Новый Структура("BOOL" , Истина));
МассивПараметров.Добавить(Новый Структура("NAME" , "Vitaly"));
МассивПараметров.Добавить(Новый Структура("INT" , 25));
МассивПараметров.Добавить(Новый Структура("REAL" , 1000.12));
МассивПараметров.Добавить(Новый Структура("BOOL" , Истина));
МассивПараметров.Добавить(Новый Структура("DATE" , OPI_Инструменты.ПолучитьТекущуюДату()));
МассивПараметров.Добавить(Новый Структура("BYTEA", Картинка));
МассивПараметров.Добавить(Новый Структура("BYTEA", Картинка));
Результат = OPI_PostgreSQL.ВыполнитьЗапросSQL(ТекстЗапроса, МассивПараметров, , Соединение);
@ -17450,7 +17450,7 @@
Результат = OPI_PostgreSQL.ВыполнитьЗапросSQL(ТекстЗапроса, , , Соединение);
Blob = Результат["data"][0]["data"]["BYTEA"]; // SKIP
Результат["data"][0]["data"]["BYTEA"] = "Base64"; // SKIP
OPI_ПолучениеДанныхТестов.ЗаписатьЛог(Результат, "ВыполнитьЗапросSQL", "PostgreSQL"); // SKIP
OPI_ПолучениеДанныхТестов.Проверка_РезультатИстина(Результат); // SKIP
@ -17492,10 +17492,10 @@
Пароль = ПараметрыФункции["PG_Password"];
База = "postgres";
// При использовании строки подключения инициализируется новое соединение,
// которое будет закрыто после выполнения функции.
// В случае выполнения нескольких операций желательно использовать одно соединение,
// заранее созданное функцией ОткрытьСоединение()
// При использовании строки подключения инициализируется новое соединение,
// которое будет закрыто после выполнения функции.
// В случае выполнения нескольких операций желательно использовать одно соединение,
// заранее созданное функцией ОткрытьСоединение()
СтрокаПодключения = OPI_PostgreSQL.СформироватьСтрокуПодключения(Адрес, База, Логин, Пароль);
База = "testbase1";
@ -17509,25 +17509,25 @@
OPI_ПолучениеДанныхТестов.ЗаписатьЛог(Результат, "СоздатьБазуДанных", "PostgreSQL");
OPI_ПолучениеДанныхТестов.Проверка_РезультатИстина(Результат);
База = "testbase2";
OPI_PostgreSQL.УдалитьБазуДанных(База, СтрокаПодключения);
Подключение = OPI_PostgreSQL.ОткрытьСоединение(СтрокаПодключения);
OPI_ПолучениеДанныхТестов.ЗаписатьЛог(Подключение, "СоздатьБазуДанных (открытие)", "PostgreSQL");
OPI_ПолучениеДанныхТестов.Проверка_Компонента(Подключение, "AddIn.OPI_PostgreSQL.Main");
Результат = OPI_PostgreSQL.СоздатьБазуДанных(База, Подключение);
OPI_ПолучениеДанныхТестов.ЗаписатьЛог(Результат, "СоздатьБазуДанных (подключение)", "PostgreSQL");
OPI_ПолучениеДанныхТестов.Проверка_РезультатИстина(Результат);
Результат = OPI_PostgreSQL.СоздатьБазуДанных(База, Подключение);
OPI_ПолучениеДанныхТестов.ЗаписатьЛог(Результат, "СоздатьБазуДанных (существующая)", "PostgreSQL");
OPI_ПолучениеДанныхТестов.Проверка_РезультатЛожь(Результат);
КонецПроцедуры
Процедура PostgreSQL_СоздатьТаблицу(ПараметрыФункции)
@ -17537,10 +17537,10 @@
Пароль = ПараметрыФункции["PG_Password"];
База = "testbase1";
// При использовании строки подключения инициализируется новое соединение,
// которое будет закрыто после выполнения функции.
// В случае выполнения нескольких операций желательно использовать одно соединение,
// заранее созданное функцией ОткрытьСоединение()
// При использовании строки подключения инициализируется новое соединение,
// которое будет закрыто после выполнения функции.
// В случае выполнения нескольких операций желательно использовать одно соединение,
// заранее созданное функцией ОткрытьСоединение()
СтрокаПодключения = OPI_PostgreSQL.СформироватьСтрокуПодключения(Адрес, База, Логин, Пароль);
Таблица = "testtable";
@ -17578,22 +17578,22 @@
OPI_ПолучениеДанныхТестов.ЗаписатьЛог(Результат, "СоздатьТаблицу", "PostgreSQL");
OPI_ПолучениеДанныхТестов.Проверка_РезультатИстина(Результат);
Таблица = "АБВ ГДЕ";
Результат = OPI_PostgreSQL.СоздатьТаблицу(Таблица, СтруктураКолонок, СтрокаПодключения);
OPI_ПолучениеДанныхТестов.ЗаписатьЛог(Результат, "СоздатьТаблицу (ошибка имени)", "PostgreSQL");
OPI_ПолучениеДанныхТестов.Проверка_РезультатЛожь(Результат);
Таблица = "somename";
СтруктураКолонок.Вставить("wtf_field" , "WTF");
Результат = OPI_PostgreSQL.СоздатьТаблицу(Таблица, СтруктураКолонок, СтрокаПодключения);
Результат = OPI_PostgreSQL.СоздатьТаблицу(Таблица, СтруктураКолонок, СтрокаПодключения);
OPI_ПолучениеДанныхТестов.ЗаписатьЛог(Результат, "СоздатьТаблицу (ошибка типа)", "PostgreSQL");
OPI_ПолучениеДанныхТестов.Проверка_РезультатЛожь(Результат);
КонецПроцедуры
Процедура PostgreSQL_ПолучитьИнформациюОТаблице(ПараметрыФункции)
@ -17603,10 +17603,10 @@
Пароль = ПараметрыФункции["PG_Password"];
База = "testbase1";
// При использовании строки подключения инициализируется новое соединение,
// которое будет закрыто после выполнения функции.
// В случае выполнения нескольких операций желательно использовать одно соединение,
// заранее созданное функцией ОткрытьСоединение()
// При использовании строки подключения инициализируется новое соединение,
// которое будет закрыто после выполнения функции.
// В случае выполнения нескольких операций желательно использовать одно соединение,
// заранее созданное функцией ОткрытьСоединение()
СтрокаПодключения = OPI_PostgreSQL.СформироватьСтрокуПодключения(Адрес, База, Логин, Пароль);
Таблица = "testtable";
@ -17617,14 +17617,14 @@
OPI_ПолучениеДанныхТестов.ЗаписатьЛог(Результат, "ПолучитьИнформациюОТаблице", "PostgreSQL");
OPI_ПолучениеДанныхТестов.Проверка_РезультатИстина(Результат);
Таблица = "heyho";
Результат = OPI_PostgreSQL.ПолучитьИнформациюОТаблице(Таблица, СтрокаПодключения);
OPI_ПолучениеДанныхТестов.ЗаписатьЛог(Результат, "ПолучитьИнформациюОТаблице (ошибка)", "PostgreSQL");
OPI_ПолучениеДанныхТестов.Проверка_Массив(Результат["data"], 0);
КонецПроцедуры
Процедура PostgreSQL_ДобавитьЗаписи(ПараметрыФункции)
@ -17741,10 +17741,10 @@
Пароль = ПараметрыФункции["PG_Password"];
База = "testbase1";
// При использовании строки подключения инициализируется новое соединение,
// которое будет закрыто после выполнения функции.
// В случае выполнения нескольких операций желательно использовать одно соединение,
// заранее созданное функцией ОткрытьСоединение()
// При использовании строки подключения инициализируется новое соединение,
// которое будет закрыто после выполнения функции.
// В случае выполнения нескольких операций желательно использовать одно соединение,
// заранее созданное функцией ОткрытьСоединение()
СтрокаПодключения = OPI_PostgreSQL.СформироватьСтрокуПодключения(Адрес, База, Логин, Пароль);
Таблица = "testtable";
@ -17755,7 +17755,7 @@
OPI_ПолучениеДанныхТестов.ЗаписатьЛог(Результат, "УдалитьТаблицу", "PostgreSQL");
OPI_ПолучениеДанныхТестов.Проверка_РезультатИстина(Результат);
КонецПроцедуры
Процедура PostgreSQL_УдалитьБазуДанных(ПараметрыФункции)
@ -17765,10 +17765,10 @@
Пароль = ПараметрыФункции["PG_Password"];
База = "postgres";
// При использовании строки подключения инициализируется новое соединение,
// которое будет закрыто после выполнения функции.
// В случае выполнения нескольких операций желательно использовать одно соединение,
// заранее созданное функцией ОткрытьСоединение()
// При использовании строки подключения инициализируется новое соединение,
// которое будет закрыто после выполнения функции.
// В случае выполнения нескольких операций желательно использовать одно соединение,
// заранее созданное функцией ОткрытьСоединение()
СтрокаПодключения = OPI_PostgreSQL.СформироватьСтрокуПодключения(Адрес, База, Логин, Пароль);
База = "testbase1";
@ -17779,9 +17779,9 @@
OPI_ПолучениеДанныхТестов.ЗаписатьЛог(Результат, "УдалитьБазуДанных", "PostgreSQL");
OPI_ПолучениеДанныхТестов.Проверка_РезультатИстина(Результат);
База = "testbase2";
Подключение = OPI_PostgreSQL.ОткрытьСоединение(СтрокаПодключения);
OPI_ПолучениеДанныхТестов.ЗаписатьЛог(Подключение, "УдалитьБазуДанных (открытие)", "PostgreSQL");
@ -17796,17 +17796,17 @@
OPI_ПолучениеДанныхТестов.ЗаписатьЛог(Результат, "УдалитьБазуДанных (ошибка)", "PostgreSQL");
OPI_ПолучениеДанныхТестов.Проверка_РезультатЛожь(Результат);
Закрытие = OPI_PostgreSQL.ЗакрытьСоединение(Подключение);
OPI_ПолучениеДанныхТестов.ЗаписатьЛог(Закрытие, "УдалитьБазуДанных (закрытие)", "PostgreSQL");
OPI_ПолучениеДанныхТестов.Проверка_РезультатИстина(Закрытие);
Результат = OPI_PostgreSQL.УдалитьБазуДанных(База, Подключение);
Результат = OPI_PostgreSQL.УдалитьБазуДанных(База, Подключение);
OPI_ПолучениеДанныхТестов.ЗаписатьЛог(Результат, "УдалитьБазуДанных (ошибка подключения)", "PostgreSQL");
OPI_ПолучениеДанныхТестов.Проверка_РезультатЛожь(Результат);
КонецПроцедуры
#КонецОбласти

View File

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

View File

@ -2314,18 +2314,18 @@
#Область PostgreSQL
Процедура Postgres_ОсновныеМетоды() Экспорт
ПараметрыТеста = Новый Структура;
ПараметрыТеста = Новый Структура;
OPI_ПолучениеДанныхТестов.ПараметрВКоллекцию("PG_IP" , ПараметрыТеста);
OPI_ПолучениеДанныхТестов.ПараметрВКоллекцию("PG_Password", ПараметрыТеста);
OPI_ПолучениеДанныхТестов.ПараметрВКоллекцию("Picture" , ПараметрыТеста);
PostgreSQL_СформироватьСтрокуПодключения(ПараметрыТеста);
PostgreSQL_ОткрытьСоединение(ПараметрыТеста);
PostgreSQL_ЗакрытьСоединение(ПараметрыТеста);
PostgreSQL_ЭтоКоннектор(ПараметрыТеста);
PostgreSQL_ВыполнитьЗапросSQL(ПараметрыТеста);
PostgreSQL_ОткрытьСоединение(ПараметрыТеста);
PostgreSQL_ЗакрытьСоединение(ПараметрыТеста);
PostgreSQL_ЭтоКоннектор(ПараметрыТеста);
PostgreSQL_ВыполнитьЗапросSQL(ПараметрыТеста);
КонецПроцедуры
Процедура Postgres_ORM() Экспорт
@ -16941,7 +16941,7 @@
Результат = OPI_SQLite.ВыполнитьЗапросSQL(ТекстЗапроса, , , Соединение);
Blob = Результат["data"][0]["data"]["blob"]; // SKIP
Результат["data"][0]["data"]["blob"] = "Base64"; // SKIP
OPI_ПолучениеДанныхТестов.ЗаписатьЛог(Результат, "ВыполнитьЗапросSQL", "SQLite"); // SKIP
OPI_ПолучениеДанныхТестов.Проверка_SQLiteУспех(Результат); // SKIP
@ -17322,14 +17322,14 @@
Результат = OPI_PostgreSQL.СформироватьСтрокуПодключения(Адрес, База, Логин, Пароль);
// END
Результат = СтрЗаменить(Результат, Пароль, "***");
Результат = СтрЗаменить(Результат, Адрес, "127.0.0.1");
// END
Результат = СтрЗаменить(Результат, Пароль, "***");
Результат = СтрЗаменить(Результат, Адрес , "127.0.0.1");
OPI_ПолучениеДанныхТестов.ЗаписатьЛог(Результат, "СформироватьСтрокуПодключения", "PostgreSQL");
OPI_ПолучениеДанныхТестов.Проверка_Строка(Результат);
OPI_ПолучениеДанныхТестов.Проверка_Строка(Результат);
КонецПроцедуры
Процедура PostgreSQL_ОткрытьСоединение(ПараметрыФункции)
@ -17342,11 +17342,11 @@
СтрокаПодключения = OPI_PostgreSQL.СформироватьСтрокуПодключения(Адрес, База, Логин, Пароль);
Результат = OPI_PostgreSQL.ОткрытьСоединение(СтрокаПодключения);
// END
// END
OPI_ПолучениеДанныхТестов.ЗаписатьЛог(Результат, "ОткрытьСоединение", "PostgreSQL");
OPI_ПолучениеДанныхТестов.Проверка_Компонента(Результат, "AddIn.OPI_PostgreSQL.Main");
OPI_ПолучениеДанныхТестов.Проверка_Компонента(Результат, "AddIn.OPI_PostgreSQL.Main");
КонецПроцедуры
Процедура PostgreSQL_ЗакрытьСоединение(ПараметрыФункции)
@ -17360,11 +17360,11 @@
Соединение = OPI_PostgreSQL.ОткрытьСоединение(СтрокаПодключения);
Результат = OPI_PostgreSQL.ЗакрытьСоединение(Соединение);
// END
// END
OPI_ПолучениеДанныхТестов.ЗаписатьЛог(Результат, "ЗакрытьСоединение", "PostgreSQL");
OPI_ПолучениеДанныхТестов.Проверка_РезультатИстина(Результат);
OPI_ПолучениеДанныхТестов.Проверка_РезультатИстина(Результат);
КонецПроцедуры
Процедура PostgreSQL_ЭтоКоннектор(ПараметрыФункции)
@ -17375,7 +17375,7 @@
База = "postgres";
СтрокаПодключения = OPI_PostgreSQL.СформироватьСтрокуПодключения(Адрес, База, Логин, Пароль);
Соединение = OPI_PostgreSQL.ОткрытьСоединение(СтрокаПодключения);
Результат = OPI_PostgreSQL.ЭтоКоннектор(Соединение);
@ -17398,7 +17398,7 @@
СтрокаПодключения = OPI_PostgreSQL.СформироватьСтрокуПодключения(Адрес, База, Логин, Пароль);
Соединение = OPI_PostgreSQL.ОткрытьСоединение(СтрокаПодключения);
OPI_PostgreSQL.УдалитьТаблицу("users", Соединение); // SKIP
Удаление = OPI_PostgreSQL.УдалитьТаблицу("test_table", Соединение); // SKIP
OPI_ПолучениеДанныхТестов.ЗаписатьЛог(Соединение, "ВыполнитьЗапросSQL (удаление)", "PostgreSQL"); // SKIP
@ -17431,12 +17431,12 @@
|VALUES ($1, $2, $3, $4, $5, $6);";
МассивПараметров = Новый Массив;
МассивПараметров.Добавить(Новый Структура("NAME" , "Vitaly"));
МассивПараметров.Добавить(Новый Структура("INT" , 25));
МассивПараметров.Добавить(Новый Структура("REAL" , 1000.12));
МассивПараметров.Добавить(Новый Структура("BOOL" , Истина));
МассивПараметров.Добавить(Новый Структура("NAME" , "Vitaly"));
МассивПараметров.Добавить(Новый Структура("INT" , 25));
МассивПараметров.Добавить(Новый Структура("REAL" , 1000.12));
МассивПараметров.Добавить(Новый Структура("BOOL" , Истина));
МассивПараметров.Добавить(Новый Структура("DATE" , OPI_Инструменты.ПолучитьТекущуюДату()));
МассивПараметров.Добавить(Новый Структура("BYTEA", Картинка));
МассивПараметров.Добавить(Новый Структура("BYTEA", Картинка));
Результат = OPI_PostgreSQL.ВыполнитьЗапросSQL(ТекстЗапроса, МассивПараметров, , Соединение);
@ -17450,7 +17450,7 @@
Результат = OPI_PostgreSQL.ВыполнитьЗапросSQL(ТекстЗапроса, , , Соединение);
Blob = Результат["data"][0]["data"]["BYTEA"]; // SKIP
Результат["data"][0]["data"]["BYTEA"] = "Base64"; // SKIP
OPI_ПолучениеДанныхТестов.ЗаписатьЛог(Результат, "ВыполнитьЗапросSQL", "PostgreSQL"); // SKIP
OPI_ПолучениеДанныхТестов.Проверка_РезультатИстина(Результат); // SKIP
@ -17492,10 +17492,10 @@
Пароль = ПараметрыФункции["PG_Password"];
База = "postgres";
// При использовании строки подключения инициализируется новое соединение,
// которое будет закрыто после выполнения функции.
// В случае выполнения нескольких операций желательно использовать одно соединение,
// заранее созданное функцией ОткрытьСоединение()
// При использовании строки подключения инициализируется новое соединение,
// которое будет закрыто после выполнения функции.
// В случае выполнения нескольких операций желательно использовать одно соединение,
// заранее созданное функцией ОткрытьСоединение()
СтрокаПодключения = OPI_PostgreSQL.СформироватьСтрокуПодключения(Адрес, База, Логин, Пароль);
База = "testbase1";
@ -17509,25 +17509,25 @@
OPI_ПолучениеДанныхТестов.ЗаписатьЛог(Результат, "СоздатьБазуДанных", "PostgreSQL");
OPI_ПолучениеДанныхТестов.Проверка_РезультатИстина(Результат);
База = "testbase2";
OPI_PostgreSQL.УдалитьБазуДанных(База, СтрокаПодключения);
Подключение = OPI_PostgreSQL.ОткрытьСоединение(СтрокаПодключения);
OPI_ПолучениеДанныхТестов.ЗаписатьЛог(Подключение, "СоздатьБазуДанных (открытие)", "PostgreSQL");
OPI_ПолучениеДанныхТестов.Проверка_Компонента(Подключение, "AddIn.OPI_PostgreSQL.Main");
Результат = OPI_PostgreSQL.СоздатьБазуДанных(База, Подключение);
OPI_ПолучениеДанныхТестов.ЗаписатьЛог(Результат, "СоздатьБазуДанных (подключение)", "PostgreSQL");
OPI_ПолучениеДанныхТестов.Проверка_РезультатИстина(Результат);
Результат = OPI_PostgreSQL.СоздатьБазуДанных(База, Подключение);
OPI_ПолучениеДанныхТестов.ЗаписатьЛог(Результат, "СоздатьБазуДанных (существующая)", "PostgreSQL");
OPI_ПолучениеДанныхТестов.Проверка_РезультатЛожь(Результат);
КонецПроцедуры
Процедура PostgreSQL_СоздатьТаблицу(ПараметрыФункции)
@ -17537,10 +17537,10 @@
Пароль = ПараметрыФункции["PG_Password"];
База = "testbase1";
// При использовании строки подключения инициализируется новое соединение,
// которое будет закрыто после выполнения функции.
// В случае выполнения нескольких операций желательно использовать одно соединение,
// заранее созданное функцией ОткрытьСоединение()
// При использовании строки подключения инициализируется новое соединение,
// которое будет закрыто после выполнения функции.
// В случае выполнения нескольких операций желательно использовать одно соединение,
// заранее созданное функцией ОткрытьСоединение()
СтрокаПодключения = OPI_PostgreSQL.СформироватьСтрокуПодключения(Адрес, База, Логин, Пароль);
Таблица = "testtable";
@ -17578,22 +17578,22 @@
OPI_ПолучениеДанныхТестов.ЗаписатьЛог(Результат, "СоздатьТаблицу", "PostgreSQL");
OPI_ПолучениеДанныхТестов.Проверка_РезультатИстина(Результат);
Таблица = "АБВ ГДЕ";
Результат = OPI_PostgreSQL.СоздатьТаблицу(Таблица, СтруктураКолонок, СтрокаПодключения);
OPI_ПолучениеДанныхТестов.ЗаписатьЛог(Результат, "СоздатьТаблицу (ошибка имени)", "PostgreSQL");
OPI_ПолучениеДанныхТестов.Проверка_РезультатЛожь(Результат);
Таблица = "somename";
СтруктураКолонок.Вставить("wtf_field" , "WTF");
Результат = OPI_PostgreSQL.СоздатьТаблицу(Таблица, СтруктураКолонок, СтрокаПодключения);
Результат = OPI_PostgreSQL.СоздатьТаблицу(Таблица, СтруктураКолонок, СтрокаПодключения);
OPI_ПолучениеДанныхТестов.ЗаписатьЛог(Результат, "СоздатьТаблицу (ошибка типа)", "PostgreSQL");
OPI_ПолучениеДанныхТестов.Проверка_РезультатЛожь(Результат);
КонецПроцедуры
Процедура PostgreSQL_ПолучитьИнформациюОТаблице(ПараметрыФункции)
@ -17603,10 +17603,10 @@
Пароль = ПараметрыФункции["PG_Password"];
База = "testbase1";
// При использовании строки подключения инициализируется новое соединение,
// которое будет закрыто после выполнения функции.
// В случае выполнения нескольких операций желательно использовать одно соединение,
// заранее созданное функцией ОткрытьСоединение()
// При использовании строки подключения инициализируется новое соединение,
// которое будет закрыто после выполнения функции.
// В случае выполнения нескольких операций желательно использовать одно соединение,
// заранее созданное функцией ОткрытьСоединение()
СтрокаПодключения = OPI_PostgreSQL.СформироватьСтрокуПодключения(Адрес, База, Логин, Пароль);
Таблица = "testtable";
@ -17617,14 +17617,14 @@
OPI_ПолучениеДанныхТестов.ЗаписатьЛог(Результат, "ПолучитьИнформациюОТаблице", "PostgreSQL");
OPI_ПолучениеДанныхТестов.Проверка_РезультатИстина(Результат);
Таблица = "heyho";
Результат = OPI_PostgreSQL.ПолучитьИнформациюОТаблице(Таблица, СтрокаПодключения);
OPI_ПолучениеДанныхТестов.ЗаписатьЛог(Результат, "ПолучитьИнформациюОТаблице (ошибка)", "PostgreSQL");
OPI_ПолучениеДанныхТестов.Проверка_Массив(Результат["data"], 0);
КонецПроцедуры
Процедура PostgreSQL_ДобавитьЗаписи(ПараметрыФункции)
@ -17741,10 +17741,10 @@
Пароль = ПараметрыФункции["PG_Password"];
База = "testbase1";
// При использовании строки подключения инициализируется новое соединение,
// которое будет закрыто после выполнения функции.
// В случае выполнения нескольких операций желательно использовать одно соединение,
// заранее созданное функцией ОткрытьСоединение()
// При использовании строки подключения инициализируется новое соединение,
// которое будет закрыто после выполнения функции.
// В случае выполнения нескольких операций желательно использовать одно соединение,
// заранее созданное функцией ОткрытьСоединение()
СтрокаПодключения = OPI_PostgreSQL.СформироватьСтрокуПодключения(Адрес, База, Логин, Пароль);
Таблица = "testtable";
@ -17755,7 +17755,7 @@
OPI_ПолучениеДанныхТестов.ЗаписатьЛог(Результат, "УдалитьТаблицу", "PostgreSQL");
OPI_ПолучениеДанныхТестов.Проверка_РезультатИстина(Результат);
КонецПроцедуры
Процедура PostgreSQL_УдалитьБазуДанных(ПараметрыФункции)
@ -17765,10 +17765,10 @@
Пароль = ПараметрыФункции["PG_Password"];
База = "postgres";
// При использовании строки подключения инициализируется новое соединение,
// которое будет закрыто после выполнения функции.
// В случае выполнения нескольких операций желательно использовать одно соединение,
// заранее созданное функцией ОткрытьСоединение()
// При использовании строки подключения инициализируется новое соединение,
// которое будет закрыто после выполнения функции.
// В случае выполнения нескольких операций желательно использовать одно соединение,
// заранее созданное функцией ОткрытьСоединение()
СтрокаПодключения = OPI_PostgreSQL.СформироватьСтрокуПодключения(Адрес, База, Логин, Пароль);
База = "testbase1";
@ -17779,9 +17779,9 @@
OPI_ПолучениеДанныхТестов.ЗаписатьЛог(Результат, "УдалитьБазуДанных", "PostgreSQL");
OPI_ПолучениеДанныхТестов.Проверка_РезультатИстина(Результат);
База = "testbase2";
Подключение = OPI_PostgreSQL.ОткрытьСоединение(СтрокаПодключения);
OPI_ПолучениеДанныхТестов.ЗаписатьЛог(Подключение, "УдалитьБазуДанных (открытие)", "PostgreSQL");
@ -17796,17 +17796,17 @@
OPI_ПолучениеДанныхТестов.ЗаписатьЛог(Результат, "УдалитьБазуДанных (ошибка)", "PostgreSQL");
OPI_ПолучениеДанныхТестов.Проверка_РезультатЛожь(Результат);
Закрытие = OPI_PostgreSQL.ЗакрытьСоединение(Подключение);
OPI_ПолучениеДанныхТестов.ЗаписатьЛог(Закрытие, "УдалитьБазуДанных (закрытие)", "PostgreSQL");
OPI_ПолучениеДанныхТестов.Проверка_РезультатИстина(Закрытие);
Результат = OPI_PostgreSQL.УдалитьБазуДанных(База, Подключение);
Результат = OPI_PostgreSQL.УдалитьБазуДанных(База, Подключение);
OPI_ПолучениеДанныхТестов.ЗаписатьЛог(Результат, "УдалитьБазуДанных (ошибка подключения)", "PostgreSQL");
OPI_ПолучениеДанныхТестов.Проверка_РезультатЛожь(Результат);
КонецПроцедуры
#КонецОбласти