これは軽微な質問ですが、私はそんなに困惑しています。SQLiteの最大クエリパラメータはSnow Leopardで異なりますか?
sqliteには、999のクエリパラメータの数に厳しい制限があります。これは、パブリックヘッダーファイルの一部ではないヘッダーで設定され、ランタイムによって制限を下回ることができますハードリミット。 Snow LeopardのPythonのsqlite3モジュール(とLionも同様です)は、これよりも多くのパラメータを使用できますが、これがどのように可能かについては私の人生を理解することはできません。
私は、Pythonラッパーがパラメータ置換自体を行い、完全な文をsqlite3に渡す可能性を考えました。しかし、私がソースコードから知る限り、それは起こっていません。私はまた、Snow Leopard上のsqlite3の実装がわずかに異なるソースコードからコンパイルされた可能性を考えました。 Appleがオープンソースの変更を公開していることがわかりました(http://opensource.apple.com/source/SQLite/SQLite-74.11/参照)、ソースのパラメータの制限はデフォルトと同じです。
誰かがこれが起こっている可能性のあるアイデアがある場合(私はそれが起こっていると確信しています;私は2000パラメータのステートメントを作成しています)、チャイムインしてください。パラメータの制限のために、Windows上で同じコードが壊れてしまいます。フルSQLiteの(C)ソースを構築する場合
Snow-Leopardの実際の制限はどれですか?あなたがばかげて高い数字を置くと、メモリはどのように振る舞いますか? – dsign
良いアイデア。 Snow Leopardの数字は正確に500000です。 500001休憩。 –