You've already forked OpenIntegrations
mirror of
https://github.com/Bayselonarrend/OpenIntegrations.git
synced 2025-08-10 22:41:43 +02:00
PG: Пересборка под двоичные данные
This commit is contained in:
@@ -1,12 +1,12 @@
|
|||||||
"MAIN ---"
|
"MAIN ---"
|
||||||
linux-vdso.so.1 (0x00007ffd7fb79000)
|
linux-vdso.so.1 (0x00007ffeea6d2000)
|
||||||
libssl.so.3 => /lib64/libssl.so.3 (0x0000740872000000)
|
libssl.so.3 => /lib64/libssl.so.3 (0x00007c2606a00000)
|
||||||
libcrypto.so.3 => /lib64/libcrypto.so.3 (0x0000740871800000)
|
libcrypto.so.3 => /lib64/libcrypto.so.3 (0x00007c2606200000)
|
||||||
libpthread.so.0 => /lib64/libpthread.so.0 (0x0000740871400000)
|
libpthread.so.0 => /lib64/libpthread.so.0 (0x00007c2605e00000)
|
||||||
libc.so.6 => /lib64/libc.so.6 (0x0000740871000000)
|
libc.so.6 => /lib64/libc.so.6 (0x00007c2605a00000)
|
||||||
libdl.so.2 => /lib64/libdl.so.2 (0x0000740870c00000)
|
libdl.so.2 => /lib64/libdl.so.2 (0x00007c2605600000)
|
||||||
/lib64/ld-linux-x86-64.so.2 (0x0000740872600000)
|
/lib64/ld-linux-x86-64.so.2 (0x00007c2607000000)
|
||||||
libz.so.1 => /lib64/libz.so.1 (0x0000740870800000)
|
libz.so.1 => /lib64/libz.so.1 (0x00007c2605200000)
|
||||||
GLIBC_2.2.5
|
GLIBC_2.2.5
|
||||||
GLIBC_2.12
|
GLIBC_2.12
|
||||||
GLIBC_2.3
|
GLIBC_2.3
|
||||||
|
@@ -13,7 +13,7 @@ pub fn execute_query(
|
|||||||
query: String,
|
query: String,
|
||||||
params_json: String,
|
params_json: String,
|
||||||
force_result: bool,
|
force_result: bool,
|
||||||
) -> String {
|
) -> Vec<u8> {
|
||||||
|
|
||||||
let client_arc = match add_in.get_connection() {
|
let client_arc = match add_in.get_connection() {
|
||||||
Some(c) => c,
|
Some(c) => c,
|
||||||
@@ -41,13 +41,13 @@ pub fn execute_query(
|
|||||||
if query.trim_start().to_uppercase().starts_with("SELECT") || force_result {
|
if query.trim_start().to_uppercase().starts_with("SELECT") || force_result {
|
||||||
match client.query(&query, ¶ms_unboxed) {
|
match client.query(&query, ¶ms_unboxed) {
|
||||||
Ok(rows) => {
|
Ok(rows) => {
|
||||||
rows_to_json(rows)
|
rows_to_json(rows).into_bytes()
|
||||||
}
|
}
|
||||||
Err(e) => format_json_error(&e.to_string()),
|
Err(e) => format_json_error(&e.to_string()),
|
||||||
}
|
}
|
||||||
} else {
|
} else {
|
||||||
match client.execute(&query, ¶ms_unboxed.as_slice()) {
|
match client.execute(&query, ¶ms_unboxed.as_slice()) {
|
||||||
Ok(_) => json!({"result": true}).to_string(),
|
Ok(_) => json!({"result": true}).to_string().into_bytes(),
|
||||||
Err(e) => format_json_error(&e.to_string()),
|
Err(e) => format_json_error(&e.to_string()),
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -326,12 +326,12 @@ fn process_sql_value(column_name: &str, column_type: &str, row: &postgres::Row)
|
|||||||
Ok(value)
|
Ok(value)
|
||||||
}
|
}
|
||||||
|
|
||||||
fn format_json_error(error: &str) -> String {
|
fn format_json_error(error: &str) -> Vec<u8> {
|
||||||
json!({
|
json!({
|
||||||
"result": false,
|
"result": false,
|
||||||
"error": error
|
"error": error
|
||||||
})
|
})
|
||||||
.to_string()
|
.to_string().into_bytes()
|
||||||
}
|
}
|
||||||
|
|
||||||
fn parse_date(input: &str) -> Result<NaiveDateTime, String> {
|
fn parse_date(input: &str) -> Result<NaiveDateTime, String> {
|
||||||
|
@@ -41,8 +41,8 @@ pub fn cal_func(obj: &mut AddIn, num: usize, params: &mut [Variant]) -> Box<dyn
|
|||||||
1 => Box::new(obj.close_connection()),
|
1 => Box::new(obj.close_connection()),
|
||||||
2 => {
|
2 => {
|
||||||
|
|
||||||
let query = params[0].get_string().unwrap_or("".to_string());
|
let query = String::from_utf8_lossy(params[0].get_blob().unwrap_or(&[])).to_string();
|
||||||
let params_json = params[1].get_string().unwrap_or("".to_string());
|
let params_json = String::from_utf8_lossy(params[1].get_blob().unwrap_or(&[])).to_string();
|
||||||
let force_result = params[2].get_bool().unwrap_or(false);
|
let force_result = params[2].get_bool().unwrap_or(false);
|
||||||
|
|
||||||
Box::new(methods::execute_query(obj, query, params_json, force_result))
|
Box::new(methods::execute_query(obj, query, params_json, force_result))
|
||||||
|
BIN
src/en/OInt/addins/OPI_PostgreSQL.zip
vendored
BIN
src/en/OInt/addins/OPI_PostgreSQL.zip
vendored
Binary file not shown.
Binary file not shown.
BIN
src/ru/OInt/addins/OPI_PostgreSQL.zip
vendored
BIN
src/ru/OInt/addins/OPI_PostgreSQL.zip
vendored
Binary file not shown.
@@ -148,7 +148,10 @@
|
|||||||
OPI_ПреобразованиеТипов.ПолучитьСтроку(ТекстЗапроса, Истина);
|
OPI_ПреобразованиеТипов.ПолучитьСтроку(ТекстЗапроса, Истина);
|
||||||
OPI_ПреобразованиеТипов.ПолучитьБулево(ФорсироватьРезультат);
|
OPI_ПреобразованиеТипов.ПолучитьБулево(ФорсироватьРезультат);
|
||||||
|
|
||||||
Параметры_ = ОбработатьПараметры(Параметры);
|
Параметры_ = ОбработатьПараметры(Параметры);
|
||||||
|
|
||||||
|
ТекстЗапроса = ПолучитьДвоичныеДанныеИзСтроки(ТекстЗапроса);
|
||||||
|
Параметры_ = ПолучитьДвоичныеДанныеИзСтроки(Параметры_);
|
||||||
|
|
||||||
Если ЭтоКоннектор(Соединение) Тогда
|
Если ЭтоКоннектор(Соединение) Тогда
|
||||||
ЗакрыватьСоединение = Ложь;
|
ЗакрыватьСоединение = Ложь;
|
||||||
@@ -163,6 +166,7 @@
|
|||||||
КонецЕсли;
|
КонецЕсли;
|
||||||
|
|
||||||
Результат = Коннектор.Execute(ТекстЗапроса, Параметры_, ФорсироватьРезультат);
|
Результат = Коннектор.Execute(ТекстЗапроса, Параметры_, ФорсироватьРезультат);
|
||||||
|
Результат = ПолучитьСтрокуИзДвоичныхДанных(Результат);
|
||||||
|
|
||||||
Если ЗакрыватьСоединение Тогда
|
Если ЗакрыватьСоединение Тогда
|
||||||
ЗакрытьСоединение(Коннектор);
|
ЗакрытьСоединение(Коннектор);
|
||||||
|
Binary file not shown.
Reference in New Issue
Block a user