getIndexes() を使用した 4D インデックスのプログラムによる管理
テーブルにどのインデックスが存在し、それらがどのように構成されているかを把握するには、以前は「構造エディタ」を使って手動で確認する必要がありました。新しいgetIndexes()関数により、4D開発者はコードから直接インデックスを検査できるようになり、実行時に構成を簡単に確認したり、診断ツールを構築...
テーブルにどのインデックスが存在し、それらがどのように構成されているかを把握するには、以前は「構造エディタ」を使って手動で確認する必要がありました。新しいgetIndexes()関数により、4D開発者はコードから直接インデックスを検査できるようになり、実行時に構成を簡単に確認したり、診断ツールを構築...
あなたの4Dアプリは何年もの間、クライアント・サーバー方式で稼働していたとします。これはアプリケーションを展開する上で一般的な方法です。 しかし在宅勤務や外出先での作業など、一部のユースケースにおいては、ブラウザ経由でのアクセスの方が適している場合があります。 こういった方法に興味をお持ちであれ...
セマンティック検索:ベクトル類似性によるクエリの記事では、ベクトル類似性を使用したエンティティのクエリ方法を紹介しました。これは、正確な値ではなく意味に基づいて最も関連性の高いレコードを見つける強力な方法です。 4D 21 R2では、4D.Vectorフィールドを用いた検索結果の並べ替え機能が新た...
この機能は、イベント駆動方式でデータを処理するという新しいパラダイムを推し進めます。4D 21 は、データベース操作 (保存または削除) に関連する一連のイベントを提供します。 ORDAイベントはトリガーを置き換えることができ、さらに多くの利点を提供します。より制御しやすく、ビジネスロジック (請...
ORDA は、4D の新たな可能性の世界を開く重要な機能です。 パワフルなコードを書けるようにするため、私たちは ORDA を強化し続けています。ORDA によってアプリの開発やメンテナンスが容易になるだけでなく、エンドユーザーにとって素晴らしいパフォーマンスが発揮されるよう最適化されています。 ...
4Dランゲージはクラスの概念を、ひいては コンストラクターの概念をサポートしています。 他方、ORDA の抽象化レイヤーは、データモデルクラスを通して、大きなビジネス上の利点を提供しています。ビジネス指向のコードを書き、それを API のように "公開" することができます。データストア、データク...
これは誰もが遭遇した問題かもしれません。ユーザーのために、エンティティセレクションを表示する素敵なインターフェースをデザインしたとします。ユーザーはエンティティを削除して表示を絞り込むことができますが、その後には削除したエンティティがあった場所に空のスペースが現れてしまいます。 この場合、どうした...
データの削除には注意が必要です。問題を防ぐために、トランザクションを使用したり、バックアップやログに頼ったりすることができます。 4D 20 R4 では、セレクション内のレコードを削除した場合に一貫性を保ち、セレクションを安定させるために、いくつかの改善がなされました。 重要: これは、4D標準...
従来のやり方では、SET EXTERNAL DATA PATHコマンドを使うことによって、ピクチャーや BLOB をデータファイルの外に置くことができました。このコマンドは ORDA に適応していないため、v20 R3 では同様の機能を追加することにしました: Blob およびピクチャー属性に、ファ...
データ要素のユニークなリストを取得することは、データ操作において常に役に立ちます。各値の出現回数を取得することが不可欠な場合もあります。Collection と EntitySelection クラスの distinct 関数を使うと、ユニーク値のリストを取得できます。4D v20 では、各ユニーク...