問題タブ [sequence-generators]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
java - Oracle シーケンスが null になることはありますか?
Spring で Java アプリケーションを実行していますが、insert ステートメントの 1 つでエラーが発生します。私のエラーは次のとおりです。
ネストされた例外は java.sql.SQLIntegrityConstraintViolationException: ORA-01400: cannot insert NULL into ("MY_SCHEMA"."VALIDATION_RESULT"."RESULT_SEQ") です
すべてのデータベース担当者にとって、Oracle が呼び出しnull
から返されるシナリオはありますか? nextval
複数のスレッドが同時に呼び出している場合はどうなりますか?
Spring 開発者のために、私たちは使用しています
シーケンスを処理します。メソッドを使用しnextLongValue
ます。
ここでの私の直感は、オラクルが私に null を与えていないことを私に伝えていますnextval
。私がすでに検索したすべてのものから、それは不可能に思えます。誰でも確認できますか?
hibernate - Hibernate @SequenceGenerator はグローバルではありません
生成された値を使用する2つのエンティティクラスがあります
問題は、行を入れない場合です
両方のエンティティでエラーが発生します:
しかし、JPA 仕様では、@SequenceGenerator のスコープは「グローバル」であり、エンティティ間で再利用できると述べています。
私は何が欠けていますか?
postgresql - Postgresql シーケンス ジェネレーターはどのように機能しますか?
Postgresql Sequence Generator について質問があります。
たとえば、スキーマに登録されたシーケンスがあり、同じスキーマ内で「USER」という名前のテーブルに初期データのレコードを挿入したため、デフォルトでは ID は 1 になります。ただし、名前のテーブルにデータを挿入すると、 「POSTS」、「POSTS」という名前のテーブルにはまだデータがありません。このフィールドに挿入すると。それは2のIDを持っていますか?
私の質問は、テーブルに関係なく挿入された以前の ID またはレコードに基づいて、同じシーケンス ジェネレーター生成シーケンスをグローバルに生成しますか?
javascript - ES6 ジェネレーターと関数配列の違い
JavaScript のブログや記事を読んでいると、ES6 ジェネレーターに多くの関心が寄せられていますが、関数の配列で作成された現在のシーケンスと本質的にどのように異なるのかを理解できていません。たとえば、以下のファクトリは関数ステップの配列を取り、ステップ間で生成します。
どのような利点がありませんか? また、トランスパイラは ES6 で魔法をどのように実装しますか?
c# - C# でアルファベット順を生成するロジック
シーケンスは次のようになります。
AZ,AA-AZ,BA-BZ,CA-CZ,.......,ZA-ZZ ZZ の次
はAAAから。
次に、AAAからZZZに、次にAAAAからZZZZに、というように続きます。
このシーケンスは、Excel シートのシーケンスとほとんど同じです。
編集:私のコードを追加しました
これは私がやったことです。しかし、私はそれが間違った論理であることを知っています。
ありがとう。
java - シーケンス ジェネレーター / Cassandra 3.0 を使用した自動インクリメント
Cassandras のドキュメントをたくさん読み、カウンターの変更などを確認しました。しかし、Cassandra には、その場でインクリメンタル シーケンスを生成するデフォルトの標準的な方法が同梱されていないようです。
私が見つけたのは、比較と設定を行ってIFステートメント/句を使用することだけです。
このようにして、ドキュメントの存在を確認し、存在しない場合はドキュメントを生成できます。これはクラスターと見なされるクォーラム アルゴリズムによって行われるため、使いやすく安全ですが、待ち時間が長くなります。
この待ち時間を回避するために、nextSequenceId を 1 ではなく 1000 ずつインクリメントすることで、1000 の ID を生成 (予約) できます。この方法では、最初の 1000 が生成されたときにのみレイテンシーの支払いが発生します (または、時期尚早に行われた場合、レイテンシーはほとんどありません)。
ホットスポットや混雑が発生することを理解しています。
この輻輳を回避する 1 つの方法は、より多くのシーケンス番号ジェネレーターをすべて異なるオフセット (モジュロ) で使用し、モジュロを選択して特定のシーケンス ジェネレーターをランダムに選択することで衝突の可能性を制限することです。
したがって、これは私の素朴な実装になります。
Cassandra 3.0 が登場して以来、私は次の 3 つのことを疑問に思います。
- Cassandra は、シーケンスを実装するよりスマートな方法を提供しますか?
- Cassandra は、これを実装する際の苦痛を和らげるものを提供していますか? つまり、比較して設定するよりも、読み取りを行うということです。もっと賢いものはありますか?
- ある種のシーケンス番号をすでに提供しているライブラリはありますか?