小编Mar*_*rto的帖子

如何为同一个 Serde 字段接受多个反序列化名称?

我正在尝试使用 Serde基于以下结构反序列化 JSON ( serde-json) 和 XML ( serde-xml-rs) 文件:

use serde_derive::Deserialize;

#[derive(Debug, Clone, PartialEq, Deserialize)]
pub struct SchemaConfig {
    pub name: String,
    #[serde(rename = "Cube")]
    pub cubes: Vec<CubeConfig>,
}
Run Code Online (Sandbox Code Playgroud)

我正在反序列化的字段根据文件类型具有不同的名称。在这种情况下,我希望 JSON 文件有一个cubes包含多维数据集列表的键,但 XML 中的等效项是多个<Cube />元素。

我不知道如何同时接受cubesCube作为反序列化的键。我发现的最接近的是#[serde(rename = "Cube")]选项,但是当我使用 JSON 反序列化停止工作时,因为它只接受Cube密钥。如果我删除该选项,XML 反序列化将停止工作,因为它只接受cubes作为键。

有没有一种简单的方法可以在 Serde 中实现这一点?

rust serde serde-json

5
推荐指数
1
解决办法
2371
查看次数

使用 ClickHouse 中另一个表中的值更新行

我有两张表,一张是关于县的数据,另一张是关于州的数据。不同的州有时会有完全相同的县名,所以我试图unique_name在我的县表中填充一列,该列是县名和该县所在州的缩写的串联(例如:Honolulu County, HI )。

我提出了以下查询:

ALTER TABLE counties
    UPDATE unique_name =
    (
        SELECT concat(counties.name, ', ', states.name_abbr)
        FROM counties
        INNER JOIN states
        ON counties.statefp = states.statefp
    ) WHERE unique_name = ''
Run Code Online (Sandbox Code Playgroud)

但是,我不断收到以下错误:

DB::Exception: Unknown identifier: states.statefp, context: required_names: 'states.statefp' source_tables: table_aliases: private_aliases: column_aliases: public_columns: masked_columns: array_join_columns: source_columns: .
Run Code Online (Sandbox Code Playgroud)

内部查询本身运行良好,但我不明白为什么当我尝试进行更新时会出现此错误。有任何想法吗?

clickhouse

1
推荐指数
1
解决办法
2045
查看次数

Visual C ++只有一个线程在工作(OpenMP)

我有一个用于多线程应用程序的简单代码,但是无论我传递它的线程数是多少,它都只能使用一个线程执行。最初,我认为这是计算机的问题,但是我尝试了另一台计算机,但是它也无法正常工作。我有什么事吗 如果有帮助,我正在使用Visual Studio 2015。

int th_id, nthreads;
#pragma omp parallel private(th_id) shared(nthreads) num_threads(3)
{
    th_id = omp_get_thread_num();
    #pragma omp critical
    {
        cout << "Hello World from thread " << th_id << '\n';
    }
    #pragma omp barrier

    #pragma omp master
    {
        nthreads = omp_get_num_threads();
        cout << "There are " << nthreads << " threads" << '\n';
    }
}
Run Code Online (Sandbox Code Playgroud)

c++ multithreading openmp visual-c++

0
推荐指数
1
解决办法
474
查看次数

标签 统计

c++ ×1

clickhouse ×1

multithreading ×1

openmp ×1

rust ×1

serde ×1

serde-json ×1

visual-c++ ×1