9 class bugs_pgsql_field_class
14 Function SetFieldResult($result,$field)
16 $this->name
=pg_fieldname($result,$field);
21 class bugs_pgsql_class
23 var $database_hostname="";
24 var $database_hostport="";
25 var $database_connection=0;
26 var $result_fields=array();
27 var $result_rows=array();
29 Function Connect($database_name)
31 global $bugs_database_host,$bugs_debug;
33 if($this->database_connection
!=0)
35 $bugs_debug("The connection to the bugs database is already established!\n");
38 if(($this->database_connection
=@pg_pconnect
($this->database_hostname
,$this->database_hostport
,$database_name))<=0)
40 $bugs_debug("It was not possible to connect to the bugs database!\n");
43 return($this->database_connection
);
46 Function Query($query)
50 if($this->database_connection
<=0)
51 $bugs_debug("The connection to the bugs database is not yet established!\n");
52 return(pg_Exec($this->database_connection
,$query));
57 return(pg_errormessage($this->database_connection
));
60 Function CreateDatabase($name)
62 if($this->database_connection
==0)
64 if(($link=pg_Connect($this->database_hostname
,$this->database_hostport
,"template1"))==0)
68 $link=$this->database_connection
;
69 $success=pg_Exec($link,"CREATE DATABASE $name");
70 if($this->database_connection
==0)
77 if($this->database_connection
!=0)
79 pg_Close($this->database_connection
);
80 $this->database_connection
=0;
84 Function SeparateDateTime()
94 Function ScanDate($date)
96 $scanned_date["month"]=strtok($date,"-");
97 $scanned_date["day"]=strtok("-");
98 $scanned_date["year"]=strtok(" ");
99 return($scanned_date);
102 Function TextFieldsNeedLength()
107 Function SupportAutoIncrement()
112 Function SupportSequences()
117 Function NumberOfRows($result)
119 return(pg_NumRows($result));
122 Function FreeResult($result)
124 return(pg_FreeResult($result));
127 Function FetchRow($result,$current_row)
129 for($row=array(),$field=0;$field<pg_NumFields($result);$field++
)
130 $row[$field]=pg_result($result,$current_row,$field);
131 for($field=0;$field<pg_NumFields($result);$field++
)
132 $row[pg_FieldName($result,$field)]=pg_result($result,$current_row,$field);
136 Function FetchNextRow($result)
138 if(!IsSet($this->result_rows
["R$result"]))
139 $this->result_rows
["R$result"]=0;
140 if($this->result_rows
["R$result"]>=pg_NumRows($result))
142 $current_row=$this->result_rows
["R$result"]++
;
143 return($this->FetchRow($result,$current_row));
146 Function NumberOfFields($result)
148 return(pg_NumFields($result));
151 Function FetchNextField($result)
153 if(!IsSet($this->result_fields
["R$result"]["Object"]))
155 $this->result_fields
["R$result"]["Object"]=new bugs_pgsql_field_class
;
156 $this->result_fields
["R$result"]["NextField"]=0;
158 if($this->result_fields
["R$result"]["NextField"]>=pg_NumFields($result))
160 $field=$this->result_fields
["R$result"]["Object"];
161 $field->SetFieldResult($result,$this->result_fields
["R$result"]["NextField"]);
162 $this->result_fields
["R$result"]["NextField"]++
;
166 Function FetchArray($result)
168 return($this->FetchNextRow($result));
171 Function FetchResult($result,$row,$field)
173 return(pg_result($result,$row,$field));