diff options
Diffstat (limited to 'www/wiki/includes/libs/rdbms/field/SQLiteField.php')
-rw-r--r-- | www/wiki/includes/libs/rdbms/field/SQLiteField.php | 42 |
1 files changed, 42 insertions, 0 deletions
diff --git a/www/wiki/includes/libs/rdbms/field/SQLiteField.php b/www/wiki/includes/libs/rdbms/field/SQLiteField.php new file mode 100644 index 00000000..39f8f011 --- /dev/null +++ b/www/wiki/includes/libs/rdbms/field/SQLiteField.php @@ -0,0 +1,42 @@ +<?php + +namespace Wikimedia\Rdbms; + +class SQLiteField implements Field { + private $info, $tableName; + + function __construct( $info, $tableName ) { + $this->info = $info; + $this->tableName = $tableName; + } + + function name() { + return $this->info->name; + } + + function tableName() { + return $this->tableName; + } + + function defaultValue() { + if ( is_string( $this->info->dflt_value ) ) { + // Typically quoted + if ( preg_match( '/^\'(.*)\'$', $this->info->dflt_value ) ) { + return str_replace( "''", "'", $this->info->dflt_value ); + } + } + + return $this->info->dflt_value; + } + + /** + * @return bool + */ + function isNullable() { + return !$this->info->notnull; + } + + function type() { + return $this->info->type; + } +} |