diff --git ql/src/java/org/apache/hadoop/hive/ql/exec/FunctionRegistry.java ql/src/java/org/apache/hadoop/hive/ql/exec/FunctionRegistry.java index 6870dfa..d3404ed 100644 --- ql/src/java/org/apache/hadoop/hive/ql/exec/FunctionRegistry.java +++ ql/src/java/org/apache/hadoop/hive/ql/exec/FunctionRegistry.java @@ -37,14 +37,6 @@ import org.apache.hadoop.hive.ql.plan.ExprNodeDesc; import org.apache.hadoop.hive.ql.plan.ExprNodeGenericFuncDesc; import org.apache.hadoop.hive.ql.session.SessionState; -import org.apache.hadoop.hive.ql.udf.UDFDateFloorDay; -import org.apache.hadoop.hive.ql.udf.UDFDateFloorHour; -import org.apache.hadoop.hive.ql.udf.UDFDateFloorMinute; -import org.apache.hadoop.hive.ql.udf.UDFDateFloorMonth; -import org.apache.hadoop.hive.ql.udf.UDFDateFloorQuarter; -import org.apache.hadoop.hive.ql.udf.UDFDateFloorSecond; -import org.apache.hadoop.hive.ql.udf.UDFDateFloorWeek; -import org.apache.hadoop.hive.ql.udf.UDFDateFloorYear; import org.apache.hadoop.hive.ql.udf.SettableUDF; import org.apache.hadoop.hive.ql.udf.UDAFPercentile; import org.apache.hadoop.hive.ql.udf.UDFAcos; @@ -57,7 +49,16 @@ import org.apache.hadoop.hive.ql.udf.UDFConv; import org.apache.hadoop.hive.ql.udf.UDFCos; import org.apache.hadoop.hive.ql.udf.UDFCrc32; +import org.apache.hadoop.hive.ql.udf.UDFDateFloorDay; +import org.apache.hadoop.hive.ql.udf.UDFDateFloorHour; +import org.apache.hadoop.hive.ql.udf.UDFDateFloorMinute; +import org.apache.hadoop.hive.ql.udf.UDFDateFloorMonth; +import org.apache.hadoop.hive.ql.udf.UDFDateFloorQuarter; +import org.apache.hadoop.hive.ql.udf.UDFDateFloorSecond; +import org.apache.hadoop.hive.ql.udf.UDFDateFloorWeek; +import org.apache.hadoop.hive.ql.udf.UDFDateFloorYear; import org.apache.hadoop.hive.ql.udf.UDFDayOfMonth; +import org.apache.hadoop.hive.ql.udf.UDFDayOfWeek; import org.apache.hadoop.hive.ql.udf.UDFDegrees; import org.apache.hadoop.hive.ql.udf.UDFE; import org.apache.hadoop.hive.ql.udf.UDFExp; @@ -283,6 +284,8 @@ system.registerUDF("day", UDFDayOfMonth.class, false); system.registerUDF("dayofmonth", UDFDayOfMonth.class, false); + system.registerUDF("weekday", UDFDayOfWeek.class, false); + system.registerUDF("dayofweek", UDFDayOfWeek.class, false); system.registerUDF("month", UDFMonth.class, false); system.registerGenericUDF("quarter", GenericUDFQuarter.class); system.registerUDF("year", UDFYear.class, false); diff --git ql/src/java/org/apache/hadoop/hive/ql/exec/vector/expressions/VectorUDFDayOfWeekDate.java ql/src/java/org/apache/hadoop/hive/ql/exec/vector/expressions/VectorUDFDayOfWeekDate.java new file mode 100644 index 0000000..bd9c480 --- /dev/null +++ ql/src/java/org/apache/hadoop/hive/ql/exec/vector/expressions/VectorUDFDayOfWeekDate.java @@ -0,0 +1,39 @@ +/** + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (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.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +package org.apache.hadoop.hive.ql.exec.vector.expressions; + +import java.util.Calendar; + +/** + * Expression to get day of week. + * Extends {@link VectorUDFTimestampFieldDate} + */ +public final class VectorUDFDayOfWeekDate extends VectorUDFTimestampFieldDate { + + private static final long serialVersionUID = 1L; + + public VectorUDFDayOfWeekDate(int colNum, int outputColumn) { + super(Calendar.DAY_OF_WEEK, colNum, outputColumn); + } + + public VectorUDFDayOfWeekDate() { + super(); + } + +} diff --git ql/src/java/org/apache/hadoop/hive/ql/exec/vector/expressions/VectorUDFDayOfWeekString.java ql/src/java/org/apache/hadoop/hive/ql/exec/vector/expressions/VectorUDFDayOfWeekString.java new file mode 100644 index 0000000..069d888 --- /dev/null +++ ql/src/java/org/apache/hadoop/hive/ql/exec/vector/expressions/VectorUDFDayOfWeekString.java @@ -0,0 +1,61 @@ +/** + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (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.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +package org.apache.hadoop.hive.ql.exec.vector.expressions; + +import java.nio.charset.CharacterCodingException; +import java.text.ParseException; +import java.text.SimpleDateFormat; +import java.util.Calendar; +import java.util.Date; + +import org.apache.hadoop.io.Text; + +/** + * Expression to get day of week. + * Extends {@link VectorUDFTimestampFieldString} + */ +public final class VectorUDFDayOfWeekString extends VectorUDFTimestampFieldString { + + private static final long serialVersionUID = 1L; + + private transient final SimpleDateFormat format = new SimpleDateFormat("yyyy-MM-dd"); + private transient final Calendar calendar = Calendar.getInstance(); + + public VectorUDFDayOfWeekString(int colNum, int outputColumn) { + super(colNum, outputColumn, -1, -1); + } + + public VectorUDFDayOfWeekString() { + super(); + } + + @Override + protected long doGetField(byte[] bytes, int start, int length) throws ParseException { + Date date = null; + try { + String decoded = Text.decode(bytes, start, length); + date = format.parse(decoded); + } catch (CharacterCodingException e) { + throw new ParseException(e.getMessage(), 0); + } + calendar.setTime(date); + return calendar.get(Calendar.DAY_OF_WEEK); + } + +} diff --git ql/src/java/org/apache/hadoop/hive/ql/exec/vector/expressions/VectorUDFDayOfWeekTimestamp.java ql/src/java/org/apache/hadoop/hive/ql/exec/vector/expressions/VectorUDFDayOfWeekTimestamp.java new file mode 100644 index 0000000..8e7c180 --- /dev/null +++ ql/src/java/org/apache/hadoop/hive/ql/exec/vector/expressions/VectorUDFDayOfWeekTimestamp.java @@ -0,0 +1,39 @@ +/** + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (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.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +package org.apache.hadoop.hive.ql.exec.vector.expressions; + +import java.util.Calendar; + +/** + * Expression to get day of week. + * Extends {@link VectorUDFTimestampFieldTimestamp} + */ +public final class VectorUDFDayOfWeekTimestamp extends VectorUDFTimestampFieldTimestamp { + + private static final long serialVersionUID = 1L; + + public VectorUDFDayOfWeekTimestamp(int colNum, int outputColumn) { + super(Calendar.DAY_OF_WEEK, colNum, outputColumn); + } + + public VectorUDFDayOfWeekTimestamp() { + super(); + } + +} diff --git ql/src/java/org/apache/hadoop/hive/ql/optimizer/physical/Vectorizer.java ql/src/java/org/apache/hadoop/hive/ql/optimizer/physical/Vectorizer.java index 46bdba6..3a179a3 100644 --- ql/src/java/org/apache/hadoop/hive/ql/optimizer/physical/Vectorizer.java +++ ql/src/java/org/apache/hadoop/hive/ql/optimizer/physical/Vectorizer.java @@ -129,6 +129,7 @@ import org.apache.hadoop.hive.ql.udf.UDFConv; import org.apache.hadoop.hive.ql.udf.UDFCos; import org.apache.hadoop.hive.ql.udf.UDFDayOfMonth; +import org.apache.hadoop.hive.ql.udf.UDFDayOfWeek; import org.apache.hadoop.hive.ql.udf.UDFDegrees; import org.apache.hadoop.hive.ql.udf.UDFExp; import org.apache.hadoop.hive.ql.udf.UDFFromUnixTime; @@ -265,6 +266,7 @@ public Vectorizer() { supportedGenericUDFs.add(UDFYear.class); supportedGenericUDFs.add(UDFMonth.class); supportedGenericUDFs.add(UDFDayOfMonth.class); + supportedGenericUDFs.add(UDFDayOfWeek.class); supportedGenericUDFs.add(UDFHour.class); supportedGenericUDFs.add(UDFMinute.class); supportedGenericUDFs.add(UDFSecond.class); diff --git ql/src/java/org/apache/hadoop/hive/ql/parse/HiveLexer.g ql/src/java/org/apache/hadoop/hive/ql/parse/HiveLexer.g index b623187..a76ea23 100644 --- ql/src/java/org/apache/hadoop/hive/ql/parse/HiveLexer.g +++ ql/src/java/org/apache/hadoop/hive/ql/parse/HiveLexer.g @@ -306,6 +306,7 @@ KW_QUARTER: 'QUARTER'; KW_MONTH: 'MONTH'; KW_WEEK: 'WEEK'; KW_DAY: 'DAY'; +KW_DOW: 'DOW'; KW_HOUR: 'HOUR'; KW_MINUTE: 'MINUTE'; KW_SECOND: 'SECOND'; diff --git ql/src/java/org/apache/hadoop/hive/ql/parse/IdentifiersParser.g ql/src/java/org/apache/hadoop/hive/ql/parse/IdentifiersParser.g index 04f87b8..0e37cce 100644 --- ql/src/java/org/apache/hadoop/hive/ql/parse/IdentifiersParser.g +++ ql/src/java/org/apache/hadoop/hive/ql/parse/IdentifiersParser.g @@ -282,6 +282,7 @@ timeQualifiers | KW_MONTH -> Identifier["month"] | KW_WEEK -> Identifier["weekofyear"] | KW_DAY -> Identifier["day"] + | KW_DOW -> Identifier["weekday"] | KW_HOUR -> Identifier["hour"] | KW_MINUTE -> Identifier["minute"] | KW_SECOND -> Identifier["second"] @@ -696,7 +697,7 @@ nonReserved | KW_CASCADE | KW_CHANGE | KW_CLUSTER | KW_CLUSTERED | KW_CLUSTERSTATUS | KW_COLLECTION | KW_COLUMNS | KW_COMMENT | KW_COMPACT | KW_COMPACTIONS | KW_COMPUTE | KW_CONCATENATE | KW_CONTINUE | KW_DATA | KW_DAY | KW_DATABASES | KW_DATETIME | KW_DBPROPERTIES | KW_DEFERRED | KW_DEFINED | KW_DELIMITED | KW_DEPENDENCY - | KW_DESC | KW_DIRECTORIES | KW_DIRECTORY | KW_DISABLE | KW_DISTRIBUTE | KW_ELEM_TYPE + | KW_DESC | KW_DIRECTORIES | KW_DIRECTORY | KW_DISABLE | KW_DISTRIBUTE | KW_DOW | KW_ELEM_TYPE | KW_ENABLE | KW_ESCAPED | KW_EXCLUSIVE | KW_EXPLAIN | KW_EXPORT | KW_FIELDS | KW_FILE | KW_FILEFORMAT | KW_FIRST | KW_FORMAT | KW_FORMATTED | KW_FUNCTIONS | KW_HOLD_DDLTIME | KW_HOUR | KW_IDXPROPERTIES | KW_IGNORE | KW_INDEX | KW_INDEXES | KW_INPATH | KW_INPUTDRIVER | KW_INPUTFORMAT | KW_ITEMS | KW_JAR diff --git ql/src/java/org/apache/hadoop/hive/ql/udf/UDFDayOfWeek.java ql/src/java/org/apache/hadoop/hive/ql/udf/UDFDayOfWeek.java new file mode 100644 index 0000000..c53f2f8 --- /dev/null +++ ql/src/java/org/apache/hadoop/hive/ql/udf/UDFDayOfWeek.java @@ -0,0 +1,105 @@ +/** + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (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.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +package org.apache.hadoop.hive.ql.udf; + +import java.text.ParseException; +import java.text.SimpleDateFormat; +import java.util.Calendar; +import java.util.Date; + +import org.apache.hadoop.hive.ql.exec.Description; +import org.apache.hadoop.hive.ql.exec.UDF; +import org.apache.hadoop.hive.ql.exec.vector.VectorizedExpressions; +import org.apache.hadoop.hive.ql.exec.vector.expressions.VectorUDFDayOfWeekDate; +import org.apache.hadoop.hive.ql.exec.vector.expressions.VectorUDFDayOfWeekString; +import org.apache.hadoop.hive.ql.exec.vector.expressions.VectorUDFDayOfWeekTimestamp; +import org.apache.hadoop.hive.ql.udf.generic.NDV; +import org.apache.hadoop.hive.serde2.io.DateWritable; +import org.apache.hadoop.hive.serde2.io.TimestampWritable; +import org.apache.hadoop.io.IntWritable; +import org.apache.hadoop.io.Text; + +/** + * UDFDayOfWeek. + * + */ +@Description(name = "weekday,dayofweek", + value = "_FUNC_(param) - Returns the day of the week of date/timestamp " + + "(1 = Sunday, 2 = Monday, ..., 7 = Saturday)", + extended = "param can be one of:\n" + + "1. A string in the format of 'yyyy-MM-dd HH:mm:ss' or 'yyyy-MM-dd'.\n" + + "2. A date value\n" + + "3. A timestamp value" + + "Example:\n " + + " > SELECT _FUNC_('2009-07-30') FROM src LIMIT 1;\n" + " 5") +@VectorizedExpressions({VectorUDFDayOfWeekDate.class, VectorUDFDayOfWeekString.class, VectorUDFDayOfWeekTimestamp.class}) +@NDV(maxNdv = 7) +public class UDFDayOfWeek extends UDF { + private final SimpleDateFormat formatter = new SimpleDateFormat("yyyy-MM-dd"); + private final Calendar calendar = Calendar.getInstance(); + + private final IntWritable result = new IntWritable(); + + public UDFDayOfWeek() { + } + + /** + * Get the day of week from a date string. + * + * @param dateString + * the dateString in the format of "yyyy-MM-dd HH:mm:ss" or + * "yyyy-MM-dd". + * @return an int from 1 to 7. null if the dateString is not a valid date + * string. + */ + public IntWritable evaluate(Text dateString) { + if (dateString == null) { + return null; + } + try { + Date date = formatter.parse(dateString.toString()); + calendar.setTime(date); + result.set(calendar.get(Calendar.DAY_OF_WEEK)); + return result; + } catch (ParseException e) { + return null; + } + } + + public IntWritable evaluate(DateWritable d) { + if (d == null) { + return null; + } + + calendar.setTime(d.get(false)); // Time doesn't matter. + result.set(calendar.get(Calendar.DAY_OF_WEEK)); + return result; + } + + public IntWritable evaluate(TimestampWritable t) { + if (t == null) { + return null; + } + + calendar.setTime(t.getTimestamp()); + result.set(calendar.get(Calendar.DAY_OF_WEEK)); + return result; + } + +} diff --git ql/src/test/queries/clientpositive/extract.q ql/src/test/queries/clientpositive/extract.q index c09574b..c78ed67 100644 --- ql/src/test/queries/clientpositive/extract.q +++ ql/src/test/queries/clientpositive/extract.q @@ -30,6 +30,9 @@ from extract_udf; select extract(hour from t) from extract_udf; +select extract(dow from t) +from extract_udf; + select extract(week from t) from extract_udf; diff --git ql/src/test/queries/clientpositive/vectorized_date_funcs.q ql/src/test/queries/clientpositive/vectorized_date_funcs.q index 59df32a..64d09ed 100644 --- ql/src/test/queries/clientpositive/vectorized_date_funcs.q +++ ql/src/test/queries/clientpositive/vectorized_date_funcs.q @@ -30,6 +30,8 @@ EXPLAIN SELECT month(fl_time), day(fl_time), dayofmonth(fl_time), + weekday(fl_time), + dayofweek(fl_time), weekofyear(fl_time), date(fl_time), to_date(fl_time), @@ -44,6 +46,8 @@ SELECT month(fl_time), day(fl_time), dayofmonth(fl_time), + weekday(fl_time), + dayofweek(fl_time), weekofyear(fl_time), date(fl_time), to_date(fl_time), @@ -58,6 +62,8 @@ EXPLAIN SELECT month(fl_date), day(fl_date), dayofmonth(fl_date), + weekday(fl_date), + dayofweek(fl_date), weekofyear(fl_date), date(fl_date), to_date(fl_date), @@ -72,6 +78,8 @@ SELECT month(fl_date), day(fl_date), dayofmonth(fl_date), + weekday(fl_date), + dayofweek(fl_date), weekofyear(fl_date), date(fl_date), to_date(fl_date), @@ -85,6 +93,8 @@ EXPLAIN SELECT month(fl_time) = month(fl_date), day(fl_time) = day(fl_date), dayofmonth(fl_time) = dayofmonth(fl_date), + weekday(fl_time) = weekday(fl_date), + dayofweek(fl_time) = dayofweek(fl_date), weekofyear(fl_time) = weekofyear(fl_date), date(fl_time) = date(fl_date), to_date(fl_time) = to_date(fl_date), @@ -99,6 +109,8 @@ SELECT month(fl_time) = month(fl_date), day(fl_time) = day(fl_date), dayofmonth(fl_time) = dayofmonth(fl_date), + weekday(fl_time) = weekday(fl_date), + dayofweek(fl_time) = dayofweek(fl_date), weekofyear(fl_time) = weekofyear(fl_date), date(fl_time) = date(fl_date), to_date(fl_time) = to_date(fl_date), @@ -142,4 +154,4 @@ SELECT count(fl_date), count(*) FROM date_udf_flight_orc -ORDER BY c1; \ No newline at end of file +ORDER BY c1; diff --git ql/src/test/results/clientpositive/extract.q.out ql/src/test/results/clientpositive/extract.q.out index 73c9bc6..0dd1d74 100644 --- ql/src/test/results/clientpositive/extract.q.out +++ ql/src/test/results/clientpositive/extract.q.out @@ -154,6 +154,17 @@ POSTHOOK: type: QUERY POSTHOOK: Input: default@extract_udf #### A masked pattern was here #### 7 +PREHOOK: query: select extract(dow from t) +from extract_udf +PREHOOK: type: QUERY +PREHOOK: Input: default@extract_udf +#### A masked pattern was here #### +POSTHOOK: query: select extract(dow from t) +from extract_udf +POSTHOOK: type: QUERY +POSTHOOK: Input: default@extract_udf +#### A masked pattern was here #### +6 PREHOOK: query: select extract(week from t) from extract_udf PREHOOK: type: QUERY diff --git ql/src/test/results/clientpositive/vectorized_date_funcs.q.out ql/src/test/results/clientpositive/vectorized_date_funcs.q.out index 299d3bc..064cf59 100644 --- ql/src/test/results/clientpositive/vectorized_date_funcs.q.out +++ ql/src/test/results/clientpositive/vectorized_date_funcs.q.out @@ -209,6 +209,8 @@ PREHOOK: query: EXPLAIN SELECT month(fl_time), day(fl_time), dayofmonth(fl_time), + weekday(fl_time), + dayofweek(fl_time), weekofyear(fl_time), date(fl_time), to_date(fl_time), @@ -223,6 +225,8 @@ POSTHOOK: query: EXPLAIN SELECT month(fl_time), day(fl_time), dayofmonth(fl_time), + weekday(fl_time), + dayofweek(fl_time), weekofyear(fl_time), date(fl_time), to_date(fl_time), @@ -243,8 +247,8 @@ STAGE PLANS: alias: date_udf_flight_orc Statistics: Num rows: 137 Data size: 13152 Basic stats: COMPLETE Column stats: NONE Select Operator - expressions: to_unix_timestamp(fl_time) (type: bigint), year(fl_time) (type: int), month(fl_time) (type: int), day(fl_time) (type: int), dayofmonth(fl_time) (type: int), weekofyear(fl_time) (type: int), CAST( fl_time AS DATE) (type: date), to_date(fl_time) (type: date), date_add(fl_time, 2) (type: date), date_sub(fl_time, 2) (type: date), datediff(fl_time, '2000-01-01') (type: int) - outputColumnNames: _col0, _col1, _col2, _col3, _col4, _col5, _col6, _col7, _col8, _col9, _col10 + expressions: to_unix_timestamp(fl_time) (type: bigint), year(fl_time) (type: int), month(fl_time) (type: int), day(fl_time) (type: int), dayofmonth(fl_time) (type: int), weekday(fl_time) (type: int), dayofweek(fl_time) (type: int), weekofyear(fl_time) (type: int), CAST( fl_time AS DATE) (type: date), to_date(fl_time) (type: date), date_add(fl_time, 2) (type: date), date_sub(fl_time, 2) (type: date), datediff(fl_time, '2000-01-01') (type: int) + outputColumnNames: _col0, _col1, _col2, _col3, _col4, _col5, _col6, _col7, _col8, _col9, _col10, _col11, _col12 Statistics: Num rows: 137 Data size: 13152 Basic stats: COMPLETE Column stats: NONE File Output Operator compressed: false @@ -267,6 +271,8 @@ PREHOOK: query: SELECT month(fl_time), day(fl_time), dayofmonth(fl_time), + weekday(fl_time), + dayofweek(fl_time), weekofyear(fl_time), date(fl_time), to_date(fl_time), @@ -283,6 +289,8 @@ POSTHOOK: query: SELECT month(fl_time), day(fl_time), dayofmonth(fl_time), + weekday(fl_time), + dayofweek(fl_time), weekofyear(fl_time), date(fl_time), to_date(fl_time), @@ -293,149 +301,151 @@ FROM date_udf_flight_orc POSTHOOK: type: QUERY POSTHOOK: Input: default@date_udf_flight_orc #### A masked pattern was here #### -1287583200 2010 10 20 20 42 2010-10-20 2010-10-20 2010-10-22 2010-10-18 3945 -1287583200 2010 10 20 20 42 2010-10-20 2010-10-20 2010-10-22 2010-10-18 3945 -1287583200 2010 10 20 20 42 2010-10-20 2010-10-20 2010-10-22 2010-10-18 3945 -1287583200 2010 10 20 20 42 2010-10-20 2010-10-20 2010-10-22 2010-10-18 3945 -1287583200 2010 10 20 20 42 2010-10-20 2010-10-20 2010-10-22 2010-10-18 3945 -1287583200 2010 10 20 20 42 2010-10-20 2010-10-20 2010-10-22 2010-10-18 3945 -1287583200 2010 10 20 20 42 2010-10-20 2010-10-20 2010-10-22 2010-10-18 3945 -1287583200 2010 10 20 20 42 2010-10-20 2010-10-20 2010-10-22 2010-10-18 3945 -1287583200 2010 10 20 20 42 2010-10-20 2010-10-20 2010-10-22 2010-10-18 3945 -1287583200 2010 10 20 20 42 2010-10-20 2010-10-20 2010-10-22 2010-10-18 3945 -1287583200 2010 10 20 20 42 2010-10-20 2010-10-20 2010-10-22 2010-10-18 3945 -1287669600 2010 10 21 21 42 2010-10-21 2010-10-21 2010-10-23 2010-10-19 3946 -1287669600 2010 10 21 21 42 2010-10-21 2010-10-21 2010-10-23 2010-10-19 3946 -1287669600 2010 10 21 21 42 2010-10-21 2010-10-21 2010-10-23 2010-10-19 3946 -1287669600 2010 10 21 21 42 2010-10-21 2010-10-21 2010-10-23 2010-10-19 3946 -1287669600 2010 10 21 21 42 2010-10-21 2010-10-21 2010-10-23 2010-10-19 3946 -1287669600 2010 10 21 21 42 2010-10-21 2010-10-21 2010-10-23 2010-10-19 3946 -1287669600 2010 10 21 21 42 2010-10-21 2010-10-21 2010-10-23 2010-10-19 3946 -1287669600 2010 10 21 21 42 2010-10-21 2010-10-21 2010-10-23 2010-10-19 3946 -1287669600 2010 10 21 21 42 2010-10-21 2010-10-21 2010-10-23 2010-10-19 3946 -1287669600 2010 10 21 21 42 2010-10-21 2010-10-21 2010-10-23 2010-10-19 3946 -1287669600 2010 10 21 21 42 2010-10-21 2010-10-21 2010-10-23 2010-10-19 3946 -1287669600 2010 10 21 21 42 2010-10-21 2010-10-21 2010-10-23 2010-10-19 3946 -1287756000 2010 10 22 22 42 2010-10-22 2010-10-22 2010-10-24 2010-10-20 3947 -1287756000 2010 10 22 22 42 2010-10-22 2010-10-22 2010-10-24 2010-10-20 3947 -1287756000 2010 10 22 22 42 2010-10-22 2010-10-22 2010-10-24 2010-10-20 3947 -1287756000 2010 10 22 22 42 2010-10-22 2010-10-22 2010-10-24 2010-10-20 3947 -1287756000 2010 10 22 22 42 2010-10-22 2010-10-22 2010-10-24 2010-10-20 3947 -1287756000 2010 10 22 22 42 2010-10-22 2010-10-22 2010-10-24 2010-10-20 3947 -1287756000 2010 10 22 22 42 2010-10-22 2010-10-22 2010-10-24 2010-10-20 3947 -1287756000 2010 10 22 22 42 2010-10-22 2010-10-22 2010-10-24 2010-10-20 3947 -1287756000 2010 10 22 22 42 2010-10-22 2010-10-22 2010-10-24 2010-10-20 3947 -1287756000 2010 10 22 22 42 2010-10-22 2010-10-22 2010-10-24 2010-10-20 3947 -1287756000 2010 10 22 22 42 2010-10-22 2010-10-22 2010-10-24 2010-10-20 3947 -1287842400 2010 10 23 23 42 2010-10-23 2010-10-23 2010-10-25 2010-10-21 3948 -1287842400 2010 10 23 23 42 2010-10-23 2010-10-23 2010-10-25 2010-10-21 3948 -1287842400 2010 10 23 23 42 2010-10-23 2010-10-23 2010-10-25 2010-10-21 3948 -1287842400 2010 10 23 23 42 2010-10-23 2010-10-23 2010-10-25 2010-10-21 3948 -1287842400 2010 10 23 23 42 2010-10-23 2010-10-23 2010-10-25 2010-10-21 3948 -1287842400 2010 10 23 23 42 2010-10-23 2010-10-23 2010-10-25 2010-10-21 3948 -1287842400 2010 10 23 23 42 2010-10-23 2010-10-23 2010-10-25 2010-10-21 3948 -1287842400 2010 10 23 23 42 2010-10-23 2010-10-23 2010-10-25 2010-10-21 3948 -1287842400 2010 10 23 23 42 2010-10-23 2010-10-23 2010-10-25 2010-10-21 3948 -1287842400 2010 10 23 23 42 2010-10-23 2010-10-23 2010-10-25 2010-10-21 3948 -1287842400 2010 10 23 23 42 2010-10-23 2010-10-23 2010-10-25 2010-10-21 3948 -1287842400 2010 10 23 23 42 2010-10-23 2010-10-23 2010-10-25 2010-10-21 3948 -1287928800 2010 10 24 24 42 2010-10-24 2010-10-24 2010-10-26 2010-10-22 3949 -1287928800 2010 10 24 24 42 2010-10-24 2010-10-24 2010-10-26 2010-10-22 3949 -1287928800 2010 10 24 24 42 2010-10-24 2010-10-24 2010-10-26 2010-10-22 3949 -1287928800 2010 10 24 24 42 2010-10-24 2010-10-24 2010-10-26 2010-10-22 3949 -1287928800 2010 10 24 24 42 2010-10-24 2010-10-24 2010-10-26 2010-10-22 3949 -1287928800 2010 10 24 24 42 2010-10-24 2010-10-24 2010-10-26 2010-10-22 3949 -1287928800 2010 10 24 24 42 2010-10-24 2010-10-24 2010-10-26 2010-10-22 3949 -1287928800 2010 10 24 24 42 2010-10-24 2010-10-24 2010-10-26 2010-10-22 3949 -1287928800 2010 10 24 24 42 2010-10-24 2010-10-24 2010-10-26 2010-10-22 3949 -1287928800 2010 10 24 24 42 2010-10-24 2010-10-24 2010-10-26 2010-10-22 3949 -1287928800 2010 10 24 24 42 2010-10-24 2010-10-24 2010-10-26 2010-10-22 3949 -1287928800 2010 10 24 24 42 2010-10-24 2010-10-24 2010-10-26 2010-10-22 3949 -1288015200 2010 10 25 25 43 2010-10-25 2010-10-25 2010-10-27 2010-10-23 3950 -1288015200 2010 10 25 25 43 2010-10-25 2010-10-25 2010-10-27 2010-10-23 3950 -1288015200 2010 10 25 25 43 2010-10-25 2010-10-25 2010-10-27 2010-10-23 3950 -1288015200 2010 10 25 25 43 2010-10-25 2010-10-25 2010-10-27 2010-10-23 3950 -1288015200 2010 10 25 25 43 2010-10-25 2010-10-25 2010-10-27 2010-10-23 3950 -1288015200 2010 10 25 25 43 2010-10-25 2010-10-25 2010-10-27 2010-10-23 3950 -1288015200 2010 10 25 25 43 2010-10-25 2010-10-25 2010-10-27 2010-10-23 3950 -1288015200 2010 10 25 25 43 2010-10-25 2010-10-25 2010-10-27 2010-10-23 3950 -1288015200 2010 10 25 25 43 2010-10-25 2010-10-25 2010-10-27 2010-10-23 3950 -1288015200 2010 10 25 25 43 2010-10-25 2010-10-25 2010-10-27 2010-10-23 3950 -1288015200 2010 10 25 25 43 2010-10-25 2010-10-25 2010-10-27 2010-10-23 3950 -1288015200 2010 10 25 25 43 2010-10-25 2010-10-25 2010-10-27 2010-10-23 3950 -1288101600 2010 10 26 26 43 2010-10-26 2010-10-26 2010-10-28 2010-10-24 3951 -1288101600 2010 10 26 26 43 2010-10-26 2010-10-26 2010-10-28 2010-10-24 3951 -1288101600 2010 10 26 26 43 2010-10-26 2010-10-26 2010-10-28 2010-10-24 3951 -1288101600 2010 10 26 26 43 2010-10-26 2010-10-26 2010-10-28 2010-10-24 3951 -1288101600 2010 10 26 26 43 2010-10-26 2010-10-26 2010-10-28 2010-10-24 3951 -1288101600 2010 10 26 26 43 2010-10-26 2010-10-26 2010-10-28 2010-10-24 3951 -1288101600 2010 10 26 26 43 2010-10-26 2010-10-26 2010-10-28 2010-10-24 3951 -1288101600 2010 10 26 26 43 2010-10-26 2010-10-26 2010-10-28 2010-10-24 3951 -1288101600 2010 10 26 26 43 2010-10-26 2010-10-26 2010-10-28 2010-10-24 3951 -1288101600 2010 10 26 26 43 2010-10-26 2010-10-26 2010-10-28 2010-10-24 3951 -1288101600 2010 10 26 26 43 2010-10-26 2010-10-26 2010-10-28 2010-10-24 3951 -1288101600 2010 10 26 26 43 2010-10-26 2010-10-26 2010-10-28 2010-10-24 3951 -1288101600 2010 10 26 26 43 2010-10-26 2010-10-26 2010-10-28 2010-10-24 3951 -1288188000 2010 10 27 27 43 2010-10-27 2010-10-27 2010-10-29 2010-10-25 3952 -1288188000 2010 10 27 27 43 2010-10-27 2010-10-27 2010-10-29 2010-10-25 3952 -1288188000 2010 10 27 27 43 2010-10-27 2010-10-27 2010-10-29 2010-10-25 3952 -1288188000 2010 10 27 27 43 2010-10-27 2010-10-27 2010-10-29 2010-10-25 3952 -1288188000 2010 10 27 27 43 2010-10-27 2010-10-27 2010-10-29 2010-10-25 3952 -1288188000 2010 10 27 27 43 2010-10-27 2010-10-27 2010-10-29 2010-10-25 3952 -1288188000 2010 10 27 27 43 2010-10-27 2010-10-27 2010-10-29 2010-10-25 3952 -1288188000 2010 10 27 27 43 2010-10-27 2010-10-27 2010-10-29 2010-10-25 3952 -1288188000 2010 10 27 27 43 2010-10-27 2010-10-27 2010-10-29 2010-10-25 3952 -1288188000 2010 10 27 27 43 2010-10-27 2010-10-27 2010-10-29 2010-10-25 3952 -1288188000 2010 10 27 27 43 2010-10-27 2010-10-27 2010-10-29 2010-10-25 3952 -1288274400 2010 10 28 28 43 2010-10-28 2010-10-28 2010-10-30 2010-10-26 3953 -1288274400 2010 10 28 28 43 2010-10-28 2010-10-28 2010-10-30 2010-10-26 3953 -1288274400 2010 10 28 28 43 2010-10-28 2010-10-28 2010-10-30 2010-10-26 3953 -1288274400 2010 10 28 28 43 2010-10-28 2010-10-28 2010-10-30 2010-10-26 3953 -1288274400 2010 10 28 28 43 2010-10-28 2010-10-28 2010-10-30 2010-10-26 3953 -1288274400 2010 10 28 28 43 2010-10-28 2010-10-28 2010-10-30 2010-10-26 3953 -1288274400 2010 10 28 28 43 2010-10-28 2010-10-28 2010-10-30 2010-10-26 3953 -1288274400 2010 10 28 28 43 2010-10-28 2010-10-28 2010-10-30 2010-10-26 3953 -1288274400 2010 10 28 28 43 2010-10-28 2010-10-28 2010-10-30 2010-10-26 3953 -1288274400 2010 10 28 28 43 2010-10-28 2010-10-28 2010-10-30 2010-10-26 3953 -1288274400 2010 10 28 28 43 2010-10-28 2010-10-28 2010-10-30 2010-10-26 3953 -1288274400 2010 10 28 28 43 2010-10-28 2010-10-28 2010-10-30 2010-10-26 3953 -1288360800 2010 10 29 29 43 2010-10-29 2010-10-29 2010-10-31 2010-10-27 3954 -1288360800 2010 10 29 29 43 2010-10-29 2010-10-29 2010-10-31 2010-10-27 3954 -1288360800 2010 10 29 29 43 2010-10-29 2010-10-29 2010-10-31 2010-10-27 3954 -1288360800 2010 10 29 29 43 2010-10-29 2010-10-29 2010-10-31 2010-10-27 3954 -1288360800 2010 10 29 29 43 2010-10-29 2010-10-29 2010-10-31 2010-10-27 3954 -1288360800 2010 10 29 29 43 2010-10-29 2010-10-29 2010-10-31 2010-10-27 3954 -1288360800 2010 10 29 29 43 2010-10-29 2010-10-29 2010-10-31 2010-10-27 3954 -1288360800 2010 10 29 29 43 2010-10-29 2010-10-29 2010-10-31 2010-10-27 3954 -1288360800 2010 10 29 29 43 2010-10-29 2010-10-29 2010-10-31 2010-10-27 3954 -1288360800 2010 10 29 29 43 2010-10-29 2010-10-29 2010-10-31 2010-10-27 3954 -1288360800 2010 10 29 29 43 2010-10-29 2010-10-29 2010-10-31 2010-10-27 3954 -1288360800 2010 10 29 29 43 2010-10-29 2010-10-29 2010-10-31 2010-10-27 3954 -1288447200 2010 10 30 30 43 2010-10-30 2010-10-30 2010-11-01 2010-10-28 3955 -1288447200 2010 10 30 30 43 2010-10-30 2010-10-30 2010-11-01 2010-10-28 3955 -1288447200 2010 10 30 30 43 2010-10-30 2010-10-30 2010-11-01 2010-10-28 3955 -1288447200 2010 10 30 30 43 2010-10-30 2010-10-30 2010-11-01 2010-10-28 3955 -1288447200 2010 10 30 30 43 2010-10-30 2010-10-30 2010-11-01 2010-10-28 3955 -1288447200 2010 10 30 30 43 2010-10-30 2010-10-30 2010-11-01 2010-10-28 3955 -1288447200 2010 10 30 30 43 2010-10-30 2010-10-30 2010-11-01 2010-10-28 3955 -1288447200 2010 10 30 30 43 2010-10-30 2010-10-30 2010-11-01 2010-10-28 3955 -1288447200 2010 10 30 30 43 2010-10-30 2010-10-30 2010-11-01 2010-10-28 3955 -1288447200 2010 10 30 30 43 2010-10-30 2010-10-30 2010-11-01 2010-10-28 3955 -1288447200 2010 10 30 30 43 2010-10-30 2010-10-30 2010-11-01 2010-10-28 3955 -1288533600 2010 10 31 31 43 2010-10-31 2010-10-31 2010-11-02 2010-10-29 3956 -1288533600 2010 10 31 31 43 2010-10-31 2010-10-31 2010-11-02 2010-10-29 3956 -1288533600 2010 10 31 31 43 2010-10-31 2010-10-31 2010-11-02 2010-10-29 3956 -1288533600 2010 10 31 31 43 2010-10-31 2010-10-31 2010-11-02 2010-10-29 3956 -1288533600 2010 10 31 31 43 2010-10-31 2010-10-31 2010-11-02 2010-10-29 3956 -1288533600 2010 10 31 31 43 2010-10-31 2010-10-31 2010-11-02 2010-10-29 3956 -1288533600 2010 10 31 31 43 2010-10-31 2010-10-31 2010-11-02 2010-10-29 3956 -1288533600 2010 10 31 31 43 2010-10-31 2010-10-31 2010-11-02 2010-10-29 3956 +1287583200 2010 10 20 20 4 4 42 2010-10-20 2010-10-20 2010-10-22 2010-10-18 3945 +1287583200 2010 10 20 20 4 4 42 2010-10-20 2010-10-20 2010-10-22 2010-10-18 3945 +1287583200 2010 10 20 20 4 4 42 2010-10-20 2010-10-20 2010-10-22 2010-10-18 3945 +1287583200 2010 10 20 20 4 4 42 2010-10-20 2010-10-20 2010-10-22 2010-10-18 3945 +1287583200 2010 10 20 20 4 4 42 2010-10-20 2010-10-20 2010-10-22 2010-10-18 3945 +1287583200 2010 10 20 20 4 4 42 2010-10-20 2010-10-20 2010-10-22 2010-10-18 3945 +1287583200 2010 10 20 20 4 4 42 2010-10-20 2010-10-20 2010-10-22 2010-10-18 3945 +1287583200 2010 10 20 20 4 4 42 2010-10-20 2010-10-20 2010-10-22 2010-10-18 3945 +1287583200 2010 10 20 20 4 4 42 2010-10-20 2010-10-20 2010-10-22 2010-10-18 3945 +1287583200 2010 10 20 20 4 4 42 2010-10-20 2010-10-20 2010-10-22 2010-10-18 3945 +1287583200 2010 10 20 20 4 4 42 2010-10-20 2010-10-20 2010-10-22 2010-10-18 3945 +1287669600 2010 10 21 21 5 5 42 2010-10-21 2010-10-21 2010-10-23 2010-10-19 3946 +1287669600 2010 10 21 21 5 5 42 2010-10-21 2010-10-21 2010-10-23 2010-10-19 3946 +1287669600 2010 10 21 21 5 5 42 2010-10-21 2010-10-21 2010-10-23 2010-10-19 3946 +1287669600 2010 10 21 21 5 5 42 2010-10-21 2010-10-21 2010-10-23 2010-10-19 3946 +1287669600 2010 10 21 21 5 5 42 2010-10-21 2010-10-21 2010-10-23 2010-10-19 3946 +1287669600 2010 10 21 21 5 5 42 2010-10-21 2010-10-21 2010-10-23 2010-10-19 3946 +1287669600 2010 10 21 21 5 5 42 2010-10-21 2010-10-21 2010-10-23 2010-10-19 3946 +1287669600 2010 10 21 21 5 5 42 2010-10-21 2010-10-21 2010-10-23 2010-10-19 3946 +1287669600 2010 10 21 21 5 5 42 2010-10-21 2010-10-21 2010-10-23 2010-10-19 3946 +1287669600 2010 10 21 21 5 5 42 2010-10-21 2010-10-21 2010-10-23 2010-10-19 3946 +1287669600 2010 10 21 21 5 5 42 2010-10-21 2010-10-21 2010-10-23 2010-10-19 3946 +1287669600 2010 10 21 21 5 5 42 2010-10-21 2010-10-21 2010-10-23 2010-10-19 3946 +1287756000 2010 10 22 22 6 6 42 2010-10-22 2010-10-22 2010-10-24 2010-10-20 3947 +1287756000 2010 10 22 22 6 6 42 2010-10-22 2010-10-22 2010-10-24 2010-10-20 3947 +1287756000 2010 10 22 22 6 6 42 2010-10-22 2010-10-22 2010-10-24 2010-10-20 3947 +1287756000 2010 10 22 22 6 6 42 2010-10-22 2010-10-22 2010-10-24 2010-10-20 3947 +1287756000 2010 10 22 22 6 6 42 2010-10-22 2010-10-22 2010-10-24 2010-10-20 3947 +1287756000 2010 10 22 22 6 6 42 2010-10-22 2010-10-22 2010-10-24 2010-10-20 3947 +1287756000 2010 10 22 22 6 6 42 2010-10-22 2010-10-22 2010-10-24 2010-10-20 3947 +1287756000 2010 10 22 22 6 6 42 2010-10-22 2010-10-22 2010-10-24 2010-10-20 3947 +1287756000 2010 10 22 22 6 6 42 2010-10-22 2010-10-22 2010-10-24 2010-10-20 3947 +1287756000 2010 10 22 22 6 6 42 2010-10-22 2010-10-22 2010-10-24 2010-10-20 3947 +1287756000 2010 10 22 22 6 6 42 2010-10-22 2010-10-22 2010-10-24 2010-10-20 3947 +1287842400 2010 10 23 23 7 7 42 2010-10-23 2010-10-23 2010-10-25 2010-10-21 3948 +1287842400 2010 10 23 23 7 7 42 2010-10-23 2010-10-23 2010-10-25 2010-10-21 3948 +1287842400 2010 10 23 23 7 7 42 2010-10-23 2010-10-23 2010-10-25 2010-10-21 3948 +1287842400 2010 10 23 23 7 7 42 2010-10-23 2010-10-23 2010-10-25 2010-10-21 3948 +1287842400 2010 10 23 23 7 7 42 2010-10-23 2010-10-23 2010-10-25 2010-10-21 3948 +1287842400 2010 10 23 23 7 7 42 2010-10-23 2010-10-23 2010-10-25 2010-10-21 3948 +1287842400 2010 10 23 23 7 7 42 2010-10-23 2010-10-23 2010-10-25 2010-10-21 3948 +1287842400 2010 10 23 23 7 7 42 2010-10-23 2010-10-23 2010-10-25 2010-10-21 3948 +1287842400 2010 10 23 23 7 7 42 2010-10-23 2010-10-23 2010-10-25 2010-10-21 3948 +1287842400 2010 10 23 23 7 7 42 2010-10-23 2010-10-23 2010-10-25 2010-10-21 3948 +1287842400 2010 10 23 23 7 7 42 2010-10-23 2010-10-23 2010-10-25 2010-10-21 3948 +1287842400 2010 10 23 23 7 7 42 2010-10-23 2010-10-23 2010-10-25 2010-10-21 3948 +1287928800 2010 10 24 24 1 1 42 2010-10-24 2010-10-24 2010-10-26 2010-10-22 3949 +1287928800 2010 10 24 24 1 1 42 2010-10-24 2010-10-24 2010-10-26 2010-10-22 3949 +1287928800 2010 10 24 24 1 1 42 2010-10-24 2010-10-24 2010-10-26 2010-10-22 3949 +1287928800 2010 10 24 24 1 1 42 2010-10-24 2010-10-24 2010-10-26 2010-10-22 3949 +1287928800 2010 10 24 24 1 1 42 2010-10-24 2010-10-24 2010-10-26 2010-10-22 3949 +1287928800 2010 10 24 24 1 1 42 2010-10-24 2010-10-24 2010-10-26 2010-10-22 3949 +1287928800 2010 10 24 24 1 1 42 2010-10-24 2010-10-24 2010-10-26 2010-10-22 3949 +1287928800 2010 10 24 24 1 1 42 2010-10-24 2010-10-24 2010-10-26 2010-10-22 3949 +1287928800 2010 10 24 24 1 1 42 2010-10-24 2010-10-24 2010-10-26 2010-10-22 3949 +1287928800 2010 10 24 24 1 1 42 2010-10-24 2010-10-24 2010-10-26 2010-10-22 3949 +1287928800 2010 10 24 24 1 1 42 2010-10-24 2010-10-24 2010-10-26 2010-10-22 3949 +1287928800 2010 10 24 24 1 1 42 2010-10-24 2010-10-24 2010-10-26 2010-10-22 3949 +1288015200 2010 10 25 25 2 2 43 2010-10-25 2010-10-25 2010-10-27 2010-10-23 3950 +1288015200 2010 10 25 25 2 2 43 2010-10-25 2010-10-25 2010-10-27 2010-10-23 3950 +1288015200 2010 10 25 25 2 2 43 2010-10-25 2010-10-25 2010-10-27 2010-10-23 3950 +1288015200 2010 10 25 25 2 2 43 2010-10-25 2010-10-25 2010-10-27 2010-10-23 3950 +1288015200 2010 10 25 25 2 2 43 2010-10-25 2010-10-25 2010-10-27 2010-10-23 3950 +1288015200 2010 10 25 25 2 2 43 2010-10-25 2010-10-25 2010-10-27 2010-10-23 3950 +1288015200 2010 10 25 25 2 2 43 2010-10-25 2010-10-25 2010-10-27 2010-10-23 3950 +1288015200 2010 10 25 25 2 2 43 2010-10-25 2010-10-25 2010-10-27 2010-10-23 3950 +1288015200 2010 10 25 25 2 2 43 2010-10-25 2010-10-25 2010-10-27 2010-10-23 3950 +1288015200 2010 10 25 25 2 2 43 2010-10-25 2010-10-25 2010-10-27 2010-10-23 3950 +1288015200 2010 10 25 25 2 2 43 2010-10-25 2010-10-25 2010-10-27 2010-10-23 3950 +1288015200 2010 10 25 25 2 2 43 2010-10-25 2010-10-25 2010-10-27 2010-10-23 3950 +1288101600 2010 10 26 26 3 3 43 2010-10-26 2010-10-26 2010-10-28 2010-10-24 3951 +1288101600 2010 10 26 26 3 3 43 2010-10-26 2010-10-26 2010-10-28 2010-10-24 3951 +1288101600 2010 10 26 26 3 3 43 2010-10-26 2010-10-26 2010-10-28 2010-10-24 3951 +1288101600 2010 10 26 26 3 3 43 2010-10-26 2010-10-26 2010-10-28 2010-10-24 3951 +1288101600 2010 10 26 26 3 3 43 2010-10-26 2010-10-26 2010-10-28 2010-10-24 3951 +1288101600 2010 10 26 26 3 3 43 2010-10-26 2010-10-26 2010-10-28 2010-10-24 3951 +1288101600 2010 10 26 26 3 3 43 2010-10-26 2010-10-26 2010-10-28 2010-10-24 3951 +1288101600 2010 10 26 26 3 3 43 2010-10-26 2010-10-26 2010-10-28 2010-10-24 3951 +1288101600 2010 10 26 26 3 3 43 2010-10-26 2010-10-26 2010-10-28 2010-10-24 3951 +1288101600 2010 10 26 26 3 3 43 2010-10-26 2010-10-26 2010-10-28 2010-10-24 3951 +1288101600 2010 10 26 26 3 3 43 2010-10-26 2010-10-26 2010-10-28 2010-10-24 3951 +1288101600 2010 10 26 26 3 3 43 2010-10-26 2010-10-26 2010-10-28 2010-10-24 3951 +1288101600 2010 10 26 26 3 3 43 2010-10-26 2010-10-26 2010-10-28 2010-10-24 3951 +1288188000 2010 10 27 27 4 4 43 2010-10-27 2010-10-27 2010-10-29 2010-10-25 3952 +1288188000 2010 10 27 27 4 4 43 2010-10-27 2010-10-27 2010-10-29 2010-10-25 3952 +1288188000 2010 10 27 27 4 4 43 2010-10-27 2010-10-27 2010-10-29 2010-10-25 3952 +1288188000 2010 10 27 27 4 4 43 2010-10-27 2010-10-27 2010-10-29 2010-10-25 3952 +1288188000 2010 10 27 27 4 4 43 2010-10-27 2010-10-27 2010-10-29 2010-10-25 3952 +1288188000 2010 10 27 27 4 4 43 2010-10-27 2010-10-27 2010-10-29 2010-10-25 3952 +1288188000 2010 10 27 27 4 4 43 2010-10-27 2010-10-27 2010-10-29 2010-10-25 3952 +1288188000 2010 10 27 27 4 4 43 2010-10-27 2010-10-27 2010-10-29 2010-10-25 3952 +1288188000 2010 10 27 27 4 4 43 2010-10-27 2010-10-27 2010-10-29 2010-10-25 3952 +1288188000 2010 10 27 27 4 4 43 2010-10-27 2010-10-27 2010-10-29 2010-10-25 3952 +1288188000 2010 10 27 27 4 4 43 2010-10-27 2010-10-27 2010-10-29 2010-10-25 3952 +1288274400 2010 10 28 28 5 5 43 2010-10-28 2010-10-28 2010-10-30 2010-10-26 3953 +1288274400 2010 10 28 28 5 5 43 2010-10-28 2010-10-28 2010-10-30 2010-10-26 3953 +1288274400 2010 10 28 28 5 5 43 2010-10-28 2010-10-28 2010-10-30 2010-10-26 3953 +1288274400 2010 10 28 28 5 5 43 2010-10-28 2010-10-28 2010-10-30 2010-10-26 3953 +1288274400 2010 10 28 28 5 5 43 2010-10-28 2010-10-28 2010-10-30 2010-10-26 3953 +1288274400 2010 10 28 28 5 5 43 2010-10-28 2010-10-28 2010-10-30 2010-10-26 3953 +1288274400 2010 10 28 28 5 5 43 2010-10-28 2010-10-28 2010-10-30 2010-10-26 3953 +1288274400 2010 10 28 28 5 5 43 2010-10-28 2010-10-28 2010-10-30 2010-10-26 3953 +1288274400 2010 10 28 28 5 5 43 2010-10-28 2010-10-28 2010-10-30 2010-10-26 3953 +1288274400 2010 10 28 28 5 5 43 2010-10-28 2010-10-28 2010-10-30 2010-10-26 3953 +1288274400 2010 10 28 28 5 5 43 2010-10-28 2010-10-28 2010-10-30 2010-10-26 3953 +1288274400 2010 10 28 28 5 5 43 2010-10-28 2010-10-28 2010-10-30 2010-10-26 3953 +1288360800 2010 10 29 29 6 6 43 2010-10-29 2010-10-29 2010-10-31 2010-10-27 3954 +1288360800 2010 10 29 29 6 6 43 2010-10-29 2010-10-29 2010-10-31 2010-10-27 3954 +1288360800 2010 10 29 29 6 6 43 2010-10-29 2010-10-29 2010-10-31 2010-10-27 3954 +1288360800 2010 10 29 29 6 6 43 2010-10-29 2010-10-29 2010-10-31 2010-10-27 3954 +1288360800 2010 10 29 29 6 6 43 2010-10-29 2010-10-29 2010-10-31 2010-10-27 3954 +1288360800 2010 10 29 29 6 6 43 2010-10-29 2010-10-29 2010-10-31 2010-10-27 3954 +1288360800 2010 10 29 29 6 6 43 2010-10-29 2010-10-29 2010-10-31 2010-10-27 3954 +1288360800 2010 10 29 29 6 6 43 2010-10-29 2010-10-29 2010-10-31 2010-10-27 3954 +1288360800 2010 10 29 29 6 6 43 2010-10-29 2010-10-29 2010-10-31 2010-10-27 3954 +1288360800 2010 10 29 29 6 6 43 2010-10-29 2010-10-29 2010-10-31 2010-10-27 3954 +1288360800 2010 10 29 29 6 6 43 2010-10-29 2010-10-29 2010-10-31 2010-10-27 3954 +1288360800 2010 10 29 29 6 6 43 2010-10-29 2010-10-29 2010-10-31 2010-10-27 3954 +1288447200 2010 10 30 30 7 7 43 2010-10-30 2010-10-30 2010-11-01 2010-10-28 3955 +1288447200 2010 10 30 30 7 7 43 2010-10-30 2010-10-30 2010-11-01 2010-10-28 3955 +1288447200 2010 10 30 30 7 7 43 2010-10-30 2010-10-30 2010-11-01 2010-10-28 3955 +1288447200 2010 10 30 30 7 7 43 2010-10-30 2010-10-30 2010-11-01 2010-10-28 3955 +1288447200 2010 10 30 30 7 7 43 2010-10-30 2010-10-30 2010-11-01 2010-10-28 3955 +1288447200 2010 10 30 30 7 7 43 2010-10-30 2010-10-30 2010-11-01 2010-10-28 3955 +1288447200 2010 10 30 30 7 7 43 2010-10-30 2010-10-30 2010-11-01 2010-10-28 3955 +1288447200 2010 10 30 30 7 7 43 2010-10-30 2010-10-30 2010-11-01 2010-10-28 3955 +1288447200 2010 10 30 30 7 7 43 2010-10-30 2010-10-30 2010-11-01 2010-10-28 3955 +1288447200 2010 10 30 30 7 7 43 2010-10-30 2010-10-30 2010-11-01 2010-10-28 3955 +1288447200 2010 10 30 30 7 7 43 2010-10-30 2010-10-30 2010-11-01 2010-10-28 3955 +1288533600 2010 10 31 31 1 1 43 2010-10-31 2010-10-31 2010-11-02 2010-10-29 3956 +1288533600 2010 10 31 31 1 1 43 2010-10-31 2010-10-31 2010-11-02 2010-10-29 3956 +1288533600 2010 10 31 31 1 1 43 2010-10-31 2010-10-31 2010-11-02 2010-10-29 3956 +1288533600 2010 10 31 31 1 1 43 2010-10-31 2010-10-31 2010-11-02 2010-10-29 3956 +1288533600 2010 10 31 31 1 1 43 2010-10-31 2010-10-31 2010-11-02 2010-10-29 3956 +1288533600 2010 10 31 31 1 1 43 2010-10-31 2010-10-31 2010-11-02 2010-10-29 3956 +1288533600 2010 10 31 31 1 1 43 2010-10-31 2010-10-31 2010-11-02 2010-10-29 3956 +1288533600 2010 10 31 31 1 1 43 2010-10-31 2010-10-31 2010-11-02 2010-10-29 3956 PREHOOK: query: EXPLAIN SELECT to_unix_timestamp(fl_date), year(fl_date), month(fl_date), day(fl_date), dayofmonth(fl_date), + weekday(fl_date), + dayofweek(fl_date), weekofyear(fl_date), date(fl_date), to_date(fl_date), @@ -450,6 +460,8 @@ POSTHOOK: query: EXPLAIN SELECT month(fl_date), day(fl_date), dayofmonth(fl_date), + weekday(fl_date), + dayofweek(fl_date), weekofyear(fl_date), date(fl_date), to_date(fl_date), @@ -470,8 +482,8 @@ STAGE PLANS: alias: date_udf_flight_orc Statistics: Num rows: 137 Data size: 13152 Basic stats: COMPLETE Column stats: NONE Select Operator - expressions: to_unix_timestamp(fl_date) (type: bigint), year(fl_date) (type: int), month(fl_date) (type: int), day(fl_date) (type: int), dayofmonth(fl_date) (type: int), weekofyear(fl_date) (type: int), fl_date (type: date), to_date(fl_date) (type: date), date_add(fl_date, 2) (type: date), date_sub(fl_date, 2) (type: date), datediff(fl_date, '2000-01-01') (type: int) - outputColumnNames: _col0, _col1, _col2, _col3, _col4, _col5, _col6, _col7, _col8, _col9, _col10 + expressions: to_unix_timestamp(fl_date) (type: bigint), year(fl_date) (type: int), month(fl_date) (type: int), day(fl_date) (type: int), dayofmonth(fl_date) (type: int), weekday(fl_date) (type: int), dayofweek(fl_date) (type: int), weekofyear(fl_date) (type: int), fl_date (type: date), to_date(fl_date) (type: date), date_add(fl_date, 2) (type: date), date_sub(fl_date, 2) (type: date), datediff(fl_date, '2000-01-01') (type: int) + outputColumnNames: _col0, _col1, _col2, _col3, _col4, _col5, _col6, _col7, _col8, _col9, _col10, _col11, _col12 Statistics: Num rows: 137 Data size: 13152 Basic stats: COMPLETE Column stats: NONE File Output Operator compressed: false @@ -494,6 +506,8 @@ PREHOOK: query: SELECT month(fl_date), day(fl_date), dayofmonth(fl_date), + weekday(fl_date), + dayofweek(fl_date), weekofyear(fl_date), date(fl_date), to_date(fl_date), @@ -510,6 +524,8 @@ POSTHOOK: query: SELECT month(fl_date), day(fl_date), dayofmonth(fl_date), + weekday(fl_date), + dayofweek(fl_date), weekofyear(fl_date), date(fl_date), to_date(fl_date), @@ -520,148 +536,150 @@ FROM date_udf_flight_orc POSTHOOK: type: QUERY POSTHOOK: Input: default@date_udf_flight_orc #### A masked pattern was here #### -1287558000 2010 10 20 20 42 2010-10-20 2010-10-20 2010-10-22 2010-10-18 3945 -1287558000 2010 10 20 20 42 2010-10-20 2010-10-20 2010-10-22 2010-10-18 3945 -1287558000 2010 10 20 20 42 2010-10-20 2010-10-20 2010-10-22 2010-10-18 3945 -1287558000 2010 10 20 20 42 2010-10-20 2010-10-20 2010-10-22 2010-10-18 3945 -1287558000 2010 10 20 20 42 2010-10-20 2010-10-20 2010-10-22 2010-10-18 3945 -1287558000 2010 10 20 20 42 2010-10-20 2010-10-20 2010-10-22 2010-10-18 3945 -1287558000 2010 10 20 20 42 2010-10-20 2010-10-20 2010-10-22 2010-10-18 3945 -1287558000 2010 10 20 20 42 2010-10-20 2010-10-20 2010-10-22 2010-10-18 3945 -1287558000 2010 10 20 20 42 2010-10-20 2010-10-20 2010-10-22 2010-10-18 3945 -1287558000 2010 10 20 20 42 2010-10-20 2010-10-20 2010-10-22 2010-10-18 3945 -1287558000 2010 10 20 20 42 2010-10-20 2010-10-20 2010-10-22 2010-10-18 3945 -1287644400 2010 10 21 21 42 2010-10-21 2010-10-21 2010-10-23 2010-10-19 3946 -1287644400 2010 10 21 21 42 2010-10-21 2010-10-21 2010-10-23 2010-10-19 3946 -1287644400 2010 10 21 21 42 2010-10-21 2010-10-21 2010-10-23 2010-10-19 3946 -1287644400 2010 10 21 21 42 2010-10-21 2010-10-21 2010-10-23 2010-10-19 3946 -1287644400 2010 10 21 21 42 2010-10-21 2010-10-21 2010-10-23 2010-10-19 3946 -1287644400 2010 10 21 21 42 2010-10-21 2010-10-21 2010-10-23 2010-10-19 3946 -1287644400 2010 10 21 21 42 2010-10-21 2010-10-21 2010-10-23 2010-10-19 3946 -1287644400 2010 10 21 21 42 2010-10-21 2010-10-21 2010-10-23 2010-10-19 3946 -1287644400 2010 10 21 21 42 2010-10-21 2010-10-21 2010-10-23 2010-10-19 3946 -1287644400 2010 10 21 21 42 2010-10-21 2010-10-21 2010-10-23 2010-10-19 3946 -1287644400 2010 10 21 21 42 2010-10-21 2010-10-21 2010-10-23 2010-10-19 3946 -1287644400 2010 10 21 21 42 2010-10-21 2010-10-21 2010-10-23 2010-10-19 3946 -1287730800 2010 10 22 22 42 2010-10-22 2010-10-22 2010-10-24 2010-10-20 3947 -1287730800 2010 10 22 22 42 2010-10-22 2010-10-22 2010-10-24 2010-10-20 3947 -1287730800 2010 10 22 22 42 2010-10-22 2010-10-22 2010-10-24 2010-10-20 3947 -1287730800 2010 10 22 22 42 2010-10-22 2010-10-22 2010-10-24 2010-10-20 3947 -1287730800 2010 10 22 22 42 2010-10-22 2010-10-22 2010-10-24 2010-10-20 3947 -1287730800 2010 10 22 22 42 2010-10-22 2010-10-22 2010-10-24 2010-10-20 3947 -1287730800 2010 10 22 22 42 2010-10-22 2010-10-22 2010-10-24 2010-10-20 3947 -1287730800 2010 10 22 22 42 2010-10-22 2010-10-22 2010-10-24 2010-10-20 3947 -1287730800 2010 10 22 22 42 2010-10-22 2010-10-22 2010-10-24 2010-10-20 3947 -1287730800 2010 10 22 22 42 2010-10-22 2010-10-22 2010-10-24 2010-10-20 3947 -1287730800 2010 10 22 22 42 2010-10-22 2010-10-22 2010-10-24 2010-10-20 3947 -1287817200 2010 10 23 23 42 2010-10-23 2010-10-23 2010-10-25 2010-10-21 3948 -1287817200 2010 10 23 23 42 2010-10-23 2010-10-23 2010-10-25 2010-10-21 3948 -1287817200 2010 10 23 23 42 2010-10-23 2010-10-23 2010-10-25 2010-10-21 3948 -1287817200 2010 10 23 23 42 2010-10-23 2010-10-23 2010-10-25 2010-10-21 3948 -1287817200 2010 10 23 23 42 2010-10-23 2010-10-23 2010-10-25 2010-10-21 3948 -1287817200 2010 10 23 23 42 2010-10-23 2010-10-23 2010-10-25 2010-10-21 3948 -1287817200 2010 10 23 23 42 2010-10-23 2010-10-23 2010-10-25 2010-10-21 3948 -1287817200 2010 10 23 23 42 2010-10-23 2010-10-23 2010-10-25 2010-10-21 3948 -1287817200 2010 10 23 23 42 2010-10-23 2010-10-23 2010-10-25 2010-10-21 3948 -1287817200 2010 10 23 23 42 2010-10-23 2010-10-23 2010-10-25 2010-10-21 3948 -1287817200 2010 10 23 23 42 2010-10-23 2010-10-23 2010-10-25 2010-10-21 3948 -1287817200 2010 10 23 23 42 2010-10-23 2010-10-23 2010-10-25 2010-10-21 3948 -1287903600 2010 10 24 24 42 2010-10-24 2010-10-24 2010-10-26 2010-10-22 3949 -1287903600 2010 10 24 24 42 2010-10-24 2010-10-24 2010-10-26 2010-10-22 3949 -1287903600 2010 10 24 24 42 2010-10-24 2010-10-24 2010-10-26 2010-10-22 3949 -1287903600 2010 10 24 24 42 2010-10-24 2010-10-24 2010-10-26 2010-10-22 3949 -1287903600 2010 10 24 24 42 2010-10-24 2010-10-24 2010-10-26 2010-10-22 3949 -1287903600 2010 10 24 24 42 2010-10-24 2010-10-24 2010-10-26 2010-10-22 3949 -1287903600 2010 10 24 24 42 2010-10-24 2010-10-24 2010-10-26 2010-10-22 3949 -1287903600 2010 10 24 24 42 2010-10-24 2010-10-24 2010-10-26 2010-10-22 3949 -1287903600 2010 10 24 24 42 2010-10-24 2010-10-24 2010-10-26 2010-10-22 3949 -1287903600 2010 10 24 24 42 2010-10-24 2010-10-24 2010-10-26 2010-10-22 3949 -1287903600 2010 10 24 24 42 2010-10-24 2010-10-24 2010-10-26 2010-10-22 3949 -1287903600 2010 10 24 24 42 2010-10-24 2010-10-24 2010-10-26 2010-10-22 3949 -1287990000 2010 10 25 25 43 2010-10-25 2010-10-25 2010-10-27 2010-10-23 3950 -1287990000 2010 10 25 25 43 2010-10-25 2010-10-25 2010-10-27 2010-10-23 3950 -1287990000 2010 10 25 25 43 2010-10-25 2010-10-25 2010-10-27 2010-10-23 3950 -1287990000 2010 10 25 25 43 2010-10-25 2010-10-25 2010-10-27 2010-10-23 3950 -1287990000 2010 10 25 25 43 2010-10-25 2010-10-25 2010-10-27 2010-10-23 3950 -1287990000 2010 10 25 25 43 2010-10-25 2010-10-25 2010-10-27 2010-10-23 3950 -1287990000 2010 10 25 25 43 2010-10-25 2010-10-25 2010-10-27 2010-10-23 3950 -1287990000 2010 10 25 25 43 2010-10-25 2010-10-25 2010-10-27 2010-10-23 3950 -1287990000 2010 10 25 25 43 2010-10-25 2010-10-25 2010-10-27 2010-10-23 3950 -1287990000 2010 10 25 25 43 2010-10-25 2010-10-25 2010-10-27 2010-10-23 3950 -1287990000 2010 10 25 25 43 2010-10-25 2010-10-25 2010-10-27 2010-10-23 3950 -1287990000 2010 10 25 25 43 2010-10-25 2010-10-25 2010-10-27 2010-10-23 3950 -1288076400 2010 10 26 26 43 2010-10-26 2010-10-26 2010-10-28 2010-10-24 3951 -1288076400 2010 10 26 26 43 2010-10-26 2010-10-26 2010-10-28 2010-10-24 3951 -1288076400 2010 10 26 26 43 2010-10-26 2010-10-26 2010-10-28 2010-10-24 3951 -1288076400 2010 10 26 26 43 2010-10-26 2010-10-26 2010-10-28 2010-10-24 3951 -1288076400 2010 10 26 26 43 2010-10-26 2010-10-26 2010-10-28 2010-10-24 3951 -1288076400 2010 10 26 26 43 2010-10-26 2010-10-26 2010-10-28 2010-10-24 3951 -1288076400 2010 10 26 26 43 2010-10-26 2010-10-26 2010-10-28 2010-10-24 3951 -1288076400 2010 10 26 26 43 2010-10-26 2010-10-26 2010-10-28 2010-10-24 3951 -1288076400 2010 10 26 26 43 2010-10-26 2010-10-26 2010-10-28 2010-10-24 3951 -1288076400 2010 10 26 26 43 2010-10-26 2010-10-26 2010-10-28 2010-10-24 3951 -1288076400 2010 10 26 26 43 2010-10-26 2010-10-26 2010-10-28 2010-10-24 3951 -1288076400 2010 10 26 26 43 2010-10-26 2010-10-26 2010-10-28 2010-10-24 3951 -1288076400 2010 10 26 26 43 2010-10-26 2010-10-26 2010-10-28 2010-10-24 3951 -1288162800 2010 10 27 27 43 2010-10-27 2010-10-27 2010-10-29 2010-10-25 3952 -1288162800 2010 10 27 27 43 2010-10-27 2010-10-27 2010-10-29 2010-10-25 3952 -1288162800 2010 10 27 27 43 2010-10-27 2010-10-27 2010-10-29 2010-10-25 3952 -1288162800 2010 10 27 27 43 2010-10-27 2010-10-27 2010-10-29 2010-10-25 3952 -1288162800 2010 10 27 27 43 2010-10-27 2010-10-27 2010-10-29 2010-10-25 3952 -1288162800 2010 10 27 27 43 2010-10-27 2010-10-27 2010-10-29 2010-10-25 3952 -1288162800 2010 10 27 27 43 2010-10-27 2010-10-27 2010-10-29 2010-10-25 3952 -1288162800 2010 10 27 27 43 2010-10-27 2010-10-27 2010-10-29 2010-10-25 3952 -1288162800 2010 10 27 27 43 2010-10-27 2010-10-27 2010-10-29 2010-10-25 3952 -1288162800 2010 10 27 27 43 2010-10-27 2010-10-27 2010-10-29 2010-10-25 3952 -1288162800 2010 10 27 27 43 2010-10-27 2010-10-27 2010-10-29 2010-10-25 3952 -1288249200 2010 10 28 28 43 2010-10-28 2010-10-28 2010-10-30 2010-10-26 3953 -1288249200 2010 10 28 28 43 2010-10-28 2010-10-28 2010-10-30 2010-10-26 3953 -1288249200 2010 10 28 28 43 2010-10-28 2010-10-28 2010-10-30 2010-10-26 3953 -1288249200 2010 10 28 28 43 2010-10-28 2010-10-28 2010-10-30 2010-10-26 3953 -1288249200 2010 10 28 28 43 2010-10-28 2010-10-28 2010-10-30 2010-10-26 3953 -1288249200 2010 10 28 28 43 2010-10-28 2010-10-28 2010-10-30 2010-10-26 3953 -1288249200 2010 10 28 28 43 2010-10-28 2010-10-28 2010-10-30 2010-10-26 3953 -1288249200 2010 10 28 28 43 2010-10-28 2010-10-28 2010-10-30 2010-10-26 3953 -1288249200 2010 10 28 28 43 2010-10-28 2010-10-28 2010-10-30 2010-10-26 3953 -1288249200 2010 10 28 28 43 2010-10-28 2010-10-28 2010-10-30 2010-10-26 3953 -1288249200 2010 10 28 28 43 2010-10-28 2010-10-28 2010-10-30 2010-10-26 3953 -1288249200 2010 10 28 28 43 2010-10-28 2010-10-28 2010-10-30 2010-10-26 3953 -1288335600 2010 10 29 29 43 2010-10-29 2010-10-29 2010-10-31 2010-10-27 3954 -1288335600 2010 10 29 29 43 2010-10-29 2010-10-29 2010-10-31 2010-10-27 3954 -1288335600 2010 10 29 29 43 2010-10-29 2010-10-29 2010-10-31 2010-10-27 3954 -1288335600 2010 10 29 29 43 2010-10-29 2010-10-29 2010-10-31 2010-10-27 3954 -1288335600 2010 10 29 29 43 2010-10-29 2010-10-29 2010-10-31 2010-10-27 3954 -1288335600 2010 10 29 29 43 2010-10-29 2010-10-29 2010-10-31 2010-10-27 3954 -1288335600 2010 10 29 29 43 2010-10-29 2010-10-29 2010-10-31 2010-10-27 3954 -1288335600 2010 10 29 29 43 2010-10-29 2010-10-29 2010-10-31 2010-10-27 3954 -1288335600 2010 10 29 29 43 2010-10-29 2010-10-29 2010-10-31 2010-10-27 3954 -1288335600 2010 10 29 29 43 2010-10-29 2010-10-29 2010-10-31 2010-10-27 3954 -1288335600 2010 10 29 29 43 2010-10-29 2010-10-29 2010-10-31 2010-10-27 3954 -1288335600 2010 10 29 29 43 2010-10-29 2010-10-29 2010-10-31 2010-10-27 3954 -1288422000 2010 10 30 30 43 2010-10-30 2010-10-30 2010-11-01 2010-10-28 3955 -1288422000 2010 10 30 30 43 2010-10-30 2010-10-30 2010-11-01 2010-10-28 3955 -1288422000 2010 10 30 30 43 2010-10-30 2010-10-30 2010-11-01 2010-10-28 3955 -1288422000 2010 10 30 30 43 2010-10-30 2010-10-30 2010-11-01 2010-10-28 3955 -1288422000 2010 10 30 30 43 2010-10-30 2010-10-30 2010-11-01 2010-10-28 3955 -1288422000 2010 10 30 30 43 2010-10-30 2010-10-30 2010-11-01 2010-10-28 3955 -1288422000 2010 10 30 30 43 2010-10-30 2010-10-30 2010-11-01 2010-10-28 3955 -1288422000 2010 10 30 30 43 2010-10-30 2010-10-30 2010-11-01 2010-10-28 3955 -1288422000 2010 10 30 30 43 2010-10-30 2010-10-30 2010-11-01 2010-10-28 3955 -1288422000 2010 10 30 30 43 2010-10-30 2010-10-30 2010-11-01 2010-10-28 3955 -1288422000 2010 10 30 30 43 2010-10-30 2010-10-30 2010-11-01 2010-10-28 3955 -1288508400 2010 10 31 31 43 2010-10-31 2010-10-31 2010-11-02 2010-10-29 3956 -1288508400 2010 10 31 31 43 2010-10-31 2010-10-31 2010-11-02 2010-10-29 3956 -1288508400 2010 10 31 31 43 2010-10-31 2010-10-31 2010-11-02 2010-10-29 3956 -1288508400 2010 10 31 31 43 2010-10-31 2010-10-31 2010-11-02 2010-10-29 3956 -1288508400 2010 10 31 31 43 2010-10-31 2010-10-31 2010-11-02 2010-10-29 3956 -1288508400 2010 10 31 31 43 2010-10-31 2010-10-31 2010-11-02 2010-10-29 3956 -1288508400 2010 10 31 31 43 2010-10-31 2010-10-31 2010-11-02 2010-10-29 3956 -1288508400 2010 10 31 31 43 2010-10-31 2010-10-31 2010-11-02 2010-10-29 3956 +1287558000 2010 10 20 20 4 4 42 2010-10-20 2010-10-20 2010-10-22 2010-10-18 3945 +1287558000 2010 10 20 20 4 4 42 2010-10-20 2010-10-20 2010-10-22 2010-10-18 3945 +1287558000 2010 10 20 20 4 4 42 2010-10-20 2010-10-20 2010-10-22 2010-10-18 3945 +1287558000 2010 10 20 20 4 4 42 2010-10-20 2010-10-20 2010-10-22 2010-10-18 3945 +1287558000 2010 10 20 20 4 4 42 2010-10-20 2010-10-20 2010-10-22 2010-10-18 3945 +1287558000 2010 10 20 20 4 4 42 2010-10-20 2010-10-20 2010-10-22 2010-10-18 3945 +1287558000 2010 10 20 20 4 4 42 2010-10-20 2010-10-20 2010-10-22 2010-10-18 3945 +1287558000 2010 10 20 20 4 4 42 2010-10-20 2010-10-20 2010-10-22 2010-10-18 3945 +1287558000 2010 10 20 20 4 4 42 2010-10-20 2010-10-20 2010-10-22 2010-10-18 3945 +1287558000 2010 10 20 20 4 4 42 2010-10-20 2010-10-20 2010-10-22 2010-10-18 3945 +1287558000 2010 10 20 20 4 4 42 2010-10-20 2010-10-20 2010-10-22 2010-10-18 3945 +1287644400 2010 10 21 21 5 5 42 2010-10-21 2010-10-21 2010-10-23 2010-10-19 3946 +1287644400 2010 10 21 21 5 5 42 2010-10-21 2010-10-21 2010-10-23 2010-10-19 3946 +1287644400 2010 10 21 21 5 5 42 2010-10-21 2010-10-21 2010-10-23 2010-10-19 3946 +1287644400 2010 10 21 21 5 5 42 2010-10-21 2010-10-21 2010-10-23 2010-10-19 3946 +1287644400 2010 10 21 21 5 5 42 2010-10-21 2010-10-21 2010-10-23 2010-10-19 3946 +1287644400 2010 10 21 21 5 5 42 2010-10-21 2010-10-21 2010-10-23 2010-10-19 3946 +1287644400 2010 10 21 21 5 5 42 2010-10-21 2010-10-21 2010-10-23 2010-10-19 3946 +1287644400 2010 10 21 21 5 5 42 2010-10-21 2010-10-21 2010-10-23 2010-10-19 3946 +1287644400 2010 10 21 21 5 5 42 2010-10-21 2010-10-21 2010-10-23 2010-10-19 3946 +1287644400 2010 10 21 21 5 5 42 2010-10-21 2010-10-21 2010-10-23 2010-10-19 3946 +1287644400 2010 10 21 21 5 5 42 2010-10-21 2010-10-21 2010-10-23 2010-10-19 3946 +1287644400 2010 10 21 21 5 5 42 2010-10-21 2010-10-21 2010-10-23 2010-10-19 3946 +1287730800 2010 10 22 22 6 6 42 2010-10-22 2010-10-22 2010-10-24 2010-10-20 3947 +1287730800 2010 10 22 22 6 6 42 2010-10-22 2010-10-22 2010-10-24 2010-10-20 3947 +1287730800 2010 10 22 22 6 6 42 2010-10-22 2010-10-22 2010-10-24 2010-10-20 3947 +1287730800 2010 10 22 22 6 6 42 2010-10-22 2010-10-22 2010-10-24 2010-10-20 3947 +1287730800 2010 10 22 22 6 6 42 2010-10-22 2010-10-22 2010-10-24 2010-10-20 3947 +1287730800 2010 10 22 22 6 6 42 2010-10-22 2010-10-22 2010-10-24 2010-10-20 3947 +1287730800 2010 10 22 22 6 6 42 2010-10-22 2010-10-22 2010-10-24 2010-10-20 3947 +1287730800 2010 10 22 22 6 6 42 2010-10-22 2010-10-22 2010-10-24 2010-10-20 3947 +1287730800 2010 10 22 22 6 6 42 2010-10-22 2010-10-22 2010-10-24 2010-10-20 3947 +1287730800 2010 10 22 22 6 6 42 2010-10-22 2010-10-22 2010-10-24 2010-10-20 3947 +1287730800 2010 10 22 22 6 6 42 2010-10-22 2010-10-22 2010-10-24 2010-10-20 3947 +1287817200 2010 10 23 23 7 7 42 2010-10-23 2010-10-23 2010-10-25 2010-10-21 3948 +1287817200 2010 10 23 23 7 7 42 2010-10-23 2010-10-23 2010-10-25 2010-10-21 3948 +1287817200 2010 10 23 23 7 7 42 2010-10-23 2010-10-23 2010-10-25 2010-10-21 3948 +1287817200 2010 10 23 23 7 7 42 2010-10-23 2010-10-23 2010-10-25 2010-10-21 3948 +1287817200 2010 10 23 23 7 7 42 2010-10-23 2010-10-23 2010-10-25 2010-10-21 3948 +1287817200 2010 10 23 23 7 7 42 2010-10-23 2010-10-23 2010-10-25 2010-10-21 3948 +1287817200 2010 10 23 23 7 7 42 2010-10-23 2010-10-23 2010-10-25 2010-10-21 3948 +1287817200 2010 10 23 23 7 7 42 2010-10-23 2010-10-23 2010-10-25 2010-10-21 3948 +1287817200 2010 10 23 23 7 7 42 2010-10-23 2010-10-23 2010-10-25 2010-10-21 3948 +1287817200 2010 10 23 23 7 7 42 2010-10-23 2010-10-23 2010-10-25 2010-10-21 3948 +1287817200 2010 10 23 23 7 7 42 2010-10-23 2010-10-23 2010-10-25 2010-10-21 3948 +1287817200 2010 10 23 23 7 7 42 2010-10-23 2010-10-23 2010-10-25 2010-10-21 3948 +1287903600 2010 10 24 24 1 1 42 2010-10-24 2010-10-24 2010-10-26 2010-10-22 3949 +1287903600 2010 10 24 24 1 1 42 2010-10-24 2010-10-24 2010-10-26 2010-10-22 3949 +1287903600 2010 10 24 24 1 1 42 2010-10-24 2010-10-24 2010-10-26 2010-10-22 3949 +1287903600 2010 10 24 24 1 1 42 2010-10-24 2010-10-24 2010-10-26 2010-10-22 3949 +1287903600 2010 10 24 24 1 1 42 2010-10-24 2010-10-24 2010-10-26 2010-10-22 3949 +1287903600 2010 10 24 24 1 1 42 2010-10-24 2010-10-24 2010-10-26 2010-10-22 3949 +1287903600 2010 10 24 24 1 1 42 2010-10-24 2010-10-24 2010-10-26 2010-10-22 3949 +1287903600 2010 10 24 24 1 1 42 2010-10-24 2010-10-24 2010-10-26 2010-10-22 3949 +1287903600 2010 10 24 24 1 1 42 2010-10-24 2010-10-24 2010-10-26 2010-10-22 3949 +1287903600 2010 10 24 24 1 1 42 2010-10-24 2010-10-24 2010-10-26 2010-10-22 3949 +1287903600 2010 10 24 24 1 1 42 2010-10-24 2010-10-24 2010-10-26 2010-10-22 3949 +1287903600 2010 10 24 24 1 1 42 2010-10-24 2010-10-24 2010-10-26 2010-10-22 3949 +1287990000 2010 10 25 25 2 2 43 2010-10-25 2010-10-25 2010-10-27 2010-10-23 3950 +1287990000 2010 10 25 25 2 2 43 2010-10-25 2010-10-25 2010-10-27 2010-10-23 3950 +1287990000 2010 10 25 25 2 2 43 2010-10-25 2010-10-25 2010-10-27 2010-10-23 3950 +1287990000 2010 10 25 25 2 2 43 2010-10-25 2010-10-25 2010-10-27 2010-10-23 3950 +1287990000 2010 10 25 25 2 2 43 2010-10-25 2010-10-25 2010-10-27 2010-10-23 3950 +1287990000 2010 10 25 25 2 2 43 2010-10-25 2010-10-25 2010-10-27 2010-10-23 3950 +1287990000 2010 10 25 25 2 2 43 2010-10-25 2010-10-25 2010-10-27 2010-10-23 3950 +1287990000 2010 10 25 25 2 2 43 2010-10-25 2010-10-25 2010-10-27 2010-10-23 3950 +1287990000 2010 10 25 25 2 2 43 2010-10-25 2010-10-25 2010-10-27 2010-10-23 3950 +1287990000 2010 10 25 25 2 2 43 2010-10-25 2010-10-25 2010-10-27 2010-10-23 3950 +1287990000 2010 10 25 25 2 2 43 2010-10-25 2010-10-25 2010-10-27 2010-10-23 3950 +1287990000 2010 10 25 25 2 2 43 2010-10-25 2010-10-25 2010-10-27 2010-10-23 3950 +1288076400 2010 10 26 26 3 3 43 2010-10-26 2010-10-26 2010-10-28 2010-10-24 3951 +1288076400 2010 10 26 26 3 3 43 2010-10-26 2010-10-26 2010-10-28 2010-10-24 3951 +1288076400 2010 10 26 26 3 3 43 2010-10-26 2010-10-26 2010-10-28 2010-10-24 3951 +1288076400 2010 10 26 26 3 3 43 2010-10-26 2010-10-26 2010-10-28 2010-10-24 3951 +1288076400 2010 10 26 26 3 3 43 2010-10-26 2010-10-26 2010-10-28 2010-10-24 3951 +1288076400 2010 10 26 26 3 3 43 2010-10-26 2010-10-26 2010-10-28 2010-10-24 3951 +1288076400 2010 10 26 26 3 3 43 2010-10-26 2010-10-26 2010-10-28 2010-10-24 3951 +1288076400 2010 10 26 26 3 3 43 2010-10-26 2010-10-26 2010-10-28 2010-10-24 3951 +1288076400 2010 10 26 26 3 3 43 2010-10-26 2010-10-26 2010-10-28 2010-10-24 3951 +1288076400 2010 10 26 26 3 3 43 2010-10-26 2010-10-26 2010-10-28 2010-10-24 3951 +1288076400 2010 10 26 26 3 3 43 2010-10-26 2010-10-26 2010-10-28 2010-10-24 3951 +1288076400 2010 10 26 26 3 3 43 2010-10-26 2010-10-26 2010-10-28 2010-10-24 3951 +1288076400 2010 10 26 26 3 3 43 2010-10-26 2010-10-26 2010-10-28 2010-10-24 3951 +1288162800 2010 10 27 27 4 4 43 2010-10-27 2010-10-27 2010-10-29 2010-10-25 3952 +1288162800 2010 10 27 27 4 4 43 2010-10-27 2010-10-27 2010-10-29 2010-10-25 3952 +1288162800 2010 10 27 27 4 4 43 2010-10-27 2010-10-27 2010-10-29 2010-10-25 3952 +1288162800 2010 10 27 27 4 4 43 2010-10-27 2010-10-27 2010-10-29 2010-10-25 3952 +1288162800 2010 10 27 27 4 4 43 2010-10-27 2010-10-27 2010-10-29 2010-10-25 3952 +1288162800 2010 10 27 27 4 4 43 2010-10-27 2010-10-27 2010-10-29 2010-10-25 3952 +1288162800 2010 10 27 27 4 4 43 2010-10-27 2010-10-27 2010-10-29 2010-10-25 3952 +1288162800 2010 10 27 27 4 4 43 2010-10-27 2010-10-27 2010-10-29 2010-10-25 3952 +1288162800 2010 10 27 27 4 4 43 2010-10-27 2010-10-27 2010-10-29 2010-10-25 3952 +1288162800 2010 10 27 27 4 4 43 2010-10-27 2010-10-27 2010-10-29 2010-10-25 3952 +1288162800 2010 10 27 27 4 4 43 2010-10-27 2010-10-27 2010-10-29 2010-10-25 3952 +1288249200 2010 10 28 28 5 5 43 2010-10-28 2010-10-28 2010-10-30 2010-10-26 3953 +1288249200 2010 10 28 28 5 5 43 2010-10-28 2010-10-28 2010-10-30 2010-10-26 3953 +1288249200 2010 10 28 28 5 5 43 2010-10-28 2010-10-28 2010-10-30 2010-10-26 3953 +1288249200 2010 10 28 28 5 5 43 2010-10-28 2010-10-28 2010-10-30 2010-10-26 3953 +1288249200 2010 10 28 28 5 5 43 2010-10-28 2010-10-28 2010-10-30 2010-10-26 3953 +1288249200 2010 10 28 28 5 5 43 2010-10-28 2010-10-28 2010-10-30 2010-10-26 3953 +1288249200 2010 10 28 28 5 5 43 2010-10-28 2010-10-28 2010-10-30 2010-10-26 3953 +1288249200 2010 10 28 28 5 5 43 2010-10-28 2010-10-28 2010-10-30 2010-10-26 3953 +1288249200 2010 10 28 28 5 5 43 2010-10-28 2010-10-28 2010-10-30 2010-10-26 3953 +1288249200 2010 10 28 28 5 5 43 2010-10-28 2010-10-28 2010-10-30 2010-10-26 3953 +1288249200 2010 10 28 28 5 5 43 2010-10-28 2010-10-28 2010-10-30 2010-10-26 3953 +1288249200 2010 10 28 28 5 5 43 2010-10-28 2010-10-28 2010-10-30 2010-10-26 3953 +1288335600 2010 10 29 29 6 6 43 2010-10-29 2010-10-29 2010-10-31 2010-10-27 3954 +1288335600 2010 10 29 29 6 6 43 2010-10-29 2010-10-29 2010-10-31 2010-10-27 3954 +1288335600 2010 10 29 29 6 6 43 2010-10-29 2010-10-29 2010-10-31 2010-10-27 3954 +1288335600 2010 10 29 29 6 6 43 2010-10-29 2010-10-29 2010-10-31 2010-10-27 3954 +1288335600 2010 10 29 29 6 6 43 2010-10-29 2010-10-29 2010-10-31 2010-10-27 3954 +1288335600 2010 10 29 29 6 6 43 2010-10-29 2010-10-29 2010-10-31 2010-10-27 3954 +1288335600 2010 10 29 29 6 6 43 2010-10-29 2010-10-29 2010-10-31 2010-10-27 3954 +1288335600 2010 10 29 29 6 6 43 2010-10-29 2010-10-29 2010-10-31 2010-10-27 3954 +1288335600 2010 10 29 29 6 6 43 2010-10-29 2010-10-29 2010-10-31 2010-10-27 3954 +1288335600 2010 10 29 29 6 6 43 2010-10-29 2010-10-29 2010-10-31 2010-10-27 3954 +1288335600 2010 10 29 29 6 6 43 2010-10-29 2010-10-29 2010-10-31 2010-10-27 3954 +1288335600 2010 10 29 29 6 6 43 2010-10-29 2010-10-29 2010-10-31 2010-10-27 3954 +1288422000 2010 10 30 30 7 7 43 2010-10-30 2010-10-30 2010-11-01 2010-10-28 3955 +1288422000 2010 10 30 30 7 7 43 2010-10-30 2010-10-30 2010-11-01 2010-10-28 3955 +1288422000 2010 10 30 30 7 7 43 2010-10-30 2010-10-30 2010-11-01 2010-10-28 3955 +1288422000 2010 10 30 30 7 7 43 2010-10-30 2010-10-30 2010-11-01 2010-10-28 3955 +1288422000 2010 10 30 30 7 7 43 2010-10-30 2010-10-30 2010-11-01 2010-10-28 3955 +1288422000 2010 10 30 30 7 7 43 2010-10-30 2010-10-30 2010-11-01 2010-10-28 3955 +1288422000 2010 10 30 30 7 7 43 2010-10-30 2010-10-30 2010-11-01 2010-10-28 3955 +1288422000 2010 10 30 30 7 7 43 2010-10-30 2010-10-30 2010-11-01 2010-10-28 3955 +1288422000 2010 10 30 30 7 7 43 2010-10-30 2010-10-30 2010-11-01 2010-10-28 3955 +1288422000 2010 10 30 30 7 7 43 2010-10-30 2010-10-30 2010-11-01 2010-10-28 3955 +1288422000 2010 10 30 30 7 7 43 2010-10-30 2010-10-30 2010-11-01 2010-10-28 3955 +1288508400 2010 10 31 31 1 1 43 2010-10-31 2010-10-31 2010-11-02 2010-10-29 3956 +1288508400 2010 10 31 31 1 1 43 2010-10-31 2010-10-31 2010-11-02 2010-10-29 3956 +1288508400 2010 10 31 31 1 1 43 2010-10-31 2010-10-31 2010-11-02 2010-10-29 3956 +1288508400 2010 10 31 31 1 1 43 2010-10-31 2010-10-31 2010-11-02 2010-10-29 3956 +1288508400 2010 10 31 31 1 1 43 2010-10-31 2010-10-31 2010-11-02 2010-10-29 3956 +1288508400 2010 10 31 31 1 1 43 2010-10-31 2010-10-31 2010-11-02 2010-10-29 3956 +1288508400 2010 10 31 31 1 1 43 2010-10-31 2010-10-31 2010-11-02 2010-10-29 3956 +1288508400 2010 10 31 31 1 1 43 2010-10-31 2010-10-31 2010-11-02 2010-10-29 3956 PREHOOK: query: EXPLAIN SELECT year(fl_time) = year(fl_date), month(fl_time) = month(fl_date), day(fl_time) = day(fl_date), dayofmonth(fl_time) = dayofmonth(fl_date), + weekday(fl_time) = weekday(fl_date), + dayofweek(fl_time) = dayofweek(fl_date), weekofyear(fl_time) = weekofyear(fl_date), date(fl_time) = date(fl_date), to_date(fl_time) = to_date(fl_date), @@ -675,6 +693,8 @@ POSTHOOK: query: EXPLAIN SELECT month(fl_time) = month(fl_date), day(fl_time) = day(fl_date), dayofmonth(fl_time) = dayofmonth(fl_date), + weekday(fl_time) = weekday(fl_date), + dayofweek(fl_time) = dayofweek(fl_date), weekofyear(fl_time) = weekofyear(fl_date), date(fl_time) = date(fl_date), to_date(fl_time) = to_date(fl_date), @@ -695,8 +715,8 @@ STAGE PLANS: alias: date_udf_flight_orc Statistics: Num rows: 137 Data size: 13152 Basic stats: COMPLETE Column stats: NONE Select Operator - expressions: (year(fl_time) = year(fl_date)) (type: boolean), (month(fl_time) = month(fl_date)) (type: boolean), (day(fl_time) = day(fl_date)) (type: boolean), (dayofmonth(fl_time) = dayofmonth(fl_date)) (type: boolean), (weekofyear(fl_time) = weekofyear(fl_date)) (type: boolean), (CAST( fl_time AS DATE) = fl_date) (type: boolean), (to_date(fl_time) = to_date(fl_date)) (type: boolean), (date_add(fl_time, 2) = date_add(fl_date, 2)) (type: boolean), (date_sub(fl_time, 2) = date_sub(fl_date, 2)) (type: boolean), (datediff(fl_time, '2000-01-01') = datediff(fl_date, '2000-01-01')) (type: boolean) - outputColumnNames: _col0, _col1, _col2, _col3, _col4, _col5, _col6, _col7, _col8, _col9 + expressions: (year(fl_time) = year(fl_date)) (type: boolean), (month(fl_time) = month(fl_date)) (type: boolean), (day(fl_time) = day(fl_date)) (type: boolean), (dayofmonth(fl_time) = dayofmonth(fl_date)) (type: boolean), (weekday(fl_time) = weekday(fl_date)) (type: boolean), (dayofweek(fl_time) = dayofweek(fl_date)) (type: boolean), (weekofyear(fl_time) = weekofyear(fl_date)) (type: boolean), (CAST( fl_time AS DATE) = fl_date) (type: boolean), (to_date(fl_time) = to_date(fl_date)) (type: boolean), (date_add(fl_time, 2) = date_add(fl_date, 2)) (type: boolean), (date_sub(fl_time, 2) = date_sub(fl_date, 2)) (type: boolean), (datediff(fl_time, '2000-01-01') = datediff(fl_date, '2000-01-01')) (type: boolean) + outputColumnNames: _col0, _col1, _col2, _col3, _col4, _col5, _col6, _col7, _col8, _col9, _col10, _col11 Statistics: Num rows: 137 Data size: 13152 Basic stats: COMPLETE Column stats: NONE File Output Operator compressed: false @@ -719,6 +739,8 @@ SELECT month(fl_time) = month(fl_date), day(fl_time) = day(fl_date), dayofmonth(fl_time) = dayofmonth(fl_date), + weekday(fl_time) = weekday(fl_date), + dayofweek(fl_time) = dayofweek(fl_date), weekofyear(fl_time) = weekofyear(fl_date), date(fl_time) = date(fl_date), to_date(fl_time) = to_date(fl_date), @@ -735,6 +757,8 @@ SELECT month(fl_time) = month(fl_date), day(fl_time) = day(fl_date), dayofmonth(fl_time) = dayofmonth(fl_date), + weekday(fl_time) = weekday(fl_date), + dayofweek(fl_time) = dayofweek(fl_date), weekofyear(fl_time) = weekofyear(fl_date), date(fl_time) = date(fl_date), to_date(fl_time) = to_date(fl_date), @@ -745,143 +769,143 @@ FROM date_udf_flight_orc POSTHOOK: type: QUERY POSTHOOK: Input: default@date_udf_flight_orc #### A masked pattern was here #### -true true true true true true true true true true -true true true true true true true true true true -true true true true true true true true true true -true true true true true true true true true true -true true true true true true true true true true -true true true true true true true true true true -true true true true true true true true true true -true true true true true true true true true true -true true true true true true true true true true -true true true true true true true true true true -true true true true true true true true true true -true true true true true true true true true true -true true true true true true true true true true -true true true true true true true true true true -true true true true true true true true true true -true true true true true true true true true true -true true true true true true true true true true -true true true true true true true true true true -true true true true true true true true true true -true true true true true true true true true true -true true true true true true true true true true -true true true true true true true true true true -true true true true true true true true true true -true true true true true true true true true true -true true true true true true true true true true -true true true true true true true true true true -true true true true true true true true true true -true true true true true true true true true true -true true true true true true true true true true -true true true true true true true true true true -true true true true true true true true true true -true true true true true true true true true true -true true true true true true true true true true -true true true true true true true true true true -true true true true true true true true true true -true true true true true true true true true true -true true true true true true true true true true -true true true true true true true true true true -true true true true true true true true true true -true true true true true true true true true true -true true true true true true true true true true -true true true true true true true true true true -true true true true true true true true true true -true true true true true true true true true true -true true true true true true true true true true -true true true true true true true true true true -true true true true true true true true true true -true true true true true true true true true true -true true true true true true true true true true -true true true true true true true true true true -true true true true true true true true true true -true true true true true true true true true true -true true true true true true true true true true -true true true true true true true true true true -true true true true true true true true true true -true true true true true true true true true true -true true true true true true true true true true -true true true true true true true true true true -true true true true true true true true true true -true true true true true true true true true true -true true true true true true true true true true -true true true true true true true true true true -true true true true true true true true true true -true true true true true true true true true true -true true true true true true true true true true -true true true true true true true true true true -true true true true true true true true true true -true true true true true true true true true true -true true true true true true true true true true -true true true true true true true true true true -true true true true true true true true true true -true true true true true true true true true true -true true true true true true true true true true -true true true true true true true true true true -true true true true true true true true true true -true true true true true true true true true true -true true true true true true true true true true -true true true true true true true true true true -true true true true true true true true true true -true true true true true true true true true true -true true true true true true true true true true -true true true true true true true true true true -true true true true true true true true true true -true true true true true true true true true true -true true true true true true true true true true -true true true true true true true true true true -true true true true true true true true true true -true true true true true true true true true true -true true true true true true true true true true -true true true true true true true true true true -true true true true true true true true true true -true true true true true true true true true true -true true true true true true true true true true -true true true true true true true true true true -true true true true true true true true true true -true true true true true true true true true true -true true true true true true true true true true -true true true true true true true true true true -true true true true true true true true true true -true true true true true true true true true true -true true true true true true true true true true -true true true true true true true true true true -true true true true true true true true true true -true true true true true true true true true true -true true true true true true true true true true -true true true true true true true true true true -true true true true true true true true true true -true true true true true true true true true true -true true true true true true true true true true -true true true true true true true true true true -true true true true true true true true true true -true true true true true true true true true true -true true true true true true true true true true -true true true true true true true true true true -true true true true true true true true true true -true true true true true true true true true true -true true true true true true true true true true -true true true true true true true true true true -true true true true true true true true true true -true true true true true true true true true true -true true true true true true true true true true -true true true true true true true true true true -true true true true true true true true true true -true true true true true true true true true true -true true true true true true true true true true -true true true true true true true true true true -true true true true true true true true true true -true true true true true true true true true true -true true true true true true true true true true -true true true true true true true true true true -true true true true true true true true true true -true true true true true true true true true true -true true true true true true true true true true -true true true true true true true true true true -true true true true true true true true true true -true true true true true true true true true true -true true true true true true true true true true +true true true true true true true true true true true true +true true true true true true true true true true true true +true true true true true true true true true true true true +true true true true true true true true true true true true +true true true true true true true true true true true true +true true true true true true true true true true true true +true true true true true true true true true true true true +true true true true true true true true true true true true +true true true true true true true true true true true true +true true true true true true true true true true true true +true true true true true true true true true true true true +true true true true true true true true true true true true +true true true true true true true true true true true true +true true true true true true true true true true true true +true true true true true true true true true true true true +true true true true true true true true true true true true +true true true true true true true true true true true true +true true true true true true true true true true true true +true true true true true true true true true true true true +true true true true true true true true true true true true +true true true true true true true true true true true true +true true true true true true true true true true true true +true true true true true true true true true true true true +true true true true true true true true true true true true +true true true true true true true true true true true true +true true true true true true true true true true true true +true true true true true true true true true true true true +true true true true true true true true true true true true +true true true true true true true true true true true true +true true true true true true true true true true true true +true true true true true true true true true true true true +true true true true true true true true true true true true +true true true true true true true true true true true true +true true true true true true true true true true true true +true true true true true true true true true true true true +true true true true true true true true true true true true +true true true true true true true true true true true true +true true true true true true true true true true true true +true true true true true true true true true true true true +true true true true true true true true true true true true +true true true true true true true true true true true true +true true true true true true true true true true true true +true true true true true true true true true true true true +true true true true true true true true true true true true +true true true true true true true true true true true true +true true true true true true true true true true true true +true true true true true true true true true true true true +true true true true true true true true true true true true +true true true true true true true true true true true true +true true true true true true true true true true true true +true true true true true true true true true true true true +true true true true true true true true true true true true +true true true true true true true true true true true true +true true true true true true true true true true true true +true true true true true true true true true true true true +true true true true true true true true true true true true +true true true true true true true true true true true true +true true true true true true true true true true true true +true true true true true true true true true true true true +true true true true true true true true true true true true +true true true true true true true true true true true true +true true true true true true true true true true true true +true true true true true true true true true true true true +true true true true true true true true true true true true +true true true true true true true true true true true true +true true true true true true true true true true true true +true true true true true true true true true true true true +true true true true true true true true true true true true +true true true true true true true true true true true true +true true true true true true true true true true true true +true true true true true true true true true true true true +true true true true true true true true true true true true +true true true true true true true true true true true true +true true true true true true true true true true true true +true true true true true true true true true true true true +true true true true true true true true true true true true +true true true true true true true true true true true true +true true true true true true true true true true true true +true true true true true true true true true true true true +true true true true true true true true true true true true +true true true true true true true true true true true true +true true true true true true true true true true true true +true true true true true true true true true true true true +true true true true true true true true true true true true +true true true true true true true true true true true true +true true true true true true true true true true true true +true true true true true true true true true true true true +true true true true true true true true true true true true +true true true true true true true true true true true true +true true true true true true true true true true true true +true true true true true true true true true true true true +true true true true true true true true true true true true +true true true true true true true true true true true true +true true true true true true true true true true true true +true true true true true true true true true true true true +true true true true true true true true true true true true +true true true true true true true true true true true true +true true true true true true true true true true true true +true true true true true true true true true true true true +true true true true true true true true true true true true +true true true true true true true true true true true true +true true true true true true true true true true true true +true true true true true true true true true true true true +true true true true true true true true true true true true +true true true true true true true true true true true true +true true true true true true true true true true true true +true true true true true true true true true true true true +true true true true true true true true true true true true +true true true true true true true true true true true true +true true true true true true true true true true true true +true true true true true true true true true true true true +true true true true true true true true true true true true +true true true true true true true true true true true true +true true true true true true true true true true true true +true true true true true true true true true true true true +true true true true true true true true true true true true +true true true true true true true true true true true true +true true true true true true true true true true true true +true true true true true true true true true true true true +true true true true true true true true true true true true +true true true true true true true true true true true true +true true true true true true true true true true true true +true true true true true true true true true true true true +true true true true true true true true true true true true +true true true true true true true true true true true true +true true true true true true true true true true true true +true true true true true true true true true true true true +true true true true true true true true true true true true +true true true true true true true true true true true true +true true true true true true true true true true true true +true true true true true true true true true true true true +true true true true true true true true true true true true +true true true true true true true true true true true true +true true true true true true true true true true true true +true true true true true true true true true true true true +true true true true true true true true true true true true +true true true true true true true true true true true true PREHOOK: query: EXPLAIN SELECT fl_date, to_date(date_add(fl_date, 2)),