MediaWiki  master
MySQLField.php
Go to the documentation of this file.
1 <?php
2 
3 namespace Wikimedia\Rdbms;
4 
5 class MySQLField implements Field {
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