← Back to team overview

anewt-developers team mailing list archive

[Branch ~uws/anewt/anewt.uws] Rev 1698: [database] Treat MySQL SHOW queries as SELECT queries

 

------------------------------------------------------------
revno: 1698
committer: Wouter Bolsterlee <uws@xxxxxxxxx>
branch nick: anewt.uws
timestamp: Mon 2009-07-20 23:12:42 +0200
message:
  [database] Treat MySQL SHOW queries as SELECT queries
    
  This results in correct type deducing and casting.
modified:
  database/sql-template.lib.php

=== modified file 'database/sql-template.lib.php'
--- database/sql-template.lib.php	2009-07-20 20:39:48 +0000
+++ database/sql-template.lib.php	2009-07-20 21:12:42 +0000
@@ -61,20 +61,27 @@
 		$first_word = preg_replace('/^([a-z]+).*$/s', '\1', strtolower(trim(substr(ltrim($sql), 0, 10))));
 		switch ($first_word)
 		{
+			/* DML */
 			case 'select':    return ANEWT_DATABASE_SQL_QUERY_TYPE_SELECT;
 			case 'insert':    return ANEWT_DATABASE_SQL_QUERY_TYPE_INSERT;
 			case 'replace':   return ANEWT_DATABASE_SQL_QUERY_TYPE_REPLACE;
 			case 'update':    return ANEWT_DATABASE_SQL_QUERY_TYPE_UPDATE;
 			case 'delete':    return ANEWT_DATABASE_SQL_QUERY_TYPE_DELETE;
 
+			/* DDL */
 			case 'create':    return ANEWT_DATABASE_SQL_QUERY_TYPE_CREATE;
 			case 'alter':     return ANEWT_DATABASE_SQL_QUERY_TYPE_ALTER;
 			case 'drop':      return ANEWT_DATABASE_SQL_QUERY_TYPE_DROP;
 
+			/* Transactions */
 			case 'begin':     return ANEWT_DATABASE_SQL_QUERY_TYPE_BEGIN;
 			case 'commit':    return ANEWT_DATABASE_SQL_QUERY_TYPE_COMMIT;
 			case 'rollback':  return ANEWT_DATABASE_SQL_QUERY_TYPE_ROLLBACK;
 
+			/* MySQL-specific SHOW gives a result set as well */
+			case 'show':      return ANEWT_DATABASE_SQL_QUERY_TYPE_SELECT;
+
+			/* Unknown */
 			default:          return ANEWT_DATABASE_SQL_QUERY_TYPE_UNKNOWN;
 		}
 	}



--
lp:anewt
https://code.launchpad.net/~uws/anewt/anewt.uws

Your team Anewt developers is subscribed to branch lp:anewt.
To unsubscribe from this branch go to https://code.launchpad.net/~uws/anewt/anewt.uws/+edit-subscription.