Gofer TODOs: DBD::Gofer and http transport changes add comparisons with other proxies to gofer docs (see notes) http://code.google.com/p/mod-ndb/ http://code.nytimes.com/projects/dbslayer update gofer pdf in distribution talk about multiple statements in single sql for gofer inbalance between two calls to _store_response_in_cache - the call in transmit_request doesn't have the response_needs_retransmit logic Add server-side caching. combine these: my $request = $transport->thaw_request( $frozen_request, $serializer ); my $response = $executor->execute_request( $request ); my $frozen_response = $transport->freeze_response($response, $serializer); into single method that first checks the cache and updates it if appropriate. Different serializations will have different caches Add DBI::Gofer::Serialiser::MIME / Base64 Add DBI::Gofer::Serialiser::JSON Gofer - allow dbh attrib changes after connect? note them and pass in request as STORE method calls but then gofer server need to reset them to restore dbh to original state Or, change the attr in the connect() call, but that risks bloating the number of cache dbh in the server. Gofer request flags for: - return current executor stats as an attribute - handy for tests - will accept streamed resultsets Add attr-passthru to prepare()? ie for gofer cache control & ReadOnly Define and document termind that first checks the cache and updates it if appropriate. Different serializations will have different caches Add DBI::Gofer::Serialiser::MIME / Base64 Add DBI::Gofer::Serialiser::JSON Gofer - allow dbh attrib changes after connect? note them and pass in request as STORE method calls but then gofer server need to reset them to restore dbh to original state Or, change the attr in the connect() call, but that risks bloating the number of cache dbh in the server. Gofer request flags for: - return current executor stats as an attribute - handy for tests - will accept streamed resultsets Add attr-passthru to prepare()? ie for gofer cache control & ReadOnly Define and document terminology for client and server ends Document user/passwd issues at the various levels of the gofer stack Remove "Password" from connect attr if the same as $password arg Extract policy settings by parsing the pod Policy for dbh attr FETCH (ie example_driver_path) or piggyback on skip_connect_check could also remember which attr have been returned to us so not bother FETCHing them (unless pedantic) Call method on transport failure so transport can cleanup/reset if it wants Gofer: gearman - need to disable coallesing for non-idempotent requests