[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Fmsystem-commits] [7038] bug-fix in sql query
From: |
lars.nestas |
Subject: |
[Fmsystem-commits] [7038] bug-fix in sql query |
Date: |
Wed, 23 Feb 2011 11:31:03 +0000 |
Revision: 7038
http://svn.sv.gnu.org/viewvc/?view=rev&root=fmsystem&revision=7038
Author: "lars.nestas"
Date: 2011-02-23 11:31:02 +0000 (Wed, 23 Feb 2011)
Log Message:
-----------
bug-fix in sql query
Modified Paths:
--------------
trunk/rental/inc/class.socomposite.inc.php
Modified: trunk/rental/inc/class.socomposite.inc.php
===================================================================
--- trunk/rental/inc/class.socomposite.inc.php 2011-02-23 10:14:24 UTC (rev
7037)
+++ trunk/rental/inc/class.socomposite.inc.php 2011-02-23 11:31:02 UTC (rev
7038)
@@ -82,14 +82,18 @@
}
switch($filters['has_contract']){
case "has_contract":
- $filter_clauses[] = "(NOT
rental_contract_composite.contract_id IS NULL AND (NOT
rental_contract.date_start IS NULL AND rental_contract.date_start >
$availability_date_from OR rental_contract.date_start < $availability_date_to
AND (rental_contract.date_end IS NULL OR (rental_contract.date_end >
$availability_date_from OR rental_contract.date_end <
$availability_date_to))))";
+ $filter_clauses[] = "(NOT
rental_contract_composite.contract_id IS NULL AND NOT((NOT
rental_contract.date_start IS NULL AND ( rental_contract.date_start <
$availability_date_from AND rental_contract.date_end < $availability_date_from)
OR (rental_contract.date_end IS NULL OR ( rental_contract.date_start >
$availability_date_to AND rental_contract.date_end >
$availability_date_to)))))";
+ //$filter_clauses[] = "(NOT
rental_contract_composite.contract_id IS NULL AND (NOT
rental_contract.date_start IS NULL AND (NOT rental_contract.date_start <
$availability_date_from AND NOT rental_contract.date_end <
$availability_date_from) OR (rental_contract.date_end IS NULL OR (NOT
rental_contract.date_start > $availability_date_to AND NOT
rental_contract.date_end > $availability_date_to))))";
+ //$filter_clauses[] = "(NOT
rental_contract_composite.contract_id IS NULL AND (NOT
rental_contract.date_start IS NULL AND rental_contract.date_start <
$availability_date_from OR rental_contract.date_end < $availability_date_from
AND (rental_contract.date_end IS NULL OR (rental_contract.date_start >
$availability_date_to AND rental_contract.date_end > $availability_date_to))))";
//$filter_clauses[] = "(NOT
rental_contract_composite.contract_id IS NULL AND (NOT
rental_contract.date_start IS NULL AND rental_contract.date_start <
$availability_date_from AND ((rental_contract.date_end IS NULL OR (NOT
rental_contract.date_end IS NULL AND rental_contract.date_end >
$availability_date_from)) OR (rental_contract.date_start >
$availability_date_to AND (rental_contract.date_end IS NULL OR (NOT
rental_contract.date_end IS NULL AND rental_contract.date_end <
$availability_date_to))))))";
//$filter_clauses[] = "(NOT
rental_contract_composite.contract_id IS NULL AND (NOT
rental_contract.date_start IS NULL AND rental_contract.date_start <
$availability_date_from AND (rental_contract.date_end IS NULL OR (NOT
rental_contract.date_end IS NULL AND rental_contract.date_end >
$availability_date_from))))";
$special_query=true;
break;
case "has_no_contract":
//$filter_clauses[] =
"(rental_contract_composite.contract_id IS NULL OR NOT rental_composite.id IN
(SELECT rental_composite.id FROM rental_composite LEFT JOIN
rental_contract_composite ON (rental_contract_composite.composite_id =
rental_composite.id) LEFT JOIN rental_contract ON (rental_contract.id =
rental_contract_composite.contract_id) WHERE 1=1 AND rental_composite.is_active
= TRUE AND (NOT rental_contract_composite.contract_id IS NULL AND (NOT
rental_contract.date_start IS NULL AND rental_contract.date_start <
$availability_date_from AND (rental_contract.date_end IS NULL OR (NOT
rental_contract.date_end IS NULL AND rental_contract.date_end >
$availability_date_from))))))";
- $filter_clauses[] =
"(rental_contract_composite.contract_id IS NULL OR NOT rental_composite.id IN
(SELECT rental_composite.id FROM rental_composite LEFT JOIN
rental_contract_composite ON (rental_contract_composite.composite_id =
rental_composite.id) LEFT JOIN rental_contract ON (rental_contract.id =
rental_contract_composite.contract_id) WHERE 1=1 AND rental_composite.is_active
= TRUE AND (NOT rental_contract_composite.contract_id IS NULL AND (NOT
rental_contract.date_start IS NULL AND ((rental_contract.date_start >
$availability_date_from OR rental_contract.date_start < $availability_date_to
AND (NOT rental_contract.date_end IS NULL AND rental_contract.date_end >
$availability_date_from OR rental_contract.date_end <
$availability_date_to)))))))";
+ //$filter_clauses[] =
"(rental_contract_composite.contract_id IS NULL OR NOT rental_composite.id IN
(SELECT rental_composite.id FROM rental_composite LEFT JOIN
rental_contract_composite ON (rental_contract_composite.composite_id =
rental_composite.id) LEFT JOIN rental_contract ON (rental_contract.id =
rental_contract_composite.contract_id) WHERE 1=1 AND rental_composite.is_active
= TRUE AND (NOT rental_contract_composite.contract_id IS NULL OR (NOT
rental_contract.date_start IS NULL OR (((rental_contract.date_start <
$availability_date_from AND rental_contract.date_end < $availability_date_from)
OR (NOT rental_contract.date_end IS NULL OR (rental_contract.date_start >
$availability_date_to AND rental_contract.date_end >
$availability_date_to))))))))";
+ $filter_clauses[] =
"(rental_contract_composite.contract_id IS NULL OR NOT rental_composite.id IN
(SELECT rental_composite.id FROM rental_composite LEFT JOIN
rental_contract_composite ON (rental_contract_composite.composite_id =
rental_composite.id) LEFT JOIN rental_contract ON (rental_contract.id =
rental_contract_composite.contract_id) WHERE NOT
(((((rental_contract.date_start < $availability_date_from AND
rental_contract.date_end < $availability_date_from) OR (
(rental_contract.date_start > $availability_date_to AND
rental_contract.date_end > $availability_date_to))))))))";
+
$special_query=true;
break;
case "both":
@@ -155,11 +159,11 @@
{
if($special_query)
{
- $cols = "DISTINCT(rental_composite.id) AS
composite_id, rental_unit.id AS unit_id, rental_unit.location_code,
rental_composite.name, rental_composite.has_custom_address,
rental_composite.address_1, rental_composite.house_number,
rental_composite.address_2, rental_composite.postcode, rental_composite.place,
rental_composite.is_active, rental_composite.area, CASE WHEN (NOT
rental_contract_composite.contract_id IS NULL AND (NOT
rental_contract.date_start IS NULL AND rental_contract.date_start >
$availability_date_from OR rental_contract.date_start < $availability_date_to
AND (rental_contract.date_end IS NULL OR (rental_contract.date_end >
$availability_date_from OR rental_contract.date_end < $availability_date_to))))
THEN 'Ikke ledig' ELSE 'Ledig' END as status";
+ $cols = "DISTINCT(rental_composite.id) AS
composite_id, rental_unit.id AS unit_id, rental_unit.location_code,
rental_composite.name, rental_composite.has_custom_address,
rental_composite.address_1, rental_composite.house_number,
rental_composite.address_2, rental_composite.postcode, rental_composite.place,
rental_composite.is_active, rental_composite.area, CASE WHEN (NOT
rental_contract_composite.contract_id IS NULL AND (NOT
rental_contract.date_start IS NULL AND (NOT (rental_contract.date_start <
$availability_date_from AND rental_contract.date_end <
$availability_date_from)) AND (rental_contract.date_end IS NULL OR NOT
(rental_contract.date_start > $availability_date_to AND
rental_contract.date_end > $availability_date_to)))) THEN 'Ikke ledig' ELSE
'Ledig' END as status";
}
else
{
- $cols = "rental_composite.id AS composite_id,
rental_unit.id AS unit_id, rental_unit.location_code, rental_composite.name,
rental_composite.has_custom_address, rental_composite.address_1,
rental_composite.house_number, rental_composite.address_2,
rental_composite.postcode, rental_composite.place, rental_composite.is_active,
rental_composite.area, CASE WHEN (NOT rental_contract_composite.contract_id IS
NULL AND (NOT rental_contract.date_start IS NULL AND rental_contract.date_start
> $availability_date_from OR rental_contract.date_start < $availability_date_to
AND (rental_contract.date_end IS NULL OR (rental_contract.date_end >
$availability_date_from OR rental_contract.date_end < $availability_date_to))))
THEN 'Ikke ledig' ELSE 'Ledig' END as status";
+ $cols = "rental_composite.id AS composite_id,
rental_unit.id AS unit_id, rental_unit.location_code, rental_composite.name,
rental_composite.has_custom_address, rental_composite.address_1,
rental_composite.house_number, rental_composite.address_2,
rental_composite.postcode, rental_composite.place, rental_composite.is_active,
rental_composite.area, CASE WHEN (NOT rental_contract_composite.contract_id IS
NULL AND (NOT rental_contract.date_start IS NULL AND (NOT
(rental_contract.date_start < $availability_date_from AND
rental_contract.date_end < $availability_date_from)) AND
(rental_contract.date_end IS NULL OR NOT (rental_contract.date_start >
$availability_date_to AND rental_contract.date_end > $availability_date_to))))
THEN 'Ikke ledig' ELSE 'Ledig' END as status";
}
}
$dir = $ascending ? 'ASC' : 'DESC';
[Prev in Thread] |
Current Thread |
[Next in Thread] |
- [Fmsystem-commits] [7038] bug-fix in sql query,
lars.nestas <=