--- /dev/null
+<?php //$Id$
+
+/**
+ * Detail database field information.
+ * Based on ADOFieldObject.
+ * @package dml
+ */
+class database_column_info {
+ /**
+ * Name of column - lowercase
+ */
+ public $name;
+
+ /**
+ * Driver dependent native data type
+ * Not standardised - used to find meta_type
+ */
+ public $type;
+
+ /**
+ * Max length:
+ * character type - number of characters
+ * blob - number of bytes
+ * integer - number of digits
+ * float - digits left from floating point
+ * boolean - 1
+ * enums - null
+ */
+ public $max_length;
+
+ /**
+ * Scale
+ * float - decimal points
+ * other - null
+ */
+ public $scale;
+
+ /**
+ * Enumerated filed options,
+ * null if not enum type
+ */
+ public $enums;
+
+ /**
+ * True if not null, false otherwise
+ */
+ public $not_null;
+
+ /**
+ * True if column is primary key.
+ * (usually 'id').
+ */
+ public $primary_key;
+
+ /**
+ * True if filed autoincrementing
+ * (usually 'id' only)
+ */
+ public $auto_increment;
+
+ /**
+ * True if binary
+ */
+ public $binary;
+
+ /**
+ * True if integer unsigned, false if signed.
+ * Null for other types
+ */
+ public $unsigned;
+
+ /**
+ * True if default value defined
+ */
+ public $has_default;
+
+ /**
+ * Default value if defined
+ */
+ public $default_value;
+
+ /**
+ * True if field values unique
+ */
+ public $unique;
+
+ /**
+ * Standardised one cahracter column type, uppercase
+ * R - counter (integer primary key)
+ * I - integers
+ * N - numbers (floats)
+ * C - characters and strings
+ * X - texts
+ * B - binary blobs
+ * L - boolean (1 bit)
+ * T - timestamp - unsupported
+ * D - date - unsupported
+ */
+ public $meta_type;
+
+ /**
+ * Contructor
+ * @param $data mixed object or array with properties
+ */
+ public function __construct($data) {
+ foreach ($data as $key=>$value) {
+ if (array_key_exists($key, $this)) {
+ $this->$key = $value;
+ }
+ }
+ }
+}
return true;
}
-/**
- * Detail database field information.
- * Based on ADOFieldObject.
- */
-class database_column_info {
- public $name;
- public $type; // raw db field type
- public $max_length;
- public $scale;
- public $enums;
- public $not_null;
- public $primary_key;
- public $auto_increment;
- public $binary;
- public $unsigned;
- public $zerofill;
- public $has_default;
- public $default_value;
- public $unique;
-
- public $meta_type; // type as one character
-
- /**
- * Contructor
- * @param $data mixed object or array with properties
- */
- public function database_column_info($data) {
- foreach ($data as $key=>$value) {
- if (array_key_exists($key, $this)) {
- $this->$key = $value;
- }
- }
- }
-}