Skip navigation.

PHP 5.1 beta 3 PDO notes #

Just tested ADOdb compatibility with PDO on PHP 5.1 beta 3. The PDO drivers still need some work (and ADOdb's support for PDO needs some polishing too!) Some issues I found with PDO drivers:

  • The pgsql driver currently does not support commit/rollback. All statements are autocommited.
  • The oci driver for Oracle does not support getColumnMeta(), so checking field types and names dynamically is not possible at run-time.
  • The mysql driver seems ok, except that it runs by default in unbuffered mode, which only allows a single query to execute concurrently. There appears to be a mysql specific driver attribute to work around this though.
  • Binding does not appear to work properly with pgsql and mysql with ? parameters. This might be a be bug in my code, and not a PDO issue. I haven't tested oci binding yet.

Optimizing Oracle and PHP #

The Optimizing Oracle and PHP article I wrote for OTN has been published. For more info on using ADOdb, which has extensive Oracle support, see this tutorial.

However there are some mistakes. This part:

After indexing, rerun the EXPLAIN PLAN. Now Oracle is 
using the newly created index on ACCNO:

OPERATION 	          OBJECT_NAME  COST 	CARDINALITY  BYTES
SELECT STATEMENT 	  	       10 	456 	     39216
--COUNT STOPKEY 	  	  	  	 
----VIEW 	  	               10 	456 	     39216
------SORT ORDER BY STOPKEY 	  	2 	456 	     39216
--------TABLE ACCESS FULL 	  	1 	182 	     39216

Should read:

After indexing, rerun the EXPLAIN PLAN. Now Oracle is 
using the newly created index on ACCNO:

OPERATION	           OBJECT_NAME  COST	CARDINALITY  BYTES
SELECT STATEMENT 	 	        10 	456 	     39216 
--COUNT STOPKEY	 	 	 	 
----VIEW 	 	                10 	456 	     39216 
------SORT ORDER BY STOPKEY	 	10 	456 	     39216 
--------TABLE ACCESS 
        BY INDEX ROWID         MYHIST	 2 	456 	     39216 
----------INDEX RANGE SCAN	ACCNO	 1 	182 	 

Ten Emerging 2005 Software Trends #

The Manageability blog has Ten Emerging 2005 Software Trends:
  1. Firefox Browser market share will continue to grow in 2005.
  2. Eclipse market share will continue to grow.
  3. AMD will continue to increase its performance dominance over Intel.
  4. Javascript will regain dominance in the space of Rich Internet Applications (RIA).
  5. Java developers will continue to abandon EJB as the standard way of building Java based server applications.
  6. Semantic XHTML will continue to gain mind share as the best way to encode semantic information.
  7. SOA will continue to mesmerize the masses...
  8. Large costly multi-cpu servers will be abandoned in favor of lots of cheap low cost single CPU servers.
  9. IT Deflation will be the continuing trend.
  10. Scripting languages will become dominant in addressing the needs of situated software.

In response, here is my set of predictions:

  1. IE7 market share will grow from a initial user-base of 0%.
  2. Linux market share will continue grow. Isn't this more interesting than speculating about the marketshare of a big bloated IDE?
  3. Multi-core CPUs will be marketed as the next big thing. This means your new dual core processor PC will operate at half the speed most of the time because your apps make little use of parallel processing.
  4. Err, Javascript is already the dominant technology in Rich Internet Applications, and the status quo will continue.
  5. Managers of Java developers will continue to switch to simpler technologies like outsourcing to India.
  6. The semantics of Semantic XHTML will continue to confuse you and me.
  7. SOA is a theoretical construct that will be made irrelevant under the weight of real APIs defined by companies like eBay, Amazon or Google.
  8. Large costly multi-cpu servers will be replaced by costly programmers who can program loosely distributed systems running on cheap hardware. Or they switch to PHP and get script kiddies like you and me to code.
  9. IT Deflation means kids know PHP but refuse to learn Java or C++ or become professional programmers.
  10. Scripting languages become dominant because this means anyone can be a programmer without becoming a nerd.

;-)