fixed error with fulltext indexes (eg. in the wiki), when the default-type-type is set to InnoDB, which is eg. the default for some newer windows installs or mysql 4.1.x

This commit is contained in:
Ralf Becker 2005-02-04 11:13:01 +00:00
parent b0a51a63c4
commit 10864e96f8

View File

@ -1,7 +1,7 @@
<?php <?php
/** /**
V4.52 10 Aug 2004 (c) 2000-2004 John Lim (jlim@natsoft.com.my). All rights reserved. V4.54 5 Nov 2004 (c) 2000-2004 John Lim (jlim@natsoft.com.my). All rights reserved.
Released under both BSD license and Lesser GPL library license. Released under both BSD license and Lesser GPL library license.
Whenever there is any discrepancy between the two licenses, Whenever there is any discrepancy between the two licenses,
the BSD license will take precedence. the BSD license will take precedence.
@ -93,10 +93,10 @@ class ADODB2_mysql extends ADODB_DataDict {
case 'L': return 'TINYINT'; case 'L': return 'TINYINT';
case 'R': case 'R':
case 'I4':
case 'I': return 'INTEGER'; case 'I': return 'INTEGER';
case 'I1': return 'TINYINT'; case 'I1': return 'TINYINT';
case 'I2': return 'SMALLINT'; case 'I2': return 'SMALLINT';
case 'I4': return 'INTEGER'; // MEDIUMINT is actualy a I3
case 'I8': return 'BIGINT'; case 'I8': return 'BIGINT';
case 'F': return 'DOUBLE'; case 'F': return 'DOUBLE';
@ -157,6 +157,8 @@ class ADODB2_mysql extends ADODB_DataDict {
if (isset($idxoptions['FULLTEXT'])) { if (isset($idxoptions['FULLTEXT'])) {
$unique = ' FULLTEXT'; $unique = ' FULLTEXT';
// fulltext indexes are only allowed for MyISAM tables (changing MyISAM tables to MyISAM does no harm)
$sql[] = "ALTER TABLE $tabname TYPE=MyISAM";
} elseif (isset($idxoptions['UNIQUE'])) { } elseif (isset($idxoptions['UNIQUE'])) {
$unique = ' UNIQUE'; $unique = ' UNIQUE';
} else { } else {
@ -178,4 +180,4 @@ class ADODB2_mysql extends ADODB_DataDict {
return $sql; return $sql;
} }
} }
?> ?>