summaryrefslogtreecommitdiff
path: root/TODO_gofer.txt
diff options
context:
space:
mode:
Diffstat (limited to 'TODO_gofer.txt')
-rw-r--r--TODO_gofer.txt56
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