Search moodle.org's
Developer Documentation

See Release Notes
Long Term Support Release

  • Bug fixes for general core bugs in 3.9.x will end* 10 May 2021 (12 months).
  • Bug fixes for security issues in 3.9.x will end* 8 May 2023 (36 months).
  • PHP version: minimum PHP 7.2.0 Note: minimum PHP version has increased since Moodle 3.8. PHP 7.3.x and 7.4.x are supported too.

Differences Between: [Versions 39 and 311] [Versions 39 and 400] [Versions 39 and 401] [Versions 39 and 402] [Versions 39 and 403]

(no description)

File Size: 484 lines (16 kb)
Included or required:0 times
Referenced: 0 times
Includes or requires: 0 files

Defines 1 class

ADODB2_postgres:: (13 methods):
  MetaType()
  ActualType()
  AddColumnSQL()
  DropIndexSQL()
  AlterColumnSQL()
  DropColumnSQL()
  _recreate_copy_table()
  DropTableSQL()
  _CreateSuffix()
  _DropAutoIncrement()
  RenameTableSQL()
  _IndexSQL()
  _GetSize()


Class: ADODB2_postgres  - X-Ref

MetaType($t,$len=-1,$fieldobj=false)   X-Ref
No description

ActualType($meta)   X-Ref
No description

AddColumnSQL($tabname, $flds)   X-Ref
Adding a new Column

reimplementation of the default function as postgres does NOT allow to set the default in the same statement

param: string $tabname table-name
param: string $flds column-names and types for the changed columns
return: array with SQL strings

DropIndexSQL($idxname, $tabname = NULL)   X-Ref
No description

AlterColumnSQL($tabname, $flds, $tableflds='',$tableoptions='')   X-Ref
No description

DropColumnSQL($tabname, $flds, $tableflds='',$tableoptions='')   X-Ref
Drop one column

Postgres < 7.3 can't do that on it's own, you need to supply the complete defintion of the new table,
to allow, recreating the table and copying the content over to the new table
param: string $tabname table-name
param: string $flds column-name and type for the changed column
param: string $tableflds complete defintion of the new table, eg. for postgres, default ''
param: array/ $tableoptions options for the new table see CreateTableSQL, default ''
return: array with SQL strings

_recreate_copy_table($tabname,$dropflds,$tableflds,$tableoptions='')   X-Ref
Save the content into a temp. table, drop and recreate the original table and copy the content back in

We also take care to set the values of the sequenz and recreate the indexes.
All this is done in a transaction, to not loose the content of the table, if something went wrong!
param: string $tabname table-name
param: string $dropflds column-names to drop
param: string $tableflds complete defintion of the new table, eg. for postgres
param: array/string $tableoptions options for the new table see CreateTableSQL, default ''
return: array with SQL strings

DropTableSQL($tabname)   X-Ref
No description

_CreateSuffix($fname, &$ftype, $fnotnull,$fdefault,$fautoinc,$fconstraint,$funsigned)   X-Ref
No description

_DropAutoIncrement($tabname)   X-Ref
No description

RenameTableSQL($tabname,$newname)   X-Ref
No description

_IndexSQL($idxname, $tabname, $flds, $idxoptions)   X-Ref
No description

_GetSize($ftype, $ty, $fsize, $fprec)   X-Ref
No description