]> granicus.if.org Git - php/commitdiff
populate the new dbh->driver field.
authorWez Furlong <wez@php.net>
Thu, 7 Jul 2005 17:08:01 +0000 (17:08 +0000)
committerWez Furlong <wez@php.net>
Thu, 7 Jul 2005 17:08:01 +0000 (17:08 +0000)
Implement PDO_ATTR_DRIVER_NAME.

ext/pdo/pdo.c
ext/pdo/pdo_dbh.c

index 210ed31603c55b652eff7c05683cde3cada1898d..d48ada98b1479b01a2964846b29d02462880b8a5 100755 (executable)
@@ -336,6 +336,7 @@ PHP_MINIT_FUNCTION(pdo)
        REGISTER_LONG_CONSTANT("PDO_ATTR_STATEMENT_CLASS",              (long)PDO_ATTR_STATEMENT_CLASS,                 CONST_CS|CONST_PERSISTENT);
        REGISTER_LONG_CONSTANT("PDO_ATTR_FETCH_TABLE_NAMES",            (long)PDO_ATTR_FETCH_TABLE_NAMES,                       CONST_CS|CONST_PERSISTENT);
        REGISTER_LONG_CONSTANT("PDO_ATTR_FETCH_CATALOG_NAMES",          (long)PDO_ATTR_FETCH_CATALOG_NAMES,                     CONST_CS|CONST_PERSISTENT);
+       REGISTER_LONG_CONSTANT("PDO_ATTR_DRIVER_NAME",          (long)PDO_ATTR_DRIVER_NAME,     CONST_CS|CONST_PERSISTENT);
        
        REGISTER_LONG_CONSTANT("PDO_ERRMODE_SILENT",    (long)PDO_ERRMODE_SILENT,               CONST_CS|CONST_PERSISTENT);
        REGISTER_LONG_CONSTANT("PDO_ERRMODE_WARNING",   (long)PDO_ERRMODE_WARNING,              CONST_CS|CONST_PERSISTENT);
index be332da4605ee78e5d4523fa1745ff9cd41eec46..cbab10d908fb7b7c5ca593dc3ca129d1d4aa0182 100755 (executable)
@@ -390,6 +390,8 @@ static PHP_FUNCTION(dbh_constructor)
                                php_error_docref(NULL TSRMLS_CC, E_ERROR, "Failed to register persistent entry");
                        }
                }
+
+               dbh->driver = driver;
                return; 
        }
 
@@ -744,6 +746,8 @@ static PHP_METHOD(PDO, getAttribute)
                case PDO_ATTR_ERRMODE:
                        RETURN_LONG(dbh->error_mode);
 
+               case PDO_ATTR_DRIVER_NAME:
+                       RETURN_STRINGL(dbh->driver->driver_name, dbh->driver->driver_name_len, 1);
        }
        
        if (!dbh->methods->get_attribute) {