MediaWiki REL1_39
MySQLField.php
Go to the documentation of this file.
1<?php
2
3namespace Wikimedia\Rdbms;
4
5class MySQLField implements Field {
6 private $name, $tablename, $default, $max_length, $nullable,
7 $is_pk, $is_unique, $is_multiple, $is_key, $type, $binary,
8 $is_numeric, $is_blob, $is_unsigned, $is_zerofill;
9
10 public function __construct( $info ) {
11 $this->name = $info->name;
12 $this->tablename = $info->table;
13 $this->default = $info->def;
14 $this->max_length = $info->max_length;
15 $this->nullable = !$info->not_null;
16 $this->is_pk = $info->primary_key;
17 $this->is_unique = $info->unique_key;
18 $this->is_multiple = $info->multiple_key;
19 $this->is_key = ( $this->is_pk || $this->is_unique || $this->is_multiple );
20 $this->type = $info->type;
21 $this->binary = $info->binary ?? false;
22 $this->is_numeric = $info->numeric ?? false;
23 $this->is_blob = $info->blob ?? false;
24 $this->is_unsigned = $info->unsigned ?? false;
25 $this->is_zerofill = $info->zerofill ?? false;
26 }
27
31 public function name() {
32 return $this->name;
33 }
34
38 public function tableName() {
39 return $this->tablename;
40 }
41
45 public function type() {
46 return $this->type;
47 }
48
52 public function isNullable() {
53 return $this->nullable;
54 }
55
56 public function defaultValue() {
57 return $this->default;
58 }
59
63 public function isKey() {
64 return $this->is_key;
65 }
66
70 public function isMultipleKey() {
71 return $this->is_multiple;
72 }
73
77 public function isBinary() {
78 return $this->binary;
79 }
80
84 public function isNumeric() {
85 return $this->is_numeric;
86 }
87
91 public function isBlob() {
92 return $this->is_blob;
93 }
94
98 public function isUnsigned() {
99 return $this->is_unsigned;
100 }
101
105 public function isZerofill() {
106 return $this->is_zerofill;
107 }
108}
Base for all database-specific classes representing information about database fields.
Definition Field.php:9