You've already forked OpenIntegrations
							
							
				mirror of
				https://github.com/Bayselonarrend/OpenIntegrations.git
				synced 2025-10-30 23:47:46 +02:00 
			
		
		
		
	Main build (Jenkins)
This commit is contained in:
		| @@ -5,3 +5,5 @@ | ||||
|  | ||||
|     ConnectionString = OPI_PostgreSQL.GenerateConnectionString(Address, Base, Login, Password); | ||||
|     Result           = OPI_PostgreSQL.CreateConnection(ConnectionString); | ||||
|  | ||||
|     OPI_PostgreSQL.CloseConnection(Result); | ||||
|   | ||||
							
								
								
									
										2
									
								
								docs/en/examples/PostgreSQL/IsConnector.txt
									
									
									
									
										vendored
									
									
								
							
							
						
						
									
										2
									
								
								docs/en/examples/PostgreSQL/IsConnector.txt
									
									
									
									
										vendored
									
									
								
							| @@ -7,3 +7,5 @@ | ||||
|  | ||||
|     Connection = OPI_PostgreSQL.CreateConnection(ConnectionString); | ||||
|     Result     = OPI_PostgreSQL.IsConnector(Connection); | ||||
|  | ||||
|     OPI_PostgreSQL.CloseConnection(Result); | ||||
|   | ||||
| @@ -37,6 +37,8 @@ import TabItem from '@theme/TabItem'; | ||||
|  | ||||
|     ConnectionString = OPI_PostgreSQL.GenerateConnectionString(Address, Base, Login, Password); | ||||
|     Result           = OPI_PostgreSQL.CreateConnection(ConnectionString); | ||||
|  | ||||
|     OPI_PostgreSQL.CloseConnection(Result); | ||||
| ``` | ||||
|   | ||||
|  | ||||
|   | ||||
| @@ -39,6 +39,8 @@ import TabItem from '@theme/TabItem'; | ||||
|  | ||||
|     Connection = OPI_PostgreSQL.CreateConnection(ConnectionString); | ||||
|     Result     = OPI_PostgreSQL.IsConnector(Connection); | ||||
|  | ||||
|     OPI_PostgreSQL.CloseConnection(Result); | ||||
| ``` | ||||
|   | ||||
|  | ||||
|   | ||||
| @@ -5,3 +5,5 @@ | ||||
|  | ||||
|     СтрокаПодключения = OPI_PostgreSQL.СформироватьСтрокуПодключения(Адрес, База, Логин, Пароль); | ||||
|     Результат         = OPI_PostgreSQL.ОткрытьСоединение(СтрокаПодключения); | ||||
|  | ||||
|     OPI_PostgreSQL.ЗакрытьСоединение(Результат); | ||||
|   | ||||
							
								
								
									
										2
									
								
								docs/ru/examples/PostgreSQL/ЭтоКоннектор.txt
									
									
									
									
										vendored
									
									
								
							
							
						
						
									
										2
									
								
								docs/ru/examples/PostgreSQL/ЭтоКоннектор.txt
									
									
									
									
										vendored
									
									
								
							| @@ -7,3 +7,5 @@ | ||||
|  | ||||
|     Соединение = OPI_PostgreSQL.ОткрытьСоединение(СтрокаПодключения); | ||||
|     Результат  = OPI_PostgreSQL.ЭтоКоннектор(Соединение); | ||||
|  | ||||
|     OPI_PostgreSQL.ЗакрытьСоединение(Результат); | ||||
|   | ||||
| @@ -37,6 +37,8 @@ import TabItem from '@theme/TabItem'; | ||||
|  | ||||
|     СтрокаПодключения = OPI_PostgreSQL.СформироватьСтрокуПодключения(Адрес, База, Логин, Пароль); | ||||
|     Результат         = OPI_PostgreSQL.ОткрытьСоединение(СтрокаПодключения); | ||||
|  | ||||
|     OPI_PostgreSQL.ЗакрытьСоединение(Результат); | ||||
| ``` | ||||
|      | ||||
|  | ||||
|   | ||||
| @@ -100,4 +100,21 @@ import TabItem from '@theme/TabItem'; | ||||
|  | ||||
|  | ||||
|  | ||||
|  | ||||
| ```json title="Результат" | ||||
| { | ||||
|  "data": [ | ||||
|   { | ||||
|    "age": 25, | ||||
|    "created_at": "2025-02-14", | ||||
|    "data": { | ||||
|     "BYTEA": "Base64" | ||||
|    }, | ||||
|    "id": 1, | ||||
|    "is_active": true, | ||||
|    "name": "Vitaly", | ||||
|    "salary": 1000.11999511719 | ||||
|   } | ||||
|  ], | ||||
|  "result": true | ||||
| } | ||||
| ``` | ||||
|   | ||||
| @@ -39,6 +39,8 @@ import TabItem from '@theme/TabItem'; | ||||
|  | ||||
|     Соединение = OPI_PostgreSQL.ОткрытьСоединение(СтрокаПодключения); | ||||
|     Результат  = OPI_PostgreSQL.ЭтоКоннектор(Соединение); | ||||
|  | ||||
|     OPI_PostgreSQL.ЗакрытьСоединение(Результат); | ||||
| ``` | ||||
|      | ||||
|  | ||||
|   | ||||
							
								
								
									
										6
									
								
								docs/ru/md/PostgreSQL/Orm/Delete-table.mdx
									
									
									
									
										vendored
									
									
								
							
							
						
						
									
										6
									
								
								docs/ru/md/PostgreSQL/Orm/Delete-table.mdx
									
									
									
									
										vendored
									
									
								
							| @@ -45,4 +45,8 @@ import TabItem from '@theme/TabItem'; | ||||
|  | ||||
|  | ||||
|  | ||||
|  | ||||
| ```json title="Результат" | ||||
| { | ||||
|  "result": true | ||||
| } | ||||
| ``` | ||||
|   | ||||
							
								
								
									
										7
									
								
								docs/ru/md/PostgreSQL/Orm/Drop-database.mdx
									
									
									
									
										vendored
									
									
								
							
							
						
						
									
										7
									
								
								docs/ru/md/PostgreSQL/Orm/Drop-database.mdx
									
									
									
									
										vendored
									
									
								
							| @@ -45,4 +45,9 @@ import TabItem from '@theme/TabItem'; | ||||
|  | ||||
|  | ||||
|  | ||||
|  | ||||
| ```json title="Результат" | ||||
| { | ||||
|  "error": "db error: ERROR: database \"testbase1\" is being accessed by other users\nDETAIL: There are 8 other sessions using the database.", | ||||
|  "result": false | ||||
| } | ||||
| ``` | ||||
|   | ||||
							
								
								
									
										43
									
								
								docs/ru/md/PostgreSQL/Orm/Get-records.mdx
									
									
									
									
										vendored
									
									
								
							
							
						
						
									
										43
									
								
								docs/ru/md/PostgreSQL/Orm/Get-records.mdx
									
									
									
									
										vendored
									
									
								
							| @@ -76,4 +76,45 @@ import TabItem from '@theme/TabItem'; | ||||
|  | ||||
|  | ||||
|  | ||||
|  | ||||
| ```json title="Результат" | ||||
| { | ||||
|  "data": [ | ||||
|   { | ||||
|    "bigint_field": 9999999, | ||||
|    "bigserial_field": 9999999, | ||||
|    "bool_field": true, | ||||
|    "bytea_field": { | ||||
|     "BYTEA": "/9j/4VTBRX..." | ||||
|    }, | ||||
|    "char_field": "A", | ||||
|    "charn_field": "AAA", | ||||
|    "date_field": "2025-02-14", | ||||
|    "dp_field": 1, | ||||
|    "int_field": 100, | ||||
|    "ip_field": "127.0.0.1", | ||||
|    "json_field": { | ||||
|     "key": "ItsKey", | ||||
|     "value": 10 | ||||
|    }, | ||||
|    "jsonb_field": { | ||||
|     "key": "ItsKey", | ||||
|     "value": 10 | ||||
|    }, | ||||
|    "name_field": "Vitaly", | ||||
|    "oid_field": 24576, | ||||
|    "oldchar_field": 1, | ||||
|    "real_field": 15.1999998092651, | ||||
|    "serial_field": 100, | ||||
|    "smallint_field": 5, | ||||
|    "smallserial_field": 6, | ||||
|    "text_field": "Some text", | ||||
|    "time_field": "13:42:09.909336", | ||||
|    "ts_field": 1739207915, | ||||
|    "tswtz_field": 1739207915, | ||||
|    "uuid_field": "0280f885-eddf-4a42-a7e7-54b2d293ef99", | ||||
|    "varchar_field": "Some varchar" | ||||
|   } | ||||
|  ], | ||||
|  "result": true | ||||
| } | ||||
| ``` | ||||
|   | ||||
							
								
								
									
										13018
									
								
								service/dictionaries/en.json
									
									
									
									
										vendored
									
									
								
							
							
						
						
									
										13018
									
								
								service/dictionaries/en.json
									
									
									
									
										vendored
									
									
								
							
										
											
												File diff suppressed because it is too large
												Load Diff
											
										
									
								
							
							
								
								
									
										16
									
								
								src/en/OInt/core/Modules/OPI_PostgreSQL.os
									
									
									
									
										vendored
									
									
								
							
							
						
						
									
										16
									
								
								src/en/OInt/core/Modules/OPI_PostgreSQL.os
									
									
									
									
										vendored
									
									
								
							| @@ -141,13 +141,25 @@ Function ExecuteSQLQuery(Val QueryText | ||||
|     OPI_TypeConversion.GetBoolean(ForceResult); | ||||
|  | ||||
|     Parameters_ = ProcessParameters(Parameters); | ||||
|     Connector   = CreateConnection(Connection); | ||||
|  | ||||
|     If TypeOf(Connector) <> Type("AddIn.OPI_PostgreSQL.Main") Then | ||||
|     If IsConnector(Connection) Then | ||||
|         CloseConnection = False; | ||||
|         Connector       = Connection; | ||||
|     Else | ||||
|         CloseConnection    = True; | ||||
|         Connector          = CreateConnection(Connection); | ||||
|     EndIf; | ||||
|  | ||||
|     If Not IsConnector(Connector) Then | ||||
|         Return Connector; | ||||
|     EndIf; | ||||
|  | ||||
|     Result = Connector.Execute(QueryText, Parameters_, ForceResult); | ||||
|  | ||||
|     If CloseConnection Then | ||||
|         CloseConnection(Connector); | ||||
|     EndIf; | ||||
|  | ||||
|     Result = OPI_Tools.JsonToStructure(Result); | ||||
|  | ||||
|     Return Result; | ||||
|   | ||||
| @@ -17342,6 +17342,8 @@ Procedure PostgreSQL_CreateConnection(FunctionParameters) | ||||
|     ConnectionString = OPI_PostgreSQL.GenerateConnectionString(Address, Base, Login, Password); | ||||
|     Result           = OPI_PostgreSQL.CreateConnection(ConnectionString); | ||||
|  | ||||
|     OPI_PostgreSQL.CloseConnection(Result); | ||||
|  | ||||
|     // END | ||||
|  | ||||
|     OPI_TestDataRetrieval.WriteLog(Result, "CreateConnection", "PostgreSQL"); | ||||
| @@ -17379,6 +17381,8 @@ Procedure PostgreSQL_IsConnector(FunctionParameters) | ||||
|     Connection = OPI_PostgreSQL.CreateConnection(ConnectionString); | ||||
|     Result     = OPI_PostgreSQL.IsConnector(Connection); | ||||
|  | ||||
|     OPI_PostgreSQL.CloseConnection(Result); | ||||
|  | ||||
|     // END | ||||
|  | ||||
|     OPI_TestDataRetrieval.WriteLog(Result, "IsConnector", "PostgreSQL"); | ||||
| @@ -17528,6 +17532,8 @@ Procedure PostgreSQL_CreateDatabase(FunctionParameters) | ||||
|     OPI_TestDataRetrieval.WriteLog(Result, "CreateDatabase (existing)", "PostgreSQL"); | ||||
|     OPI_TestDataRetrieval.Check_ResultFalse(Result); | ||||
|  | ||||
|     OPI_PostgreSQL.CloseConnection(Connection); | ||||
|  | ||||
| EndProcedure | ||||
|  | ||||
| Procedure PostgreSQL_CreateTable(FunctionParameters) | ||||
|   | ||||
| @@ -141,13 +141,25 @@ Function ExecuteSQLQuery(Val QueryText | ||||
|     OPI_TypeConversion.GetBoolean(ForceResult); | ||||
|  | ||||
|     Parameters_ = ProcessParameters(Parameters); | ||||
|     Connector   = CreateConnection(Connection); | ||||
|  | ||||
|     If TypeOf(Connector) <> Type("AddIn.OPI_PostgreSQL.Main") Then | ||||
|     If IsConnector(Connection) Then | ||||
|         CloseConnection = False; | ||||
|         Connector       = Connection; | ||||
|     Else | ||||
|         CloseConnection    = True; | ||||
|         Connector          = CreateConnection(Connection); | ||||
|     EndIf; | ||||
|  | ||||
|     If Not IsConnector(Connector) Then | ||||
|         Return Connector; | ||||
|     EndIf; | ||||
|  | ||||
|     Result = Connector.Execute(QueryText, Parameters_, ForceResult); | ||||
|  | ||||
|     If CloseConnection Then | ||||
|         CloseConnection(Connector); | ||||
|     EndIf; | ||||
|  | ||||
|     Result = OPI_Tools.JsonToStructure(Result); | ||||
|  | ||||
|     Return Result; | ||||
|   | ||||
| @@ -17342,6 +17342,8 @@ Procedure PostgreSQL_CreateConnection(FunctionParameters) | ||||
|     ConnectionString = OPI_PostgreSQL.GenerateConnectionString(Address, Base, Login, Password); | ||||
|     Result           = OPI_PostgreSQL.CreateConnection(ConnectionString); | ||||
|  | ||||
|     OPI_PostgreSQL.CloseConnection(Result); | ||||
|  | ||||
|     // END | ||||
|  | ||||
|     OPI_TestDataRetrieval.WriteLog(Result, "CreateConnection", "PostgreSQL"); | ||||
| @@ -17379,6 +17381,8 @@ Procedure PostgreSQL_IsConnector(FunctionParameters) | ||||
|     Connection = OPI_PostgreSQL.CreateConnection(ConnectionString); | ||||
|     Result     = OPI_PostgreSQL.IsConnector(Connection); | ||||
|  | ||||
|     OPI_PostgreSQL.CloseConnection(Result); | ||||
|  | ||||
|     // END | ||||
|  | ||||
|     OPI_TestDataRetrieval.WriteLog(Result, "IsConnector", "PostgreSQL"); | ||||
| @@ -17528,6 +17532,8 @@ Procedure PostgreSQL_CreateDatabase(FunctionParameters) | ||||
|     OPI_TestDataRetrieval.WriteLog(Result, "CreateDatabase (existing)", "PostgreSQL"); | ||||
|     OPI_TestDataRetrieval.Check_ResultFalse(Result); | ||||
|  | ||||
|     OPI_PostgreSQL.CloseConnection(Connection); | ||||
|  | ||||
| EndProcedure | ||||
|  | ||||
| Procedure PostgreSQL_CreateTable(FunctionParameters) | ||||
|   | ||||
							
								
								
									
										24
									
								
								src/ru/OInt/core/Modules/OPI_PostgreSQL.os
									
									
									
									
										vendored
									
									
								
							
							
						
						
									
										24
									
								
								src/ru/OInt/core/Modules/OPI_PostgreSQL.os
									
									
									
									
										vendored
									
									
								
							| @@ -57,10 +57,10 @@ | ||||
| //  Произвольный - Объект коннектора или структура с информацией об ошибке | ||||
| Функция ОткрытьСоединение(Знач СтрокаПодключения = "") Экспорт | ||||
|  | ||||
| 	Если ЭтоКоннектор(СтрокаПодключения) Тогда | ||||
| 		Возврат СтрокаПодключения; | ||||
| 	КонецЕсли; | ||||
| 	 | ||||
|     Если ЭтоКоннектор(СтрокаПодключения) Тогда | ||||
|         Возврат СтрокаПодключения; | ||||
|     КонецЕсли; | ||||
|  | ||||
|     OPI_ПреобразованиеТипов.ПолучитьСтроку(СтрокаПодключения); | ||||
|     OPI_Инструменты.ВернутьУправляющиеПоследовательности(СтрокаПодключения); | ||||
|  | ||||
| @@ -141,25 +141,25 @@ | ||||
|     OPI_ПреобразованиеТипов.ПолучитьБулево(ФорсироватьРезультат); | ||||
|  | ||||
|     Параметры_ = ОбработатьПараметры(Параметры); | ||||
|      | ||||
|  | ||||
|     Если ЭтоКоннектор(Соединение) Тогда | ||||
|         ЗакрыватьСоединение = Ложь; | ||||
|         Коннектор = Соединение; | ||||
|         Коннектор           = Соединение; | ||||
|     Иначе | ||||
|     	ЗакрыватьСоединение = Истина; | ||||
|     	Коннектор  = ОткрытьСоединение(Соединение); | ||||
|         ЗакрыватьСоединение    = Истина; | ||||
|         Коннектор              = ОткрытьСоединение(Соединение); | ||||
|     КонецЕсли; | ||||
|      | ||||
|  | ||||
|     Если Не ЭтоКоннектор(Коннектор) Тогда | ||||
|         Возврат Коннектор; | ||||
|     КонецЕсли; | ||||
|  | ||||
|     Результат = Коннектор.Execute(ТекстЗапроса, Параметры_, ФорсироватьРезультат); | ||||
|      | ||||
|  | ||||
|     Если ЗакрыватьСоединение Тогда | ||||
|     	ЗакрытьСоединение(Коннектор); | ||||
|         ЗакрытьСоединение(Коннектор); | ||||
|     КонецЕсли; | ||||
|      | ||||
|  | ||||
|     Результат = OPI_Инструменты.JsonВСтруктуру(Результат); | ||||
|  | ||||
|     Возврат Результат; | ||||
|   | ||||
							
								
								
									
										10
									
								
								src/ru/OInt/tests/Modules/internal/OPI_Тесты.os
									
									
									
									
										vendored
									
									
								
							
							
						
						
									
										10
									
								
								src/ru/OInt/tests/Modules/internal/OPI_Тесты.os
									
									
									
									
										vendored
									
									
								
							| @@ -17342,8 +17342,8 @@ | ||||
|     СтрокаПодключения = OPI_PostgreSQL.СформироватьСтрокуПодключения(Адрес, База, Логин, Пароль); | ||||
|     Результат         = OPI_PostgreSQL.ОткрытьСоединение(СтрокаПодключения); | ||||
|  | ||||
| 	OPI_PostgreSQL.ЗакрытьСоединение(Результат); | ||||
| 	 | ||||
|     OPI_PostgreSQL.ЗакрытьСоединение(Результат); | ||||
|  | ||||
|     // END | ||||
|  | ||||
|     OPI_ПолучениеДанныхТестов.ЗаписатьЛог(Результат, "ОткрытьСоединение", "PostgreSQL"); | ||||
| @@ -17380,7 +17380,7 @@ | ||||
|  | ||||
|     Соединение = OPI_PostgreSQL.ОткрытьСоединение(СтрокаПодключения); | ||||
|     Результат  = OPI_PostgreSQL.ЭтоКоннектор(Соединение); | ||||
|      | ||||
|  | ||||
|     OPI_PostgreSQL.ЗакрытьСоединение(Результат); | ||||
|  | ||||
|     // END | ||||
| @@ -17532,8 +17532,8 @@ | ||||
|     OPI_ПолучениеДанныхТестов.ЗаписатьЛог(Результат, "СоздатьБазуДанных (существующая)", "PostgreSQL"); | ||||
|     OPI_ПолучениеДанныхТестов.Проверка_РезультатЛожь(Результат); | ||||
|  | ||||
| 	OPI_PostgreSQL.ЗакрытьСоединение(Подключение); | ||||
| 	 | ||||
|     OPI_PostgreSQL.ЗакрытьСоединение(Подключение); | ||||
|  | ||||
| КонецПроцедуры | ||||
|  | ||||
| Процедура PostgreSQL_СоздатьТаблицу(ПараметрыФункции) | ||||
|   | ||||
| @@ -2155,9 +2155,9 @@ | ||||
| КонецФункции | ||||
|  | ||||
| Функция ПолучитьОбщийМодуль(Знач Имя) | ||||
|      | ||||
|  | ||||
|     Модуль = Вычислить(Имя); | ||||
|      | ||||
|  | ||||
|     Возврат Модуль; | ||||
| КонецФункции | ||||
|  | ||||
|   | ||||
| @@ -57,10 +57,10 @@ | ||||
| //  Произвольный - Объект коннектора или структура с информацией об ошибке | ||||
| Функция ОткрытьСоединение(Знач СтрокаПодключения = "") Экспорт | ||||
|  | ||||
| 	Если ЭтоКоннектор(СтрокаПодключения) Тогда | ||||
| 		Возврат СтрокаПодключения; | ||||
| 	КонецЕсли; | ||||
| 	 | ||||
|     Если ЭтоКоннектор(СтрокаПодключения) Тогда | ||||
|         Возврат СтрокаПодключения; | ||||
|     КонецЕсли; | ||||
|  | ||||
|     OPI_ПреобразованиеТипов.ПолучитьСтроку(СтрокаПодключения); | ||||
|     OPI_Инструменты.ВернутьУправляющиеПоследовательности(СтрокаПодключения); | ||||
|  | ||||
| @@ -141,25 +141,25 @@ | ||||
|     OPI_ПреобразованиеТипов.ПолучитьБулево(ФорсироватьРезультат); | ||||
|  | ||||
|     Параметры_ = ОбработатьПараметры(Параметры); | ||||
|      | ||||
|  | ||||
|     Если ЭтоКоннектор(Соединение) Тогда | ||||
|         ЗакрыватьСоединение = Ложь; | ||||
|         Коннектор = Соединение; | ||||
|         Коннектор           = Соединение; | ||||
|     Иначе | ||||
|     	ЗакрыватьСоединение = Истина; | ||||
|     	Коннектор  = ОткрытьСоединение(Соединение); | ||||
|         ЗакрыватьСоединение    = Истина; | ||||
|         Коннектор              = ОткрытьСоединение(Соединение); | ||||
|     КонецЕсли; | ||||
|      | ||||
|  | ||||
|     Если Не ЭтоКоннектор(Коннектор) Тогда | ||||
|         Возврат Коннектор; | ||||
|     КонецЕсли; | ||||
|  | ||||
|     Результат = Коннектор.Execute(ТекстЗапроса, Параметры_, ФорсироватьРезультат); | ||||
|      | ||||
|  | ||||
|     Если ЗакрыватьСоединение Тогда | ||||
|     	ЗакрытьСоединение(Коннектор); | ||||
|         ЗакрытьСоединение(Коннектор); | ||||
|     КонецЕсли; | ||||
|      | ||||
|  | ||||
|     Результат = OPI_Инструменты.JsonВСтруктуру(Результат); | ||||
|  | ||||
|     Возврат Результат; | ||||
|   | ||||
| @@ -17342,8 +17342,8 @@ | ||||
|     СтрокаПодключения = OPI_PostgreSQL.СформироватьСтрокуПодключения(Адрес, База, Логин, Пароль); | ||||
|     Результат         = OPI_PostgreSQL.ОткрытьСоединение(СтрокаПодключения); | ||||
|  | ||||
| 	OPI_PostgreSQL.ЗакрытьСоединение(Результат); | ||||
| 	 | ||||
|     OPI_PostgreSQL.ЗакрытьСоединение(Результат); | ||||
|  | ||||
|     // END | ||||
|  | ||||
|     OPI_ПолучениеДанныхТестов.ЗаписатьЛог(Результат, "ОткрытьСоединение", "PostgreSQL"); | ||||
| @@ -17380,7 +17380,7 @@ | ||||
|  | ||||
|     Соединение = OPI_PostgreSQL.ОткрытьСоединение(СтрокаПодключения); | ||||
|     Результат  = OPI_PostgreSQL.ЭтоКоннектор(Соединение); | ||||
|      | ||||
|  | ||||
|     OPI_PostgreSQL.ЗакрытьСоединение(Результат); | ||||
|  | ||||
|     // END | ||||
| @@ -17532,8 +17532,8 @@ | ||||
|     OPI_ПолучениеДанныхТестов.ЗаписатьЛог(Результат, "СоздатьБазуДанных (существующая)", "PostgreSQL"); | ||||
|     OPI_ПолучениеДанныхТестов.Проверка_РезультатЛожь(Результат); | ||||
|  | ||||
| 	OPI_PostgreSQL.ЗакрытьСоединение(Подключение); | ||||
| 	 | ||||
|     OPI_PostgreSQL.ЗакрытьСоединение(Подключение); | ||||
|  | ||||
| КонецПроцедуры | ||||
|  | ||||
| Процедура PostgreSQL_СоздатьТаблицу(ПараметрыФункции) | ||||
|   | ||||
		Reference in New Issue
	
	Block a user