/** * Returns sql statement according to the column and index specifications as * requested * * @param boolean $is_create_tbl true if requirement is to get the statement * for table creation * * @return string sql statement */ function PMA_getColumnCreationStatements($is_create_tbl = true) { $sql_statement = ""; list($field_cnt, $field_primary, $field_index, $field_unique, $field_fulltext, $field_spatial) = PMA_getIndexedColumns(); $definitions = PMA_buildColumnCreationStatement($field_cnt, $is_create_tbl); // Builds the PRIMARY KEY statements $primary_key_statements = PMA_buildIndexStatements(isset($field_primary[0]) ? $field_primary[0] : array(), " PRIMARY KEY ", $is_create_tbl); $definitions = array_merge($definitions, $primary_key_statements); // Builds the INDEX statements $definitions = PMA_mergeIndexStatements($definitions, $is_create_tbl, $field_index, "INDEX"); // Builds the UNIQUE statements $definitions = PMA_mergeIndexStatements($definitions, $is_create_tbl, $field_unique, "UNIQUE"); // Builds the FULLTEXT statements $definitions = PMA_mergeIndexStatements($definitions, $is_create_tbl, $field_fulltext, "FULLTEXT"); // Builds the SPATIAL statements $definitions = PMA_mergeIndexStatements($definitions, $is_create_tbl, $field_spatial, "SPATIAL"); if (count($definitions)) { $sql_statement = implode(', ', $definitions); } $sql_statement = preg_replace('@, $@', '', $sql_statement); return $sql_statement; }
/** * Returns sql statement according to the column and index specifications as * requested * * @param boolean $is_create_tbl true if requirement is to get the statement * for table creation * * @return string sql statement */ function PMA_getColumnCreationStatements($is_create_tbl = true) { $definitions = array(); $sql_statement = ""; list($field_cnt, $field_primary, $field_index, $field_unique, $field_fulltext) = PMA_getIndexedColumns(); $definitions = PMA_buildColumnCreationStatement($field_cnt, $field_primary, $is_create_tbl); // Builds the primary keys statements $primary_key_statements = PMA_buildIndexStatements($field_primary, " PRIMARY KEY ", $is_create_tbl); $definitions = array_merge($definitions, $primary_key_statements); // Builds the indexes statements $index_statements = PMA_buildIndexStatements($field_index, " INDEX ", $is_create_tbl); $definitions = array_merge($definitions, $index_statements); // Builds the uniques statements $unique_statements = PMA_buildIndexStatements($field_unique, " UNIQUE ", $is_create_tbl); $definitions = array_merge($definitions, $unique_statements); // Builds the fulltext statements $fulltext_statements = PMA_buildIndexStatements($field_fulltext, " FULLTEXT ", $is_create_tbl); $definitions = array_merge($definitions, $fulltext_statements); if (count($definitions)) { $sql_statement = implode(', ', $definitions); } $sql_statement = preg_replace('@, $@', '', $sql_statement); return $sql_statement; }