diff options
Diffstat (limited to 'TODO_gofer.txt')
-rw-r--r-- | TODO_gofer.txt | 56 |
1 files changed, 56 insertions, 0 deletions
diff --git a/TODO_gofer.txt b/TODO_gofer.txt new file mode 100644 index 0000000..d33116b --- /dev/null +++ b/TODO_gofer.txt @@ -0,0 +1,56 @@ +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 |