Removed obsolete stock_move.person_id field and related handling.
[fa-stable.git] / includes / db / sql_functions.inc
index 2e5a28f4595abf9a2d3b236247930603c5fbba94..66a781d25d868c21286076411c8f559df3394ff4 100644 (file)
 //-------------------------------------------------------------------
 // Multilevel transaction control.
 //
+$transaction_level = 0;
 
 function begin_transaction()
 {
-       global $transaction_level; // set in set_global_connection()
+       global $transaction_level;
 
        if (!$transaction_level) {
-               error_log('begin');
                db_query("BEGIN", "could not start a transaction");
        }
        $transaction_level++;
-       error_log("level:$transaction_level");
 }
 
 function commit_transaction()
@@ -35,10 +34,8 @@ function commit_transaction()
        $transaction_level--;
 
        if (!$transaction_level) {
-               error_log('commit');
                db_query("COMMIT", "could not commit a transaction");
        }
-       error_log("level:$transaction_level");
 }
 
 /*
@@ -50,11 +47,9 @@ function cancel_transaction()
        global $transaction_level;
 
        if ($transaction_level) {
-               error_log('rollback');
                db_query("ROLLBACK", "could not cancel a transaction"); 
-       } else
-               error_log("no transactions");
-
+       }
+       $transaction_level = 0;
 }
 
 //-----------------------------------------------------------------------------
@@ -62,8 +57,25 @@ function cancel_transaction()
 //
 function update_record_status($id, $status, $table, $key) {
        $sql = "UPDATE ".TB_PREF.$table." SET inactive = "
-               . db_escape($status)." WHERE $key=".db_escape($id);
+               . ((int)$status)." WHERE $key=".db_escape($id);
                
        db_query($sql, "Can't update record status");
 }
-?>
+//-----------------------------------------------------------------------------
+//
+//     Helper for sql subquery returning running totals from delta tables like stock_moves or bank_trans
+//
+//     $table - table name with optional WHERE clause
+//  $column - delta column
+//     $index  - comma delimited list of columns for total grouping and order
+//  Returns running totals with respective index column
+//
+function running_total_sql($table, $column, $index)
+{
+
+       return "SELECT daily.$index, daily.$column, (@total:=@total+daily.$column) total 
+               FROM
+                       (SELECT $index, sum($column) $column FROM $table GROUP BY $index ORDER BY $index) daily,
+                       (SELECT @total:=0) total_var";
+}
+