Postgresql support for 6.x-2.x
samuelet - July 16, 2008 - 15:02
| Project: | Event |
| Version: | 6.x-2.x-dev |
| Component: | Code |
| Category: | bug report |
| Priority: | critical |
| Assigned: | Unassigned |
| Status: | reviewed & tested by the community |
Description
The Postgresql backend seems broken (at least for 7.4).
For example:
1)Installion can't do:
ALTER TABLE users ADD timezone_id int NOT NULL default '0'
in one query.
2)tz.offset needs to be double quoted (tz."offset") in queries because offset is an internal psql function.
3) GROUP BY needs selected fields
The patch should fix 2) and 3)
| Attachment | Size |
|---|---|
| event6_pgsql.txt | 13.35 KB |

#1
Thanks, applied.
Marking active until 1) is resolved.
#2
Try stripping the quotes from the zero since '0' is a string value and it is expecting an int. If that doesn't work, try running it manually and let us know where postgres is complaining.
#3
dturover, postgres can manage the '0' string, this is not the problem.
What i meant with 1) is that postgresql 7 does not support such query.
From http://www.postgresql.org/docs/7.4/interactive/sql-altertable.html
so it dies with:
ERROR: adding columns with defaults is not implementedHINT: Add the column, then use ALTER TABLE SET DEFAULT.
The working pg 7 query is:
ALTER TABLE users ADD timezone_id int;ALTER TABLE users ALTER COLUMN timezone_id SET DEFAULT '0';
ALTER TABLE users ALTER COLUMN timezone_id SET NOT NULL;
#4
can somebody please roll a patch from this?
#5
changing status
#6
With Drupal 6.9, this 6.x-2.x module, and PostgreSQL, the upgrade fails with many errors, given below:
* warning: pg_query() [function.pg-query]: Query failed: ERROR: operator does not exist: boolean <= integer HINT: No operator matches the given name and argument type(s). You may need to add explicit type casts. in /usr/home/fosugcrk/www/includes/database.pgsql.inc on line 139.
* user warning: query: INSERT INTO event (nid, event_start, event_end, timezone, start_in_dst, end_in_dst) SELECT e.nid, IF((9763200 <= e.event_start <= 22982400) OR (41817600 <= e.event_start <= 55036800) OR (73267200 <= e.event_start <= 86486400) OR (104716800 <= e.event_start <= 117936000) OR (136166400 <= e.event_start <= 149385600) OR (167616000 <= e.event_start <= 180835200) OR (199670400 <= e.event_start <= 212889600) OR (231120000 <= e.event_start <= 244339200) OR (262569600 <= e.event_start <= 275788800) OR (294019200 <= e.event_start <= 307238400) OR (325468800 <= e.event_start <= 338688000) OR (356918400 <= e.event_start <= 370137600) OR (388972800 <= e.event_start <= 402192000) OR (420422400 <= e.event_start <= 433641600) OR (451872000 <= e.event_start <= 465091200) OR (483321600 <= e.event_start <= 496540800) OR (514771200 <= e.event_start <= 527990400) OR (546220800 <= e.event_start <= 559440000) OR (57 in /usr/home/fosugcrk/www/sites/all/modules/event/event.install on line 261.
* warning: pg_query() [function.pg-query]: Query failed: ERROR: operator does not exist: boolean <= integer HINT: No operator matches the given name and argument type(s). You may need to add explicit type casts. in /usr/home/fosugcrk/www/includes/database.pgsql.inc on line 139.
* user warning: query: INSERT INTO event (nid, event_start, event_end, timezone, start_in_dst, end_in_dst) SELECT e.nid, IF((22032000 <= e.event_start <= 8726400) OR (53481600 <= e.event_start <= 40176000) OR (84931200 <= e.event_start <= 71625600) OR (116380800 <= e.event_start <= 103075200) OR (147830400 <= e.event_start <= 135129600) OR (179884800 <= e.event_start <= 166579200) OR (211334400 <= e.event_start <= 198028800) OR (242784000 <= e.event_start <= 229478400) OR (274233600 <= e.event_start <= 260928000) OR (305683200 <= e.event_start <= 292377600) OR (337737600 <= e.event_start <= 324432000) OR (369187200 <= e.event_start <= 355881600) OR (400636800 <= e.event_start <= 387331200) OR (432086400 <= e.event_start <= 418780800) OR (463536000 <= e.event_start <= 450230400) OR (494985600 <= e.event_start <= 482284800) OR (527040000 <= e.event_start <= 513734400) OR (558489600 <= e.event_start <= 545184000) OR (58 in /usr/home/fosugcrk/www/sites/all/modules/event/event.install on line 261.
* warning: pg_query() [function.pg-query]: Query failed: ERROR: operator does not exist: boolean <= integer HINT: No operator matches the given name and argument type(s). You may need to add explicit type casts. in /usr/home/fosugcrk/www/includes/database.pgsql.inc on line 139.
* user warning: query: INSERT INTO event (nid, event_start, event_end, timezone, start_in_dst, end_in_dst) SELECT e.nid, IF((7516800 <= e.event_start <= 25660800) OR (38966400 <= e.event_start <= 57715200) OR (70416000 <= e.event_start <= 89164800) OR (101865600 <= e.event_start <= 120614400) OR (133920000 <= e.event_start <= 152064000) OR (165369600 <= e.event_start <= 183513600) OR (196819200 <= e.event_start <= 215568000) OR (228268800 <= e.event_start <= 247017600) OR (259718400 <= e.event_start <= 278467200) OR (291168000 <= e.event_start <= 309916800) OR (323222400 <= e.event_start <= 341366400) OR (354672000 <= e.event_start <= 372816000) OR (386121600 <= e.event_start <= 404870400) OR (417571200 <= e.event_start <= 436320000) OR (449020800 <= e.event_start <= 467769600) OR (481075200 <= e.event_start <= 499219200) OR (512524800 <= e.event_start <= 530668800) OR (543974400 <= e.event_start <= 562118400) OR (57 in /usr/home/fosugcrk/www/sites/all/modules/event/event.install on line 261.
* warning: pg_query() [function.pg-query]: Query failed: ERROR: operator does not exist: boolean <= integer HINT: No operator matches the given name and argument type(s). You may need to add explicit type casts. in /usr/home/fosugcrk/www/includes/database.pgsql.inc on line 139.
* user warning: query: INSERT INTO event (nid, event_start, event_end, timezone, start_in_dst, end_in_dst) SELECT e.nid, IF((7776000 <= e.event_start <= 23587200) OR (39312000 <= e.event_start <= 55123200) OR (70934400 <= e.event_start <= 86745600) OR (102470400 <= e.event_start <= 118281600) OR (134006400 <= e.event_start <= 149817600) OR (165542400 <= e.event_start <= 181353600) OR (197164800 <= e.event_start <= 212976000) OR (228700800 <= e.event_start <= 244512000) OR (260236800 <= e.event_start <= 276048000) OR (291772800 <= e.event_start <= 307584000) OR (323395200 <= e.event_start <= 339206400) OR (354931200 <= e.event_start <= 370742400) OR (386467200 <= e.event_start <= 402278400) OR (418003200 <= e.event_start <= 433814400) OR (449625600 <= e.event_start <= 465436800) OR (481161600 <= e.event_start <= 496972800) OR (512697600 <= e.event_start <= 528508800) OR (544233600 <= e.event_start <= 560044800) OR (57 in /usr/home/fosugcrk/www/sites/all/modules/event/event.install on line 261.
* warning: pg_query() [function.pg-query]: Query failed: ERROR: operator does not exist: boolean <= integer HINT: No operator matches the given name and argument type(s). You may need to add explicit type casts. in /usr/home/fosugcrk/www/includes/database.pgsql.inc on line 139.
* user warning: query: INSERT INTO event (nid, event_start, event_end, timezone, start_in_dst, end_in_dst) SELECT e.nid, IF((7344000 <= e.event_start <= 24364800) OR (38793600 <= e.event_start <= 55814400) OR (70848000 <= e.event_start <= 87264000) OR (102297600 <= e.event_start <= 118713600) OR (133747200 <= e.event_start <= 150768000) OR (165196800 <= e.event_start <= 182217600) OR (196646400 <= e.event_start <= 213667200) OR (228700800 <= e.event_start <= 245116800) OR (260150400 <= e.event_start <= 276566400) OR (291600000 <= e.event_start <= 308016000) OR (323049600 <= e.event_start <= 340070400) OR (354499200 <= e.event_start <= 371520000) OR (385948800 <= e.event_start <= 402969600) OR (418003200 <= e.event_start <= 434419200) OR (449452800 <= e.event_start <= 465868800) OR (480902400 <= e.event_start <= 497923200) OR (512352000 <= e.event_start <= 529372800) OR (543801600 <= e.event_start <= 560822400) OR (57 in /usr/home/fosugcrk/www/sites/all/modules/event/event.install on line 261.
* warning: pg_query() [function.pg-query]: Query failed: ERROR: operator does not exist: boolean <= integer HINT: No operator matches the given name and argument type(s). You may need to add explicit type casts. in /usr/home/fosugcrk/www/includes/database.pgsql.inc on line 139.
* user warning: query: INSERT INTO event (nid, event_start, event_end, timezone, start_in_dst, end_in_dst) SELECT e.nid, IF((7516800 <= e.event_start <= 25660800) OR (38966400 <= e.event_start <= 57715200) OR (70416000 <= e.event_start <= 89164800) OR (101865600 <= e.event_start <= 120614400) OR (133920000 <= e.event_start <= 152064000) OR (165369600 <= e.event_start <= 183513600) OR (196819200 <= e.event_start <= 215568000) OR (228268800 <= e.event_start <= 247017600) OR (259718400 <= e.event_start <= 278467200) OR (291168000 <= e.event_start <= 309916800) OR (323222400 <= e.event_start <= 341366400) OR (354672000 <= e.event_start <= 372816000) OR (386121600 <= e.event_start <= 404870400) OR (417571200 <= e.event_start <= 436320000) OR (449020800 <= e.event_start <= 467769600) OR (481075200 <= e.event_start <= 499219200) OR (512524800 <= e.event_start <= 530668800) OR (543974400 <= e.event_start <= 562118400) OR (57 in /usr/home/fosugcrk/www/sites/all/modules/event/event.install on line 261.
* warning: pg_query() [function.pg-query]: Query failed: ERROR: operator does not exist: boolean <= integer HINT: No operator matches the given name and argument type(s). You may need to add explicit type casts. in /usr/home/fosugcrk/www/includes/database.pgsql.inc on line 139.
* user warning: query: INSERT INTO event (nid, event_start, event_end, timezone, start_in_dst, end_in_dst) SELECT e.nid, IF((9158400 <= e.event_start <= 24883200) OR (40608000 <= e.event_start <= 56332800) OR (72662400 <= e.event_start <= 88387200) OR (104112000 <= e.event_start <= 119836800) OR (135561600 <= e.event_start <= 151286400) OR (167011200 <= e.event_start <= 182736000) OR (198460800 <= e.event_start <= 214185600) OR (229910400 <= e.event_start <= 246240000) OR (261964800 <= e.event_start <= 277689600) OR (293414400 <= e.event_start <= 309139200) OR (324864000 <= e.event_start <= 340588800) OR (356313600 <= e.event_start <= 372038400) OR (387763200 <= e.event_start <= 403488000) OR (419212800 <= e.event_start <= 435542400) OR (451267200 <= e.event_start <= 466992000) OR (482716800 <= e.event_start <= 498441600) OR (514166400 <= e.event_start <= 529891200) OR (545616000 <= e.event_start <= 561340800) OR (57 in /usr/home/fosugcrk/www/sites/all/modules/event/event.install on line 261.
* warning: pg_query() [function.pg-query]: Query failed: ERROR: operator does not exist: boolean <= integer HINT: No operator matches the given name and argument type(s). You may need to add explicit type casts. in /usr/home/fosugcrk/www/includes/database.pgsql.inc on line 139.
* user warning: query: INSERT INTO event (nid, event_start, event_end, timezone, start_in_dst, end_in_dst) SELECT e.nid, IF((6825600 <= e.event_start <= 22896000) OR (38361600 <= e.event_start <= 54432000) OR (69984000 <= e.event_start <= 86054400) OR (101520000 <= e.event_start <= 117590400) OR (133056000 <= e.event_start <= 149126400) OR (164592000 <= e.event_start <= 180662400) OR (196214400 <= e.event_start <= 212284800) OR (227750400 <= e.event_start <= 243820800) OR (259286400 <= e.event_start <= 275356800) OR (290822400 <= e.event_start <= 306892800) OR (322444800 <= e.event_start <= 338515200) OR (353980800 <= e.event_start <= 370051200) OR (385516800 <= e.event_start <= 401587200) OR (417052800 <= e.event_start <= 433123200) OR (448675200 <= e.event_start <= 464745600) OR (480211200 <= e.event_start <= 496281600) OR (511747200 <= e.event_start <= 527817600) OR (543283200 <= e.event_start <= 559353600) OR (57 in /usr/home/fosugcrk/www/sites/all/modules/event/event.install on line 261.
* warning: pg_query() [function.pg-query]: Query failed: ERROR: operator does not exist: boolean <= integer HINT: No operator matches the given name and argument type(s). You may need to add explicit type casts. in /usr/home/fosugcrk/www/includes/database.pgsql.inc on line 139.
* user warning: query: INSERT INTO event (nid, event_start, event_end, timezone, start_in_dst, end_in_dst) SELECT e.nid, IF((25660800 <= e.event_start <= 7516800) OR (57715200 <= e.event_start <= 38966400) OR (89164800 <= e.event_start <= 70416000) OR (120614400 <= e.event_start <= 101865600) OR (152064000 <= e.event_start <= 133920000) OR (183513600 <= e.event_start <= 165369600) OR (215568000 <= e.event_start <= 196819200) OR (247017600 <= e.event_start <= 228268800) OR (278467200 <= e.event_start <= 259718400) OR (309916800 <= e.event_start <= 291168000) OR (341366400 <= e.event_start <= 323222400) OR (372816000 <= e.event_start <= 354672000) OR (404870400 <= e.event_start <= 386121600) OR (436320000 <= e.event_start <= 417571200) OR (467769600 <= e.event_start <= 449020800) OR (499219200 <= e.event_start <= 481075200) OR (530668800 <= e.event_start <= 512524800) OR (562118400 <= e.event_start <= 543974400) OR (59 in /usr/home/fosugcrk/www/sites/all/modules/event/event.install on line 261.
* warning: pg_query() [function.pg-query]: Query failed: ERROR: operator does not exist: boolean <= integer HINT: No operator matches the given name and argument type(s). You may need to add explicit type casts. in /usr/home/fosugcrk/www/includes/database.pgsql.inc on line 139.
* user warning: query: INSERT INTO event (nid, event_start, event_end, timezone, start_in_dst, end_in_dst) SELECT e.nid, IF((24451200 <= e.event_start <= 7516800) OR (55900800 <= e.event_start <= 38966400) OR (87350400 <= e.event_start <= 70416000) OR (119404800 <= e.event_start <= 101865600) OR (150854400 <= e.event_start <= 133920000) OR (182304000 <= e.event_start <= 165369600) OR (213753600 <= e.event_start <= 196819200) OR (245203200 <= e.event_start <= 228268800) OR (276652800 <= e.event_start <= 259718400) OR (308707200 <= e.event_start <= 291168000) OR (340156800 <= e.event_start <= 323222400) OR (371606400 <= e.event_start <= 354672000) OR (403056000 <= e.event_start <= 386121600) OR (434505600 <= e.event_start <= 417571200) OR (466560000 <= e.event_start <= 449020800) OR (498009600 <= e.event_start <= 481075200) OR (529459200 <= e.event_start <= 512524800) OR (560908800 <= e.event_start <= 543974400) OR (59 in /usr/home/fosugcrk/www/sites/all/modules/event/event.install on line 261.
* warning: pg_query() [function.pg-query]: Query failed: ERROR: operator does not exist: boolean <= integer HINT: No operator matches the given name and argument type(s). You may need to add explicit type casts. in /usr/home/fosugcrk/www/includes/database.pgsql.inc on line 139.
* user warning: query: INSERT INTO event (nid, event_start, event_end, timezone, start_in_dst, end_in_dst) SELECT e.nid, IF((24451200 <= e.event_start <= 6912000) OR (55900800 <= e.event_start <= 38966400) OR (87350400 <= e.event_start <= 70416000) OR (119404800 <= e.event_start <= 101865600) OR (150854400 <= e.event_start <= 133315200) OR (182304000 <= e.event_start <= 164764800) OR (213753600 <= e.event_start <= 196819200) OR (245203200 <= e.event_start <= 228268800) OR (276652800 <= e.event_start <= 259718400) OR (308707200 <= e.event_start <= 291168000) OR (340156800 <= e.event_start <= 322617600) OR (371606400 <= e.event_start <= 354067200) OR (403056000 <= e.event_start <= 386121600) OR (434505600 <= e.event_start <= 417571200) OR (466560000 <= e.event_start <= 449020800) OR (498009600 <= e.event_start <= 480470400) OR (529459200 <= e.event_start <= 511920000) OR (560908800 <= e.event_start <= 543369600) OR (59 in /usr/home/fosugcrk/www/sites/all/modules/event/event.install on line 261.
* warning: pg_query() [function.pg-query]: Query failed: ERROR: operator does not exist: boolean <= integer HINT: No operator matches the given name and argument type(s). You may need to add explicit type casts. in /usr/home/fosugcrk/www/includes/database.pgsql.inc on line 139.
* user warning: query: INSERT INTO event (nid, event_start, event_end, timezone, start_in_dst, end_in_dst) SELECT e.nid, IF((26870400 <= e.event_start <= 2073600) OR (58924800 <= e.event_start <= 34128000) OR (90374400 <= e.event_start <= 65577600) OR (121824000 <= e.event_start <= 97027200) OR (153273600 <= e.event_start <= 128476800) OR (184723200 <= e.event_start <= 159926400) OR (216777600 <= e.event_start <= 191376000) OR (248227200 <= e.event_start <= 223430400) OR (279676800 <= e.event_start <= 254880000) OR (311126400 <= e.event_start <= 286329600) OR (342576000 <= e.event_start <= 317779200) OR (374025600 <= e.event_start <= 349228800) OR (406080000 <= e.event_start <= 381283200) OR (437529600 <= e.event_start <= 412732800) OR (468979200 <= e.event_start <= 444182400) OR (500428800 <= e.event_start <= 475632000) OR (531878400 <= e.event_start <= 507081600) OR (563328000 <= e.event_start <= 538531200) OR (595 in /usr/home/fosugcrk/www/sites/all/modules/event/event.install on line 261.
* warning: pg_query() [function.pg-query]: Query failed: ERROR: operator does not exist: boolean <= integer HINT: No operator matches the given name and argument type(s). You may need to add explicit type casts. in /usr/home/fosugcrk/www/includes/database.pgsql.inc on line 139.
* user warning: query: INSERT INTO event (nid, event_start, event_end, timezone, start_in_dst, end_in_dst) SELECT e.nid, IF((7520400 <= e.event_start <= 25664400) OR (38970000 <= e.event_start <= 57718800) OR (70419600 <= e.event_start <= 89168400) OR (101869200 <= e.event_start <= 120618000) OR (133923600 <= e.event_start <= 152067600) OR (165373200 <= e.event_start <= 183517200) OR (196822800 <= e.event_start <= 215571600) OR (228272400 <= e.event_start <= 247021200) OR (259722000 <= e.event_start <= 278470800) OR (291171600 <= e.event_start <= 309920400) OR (323226000 <= e.event_start <= 341370000) OR (354675600 <= e.event_start <= 372819600) OR (386125200 <= e.event_start <= 404874000) OR (417574800 <= e.event_start <= 436323600) OR (449024400 <= e.event_start <= 467773200) OR (481078800 <= e.event_start <= 499222800) OR (512528400 <= e.event_start <= 530672400) OR (543978000 <= e.event_start <= 562122000) OR (57 in /usr/home/fosugcrk/www/sites/all/modules/event/event.install on line 261.
* warning: pg_query() [function.pg-query]: Query failed: ERROR: operator does not exist: boolean <= integer HINT: No operator matches the given name and argument type(s). You may need to add explicit type casts. in /usr/home/fosugcrk/www/includes/database.pgsql.inc on line 139.
* user warning: query: INSERT INTO event (nid, event_start, event_end, timezone, start_in_dst, end_in_dst) SELECT e.nid, IF((7524000 <= e.event_start <= 25668000) OR (38973600 <= e.event_start <= 57722400) OR (70423200 <= e.event_start <= 89172000) OR (101872800 <= e.event_start <= 120621600) OR (133927200 <= e.event_start <= 152071200) OR (165376800 <= e.event_start <= 183520800) OR (196826400 <= e.event_start <= 215575200) OR (228276000 <= e.event_start <= 247024800) OR (259725600 <= e.event_start <= 278474400) OR (291175200 <= e.event_start <= 309924000) OR (323229600 <= e.event_start <= 341373600) OR (354679200 <= e.event_start <= 372823200) OR (386128800 <= e.event_start <= 404877600) OR (417578400 <= e.event_start <= 436327200) OR (449028000 <= e.event_start <= 467776800) OR (481082400 <= e.event_start <= 499226400) OR (512532000 <= e.event_start <= 530676000) OR (543981600 <= e.event_start <= 562125600) OR (57 in /usr/home/fosugcrk/www/sites/all/modules/event/event.install on line 261.
* warning: pg_query() [function.pg-query]: Query failed: ERROR: operator does not exist: boolean <= integer HINT: No operator matches the given name and argument type(s). You may need to add explicit type casts. in /usr/home/fosugcrk/www/includes/database.pgsql.inc on line 139.
* user warning: query: INSERT INTO event (nid, event_start, event_end, timezone, start_in_dst, end_in_dst) SELECT e.nid, IF((8128800 <= e.event_start <= 25668000) OR (39578400 <= e.event_start <= 57722400) OR (71028000 <= e.event_start <= 89172000) OR (102477600 <= e.event_start <= 120621600) OR (134532000 <= e.event_start <= 152071200) OR (165981600 <= e.event_start <= 183520800) OR (197431200 <= e.event_start <= 215575200) OR (228880800 <= e.event_start <= 247024800) OR (260330400 <= e.event_start <= 278474400) OR (291780000 <= e.event_start <= 309924000) OR (323834400 <= e.event_start <= 341373600) OR (355284000 <= e.event_start <= 372823200) OR (386733600 <= e.event_start <= 404877600) OR (418183200 <= e.event_start <= 436327200) OR (449632800 <= e.event_start <= 467776800) OR (481687200 <= e.event_start <= 499226400) OR (513136800 <= e.event_start <= 530676000) OR (544586400 <= e.event_start <= 562125600) OR (57 in /usr/home/fosugcrk/www/sites/all/modules/event/event.install on line 261.
* warning: pg_query() [function.pg-query]: Query failed: ERROR: operator does not exist: boolean <= integer HINT: No operator matches the given name and argument type(s). You may need to add explicit type casts. in /usr/home/fosugcrk/www/includes/database.pgsql.inc on line 139.
* user warning: query: INSERT INTO event (nid, event_start, event_end, timezone, start_in_dst, end_in_dst) SELECT e.nid, IF((7776000 <= e.event_start <= 25660800) OR (39312000 <= e.event_start <= 57715200) OR (70934400 <= e.event_start <= 89164800) OR (102470400 <= e.event_start <= 120614400) OR (134006400 <= e.event_start <= 152064000) OR (165542400 <= e.event_start <= 183513600) OR (197164800 <= e.event_start <= 215568000) OR (228700800 <= e.event_start <= 247017600) OR (260236800 <= e.event_start <= 278467200) OR (291772800 <= e.event_start <= 309916800) OR (323395200 <= e.event_start <= 341366400) OR (354931200 <= e.event_start <= 372816000) OR (386467200 <= e.event_start <= 404870400) OR (418003200 <= e.event_start <= 436320000) OR (449625600 <= e.event_start <= 467769600) OR (481161600 <= e.event_start <= 499219200) OR (512697600 <= e.event_start <= 530668800) OR (544233600 <= e.event_start <= 562118400) OR (57 in /usr/home/fosugcrk/www/sites/all/modules/event/event.install on line 261.
* warning: pg_query() [function.pg-query]: Query failed: ERROR: operator does not exist: boolean <= integer HINT: No operator matches the given name and argument type(s). You may need to add explicit type casts. in /usr/home/fosugcrk/www/includes/database.pgsql.inc on line 139.
* user warning: query: INSERT INTO event (nid, event_start, event_end, timezone, start_in_dst, end_in_dst) SELECT e.nid, IF((26870400 <= e.event_start <= 4492800) OR (58924800 <= e.event_start <= 36547200) OR (90374400 <= e.event_start <= 67996800) OR (121824000 <= e.event_start <= 99446400) OR (153273600 <= e.event_start <= 130896000) OR (184723200 <= e.event_start <= 162345600) OR (216777600 <= e.event_start <= 193795200) OR (248227200 <= e.event_start <= 225849600) OR (279676800 <= e.event_start <= 257299200) OR (311126400 <= e.event_start <= 288748800) OR (342576000 <= e.event_start <= 320198400) OR (374025600 <= e.event_start <= 351648000) OR (406080000 <= e.event_start <= 383702400) OR (437529600 <= e.event_start <= 415152000) OR (468979200 <= e.event_start <= 446601600) OR (500428800 <= e.event_start <= 478051200) OR (531878400 <= e.event_start <= 509500800) OR (563328000 <= e.event_start <= 540950400) OR (595 in /usr/home/fosugcrk/www/sites/all/modules/event/event.install on line 261.
* warning: pg_query() [function.pg-query]: Query failed: ERROR: operator does not exist: boolean <= integer HINT: No operator matches the given name and argument type(s). You may need to add explicit type casts. in /usr/home/fosugcrk/www/includes/database.pgsql.inc on line 139.
* user warning: query: INSERT INTO event (nid, event_start, event_end, timezone, start_in_dst, end_in_dst) SELECT e.nid, IF((24969600 <= e.event_start <= 6307200) OR (56419200 <= e.event_start <= 38361600) OR (88473600 <= e.event_start <= 69811200) OR (119923200 <= e.event_start <= 101260800) OR (151372800 <= e.event_start <= 132710400) OR (182822400 <= e.event_start <= 164160000) OR (214272000 <= e.event_start <= 196214400) OR (245721600 <= e.event_start <= 227664000) OR (277776000 <= e.event_start <= 259113600) OR (309225600 <= e.event_start <= 290563200) OR (340675200 <= e.event_start <= 322012800) OR (372124800 <= e.event_start <= 353462400) OR (403574400 <= e.event_start <= 385516800) OR (435024000 <= e.event_start <= 416966400) OR (467078400 <= e.event_start <= 448416000) OR (498528000 <= e.event_start <= 479865600) OR (529977600 <= e.event_start <= 511315200) OR (561427200 <= e.event_start <= 542764800) OR (59 in /usr/home/fosugcrk/www/sites/all/modules/event/event.install on line 261.
* warning: pg_query() [function.pg-query]: Query failed: ERROR: operator does not exist: boolean <= integer HINT: No operator matches the given name and argument type(s). You may need to add explicit type casts. in /usr/home/fosugcrk/www/includes/database.pgsql.inc on line 139.
* user warning: query: INSERT INTO event (nid, event_start, event_end, timezone, start_in_dst, end_in_dst) SELECT e.nid, IF((22032000 <= e.event_start <= 8726400) OR (53481600 <= e.event_start <= 40176000) OR (84931200 <= e.event_start <= 71625600) OR (116380800 <= e.event_start <= 103075200) OR (147830400 <= e.event_start <= 134524800) OR (179884800 <= e.event_start <= 165974400) OR (211334400 <= e.event_start <= 198028800) OR (242784000 <= e.event_start <= 229478400) OR (274233600 <= e.event_start <= 260928000) OR (305683200 <= e.event_start <= 292377600) OR (337737600 <= e.event_start <= 323827200) OR (369187200 <= e.event_start <= 355881600) OR (400636800 <= e.event_start <= 387331200) OR (432086400 <= e.event_start <= 418780800) OR (463536000 <= e.event_start <= 450230400) OR (494985600 <= e.event_start <= 481680000) OR (527040000 <= e.event_start <= 513129600) OR (558489600 <= e.event_start <= 545184000) OR (58 in /usr/home/fosugcrk/www/sites/all/modules/event/event.install on line 261.
* warning: pg_query() [function.pg-query]: Query failed: ERROR: operator does not exist: boolean <= integer HINT: No operator matches the given name and argument type(s). You may need to add explicit type casts. in /usr/home/fosugcrk/www/includes/database.pgsql.inc on line 139.
* user warning: query: INSERT INTO event (nid, event_start, event_end, timezone, start_in_dst, end_in_dst) SELECT e.nid, IF((22032000 <= e.event_start <= 8726400) OR (53481600 <= e.event_start <= 40176000) OR (84931200 <= e.event_start <= 71625600) OR (116380800 <= e.event_start <= 103075200) OR (147830400 <= e.event_start <= 135129600) OR (179884800 <= e.event_start <= 166579200) OR (211334400 <= e.event_start <= 198028800) OR (242784000 <= e.event_start <= 229478400) OR (274233600 <= e.event_start <= 260928000) OR (305683200 <= e.event_start <= 292377600) OR (337737600 <= e.event_start <= 324432000) OR (369187200 <= e.event_start <= 355881600) OR (400636800 <= e.event_start <= 387331200) OR (432086400 <= e.event_start <= 418780800) OR (463536000 <= e.event_start <= 450230400) OR (494985600 <= e.event_start <= 482284800) OR (527040000 <= e.event_start <= 513734400) OR (558489600 <= e.event_start <= 545184000) OR (58 in /usr/home/fosugcrk/www/sites/all/modules/event/event.install on line 261.
* warning: pg_query() [function.pg-query]: Query failed: ERROR: timestamp units "hour_second" not recognized in /usr/home/fosugcrk/www/includes/database.pgsql.inc on line 139.
* user warning: query: UPDATE event SET has_time = 0 WHERE EXTRACT(HOUR_SECOND FROM event_start) = 0 AND EXTRACT(HOUR_SECOND FROM event_end) = 235900 in /usr/home/fosugcrk/www/sites/all/modules/event/event.install on line 383.
#7
Which version of postgres?
#8
It seems you can't use the (int <= {column} <=int) syntax on PostgreSQL; this is very likely because
IF()is non-native function in PostgreSQL and created by Drupal's system.install; the native DB syntax is entirely different. (I'm running PostgreSQL 8.1.15.)I made the dirty work and fixed this and the other PostgreSQL update problem I ran into, plus one annoyance. See attached patch.
#9
Killes,
this has been in need of review for ages, and no one has complained anything. I think you should commit it now, while it still applies against HEAD.