2017-05-14 4 views
0

confdで奇妙な問題が発生します。項目はuintキーでインデックスされます。 - 9個以下の項目で設定を使用すると、すべてがokです.cdb_getインデックス1は最初のアイテムを返し、2番目はインデックス秒を返します。C++ rhel confd cdb_getは、奇妙な順序で要素を返します。

10番目のアイテムを追加すると、最初のアイテムは正しいもの(1 id)が得られますが、2番目のアイテムをクエリすると10番目のアイテムが表示されます( "stringy"マインドスキーマではuintとして宣言されていますが、intではありません)。

数日間この作業に苦労している人は誰でも、返品の順序を修正する方法を知っていますか? ありがとう

+0

ようこそスタックオーバーフロー。あなたの質問に、完全で検証可能な最小限の例を作成するには、[このガイド](https://stackoverflow.com/help/mcve)を参照してください。 – Toby

+0

文字列で並べ替えるのではなく、数値でソートする必要があるように思えます。 cdbの内容はソートされていないので、小さなcdbにアクセスする場合は、すべてのキーと値を操作して独自のデータ構造を作成し、必要に応じて内部データ構造をソートします。 http://discuss.tail-f.com/t/how-to-only-get-objects-configured-node/692 – gstrauss

答えて

0

テキストとして文字列キーを手配しました。だから、1、10、2、3はいい順です。この問題を回避するには、リスト内の順序付きユーザー句を使用することが最も簡単な方法です。別のオプションは、キーを数値形式に変更します。または注文するために特別なコールポイントを利用する(巨大な仕事)。

関連する問題