]> git.joonet.de Git - adminer.git/commitdiff
enum and set lengths
authorjakubvrana <jakubvrana@7c3ca157-0c34-0410-bff1-cbf682f78f5c>
Thu, 2 Apr 2009 09:40:59 +0000 (09:40 +0000)
committerjakubvrana <jakubvrana@7c3ca157-0c34-0410-bff1-cbf682f78f5c>
Thu, 2 Apr 2009 09:40:59 +0000 (09:40 +0000)
git-svn-id: https://adminer.svn.sourceforge.net/svnroot/adminer/trunk@569 7c3ca157-0c34-0410-bff1-cbf682f78f5c

export.inc.php

index 7027046cea304c2ddcc2825d66ca56aca951ba2a..7787bfc9f52f6c042a8ebda4cd8e0bfc44dd0f6c 100644 (file)
@@ -28,7 +28,7 @@ function dump_table($table, $style, $is_view = false) {
                                $row_size = 21 + strlen(idf_escape($table));
                                foreach (fields($table) as $field) {
                                        $type = $types[$field["type"]];
-                                       $row_size += 5 + ($field["length"] ? $field["length"] : $type) * (preg_match('~char|text|enum~', $field["type"]) ? 3 : 1); // UTF-8 in MySQL uses up to 3 bytes
+                                       $row_size += 5 + ($field["length"] ? (preg_match('~enum|set~', $field["type"]) ? strlen($field["length"]) : $field["length"]) : $type) * (preg_match('~char|text|enum|set~', $field["type"]) ? 3 : 1); // UTF-8 in MySQL uses up to 3 bytes
                                }
                                if ($row_size > $max_packet) {
                                        $max_packet = min(1073741824, 1024 * ceil($row_size / 1024));