Search moodle.org's
Developer Documentation

See Release Notes

  • Bug fixes for general core bugs in 3.11.x will end 14 Nov 2022 (12 months plus 6 months extension).
  • Bug fixes for security issues in 3.11.x will end 13 Nov 2023 (18 months plus 12 months extension).
  • PHP version: minimum PHP 7.3.0 Note: minimum PHP version has increased since Moodle 3.10. PHP 7.4.x is supported too.

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

(no description)

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

Defines 1 class

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


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 definition 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 definition 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 definition 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, $options=false)   X-Ref
No description

ChangeTableSQL($tablename, $flds, $tableoptions = false, $dropOldFlds=false)   X-Ref
No description