[JBoss JIRA] (TEIID-4599) Check Infinispan Hot Rod Translator metadata import: optional protobuf boolean fields are not nullable in imported tables
by Van Halbert (JIRA)
[ https://issues.jboss.org/browse/TEIID-4599?page=com.atlassian.jira.plugin... ]
Van Halbert resolved TEIID-4599.
--------------------------------
Resolution: Won't Fix
On the 8.12.x and 9.x, both are setting a boolean column to NOT_NULL. However, only in the 9.x, is it setting a default value of FALSE.
Even though the protobuf descriptor defines a nullable boolean, it has to be overriden to NOT NULL because of the JDG issue. At this time this jira will be closed as to wont fix. At the time that JDG changes, another jira can be filed to enable nullable boolean column.
> Check Infinispan Hot Rod Translator metadata import: optional protobuf boolean fields are not nullable in imported tables
> -------------------------------------------------------------------------------------------------------------------------
>
> Key: TEIID-4599
> URL: https://issues.jboss.org/browse/TEIID-4599
> Project: Teiid
> Issue Type: Bug
> Components: JDG Connector
> Affects Versions: 9.2
> Reporter: Jan Stastny
> Assignee: Van Halbert
> Priority: Critical
>
> When using Infinispan DSL translator in use case with protobuf descriptor and custom marshaller then optional boolean protobuf fields are not imported as nullable (see NOT NULL near BooleanValue column in the DDL pasted below). This means that these columns have to be set when doing any insert.
> Protobuf descriptor:
> {code:java|title=SmallA.proto}
> package org.jboss.qe.jdg.remote.protobuf;
> message SmallA {
> required int32 intKey = 1;
> optional string stringNum = 2;
> required string stringKey = 3;
> optional float floatNum = 4;
> optional string bigIntegerValue = 5;
> optional int32 shortValue = 6;
> optional double doubleNum = 7;
> optional bytes objectValue = 8;
> optional int32 intNum = 9;
> optional string bigDecimalValue = 10;
> optional int64 longNum = 11;
> optional bool booleanValue = 12;
> optional int64 timeStampValue = 13;
> optional int32 byteNum = 14;
> optional int64 timeValue = 15;
> optional int64 dateValue = 16;
> optional int32 charValue = 17;
> }
> {code}
> VDB:
> {code:xml}
> <?xml version="1.0" encoding="UTF-8" standalone="yes"?>
> <vdb name="teiid4590" version="1">
> <model name="jdgSource1" type="PHYSICAL">
> <source name="jdgSource1" connection-jndi-name="java:/infinispanRemoteDSL"
> translator-name="infinispan-cache-dsl" />
> </model>
> </vdb>
> {code}
> SQL query used:
> {code:sql}
> INSERT INTO jdgSource1.SmallA(intKey,stringKey) VALUES(1,'1')
> {code}
> Error on execute:
> {code}
> 09:47:16,828 INFO [MultiPlatformProcessRunner] 09:47:16,827 WARN [org.teiid.PROCESSOR] (Worker0_QueryProcessorQueue0) TEIID30020 Processing exception for request WwSb1MLjGZXu.0 'TEIID30492 Element jdgSource1.SmallA.booleanValue of jdgSource1.SmallA is neither nullable nor has a default value. A value must be specified in the insert.'. Originally QueryValidatorException Request.java:334. Enable more detailed logging to see the entire stacktrace.
> 09:47:16,875 INFO [TeiidConnectionUtils] Closing connection org.teiid.jdbc.ConnectionImpl@55dfebeb
> 09:47:16,878 ERROR [LoggingTestListener] Error in test.
> org.teiid.jdbc.TeiidSQLException: TEIID30492 Element jdgSource1.SmallA.booleanValue of jdgSource1.SmallA is neither nullable nor has a default value. A value must be specified in the insert.
> at org.teiid.jdbc.TeiidSQLException.create(TeiidSQLException.java:135) ~[teiid-jdbc-8.12.7.6_3-redhat-1.jar:8.12.7.6_3-redhat-1]
> at org.teiid.jdbc.TeiidSQLException.create(TeiidSQLException.java:71) ~[teiid-jdbc-8.12.7.6_3-redhat-1.jar:8.12.7.6_3-redhat-1]
> at org.teiid.jdbc.StatementImpl.postReceiveResults(StatementImpl.java:721) ~[teiid-jdbc-8.12.7.6_3-redhat-1.jar:8.12.7.6_3-redhat-1]
> at org.teiid.jdbc.StatementImpl.access$100(StatementImpl.java:64) ~[teiid-jdbc-8.12.7.6_3-redhat-1.jar:8.12.7.6_3-redhat-1]
> at org.teiid.jdbc.StatementImpl$2.onCompletion(StatementImpl.java:560) ~[teiid-jdbc-8.12.7.6_3-redhat-1.jar:8.12.7.6_3-redhat-1]
> at org.teiid.client.util.ResultsFuture.done(ResultsFuture.java:135) ~[teiid-jdbc-8.12.7.6_3-redhat-1.jar:8.12.7.6_3-redhat-1]
> at org.teiid.client.util.ResultsFuture.access$200(ResultsFuture.java:40) ~[teiid-jdbc-8.12.7.6_3-redhat-1.jar:8.12.7.6_3-redhat-1]
> at org.teiid.client.util.ResultsFuture$1.receiveResults(ResultsFuture.java:79) ~[teiid-jdbc-8.12.7.6_3-redhat-1.jar:8.12.7.6_3-redhat-1]
> at org.teiid.net.socket.SocketServerInstanceImpl.receivedMessage(SocketServerInstanceImpl.java:268) ~[teiid-jdbc-8.12.7.6_3-redhat-1.jar:8.12.7.6_3-redhat-1]
> at org.teiid.net.socket.SocketServerInstanceImpl.read(SocketServerInstanceImpl.java:306) ~[teiid-jdbc-8.12.7.6_3-redhat-1.jar:8.12.7.6_3-redhat-1]
> at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) ~[?:1.8.0_102]
> at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) ~[?:1.8.0_102]
> at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) ~[?:1.8.0_102]
> at java.lang.reflect.Method.invoke(Method.java:498) ~[?:1.8.0_102]
> at org.teiid.net.socket.SocketServerConnectionFactory$ShutdownHandler.invoke(SocketServerConnectionFactory.java:98) ~[teiid-jdbc-8.12.7.6_3-redhat-1.jar:8.12.7.6_3-redhat-1]
> at com.sun.proxy.$Proxy31.read(Unknown Source) ~[?:?]
> at org.teiid.net.socket.SocketServerInstanceImpl$RemoteInvocationHandler$1.get(SocketServerInstanceImpl.java:405) ~[teiid-jdbc-8.12.7.6_3-redhat-1.jar:8.12.7.6_3-redhat-1]
> at org.teiid.jdbc.StatementImpl.executeSql(StatementImpl.java:569) ~[teiid-jdbc-8.12.7.6_3-redhat-1.jar:8.12.7.6_3-redhat-1]
> at org.teiid.jdbc.StatementImpl.execute(StatementImpl.java:1063) ~[teiid-jdbc-8.12.7.6_3-redhat-1.jar:8.12.7.6_3-redhat-1]
> at org.teiid.jdbc.StatementImpl.execute(StatementImpl.java:338) ~[teiid-jdbc-8.12.7.6_3-redhat-1.jar:8.12.7.6_3-redhat-1]
> at org.jboss.qe.dvqe.reproducers.Teiid4590Test.testStagingTableMetadataLoad(Teiid4590Test.java:86) ~[test-classes/:?]
> at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) ~[?:1.8.0_102]
> at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) ~[?:1.8.0_102]
> at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) ~[?:1.8.0_102]
> at java.lang.reflect.Method.invoke(Method.java:498) ~[?:1.8.0_102]
> at org.testng.internal.MethodInvocationHelper.invokeMethod(MethodInvocationHelper.java:85) ~[testng-6.8.21.jar:?]
> at org.testng.internal.MethodInvocationHelper$1.runTestMethod(MethodInvocationHelper.java:200) ~[testng-6.8.21.jar:?]
> at org.jboss.qe.tests.listeners.DBAllocatorAwareTestListener.run(DBAllocatorAwareTestListener.java:808) ~[db-annotations-0.1-SNAPSHOT.jar:?]
> at org.testng.internal.MethodInvocationHelper.invokeHookable(MethodInvocationHelper.java:212) ~[testng-6.8.21.jar:?]
> at org.testng.internal.Invoker.invokeMethod(Invoker.java:689) [testng-6.8.21.jar:?]
> at org.testng.internal.Invoker.invokeTestMethod(Invoker.java:882) [testng-6.8.21.jar:?]
> at org.testng.internal.Invoker.invokeTestMethods(Invoker.java:1189) [testng-6.8.21.jar:?]
> at org.testng.internal.TestMethodWorker.invokeTestMethods(TestMethodWorker.java:124) [testng-6.8.21.jar:?]
> at org.testng.internal.TestMethodWorker.run(TestMethodWorker.java:108) [testng-6.8.21.jar:?]
> at org.testng.TestRunner.privateRun(TestRunner.java:767) [testng-6.8.21.jar:?]
> at org.testng.TestRunner.run(TestRunner.java:617) [testng-6.8.21.jar:?]
> at org.testng.SuiteRunner.runTest(SuiteRunner.java:348) [testng-6.8.21.jar:?]
> at org.testng.SuiteRunner.runSequentially(SuiteRunner.java:343) [testng-6.8.21.jar:?]
> at org.testng.SuiteRunner.privateRun(SuiteRunner.java:305) [testng-6.8.21.jar:?]
> at org.testng.SuiteRunner.run(SuiteRunner.java:254) [testng-6.8.21.jar:?]
> at org.testng.SuiteRunnerWorker.runSuite(SuiteRunnerWorker.java:52) [testng-6.8.21.jar:?]
> at org.testng.SuiteRunnerWorker.run(SuiteRunnerWorker.java:86) [testng-6.8.21.jar:?]
> at org.testng.TestNG.runSuitesSequentially(TestNG.java:1224) [testng-6.8.21.jar:?]
> at org.testng.TestNG.runSuitesLocally(TestNG.java:1149) [testng-6.8.21.jar:?]
> at org.testng.TestNG.run(TestNG.java:1057) [testng-6.8.21.jar:?]
> at org.apache.maven.surefire.testng.TestNGExecutor.run(TestNGExecutor.java:132) [surefire-testng-2.19.1.jar:2.19.1]
> at org.apache.maven.surefire.testng.TestNGDirectoryTestSuite.executeSingleClass(TestNGDirectoryTestSuite.java:112) [surefire-testng-2.19.1.jar:2.19.1]
> at org.apache.maven.surefire.testng.TestNGDirectoryTestSuite.execute(TestNGDirectoryTestSuite.java:99) [surefire-testng-2.19.1.jar:2.19.1]
> at org.apache.maven.surefire.testng.TestNGProvider.invoke(TestNGProvider.java:147) [surefire-testng-2.19.1.jar:2.19.1]
> at org.apache.maven.surefire.booter.ForkedBooter.invokeProviderInSameClassLoader(ForkedBooter.java:290) [surefire-booter-2.19.1.jar:2.19.1]
> at org.apache.maven.surefire.booter.ForkedBooter.runSuitesInProcess(ForkedBooter.java:242) [surefire-booter-2.19.1.jar:2.19.1]
> at org.apache.maven.surefire.booter.ForkedBooter.main(ForkedBooter.java:121) [surefire-booter-2.19.1.jar:2.19.1]
> Caused by: org.teiid.api.exception.query.QueryValidatorException: TEIID30492 Element jdgSource1.SmallA.booleanValue of jdgSource1.SmallA is neither nullable nor has a default value. A value must be specified in the insert.
> at org.teiid.dqp.internal.process.Request.validateWithVisitor(Request.java:334) ~[teiid-engine-8.12.7.6_3-redhat-1.jar:8.12.7.6_3-redhat-1]
> at org.teiid.dqp.internal.process.Request.validateQuery(Request.java:290) ~[teiid-engine-8.12.7.6_3-redhat-1.jar:8.12.7.6_3-redhat-1]
> at org.teiid.dqp.internal.process.Request.generatePlan(Request.java:418) ~[teiid-engine-8.12.7.6_3-redhat-1.jar:8.12.7.6_3-redhat-1]
> at org.teiid.dqp.internal.process.Request.processRequest(Request.java:470) ~[teiid-engine-8.12.7.6_3-redhat-1.jar:8.12.7.6_3-redhat-1]
> at org.teiid.dqp.internal.process.RequestWorkItem.processNew(RequestWorkItem.java:642) ~[teiid-engine-8.12.7.6_3-redhat-1.jar:8.12.7.6_3-redhat-1]
> at org.teiid.dqp.internal.process.RequestWorkItem.process(RequestWorkItem.java:337) ~[teiid-engine-8.12.7.6_3-redhat-1.jar:8.12.7.6_3-redhat-1]
> at org.teiid.dqp.internal.process.AbstractWorkItem.run(AbstractWorkItem.java:51) ~[teiid-engine-8.12.7.6_3-redhat-1.jar:8.12.7.6_3-redhat-1]
> at org.teiid.dqp.internal.process.RequestWorkItem.run(RequestWorkItem.java:274) ~[teiid-engine-8.12.7.6_3-redhat-1.jar:8.12.7.6_3-redhat-1]
> at org.teiid.dqp.internal.process.DQPWorkContext.runInContext(DQPWorkContext.java:276) ~[teiid-engine-8.12.7.6_3-redhat-1.jar:8.12.7.6_3-redhat-1]
> at org.teiid.dqp.internal.process.ThreadReuseExecutor$RunnableWrapper.run(ThreadReuseExecutor.java:119) ~[teiid-engine-8.12.7.6_3-redhat-1.jar:8.12.7.6_3-redhat-1]
> at org.teiid.dqp.internal.process.ThreadReuseExecutor$3.run(ThreadReuseExecutor.java:210) ~[teiid-engine-8.12.7.6_3-redhat-1.jar:8.12.7.6_3-redhat-1]
> at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142) ~[?:1.8.0_102]
> at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617) ~[?:1.8.0_102]
> at java.lang.Thread.run(Thread.java:745) ~[?:1.8.0_102]
> {code}
> Resulting DDL metadata:
> {code:sql}
> CREATE FOREIGN TABLE SmallA (
> intKey integer NOT NULL OPTIONS (NAMEINSOURCE 'intKey', SEARCHABLE 'Searchable', NATIVE_TYPE 'int'),
> stringNum string OPTIONS (NAMEINSOURCE 'stringNum', SEARCHABLE 'Unsearchable', NATIVE_TYPE 'java.lang.String'),
> stringKey string NOT NULL OPTIONS (NAMEINSOURCE 'stringKey', SEARCHABLE 'Unsearchable', NATIVE_TYPE 'java.lang.String'),
> floatNum float OPTIONS (NAMEINSOURCE 'floatNum', SEARCHABLE 'Unsearchable', NATIVE_TYPE 'float'),
> bigIntegerValue biginteger OPTIONS (NAMEINSOURCE 'bigIntegerValue', SEARCHABLE 'Unsearchable', NATIVE_TYPE 'java.lang.String'),
> shortValue short OPTIONS (NAMEINSOURCE 'shortValue', SEARCHABLE 'Unsearchable', NATIVE_TYPE 'int'),
> doubleNum double OPTIONS (NAMEINSOURCE 'doubleNum', SEARCHABLE 'Unsearchable', NATIVE_TYPE 'double'),
> objectValue varbinary OPTIONS (NAMEINSOURCE 'objectValue', SEARCHABLE 'Unsearchable', NATIVE_TYPE 'byte[]'),
> intNum integer OPTIONS (NAMEINSOURCE 'intNum', SEARCHABLE 'Unsearchable', NATIVE_TYPE 'int'),
> bigDecimalValue bigdecimal OPTIONS (NAMEINSOURCE 'bigDecimalValue', SEARCHABLE 'Unsearchable', NATIVE_TYPE 'java.lang.String'),
> longNum long OPTIONS (NAMEINSOURCE 'longNum', SEARCHABLE 'Unsearchable', NATIVE_TYPE 'long'),
> booleanValue boolean NOT NULL OPTIONS (NAMEINSOURCE 'booleanValue', SEARCHABLE 'Unsearchable', NATIVE_TYPE 'boolean'),
> timeStampValue timestamp OPTIONS (NAMEINSOURCE 'timeStampValue', SEARCHABLE 'Unsearchable', NATIVE_TYPE 'long'),
> byteNum byte OPTIONS (NAMEINSOURCE 'byteNum', SEARCHABLE 'Unsearchable', NATIVE_TYPE 'int'),
> timeValue time OPTIONS (NAMEINSOURCE 'timeValue', SEARCHABLE 'Unsearchable', NATIVE_TYPE 'long'),
> dateValue date OPTIONS (NAMEINSOURCE 'dateValue', SEARCHABLE 'Unsearchable', NATIVE_TYPE 'long'),
> charValue char OPTIONS (NAMEINSOURCE 'charValue', SEARCHABLE 'Unsearchable', NATIVE_TYPE 'int'),
> CONSTRAINT PK_INTKEY PRIMARY KEY(intKey)
> ) OPTIONS (UPDATABLE TRUE);
> {code}
--
This message was sent by Atlassian JIRA
(v7.2.3#72005)
7 years, 8 months
[JBoss JIRA] (TEIID-4853) Google translator does not allow update of empty String type cell
by Lucie Fabrikova (JIRA)
[ https://issues.jboss.org/browse/TEIID-4853?page=com.atlassian.jira.plugin... ]
Lucie Fabrikova commented on TEIID-4853:
----------------------------------------
I found another usecase which leads to this issue; if there is a view (CRUD.SmallA_Direct) which defines only a subset of columns defined in foreign table (Source.SmallA), update of such view behaves unexpectedly if any of the other cells of type String (not defined in the view) is empty:
* sometimes (not deterministically) it throws instead of update the exception 'String values cannot be set to null'
> Google translator does not allow update of empty String type cell
> ------------------------------------------------------------------
>
> Key: TEIID-4853
> URL: https://issues.jboss.org/browse/TEIID-4853
> Project: Teiid
> Issue Type: Bug
> Affects Versions: 9.3, 8.12.10.6_3
> Reporter: Lucie Fabrikova
> Assignee: Steven Hawkins
> Attachments: gs-update-empty-cell.log
>
>
> Google translator allows to be inserted null value into column of type String, but subsequent update of any cell in such row throws exception "Spreadsheet translator error: String values cannot be set to null".
--
This message was sent by Atlassian JIRA
(v7.2.3#72005)
7 years, 8 months
[JBoss JIRA] (TEIID-4853) Google translator does not allow update of empty String type cell
by Lucie Fabrikova (JIRA)
[ https://issues.jboss.org/browse/TEIID-4853?page=com.atlassian.jira.plugin... ]
Lucie Fabrikova updated TEIID-4853:
-----------------------------------
Comment: was deleted
(was: I found another usecase which leads to this issue:
- if there is a view (CRUD.SmallA_Direct) which defines only a subset of columns defined in foreign table (Source.SmallA), update of such view throws the exception 'String values cannot be set to null'
if any of the other cells of type String (not defined in the view) is empty.
Workaround: if a trigger for update of SmallA_Direct is defined, translator behaves as expected.
See attached vdb.)
> Google translator does not allow update of empty String type cell
> ------------------------------------------------------------------
>
> Key: TEIID-4853
> URL: https://issues.jboss.org/browse/TEIID-4853
> Project: Teiid
> Issue Type: Bug
> Affects Versions: 9.3, 8.12.10.6_3
> Reporter: Lucie Fabrikova
> Assignee: Steven Hawkins
> Attachments: gs-update-empty-cell.log
>
>
> Google translator allows to be inserted null value into column of type String, but subsequent update of any cell in such row throws exception "Spreadsheet translator error: String values cannot be set to null".
--
This message was sent by Atlassian JIRA
(v7.2.3#72005)
7 years, 8 months
[JBoss JIRA] (TEIID-4853) Google translator does not allow update of empty String type cell
by Lucie Fabrikova (JIRA)
[ https://issues.jboss.org/browse/TEIID-4853?page=com.atlassian.jira.plugin... ]
Lucie Fabrikova commented on TEIID-4853:
----------------------------------------
I found another usecase which leads to this issue:
- if there is a view (CRUD.SmallA_Direct) which defines only a subset of columns defined in foreign table (Source.SmallA), update of such view throws the exception 'String values cannot be set to null'
if any of the other cells of type String (not defined in the view) is empty.
Workaround: if a trigger for update of SmallA_Direct is defined, translator behaves as expected.
See attached vdb.
> Google translator does not allow update of empty String type cell
> ------------------------------------------------------------------
>
> Key: TEIID-4853
> URL: https://issues.jboss.org/browse/TEIID-4853
> Project: Teiid
> Issue Type: Bug
> Affects Versions: 9.3, 8.12.10.6_3
> Reporter: Lucie Fabrikova
> Assignee: Steven Hawkins
> Attachments: gs-update-empty-cell.log
>
>
> Google translator allows to be inserted null value into column of type String, but subsequent update of any cell in such row throws exception "Spreadsheet translator error: String values cannot be set to null".
--
This message was sent by Atlassian JIRA
(v7.2.3#72005)
7 years, 8 months
[JBoss JIRA] (TEIID-4865) DISTINCT not pushed down to multisource sources
by Steven Hawkins (JIRA)
[ https://issues.jboss.org/browse/TEIID-4865?page=com.atlassian.jira.plugin... ]
Steven Hawkins resolved TEIID-4865.
-----------------------------------
Fix Version/s: 9.3
Resolution: Done
Altered the push distinct logic to more broadly push in the multi-source case.
> DISTINCT not pushed down to multisource sources
> -----------------------------------------------
>
> Key: TEIID-4865
> URL: https://issues.jboss.org/browse/TEIID-4865
> Project: Teiid
> Issue Type: Enhancement
> Components: Query Engine
> Affects Versions: 9.2.2
> Reporter: Harold Campbell
> Assignee: Steven Hawkins
> Fix For: 9.3
>
> Attachments: DEBUG_LOG
>
>
> Simple DISTINCT queries do not push down DISTINCT to the underlying sources (SQL Server, in this case) of a multisource schema. Instead, all values are selected, and the sorting out is done in teiid.
> {noformat}
> select distinct bic_status
> from account;
> {noformat}
> Debug plan attached.
> This is an enhancement request to support partial distinct pushdown in the multi-source case.
--
This message was sent by Atlassian JIRA
(v7.2.3#72005)
7 years, 8 months
[JBoss JIRA] (TEIID-4868) formats in timestampformat functions on sybase are ignored.
by Steven Hawkins (JIRA)
[ https://issues.jboss.org/browse/TEIID-4868?page=com.atlassian.jira.plugin... ]
Steven Hawkins resolved TEIID-4868.
-----------------------------------
Resolution: Done
Added the missing capability.
> formats in timestampformat functions on sybase are ignored.
> -----------------------------------------------------------
>
> Key: TEIID-4868
> URL: https://issues.jboss.org/browse/TEIID-4868
> Project: Teiid
> Issue Type: Bug
> Components: JDBC Connector
> Affects Versions: 9.2.2
> Reporter: Bram Gadeyne
> Assignee: Steven Hawkins
> Priority: Blocker
> Fix For: 9.3, 9.2.3
>
>
> Hi,
> For this query
> {code:sql}
> select formattimestamp(gd.AdmissionTime, 'yyyy') as admtime
> from prod_P_GeneralData gd
> where gd.status = 1
> {code}
> The dates returned look like this: Mar 8 2017 5:55PM
> So the format parameter is completely ignored (also for other formats).
> Here is the debug log:
> ============================================================================
> USER COMMAND:
> SELECT formattimestamp(gd.AdmissionTime, 'yyyy') AS admtime FROM izisprod.prod_P_GeneralData AS gd WHERE gd.Status = 1 LIMIT 100
> ----------------------------------------------------------------------------
> OPTIMIZE:
> SELECT formattimestamp(gd.AdmissionTime, 'yyyy') AS admtime FROM izisprod.prod_P_GeneralData AS gd WHERE gd.Status = 1 LIMIT 100
> ----------------------------------------------------------------------------
> GENERATE CANONICAL:
> SELECT formattimestamp(gd.AdmissionTime, 'yyyy') AS admtime FROM izisprod.prod_P_GeneralData AS gd WHERE gd.Status = 1 LIMIT 100
> CANONICAL PLAN:
> TupleLimit(groups=[], props={MAX_TUPLE_LIMIT=100})
> Project(groups=[izisprod.prod_P_GeneralData AS gd], props={PROJECT_COLS=[formattimestamp(gd.AdmissionTime, 'yyyy') AS admtime]})
> Select(groups=[izisprod.prod_P_GeneralData AS gd], props={SELECT_CRITERIA=gd.Status = 1})
> Source(groups=[izisprod.prod_P_GeneralData AS gd])
> ============================================================================
> EXECUTING PlaceAccess
> AFTER:
> TupleLimit(groups=[], props={MAX_TUPLE_LIMIT=100})
> Project(groups=[izisprod.prod_P_GeneralData AS gd], props={PROJECT_COLS=[formattimestamp(gd.AdmissionTime, 'yyyy') AS admtime]})
> Select(groups=[izisprod.prod_P_GeneralData AS gd], props={SELECT_CRITERIA=gd.Status = 1})
> Access(groups=[izisprod.prod_P_GeneralData AS gd], props={SOURCE_HINT=null, MODEL_ID=Schema name=izisprod, nameInSource=null, uuid=mmuuid:095c2821-e16b-4f9d-9c78-0d2d20018d04})
> Source(groups=[izisprod.prod_P_GeneralData AS gd])
> ============================================================================
> EXECUTING PushSelectCriteria
> AFTER:
> TupleLimit(groups=[])
> Project(groups=[izisprod.prod_P_GeneralData AS gd], props={PROJECT_COLS=[formattimestamp(gd.AdmissionTime, 'yyyy') AS admtime]})
> Access(groups=[izisprod.prod_P_GeneralData AS gd], props={SOURCE_HINT=null, MODEL_ID=Schema name=izisprod, nameInSource=null, uuid=mmuuid:095c2821-e16b-4f9d-9c78-0d2d20018d04})
> Select(groups=[izisprod.prod_P_GeneralData AS gd], props={SELECT_CRITERIA=gd.Status = 1})
> Source(groups=[izisprod.prod_P_GeneralData AS gd])
> ============================================================================
> EXECUTING CleanCriteria
> AFTER:
> TupleLimit(groups=[], props={MAX_TUPLE_LIMIT=100, OUTPUT_COLS=null})
> Project(groups=[izisprod.prod_P_GeneralData AS gd], props={PROJECT_COLS=[formattimestamp(gd.AdmissionTime, 'yyyy') AS admtime], OUTPUT_COLS=null})
> Access(groups=[izisprod.prod_P_GeneralData AS gd], props={SOURCE_HINT=null, MODEL_ID=Schema name=izisprod, nameInSource=null, uuid=mmuuid:095c2821-e16b-4f9d-9c78-0d2d20018d04, OUTPUT_COLS=null})
> Select(groups=[izisprod.prod_P_GeneralData AS gd], props={SELECT_CRITERIA=gd.Status = 1, OUTPUT_COLS=null})
> Source(groups=[izisprod.prod_P_GeneralData AS gd], props={OUTPUT_COLS=null})
> ============================================================================
> EXECUTING RaiseAccess
> AFTER:
> Access(groups=[izisprod.prod_P_GeneralData AS gd], props={SOURCE_HINT=null, MODEL_ID=Schema name=izisprod, nameInSource=null, uuid=mmuuid:095c2821-e16b-4f9d-9c78-0d2d20018d04, OUTPUT_COLS=null})
> TupleLimit(groups=[], props={MAX_TUPLE_LIMIT=100, OUTPUT_COLS=null})
> Project(groups=[izisprod.prod_P_GeneralData AS gd], props={PROJECT_COLS=[formattimestamp(gd.AdmissionTime, 'yyyy') AS admtime], OUTPUT_COLS=null})
> Select(groups=[izisprod.prod_P_GeneralData AS gd], props={SELECT_CRITERIA=gd.Status = 1, OUTPUT_COLS=null})
> Source(groups=[izisprod.prod_P_GeneralData AS gd])
> ============================================================================
> EXECUTING AssignOutputElements
> AFTER:
> Access(groups=[izisprod.prod_P_GeneralData AS gd], props={SOURCE_HINT=null, MODEL_ID=Schema name=izisprod, nameInSource=null, uuid=mmuuid:095c2821-e16b-4f9d-9c78-0d2d20018d04, OUTPUT_COLS=[formattimestamp(gd.AdmissionTime, 'yyyy') AS admtime]})
> TupleLimit(groups=[], props={MAX_TUPLE_LIMIT=100, OUTPUT_COLS=[formattimestamp(gd.AdmissionTime, 'yyyy') AS admtime]})
> Project(groups=[izisprod.prod_P_GeneralData AS gd], props={PROJECT_COLS=[formattimestamp(gd.AdmissionTime, 'yyyy') AS admtime], OUTPUT_COLS=[formattimestamp(gd.AdmissionTime, 'yyyy') AS admtime]})
> Select(groups=[izisprod.prod_P_GeneralData AS gd], props={SELECT_CRITERIA=gd.Status = 1, OUTPUT_COLS=[gd.AdmissionTime]})
> Source(groups=[izisprod.prod_P_GeneralData AS gd], props={OUTPUT_COLS=[gd.Status, gd.AdmissionTime]})
> ============================================================================
> EXECUTING PushLimit
> AFTER:
> Access(groups=[izisprod.prod_P_GeneralData AS gd])
> TupleLimit(groups=[])
> Project(groups=[izisprod.prod_P_GeneralData AS gd])
> Select(groups=[izisprod.prod_P_GeneralData AS gd])
> Source(groups=[izisprod.prod_P_GeneralData AS gd])
> ============================================================================
> EXECUTING CalculateCost
> AFTER:
> Access(groups=[izisprod.prod_P_GeneralData AS gd], props={SOURCE_HINT=null, MODEL_ID=Schema name=izisprod, nameInSource=null, uuid=mmuuid:095c2821-e16b-4f9d-9c78-0d2d20018d04, OUTPUT_COLS=[formattimestamp(gd.AdmissionTime, 'yyyy') AS admtime], EST_CARDINALITY=20.0, EST_COL_STATS={formattimestamp(gd.AdmissionTime, 'yyyy')=[1.0, 10.0, -1.0]}})
> TupleLimit(groups=[], props={MAX_TUPLE_LIMIT=100, OUTPUT_COLS=[formattimestamp(gd.AdmissionTime, 'yyyy') AS admtime], EST_CARDINALITY=20.0, EST_COL_STATS={formattimestamp(gd.AdmissionTime, 'yyyy')=[1.0, 10.0, -1.0]}})
> Project(groups=[izisprod.prod_P_GeneralData AS gd], props={PROJECT_COLS=[formattimestamp(gd.AdmissionTime, 'yyyy') AS admtime], OUTPUT_COLS=[formattimestamp(gd.AdmissionTime, 'yyyy') AS admtime], EST_CARDINALITY=20.0, EST_COL_STATS={formattimestamp(gd.AdmissionTime, 'yyyy')=[1.0, 10.0, -1.0]}})
> Select(groups=[izisprod.prod_P_GeneralData AS gd], props={SELECT_CRITERIA=gd.Status = 1, OUTPUT_COLS=[gd.AdmissionTime], EST_CARDINALITY=20.0, EST_COL_STATS={gd.AdmissionTime=[1.0, 10.0, -1.0]}})
> Source(groups=[izisprod.prod_P_GeneralData AS gd], props={OUTPUT_COLS=[gd.Status, gd.AdmissionTime], EST_COL_STATS={gd.Status=[20.0, 200.0, -1.0], gd.AdmissionTime=[20.0, 200.0, -1.0]}, EST_CARDINALITY=400.0})
> ============================================================================
> EXECUTING MergeCriteria
> AFTER:
> Access(groups=[izisprod.prod_P_GeneralData AS gd])
> TupleLimit(groups=[])
> Project(groups=[izisprod.prod_P_GeneralData AS gd])
> Select(groups=[izisprod.prod_P_GeneralData AS gd])
> Source(groups=[izisprod.prod_P_GeneralData AS gd])
> ============================================================================
> EXECUTING PlanSorts
> AFTER:
> Access(groups=[izisprod.prod_P_GeneralData AS gd])
> TupleLimit(groups=[])
> Project(groups=[izisprod.prod_P_GeneralData AS gd])
> Select(groups=[izisprod.prod_P_GeneralData AS gd])
> Source(groups=[izisprod.prod_P_GeneralData AS gd])
> ============================================================================
> EXECUTING CollapseSource
> AFTER:
> Access(groups=[izisprod.prod_P_GeneralData AS gd], props={SOURCE_HINT=null, MODEL_ID=Schema name=izisprod, nameInSource=null, uuid=mmuuid:095c2821-e16b-4f9d-9c78-0d2d20018d04, OUTPUT_COLS=[formattimestamp(gd.AdmissionTime, 'yyyy') AS admtime], EST_CARDINALITY=20.0, EST_COL_STATS={formattimestamp(gd.AdmissionTime, 'yyyy')=[1.0, 10.0, -1.0]}, ATOMIC_REQUEST=SELECT formattimestamp(gd.AdmissionTime, 'yyyy') AS admtime FROM izisprod.prod_P_GeneralData AS gd WHERE gd.Status = 1 LIMIT 100})
> ============================================================================
> CONVERTING PLAN TREE TO PROCESS TREE
> PROCESS PLAN =
> AccessNode(0) output=[formattimestamp(gd.AdmissionTime, 'yyyy') AS admtime] SELECT formattimestamp(g_0.AdmissionTime, 'yyyy') AS c_0 FROM izisprod.prod_P_GeneralData AS g_0 WHERE g_0.Status = 1 LIMIT 100
> ============================================================================
> ----------------------------------------------------------------------------
> OPTIMIZATION COMPLETE:
> PROCESSOR PLAN:
> AccessNode(0) output=[formattimestamp(gd.AdmissionTime, 'yyyy') AS admtime] SELECT formattimestamp(g_0.AdmissionTime, 'yyyy') AS c_0 FROM izisprod.prod_P_GeneralData AS g_0 WHERE g_0.Status = 1 LIMIT 100
> ============================================================================
> In the server logs I can see these statements:
> 2017-04-19 15:16:27,305 DEBUG [org.teiid.COMMAND_LOG] (Worker31_QueryProcessorQueue461) jcAY0lvWhF3d START DATA SRC COMMAND: startTime=2017-04-19 15:16:27.305 requestID=jcAY0lvWhF3d.55 sourceCommandID=0 executionID=83 txID=null modelName=izisprod translatorName=sybase-override sessionID=jcAY0lvWhF3d principal=bram sql=SELECT formattimestamp(g_0.AdmissionTime, 'yyyy') AS c_0 FROM izisprod.prod_P_GeneralData AS g_0 WHERE g_0.Status = 1 LIMIT 100
> 2017-04-19 15:16:27,305 DEBUG [org.teiid.COMMAND_LOG] (Worker31_QueryProcessorQueue461) jcAY0lvWhF3d SOURCE SRC COMMAND: endTime=2017-04-19 15:16:27.305 requestID=jcAY0lvWhF3d.55 sourceCommandID=0 executionID=83 txID=null modelName=izisprod translatorName=sybase-override sessionID=jcAY0lvWhF3d principal=bram sourceCommand=[SELECT TOP 100 CONVERT(VARCHAR, g_0."AdmissionTime", null) AS c_0 FROM "Patient"."dbo"."P_GeneralData" g_0 WHERE g_0."Status" = 1]
> 2017-04-19 15:16:27,308 DEBUG [org.teiid.COMMAND_LOG] (Worker32_QueryProcessorQueue462) jcAY0lvWhF3d END SRC COMMAND: endTime=2017-04-19 15:16:27.308 requestID=jcAY0lvWhF3d.55 sourceCommandID=0 executionID=83 txID=null modelName=izisprod translatorName=sybase-override sessionID=jcAY0lvWhF3d principal=bram finalRowCount=48 cpuTime(ns)=845787
> 2017-04-19 15:16:27,313 INFO [org.teiid.COMMAND_LOG] (Worker32_QueryProcessorQueue463) jcAY0lvWhF3d END USER COMMAND: endTime=2017-04-19 15:16:27.313 requestID=jcAY0lvWhF3d.55 txID=null sessionID=jcAY0lvWhF3d principal=bram vdbName=vdb3 vdbVersion=25 finalRowCount=48
--
This message was sent by Atlassian JIRA
(v7.2.3#72005)
7 years, 8 months
[JBoss JIRA] (TEIID-4868) formats in timestampformat functions on sybase are ignored.
by Steven Hawkins (JIRA)
[ https://issues.jboss.org/browse/TEIID-4868?page=com.atlassian.jira.plugin... ]
Steven Hawkins commented on TEIID-4868:
---------------------------------------
You can use the the delegator translator and override the capability there - https://teiid.gitbooks.io/documents/content/reference/Delegating_Translat...
> formats in timestampformat functions on sybase are ignored.
> -----------------------------------------------------------
>
> Key: TEIID-4868
> URL: https://issues.jboss.org/browse/TEIID-4868
> Project: Teiid
> Issue Type: Bug
> Components: JDBC Connector
> Affects Versions: 9.2.2
> Reporter: Bram Gadeyne
> Assignee: Steven Hawkins
> Priority: Blocker
> Fix For: 9.3, 9.2.3
>
>
> Hi,
> For this query
> {code:sql}
> select formattimestamp(gd.AdmissionTime, 'yyyy') as admtime
> from prod_P_GeneralData gd
> where gd.status = 1
> {code}
> The dates returned look like this: Mar 8 2017 5:55PM
> So the format parameter is completely ignored (also for other formats).
> Here is the debug log:
> ============================================================================
> USER COMMAND:
> SELECT formattimestamp(gd.AdmissionTime, 'yyyy') AS admtime FROM izisprod.prod_P_GeneralData AS gd WHERE gd.Status = 1 LIMIT 100
> ----------------------------------------------------------------------------
> OPTIMIZE:
> SELECT formattimestamp(gd.AdmissionTime, 'yyyy') AS admtime FROM izisprod.prod_P_GeneralData AS gd WHERE gd.Status = 1 LIMIT 100
> ----------------------------------------------------------------------------
> GENERATE CANONICAL:
> SELECT formattimestamp(gd.AdmissionTime, 'yyyy') AS admtime FROM izisprod.prod_P_GeneralData AS gd WHERE gd.Status = 1 LIMIT 100
> CANONICAL PLAN:
> TupleLimit(groups=[], props={MAX_TUPLE_LIMIT=100})
> Project(groups=[izisprod.prod_P_GeneralData AS gd], props={PROJECT_COLS=[formattimestamp(gd.AdmissionTime, 'yyyy') AS admtime]})
> Select(groups=[izisprod.prod_P_GeneralData AS gd], props={SELECT_CRITERIA=gd.Status = 1})
> Source(groups=[izisprod.prod_P_GeneralData AS gd])
> ============================================================================
> EXECUTING PlaceAccess
> AFTER:
> TupleLimit(groups=[], props={MAX_TUPLE_LIMIT=100})
> Project(groups=[izisprod.prod_P_GeneralData AS gd], props={PROJECT_COLS=[formattimestamp(gd.AdmissionTime, 'yyyy') AS admtime]})
> Select(groups=[izisprod.prod_P_GeneralData AS gd], props={SELECT_CRITERIA=gd.Status = 1})
> Access(groups=[izisprod.prod_P_GeneralData AS gd], props={SOURCE_HINT=null, MODEL_ID=Schema name=izisprod, nameInSource=null, uuid=mmuuid:095c2821-e16b-4f9d-9c78-0d2d20018d04})
> Source(groups=[izisprod.prod_P_GeneralData AS gd])
> ============================================================================
> EXECUTING PushSelectCriteria
> AFTER:
> TupleLimit(groups=[])
> Project(groups=[izisprod.prod_P_GeneralData AS gd], props={PROJECT_COLS=[formattimestamp(gd.AdmissionTime, 'yyyy') AS admtime]})
> Access(groups=[izisprod.prod_P_GeneralData AS gd], props={SOURCE_HINT=null, MODEL_ID=Schema name=izisprod, nameInSource=null, uuid=mmuuid:095c2821-e16b-4f9d-9c78-0d2d20018d04})
> Select(groups=[izisprod.prod_P_GeneralData AS gd], props={SELECT_CRITERIA=gd.Status = 1})
> Source(groups=[izisprod.prod_P_GeneralData AS gd])
> ============================================================================
> EXECUTING CleanCriteria
> AFTER:
> TupleLimit(groups=[], props={MAX_TUPLE_LIMIT=100, OUTPUT_COLS=null})
> Project(groups=[izisprod.prod_P_GeneralData AS gd], props={PROJECT_COLS=[formattimestamp(gd.AdmissionTime, 'yyyy') AS admtime], OUTPUT_COLS=null})
> Access(groups=[izisprod.prod_P_GeneralData AS gd], props={SOURCE_HINT=null, MODEL_ID=Schema name=izisprod, nameInSource=null, uuid=mmuuid:095c2821-e16b-4f9d-9c78-0d2d20018d04, OUTPUT_COLS=null})
> Select(groups=[izisprod.prod_P_GeneralData AS gd], props={SELECT_CRITERIA=gd.Status = 1, OUTPUT_COLS=null})
> Source(groups=[izisprod.prod_P_GeneralData AS gd], props={OUTPUT_COLS=null})
> ============================================================================
> EXECUTING RaiseAccess
> AFTER:
> Access(groups=[izisprod.prod_P_GeneralData AS gd], props={SOURCE_HINT=null, MODEL_ID=Schema name=izisprod, nameInSource=null, uuid=mmuuid:095c2821-e16b-4f9d-9c78-0d2d20018d04, OUTPUT_COLS=null})
> TupleLimit(groups=[], props={MAX_TUPLE_LIMIT=100, OUTPUT_COLS=null})
> Project(groups=[izisprod.prod_P_GeneralData AS gd], props={PROJECT_COLS=[formattimestamp(gd.AdmissionTime, 'yyyy') AS admtime], OUTPUT_COLS=null})
> Select(groups=[izisprod.prod_P_GeneralData AS gd], props={SELECT_CRITERIA=gd.Status = 1, OUTPUT_COLS=null})
> Source(groups=[izisprod.prod_P_GeneralData AS gd])
> ============================================================================
> EXECUTING AssignOutputElements
> AFTER:
> Access(groups=[izisprod.prod_P_GeneralData AS gd], props={SOURCE_HINT=null, MODEL_ID=Schema name=izisprod, nameInSource=null, uuid=mmuuid:095c2821-e16b-4f9d-9c78-0d2d20018d04, OUTPUT_COLS=[formattimestamp(gd.AdmissionTime, 'yyyy') AS admtime]})
> TupleLimit(groups=[], props={MAX_TUPLE_LIMIT=100, OUTPUT_COLS=[formattimestamp(gd.AdmissionTime, 'yyyy') AS admtime]})
> Project(groups=[izisprod.prod_P_GeneralData AS gd], props={PROJECT_COLS=[formattimestamp(gd.AdmissionTime, 'yyyy') AS admtime], OUTPUT_COLS=[formattimestamp(gd.AdmissionTime, 'yyyy') AS admtime]})
> Select(groups=[izisprod.prod_P_GeneralData AS gd], props={SELECT_CRITERIA=gd.Status = 1, OUTPUT_COLS=[gd.AdmissionTime]})
> Source(groups=[izisprod.prod_P_GeneralData AS gd], props={OUTPUT_COLS=[gd.Status, gd.AdmissionTime]})
> ============================================================================
> EXECUTING PushLimit
> AFTER:
> Access(groups=[izisprod.prod_P_GeneralData AS gd])
> TupleLimit(groups=[])
> Project(groups=[izisprod.prod_P_GeneralData AS gd])
> Select(groups=[izisprod.prod_P_GeneralData AS gd])
> Source(groups=[izisprod.prod_P_GeneralData AS gd])
> ============================================================================
> EXECUTING CalculateCost
> AFTER:
> Access(groups=[izisprod.prod_P_GeneralData AS gd], props={SOURCE_HINT=null, MODEL_ID=Schema name=izisprod, nameInSource=null, uuid=mmuuid:095c2821-e16b-4f9d-9c78-0d2d20018d04, OUTPUT_COLS=[formattimestamp(gd.AdmissionTime, 'yyyy') AS admtime], EST_CARDINALITY=20.0, EST_COL_STATS={formattimestamp(gd.AdmissionTime, 'yyyy')=[1.0, 10.0, -1.0]}})
> TupleLimit(groups=[], props={MAX_TUPLE_LIMIT=100, OUTPUT_COLS=[formattimestamp(gd.AdmissionTime, 'yyyy') AS admtime], EST_CARDINALITY=20.0, EST_COL_STATS={formattimestamp(gd.AdmissionTime, 'yyyy')=[1.0, 10.0, -1.0]}})
> Project(groups=[izisprod.prod_P_GeneralData AS gd], props={PROJECT_COLS=[formattimestamp(gd.AdmissionTime, 'yyyy') AS admtime], OUTPUT_COLS=[formattimestamp(gd.AdmissionTime, 'yyyy') AS admtime], EST_CARDINALITY=20.0, EST_COL_STATS={formattimestamp(gd.AdmissionTime, 'yyyy')=[1.0, 10.0, -1.0]}})
> Select(groups=[izisprod.prod_P_GeneralData AS gd], props={SELECT_CRITERIA=gd.Status = 1, OUTPUT_COLS=[gd.AdmissionTime], EST_CARDINALITY=20.0, EST_COL_STATS={gd.AdmissionTime=[1.0, 10.0, -1.0]}})
> Source(groups=[izisprod.prod_P_GeneralData AS gd], props={OUTPUT_COLS=[gd.Status, gd.AdmissionTime], EST_COL_STATS={gd.Status=[20.0, 200.0, -1.0], gd.AdmissionTime=[20.0, 200.0, -1.0]}, EST_CARDINALITY=400.0})
> ============================================================================
> EXECUTING MergeCriteria
> AFTER:
> Access(groups=[izisprod.prod_P_GeneralData AS gd])
> TupleLimit(groups=[])
> Project(groups=[izisprod.prod_P_GeneralData AS gd])
> Select(groups=[izisprod.prod_P_GeneralData AS gd])
> Source(groups=[izisprod.prod_P_GeneralData AS gd])
> ============================================================================
> EXECUTING PlanSorts
> AFTER:
> Access(groups=[izisprod.prod_P_GeneralData AS gd])
> TupleLimit(groups=[])
> Project(groups=[izisprod.prod_P_GeneralData AS gd])
> Select(groups=[izisprod.prod_P_GeneralData AS gd])
> Source(groups=[izisprod.prod_P_GeneralData AS gd])
> ============================================================================
> EXECUTING CollapseSource
> AFTER:
> Access(groups=[izisprod.prod_P_GeneralData AS gd], props={SOURCE_HINT=null, MODEL_ID=Schema name=izisprod, nameInSource=null, uuid=mmuuid:095c2821-e16b-4f9d-9c78-0d2d20018d04, OUTPUT_COLS=[formattimestamp(gd.AdmissionTime, 'yyyy') AS admtime], EST_CARDINALITY=20.0, EST_COL_STATS={formattimestamp(gd.AdmissionTime, 'yyyy')=[1.0, 10.0, -1.0]}, ATOMIC_REQUEST=SELECT formattimestamp(gd.AdmissionTime, 'yyyy') AS admtime FROM izisprod.prod_P_GeneralData AS gd WHERE gd.Status = 1 LIMIT 100})
> ============================================================================
> CONVERTING PLAN TREE TO PROCESS TREE
> PROCESS PLAN =
> AccessNode(0) output=[formattimestamp(gd.AdmissionTime, 'yyyy') AS admtime] SELECT formattimestamp(g_0.AdmissionTime, 'yyyy') AS c_0 FROM izisprod.prod_P_GeneralData AS g_0 WHERE g_0.Status = 1 LIMIT 100
> ============================================================================
> ----------------------------------------------------------------------------
> OPTIMIZATION COMPLETE:
> PROCESSOR PLAN:
> AccessNode(0) output=[formattimestamp(gd.AdmissionTime, 'yyyy') AS admtime] SELECT formattimestamp(g_0.AdmissionTime, 'yyyy') AS c_0 FROM izisprod.prod_P_GeneralData AS g_0 WHERE g_0.Status = 1 LIMIT 100
> ============================================================================
> In the server logs I can see these statements:
> 2017-04-19 15:16:27,305 DEBUG [org.teiid.COMMAND_LOG] (Worker31_QueryProcessorQueue461) jcAY0lvWhF3d START DATA SRC COMMAND: startTime=2017-04-19 15:16:27.305 requestID=jcAY0lvWhF3d.55 sourceCommandID=0 executionID=83 txID=null modelName=izisprod translatorName=sybase-override sessionID=jcAY0lvWhF3d principal=bram sql=SELECT formattimestamp(g_0.AdmissionTime, 'yyyy') AS c_0 FROM izisprod.prod_P_GeneralData AS g_0 WHERE g_0.Status = 1 LIMIT 100
> 2017-04-19 15:16:27,305 DEBUG [org.teiid.COMMAND_LOG] (Worker31_QueryProcessorQueue461) jcAY0lvWhF3d SOURCE SRC COMMAND: endTime=2017-04-19 15:16:27.305 requestID=jcAY0lvWhF3d.55 sourceCommandID=0 executionID=83 txID=null modelName=izisprod translatorName=sybase-override sessionID=jcAY0lvWhF3d principal=bram sourceCommand=[SELECT TOP 100 CONVERT(VARCHAR, g_0."AdmissionTime", null) AS c_0 FROM "Patient"."dbo"."P_GeneralData" g_0 WHERE g_0."Status" = 1]
> 2017-04-19 15:16:27,308 DEBUG [org.teiid.COMMAND_LOG] (Worker32_QueryProcessorQueue462) jcAY0lvWhF3d END SRC COMMAND: endTime=2017-04-19 15:16:27.308 requestID=jcAY0lvWhF3d.55 sourceCommandID=0 executionID=83 txID=null modelName=izisprod translatorName=sybase-override sessionID=jcAY0lvWhF3d principal=bram finalRowCount=48 cpuTime(ns)=845787
> 2017-04-19 15:16:27,313 INFO [org.teiid.COMMAND_LOG] (Worker32_QueryProcessorQueue463) jcAY0lvWhF3d END USER COMMAND: endTime=2017-04-19 15:16:27.313 requestID=jcAY0lvWhF3d.55 txID=null sessionID=jcAY0lvWhF3d principal=bram vdbName=vdb3 vdbVersion=25 finalRowCount=48
--
This message was sent by Atlassian JIRA
(v7.2.3#72005)
7 years, 8 months
[JBoss JIRA] (TEIID-4854) Google translator fails to update timestamp value reformatted after update
by Lucie Fabrikova (JIRA)
[ https://issues.jboss.org/browse/TEIID-4854?page=com.atlassian.jira.plugin... ]
Lucie Fabrikova updated TEIID-4854:
-----------------------------------
Description:
Cell of type timestamp is reformatted after an update. Data inserted from teiid are in format "yyyy-mm-dd hh:mm:ss[.fffffffff]", which is reformatted to "dd/mm/yyyy hh:mm:ss[.fffffffff]". Subsequent update of such row throws exception "Could not convert source column Source.smalla.timestampvalue to the expected runtime type timestamp".
Google spreadsheet locale was UK, timezone was set to Berlin.
was:Cell of type timestamp is reformatted after an update. Data inserted from teiid are in format "yyyy-mm-dd hh:mm:ss[.fffffffff]", which is reformatted to "dd/mm/yyyy hh:mm:ss[.fffffffff]". Subsequent update of such row throws exception "Could not convert source column Source.smalla.timestampvalue to the expected runtime type timestamp".
> Google translator fails to update timestamp value reformatted after update
> --------------------------------------------------------------------------
>
> Key: TEIID-4854
> URL: https://issues.jboss.org/browse/TEIID-4854
> Project: Teiid
> Issue Type: Bug
> Affects Versions: 9.3, 8.12.10.6_3
> Reporter: Lucie Fabrikova
> Assignee: Steven Hawkins
> Fix For: 9.3
>
> Attachments: gs-reformatted-timestamp.log
>
>
> Cell of type timestamp is reformatted after an update. Data inserted from teiid are in format "yyyy-mm-dd hh:mm:ss[.fffffffff]", which is reformatted to "dd/mm/yyyy hh:mm:ss[.fffffffff]". Subsequent update of such row throws exception "Could not convert source column Source.smalla.timestampvalue to the expected runtime type timestamp".
> Google spreadsheet locale was UK, timezone was set to Berlin.
--
This message was sent by Atlassian JIRA
(v7.2.3#72005)
7 years, 8 months