--- datadict-mssqlnative.inc.php 2012-01-22 10:05:29.312500000 +0100 +++ datadict-mssqlnative.inc-orig.php 2012-01-19 14:44:32.000000000 +0100 @@ -121,66 +121,19 @@ return $sql; } + /* function AlterColumnSQL($tabname, $flds) { - $tabname = $this->TableName($tabname); + $tabname = $this->TableName ($tabname); $sql = array(); list($lines,$pkey) = $this->_GenFields($flds); - foreach($lines as $v) { + $sql[] = "ALTER TABLE $tabname $this->alterCol $v"; + } - // get field name and type - $arTmp = array(); - $arTmp = preg_split("/[\s]+/", $v); - $arCnt = count($arTmp); - $fieldname = $arTmp[0]; - $fieldtype = $arTmp[1]; - - $bHasDef = false; - $bIsNull = true; - - for($i = 2; $i < $arCnt; $i++) { - // get default value - if( trim($arTmp[$i]) == "DEFAULT" ) - { - $bHasDef = true; - if( $i+1 <= $arCnt ) { - $field_def = $arTmp[$i+1]; - } - } - - // get nullability - if( trim($arTmp[$i]) == "NOTNULL" ) - $bIsNull = false; - } - - - // delete default value if exists - $strDropDef = $this->DropDefaultValue($tabname, $fieldname); - if( trim($strDropDef) !== "" ) - $sql[] = $strDropDef; - - - if($bHasDef) { - // change type and nulls - if($bIsNull) - $sql[] = "ALTER TABLE $tabname $this->alterCol $fieldname $fieldtype NOT NULL"; - else - $sql[] = "ALTER TABLE $tabname$this->alterCol $fieldname $fieldtype"; - // Add default value - $sql[] = "ALTER TABLE $tabname ADD CONSTRAINT def_" . $tabname . "_" . $fieldname . " DEFAULT " . $field_def . " FOR $fieldname"; - } - else { - $sql[] = "ALTER TABLE $tabname $this->alterCol $v"; - } - } -/* - echo "
"; - print_r($sql); - echo "
"; - print_r($sql); - echo "
"; - print_r($strSql); - echo "