# File lib/og/backend.rb, line 104
        def self.eval_og_update(klass)
                props = klass.__props.reject { |p| :oid == p.symbol }
                
                updates = props.collect { |p|
                        "#{p.name}=#{write_prop(p)}"
                }

                sql = "UPDATE #{klass::DBTABLE} SET #{updates.join(', ')} WHERE oid=#\{@oid\}"

                if klass.instance_methods.include?("og_pre_update")
                        pre_cb = "og_pre_update(conn);"
                else
                        pre_cb = ""
                end

                if klass.instance_methods.include?("og_post_update")
                        post_cb = "og_post_update(conn);"
                else
                        post_cb = ""
                end

                if klass.instance_methods.include?("og_pre_insert_update")
                        pre_cb << "og_pre_insert_update(conn);"
                end

                if klass.instance_methods.include?("og_post_insert_update")
                        post_cb << "og_post_insert_update(conn);"
                end
                
                klass.class_eval %{
                        def og_update(conn)
                                #{pre_cb}
                                conn.exec "#{sql}"
                                #{post_cb}
                        end
                }
        end