2004-10-01から1ヶ月間の記事一覧

backendをprofileする

backendをプロファイルしたいときは,configureを実行する前に, CFLAGS="-g -pg"; export CFLAGS などとして,CFLAGSに-pgを設定してからビルドする。 linuxの場合は, CFLAGS="-g -pg -DLINUX_PROFILE"; export CFLAGS などとする。あとは普通にpostgresql…

heap_getattr

HeapTupleからカラムのデータを取得するマクロ。 attnum attnum > 0のときは,以下の2通り。 指定したカラム番号がtupleのカラム数以上はNULL。 カラム番号がtupleのカラム数より小さいときはfastgetattrを実行する。

fastgetattr

heap_getattrなどから実行されるマクロ。 isnullがNULL以外のとき,*isnullをfalseで初期化する。 HeapTupleNoNulls()でタプルにNULLデータが存在しないときは,以下の2通り。 tupleDescのattcacheoffに有効な値が入っているとき,fetchatt()を実行。 無効…

catcache.c: SearchCatCacheList()

SearchCatCacheListでリストを構築するとき,cacheのエントリを使うか,新しく エントリを作成するか判断するために,以下の4つの条件を調べる・if (ct->dead || ct->negative) エントリがdeadかnegativeの場合は使わない・if (ct->hash_value != hashValue)…