mirror of
https://github.com/Bayselonarrend/OpenIntegrations.git
synced 2025-03-23 21:29:38 +02:00
Main build (Jenkins)
This commit is contained in:
parent
55689caa16
commit
02af8cc7d4
2
docs/en/examples/PostgreSQL/AddRecords.txt
vendored
2
docs/en/examples/PostgreSQL/AddRecords.txt
vendored
@ -12,7 +12,7 @@
|
||||
|
||||
RecordStructure = New Structure;
|
||||
RecordStructure.Insert("bool_field" , New Structure("BOOL" , True));
|
||||
RecordStructure.Insert("char_field" , New Structure("OLDCHAR" , "A"));
|
||||
RecordStructure.Insert("char_field" , New Structure("OLDCHAR" , 1));
|
||||
RecordStructure.Insert("smallint_field", New Structure("SMALLINT" , 5));
|
||||
RecordStructure.Insert("int_field" , New Structure("INT" , 100));
|
||||
RecordStructure.Insert("oid_field" , New Structure("OID" , 24576));
|
||||
|
2
docs/en/md/SQLite/Orm/Add-records.mdx
vendored
2
docs/en/md/SQLite/Orm/Add-records.mdx
vendored
@ -20,7 +20,7 @@ import TabItem from '@theme/TabItem';
|
||||
| Connection | --db | String, Arbitrary | ✖ | Existing connection or database path |
|
||||
|
||||
|
||||
Returns: Structure Of KeyAndValue, String - Result of query execution
|
||||
Returns: Map Of KeyAndValue - Result of query execution
|
||||
|
||||
<br/>
|
||||
|
||||
|
2
docs/en/md/SQLite/Orm/Clear-table.mdx
vendored
2
docs/en/md/SQLite/Orm/Clear-table.mdx
vendored
@ -18,7 +18,7 @@ import TabItem from '@theme/TabItem';
|
||||
| Connection | --db | String, Arbitrary | ✖ | Existing connection or database path |
|
||||
|
||||
|
||||
Returns: Structure Of KeyAndValue, String - Result of query execution
|
||||
Returns: Map Of KeyAndValue - Result of query execution
|
||||
|
||||
<br/>
|
||||
|
||||
|
2
docs/en/md/SQLite/Orm/Create-database.mdx
vendored
2
docs/en/md/SQLite/Orm/Create-database.mdx
vendored
@ -18,7 +18,7 @@ import TabItem from '@theme/TabItem';
|
||||
| Connection | --dbc | String, Arbitrary | ✖ | Connection or connection string |
|
||||
|
||||
|
||||
Returns: Structure Of KeyAndValue, String - Result of query execution
|
||||
Returns: Structure Of KeyAndValue - Result of query execution
|
||||
|
||||
<br/>
|
||||
|
||||
|
2
docs/en/md/SQLite/Orm/Create-table.mdx
vendored
2
docs/en/md/SQLite/Orm/Create-table.mdx
vendored
@ -19,7 +19,7 @@ import TabItem from '@theme/TabItem';
|
||||
| Connection | --db | String, Arbitrary | ✖ | Existing connection or database path |
|
||||
|
||||
|
||||
Returns: Structure Of KeyAndValue, String - Result of query execution
|
||||
Returns: Map Of KeyAndValue - Result of query execution
|
||||
|
||||
<br/>
|
||||
|
||||
|
2
docs/en/md/SQLite/Orm/Delete-posts.mdx
vendored
2
docs/en/md/SQLite/Orm/Delete-posts.mdx
vendored
@ -19,7 +19,7 @@ import TabItem from '@theme/TabItem';
|
||||
| Connection | --db | String, Arbitrary | ✖ | Existing connection or database path |
|
||||
|
||||
|
||||
Returns: Structure Of KeyAndValue, String - Result of query execution
|
||||
Returns: Map Of KeyAndValue - Result of query execution
|
||||
|
||||
<br/>
|
||||
|
||||
|
2
docs/en/md/SQLite/Orm/Delete-table.mdx
vendored
2
docs/en/md/SQLite/Orm/Delete-table.mdx
vendored
@ -18,7 +18,7 @@ import TabItem from '@theme/TabItem';
|
||||
| Connection | --db | String, Arbitrary | ✖ | Existing connection or database path |
|
||||
|
||||
|
||||
Returns: Structure Of KeyAndValue, String - Result of query execution
|
||||
Returns: Map Of KeyAndValue - Result of query execution
|
||||
|
||||
<br/>
|
||||
|
||||
|
2
docs/en/md/SQLite/Orm/Drop-database.mdx
vendored
2
docs/en/md/SQLite/Orm/Drop-database.mdx
vendored
@ -18,7 +18,7 @@ import TabItem from '@theme/TabItem';
|
||||
| Connection | --dbc | String, Arbitrary | ✖ | Connection or connection string |
|
||||
|
||||
|
||||
Returns: Structure Of KeyAndValue, String - Result of query execution
|
||||
Returns: Structure Of KeyAndValue - Result of query execution
|
||||
|
||||
<br/>
|
||||
|
||||
|
2
docs/en/md/SQLite/Orm/Get-records.mdx
vendored
2
docs/en/md/SQLite/Orm/Get-records.mdx
vendored
@ -22,7 +22,7 @@ import TabItem from '@theme/TabItem';
|
||||
| Connection | --db | String, Arbitrary | ✖ | Existing connection or database path |
|
||||
|
||||
|
||||
Returns: Structure Of KeyAndValue, String - Result of query execution
|
||||
Returns: Map Of KeyAndValue - Result of query execution
|
||||
|
||||
<br/>
|
||||
|
||||
|
35
docs/en/md/SQLite/Orm/Get-table-column-types.mdx
vendored
Normal file
35
docs/en/md/SQLite/Orm/Get-table-column-types.mdx
vendored
Normal file
@ -0,0 +1,35 @@
|
||||
---
|
||||
sidebar_position: 4
|
||||
---
|
||||
|
||||
import Tabs from '@theme/Tabs';
|
||||
import TabItem from '@theme/TabItem';
|
||||
|
||||
# Get table column types
|
||||
Gets an array of table column types
|
||||
|
||||
|
||||
|
||||
`Function GetTableColumnTypes(Val Table, Val Connection = "") Export`
|
||||
|
||||
| Parameter | CLI option | Type | Required | Description |
|
||||
|-|-|-|-|-|
|
||||
| Table | --table | String | ✔ | Table name |
|
||||
| Connection | --dbc | String, Arbitrary | ✖ | Connection or connection string |
|
||||
|
||||
|
||||
Returns: Array, Map Of KeyAndValue - Array of types or error information
|
||||
|
||||
<br/>
|
||||
|
||||
|
||||
|
||||
|
||||
```bsl title="1C:Enterprise/OneScript code example"
|
||||
|
||||
```
|
||||
|
||||
|
||||
|
||||
|
||||
|
@ -18,7 +18,7 @@ import TabItem from '@theme/TabItem';
|
||||
| Connection | --db | String, Arbitrary | ✖ | Existing connection or database path |
|
||||
|
||||
|
||||
Returns: Structure Of KeyAndValue, String - Result of query execution
|
||||
Returns: Map Of KeyAndValue - Result of query execution
|
||||
|
||||
<br/>
|
||||
|
||||
|
35
docs/en/md/SQLite/Orm/Normalise-parameter-set.mdx
vendored
Normal file
35
docs/en/md/SQLite/Orm/Normalise-parameter-set.mdx
vendored
Normal file
@ -0,0 +1,35 @@
|
||||
---
|
||||
sidebar_position: 12
|
||||
---
|
||||
|
||||
import Tabs from '@theme/Tabs';
|
||||
import TabItem from '@theme/TabItem';
|
||||
|
||||
# Normalise parameter set
|
||||
Converts an array of parameter values into an array of description structures to be passed to the query
|
||||
|
||||
|
||||
|
||||
`Function NormaliseParameterSet(Val ValuesArray, Val TypesArray) Export`
|
||||
|
||||
| Parameter | CLI option | Type | Required | Description |
|
||||
|-|-|-|-|-|
|
||||
| ValuesArray | --values | Array Of Arbitrary | ✔ | Array of query parameter values |
|
||||
| TypesArray | --types | Array Of String | ✔ | Array of column types. See GetTableColumnTypes |
|
||||
|
||||
|
||||
Returns: Array Of Map - Normalised set of parameters for a query
|
||||
|
||||
<br/>
|
||||
|
||||
|
||||
|
||||
|
||||
```bsl title="1C:Enterprise/OneScript code example"
|
||||
|
||||
```
|
||||
|
||||
|
||||
|
||||
|
||||
|
2
docs/en/md/SQLite/Orm/Update-records.mdx
vendored
2
docs/en/md/SQLite/Orm/Update-records.mdx
vendored
@ -20,7 +20,7 @@ import TabItem from '@theme/TabItem';
|
||||
| Connection | --db | String, Arbitrary | ✖ | Existing connection or database path |
|
||||
|
||||
|
||||
Returns: Structure Of KeyAndValue, String - Result of query execution
|
||||
Returns: Map Of KeyAndValue - Result of query execution
|
||||
|
||||
<br/>
|
||||
|
||||
|
@ -12,7 +12,7 @@
|
||||
|
||||
СтруктураЗаписи = Новый Структура;
|
||||
СтруктураЗаписи.Вставить("bool_field" , Новый Структура("BOOL" , Истина));
|
||||
СтруктураЗаписи.Вставить("char_field" , Новый Структура("OLDCHAR" , "A"));
|
||||
СтруктураЗаписи.Вставить("char_field" , Новый Структура("OLDCHAR" , 1));
|
||||
СтруктураЗаписи.Вставить("smallint_field", Новый Структура("SMALLINT" , 5));
|
||||
СтруктураЗаписи.Вставить("int_field" , Новый Структура("INT" , 100));
|
||||
СтруктураЗаписи.Вставить("oid_field" , Новый Структура("OID" , 24576));
|
||||
|
2
docs/ru/md/SQLite/Orm/Add-records.mdx
vendored
2
docs/ru/md/SQLite/Orm/Add-records.mdx
vendored
@ -20,7 +20,7 @@ import TabItem from '@theme/TabItem';
|
||||
| Соединение | --db | Строка, Произвольный | ✖ | Существующее соединение или путь к базе |
|
||||
|
||||
|
||||
Возвращаемое значение: Структура Из КлючИЗначение, Строка - Результат выполнения запроса
|
||||
Возвращаемое значение: Соответствие Из КлючИЗначение - Результат выполнения запроса
|
||||
|
||||
<br/>
|
||||
|
||||
|
2
docs/ru/md/SQLite/Orm/Clear-table.mdx
vendored
2
docs/ru/md/SQLite/Orm/Clear-table.mdx
vendored
@ -18,7 +18,7 @@ import TabItem from '@theme/TabItem';
|
||||
| Соединение | --db | Строка, Произвольный | ✖ | Существующее соединение или путь к базе |
|
||||
|
||||
|
||||
Возвращаемое значение: Структура Из КлючИЗначение, Строка - Результат выполнения запроса
|
||||
Возвращаемое значение: Соответствие Из КлючИЗначение - Результат выполнения запроса
|
||||
|
||||
<br/>
|
||||
|
||||
|
2
docs/ru/md/SQLite/Orm/Create-database.mdx
vendored
2
docs/ru/md/SQLite/Orm/Create-database.mdx
vendored
@ -18,7 +18,7 @@ import TabItem from '@theme/TabItem';
|
||||
| Соединение | --dbc | Строка, Произвольный | ✖ | Соединение или строка подключения |
|
||||
|
||||
|
||||
Возвращаемое значение: Структура Из КлючИЗначение, Строка - Результат выполнения запроса
|
||||
Возвращаемое значение: Структура Из КлючИЗначение - Результат выполнения запроса
|
||||
|
||||
<br/>
|
||||
|
||||
|
2
docs/ru/md/SQLite/Orm/Create-table.mdx
vendored
2
docs/ru/md/SQLite/Orm/Create-table.mdx
vendored
@ -19,7 +19,7 @@ import TabItem from '@theme/TabItem';
|
||||
| Соединение | --db | Строка, Произвольный | ✖ | Существующее соединение или путь к базе |
|
||||
|
||||
|
||||
Возвращаемое значение: Структура Из КлючИЗначение, Строка - Результат выполнения запроса
|
||||
Возвращаемое значение: Соответствие Из КлючИЗначение - Результат выполнения запроса
|
||||
|
||||
<br/>
|
||||
|
||||
|
2
docs/ru/md/SQLite/Orm/Delete-posts.mdx
vendored
2
docs/ru/md/SQLite/Orm/Delete-posts.mdx
vendored
@ -19,7 +19,7 @@ import TabItem from '@theme/TabItem';
|
||||
| Соединение | --db | Строка, Произвольный | ✖ | Существующее соединение или путь к базе |
|
||||
|
||||
|
||||
Возвращаемое значение: Структура Из КлючИЗначение, Строка - Результат выполнения запроса
|
||||
Возвращаемое значение: Соответствие Из КлючИЗначение - Результат выполнения запроса
|
||||
|
||||
<br/>
|
||||
|
||||
|
2
docs/ru/md/SQLite/Orm/Delete-table.mdx
vendored
2
docs/ru/md/SQLite/Orm/Delete-table.mdx
vendored
@ -18,7 +18,7 @@ import TabItem from '@theme/TabItem';
|
||||
| Соединение | --db | Строка, Произвольный | ✖ | Существующее соединение или путь к базе |
|
||||
|
||||
|
||||
Возвращаемое значение: Структура Из КлючИЗначение, Строка - Результат выполнения запроса
|
||||
Возвращаемое значение: Соответствие Из КлючИЗначение - Результат выполнения запроса
|
||||
|
||||
<br/>
|
||||
|
||||
|
2
docs/ru/md/SQLite/Orm/Drop-database.mdx
vendored
2
docs/ru/md/SQLite/Orm/Drop-database.mdx
vendored
@ -18,7 +18,7 @@ import TabItem from '@theme/TabItem';
|
||||
| Соединение | --dbc | Строка, Произвольный | ✖ | Соединение или строка подключения |
|
||||
|
||||
|
||||
Возвращаемое значение: Структура Из КлючИЗначение, Строка - Результат выполнения запроса
|
||||
Возвращаемое значение: Структура Из КлючИЗначение - Результат выполнения запроса
|
||||
|
||||
<br/>
|
||||
|
||||
|
2
docs/ru/md/SQLite/Orm/Get-records.mdx
vendored
2
docs/ru/md/SQLite/Orm/Get-records.mdx
vendored
@ -22,7 +22,7 @@ import TabItem from '@theme/TabItem';
|
||||
| Соединение | --db | Строка, Произвольный | ✖ | Существующее соединение или путь к базе |
|
||||
|
||||
|
||||
Возвращаемое значение: Структура Из КлючИЗначение, Строка - Результат выполнения запроса
|
||||
Возвращаемое значение: Соответствие Из КлючИЗначение - Результат выполнения запроса
|
||||
|
||||
<br/>
|
||||
|
||||
|
35
docs/ru/md/SQLite/Orm/Get-table-column-types.mdx
vendored
Normal file
35
docs/ru/md/SQLite/Orm/Get-table-column-types.mdx
vendored
Normal file
@ -0,0 +1,35 @@
|
||||
---
|
||||
sidebar_position: 4
|
||||
---
|
||||
|
||||
import Tabs from '@theme/Tabs';
|
||||
import TabItem from '@theme/TabItem';
|
||||
|
||||
# Получить типы колонок таблицы
|
||||
Получает массив типов колонок таблицы
|
||||
|
||||
|
||||
|
||||
`Функция ПолучитьТипыКолонокТаблицы(Знач Таблица, Знач Соединение = "") Экспорт`
|
||||
|
||||
| Параметр | CLI опция | Тип | Обяз. | Назначение |
|
||||
|-|-|-|-|-|
|
||||
| Таблица | --table | Строка | ✔ | Имя таблицы |
|
||||
| Соединение | --dbc | Строка, Произвольный | ✖ | Соединение или строка подключения |
|
||||
|
||||
|
||||
Возвращаемое значение: Массив, Соответствие Из КлючИЗначение - Массив типов или информация об ошибке
|
||||
|
||||
<br/>
|
||||
|
||||
|
||||
|
||||
|
||||
```bsl title="Пример использования для 1С:Предприятие/OneScript"
|
||||
|
||||
```
|
||||
|
||||
|
||||
|
||||
|
||||
|
@ -18,7 +18,7 @@ import TabItem from '@theme/TabItem';
|
||||
| Соединение | --db | Строка, Произвольный | ✖ | Существующее соединение или путь к базе |
|
||||
|
||||
|
||||
Возвращаемое значение: Структура Из КлючИЗначение, Строка - Результат выполнения запроса
|
||||
Возвращаемое значение: Соответствие Из КлючИЗначение - Результат выполнения запроса
|
||||
|
||||
<br/>
|
||||
|
||||
|
35
docs/ru/md/SQLite/Orm/Normalise-parameter-set.mdx
vendored
Normal file
35
docs/ru/md/SQLite/Orm/Normalise-parameter-set.mdx
vendored
Normal file
@ -0,0 +1,35 @@
|
||||
---
|
||||
sidebar_position: 12
|
||||
---
|
||||
|
||||
import Tabs from '@theme/Tabs';
|
||||
import TabItem from '@theme/TabItem';
|
||||
|
||||
# Нормализовать набор параметров
|
||||
Преобразует массив значений параметров в массив структур описаний для передачи в запрос
|
||||
|
||||
|
||||
|
||||
`Функция НормализоватьНаборПараметров(Знач МассивЗначений, Знач МассивТипов) Экспорт`
|
||||
|
||||
| Параметр | CLI опция | Тип | Обяз. | Назначение |
|
||||
|-|-|-|-|-|
|
||||
| МассивЗначений | --values | Массив Из Произвольный | ✔ | Массив значений параметров запроса |
|
||||
| МассивТипов | --types | Массив Из Строка | ✔ | Массив типов колонок. См. ПолучитьТипыКолонокТаблицы |
|
||||
|
||||
|
||||
Возвращаемое значение: Массив Из Соответствие - Нормализованный набор параметров для запроса
|
||||
|
||||
<br/>
|
||||
|
||||
|
||||
|
||||
|
||||
```bsl title="Пример использования для 1С:Предприятие/OneScript"
|
||||
|
||||
```
|
||||
|
||||
|
||||
|
||||
|
||||
|
2
docs/ru/md/SQLite/Orm/Update-records.mdx
vendored
2
docs/ru/md/SQLite/Orm/Update-records.mdx
vendored
@ -20,7 +20,7 @@ import TabItem from '@theme/TabItem';
|
||||
| Соединение | --db | Строка, Произвольный | ✖ | Существующее соединение или путь к базе |
|
||||
|
||||
|
||||
Возвращаемое значение: Структура Из КлючИЗначение, Строка - Результат выполнения запроса
|
||||
Возвращаемое значение: Соответствие Из КлючИЗначение - Результат выполнения запроса
|
||||
|
||||
<br/>
|
||||
|
||||
|
12316
service/dictionaries/en.json
vendored
12316
service/dictionaries/en.json
vendored
File diff suppressed because it is too large
Load Diff
132
src/en/OInt/core/Modules/OPI_PostgreSQL.os
vendored
132
src/en/OInt/core/Modules/OPI_PostgreSQL.os
vendored
@ -38,6 +38,7 @@
|
||||
//@skip-check wrong-string-literal-content
|
||||
//@skip-check method-too-many-params
|
||||
//@skip-check constructor-function-return-section
|
||||
//@skip-check doc-comment-collection-item-type
|
||||
|
||||
// Uncomment if OneScript is executed
|
||||
#Use "../../tools"
|
||||
@ -195,7 +196,7 @@ EndFunction
|
||||
// Connection - String, Arbitrary - Connection or connection string - dbc
|
||||
//
|
||||
// Returns:
|
||||
// Structure Of KeyAndValue, String - Result of query execution
|
||||
// Structure Of KeyAndValue - Result of query execution
|
||||
Function CreateDatabase(Val Base, Val Connection = "") Export
|
||||
|
||||
Result = OPI_SQLQueries.CreateDatabase(OPI_PostgreSQL, Base, Connection);
|
||||
@ -211,7 +212,7 @@ EndFunction
|
||||
// Connection - String, Arbitrary - Connection or connection string - dbc
|
||||
//
|
||||
// Returns:
|
||||
// Structure Of KeyAndValue, String - Result of query execution
|
||||
// Structure Of KeyAndValue - Result of query execution
|
||||
Function DropDatabase(Val Base, Val Connection = "") Export
|
||||
|
||||
Result = OPI_SQLQueries.DropDatabase(OPI_PostgreSQL, Base, Connection);
|
||||
@ -227,12 +228,12 @@ EndFunction
|
||||
// Connection - String, Arbitrary - Connection or connection string - dbc
|
||||
//
|
||||
// Returns:
|
||||
// Structure Of KeyAndValue, String - Result of query execution
|
||||
// Structure Of KeyAndValue - Result of query execution
|
||||
Function GetTableInformation(Val Table, Val Connection = "") Export
|
||||
|
||||
OPI_TypeConversion.GetLine(Table);
|
||||
|
||||
TextSQL = "SELECT column_name, data_type, character_maximum_length
|
||||
TextSQL = "SELECT column_name, data_type, character_maximum_length
|
||||
|FROM information_schema.columns
|
||||
|WHERE table_name = '%1';";
|
||||
|
||||
@ -244,6 +245,44 @@ Function GetTableInformation(Val Table, Val Connection = "") Export
|
||||
|
||||
EndFunction
|
||||
|
||||
// Get table column types
|
||||
// Gets an array of table column types
|
||||
//
|
||||
// Parameters:
|
||||
// Table - String - Table name - table
|
||||
// Connection - String, Arbitrary - Connection or connection string - dbc
|
||||
//
|
||||
// Returns:
|
||||
// Array, Map Of KeyAndValue - Array of types or error information
|
||||
Function GetTableColumnTypes(Val Table, Val Connection = "") Export
|
||||
|
||||
TableInformation = GetTableInformation(Table, Connection);
|
||||
|
||||
If Not TableInformation["result"] Then
|
||||
Return TableInformation;
|
||||
EndIf;
|
||||
|
||||
TypesArray = New Array;
|
||||
|
||||
For Each Coloumn In TableInformation Do
|
||||
|
||||
CurrentType = Coloumn["data_type"];
|
||||
CurrentType = String(Upper(CurrentType));
|
||||
CurrentType = StrReplace(CurrentType, " " , "_");
|
||||
CurrentType = StrReplace(CurrentType, """CHAR""", "OLDCHAR");
|
||||
|
||||
If StrStartsWith(CurrentType, "CHAR") Then
|
||||
CurrentType = "CHAR";
|
||||
EndIf;
|
||||
|
||||
TypesArray.Add(CurrentType);
|
||||
|
||||
EndDo;
|
||||
|
||||
Return TypesArray;
|
||||
|
||||
EndFunction
|
||||
|
||||
// Create table
|
||||
// Creates an empty table in the database
|
||||
//
|
||||
@ -253,7 +292,7 @@ EndFunction
|
||||
// Connection - String, Arbitrary - Connection or connection string - dbc
|
||||
//
|
||||
// Returns:
|
||||
// Structure Of KeyAndValue, String - Result of query execution
|
||||
// Structure Of KeyAndValue - Result of query execution
|
||||
Function CreateTable(Val Table, Val ColoumnsStruct, Val Connection = "") Export
|
||||
|
||||
Result = OPI_SQLQueries.CreateTable(OPI_PostgreSQL, Table, ColoumnsStruct, Connection);
|
||||
@ -377,6 +416,49 @@ Function ClearTable(Val Table, Val Connection = "") Export
|
||||
|
||||
EndFunction
|
||||
|
||||
// Normalise parameter set
|
||||
// Converts an array of parameter values into an array of description structures to be passed to the query
|
||||
//
|
||||
// Parameters:
|
||||
// ValuesArray - Array Of Arbitrary - Array of query parameter values - values
|
||||
// TypesArray - Array Of String - Array of column types. See GetTableColumnTypes - types
|
||||
//
|
||||
// Returns:
|
||||
// Array Of Map - Normalised set of parameters for a query
|
||||
Function NormaliseParameterSet(Val ValuesArray, Val TypesArray) Export
|
||||
|
||||
OPI_TypeConversion.GetArray(ValuesArray);
|
||||
OPI_TypeConversion.GetArray(TypesArray);
|
||||
|
||||
TypesMap = GetTypesMap();
|
||||
ResultingArray = New Array;
|
||||
TypesBound = TypesArray.UBound();
|
||||
|
||||
For N = 0 To ValuesArray.UBound() Do
|
||||
|
||||
If N > TypesBound Then
|
||||
Break;
|
||||
EndIf;
|
||||
|
||||
CurrentType = Upper(TypesArray[N]);
|
||||
CurrentValue = ValuesArray[N];
|
||||
TypeDescription = TypesMap.Get(CurrentType);
|
||||
|
||||
If TypeDescription <> Undefined Then
|
||||
CurrentValue = TypeDescription.AdjustValue(CurrentValue);
|
||||
EndIf;
|
||||
|
||||
CurrentDescription = New Map;
|
||||
CurrentDescription.Insert(CurrentType, CurrentValue);
|
||||
|
||||
ResultingArray.Add(CurrentDescription);
|
||||
|
||||
EndDo;
|
||||
|
||||
Return ResultingArray;
|
||||
|
||||
EndFunction
|
||||
|
||||
// Get records filter strucutre
|
||||
// Gets the template structure for filtering records in ORM queries
|
||||
//
|
||||
@ -505,4 +587,44 @@ Function ProcessBlobStructure(Val Value)
|
||||
|
||||
EndFunction
|
||||
|
||||
Function GetTypesMap()
|
||||
|
||||
DescriptionBool = New TypeDescription("Boolean");
|
||||
DescriptionOldchar = New TypeDescription("Number", , , New NumberQualifiers(1, 0, AllowedSign.Nonnegative));
|
||||
DescriptionI = New TypeDescription("Number", , , New NumberQualifiers(, 0, AllowedSign.Any));
|
||||
DescriptionU = New TypeDescription("Number", , , New NumberQualifiers(, 0, AllowedSign.Nonnegative));
|
||||
DescriptionF = New TypeDescription("Number", , , New NumberQualifiers(, , AllowedSign.Any));
|
||||
DescriptionString = New TypeDescription("String");
|
||||
|
||||
TypesMap = New Map();
|
||||
TypesMap.Insert("BOOL" , DescriptionBool);
|
||||
TypesMap.Insert("""CHAR""" , DescriptionOldchar);
|
||||
TypesMap.Insert("OLDCHAR" , DescriptionOldchar);
|
||||
TypesMap.Insert("SMALLINT" , DescriptionI);
|
||||
TypesMap.Insert("SMALLSERIAL" , DescriptionI);
|
||||
TypesMap.Insert("INT" , DescriptionI);
|
||||
TypesMap.Insert("SERIAL" , DescriptionI);
|
||||
TypesMap.Insert("BIGINT" , DescriptionI);
|
||||
TypesMap.Insert("BIGSERIAL" , DescriptionI);
|
||||
TypesMap.Insert("TIMESTAMP" , DescriptionI);
|
||||
TypesMap.Insert("TIMESTAMP WITH TIME ZONE", DescriptionI);
|
||||
TypesMap.Insert("TIMESTAMP_WITH_TIME_ZONE", DescriptionI);
|
||||
TypesMap.Insert("OID" , DescriptionU);
|
||||
TypesMap.Insert("REAL" , DescriptionF);
|
||||
TypesMap.Insert("DOUBLE PRECISION" , DescriptionF);
|
||||
TypesMap.Insert("DOUBLE_PRECISION" , DescriptionF);
|
||||
TypesMap.Insert("VARCHAR" , DescriptionString);
|
||||
TypesMap.Insert("TEXT" , DescriptionString);
|
||||
TypesMap.Insert("CHAR" , DescriptionString);
|
||||
TypesMap.Insert("CITEXT" , DescriptionString);
|
||||
TypesMap.Insert("NAME" , DescriptionString);
|
||||
TypesMap.Insert("LTREE" , DescriptionString);
|
||||
TypesMap.Insert("LQUERY" , DescriptionString);
|
||||
TypesMap.Insert("LTXTQUERY" , DescriptionString);
|
||||
TypesMap.Insert("INET" , DescriptionString);
|
||||
|
||||
Return TypesMap;
|
||||
|
||||
EndFunction
|
||||
|
||||
#EndRegion
|
||||
|
16
src/en/OInt/core/Modules/OPI_SQLite.os
vendored
16
src/en/OInt/core/Modules/OPI_SQLite.os
vendored
@ -165,7 +165,7 @@ EndFunction
|
||||
// Connection - String, Arbitrary - Existing connection or database path - db
|
||||
//
|
||||
// Returns:
|
||||
// Structure Of KeyAndValue, String - Result of query execution
|
||||
// Map Of KeyAndValue - Result of query execution
|
||||
Function GetTableInformation(Val Table, Val Connection = "") Export
|
||||
|
||||
OPI_TypeConversion.GetLine(Table);
|
||||
@ -188,7 +188,7 @@ EndFunction
|
||||
// Connection - String, Arbitrary - Existing connection or database path - db
|
||||
//
|
||||
// Returns:
|
||||
// Structure Of KeyAndValue, String - Result of query execution
|
||||
// Map Of KeyAndValue - Result of query execution
|
||||
Function CreateTable(Val Table, Val ColoumnsStruct, Val Connection = "") Export
|
||||
|
||||
Result = OPI_SQLQueries.CreateTable(OPI_SQLite, Table, ColoumnsStruct, Connection);
|
||||
@ -209,7 +209,7 @@ EndFunction
|
||||
// Connection - String, Arbitrary - Existing connection or database path - db
|
||||
//
|
||||
// Returns:
|
||||
// Structure Of KeyAndValue, String - Result of query execution
|
||||
// Map Of KeyAndValue - Result of query execution
|
||||
Function AddRecords(Val Table, Val DataArray, Val Transaction = True, Val Connection = "") Export
|
||||
|
||||
Result = OPI_SQLQueries.AddRecords(OPI_SQLite, Table, DataArray, Transaction, Connection);
|
||||
@ -232,7 +232,7 @@ EndFunction
|
||||
// Connection - String, Arbitrary - Existing connection or database path - db
|
||||
//
|
||||
// Returns:
|
||||
// Structure Of KeyAndValue, String - Result of query execution
|
||||
// Map Of KeyAndValue - Result of query execution
|
||||
Function GetRecords(Val Table
|
||||
, Val Fields = "*"
|
||||
, Val Filters = ""
|
||||
@ -255,7 +255,7 @@ EndFunction
|
||||
// Connection - String, Arbitrary - Existing connection or database path - db
|
||||
//
|
||||
// Returns:
|
||||
// Structure Of KeyAndValue, String - Result of query execution
|
||||
// Map Of KeyAndValue - Result of query execution
|
||||
Function UpdateRecords(Val Table, Val ValueStructure, Val Filters = "", Val Connection = "") Export
|
||||
|
||||
Result = OPI_SQLQueries.UpdateRecords(OPI_SQLite, Table, ValueStructure, Filters, Connection);
|
||||
@ -272,7 +272,7 @@ EndFunction
|
||||
// Connection - String, Arbitrary - Existing connection or database path - db
|
||||
//
|
||||
// Returns:
|
||||
// Structure Of KeyAndValue, String - Result of query execution
|
||||
// Map Of KeyAndValue - Result of query execution
|
||||
Function DeletePosts(Val Table, Val Filters = "", Val Connection = "") Export
|
||||
|
||||
Result = OPI_SQLQueries.DeletePosts(OPI_SQLite, Table, Filters, Connection);
|
||||
@ -288,7 +288,7 @@ EndFunction
|
||||
// Connection - String, Arbitrary - Existing connection or database path - db
|
||||
//
|
||||
// Returns:
|
||||
// Structure Of KeyAndValue, String - Result of query execution
|
||||
// Map Of KeyAndValue - Result of query execution
|
||||
Function DeleteTable(Val Table, Val Connection = "") Export
|
||||
|
||||
Result = OPI_SQLQueries.DeleteTable(OPI_SQLite, Table, Connection);
|
||||
@ -304,7 +304,7 @@ EndFunction
|
||||
// Connection - String, Arbitrary - Existing connection or database path - db
|
||||
//
|
||||
// Returns:
|
||||
// Structure Of KeyAndValue, String - Result of query execution
|
||||
// Map Of KeyAndValue - Result of query execution
|
||||
Function ClearTable(Val Table, Val Connection = "") Export
|
||||
|
||||
Result = OPI_SQLQueries.DeletePosts(OPI_SQLite, Table, , Connection);
|
||||
|
@ -17386,7 +17386,7 @@ Procedure PostgreSQL_GetTableInformation(FunctionParameters)
|
||||
|
||||
// END
|
||||
|
||||
OPI_TestDataRetrieval.WriteLog(Result, "AddRecords", "PostgreSQL");
|
||||
OPI_TestDataRetrieval.WriteLog(Result, "GetTableInformation", "PostgreSQL");
|
||||
OPI_TestDataRetrieval.Check_ResultTrue(Result);
|
||||
|
||||
EndProcedure
|
||||
@ -17407,7 +17407,7 @@ Procedure PostgreSQL_AddRecords(FunctionParameters)
|
||||
|
||||
RecordStructure = New Structure;
|
||||
RecordStructure.Insert("bool_field" , New Structure("BOOL" , True));
|
||||
RecordStructure.Insert("char_field" , New Structure("OLDCHAR" , "A"));
|
||||
RecordStructure.Insert("char_field" , New Structure("OLDCHAR" , 1));
|
||||
RecordStructure.Insert("smallint_field", New Structure("SMALLINT" , 5));
|
||||
RecordStructure.Insert("int_field" , New Structure("INT" , 100));
|
||||
RecordStructure.Insert("oid_field" , New Structure("OID" , 24576));
|
||||
|
@ -38,6 +38,7 @@
|
||||
//@skip-check wrong-string-literal-content
|
||||
//@skip-check method-too-many-params
|
||||
//@skip-check constructor-function-return-section
|
||||
//@skip-check doc-comment-collection-item-type
|
||||
|
||||
// Uncomment if OneScript is executed
|
||||
// #Use "../../tools"
|
||||
@ -195,7 +196,7 @@ EndFunction
|
||||
// Connection - String, Arbitrary - Connection or connection string - dbc
|
||||
//
|
||||
// Returns:
|
||||
// Structure Of KeyAndValue, String - Result of query execution
|
||||
// Structure Of KeyAndValue - Result of query execution
|
||||
Function CreateDatabase(Val Base, Val Connection = "") Export
|
||||
|
||||
Result = OPI_SQLQueries.CreateDatabase(OPI_PostgreSQL, Base, Connection);
|
||||
@ -211,7 +212,7 @@ EndFunction
|
||||
// Connection - String, Arbitrary - Connection or connection string - dbc
|
||||
//
|
||||
// Returns:
|
||||
// Structure Of KeyAndValue, String - Result of query execution
|
||||
// Structure Of KeyAndValue - Result of query execution
|
||||
Function DropDatabase(Val Base, Val Connection = "") Export
|
||||
|
||||
Result = OPI_SQLQueries.DropDatabase(OPI_PostgreSQL, Base, Connection);
|
||||
@ -227,12 +228,12 @@ EndFunction
|
||||
// Connection - String, Arbitrary - Connection or connection string - dbc
|
||||
//
|
||||
// Returns:
|
||||
// Structure Of KeyAndValue, String - Result of query execution
|
||||
// Structure Of KeyAndValue - Result of query execution
|
||||
Function GetTableInformation(Val Table, Val Connection = "") Export
|
||||
|
||||
OPI_TypeConversion.GetLine(Table);
|
||||
|
||||
TextSQL = "SELECT column_name, data_type, character_maximum_length
|
||||
TextSQL = "SELECT column_name, data_type, character_maximum_length
|
||||
|FROM information_schema.columns
|
||||
|WHERE table_name = '%1';";
|
||||
|
||||
@ -244,6 +245,44 @@ Function GetTableInformation(Val Table, Val Connection = "") Export
|
||||
|
||||
EndFunction
|
||||
|
||||
// Get table column types
|
||||
// Gets an array of table column types
|
||||
//
|
||||
// Parameters:
|
||||
// Table - String - Table name - table
|
||||
// Connection - String, Arbitrary - Connection or connection string - dbc
|
||||
//
|
||||
// Returns:
|
||||
// Array, Map Of KeyAndValue - Array of types or error information
|
||||
Function GetTableColumnTypes(Val Table, Val Connection = "") Export
|
||||
|
||||
TableInformation = GetTableInformation(Table, Connection);
|
||||
|
||||
If Not TableInformation["result"] Then
|
||||
Return TableInformation;
|
||||
EndIf;
|
||||
|
||||
TypesArray = New Array;
|
||||
|
||||
For Each Coloumn In TableInformation Do
|
||||
|
||||
CurrentType = Coloumn["data_type"];
|
||||
CurrentType = String(Upper(CurrentType));
|
||||
CurrentType = StrReplace(CurrentType, " " , "_");
|
||||
CurrentType = StrReplace(CurrentType, """CHAR""", "OLDCHAR");
|
||||
|
||||
If StrStartsWith(CurrentType, "CHAR") Then
|
||||
CurrentType = "CHAR";
|
||||
EndIf;
|
||||
|
||||
TypesArray.Add(CurrentType);
|
||||
|
||||
EndDo;
|
||||
|
||||
Return TypesArray;
|
||||
|
||||
EndFunction
|
||||
|
||||
// Create table
|
||||
// Creates an empty table in the database
|
||||
//
|
||||
@ -253,7 +292,7 @@ EndFunction
|
||||
// Connection - String, Arbitrary - Connection or connection string - dbc
|
||||
//
|
||||
// Returns:
|
||||
// Structure Of KeyAndValue, String - Result of query execution
|
||||
// Structure Of KeyAndValue - Result of query execution
|
||||
Function CreateTable(Val Table, Val ColoumnsStruct, Val Connection = "") Export
|
||||
|
||||
Result = OPI_SQLQueries.CreateTable(OPI_PostgreSQL, Table, ColoumnsStruct, Connection);
|
||||
@ -377,6 +416,49 @@ Function ClearTable(Val Table, Val Connection = "") Export
|
||||
|
||||
EndFunction
|
||||
|
||||
// Normalise parameter set
|
||||
// Converts an array of parameter values into an array of description structures to be passed to the query
|
||||
//
|
||||
// Parameters:
|
||||
// ValuesArray - Array Of Arbitrary - Array of query parameter values - values
|
||||
// TypesArray - Array Of String - Array of column types. See GetTableColumnTypes - types
|
||||
//
|
||||
// Returns:
|
||||
// Array Of Map - Normalised set of parameters for a query
|
||||
Function NormaliseParameterSet(Val ValuesArray, Val TypesArray) Export
|
||||
|
||||
OPI_TypeConversion.GetArray(ValuesArray);
|
||||
OPI_TypeConversion.GetArray(TypesArray);
|
||||
|
||||
TypesMap = GetTypesMap();
|
||||
ResultingArray = New Array;
|
||||
TypesBound = TypesArray.UBound();
|
||||
|
||||
For N = 0 To ValuesArray.UBound() Do
|
||||
|
||||
If N > TypesBound Then
|
||||
Break;
|
||||
EndIf;
|
||||
|
||||
CurrentType = Upper(TypesArray[N]);
|
||||
CurrentValue = ValuesArray[N];
|
||||
TypeDescription = TypesMap.Get(CurrentType);
|
||||
|
||||
If TypeDescription <> Undefined Then
|
||||
CurrentValue = TypeDescription.AdjustValue(CurrentValue);
|
||||
EndIf;
|
||||
|
||||
CurrentDescription = New Map;
|
||||
CurrentDescription.Insert(CurrentType, CurrentValue);
|
||||
|
||||
ResultingArray.Add(CurrentDescription);
|
||||
|
||||
EndDo;
|
||||
|
||||
Return ResultingArray;
|
||||
|
||||
EndFunction
|
||||
|
||||
// Get records filter strucutre
|
||||
// Gets the template structure for filtering records in ORM queries
|
||||
//
|
||||
@ -505,4 +587,44 @@ Function ProcessBlobStructure(Val Value)
|
||||
|
||||
EndFunction
|
||||
|
||||
Function GetTypesMap()
|
||||
|
||||
DescriptionBool = New TypeDescription("Boolean");
|
||||
DescriptionOldchar = New TypeDescription("Number", , , New NumberQualifiers(1, 0, AllowedSign.Nonnegative));
|
||||
DescriptionI = New TypeDescription("Number", , , New NumberQualifiers(, 0, AllowedSign.Any));
|
||||
DescriptionU = New TypeDescription("Number", , , New NumberQualifiers(, 0, AllowedSign.Nonnegative));
|
||||
DescriptionF = New TypeDescription("Number", , , New NumberQualifiers(, , AllowedSign.Any));
|
||||
DescriptionString = New TypeDescription("String");
|
||||
|
||||
TypesMap = New Map();
|
||||
TypesMap.Insert("BOOL" , DescriptionBool);
|
||||
TypesMap.Insert("""CHAR""" , DescriptionOldchar);
|
||||
TypesMap.Insert("OLDCHAR" , DescriptionOldchar);
|
||||
TypesMap.Insert("SMALLINT" , DescriptionI);
|
||||
TypesMap.Insert("SMALLSERIAL" , DescriptionI);
|
||||
TypesMap.Insert("INT" , DescriptionI);
|
||||
TypesMap.Insert("SERIAL" , DescriptionI);
|
||||
TypesMap.Insert("BIGINT" , DescriptionI);
|
||||
TypesMap.Insert("BIGSERIAL" , DescriptionI);
|
||||
TypesMap.Insert("TIMESTAMP" , DescriptionI);
|
||||
TypesMap.Insert("TIMESTAMP WITH TIME ZONE", DescriptionI);
|
||||
TypesMap.Insert("TIMESTAMP_WITH_TIME_ZONE", DescriptionI);
|
||||
TypesMap.Insert("OID" , DescriptionU);
|
||||
TypesMap.Insert("REAL" , DescriptionF);
|
||||
TypesMap.Insert("DOUBLE PRECISION" , DescriptionF);
|
||||
TypesMap.Insert("DOUBLE_PRECISION" , DescriptionF);
|
||||
TypesMap.Insert("VARCHAR" , DescriptionString);
|
||||
TypesMap.Insert("TEXT" , DescriptionString);
|
||||
TypesMap.Insert("CHAR" , DescriptionString);
|
||||
TypesMap.Insert("CITEXT" , DescriptionString);
|
||||
TypesMap.Insert("NAME" , DescriptionString);
|
||||
TypesMap.Insert("LTREE" , DescriptionString);
|
||||
TypesMap.Insert("LQUERY" , DescriptionString);
|
||||
TypesMap.Insert("LTXTQUERY" , DescriptionString);
|
||||
TypesMap.Insert("INET" , DescriptionString);
|
||||
|
||||
Return TypesMap;
|
||||
|
||||
EndFunction
|
||||
|
||||
#EndRegion
|
||||
|
@ -165,7 +165,7 @@ EndFunction
|
||||
// Connection - String, Arbitrary - Existing connection or database path - db
|
||||
//
|
||||
// Returns:
|
||||
// Structure Of KeyAndValue, String - Result of query execution
|
||||
// Map Of KeyAndValue - Result of query execution
|
||||
Function GetTableInformation(Val Table, Val Connection = "") Export
|
||||
|
||||
OPI_TypeConversion.GetLine(Table);
|
||||
@ -188,7 +188,7 @@ EndFunction
|
||||
// Connection - String, Arbitrary - Existing connection or database path - db
|
||||
//
|
||||
// Returns:
|
||||
// Structure Of KeyAndValue, String - Result of query execution
|
||||
// Map Of KeyAndValue - Result of query execution
|
||||
Function CreateTable(Val Table, Val ColoumnsStruct, Val Connection = "") Export
|
||||
|
||||
Result = OPI_SQLQueries.CreateTable(OPI_SQLite, Table, ColoumnsStruct, Connection);
|
||||
@ -209,7 +209,7 @@ EndFunction
|
||||
// Connection - String, Arbitrary - Existing connection or database path - db
|
||||
//
|
||||
// Returns:
|
||||
// Structure Of KeyAndValue, String - Result of query execution
|
||||
// Map Of KeyAndValue - Result of query execution
|
||||
Function AddRecords(Val Table, Val DataArray, Val Transaction = True, Val Connection = "") Export
|
||||
|
||||
Result = OPI_SQLQueries.AddRecords(OPI_SQLite, Table, DataArray, Transaction, Connection);
|
||||
@ -232,7 +232,7 @@ EndFunction
|
||||
// Connection - String, Arbitrary - Existing connection or database path - db
|
||||
//
|
||||
// Returns:
|
||||
// Structure Of KeyAndValue, String - Result of query execution
|
||||
// Map Of KeyAndValue - Result of query execution
|
||||
Function GetRecords(Val Table
|
||||
, Val Fields = "*"
|
||||
, Val Filters = ""
|
||||
@ -255,7 +255,7 @@ EndFunction
|
||||
// Connection - String, Arbitrary - Existing connection or database path - db
|
||||
//
|
||||
// Returns:
|
||||
// Structure Of KeyAndValue, String - Result of query execution
|
||||
// Map Of KeyAndValue - Result of query execution
|
||||
Function UpdateRecords(Val Table, Val ValueStructure, Val Filters = "", Val Connection = "") Export
|
||||
|
||||
Result = OPI_SQLQueries.UpdateRecords(OPI_SQLite, Table, ValueStructure, Filters, Connection);
|
||||
@ -272,7 +272,7 @@ EndFunction
|
||||
// Connection - String, Arbitrary - Existing connection or database path - db
|
||||
//
|
||||
// Returns:
|
||||
// Structure Of KeyAndValue, String - Result of query execution
|
||||
// Map Of KeyAndValue - Result of query execution
|
||||
Function DeletePosts(Val Table, Val Filters = "", Val Connection = "") Export
|
||||
|
||||
Result = OPI_SQLQueries.DeletePosts(OPI_SQLite, Table, Filters, Connection);
|
||||
@ -288,7 +288,7 @@ EndFunction
|
||||
// Connection - String, Arbitrary - Existing connection or database path - db
|
||||
//
|
||||
// Returns:
|
||||
// Structure Of KeyAndValue, String - Result of query execution
|
||||
// Map Of KeyAndValue - Result of query execution
|
||||
Function DeleteTable(Val Table, Val Connection = "") Export
|
||||
|
||||
Result = OPI_SQLQueries.DeleteTable(OPI_SQLite, Table, Connection);
|
||||
@ -304,7 +304,7 @@ EndFunction
|
||||
// Connection - String, Arbitrary - Existing connection or database path - db
|
||||
//
|
||||
// Returns:
|
||||
// Structure Of KeyAndValue, String - Result of query execution
|
||||
// Map Of KeyAndValue - Result of query execution
|
||||
Function ClearTable(Val Table, Val Connection = "") Export
|
||||
|
||||
Result = OPI_SQLQueries.DeletePosts(OPI_SQLite, Table, , Connection);
|
||||
|
@ -17386,7 +17386,7 @@ Procedure PostgreSQL_GetTableInformation(FunctionParameters)
|
||||
|
||||
// END
|
||||
|
||||
OPI_TestDataRetrieval.WriteLog(Result, "AddRecords", "PostgreSQL");
|
||||
OPI_TestDataRetrieval.WriteLog(Result, "GetTableInformation", "PostgreSQL");
|
||||
OPI_TestDataRetrieval.Check_ResultTrue(Result);
|
||||
|
||||
EndProcedure
|
||||
@ -17407,7 +17407,7 @@ Procedure PostgreSQL_AddRecords(FunctionParameters)
|
||||
|
||||
RecordStructure = New Structure;
|
||||
RecordStructure.Insert("bool_field" , New Structure("BOOL" , True));
|
||||
RecordStructure.Insert("char_field" , New Structure("OLDCHAR" , "A"));
|
||||
RecordStructure.Insert("char_field" , New Structure("OLDCHAR" , 1));
|
||||
RecordStructure.Insert("smallint_field", New Structure("SMALLINT" , 5));
|
||||
RecordStructure.Insert("int_field" , New Structure("INT" , 100));
|
||||
RecordStructure.Insert("oid_field" , New Structure("OID" , 24576));
|
||||
|
194
src/ru/OInt/core/Modules/OPI_PostgreSQL.os
vendored
194
src/ru/OInt/core/Modules/OPI_PostgreSQL.os
vendored
@ -233,7 +233,7 @@
|
||||
|
||||
OPI_ПреобразованиеТипов.ПолучитьСтроку(Таблица);
|
||||
|
||||
ТекстSQL = "SELECT column_name, data_type, character_maximum_length
|
||||
ТекстSQL = "SELECT column_name, data_type, character_maximum_length
|
||||
|FROM information_schema.columns
|
||||
|WHERE table_name = '%1';";
|
||||
|
||||
@ -247,7 +247,7 @@
|
||||
|
||||
// Получить типы колонок таблицы
|
||||
// Получает массив типов колонок таблицы
|
||||
//
|
||||
//
|
||||
// Параметры:
|
||||
// Таблица - Строка - Имя таблицы - table
|
||||
// Соединение - Строка, Произвольный - Соединение или строка подключения - dbc
|
||||
@ -255,32 +255,32 @@
|
||||
// Возвращаемое значение:
|
||||
// Массив, Соответствие Из КлючИЗначение - Массив типов или информация об ошибке
|
||||
Функция ПолучитьТипыКолонокТаблицы(Знач Таблица, Знач Соединение = "") Экспорт
|
||||
|
||||
ИнформацияОТаблице = ПолучитьИнформациюОТаблице(Таблица, Соединение);
|
||||
|
||||
Если Не ИнформацияОТаблице["result"] Тогда
|
||||
Возврат ИнформацияОТаблице;
|
||||
КонецЕсли;
|
||||
|
||||
МассивТипов = Новый Массив;
|
||||
|
||||
Для Каждого Колонка Из ИнформацияОТаблице Цикл
|
||||
|
||||
ТекущийТип = Колонка["data_type"];
|
||||
ТекущийТип = Строка(вРег(ТекущийТип));
|
||||
ТекущийТип = СтрЗаменить(ТекущийТип, " ", "_");
|
||||
ТекущийТип = СтрЗаменить(ТекущийТип, """CHAR""", "OLDCHAR");
|
||||
|
||||
Если СтрНачинаетсяС(ТекущийТип, "CHAR") Тогда
|
||||
ТекущийТип = "CHAR";
|
||||
КонецЕсли;
|
||||
|
||||
МассивТипов.Добавить(ТекущийТип);
|
||||
|
||||
КонецЦикла;
|
||||
|
||||
Возврат МассивТипов;
|
||||
|
||||
|
||||
ИнформацияОТаблице = ПолучитьИнформациюОТаблице(Таблица, Соединение);
|
||||
|
||||
Если Не ИнформацияОТаблице["result"] Тогда
|
||||
Возврат ИнформацияОТаблице;
|
||||
КонецЕсли;
|
||||
|
||||
МассивТипов = Новый Массив;
|
||||
|
||||
Для Каждого Колонка Из ИнформацияОТаблице Цикл
|
||||
|
||||
ТекущийТип = Колонка["data_type"];
|
||||
ТекущийТип = Строка(вРег(ТекущийТип));
|
||||
ТекущийТип = СтрЗаменить(ТекущийТип, " " , "_");
|
||||
ТекущийТип = СтрЗаменить(ТекущийТип, """CHAR""", "OLDCHAR");
|
||||
|
||||
Если СтрНачинаетсяС(ТекущийТип, "CHAR") Тогда
|
||||
ТекущийТип = "CHAR";
|
||||
КонецЕсли;
|
||||
|
||||
МассивТипов.Добавить(ТекущийТип);
|
||||
|
||||
КонецЦикла;
|
||||
|
||||
Возврат МассивТипов;
|
||||
|
||||
КонецФункции
|
||||
|
||||
// Создать таблицу
|
||||
@ -418,45 +418,45 @@
|
||||
|
||||
// Нормализовать набор параметров
|
||||
// Преобразует массив значений параметров в массив структур описаний для передачи в запрос
|
||||
//
|
||||
//
|
||||
// Параметры:
|
||||
// МассивЗначений - Массив Из Произвольный - Массив значений параметров запроса - values
|
||||
// МассивТипов - Массив Из Строка - Массив типов колонок. См. ПолучитьТипыКолонокТаблицы - types
|
||||
//
|
||||
//
|
||||
// Возвращаемое значение:
|
||||
// Массив Из Соответствие - Нормализованный набор параметров для запроса
|
||||
Функция НормализоватьНаборПараметров(Знач МассивЗначений, Знач МассивТипов) Экспорт
|
||||
|
||||
OPI_ПреобразованиеТипов.ПолучитьМассив(МассивЗначений);
|
||||
OPI_ПреобразованиеТипов.ПолучитьМассив(МассивТипов);
|
||||
|
||||
СоответствиеТипов = ПолучитьСоответствиеТипов();
|
||||
ИтоговыйМассив = Новый Массив;
|
||||
ГраницаТипов = МассивТипов.ВГраница();
|
||||
|
||||
Для Н = 0 По МассивЗначений.ВГраница() Цикл
|
||||
|
||||
Если Н > ГраницаТипов Тогда
|
||||
Прервать;
|
||||
Конецесли;
|
||||
|
||||
ТекущийТип = вРег(МассивТипов[Н]);
|
||||
ТекущееЗначение = МассивЗначений[Н];
|
||||
ОписаниеТипа = СоответствиеТипов.Получить(ТекущийТип);
|
||||
|
||||
Если ОписаниеТипа <> Неопределено Тогда
|
||||
ТекущееЗначение = ОписаниеТипа.ПривестиЗначение(ТекущееЗначение);
|
||||
КонецЕсли;
|
||||
|
||||
ТекущееОписание = Новый Соответствие;
|
||||
ТекущееОписание.Вставить(ТекущийТип, ТекущееЗначение);
|
||||
|
||||
ИтоговыйМассив.Добавить(ТекущееОписание);
|
||||
|
||||
КонецЦикла;
|
||||
|
||||
Возврат ИтоговыйМассив;
|
||||
|
||||
|
||||
OPI_ПреобразованиеТипов.ПолучитьМассив(МассивЗначений);
|
||||
OPI_ПреобразованиеТипов.ПолучитьМассив(МассивТипов);
|
||||
|
||||
СоответствиеТипов = ПолучитьСоответствиеТипов();
|
||||
ИтоговыйМассив = Новый Массив;
|
||||
ГраницаТипов = МассивТипов.ВГраница();
|
||||
|
||||
Для Н = 0 По МассивЗначений.ВГраница() Цикл
|
||||
|
||||
Если Н > ГраницаТипов Тогда
|
||||
Прервать;
|
||||
Конецесли;
|
||||
|
||||
ТекущийТип = вРег(МассивТипов[Н]);
|
||||
ТекущееЗначение = МассивЗначений[Н];
|
||||
ОписаниеТипа = СоответствиеТипов.Получить(ТекущийТип);
|
||||
|
||||
Если ОписаниеТипа <> Неопределено Тогда
|
||||
ТекущееЗначение = ОписаниеТипа.ПривестиЗначение(ТекущееЗначение);
|
||||
КонецЕсли;
|
||||
|
||||
ТекущееОписание = Новый Соответствие;
|
||||
ТекущееОписание.Вставить(ТекущийТип, ТекущееЗначение);
|
||||
|
||||
ИтоговыйМассив.Добавить(ТекущееОписание);
|
||||
|
||||
КонецЦикла;
|
||||
|
||||
Возврат ИтоговыйМассив;
|
||||
|
||||
КонецФункции
|
||||
|
||||
// Получить структуру фильтра записей
|
||||
@ -588,43 +588,43 @@
|
||||
КонецФункции
|
||||
|
||||
Функция ПолучитьСоответствиеТипов()
|
||||
|
||||
ОписаниеBool = Новый ОписаниеТипов("Булево");
|
||||
ОписаниеOldchar = Новый ОписаниеТипов("Число", , , Новый КвалификаторыЧисла(1, 0, ДопустимыйЗнак.Неотрицательный));
|
||||
ОписаниеI = Новый ОписаниеТипов("Число", , , Новый КвалификаторыЧисла(, 0, ДопустимыйЗнак.Любой));
|
||||
ОписаниеU = Новый ОписаниеТипов("Число", , , Новый КвалификаторыЧисла(, 0, ДопустимыйЗнак.Неотрицательный));
|
||||
ОписаниеF = Новый ОписаниеТипов("Число", , , Новый КвалификаторыЧисла(, , ДопустимыйЗнак.Любой));
|
||||
ОписаниеString = Новый ОписаниеТипов("Строка");
|
||||
|
||||
СоответствиеТипов = Новый Соответствие();
|
||||
СоответствиеТипов.Вставить("BOOL" , ОписаниеBool);
|
||||
СоответствиеТипов.Вставить("""CHAR""" , ОписаниеOldchar);
|
||||
СоответствиеТипов.Вставить("OLDCHAR" , ОписаниеOldchar);
|
||||
СоответствиеТипов.Вставить("SMALLINT" , ОписаниеI);
|
||||
СоответствиеТипов.Вставить("SMALLSERIAL" , ОписаниеI);
|
||||
СоответствиеТипов.Вставить("INT" , ОписаниеI);
|
||||
СоответствиеТипов.Вставить("SERIAL" , ОписаниеI);
|
||||
СоответствиеТипов.Вставить("BIGINT" , ОписаниеI);
|
||||
СоответствиеТипов.Вставить("BIGSERIAL" , ОписаниеI);
|
||||
СоответствиеТипов.Вставить("TIMESTAMP" , ОписаниеI);
|
||||
СоответствиеТипов.Вставить("TIMESTAMP WITH TIME ZONE", ОписаниеI);
|
||||
СоответствиеТипов.Вставить("TIMESTAMP_WITH_TIME_ZONE", ОписаниеI);
|
||||
СоответствиеТипов.Вставить("OID" , ОписаниеU);
|
||||
СоответствиеТипов.Вставить("REAL" , ОписаниеF);
|
||||
СоответствиеТипов.Вставить("DOUBLE PRECISION" , ОписаниеF);
|
||||
СоответствиеТипов.Вставить("DOUBLE_PRECISION" , ОписаниеF);
|
||||
СоответствиеТипов.Вставить("VARCHAR" , ОписаниеString);
|
||||
СоответствиеТипов.Вставить("TEXT" , ОписаниеString);
|
||||
СоответствиеТипов.Вставить("CHAR" , ОписаниеString);
|
||||
СоответствиеТипов.Вставить("CITEXT" , ОписаниеString);
|
||||
СоответствиеТипов.Вставить("NAME" , ОписаниеString);
|
||||
СоответствиеТипов.Вставить("LTREE" , ОписаниеString);
|
||||
СоответствиеТипов.Вставить("LQUERY" , ОписаниеString);
|
||||
СоответствиеТипов.Вставить("LTXTQUERY" , ОписаниеString);
|
||||
СоответствиеТипов.Вставить("INET" , ОписаниеString);
|
||||
|
||||
Возврат СоответствиеТипов;
|
||||
|
||||
ОписаниеBool = Новый ОписаниеТипов("Булево");
|
||||
ОписаниеOldchar = Новый ОписаниеТипов("Число", , , Новый КвалификаторыЧисла(1, 0, ДопустимыйЗнак.Неотрицательный));
|
||||
ОписаниеI = Новый ОписаниеТипов("Число", , , Новый КвалификаторыЧисла(, 0, ДопустимыйЗнак.Любой));
|
||||
ОписаниеU = Новый ОписаниеТипов("Число", , , Новый КвалификаторыЧисла(, 0, ДопустимыйЗнак.Неотрицательный));
|
||||
ОписаниеF = Новый ОписаниеТипов("Число", , , Новый КвалификаторыЧисла(, , ДопустимыйЗнак.Любой));
|
||||
ОписаниеString = Новый ОписаниеТипов("Строка");
|
||||
|
||||
СоответствиеТипов = Новый Соответствие();
|
||||
СоответствиеТипов.Вставить("BOOL" , ОписаниеBool);
|
||||
СоответствиеТипов.Вставить("""CHAR""" , ОписаниеOldchar);
|
||||
СоответствиеТипов.Вставить("OLDCHAR" , ОписаниеOldchar);
|
||||
СоответствиеТипов.Вставить("SMALLINT" , ОписаниеI);
|
||||
СоответствиеТипов.Вставить("SMALLSERIAL" , ОписаниеI);
|
||||
СоответствиеТипов.Вставить("INT" , ОписаниеI);
|
||||
СоответствиеТипов.Вставить("SERIAL" , ОписаниеI);
|
||||
СоответствиеТипов.Вставить("BIGINT" , ОписаниеI);
|
||||
СоответствиеТипов.Вставить("BIGSERIAL" , ОписаниеI);
|
||||
СоответствиеТипов.Вставить("TIMESTAMP" , ОписаниеI);
|
||||
СоответствиеТипов.Вставить("TIMESTAMP WITH TIME ZONE", ОписаниеI);
|
||||
СоответствиеТипов.Вставить("TIMESTAMP_WITH_TIME_ZONE", ОписаниеI);
|
||||
СоответствиеТипов.Вставить("OID" , ОписаниеU);
|
||||
СоответствиеТипов.Вставить("REAL" , ОписаниеF);
|
||||
СоответствиеТипов.Вставить("DOUBLE PRECISION" , ОписаниеF);
|
||||
СоответствиеТипов.Вставить("DOUBLE_PRECISION" , ОписаниеF);
|
||||
СоответствиеТипов.Вставить("VARCHAR" , ОписаниеString);
|
||||
СоответствиеТипов.Вставить("TEXT" , ОписаниеString);
|
||||
СоответствиеТипов.Вставить("CHAR" , ОписаниеString);
|
||||
СоответствиеТипов.Вставить("CITEXT" , ОписаниеString);
|
||||
СоответствиеТипов.Вставить("NAME" , ОписаниеString);
|
||||
СоответствиеТипов.Вставить("LTREE" , ОписаниеString);
|
||||
СоответствиеТипов.Вставить("LQUERY" , ОписаниеString);
|
||||
СоответствиеТипов.Вставить("LTXTQUERY" , ОписаниеString);
|
||||
СоответствиеТипов.Вставить("INET" , ОписаниеString);
|
||||
|
||||
Возврат СоответствиеТипов;
|
||||
|
||||
КонецФункции
|
||||
|
||||
#КонецОбласти
|
||||
|
@ -2148,9 +2148,9 @@
|
||||
КонецФункции
|
||||
|
||||
Функция ПолучитьОбщийМодуль(Знач Имя)
|
||||
|
||||
|
||||
Модуль = Вычислить(Имя);
|
||||
|
||||
|
||||
Возврат Модуль;
|
||||
КонецФункции
|
||||
|
||||
|
@ -233,7 +233,7 @@
|
||||
|
||||
OPI_ПреобразованиеТипов.ПолучитьСтроку(Таблица);
|
||||
|
||||
ТекстSQL = "SELECT column_name, data_type, character_maximum_length
|
||||
ТекстSQL = "SELECT column_name, data_type, character_maximum_length
|
||||
|FROM information_schema.columns
|
||||
|WHERE table_name = '%1';";
|
||||
|
||||
@ -247,7 +247,7 @@
|
||||
|
||||
// Получить типы колонок таблицы
|
||||
// Получает массив типов колонок таблицы
|
||||
//
|
||||
//
|
||||
// Параметры:
|
||||
// Таблица - Строка - Имя таблицы - table
|
||||
// Соединение - Строка, Произвольный - Соединение или строка подключения - dbc
|
||||
@ -255,32 +255,32 @@
|
||||
// Возвращаемое значение:
|
||||
// Массив, Соответствие Из КлючИЗначение - Массив типов или информация об ошибке
|
||||
Функция ПолучитьТипыКолонокТаблицы(Знач Таблица, Знач Соединение = "") Экспорт
|
||||
|
||||
ИнформацияОТаблице = ПолучитьИнформациюОТаблице(Таблица, Соединение);
|
||||
|
||||
Если Не ИнформацияОТаблице["result"] Тогда
|
||||
Возврат ИнформацияОТаблице;
|
||||
КонецЕсли;
|
||||
|
||||
МассивТипов = Новый Массив;
|
||||
|
||||
Для Каждого Колонка Из ИнформацияОТаблице Цикл
|
||||
|
||||
ТекущийТип = Колонка["data_type"];
|
||||
ТекущийТип = Строка(вРег(ТекущийТип));
|
||||
ТекущийТип = СтрЗаменить(ТекущийТип, " ", "_");
|
||||
ТекущийТип = СтрЗаменить(ТекущийТип, """CHAR""", "OLDCHAR");
|
||||
|
||||
Если СтрНачинаетсяС(ТекущийТип, "CHAR") Тогда
|
||||
ТекущийТип = "CHAR";
|
||||
КонецЕсли;
|
||||
|
||||
МассивТипов.Добавить(ТекущийТип);
|
||||
|
||||
КонецЦикла;
|
||||
|
||||
Возврат МассивТипов;
|
||||
|
||||
|
||||
ИнформацияОТаблице = ПолучитьИнформациюОТаблице(Таблица, Соединение);
|
||||
|
||||
Если Не ИнформацияОТаблице["result"] Тогда
|
||||
Возврат ИнформацияОТаблице;
|
||||
КонецЕсли;
|
||||
|
||||
МассивТипов = Новый Массив;
|
||||
|
||||
Для Каждого Колонка Из ИнформацияОТаблице Цикл
|
||||
|
||||
ТекущийТип = Колонка["data_type"];
|
||||
ТекущийТип = Строка(вРег(ТекущийТип));
|
||||
ТекущийТип = СтрЗаменить(ТекущийТип, " " , "_");
|
||||
ТекущийТип = СтрЗаменить(ТекущийТип, """CHAR""", "OLDCHAR");
|
||||
|
||||
Если СтрНачинаетсяС(ТекущийТип, "CHAR") Тогда
|
||||
ТекущийТип = "CHAR";
|
||||
КонецЕсли;
|
||||
|
||||
МассивТипов.Добавить(ТекущийТип);
|
||||
|
||||
КонецЦикла;
|
||||
|
||||
Возврат МассивТипов;
|
||||
|
||||
КонецФункции
|
||||
|
||||
// Создать таблицу
|
||||
@ -418,45 +418,45 @@
|
||||
|
||||
// Нормализовать набор параметров
|
||||
// Преобразует массив значений параметров в массив структур описаний для передачи в запрос
|
||||
//
|
||||
//
|
||||
// Параметры:
|
||||
// МассивЗначений - Массив Из Произвольный - Массив значений параметров запроса - values
|
||||
// МассивТипов - Массив Из Строка - Массив типов колонок. См. ПолучитьТипыКолонокТаблицы - types
|
||||
//
|
||||
//
|
||||
// Возвращаемое значение:
|
||||
// Массив Из Соответствие - Нормализованный набор параметров для запроса
|
||||
Функция НормализоватьНаборПараметров(Знач МассивЗначений, Знач МассивТипов) Экспорт
|
||||
|
||||
OPI_ПреобразованиеТипов.ПолучитьМассив(МассивЗначений);
|
||||
OPI_ПреобразованиеТипов.ПолучитьМассив(МассивТипов);
|
||||
|
||||
СоответствиеТипов = ПолучитьСоответствиеТипов();
|
||||
ИтоговыйМассив = Новый Массив;
|
||||
ГраницаТипов = МассивТипов.ВГраница();
|
||||
|
||||
Для Н = 0 По МассивЗначений.ВГраница() Цикл
|
||||
|
||||
Если Н > ГраницаТипов Тогда
|
||||
Прервать;
|
||||
Конецесли;
|
||||
|
||||
ТекущийТип = вРег(МассивТипов[Н]);
|
||||
ТекущееЗначение = МассивЗначений[Н];
|
||||
ОписаниеТипа = СоответствиеТипов.Получить(ТекущийТип);
|
||||
|
||||
Если ОписаниеТипа <> Неопределено Тогда
|
||||
ТекущееЗначение = ОписаниеТипа.ПривестиЗначение(ТекущееЗначение);
|
||||
КонецЕсли;
|
||||
|
||||
ТекущееОписание = Новый Соответствие;
|
||||
ТекущееОписание.Вставить(ТекущийТип, ТекущееЗначение);
|
||||
|
||||
ИтоговыйМассив.Добавить(ТекущееОписание);
|
||||
|
||||
КонецЦикла;
|
||||
|
||||
Возврат ИтоговыйМассив;
|
||||
|
||||
|
||||
OPI_ПреобразованиеТипов.ПолучитьМассив(МассивЗначений);
|
||||
OPI_ПреобразованиеТипов.ПолучитьМассив(МассивТипов);
|
||||
|
||||
СоответствиеТипов = ПолучитьСоответствиеТипов();
|
||||
ИтоговыйМассив = Новый Массив;
|
||||
ГраницаТипов = МассивТипов.ВГраница();
|
||||
|
||||
Для Н = 0 По МассивЗначений.ВГраница() Цикл
|
||||
|
||||
Если Н > ГраницаТипов Тогда
|
||||
Прервать;
|
||||
Конецесли;
|
||||
|
||||
ТекущийТип = вРег(МассивТипов[Н]);
|
||||
ТекущееЗначение = МассивЗначений[Н];
|
||||
ОписаниеТипа = СоответствиеТипов.Получить(ТекущийТип);
|
||||
|
||||
Если ОписаниеТипа <> Неопределено Тогда
|
||||
ТекущееЗначение = ОписаниеТипа.ПривестиЗначение(ТекущееЗначение);
|
||||
КонецЕсли;
|
||||
|
||||
ТекущееОписание = Новый Соответствие;
|
||||
ТекущееОписание.Вставить(ТекущийТип, ТекущееЗначение);
|
||||
|
||||
ИтоговыйМассив.Добавить(ТекущееОписание);
|
||||
|
||||
КонецЦикла;
|
||||
|
||||
Возврат ИтоговыйМассив;
|
||||
|
||||
КонецФункции
|
||||
|
||||
// Получить структуру фильтра записей
|
||||
@ -588,43 +588,43 @@
|
||||
КонецФункции
|
||||
|
||||
Функция ПолучитьСоответствиеТипов()
|
||||
|
||||
ОписаниеBool = Новый ОписаниеТипов("Булево");
|
||||
ОписаниеOldchar = Новый ОписаниеТипов("Число", , , Новый КвалификаторыЧисла(1, 0, ДопустимыйЗнак.Неотрицательный));
|
||||
ОписаниеI = Новый ОписаниеТипов("Число", , , Новый КвалификаторыЧисла(, 0, ДопустимыйЗнак.Любой));
|
||||
ОписаниеU = Новый ОписаниеТипов("Число", , , Новый КвалификаторыЧисла(, 0, ДопустимыйЗнак.Неотрицательный));
|
||||
ОписаниеF = Новый ОписаниеТипов("Число", , , Новый КвалификаторыЧисла(, , ДопустимыйЗнак.Любой));
|
||||
ОписаниеString = Новый ОписаниеТипов("Строка");
|
||||
|
||||
СоответствиеТипов = Новый Соответствие();
|
||||
СоответствиеТипов.Вставить("BOOL" , ОписаниеBool);
|
||||
СоответствиеТипов.Вставить("""CHAR""" , ОписаниеOldchar);
|
||||
СоответствиеТипов.Вставить("OLDCHAR" , ОписаниеOldchar);
|
||||
СоответствиеТипов.Вставить("SMALLINT" , ОписаниеI);
|
||||
СоответствиеТипов.Вставить("SMALLSERIAL" , ОписаниеI);
|
||||
СоответствиеТипов.Вставить("INT" , ОписаниеI);
|
||||
СоответствиеТипов.Вставить("SERIAL" , ОписаниеI);
|
||||
СоответствиеТипов.Вставить("BIGINT" , ОписаниеI);
|
||||
СоответствиеТипов.Вставить("BIGSERIAL" , ОписаниеI);
|
||||
СоответствиеТипов.Вставить("TIMESTAMP" , ОписаниеI);
|
||||
СоответствиеТипов.Вставить("TIMESTAMP WITH TIME ZONE", ОписаниеI);
|
||||
СоответствиеТипов.Вставить("TIMESTAMP_WITH_TIME_ZONE", ОписаниеI);
|
||||
СоответствиеТипов.Вставить("OID" , ОписаниеU);
|
||||
СоответствиеТипов.Вставить("REAL" , ОписаниеF);
|
||||
СоответствиеТипов.Вставить("DOUBLE PRECISION" , ОписаниеF);
|
||||
СоответствиеТипов.Вставить("DOUBLE_PRECISION" , ОписаниеF);
|
||||
СоответствиеТипов.Вставить("VARCHAR" , ОписаниеString);
|
||||
СоответствиеТипов.Вставить("TEXT" , ОписаниеString);
|
||||
СоответствиеТипов.Вставить("CHAR" , ОписаниеString);
|
||||
СоответствиеТипов.Вставить("CITEXT" , ОписаниеString);
|
||||
СоответствиеТипов.Вставить("NAME" , ОписаниеString);
|
||||
СоответствиеТипов.Вставить("LTREE" , ОписаниеString);
|
||||
СоответствиеТипов.Вставить("LQUERY" , ОписаниеString);
|
||||
СоответствиеТипов.Вставить("LTXTQUERY" , ОписаниеString);
|
||||
СоответствиеТипов.Вставить("INET" , ОписаниеString);
|
||||
|
||||
Возврат СоответствиеТипов;
|
||||
|
||||
ОписаниеBool = Новый ОписаниеТипов("Булево");
|
||||
ОписаниеOldchar = Новый ОписаниеТипов("Число", , , Новый КвалификаторыЧисла(1, 0, ДопустимыйЗнак.Неотрицательный));
|
||||
ОписаниеI = Новый ОписаниеТипов("Число", , , Новый КвалификаторыЧисла(, 0, ДопустимыйЗнак.Любой));
|
||||
ОписаниеU = Новый ОписаниеТипов("Число", , , Новый КвалификаторыЧисла(, 0, ДопустимыйЗнак.Неотрицательный));
|
||||
ОписаниеF = Новый ОписаниеТипов("Число", , , Новый КвалификаторыЧисла(, , ДопустимыйЗнак.Любой));
|
||||
ОписаниеString = Новый ОписаниеТипов("Строка");
|
||||
|
||||
СоответствиеТипов = Новый Соответствие();
|
||||
СоответствиеТипов.Вставить("BOOL" , ОписаниеBool);
|
||||
СоответствиеТипов.Вставить("""CHAR""" , ОписаниеOldchar);
|
||||
СоответствиеТипов.Вставить("OLDCHAR" , ОписаниеOldchar);
|
||||
СоответствиеТипов.Вставить("SMALLINT" , ОписаниеI);
|
||||
СоответствиеТипов.Вставить("SMALLSERIAL" , ОписаниеI);
|
||||
СоответствиеТипов.Вставить("INT" , ОписаниеI);
|
||||
СоответствиеТипов.Вставить("SERIAL" , ОписаниеI);
|
||||
СоответствиеТипов.Вставить("BIGINT" , ОписаниеI);
|
||||
СоответствиеТипов.Вставить("BIGSERIAL" , ОписаниеI);
|
||||
СоответствиеТипов.Вставить("TIMESTAMP" , ОписаниеI);
|
||||
СоответствиеТипов.Вставить("TIMESTAMP WITH TIME ZONE", ОписаниеI);
|
||||
СоответствиеТипов.Вставить("TIMESTAMP_WITH_TIME_ZONE", ОписаниеI);
|
||||
СоответствиеТипов.Вставить("OID" , ОписаниеU);
|
||||
СоответствиеТипов.Вставить("REAL" , ОписаниеF);
|
||||
СоответствиеТипов.Вставить("DOUBLE PRECISION" , ОписаниеF);
|
||||
СоответствиеТипов.Вставить("DOUBLE_PRECISION" , ОписаниеF);
|
||||
СоответствиеТипов.Вставить("VARCHAR" , ОписаниеString);
|
||||
СоответствиеТипов.Вставить("TEXT" , ОписаниеString);
|
||||
СоответствиеТипов.Вставить("CHAR" , ОписаниеString);
|
||||
СоответствиеТипов.Вставить("CITEXT" , ОписаниеString);
|
||||
СоответствиеТипов.Вставить("NAME" , ОписаниеString);
|
||||
СоответствиеТипов.Вставить("LTREE" , ОписаниеString);
|
||||
СоответствиеТипов.Вставить("LQUERY" , ОписаниеString);
|
||||
СоответствиеТипов.Вставить("LTXTQUERY" , ОписаниеString);
|
||||
СоответствиеТипов.Вставить("INET" , ОписаниеString);
|
||||
|
||||
Возврат СоответствиеТипов;
|
||||
|
||||
КонецФункции
|
||||
|
||||
#КонецОбласти
|
||||
|
@ -1,4 +1,4 @@
|
||||
// OneScript: ./OInt/tests/Modules/internal/OPI_Тесты.os
|
||||
// OneScript: ./OInt/tests/Modules/internal/OPI_Тесты.os
|
||||
|
||||
// MIT License
|
||||
|
||||
|
Loading…
x
Reference in New Issue
Block a user