developers-list
Threads by month
- ----- 2025 -----
- January
- ----- 2024 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2023 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2022 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2021 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2020 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2019 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2018 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2017 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2016 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2015 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2014 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2013 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2012 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2011 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2010 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2009 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2008 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2007 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2006 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2005 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2004 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- 2052 discussions
Good afternoon,
I have 2 questions :
- 1st question
I have a csv file with 300000000 million lines.
when I load it in a MonetDB table, it takes more than 16 hours, whereas in Oracle it only takes 15 minutes. Where is the problem?
I use mclient as follows :?
mclient -u user1 -d demo -ims -s " COPY 300000009 RECORDS INTO LINEORDER FROM STDIN USING DELIMITERS '|','\n'" - < D:\SSB\LINEORDER.tbl
?for information I use :
MonetDB5
Windows
Memory : 16 Go
There are two constraints : primary key and foreign key on the table prior to loading data?
2nd question :
how inner joins are made in MongoDB?
cordialy.
3
4
Re: MonetDB: DVframework_bam - Added bam folder under sql/backends/m...
by Stefan Manegold 15 Jun '13
by Stefan Manegold 15 Jun '13
15 Jun '13
Thanks Robin!
Eventually, we should of course add a proper configure check and make conditional for the samtools ... ;-)
Stefan
Robin Cijvat <commits(a)monetdb.org> wrote:
>Changeset: d87b8aafa5b7 for MonetDB
>URL: http://dev.monetdb.org/hg/MonetDB?cmd=changeset;node=d87b8aafa5b7
>Added Files:
> sql/backends/monet5/bam/85_bam.mal
> sql/backends/monet5/bam/85_bam.sql
> sql/backends/monet5/bam/Makefile.ag
> sql/backends/monet5/bam/bam.mal
> sql/backends/monet5/bam/bam_clear.sql
> sql/backends/monet5/bam/bam_schema.sql
> sql/backends/monet5/bam/bamloader.c
> sql/backends/monet5/bam/bamloader.h
>Modified Files:
> sql/backends/monet5/Makefile.ag
>Branch: DVframework_bam
>Log Message:
>
>Added bam folder under sql/backends/monet5/ containing UDF that
>provides functionality for loading BAM file contents into temporary
>BATs. To run code, samtools has to be installed and referred to in the
>Makefile of the directory.
>
>
>diffs (truncated from 1260 to 300 lines):
>
>diff --git a/sql/backends/monet5/Makefile.ag
>b/sql/backends/monet5/Makefile.ag
>--- a/sql/backends/monet5/Makefile.ag
>+++ b/sql/backends/monet5/Makefile.ag
>@@ -15,7 +15,7 @@
> # Copyright August 2008-2013 MonetDB B.V.
> # All Rights Reserved.
>
>-SUBDIRS = NOT_WIN32?vaults UDF LSST ENABLE_DATACELL?datacell
>HAVE_MSEED?miniseed
>+SUBDIRS = NOT_WIN32?vaults UDF bam LSST ENABLE_DATACELL?datacell
>HAVE_MSEED?miniseed
>
> INCLUDES = ../../include ../../common ../../storage ../../server \
> ../../../monetdb5/modules/atoms \
>diff --git a/sql/backends/monet5/bam/85_bam.mal
>b/sql/backends/monet5/bam/85_bam.mal
>new file mode 100644
>--- /dev/null
>+++ b/sql/backends/monet5/bam/85_bam.mal
>@@ -0,0 +1,2 @@
>+library bam;
>+include bam;
>\ No newline at end of file
>diff --git a/sql/backends/monet5/bam/85_bam.sql
>b/sql/backends/monet5/bam/85_bam.sql
>new file mode 100644
>--- /dev/null
>+++ b/sql/backends/monet5/bam/85_bam.sql
>@@ -0,0 +1,2 @@
>+CREATE PROCEDURE bamloader(repo string, mode int, num_threads int)
>+external name bam.bamloader;
>\ No newline at end of file
>diff --git a/sql/backends/monet5/bam/Makefile.ag
>b/sql/backends/monet5/bam/Makefile.ag
>new file mode 100644
>--- /dev/null
>+++ b/sql/backends/monet5/bam/Makefile.ag
>@@ -0,0 +1,62 @@
>+# The contents of this file are subject to the MonetDB Public License
>+# Version 1.1 (the "License"); you may not use this file except in
>+# compliance with the License. You may obtain a copy of the License at
>+# http://www.monetdb.org/Legal/MonetDBLicense
>+#
>+# Software distributed under the License is distributed on an "AS IS"
>+# basis, WITHOUT WARRANTY OF ANY KIND, either express or implied. See
>the
>+# License for the specific language governing rights and limitations
>+# under the License.
>+#
>+# The Original Code is the MonetDB Database System.
>+#
>+# The Initial Developer of the Original Code is CWI.
>+# Portions created by CWI are Copyright (C) 1997-July 2008 CWI.
>+# Copyright August 2008-2013 MonetDB B.V.
>+# All Rights Reserved.
>+
>+INCLUDES = .. \
>+ ../../../include \
>+ ../../../common \
>+ ../../../storage \
>+ ../../../server \
>+ ../../../../monetdb5/modules/atoms \
>+ ../../../../monetdb5/modules/kernel \
>+ ../../../../monetdb5/mal \
>+ ../../../../monetdb5/modules/mal \
>+ ../../../../monetdb5/optimizer \
>+ ../../../../clients/mapilib \
>+ ../../../../common/options \
>+ ../../../../common/stream \
>+ ../../../../gdk \
>+ -I$(HOME)/Documents/BAM/samtools/include
>+
>+lib__bam = {
>+ MODULE
>+ DIR = libdir/monetdb5
>+ SOURCES = bamloader.c bamloader.h
>+ LIBS = ../../../../monetdb5/tools/libmonetdb5 \
>+ ../../../../gdk/libbat \
>+ -L$(HOME)/Documents/BAM/samtools/lib -lbam
>+
>+}
>+
>+headers_mal = {
>+ HEADERS = mal
>+ DIR = libdir/monetdb5
>+ SOURCES = bam.mal
>+}
>+
>+headers_sql = {
>+ HEADERS = sql
>+ DIR = libdir/monetdb5/createdb
>+ SOURCES = 85_bam.sql
>+}
>+
>+headers_autoload = {
>+ HEADERS = mal
>+ DIR = libdir/monetdb5/autoload
>+ SOURCES = 85_bam.mal
>+}
>+
>+EXTRA_DIST_DIR = Tests
>diff --git a/sql/backends/monet5/bam/bam.mal
>b/sql/backends/monet5/bam/bam.mal
>new file mode 100644
>--- /dev/null
>+++ b/sql/backends/monet5/bam/bam.mal
>@@ -0,0 +1,5 @@
>+module bam;
>+
>+pattern bamloader(entry:str, mode:int, num_threads:int):void
>+address bamloader
>+comment "Read the files in the BAM repository, fill and return a
>temp_container accordingly.";
>\ No newline at end of file
>diff --git a/sql/backends/monet5/bam/bam_clear.sql
>b/sql/backends/monet5/bam/bam_clear.sql
>new file mode 100644
>--- /dev/null
>+++ b/sql/backends/monet5/bam/bam_clear.sql
>@@ -0,0 +1,7 @@
>+DROP TABLE bam.alignments_extra;
>+DROP TABLE bam.alignments;
>+DROP TABLE bam.pg;
>+DROP TABLE bam.rg;
>+DROP TABLE bam.sq;
>+DROP TABLE bam.files;
>+DROP SCHEMA bam;
>diff --git a/sql/backends/monet5/bam/bam_schema.sql
>b/sql/backends/monet5/bam/bam_schema.sql
>new file mode 100644
>--- /dev/null
>+++ b/sql/backends/monet5/bam/bam_schema.sql
>@@ -0,0 +1,91 @@
>+CREATE SCHEMA bam;
>+
>+CREATE TABLE "bam"."files" (
>+ "file_location" STRING NOT NULL UNIQUE,
>+ "format_version" REAL,
>+ "sorting_order" VARCHAR(10),
>+ "comments" STRING,
>+ CONSTRAINT "files_pkey_file_location" PRIMARY KEY (file_location)
>+);
>+
>+CREATE TABLE "bam"."sq" (
>+ "sn" STRING NOT NULL,
>+ "file_location" STRING NOT NULL,
>+ "ln" INT NOT NULL,
>+ "as" INT,
>+ "m5" STRING,
>+ "sp" STRING,
>+ "ur" STRING,
>+ CONSTRAINT "sq_pkey_sn_file_location" PRIMARY KEY (sn,
>file_location),
>+ CONSTRAINT "sq_fkey_file_location" FOREIGN KEY (file_location)
>REFERENCES bam.files (file_location)
>+);
>+
>+CREATE TABLE "bam"."rg" (
>+ "id" STRING NOT NULL UNIQUE,
>+ "file_location" STRING NOT NULL,
>+ "cn" STRING,
>+ "ds" STRING,
>+ "dt" TIMESTAMP,
>+ "fo" STRING,
>+ "ks" STRING,
>+ "lb" STRING,
>+ "pg" STRING,
>+ "pi" INT,
>+ "PL" STRING,
>+ "PU" STRING,
>+ "SM" STRING,
>+ CONSTRAINT "rg_pkey_id_file_location" PRIMARY KEY (id,
>file_location),
>+ CONSTRAINT "rg_fkey_file_location" FOREIGN KEY (file_location)
>REFERENCES bam.files (file_location)
>+);
>+
>+CREATE TABLE "bam"."pg" (
>+ "id" STRING NOT NULL UNIQUE,
>+ "file_location" STRING NOT NULL,
>+ "pn" STRING,
>+ "cl" STRING,
>+ "pp" STRING,
>+ "vn" REAL,
>+ CONSTRAINT "pg_pkey_id_file_location" PRIMARY KEY (id,
>file_location),
>+ CONSTRAINT "pg_fkey_file_location" FOREIGN KEY (file_location)
>REFERENCES bam.files (file_location)
>+);
>+
>+CREATE TABLE "bam"."alignments" (
>+ "file_location" STRING NOT NULL,
>+ "virtual_offset" INT NOT NULL,
>+ "qname" STRING NOT NULL,
>+ "flag_temp_mult_segm" BOOLEAN NOT NULL,
>+ "flag_each_segm_prop_alig" BOOLEAN NOT NULL,
>+ "flag_segm_unma" BOOLEAN NOT NULL,
>+ "flag_next_segm_unma" BOOLEAN NOT NULL,
>+ "flag_seq_reve_comp" BOOLEAN NOT NULL,
>+ "flag_seq_next_segm_reve" BOOLEAN NOT NULL,
>+ "flag_first_segm" BOOLEAN NOT NULL,
>+ "flag_last_segm" BOOLEAN NOT NULL,
>+ "flag_seco_alig" BOOLEAN NOT NULL,
>+ "flag_not_pass_qual_cont" BOOLEAN NOT NULL,
>+ "flag_pcr_opti_dupl" BOOLEAN NOT NULL,
>+ "rname" STRING NOT NULL,
>+ "pos" INT NOT NULL,
>+ "mapq" INT NOT NULL,
>+ "cigar" STRING NOT NULL,
>+ "rnext" STRING NOT NULL,
>+ "pnext" INT NOT NULL,
>+ "tlen" INT NOT NULL,
>+ "seq" STRING NOT NULL,
>+ "qual" STRING NOT NULL,
>+ CONSTRAINT "alignments_pkey_file_location_virtual_offset" PRIMARY
>KEY (file_location, virtual_offset),
>+ CONSTRAINT "alignments_fkey_file_location" FOREIGN KEY
>(file_location) REFERENCES bam.files (file_location)
>+);
>+
>+CREATE TABLE "bam"."alignments_extra" (
>+ "tag" CHAR(2) NOT NULL,
>+ "file_location" STRING NOT NULL,
>+ "virtual_offset" INT NOT NULL,
>+ "type" CHAR(1) NOT NULL,
>+ "value" STRING,
>+ CONSTRAINT
>"alignments_extra_pkey_tag_file_location_virtual_offset" PRIMARY KEY
>(tag, file_location, virtual_offset),
>+ CONSTRAINT "alignments_extra_fkey_file_location_virtual_offset"
>FOREIGN KEY (file_location, virtual_offset) REFERENCES bam.alignments
>(file_location, virtual_offset)
>+);
>+
>+
>+
>diff --git a/sql/backends/monet5/bam/bamloader.c
>b/sql/backends/monet5/bam/bamloader.c
>new file mode 100644
>--- /dev/null
>+++ b/sql/backends/monet5/bam/bamloader.c
>@@ -0,0 +1,1013 @@
>+#include <stdio.h>
>+#include "monetdb_config.h"
>+#include "bamloader.h"
>+
>+
>+/*
>+ * NOTE: Copied directly from miniseed/registrar.c
>+ * TODO: Make both miniseed/registrar.c and this file include some
>generic library for these kind of structures
>+ * keeps BAT and other properties of columns of a table.
>+ */
>+typedef struct {
>+ bat *column_bats; /* keeps bats of the columns: lower array */
>+ str *column_names; /* names of columns that are kept in the higher
>array */
>+ str *column_types_strs; /* type strings of columns */
>+} temp_subcontainer;
>+
>+/*
>+ * NOTE: Copied directly from miniseed/registrar.c
>+ * TODO: Make both miniseed/registrar.c and this file include some
>generic library for these kind of structures
>+ * keeps (some) tables of a schema.
>+ */
>+typedef struct {
>+ str schema_name; /* schema or vault name */
>+ temp_subcontainer *tables_columns; /* keeps tables: higher array */
>+ str *table_names; /* names of tables that are kept in the higher
>array */
>+ int *num_columns; /* number of columns in each table in the higher
>array */
>+ int num_tables;
>+} temp_container;
>+
>+/*
>+* File format specific structures
>+*/
>+typedef struct {
>+ str tag;
>+ str value;
>+} bam_header_option;
>+
>+typedef struct {
>+ str header_tag;
>+ bam_header_option *options;
>+ int num_options;
>+} bam_header_line;
>+
>+
>+/* Global vars */
>+FILE *logfile = NULL; //keep logfile file opened in this global var
>while the bam code runs,
>+ //since opening and closing every time
>something has to be written turned out to be very slow
>+
>+
>+
>+/* File format specific functions */
>+str init_temp_container(temp_container *ret_tc);
>+str loadfile(str filepath, temp_container *ret_tc); //load file and
>add contents to tc
>+str process_bam_header(str filepath, str header, temp_container
>*ret_tc);
>+int append_to_bat_cond(temp_container *ret_tc, bam_header_option *opt,
>str cmp, int table, int col, int *appendErr, int *flag);
>+str read_bam_header_line(str *header, bam_header_line *ret_hl, int
>*eof);
>+void free_bam_header_line(bam_header_line *hl);
>+str process_bam_alignment(str filepath, int virtual_offset,
>bam_header_t *header, bam1_t *alignment, temp_container *ret_tc);
>+int parse_alignment_str(str *sam_alig, str *dest);
>+int parse_alignment_long(str *sam_alig, long int *dest);
>+
>+/* Generic functions */
>+str init_temp_subcontainer(temp_subcontainer *ret_tsc,
>+ str *col_names, str *col_types_strs, int *col_types, int
>num_cols);
>+str append_to_bat(bat cb, ptr val);
>+int concatenate_strs(str* words_to_concat, int num_words_to_concat,
>str* ret_concatenated);
>+str prepare_insertion(Client cntxt, temp_container* tc);
>+str insert_into_vault(Client cntxt, temp_container* tc);
>+str register_table(Client cntxt, MalBlkPtr mb, MalStkPtr stk, InstrPtr
>pci);
>+int read_string_until_delim(str *src, str *ret, char *delims, int
>num_delims);
>+int parse_long(str *src, long int *i);
>+int get_kth_bit(unsigned int i, int k);
>+void append_to_log(str mssg);
>+void free_temp_container(temp_container* tc);
>+
>+/* External functions */
>+str SQLstatementIntern(Client c, str *expr, str nme, int execute, bit
>output);
>+
>+
>+
>+/* File format specific functions */
>_______________________________________________
>checkin-list mailing list
>checkin-list(a)monetdb.org
>http://mail.monetdb.org/mailman/listinfo/checkin-list
--
| Stefan.Manegold(a)CWI.nl | Database Architectures (DA) |
| www.CWI.nl/~manegold | Science Park 123 (L321) |
| +31 (0)20 592-4212 | 1098 XG Amsterdam (NL) |
1
0
Hai Stefan,
What problems is imprints causing in the sciql branch?
Jennie
On Jun 14, 2013, at 10:29, Stefan Manegold wrote:
> Changeset: 3841d3bd5fd7 for MonetDB
> URL: http://dev.monetdb.org/hg/MonetDB?cmd=changeset;node=3841d3bd5fd7
> Modified Files:
> gdk/gdk_select.c
> Branch: sciql
> Log Message:
>
> for now, disbale imprints in sciql branch,
> until we find the time to debug suspicious errors
>
>
> diffs (12 lines):
>
> diff --git a/gdk/gdk_select.c b/gdk/gdk_select.c
> --- a/gdk/gdk_select.c
> +++ b/gdk/gdk_select.c
> @@ -1344,7 +1344,7 @@ BATsubselect(BAT *b, BAT *s, const void
> * ii) it is not an equi-select, and
> * iii) is not var-sized.
> */
> - use_imprints = 1;
> + use_imprints = 0; /* temporarily disabled in sciql branch */
> }
> bn = BAT_scanselect(b, s, bn, tl, th, li, hi, equi, anti,
> lval, hval, maximum, use_imprints);
> _______________________________________________
> checkin-list mailing list
> checkin-list(a)monetdb.org
> http://mail.monetdb.org/mailman/listinfo/checkin-list
2
1
System infomation!//Re: After plenty of querys the database use 40 times more disk space than the original data, How can I avoid this?
by liyuesen 00108910 06 Jun '13
by liyuesen 00108910 06 Jun '13
06 Jun '13
Hi Stefan:
Thanks for your help! Here is the system infomation:
[root@host-28-for-monet monetdb]# mserver5 --version
MonetDB 5 server v11.15.3 "Feb2013-SP1" (64-bit, 64-bit oids)
Copyright (c) 1993-July 2008 CWI
Copyright (c) August 2008-2013 MonetDB B.V., all rights reserved
Visit http://www.monetdb.org/ for further information
Found 94.4GiB available memory, 24 available cpu cores
Libraries:
libpcre: 7.8 2008-09-05 (compiled with 7.8)
openssl: OpenSSL 1.0.0 29 Mar 2010 (compiled with OpenSSL 1.0.0-fips 29 Mar 2010)
libxml2: 2.7.6 (compiled with 2.7.6)
Compiled by: root@host-28-for-monet (x86_64-unknown-linux-gnu)
Compilation: gcc -g//When testing , debug was disabled. --by Jason
Linking : /usr/bin/ld -m elf_x86_64
OS:Linux host-28-for-monet 2.6.32-220.el6.x86_64 #1 SMP Wed Nov 9 08:03:13 EST 2011 x86_64 x86_64 x86_64 GNU/Linux
CPU: 24 cores INTEL cpu
Memory info, in Million Bytes:
total used free shared buffers cached
Mem: 99030412 3717976 95312436 0 658496 250616
-/+ buffers/cache: 2808864 96221548
Swap: 101269496 23768 101245728
No extra schema was used, we have seven tables in schema SYS, 155 colums of each table. Every miniute, 30 thousands rows were imported into each table, and then 40 threads execute the followwing SQL. The case run more than 90 times, that means the test last longer than one and an half hours!
SQL query:select count(*), bkpi.GGSN_ID, bkpi.SGSN_ID, CASE WHEN CAST(SUM(bkpi.DNS_DELAY_NUM) AS BIGINT) = 0 THEN -1 ELSE FLOOR(CAST(SUM(bkpi.DNS_DELAY_NUM) AS BIGINT))/CAST(SUM(bkpi.DNS_DELAY_NUM) AS BIGINT) * 100 END as KQIDELAY, CASE WHEN CAST(SUM(bkpi.COUNTS) AS BIGINT)=0 THEN -1 ELSE FLOOR(CAST(SUM(bkpi.DNS_DELAY_MSEL) AS BIGINT))/CAST(SUM(bkpi.COUNTS) AS BIGINT) END as DNS_DELAY, CASE WHEN CAST(SUM(bkpi.TCP_DELAY_NUM)
AS BIGINT) = 0 THEN -1 ELSE FLOOR(CAST(SUM(bkpi.TCP_DELAY_MSEL) AS BIGINT))/CAST(SUM(bkpi.TCP_DELAY_NUM) AS BIGINT) * 100 END as TCPDELAY , CASE WHEN CAST(SUM(bkpi.GET_DELAY_NUM) AS BIGINT)=0 THEN -1 ELSE FLOOR(CAST(SUM(bkpi.GET_DELAY_MSEL) AS BIGINT))/CAST(SUM(bkpi.GET_DELAY_NUM) AS BIGINT) END as TCPGETDELAY, CASE WHEN CAST(SUM(bkpi.TCP_DELAY_NUM) AS BIGINT) = 0 THEN -1 ELSE FLOOR(CAST(SUM(bkpi.TCP_DELAY_MSEL) AS BIGINT))/CAST(S
UM(bkpi.TCP_DELAY_NUM) AS BIGINT) * 100 END AS TCP_DELAY_AVGMSEL, CASE WHEN (CAST(SUM(bkpi.POST_DELAY_NUM) AS BIGINT)*1024)=0 THEN -1 ELSE FLOOR(CAST(SUM(bkpi.POST_DELAY_MSEL) AS BIGINT)*1000*8)/(CAST(SUM(bkpi.POST_DELAY_NUM) AS BIGINT)*1024) END as TCPPOSTDELAY, CASE WHEN CAST(SUM(bkpi.GET_DELAY_NUM) AS BIGINT)=0 THEN -1 ELSE FLOOR(CAST(SUM(bkpi.GET_DELAY_MSEL) AS BIGINT))/CAST(SUM(bkpi.GET_DELAY_NUM) AS BIGINT) END AS GET_DELAY_MSE
L_AVG from (select GENTIME, APN, GGSN_ID,SGSN_ID, COUNTS, KQI_DELAY_MSEL,DNS_DELAY_MSEL, DNS_DELAY_NUM, TCP_DELAY_MSEL,TCP_DELAY_NUM, GET_DELAY_MSEL,GET_DELAY_NUM,POST_DELAY_MSEL,POST_DELAY_NUM from bkpi_web_dspdelay_cisai_15min_0 where sgsn_id = 0 and GENTIME >= '2013-06-06 07:51:41' and GENTIME <= '2013-06-06 07:52:27' union all select GENTIME, APN, GGSN_ID,SGSN_ID, COUNTS, KQI_DELAY_MSEL,DNS_DELAY_MSEL, DNS_DELAY_NUM, TCP_
DELAY_MSEL,TCP_DELAY_NUM, GET_DELAY_MSEL,GET_DELAY_NUM,POST_DELAY_MSEL,POST_DELAY_NUM from bkpi_web_dspdelay_cisai_15min_1 where ggsn_id = 0 and GENTIME >= '2013-06-06 07:51:41' and GENTIME <= '2013-06-06 07:52:27' union all select GENTIME, APN, GGSN_ID,SGSN_ID, COUNTS, KQI_DELAY_MSEL,DNS_DELAY_MSEL, DNS_DELAY_NUM, TCP_DELAY_MSEL,TCP_DELAY_NUM, GET_DELAY_MSEL,GET_DELAY_NUM,POST_DELAY_MSEL,POST_DELAY_NUM from bkpi_web_dspdelay_
cisai_15min_0 where sgsn_id = 0 and GENTIME >= '2013-06-06 07:51:41' and GENTIME <= '2013-06-06 07:52:27' union all select GENTIME, APN, GGSN_ID,SGSN_ID, COUNTS, KQI_DELAY_MSEL,DNS_DELAY_MSEL, DNS_DELAY_NUM, TCP_DELAY_MSEL,TCP_DELAY_NUM, GET_DELAY_MSEL,GET_DELAY_NUM,POST_DELAY_MSEL,POST_DELAY_NUM from bkpi_web_dspdelay_cisai_15min_1 where ggsn_id = 0 and GENTIME >= '2013-06-06 07:51:41' and GENTIME <= '2013-06-06 07:52:27' ) b
kpi group by bkpi.GGSN_ID, bkpi.SGSN_ID;
Explain result of the query:
+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| mal |
+=============================================================================================================================================================================================================+
| function user.s1_4{autoCommit=true}(A0:lng,A1:flt,A2:flt,A3:lng,A4:flt,A5:lng,A6:flt,A7:flt,A8:lng,A9:flt,A10:lng,A11:flt,A12:flt,A13:lng,A14:lng,A15:flt,A16:lng,A17:lng,A18:lng,A19:lng,A20:flt,A21:lng,A |
: 22:str,A23:str,A24:lng,A25:str,A26:str,A27:lng,A28:str,A29:str,A30:lng,A31:str,A32:str):void; :
| X_36:bat[:oid,:wrd] := bat.new(nil:oid,nil:wrd); |
| X_39:bat[:oid,:wrd] := bat.new(nil:oid,nil:wrd); |
| X_40:bat[:oid,:wrd] := bat.new(nil:oid,nil:wrd); |
| X_35 := sql.mvc(); |
| X_44 := sql.bind(X_35,"sys","bkpi_web_dspdelay_cisai_15min_0","gentime",0); |
| X_55 := sql.bind(X_35,"sys","bkpi_web_dspdelay_cisai_15min_0","sgsn_id",0); |
| X_41:bat[:oid,:oid] := sql.tid(X_35,"sys","bkpi_web_dspdelay_cisai_15min_0"); |
| X_962 := algebra.subselect(X_55,X_41,A21,A21,true,true,false); |
| (X_57,r1_63) := sql.bind(X_35,"sys","bkpi_web_dspdelay_cisai_15min_0","sgsn_id",2); |
| X_963 := algebra.subselect(r1_63,A21,A21,true,true,false); |
| X_59 := sql.bind(X_35,"sys","bkpi_web_dspdelay_cisai_15min_0","sgsn_id",1); |
| X_964 := algebra.subselect(X_59,X_41,A21,A21,true,true,false); |
| X_60 := sql.subdelta(X_962,X_57,X_963,X_964); |
| X_52 := calc.timestamp(A22,7); |
| X_54 := calc.timestamp(A23,7); |
| X_965 := algebra.subselect(X_44,X_60,X_52,X_54,true,true,false); |
| (X_47,r1_47) := sql.bind(X_35,"sys","bkpi_web_dspdelay_cisai_15min_0","gentime",2); |
| X_966 := algebra.subselect(r1_47,X_52,X_54,true,true,false); |
| X_50 := sql.bind(X_35,"sys","bkpi_web_dspdelay_cisai_15min_0","gentime",1); |
| X_967 := algebra.subselect(X_50,X_60,X_52,X_54,true,true,false); |
| X_63 := sql.subdelta(X_965,X_47,X_966,X_967); |
| X_64 := sql.projectdelta(X_63,X_55,X_57,r1_63,X_59); |
| X_65 := sql.bind(X_35,"sys","bkpi_web_dspdelay_cisai_15min_0","ggsn_id",0); |
| (X_70,r1_84) := sql.bind(X_35,"sys","bkpi_web_dspdelay_cisai_15min_0","ggsn_id",2); |
| X_73 := sql.bind(X_35,"sys","bkpi_web_dspdelay_cisai_15min_0","ggsn_id",1); |
| X_75 := sql.projectdelta(X_63,X_65,X_70,r1_84,X_73); |
| (X_76,r1_96,r2_96) := group.subgroup(X_75); |
| (X_79,r1_99,r2_99) := group.subgroupdone(X_64,X_76); |
| X_82:bat[:oid,:wrd] := aggr.subcount(X_79,X_79,r1_99,false); |
| X_128 := algebra.leftfetchjoin(r1_99,X_64); |
| X_134 := algebra.leftfetchjoin(r1_99,X_75); |
| X_283 := sql.bind(X_35,"sys","bkpi_web_dspdelay_cisai_15min_0","dns_delay_num",0); |
| (X_288,r1_503) := sql.bind(X_35,"sys","bkpi_web_dspdelay_cisai_15min_0","dns_delay_num",2); |
| X_291 := sql.bind(X_35,"sys","bkpi_web_dspdelay_cisai_15min_0","dns_delay_num",1); |
| X_293 := sql.projectdelta(X_63,X_283,X_288,r1_503,X_291); |
| X_294:bat[:oid,:lng] := aggr.subsum(X_293,X_79,r1_99,true,true); |
| X_363 := sql.bind(X_35,"sys","bkpi_web_dspdelay_cisai_15min_0","counts",0); |
| (X_368,r1_749) := sql.bind(X_35,"sys","bkpi_web_dspdelay_cisai_15min_0","counts",2); |
| X_371 := sql.bind(X_35,"sys","bkpi_web_dspdelay_cisai_15min_0","counts",1); |
| X_373 := sql.projectdelta(X_63,X_363,X_368,r1_749,X_371); |
| X_374:bat[:oid,:lng] := aggr.subsum(X_373,X_79,r1_99,true,true); |
| X_406 := sql.bind(X_35,"sys","bkpi_web_dspdelay_cisai_15min_0","dns_delay_msel",0); |
| (X_411,r1_875) := sql.bind(X_35,"sys","bkpi_web_dspdelay_cisai_15min_0","dns_delay_msel",2); |
| X_414 := sql.bind(X_35,"sys","bkpi_web_dspdelay_cisai_15min_0","dns_delay_msel",1); |
| X_416 := sql.projectdelta(X_63,X_406,X_411,r1_875,X_414); |
| X_417:bat[:oid,:lng] := aggr.subsum(X_416,X_79,r1_99,true,true); |
| X_467 := sql.bind(X_35,"sys","bkpi_web_dspdelay_cisai_15min_0","tcp_delay_num",0); |
| (X_472,r1_1061) := sql.bind(X_35,"sys","bkpi_web_dspdelay_cisai_15min_0","tcp_delay_num",2); |
| X_475 := sql.bind(X_35,"sys","bkpi_web_dspdelay_cisai_15min_0","tcp_delay_num",1); |
| X_477 := sql.projectdelta(X_63,X_467,X_472,r1_1061,X_475); |
| X_478:bat[:oid,:lng] := aggr.subsum(X_477,X_79,r1_99,true,true); |
| X_510 := sql.bind(X_35,"sys","bkpi_web_dspdelay_cisai_15min_0","tcp_delay_msel",0); |
| (X_515,r1_1187) := sql.bind(X_35,"sys","bkpi_web_dspdelay_cisai_15min_0","tcp_delay_msel",2); |
| X_518 := sql.bind(X_35,"sys","bkpi_web_dspdelay_cisai_15min_0","tcp_delay_msel",1); |
| X_520 := sql.projectdelta(X_63,X_510,X_515,r1_1187,X_518); |
| X_521:bat[:oid,:lng] := aggr.subsum(X_520,X_79,r1_99,true,true); |
| X_572 := sql.bind(X_35,"sys","bkpi_web_dspdelay_cisai_15min_0","get_delay_num",0); |
| (X_577,r1_1376) := sql.bind(X_35,"sys","bkpi_web_dspdelay_cisai_15min_0","get_delay_num",2); |
| X_580 := sql.bind(X_35,"sys","bkpi_web_dspdelay_cisai_15min_0","get_delay_num",1); |
| X_582 := sql.projectdelta(X_63,X_572,X_577,r1_1376,X_580); |
| X_583:bat[:oid,:lng] := aggr.subsum(X_582,X_79,r1_99,true,true); |
| X_615 := sql.bind(X_35,"sys","bkpi_web_dspdelay_cisai_15min_0","get_delay_msel",0); |
| (X_620,r1_1502) := sql.bind(X_35,"sys","bkpi_web_dspdelay_cisai_15min_0","get_delay_msel",2); |
| X_623 := sql.bind(X_35,"sys","bkpi_web_dspdelay_cisai_15min_0","get_delay_msel",1); |
| X_625 := sql.projectdelta(X_63,X_615,X_620,r1_1502,X_623); |
| X_626:bat[:oid,:lng] := aggr.subsum(X_625,X_79,r1_99,true,true); |
| X_731 := sql.bind(X_35,"sys","bkpi_web_dspdelay_cisai_15min_0","post_delay_num",0); |
| (X_736,r1_1865) := sql.bind(X_35,"sys","bkpi_web_dspdelay_cisai_15min_0","post_delay_num",2); |
| X_739 := sql.bind(X_35,"sys","bkpi_web_dspdelay_cisai_15min_0","post_delay_num",1); |
| X_741 := sql.projectdelta(X_63,X_731,X_736,r1_1865,X_739); |
| X_742:bat[:oid,:lng] := aggr.subsum(X_741,X_79,r1_99,true,true); |
| X_775 := sql.bind(X_35,"sys","bkpi_web_dspdelay_cisai_15min_0","post_delay_msel",0); |
| (X_780,r1_1996) := sql.bind(X_35,"sys","bkpi_web_dspdelay_cisai_15min_0","post_delay_msel",2); |
| X_783 := sql.bind(X_35,"sys","bkpi_web_dspdelay_cisai_15min_0","post_delay_msel",1); |
| X_785 := sql.projectdelta(X_63,X_775,X_780,r1_1996,X_783); |
| X_786:bat[:oid,:lng] := aggr.subsum(X_785,X_79,r1_99,true,true); |
| X_83 := bat.append(X_40,X_82,true); |
| X_87 := sql.bind(X_35,"sys","bkpi_web_dspdelay_cisai_15min_1","gentime",0); |
| X_96 := sql.bind(X_35,"sys","bkpi_web_dspdelay_cisai_15min_1","ggsn_id",0); |
| X_85:bat[:oid,:oid] := sql.tid(X_35,"sys","bkpi_web_dspdelay_cisai_15min_1"); |
| X_968 := algebra.subselect(X_96,X_85,A24,A24,true,true,false); |
| (X_99,r1_128) := sql.bind(X_35,"sys","bkpi_web_dspdelay_cisai_15min_1","ggsn_id",2); |
| X_969 := algebra.subselect(r1_128,A24,A24,true,true,false); |
| X_102 := sql.bind(X_35,"sys","bkpi_web_dspdelay_cisai_15min_1","ggsn_id",1); |
| X_970 := algebra.subselect(X_102,X_85,A24,A24,true,true,false); |
| X_104 := sql.subdelta(X_968,X_99,X_969,X_970); |
| X_93 := calc.timestamp(A25,7); |
| X_95 := calc.timestamp(A26,7); |
| X_971 := algebra.subselect(X_87,X_104,X_93,X_95,true,true,false); |
| (X_89,r1_112) := sql.bind(X_35,"sys","bkpi_web_dspdelay_cisai_15min_1","gentime",2); |
| X_972 := algebra.subselect(r1_112,X_93,X_95,true,true,false); |
| X_92 := sql.bind(X_35,"sys","bkpi_web_dspdelay_cisai_15min_1","gentime",1); |
| X_973 := algebra.subselect(X_92,X_104,X_93,X_95,true,true,false); |
| X_106 := sql.subdelta(X_971,X_89,X_972,X_973); |
| X_108 := sql.bind(X_35,"sys","bkpi_web_dspdelay_cisai_15min_1","sgsn_id",0); |
| (X_111,r1_145) := sql.bind(X_35,"sys","bkpi_web_dspdelay_cisai_15min_1","sgsn_id",2); |
| X_114 := sql.bind(X_35,"sys","bkpi_web_dspdelay_cisai_15min_1","sgsn_id",1); |
| X_115 := sql.projectdelta(X_106,X_108,X_111,r1_145,X_114); |
| X_116 := sql.projectdelta(X_106,X_96,X_99,r1_128,X_102); |
| (X_117,r1_161,r2_161) := group.subgroup(X_116); |
| (X_120,r1_164,r2_164) := group.subgroupdone(X_115,X_117); |
| X_123:bat[:oid,:wrd] := aggr.subcount(X_120,X_120,r1_164,false); |
| X_131 := algebra.leftfetchjoin(r1_164,X_115); |
| X_136 := algebra.leftfetchjoin(r1_164,X_116); |
| X_297 := sql.bind(X_35,"sys","bkpi_web_dspdelay_cisai_15min_1","dns_delay_num",0); |
| (X_299,r1_524) := sql.bind(X_35,"sys","bkpi_web_dspdelay_cisai_15min_1","dns_delay_num",2); |
| X_301 := sql.bind(X_35,"sys","bkpi_web_dspdelay_cisai_15min_1","dns_delay_num",1); |
| X_302 := sql.projectdelta(X_106,X_297,X_299,r1_524,X_301); |
| X_303:bat[:oid,:lng] := aggr.subsum(X_302,X_120,r1_164,true,true); |
| X_377 := sql.bind(X_35,"sys","bkpi_web_dspdelay_cisai_15min_1","counts",0); |
| (X_379,r1_770) := sql.bind(X_35,"sys","bkpi_web_dspdelay_cisai_15min_1","counts",2); |
| X_381 := sql.bind(X_35,"sys","bkpi_web_dspdelay_cisai_15min_1","counts",1); |
| X_382 := sql.projectdelta(X_106,X_377,X_379,r1_770,X_381); |
| X_383:bat[:oid,:lng] := aggr.subsum(X_382,X_120,r1_164,true,true); |
| X_420 := sql.bind(X_35,"sys","bkpi_web_dspdelay_cisai_15min_1","dns_delay_msel",0); |
| (X_422,r1_896) := sql.bind(X_35,"sys","bkpi_web_dspdelay_cisai_15min_1","dns_delay_msel",2); |
| X_424 := sql.bind(X_35,"sys","bkpi_web_dspdelay_cisai_15min_1","dns_delay_msel",1); |
| X_425 := sql.projectdelta(X_106,X_420,X_422,r1_896,X_424); |
| X_426:bat[:oid,:lng] := aggr.subsum(X_425,X_120,r1_164,true,true); |
| X_481 := sql.bind(X_35,"sys","bkpi_web_dspdelay_cisai_15min_1","tcp_delay_num",0); |
| (X_483,r1_1082) := sql.bind(X_35,"sys","bkpi_web_dspdelay_cisai_15min_1","tcp_delay_num",2); |
| X_485 := sql.bind(X_35,"sys","bkpi_web_dspdelay_cisai_15min_1","tcp_delay_num",1); |
| X_486 := sql.projectdelta(X_106,X_481,X_483,r1_1082,X_485); |
| X_487:bat[:oid,:lng] := aggr.subsum(X_486,X_120,r1_164,true,true); |
| X_524 := sql.bind(X_35,"sys","bkpi_web_dspdelay_cisai_15min_1","tcp_delay_msel",0); |
| (X_526,r1_1208) := sql.bind(X_35,"sys","bkpi_web_dspdelay_cisai_15min_1","tcp_delay_msel",2); |
| X_528 := sql.bind(X_35,"sys","bkpi_web_dspdelay_cisai_15min_1","tcp_delay_msel",1); |
| X_529 := sql.projectdelta(X_106,X_524,X_526,r1_1208,X_528); |
| X_530:bat[:oid,:lng] := aggr.subsum(X_529,X_120,r1_164,true,true); |
| X_586 := sql.bind(X_35,"sys","bkpi_web_dspdelay_cisai_15min_1","get_delay_num",0); |
| (X_588,r1_1397) := sql.bind(X_35,"sys","bkpi_web_dspdelay_cisai_15min_1","get_delay_num",2); |
| X_590 := sql.bind(X_35,"sys","bkpi_web_dspdelay_cisai_15min_1","get_delay_num",1); |
| X_591 := sql.projectdelta(X_106,X_586,X_588,r1_1397,X_590); |
| X_592:bat[:oid,:lng] := aggr.subsum(X_591,X_120,r1_164,true,true); |
| X_629 := sql.bind(X_35,"sys","bkpi_web_dspdelay_cisai_15min_1","get_delay_msel",0); |
| (X_631,r1_1523) := sql.bind(X_35,"sys","bkpi_web_dspdelay_cisai_15min_1","get_delay_msel",2); |
| X_633 := sql.bind(X_35,"sys","bkpi_web_dspdelay_cisai_15min_1","get_delay_msel",1); |
| X_634 := sql.projectdelta(X_106,X_629,X_631,r1_1523,X_633); |
| X_635:bat[:oid,:lng] := aggr.subsum(X_634,X_120,r1_164,true,true); |
| X_745 := sql.bind(X_35,"sys","bkpi_web_dspdelay_cisai_15min_1","post_delay_num",0); |
| (X_747,r1_1886) := sql.bind(X_35,"sys","bkpi_web_dspdelay_cisai_15min_1","post_delay_num",2); |
| X_749 := sql.bind(X_35,"sys","bkpi_web_dspdelay_cisai_15min_1","post_delay_num",1); |
| X_750 := sql.projectdelta(X_106,X_745,X_747,r1_1886,X_749); |
| X_751:bat[:oid,:lng] := aggr.subsum(X_750,X_120,r1_164,true,true); |
| X_789 := sql.bind(X_35,"sys","bkpi_web_dspdelay_cisai_15min_1","post_delay_msel",0); |
| (X_791,r1_2017) := sql.bind(X_35,"sys","bkpi_web_dspdelay_cisai_15min_1","post_delay_msel",2); |
| X_793 := sql.bind(X_35,"sys","bkpi_web_dspdelay_cisai_15min_1","post_delay_msel",1); |
| X_794 := sql.projectdelta(X_106,X_789,X_791,r1_2017,X_793); |
| X_795:bat[:oid,:lng] := aggr.subsum(X_794,X_120,r1_164,true,true); |
| X_124 := bat.append(X_83,X_123,true); |
| X_125:bat[:oid,:lng] := bat.new(nil:oid,nil:lng); |
| X_129 := bat.append(X_125,X_128,true); |
| X_132 := bat.append(X_129,X_131,true); |
| X_133:bat[:oid,:lng] := bat.new(nil:oid,nil:lng); |
| X_135 := bat.append(X_133,X_134,true); |
| X_137 := bat.append(X_135,X_136,true); |
| (X_138,r1_216,r2_216) := group.subgroup(X_137); |
| (X_141,r1_219,r2_219) := group.subgroupdone(X_132,X_138); |
| X_144:bat[:oid,:wrd] := aggr.subsum(X_124,X_141,r1_219,true,true); |
| X_194 := algebra.leftfetchjoin(r1_219,X_132); |
| X_199 := algebra.leftfetchjoin(r1_219,X_137); |
| X_282:bat[:oid,:lng] := bat.new(nil:oid,nil:lng); |
| X_296 := bat.append(X_282,X_294,true); |
| X_304 := bat.append(X_296,X_303,true); |
| X_305:bat[:oid,:lng] := aggr.subsum(X_304,X_141,r1_219,true,true); |
| X_325:bat[:oid,:lng] := bat.new(nil:oid,nil:lng); |
| X_326 := bat.append(X_325,X_294,true); |
| X_327 := bat.append(X_326,X_303,true); |
| X_328 := algebra.leftfetchjoin(r1_219,X_327); |
| X_342:bat[:oid,:lng] := bat.new(nil:oid,nil:lng); |
| X_343 := bat.append(X_342,X_294,true); |
| X_345 := bat.append(X_343,X_303,true); |
| X_346 := algebra.leftfetchjoin(r1_219,X_345); |
| X_362:bat[:oid,:lng] := bat.new(nil:oid,nil:lng); |
| X_376 := bat.append(X_362,X_374,true); |
| X_384 := bat.append(X_376,X_383,true); |
| X_385:bat[:oid,:lng] := aggr.subsum(X_384,X_141,r1_219,true,true); |
| X_405:bat[:oid,:lng] := bat.new(nil:oid,nil:lng); |
| X_419 := bat.append(X_405,X_417,true); |
| X_427 := bat.append(X_419,X_426,true); |
| X_428:bat[:oid,:lng] := aggr.subsum(X_427,X_141,r1_219,true,true); |
| X_447:bat[:oid,:lng] := bat.new(nil:oid,nil:lng); |
| X_448 := bat.append(X_447,X_374,true); |
| X_449 := bat.append(X_448,X_383,true); |
| X_451 := algebra.leftfetchjoin(r1_219,X_449); |
| X_466:bat[:oid,:lng] := bat.new(nil:oid,nil:lng); |
| X_480 := bat.append(X_466,X_478,true); |
| X_488 := bat.append(X_480,X_487,true); |
| X_489:bat[:oid,:lng] := aggr.subsum(X_488,X_141,r1_219,true,true); |
| X_509:bat[:oid,:lng] := bat.new(nil:oid,nil:lng); |
| X_523 := bat.append(X_509,X_521,true); |
| X_531 := bat.append(X_523,X_530,true); |
| X_532:bat[:oid,:lng] := aggr.subsum(X_531,X_141,r1_219,true,true); |
| X_551:bat[:oid,:lng] := bat.new(nil:oid,nil:lng); |
| X_552 := bat.append(X_551,X_478,true); |
| X_553 := bat.append(X_552,X_487,true); |
| X_555 := algebra.leftfetchjoin(r1_219,X_553); |
| X_571:bat[:oid,:lng] := bat.new(nil:oid,nil:lng); |
| X_585 := bat.append(X_571,X_583,true); |
| X_593 := bat.append(X_585,X_592,true); |
| X_594:bat[:oid,:lng] := aggr.subsum(X_593,X_141,r1_219,true,true); |
| X_614:bat[:oid,:lng] := bat.new(nil:oid,nil:lng); |
| X_628 := bat.append(X_614,X_626,true); |
| X_636 := bat.append(X_628,X_635,true); |
| X_637:bat[:oid,:lng] := aggr.subsum(X_636,X_141,r1_219,true,true); |
| X_656:bat[:oid,:lng] := bat.new(nil:oid,nil:lng); |
| X_657 := bat.append(X_656,X_583,true); |
| X_658 := bat.append(X_657,X_592,true); |
| X_660 := algebra.leftfetchjoin(r1_219,X_658); |
| X_675:bat[:oid,:lng] := bat.new(nil:oid,nil:lng); |
| X_676 := bat.append(X_675,X_478,true); |
| X_678 := bat.append(X_676,X_487,true); |
| X_679 := algebra.leftfetchjoin(r1_219,X_678); |
| X_693:bat[:oid,:lng] := bat.new(nil:oid,nil:lng); |
| X_694 := bat.append(X_693,X_521,true); |
| X_696 := bat.append(X_694,X_530,true); |
| X_697 := algebra.leftfetchjoin(r1_219,X_696); |
| X_710:bat[:oid,:lng] := bat.new(nil:oid,nil:lng); |
| X_711 := bat.append(X_710,X_478,true); |
| X_713 := bat.append(X_711,X_487,true); |
| X_714 := algebra.leftfetchjoin(r1_219,X_713); |
| X_730:bat[:oid,:lng] := bat.new(nil:oid,nil:lng); |
| X_744 := bat.append(X_730,X_742,true); |
| X_752 := bat.append(X_744,X_751,true); |
| X_753:bat[:oid,:lng] := aggr.subsum(X_752,X_141,r1_219,true,true); |
| X_774:bat[:oid,:lng] := bat.new(nil:oid,nil:lng); |
| X_788 := bat.append(X_774,X_786,true); |
| X_796 := bat.append(X_788,X_795,true); |
| X_797:bat[:oid,:lng] := aggr.subsum(X_796,X_141,r1_219,true,true); |
| X_818:bat[:oid,:lng] := bat.new(nil:oid,nil:lng); |
| X_819 := bat.append(X_818,X_742,true); |
| X_821 := bat.append(X_819,X_751,true); |
| X_822 := algebra.leftfetchjoin(r1_219,X_821); |
| X_838:bat[:oid,:lng] := bat.new(nil:oid,nil:lng); |
| X_839 := bat.append(X_838,X_583,true); |
| X_841 := bat.append(X_839,X_592,true); |
| X_842 := algebra.leftfetchjoin(r1_219,X_841); |
| X_856:bat[:oid,:lng] := bat.new(nil:oid,nil:lng); |
| X_857 := bat.append(X_856,X_626,true); |
| X_859 := bat.append(X_857,X_635,true); |
| X_860 := algebra.leftfetchjoin(r1_219,X_859); |
| X_873:bat[:oid,:lng] := bat.new(nil:oid,nil:lng); |
| X_874 := bat.append(X_873,X_583,true); |
| X_876 := bat.append(X_874,X_592,true); |
| X_877 := algebra.leftfetchjoin(r1_219,X_876); |
| X_146 := bat.append(X_39,X_144,true); |
| X_150 := sql.bind(X_35,"sys","bkpi_web_dspdelay_cisai_15min_0","gentime",0); |
| X_161 := sql.bind(X_35,"sys","bkpi_web_dspdelay_cisai_15min_0","sgsn_id",0); |
| X_147:bat[:oid,:oid] := sql.tid(X_35,"sys","bkpi_web_dspdelay_cisai_15min_0"); |
| X_974 := algebra.subselect(X_161,X_147,A27,A27,true,true,false); |
| (X_163,r1_251) := sql.bind(X_35,"sys","bkpi_web_dspdelay_cisai_15min_0","sgsn_id",2); |
| X_975 := algebra.subselect(r1_251,A27,A27,true,true,false); |
| X_165 := sql.bind(X_35,"sys","bkpi_web_dspdelay_cisai_15min_0","sgsn_id",1); |
| X_976 := algebra.subselect(X_165,X_147,A27,A27,true,true,false); |
| X_166 := sql.subdelta(X_974,X_163,X_975,X_976); |
| X_158 := calc.timestamp(A28,7); |
| X_160 := calc.timestamp(A29,7); |
| X_977 := algebra.subselect(X_150,X_166,X_158,X_160,true,true,false); |
| (X_153,r1_235) := sql.bind(X_35,"sys","bkpi_web_dspdelay_cisai_15min_0","gentime",2); |
| X_978 := algebra.subselect(r1_235,X_158,X_160,true,true,false); |
| X_156 := sql.bind(X_35,"sys","bkpi_web_dspdelay_cisai_15min_0","gentime",1); |
| X_979 := algebra.subselect(X_156,X_166,X_158,X_160,true,true,false); |
| X_169 := sql.subdelta(X_977,X_153,X_978,X_979); |
| X_170 := sql.projectdelta(X_169,X_161,X_163,r1_251,X_165); |
| X_171 := sql.bind(X_35,"sys","bkpi_web_dspdelay_cisai_15min_0","ggsn_id",0); |
| (X_176,r1_272) := sql.bind(X_35,"sys","bkpi_web_dspdelay_cisai_15min_0","ggsn_id",2); |
| X_179 := sql.bind(X_35,"sys","bkpi_web_dspdelay_cisai_15min_0","ggsn_id",1); |
| X_181 := sql.projectdelta(X_169,X_171,X_176,r1_272,X_179); |
| (X_182,r1_284,r2_284) := group.subgroup(X_181); |
| (X_185,r1_287,r2_287) := group.subgroupdone(X_170,X_182); |
| X_188:bat[:oid,:wrd] := aggr.subcount(X_185,X_185,r1_287,false); |
| X_196 := algebra.leftfetchjoin(r1_287,X_170); |
| X_202 := algebra.leftfetchjoin(r1_287,X_181); |
| X_307 := sql.projectdelta(X_169,X_283,X_288,r1_503,X_291); |
| X_308:bat[:oid,:lng] := aggr.subsum(X_307,X_185,r1_287,true,true); |
| X_387 := sql.projectdelta(X_169,X_363,X_368,r1_749,X_371); |
| X_388:bat[:oid,:lng] := aggr.subsum(X_387,X_185,r1_287,true,true); |
| X_430 := sql.projectdelta(X_169,X_406,X_411,r1_875,X_414); |
| X_431:bat[:oid,:lng] := aggr.subsum(X_430,X_185,r1_287,true,true); |
| X_491 := sql.projectdelta(X_169,X_467,X_472,r1_1061,X_475); |
| X_492:bat[:oid,:lng] := aggr.subsum(X_491,X_185,r1_287,true,true); |
| X_534 := sql.projectdelta(X_169,X_510,X_515,r1_1187,X_518); |
| X_535:bat[:oid,:lng] := aggr.subsum(X_534,X_185,r1_287,true,true); |
| X_596 := sql.projectdelta(X_169,X_572,X_577,r1_1376,X_580); |
| X_597:bat[:oid,:lng] := aggr.subsum(X_596,X_185,r1_287,true,true); |
| X_639 := sql.projectdelta(X_169,X_615,X_620,r1_1502,X_623); |
| X_640:bat[:oid,:lng] := aggr.subsum(X_639,X_185,r1_287,true,true); |
| X_755 := sql.projectdelta(X_169,X_731,X_736,r1_1865,X_739); |
| X_756:bat[:oid,:lng] := aggr.subsum(X_755,X_185,r1_287,true,true); |
| X_799 := sql.projectdelta(X_169,X_775,X_780,r1_1996,X_783); |
| X_800:bat[:oid,:lng] := aggr.subsum(X_799,X_185,r1_287,true,true); |
| X_189 := bat.append(X_146,X_188,true); |
| X_191:bat[:oid,:lng] := bat.new(nil:oid,nil:lng); |
| X_195 := bat.append(X_191,X_194,true); |
| X_197 := bat.append(X_195,X_196,true); |
| X_198:bat[:oid,:lng] := bat.new(nil:oid,nil:lng); |
| X_200 := bat.append(X_198,X_199,true); |
| X_203 := bat.append(X_200,X_202,true); |
| (X_204,r1_341,r2_341) := group.subgroup(X_203); |
| (X_207,r1_344,r2_344) := group.subgroupdone(X_197,X_204); |
| X_210:bat[:oid,:wrd] := aggr.subsum(X_189,X_207,r1_344,true,true); |
| X_259 := algebra.leftfetchjoin(r1_344,X_197); |
| X_264 := algebra.leftfetchjoin(r1_344,X_203); |
| X_281:bat[:oid,:lng] := bat.new(nil:oid,nil:lng); |
| X_306 := bat.append(X_281,X_305,true); |
| X_310 := bat.append(X_306,X_308,true); |
| X_311:bat[:oid,:lng] := aggr.subsum(X_310,X_207,r1_344,true,true); |
| X_324:bat[:oid,:lng] := bat.new(nil:oid,nil:lng); |
| X_329 := bat.append(X_324,X_328,true); |
| X_331 := bat.append(X_329,X_308,true); |
| X_332 := algebra.leftfetchjoin(r1_344,X_331); |
| X_341:bat[:oid,:lng] := bat.new(nil:oid,nil:lng); |
| X_347 := bat.append(X_341,X_346,true); |
| X_348 := bat.append(X_347,X_308,true); |
| X_349 := algebra.leftfetchjoin(r1_344,X_348); |
| X_361:bat[:oid,:lng] := bat.new(nil:oid,nil:lng); |
| X_386 := bat.append(X_361,X_385,true); |
| X_390 := bat.append(X_386,X_388,true); |
| X_391:bat[:oid,:lng] := aggr.subsum(X_390,X_207,r1_344,true,true); |
| X_404:bat[:oid,:lng] := bat.new(nil:oid,nil:lng); |
| X_429 := bat.append(X_404,X_428,true); |
| X_433 := bat.append(X_429,X_431,true); |
| X_434:bat[:oid,:lng] := aggr.subsum(X_433,X_207,r1_344,true,true); |
| X_446:bat[:oid,:lng] := bat.new(nil:oid,nil:lng); |
| X_452 := bat.append(X_446,X_451,true); |
| X_453 := bat.append(X_452,X_388,true); |
| X_454 := algebra.leftfetchjoin(r1_344,X_453); |
| X_465:bat[:oid,:lng] := bat.new(nil:oid,nil:lng); |
| X_490 := bat.append(X_465,X_489,true); |
| X_494 := bat.append(X_490,X_492,true); |
| X_495:bat[:oid,:lng] := aggr.subsum(X_494,X_207,r1_344,true,true); |
| X_508:bat[:oid,:lng] := bat.new(nil:oid,nil:lng); |
| X_533 := bat.append(X_508,X_532,true); |
| X_537 := bat.append(X_533,X_535,true); |
| X_538:bat[:oid,:lng] := aggr.subsum(X_537,X_207,r1_344,true,true); |
| X_550:bat[:oid,:lng] := bat.new(nil:oid,nil:lng); |
| X_556 := bat.append(X_550,X_555,true); |
| X_557 := bat.append(X_556,X_492,true); |
| X_558 := algebra.leftfetchjoin(r1_344,X_557); |
| X_570:bat[:oid,:lng] := bat.new(nil:oid,nil:lng); |
| X_595 := bat.append(X_570,X_594,true); |
| X_599 := bat.append(X_595,X_597,true); |
| X_600:bat[:oid,:lng] := aggr.subsum(X_599,X_207,r1_344,true,true); |
| X_613:bat[:oid,:lng] := bat.new(nil:oid,nil:lng); |
| X_638 := bat.append(X_613,X_637,true); |
| X_642 := bat.append(X_638,X_640,true); |
| X_643:bat[:oid,:lng] := aggr.subsum(X_642,X_207,r1_344,true,true); |
| X_655:bat[:oid,:lng] := bat.new(nil:oid,nil:lng); |
| X_661 := bat.append(X_655,X_660,true); |
| X_662 := bat.append(X_661,X_597,true); |
| X_663 := algebra.leftfetchjoin(r1_344,X_662); |
| X_674:bat[:oid,:lng] := bat.new(nil:oid,nil:lng); |
| X_680 := bat.append(X_674,X_679,true); |
| X_681 := bat.append(X_680,X_492,true); |
| X_682 := algebra.leftfetchjoin(r1_344,X_681); |
| X_692:bat[:oid,:lng] := bat.new(nil:oid,nil:lng); |
| X_698 := bat.append(X_692,X_697,true); |
| X_699 := bat.append(X_698,X_535,true); |
| X_700 := algebra.leftfetchjoin(r1_344,X_699); |
| X_709:bat[:oid,:lng] := bat.new(nil:oid,nil:lng); |
| X_715 := bat.append(X_709,X_714,true); |
| X_716 := bat.append(X_715,X_492,true); |
| X_717 := algebra.leftfetchjoin(r1_344,X_716); |
| X_729:bat[:oid,:lng] := bat.new(nil:oid,nil:lng); |
| X_754 := bat.append(X_729,X_753,true); |
| X_758 := bat.append(X_754,X_756,true); |
| X_759:bat[:oid,:lng] := aggr.subsum(X_758,X_207,r1_344,true,true); |
| X_773:bat[:oid,:lng] := bat.new(nil:oid,nil:lng); |
| X_798 := bat.append(X_773,X_797,true); |
| X_802 := bat.append(X_798,X_800,true); |
| X_803:bat[:oid,:lng] := aggr.subsum(X_802,X_207,r1_344,true,true); |
| X_817:bat[:oid,:lng] := bat.new(nil:oid,nil:lng); |
| X_823 := bat.append(X_817,X_822,true); |
| X_824 := bat.append(X_823,X_756,true); |
| X_825 := algebra.leftfetchjoin(r1_344,X_824); |
| X_837:bat[:oid,:lng] := bat.new(nil:oid,nil:lng); |
| X_843 := bat.append(X_837,X_842,true); |
| X_844 := bat.append(X_843,X_597,true); |
| X_845 := algebra.leftfetchjoin(r1_344,X_844); |
| X_855:bat[:oid,:lng] := bat.new(nil:oid,nil:lng); |
| X_861 := bat.append(X_855,X_860,true); |
| X_862 := bat.append(X_861,X_640,true); |
| X_863 := algebra.leftfetchjoin(r1_344,X_862); |
| X_872:bat[:oid,:lng] := bat.new(nil:oid,nil:lng); |
| X_878 := bat.append(X_872,X_877,true); |
| X_879 := bat.append(X_878,X_597,true); |
| X_880 := algebra.leftfetchjoin(r1_344,X_879); |
| X_211 := bat.append(X_36,X_210,true); |
| X_215 := sql.bind(X_35,"sys","bkpi_web_dspdelay_cisai_15min_1","gentime",0); |
| X_226 := sql.bind(X_35,"sys","bkpi_web_dspdelay_cisai_15min_1","ggsn_id",0); |
| X_212:bat[:oid,:oid] := sql.tid(X_35,"sys","bkpi_web_dspdelay_cisai_15min_1"); |
| X_980 := algebra.subselect(X_226,X_212,A30,A30,true,true,false); |
| (X_228,r1_374) := sql.bind(X_35,"sys","bkpi_web_dspdelay_cisai_15min_1","ggsn_id",2); |
| X_981 := algebra.subselect(r1_374,A30,A30,true,true,false); |
| X_230 := sql.bind(X_35,"sys","bkpi_web_dspdelay_cisai_15min_1","ggsn_id",1); |
| X_982 := algebra.subselect(X_230,X_212,A30,A30,true,true,false); |
| X_231 := sql.subdelta(X_980,X_228,X_981,X_982); |
| X_223 := calc.timestamp(A31,7); |
| X_225 := calc.timestamp(A32,7); |
| X_983 := algebra.subselect(X_215,X_231,X_223,X_225,true,true,false); |
| (X_218,r1_358) := sql.bind(X_35,"sys","bkpi_web_dspdelay_cisai_15min_1","gentime",2); |
| X_984 := algebra.subselect(r1_358,X_223,X_225,true,true,false); |
| X_221 := sql.bind(X_35,"sys","bkpi_web_dspdelay_cisai_15min_1","gentime",1); |
| X_985 := algebra.subselect(X_221,X_231,X_223,X_225,true,true,false); |
| X_234 := sql.subdelta(X_983,X_218,X_984,X_985); |
| X_235 := sql.bind(X_35,"sys","bkpi_web_dspdelay_cisai_15min_1","sgsn_id",0); |
| (X_240,r1_391) := sql.bind(X_35,"sys","bkpi_web_dspdelay_cisai_15min_1","sgsn_id",2); |
| X_243 := sql.bind(X_35,"sys","bkpi_web_dspdelay_cisai_15min_1","sgsn_id",1); |
| X_245 := sql.projectdelta(X_234,X_235,X_240,r1_391,X_243); |
| X_246 := sql.projectdelta(X_234,X_226,X_228,r1_374,X_230); |
| (X_247,r1_408,r2_408) := group.subgroup(X_246); |
| (X_250,r1_411,r2_411) := group.subgroupdone(X_245,X_247); |
| X_253:bat[:oid,:wrd] := aggr.subcount(X_250,X_250,r1_411,false); |
| X_261 := algebra.leftfetchjoin(r1_411,X_245); |
| X_267 := algebra.leftfetchjoin(r1_411,X_246); |
| X_313 := sql.projectdelta(X_234,X_297,X_299,r1_524,X_301); |
| X_314:bat[:oid,:lng] := aggr.subsum(X_313,X_250,r1_411,true,true); |
| X_393 := sql.projectdelta(X_234,X_377,X_379,r1_770,X_381); |
| X_394:bat[:oid,:lng] := aggr.subsum(X_393,X_250,r1_411,true,true); |
| X_436 := sql.projectdelta(X_234,X_420,X_422,r1_896,X_424); |
| X_437:bat[:oid,:lng] := aggr.subsum(X_436,X_250,r1_411,true,true); |
| X_497 := sql.projectdelta(X_234,X_481,X_483,r1_1082,X_485); |
| X_498:bat[:oid,:lng] := aggr.subsum(X_497,X_250,r1_411,true,true); |
| X_540 := sql.projectdelta(X_234,X_524,X_526,r1_1208,X_528); |
| X_541:bat[:oid,:lng] := aggr.subsum(X_540,X_250,r1_411,true,true); |
| X_602 := sql.projectdelta(X_234,X_586,X_588,r1_1397,X_590); |
| X_603:bat[:oid,:lng] := aggr.subsum(X_602,X_250,r1_411,true,true); |
| X_645 := sql.projectdelta(X_234,X_629,X_631,r1_1523,X_633); |
| X_646:bat[:oid,:lng] := aggr.subsum(X_645,X_250,r1_411,true,true); |
| X_761 := sql.projectdelta(X_234,X_745,X_747,r1_1886,X_749); |
| X_762:bat[:oid,:lng] := aggr.subsum(X_761,X_250,r1_411,true,true); |
| X_805 := sql.projectdelta(X_234,X_789,X_791,r1_2017,X_793); |
| X_806:bat[:oid,:lng] := aggr.subsum(X_805,X_250,r1_411,true,true); |
| X_254 := bat.append(X_211,X_253,true); |
| X_256:bat[:oid,:lng] := bat.new(nil:oid,nil:lng); |
| X_260 := bat.append(X_256,X_259,true); |
| X_262 := bat.append(X_260,X_261,true); |
| X_263:bat[:oid,:lng] := bat.new(nil:oid,nil:lng); |
| X_265 := bat.append(X_263,X_264,true); |
| X_268 := bat.append(X_265,X_267,true); |
| (X_269,r1_464,r2_464) := group.subgroup(X_268); |
| (X_272,r1_467,r2_467) := group.subgroupdone(X_262,X_269); |
| X_275:bat[:oid,:wrd] := aggr.subsum(X_254,X_272,r1_467,true,true); |
| X_276 := algebra.leftfetchjoin(r1_467,X_268); |
| X_277 := algebra.leftfetchjoin(r1_467,X_262); |
| X_278:bat[:oid,:lng] := bat.new(nil:oid,nil:lng); |
| X_312 := bat.append(X_278,X_311,true); |
| X_315 := bat.append(X_312,X_314,true); |
| X_316:bat[:oid,:lng] := aggr.subsum(X_315,X_272,r1_467,true,true); |
| X_321:bat[:oid,:lng] := bat.new(nil:oid,nil:lng); |
| X_333 := bat.append(X_321,X_332,true); |
| X_334 := bat.append(X_333,X_314,true); |
| X_335 := algebra.leftfetchjoin(r1_467,X_334); |
| X_338:bat[:oid,:lng] := bat.new(nil:oid,nil:lng); |
| X_350 := bat.append(X_338,X_349,true); |
| X_351 := bat.append(X_350,X_314,true); |
| X_352 := algebra.leftfetchjoin(r1_467,X_351); |
| X_358:bat[:oid,:lng] := bat.new(nil:oid,nil:lng); |
| X_392 := bat.append(X_358,X_391,true); |
| X_395 := bat.append(X_392,X_394,true); |
| X_396:bat[:oid,:lng] := aggr.subsum(X_395,X_272,r1_467,true,true); |
| X_401:bat[:oid,:lng] := bat.new(nil:oid,nil:lng); |
| X_435 := bat.append(X_401,X_434,true); |
| X_438 := bat.append(X_435,X_437,true); |
| X_439:bat[:oid,:lng] := aggr.subsum(X_438,X_272,r1_467,true,true); |
| X_443:bat[:oid,:lng] := bat.new(nil:oid,nil:lng); |
| X_455 := bat.append(X_443,X_454,true); |
| X_456 := bat.append(X_455,X_394,true); |
| X_457 := algebra.leftfetchjoin(r1_467,X_456); |
| X_462:bat[:oid,:lng] := bat.new(nil:oid,nil:lng); |
| X_496 := bat.append(X_462,X_495,true); |
| X_499 := bat.append(X_496,X_498,true); |
| X_500:bat[:oid,:lng] := aggr.subsum(X_499,X_272,r1_467,true,true); |
| X_505:bat[:oid,:lng] := bat.new(nil:oid,nil:lng); |
| X_539 := bat.append(X_505,X_538,true); |
| X_542 := bat.append(X_539,X_541,true); |
| X_543:bat[:oid,:lng] := aggr.subsum(X_542,X_272,r1_467,true,true); |
| X_547:bat[:oid,:lng] := bat.new(nil:oid,nil:lng); |
| X_559 := bat.append(X_547,X_558,true); |
| X_560 := bat.append(X_559,X_498,true); |
| X_561 := algebra.leftfetchjoin(r1_467,X_560); |
| X_567:bat[:oid,:lng] := bat.new(nil:oid,nil:lng); |
| X_601 := bat.append(X_567,X_600,true); |
| X_604 := bat.append(X_601,X_603,true); |
| X_605:bat[:oid,:lng] := aggr.subsum(X_604,X_272,r1_467,true,true); |
| X_610:bat[:oid,:lng] := bat.new(nil:oid,nil:lng); |
| X_644 := bat.append(X_610,X_643,true); |
| X_647 := bat.append(X_644,X_646,true); |
| X_648:bat[:oid,:lng] := aggr.subsum(X_647,X_272,r1_467,true,true); |
| X_652:bat[:oid,:lng] := bat.new(nil:oid,nil:lng); |
| X_664 := bat.append(X_652,X_663,true); |
| X_665 := bat.append(X_664,X_603,true); |
| X_666 := algebra.leftfetchjoin(r1_467,X_665); |
| X_671:bat[:oid,:lng] := bat.new(nil:oid,nil:lng); |
| X_683 := bat.append(X_671,X_682,true); |
| X_684 := bat.append(X_683,X_498,true); |
| X_685 := algebra.leftfetchjoin(r1_467,X_684); |
| X_689:bat[:oid,:lng] := bat.new(nil:oid,nil:lng); |
| X_701 := bat.append(X_689,X_700,true); |
| X_702 := bat.append(X_701,X_541,true); |
| X_703 := algebra.leftfetchjoin(r1_467,X_702); |
| X_706:bat[:oid,:lng] := bat.new(nil:oid,nil:lng); |
| X_718 := bat.append(X_706,X_717,true); |
| X_719 := bat.append(X_718,X_498,true); |
| X_720 := algebra.leftfetchjoin(r1_467,X_719); |
| X_726:bat[:oid,:lng] := bat.new(nil:oid,nil:lng); |
| X_760 := bat.append(X_726,X_759,true); |
| X_763 := bat.append(X_760,X_762,true); |
| X_764:bat[:oid,:lng] := aggr.subsum(X_763,X_272,r1_467,true,true); |
| X_770:bat[:oid,:lng] := bat.new(nil:oid,nil:lng); |
| X_804 := bat.append(X_770,X_803,true); |
| X_807 := bat.append(X_804,X_806,true); |
| X_808:bat[:oid,:lng] := aggr.subsum(X_807,X_272,r1_467,true,true); |
| X_814:bat[:oid,:lng] := bat.new(nil:oid,nil:lng); |
| X_826 := bat.append(X_814,X_825,true); |
| X_827 := bat.append(X_826,X_762,true); |
| X_828 := algebra.leftfetchjoin(r1_467,X_827); |
| X_834:bat[:oid,:lng] := bat.new(nil:oid,nil:lng); |
| X_846 := bat.append(X_834,X_845,true); |
| X_847 := bat.append(X_846,X_603,true); |
| X_848 := algebra.leftfetchjoin(r1_467,X_847); |
| X_852:bat[:oid,:lng] := bat.new(nil:oid,nil:lng); |
| X_864 := bat.append(X_852,X_863,true); |
| X_865 := bat.append(X_864,X_646,true); |
| X_866 := algebra.leftfetchjoin(r1_467,X_865); |
| X_869:bat[:oid,:lng] := bat.new(nil:oid,nil:lng); |
| X_881 := bat.append(X_869,X_880,true); |
| X_882 := bat.append(X_881,X_603,true); |
| X_883 := algebra.leftfetchjoin(r1_467,X_882); |
| X_849:bat[:oid,:bit] := batcalc.==(X_848,A19); |
| X_850:bat[:oid,:bit] := batcalc.isnil(X_849); |
| X_851:bat[:oid,:bit] := batcalc.ifthenelse(X_850,false:bit,X_849); |
| X_867 := batcalc.flt(X_866); |
| X_868:bat[:oid,:flt] := batmmath.floor(X_867); |
| X_884 := batcalc.flt(X_883); |
| X_885:bat[:oid,:flt] := batcalc.ifthenelse(X_851,1:flt,X_884); |
| X_886:bat[:oid,:flt] := batcalc./(X_868,X_885); |
| X_887:bat[:oid,:flt] := batcalc.ifthenelse(X_851,A20,X_886); |
| X_766:bat[:oid,:lng] := batcalc.*(X_764,A13); |
| X_767:bat[:oid,:bit] := batcalc.==(X_766,A14); |
| X_768:bat[:oid,:bit] := batcalc.isnil(X_767); |
| X_769:bat[:oid,:bit] := batcalc.ifthenelse(X_768,false:bit,X_767); |
| X_810:bat[:oid,:lng] := batcalc.*(X_808,A16); |
| X_811:bat[:oid,:lng] := batcalc.*(X_810,A17); |
| X_812 := batcalc.flt(X_811); |
| X_813:bat[:oid,:flt] := batmmath.floor(X_812); |
| X_829:bat[:oid,:lng] := batcalc.*(X_828,A18); |
| X_830 := batcalc.flt(X_829); |
| X_831:bat[:oid,:flt] := batcalc.ifthenelse(X_769,1:flt,X_830); |
| X_832:bat[:oid,:flt] := batcalc./(X_813,X_831); |
| X_833:bat[:oid,:flt] := batcalc.ifthenelse(X_769,A15,X_832); |
| X_686:bat[:oid,:bit] := batcalc.==(X_685,A10); |
| X_687:bat[:oid,:bit] := batcalc.isnil(X_686); |
| X_688:bat[:oid,:bit] := batcalc.ifthenelse(X_687,false:bit,X_686); |
| X_704 := batcalc.flt(X_703); |
| X_705:bat[:oid,:flt] := batmmath.floor(X_704); |
| X_721 := batcalc.flt(X_720); |
| X_722:bat[:oid,:flt] := batcalc.ifthenelse(X_688,1:flt,X_721); |
| X_723:bat[:oid,:flt] := batcalc./(X_705,X_722); |
| X_724:bat[:oid,:flt] := batcalc.*(X_723,A12); |
| X_725:bat[:oid,:flt] := batcalc.ifthenelse(X_688,A11,X_724); |
| X_607:bat[:oid,:bit] := batcalc.==(X_605,A8); |
| X_608:bat[:oid,:bit] := batcalc.isnil(X_607); |
| X_609:bat[:oid,:bit] := batcalc.ifthenelse(X_608,false:bit,X_607); |
| X_650 := batcalc.flt(X_648); |
| X_651:bat[:oid,:flt] := batmmath.floor(X_650); |
| X_667 := batcalc.flt(X_666); |
| X_668:bat[:oid,:flt] := batcalc.ifthenelse(X_609,1:flt,X_667); |
| X_669:bat[:oid,:flt] := batcalc./(X_651,X_668); |
| X_670:bat[:oid,:flt] := batcalc.ifthenelse(X_609,A9,X_669); |
| X_502:bat[:oid,:bit] := batcalc.==(X_500,A5); |
| X_503:bat[:oid,:bit] := batcalc.isnil(X_502); |
| X_504:bat[:oid,:bit] := batcalc.ifthenelse(X_503,false:bit,X_502); |
| X_545 := batcalc.flt(X_543); |
| X_546:bat[:oid,:flt] := batmmath.floor(X_545); |
| X_562 := batcalc.flt(X_561); |
| X_563:bat[:oid,:flt] := batcalc.ifthenelse(X_504,1:flt,X_562); |
| X_564:bat[:oid,:flt] := batcalc./(X_546,X_563); |
| X_565:bat[:oid,:flt] := batcalc.*(X_564,A7); |
| X_566:bat[:oid,:flt] := batcalc.ifthenelse(X_504,A6,X_565); |
| X_398:bat[:oid,:bit] := batcalc.==(X_396,A3); |
| X_399:bat[:oid,:bit] := batcalc.isnil(X_398); |
| X_400:bat[:oid,:bit] := batcalc.ifthenelse(X_399,false:bit,X_398); |
| X_441 := batcalc.flt(X_439); |
| X_442:bat[:oid,:flt] := batmmath.floor(X_441); |
| X_458 := batcalc.flt(X_457); |
| X_459:bat[:oid,:flt] := batcalc.ifthenelse(X_400,1:flt,X_458); |
| X_460:bat[:oid,:flt] := batcalc./(X_442,X_459); |
| X_461:bat[:oid,:flt] := batcalc.ifthenelse(X_400,A4,X_460); |
| X_318:bat[:oid,:bit] := batcalc.==(X_316,A0); |
| X_319:bat[:oid,:bit] := batcalc.isnil(X_318); |
| X_320:bat[:oid,:bit] := batcalc.ifthenelse(X_319,false:bit,X_318); |
| X_336 := batcalc.flt(X_335); |
| X_337:bat[:oid,:flt] := batmmath.floor(X_336); |
| X_353 := batcalc.flt(X_352); |
| X_354:bat[:oid,:flt] := batcalc.ifthenelse(X_320,1:flt,X_353); |
| X_355:bat[:oid,:flt] := batcalc./(X_337,X_354); |
| X_356:bat[:oid,:flt] := batcalc.*(X_355,A2); |
| X_357:bat[:oid,:flt] := batcalc.ifthenelse(X_320,A1,X_356); |
| X_889 := sql.resultSet(10,1,X_275); |
| sql.rsColumn(X_889,".bkpi","L1","wrd",64,0,X_275); |
| sql.rsColumn(X_889,".bkpi","ggsn_id","bigint",64,0,X_276); |
| sql.rsColumn(X_889,".bkpi","sgsn_id","bigint",64,0,X_277); |
| sql.rsColumn(X_889,".","kqidelay","real",24,0,X_357); |
| sql.rsColumn(X_889,".","dns_delay","real",24,0,X_461); |
| sql.rsColumn(X_889,".","tcpdelay","real",24,0,X_566); |
| sql.rsColumn(X_889,".","tcpgetdelay","real",24,0,X_670); |
| sql.rsColumn(X_889,".","tcp_delay_avgmsel","real",24,0,X_725); |
| sql.rsColumn(X_889,".","tcppostdelay","real",24,0,X_833); |
| sql.rsColumn(X_889,".","get_delay_msel_avg","real",24,0,X_887); |
| X_919 := io.stdout(); |
| sql.exportResult(X_919,X_889); |
| end s1_4; |
| # optimizer.mitosis() |
| # optimizer.dataflow() |
+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
616 tuples (20.058ms)
Thanks, Jason
Hi Jason,
to be able to analyze the problem, we'd need all the information to be able to reproduce it; this includes at least
- exact version of MonetDB
- operating system
- hardware, in particular #hardware threads and size of RAM
(the output of `mserver5 --version` should contain all these)
- database schema and queries
- data; or at least EXPLAIN's and TRACE's of your queries
Preferably, file a bug report with all this information.
Best,
Stefan
----- Original Message -----
> Hi guys:
> In my case , original data 8G bytes, but after plenty of
> query, the disk space usage is 361G bytes. The query is
> simply, first five UNION ALL, then fetch the result. When the
> query is running, I use vmstat to watch the IO status. When
> the database becomes larger, the BI and BO number increase
> very large too, for example bo 355224, bi 27392. And the
> query cost ten times longer than before!
> After rebooting the database, the database disk space was
> reduced to its original data size, 8G. It seems too much
> runtime data was produced. How can I solve the problem or
> avoid the problem!
>
> Thanks,Jason
******************************************************************************************
This email and its attachments contain confidential information from HUAWEI, which is intended only for the person or entity whose address is listed above. Any use of the information contained here in any way (including, but not limited to, total or partial disclosure, reproduction, or dissemination) by persons other than the intended recipient(s) is prohibited. If you receive this email in error, please notify the sender by phone or email
immediately and delete it!
*****************************************************************************************
1
0
After plenty of querys the database use 40 times more disk space than the original data, How can I avoid this?
by liyuesen 00108910 06 Jun '13
by liyuesen 00108910 06 Jun '13
06 Jun '13
Hi guys:
In my case , original data 8G bytes, but after plenty of query, the disk space usage is 361G bytes. The query is simply, first five UNION ALL, then fetch the result. When the query is running, I use vmstat to watch the IO status. When the database becomes larger, the BI and BO number increase very large too, for example bo 355224, bi 27392. And the query cost ten times longer than before!
After rebooting the database, the database disk space was reduced to its original data size, 8G. It seems too much runtime data was produced. How can I solve the problem or avoid the problem!
Thanks,Jason
******************************************************************************************
This email and its attachments contain confidential information from HUAWEI, which is intended only for the person or entity whose address is listed above. Any use of the information contained here in any way (including, but not limited to, total or partial disclosure, reproduction, or dissemination) by persons other than the intended recipient(s) is prohibited. If you receive this email in error, please notify the sender by phone or email
immediately and delete it!
*****************************************************************************************
2
1
hi all,
I am tracing the select of GDK, it's so complex, and In every type,
there is a nocheck variable, who can help me explain the nocheck variable,
what's the meaning of it? :)
--
Best Wishes!
zhanglei
2
1
In the docs about the geospatial extension, it mentions a buffer function:
CREATE FUNCTION Buffer(a Geometry, distance FLOAT) RETURNS Geometry
Does anyone know what a good value would be to use for distance if I wanted
to buffer a point, line, etc. X number of meters? Or does anyone have any
ideas for what would be a good approach for this problem - where you want
the user to be able to specify how close two things can be to one another
to be a match?
Thanks a lot,
Casey
2
2
Is there a way to use JDBC PreparedStatements to insert geospatial data?
Here's what my prepared statement looks like:
PreparedStatement statement = sqlRunner.prepareStatement(insertStatement);
statement.setString(1, id);
statement.setString(2, feature.getName());
statement.setString(3, feature.getDescription());
statement.setString(4, feature.getType().toString());
statement.setString(5, feature.getGeometry());
statement.executeUpdate();
In this case, feature.getGeometry() returns a string in WKT format.
Here's the error I get:
EXEC: wrong type for argument 5 of prepared statement: char, expected
geometry
Thoughts?
Thanks,
Casey
2
1
22 May '13
If so, does anyone have a link?
Thanks,
Casey
1
0
Re: MonetDB: default - Use normal join code for thetajoin with == op...
by Stefan Manegold 21 May '13
by Stefan Manegold 21 May '13
21 May '13
On Fri, May 17, 2013 at 11:33:39AM +0200, Sjoerd Mullender wrote:
> Changeset: f2c52e636835 for MonetDB
> URL: http://dev.monetdb.org/hg/MonetDB?cmd=changeset;node=f2c52e636835
> Modified Files:
> gdk/gdk_join.c
> Branch: default
> Log Message:
>
> Use normal join code for thetajoin with == operator.
>
>
> diffs (22 lines):
>
> diff --git a/gdk/gdk_join.c b/gdk/gdk_join.c
> --- a/gdk/gdk_join.c
> +++ b/gdk/gdk_join.c
> @@ -1720,11 +1720,17 @@ BATsubthetajoin(BAT **r1p, BAT **r2p, BA
> {
> BAT *r1, *r2;
>
> + if (op[0] == '=' && ((op[1] == '=' && op[2] == 0) || op[2] == 0))
^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ~~~~~~~~~~
Sjoerd,
given the last predicate ("~"), the second ("^") seems obsolete to me.
Should the last one rather read "op[1] == 0", i.e., both op == "==" and op
== "=" indicate an equality predicate?
Or should the last predicate be opmitted completely to accept only op = "=="
as euality predicate?
Stefan
> + return BATsubjoin(r1p, r2p, l, r, sl, sr, estimate);
> +
> *r1p = NULL;
> *r2p = NULL;
> if (joinparamcheck(l, r, sl, sr, "BATsubthetajoin") == GDK_FAIL)
> return GDK_FAIL;
> - if (joininitresults(&r1, &r2, estimate != BUN_NONE ? estimate : sl ? BATcount(sl) : BATcount(l), "BATsubthetajoin") == GDK_FAIL)
> + if (joininitresults(&r1, &r2,
> + estimate != BUN_NONE ? estimate :
> + (sl ? BATcount(sl) : BATcount(l)) * (sr ? BATcount(sr) : BATcount(r)),
> + "BATsubthetajoin") == GDK_FAIL)
> return GDK_FAIL;
> *r1p = r1;
> *r2p = r2;
> _______________________________________________
> checkin-list mailing list
> checkin-list(a)monetdb.org
> http://mail.monetdb.org/mailman/listinfo/checkin-list
--
| Stefan.Manegold(a)CWI.nl | DB Architectures (DA) |
| www.CWI.nl/~manegold | Science Park 123 (L321) |
| +31 (0)20 592-4212 | 1098 XG Amsterdam (NL) |
2
1