return$this->GetCol("SELECT columnname FROM COLUMNS WHERE tablename=$table AND mode='KEY' ORDER BY pos");
}
function&MetaIndexes($table,$primary=FALSE)
{
$table=$this->Quote(strtoupper($table));
$sql="SELECT INDEXNAME,TYPE,COLUMNNAME FROM INDEXCOLUMNS ".
" WHERE TABLENAME=$table".
" ORDER BY INDEXNAME,COLUMNNO";
global$ADODB_FETCH_MODE;
$save=$ADODB_FETCH_MODE;
$ADODB_FETCH_MODE=ADODB_FETCH_NUM;
if($this->fetchMode!==FALSE){
$savem=$this->SetFetchMode(FALSE);
}
$rs=$this->Execute($sql);
if(isset($savem)){
$this->SetFetchMode($savem);
}
$ADODB_FETCH_MODE=$save;
if(!is_object($rs)){
returnFALSE;
}
$indexes=array();
while($row=$rs->FetchRow()){
$indexes[$row[0]]['unique']=$row[1]=='UNIQUE';
$indexes[$row[0]]['columns'][]=$row[2];
}
if($primary){
$indexes['SYSPRIMARYKEYINDEX']=array(
'unique'=>True,// by definition
'columns'=>$this->GetCol("SELECT columnname FROM COLUMNS WHERE tablename=$table AND mode='KEY' ORDER BY pos"),
);
}
return$indexes;
}
function&MetaColumns($table)
{
global$ADODB_FETCH_MODE;
$save=$ADODB_FETCH_MODE;
$ADODB_FETCH_MODE=ADODB_FETCH_NUM;
if($this->fetchMode!==FALSE){
$savem=$this->SetFetchMode(FALSE);
}
$table=$this->Quote(strtoupper($table));
$retarr=array();
foreach($this->GetAll("SELECT COLUMNNAME,DATATYPE,LEN,DEC,NULLABLE,MODE,\"DEFAULT\",CASE WHEN \"DEFAULT\" IS NULL THEN 0 ELSE 1 END AS HAS_DEFAULT FROM COLUMNS WHERE tablename=$table ORDER BY pos")as$column)