[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Phpgroupware-tracker] [bugs #9828] TranslateDefault not called for "num
From: |
Dave Hall |
Subject: |
[Phpgroupware-tracker] [bugs #9828] TranslateDefault not called for "number-like" defaults for pgsql setup |
Date: |
Fri, 30 Jul 2004 17:45:26 -0400 |
User-agent: |
Mozilla/5.0 (X11; U; Linux i686; en-US; rv:1.7) Gecko/20040719 Firefox/0.9.1 |
This mail is an automated notification from the bugs tracker
of the project: phpGroupWare.
/**************************************************************************/
[bugs #9828] Latest Modifications:
Changes by:
Dave Hall <address@hidden>
'Date:
Fri 07/30/2004 at 21:41 (Australia/Melbourne)
What | Removed | Added
---------------------------------------------------------------------------
Resolution | None | Invalid
Assigned to | None | skwashd
Status | Open | Closed
Fixed Release | | 0.9.16.001
------------------ Additional Follow-up Comments ----------------------------
This has been fixed in cvs some time ago. Closing
/**************************************************************************/
[bugs #9828] Full Item Snapshot:
URL: <http://savannah.gnu.org/bugs/?func=detailitem&item_id=9828>
Project: phpGroupWare
Submitted by: Geoff Robinson
On: Fri 07/30/2004 at 19:43
Category: API - Setup
Item Group: CVS HEAD (aka development code base)
Severity: 5 - Average
Priority: 5 - Normal
Resolution: Invalid
Assigned to: skwashd
Status: Closed
Component Version: CVS
Platform Version: GNU/Linux - RedHat/Fedora
Reproducibility: Every Time
Planned Release: None
Fixed Release: 0.9.16.001
Summary: TranslateDefault not called for "number-like" defaults for pgsql setup
Original Submission: On initial setup with pgsql, table creation produces the
following error:
-------------------DEBUG OUT----------------------
_GetFieldSQL(): Incoming ARRAY: array(4) { ["type"]=> string(7) "varchar"
["precision"]=> int(40) ["nullable"]=> bool(false) ["default"]=> string(17)
"+1 (000) 000-0000" }
_GetFieldSQL(): Default="+1 (000) 000-0000"
_GetFieldSQL(): Outgoing SQL: varchar(40) NOT NULL DEFAULT +1 (000) 000-0000
{snip}
Making sequence using: CREATE SEQUENCE seq_phpgw_addressbookDatabase error:
Invalid SQL: CREATE TABLE phpgw_addressbook (id int4 NOT NULL DEFAULT
nextval('seq_phpgw_addressbook'), lid varchar(32), tid char(1), owner int8,
access varchar(7), cat_id varchar(32), fn varchar(64), n_family varchar(64),
n_given varchar(64), n_middle varchar(64), n_prefix varchar(64), n_suffix
varchar(64), sound varchar(64), bday varchar(32), note text, tz varchar(8), geo
varchar(32), url varchar(128), pubkey text, org_name varchar(64), org_unit
varchar(64), title varchar(64), adr_one_street varchar(64), adr_one_locality
varchar(64), adr_one_region varchar(64), adr_one_postalcode varchar(64),
adr_one_countryname varchar(64), adr_one_type varchar(32), label text,
adr_two_street varchar(64), adr_two_locality varchar(64), adr_two_region
varchar(64), adr_two_postalcode varchar(64), adr_two_countryname varchar(64),
adr_two_type varchar(32), tel_work varchar(40) NOT NULL DEFAULT +1 (000)
000-0000, tel_home varchar(40) NOT NULL DEFAULT +1 (000) 000-0000, tel_voice
varchar(40) NOT NULL DEFAULT +1 (000) 000-0000, tel_fax varchar(40) NOT NULL
DEFAULT +1 (000) 000-0000, tel_msg varchar(40) NOT NULL DEFAULT +1 (000)
000-0000, tel_cell varchar(40) NOT NULL DEFAULT +1 (000) 000-0000, tel_pager
varchar(40) NOT NULL DEFAULT +1 (000) 000-0000, tel_bbs varchar(40) NOT NULL
DEFAULT +1 (000) 000-0000, tel_modem varchar(40) NOT NULL DEFAULT +1 (000)
000-0000, tel_car varchar(40) NOT NULL DEFAULT +1 (000) 000-0000, tel_isdn
varchar(40) NOT NULL DEFAULT +1 (000) 000-0000, tel_video varchar(40) NOT NULL
DEFAULT +1 (000) 000-0000, tel_prefer varchar(32), email varchar(64),
email_type varchar(32) NOT NULL DEFAULT 'INTERNET', email_home varchar(64),
email_home_type varchar(32) NOT NULL DEFAULT 'INTERNET', last_mod int4 NOT
NULL, PRIMARY KEY(id))
PostgreSQL Error: 1 (ERROR: syntax error at or near "(" at character 879)
--------------------------------------------------
This is because the default phone numbers for the tel_* fields are not being
escaped with quotes. That is, TranslateDefault is not called because '+1 (000)
000-0000' is detected as numeric.
A possible patch:
-----------------PATCH---------------------
433c433
< elseif(intval($sDefault) == 0 && $sDefault !=
'')
---
> elseif(is_numeric($sDefault) == 0 && $sDefault
> != '')
-----------------PATCH---------------------
After the patch:
-------------------DEBUG OUT----------------------
_GetFieldSQL(): Incoming ARRAY: array(4) { ["type"]=> string(7) "varchar"
["precision"]=> int(40) ["nullable"]=> bool(false) ["default"]=> string(17)
"+1 (000) 000-0000" }
_GetFieldSQL(): Default="+1 (000) 000-0000"
_GetFieldSQL(): Calling TranslateDefault for "+1 (000) 000-0000"
_GetFieldSQL(): Outgoing SQL: varchar(40) NOT NULL DEFAULT '+1 (000) 000-0000'
--------------------------------------------------
This also affects default '1970-01-01' in sequence seq_phpgw_vfs.
Setup appears to function normally after the patch is applied, but I have not
tested it thoroughly.
Follow-up Comments
------------------
-------------------------------------------------------
Date: Fri 07/30/2004 at 21:41 By: skwashd
This has been fixed in cvs some time ago. Closing
-------------------------------------------------------
Date: Fri 07/30/2004 at 19:48 By: gymsocks
patch is for phpgwapi/class.schema_proc.inc.php, by the way...
File Attachments
-------------------
-------------------------------------------------------
Date: Fri 07/30/2004 at 19:43 Name: patch_class.schema_proc.inc.php Size:
128B By: gymsocks
patch for line 432
http://savannah.gnu.org/bugs/download.php?item_id=9828&item_file_id=1545
For detailed info, follow this link:
<http://savannah.gnu.org/bugs/?func=detailitem&item_id=9828>
_______________________________________________
Message sent via/by Savannah
http://savannah.gnu.org/