[JBoss JIRA] (TEIID-2605) Optimization substitutes wrong column in where clause
by Steven Hawkins (JIRA)
[ https://issues.jboss.org/browse/TEIID-2605?page=com.atlassian.jira.plugin... ]
Steven Hawkins closed TEIID-2605.
---------------------------------
> Optimization substitutes wrong column in where clause
> -----------------------------------------------------
>
> Key: TEIID-2605
> URL: https://issues.jboss.org/browse/TEIID-2605
> Project: Teiid
> Issue Type: Bug
> Components: Query Engine
> Affects Versions: 8.1
> Environment: z/OS
> Reporter: Jeff Hayes
> Assignee: Steven Hawkins
> Attachments: query_plan.txt, views.xml
>
>
> Optimization results in a query with a different column in the WHERE clause producing an empty result set.
> Full query plan is attached but the beginning and ending queries are shown below. Note that the subject column of the IN clause is SCOPEID but optimization changes it to AUTHID for some reason.
> USER COMMAND:
> SELECT * FROM SECURITY.SCPXREF AS CHORUS_B WHERE (CHORUS_B.SYSID = 'DE29') AND ((CHORUS_B.SCOPEID IN (SELECT SN5.SCOPEID FROM SECURI
> TY.SCPNEXT AS SN5 WHERE (SYSID = 'DE29') AND (NEXTREC IN (SELECT SN4.SCOPEID FROM SECURITY.SCPNEXT AS SN4 WHERE (SYSID = 'DE29') AND
> (NEXTREC IN (SELECT SN3.SCOPEID FROM SECURITY.SCPNEXT AS SN3 WHERE (SYSID = 'DE29') AND (NEXTREC IN (SELECT SN2.SCOPEID FROM SECURI
> TY.SCPNEXT AS SN2 WHERE (SYSID = 'DE29') AND (NEXTREC = 'CHRDEPT1'))))))))) OR (CHORUS_B.SCOPEID IN (SELECT SN4.SCOPEID FROM SECURIT
> Y.SCPNEXT AS SN4 WHERE (SYSID = 'DE29') AND (NEXTREC IN (SELECT SN3.SCOPEID FROM SECURITY.SCPNEXT AS SN3 WHERE (SYSID = 'DE29') AND
> (NEXTREC IN (SELECT SN2.SCOPEID FROM SECURITY.SCPNEXT AS SN2 WHERE (SYSID = 'DE29') AND (NEXTREC = 'CHRDEPT1'))))))) OR (CHORUS_B.SC
> OPEID IN (SELECT SN3.SCOPEID FROM SECURITY.SCPNEXT AS SN3 WHERE (SYSID = 'DE29') AND (NEXTREC IN (SELECT SN2.SCOPEID FROM SECURITY.S
> CPNEXT AS SN2 WHERE (SYSID = 'DE29') AND (NEXTREC = 'CHRDEPT1'))))) OR (CHORUS_B.SCOPEID IN (SELECT SN2.SCOPEID FROM SECURITY.SCPNEX
> T AS SN2 WHERE (SYSID = 'DE29') AND (NEXTREC = 'CHRDEPT1'))) OR (CHORUS_B.SCOPEID = 'CHRDEPT1'))
> OPTIMIZATION COMPLETE:
> PROCESSOR PLAN:
> AccessNode(10) output=[x.sysid AS sysid, x.scopeid AS authid, x.authid AS scopeid, x.authtype AS authtype] SELECT g_0.SYSID, g_0.SCO
> PEID, g_0.AUTHID, g_0.AUTHTYPE FROM SECURITY_CIA_DB2_D91BPTIB_CIADB01.SCPXREF AS g_0 WHERE (g_0.SYSID = 'DE29') AND ((g_0.AUTHID IN
> (SELECT g_1.SCOPEID FROM SECURITY_CIA_DB2_D91BPTIB_CIADB01.SCPNEXT AS g_1 WHERE (g_1.SYSID = 'DE29') AND (g_1.NEXTREC IN (SELECT g_2
> .SCOPEID FROM SECURITY_CIA_DB2_D91BPTIB_CIADB01.SCPNEXT AS g_2 WHERE (g_2.SYSID = 'DE29') AND (g_2.NEXTREC IN (SELECT g_3.SCOPEID FR
> OM SECURITY_CIA_DB2_D91BPTIB_CIADB01.SCPNEXT AS g_3 WHERE (g_3.SYSID = 'DE29') AND (g_3.NEXTREC IN (SELECT g_4.SCOPEID FROM SECURITY
> _CIA_DB2_D91BPTIB_CIADB01.SCPNEXT AS g_4 WHERE (g_4.SYSID = 'DE29') AND (g_4.NEXTREC = 'CHRDEPT1'))))))))) OR (g_0.AUTHID IN (SELECT
> g_5.SCOPEID FROM SECURITY_CIA_DB2_D91BPTIB_CIADB01.SCPNEXT AS g_5 WHERE (g_5.SYSID = 'DE29') AND (g_5.NEXTREC IN (SELECT g_6.SCOPEI
> D FROM SECURITY_CIA_DB2_D91BPTIB_CIADB01.SCPNEXT AS g_6 WHERE (g_6.SYSID = 'DE29') AND (g_6.NEXTREC IN (SELECT g_7.SCOPEID FROM SECU
> RITY_CIA_DB2_D91BPTIB_CIADB01.SCPNEXT AS g_7 WHERE (g_7.SYSID = 'DE29') AND (g_7.NEXTREC = 'CHRDEPT1'))))))) OR (g_0.AUTHID IN (SELE
> CT g_8.SCOPEID FROM SECURITY_CIA_DB2_D91BPTIB_CIADB01.SCPNEXT AS g_8 WHERE (g_8.SYSID = 'DE29') AND (g_8.NEXTREC IN (SELECT g_9.SCOP
> EID FROM SECURITY_CIA_DB2_D91BPTIB_CIADB01.SCPNEXT AS g_9 WHERE (g_9.SYSID = 'DE29') AND (g_9.NEXTREC = 'CHRDEPT1'))))) OR (g_0.AUTH
> ID IN (SELECT g_10.SCOPEID FROM SECURITY_CIA_DB2_D91BPTIB_CIADB01.SCPNEXT AS g_10 WHERE (g_10.SYSID = 'DE29') AND (g_10.NEXTREC = 'C
> HRDEPT1'))) OR (g_0.AUTHID = 'CHRDEPT1'))
> The view definitions are shown below:
> <view name="SCPNEXT">
> <columns>
> <column name="sysid" type="varchar"/>
> <column name="scopeid" type="varchar"/>
> <column name="nextrec" type="varchar"/>
> </columns>
> <definition>
> #if ($db.count("select count(*) from sys.tables where Name='config' and SchemaName = 'security_db'") > 0)
> #set ($count = 0)
> #foreach($t in $db.query("select DB_TYPE, DB_LOC, DB_QUAL from security_db.config WHERE TYPE = 'CIA'"))
> #if ($db.count("select count(*) from sys.tables where SchemaName = 'SECURITY_CIA_${t.DB_TYPE}_${t.DB_LOC}_${t.DB_QUAL}'") == 0)
> #set ($count = $count + 1)
> #end
> #end
> #if ($count == 0)
> SELECT t.sysid, t.scopeid, t.nextrec
> FROM (
> #foreach($t in $db.query("select DB_TYPE, DB_LOC, DB_QUAL from security_db.config WHERE TYPE = 'CIA'"))
> SELECT n.sysid, n.scopeid, n.nextrec
> FROM SECURITY_CIA_${t.DB_TYPE}_${t.DB_LOC}_${t.DB_QUAL}.SCPNEXT n
> #if( $velocityHasNext ) UNION #end
> #end
> ) AS t
> #end
> #end
> </definition>
> </view>
> <view name="SCPXREF">
> <columns>
> <column name="sysid" type="varchar"/>
> <column name="authid" type="varchar"/>
> <column name="scopeid" type="varchar"/>
> <column name="authtype" type="varchar"/>
> </columns>
> <definition>
> #if ($db.count("select count(*) from sys.tables where Name='config' and SchemaName = 'security_db'") > 0)
> #set ($count = 0)
> #foreach($t in $db.query("select DB_TYPE, DB_LOC, DB_QUAL from security_db.config WHERE TYPE = 'CIA'"))
> #if ($db.count("select count(*) from sys.tables where SchemaName = 'SECURITY_CIA_${t.DB_TYPE}_${t.DB_LOC}_${t.DB_QUAL}'") == 0)
> #set ($count = $count + 1)
> #end
> #end
> #if ($count == 0)
> SELECT sysid, scopeid, authid, authtype
> FROM (
> #foreach($t in $db.query("select DB_TYPE, DB_LOC, DB_QUAL from security_db.config WHERE TYPE = 'CIA'"))
> SELECT x.sysid, x.scopeid, x.authid, x.authtype
> FROM SECURITY_CIA_${t.DB_TYPE}_${t.DB_LOC}_${t.DB_QUAL}.SCPXREF x
> #if( $velocityHasNext ) UNION #end
> #end
> ) AS t
> #end
> #end
> </definition>
> </view>
> I guess the best way to test this is to define these views and run the input query with SHOWPLAN=DEBUG and see if the AUTHID substitution is occurring.
> Thanks!
--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira
20 hours, 11 minutes
[JBoss JIRA] (TEIID-3559) Refactor Object and Infinispan translator / connectors
by Van Halbert (JIRA)
[ https://issues.jboss.org/browse/TEIID-3559?page=com.atlassian.jira.plugin... ]
Work on TEIID-3559 started by Van Halbert.
------------------------------------------
> Refactor Object and Infinispan translator / connectors
> ------------------------------------------------------
>
> Key: TEIID-3559
> URL: https://issues.jboss.org/browse/TEIID-3559
> Project: Teiid
> Issue Type: Task
> Components: Misc. Connectors
> Reporter: Van Halbert
> Assignee: Van Halbert
> Priority: Optional
>
> Now that JDG has reworked its remote-cache and changed (reduced) what dependencies its exposed, there's now more common code between the object/infinispan-cache translator/connector and the infinispan-cache-dsl translator/connector. I think refactoring can eliminate issues with support and ensure common behavior across all the code.
> Where is common code seen:
> - searching (i.e., DSLSearch)
> - updates (InfinispanUpdateExecution)
> - ClassRegistry
> (for starters)
--
This message was sent by Atlassian JIRA
(v6.3.15#6346)
10 years, 1 month
[JBoss JIRA] (TEIID-3541) Remove the Teiid embedded kit
by Van Halbert (JIRA)
[ https://issues.jboss.org/browse/TEIID-3541?page=com.atlassian.jira.plugin... ]
Van Halbert commented on TEIID-3541:
------------------------------------
Are we sure we want to remove the creation translator/connector embedded.zip from the teiid build? That seem's the best place to define all its related dependencies and package together. Otherwise, if a change is made there, you have to know to update other projects, which just adds more maintenance.
> Remove the Teiid embedded kit
> -----------------------------
>
> Key: TEIID-3541
> URL: https://issues.jboss.org/browse/TEIID-3541
> Project: Teiid
> Issue Type: Task
> Components: Embedded
> Reporter: Ramesh Reddy
> Assignee: Kylin Soong
> Fix For: 8.12
>
>
> There is no reason to keep a separate embedded kit supplied by Teiid. The scripts that are building the kit needs to be removed from build.
> All the required jar files for the "embedded" examples will be available from the "teiid-embedded-examples". Here we need to focus on documentation, but that is separate effort
--
This message was sent by Atlassian JIRA
(v6.3.15#6346)
10 years, 1 month
[JBoss JIRA] (TEIID-3629) Teiid DDL columns options for Salesforce column have wrong name for "Calculated" property
by RH Bugzilla Integration (JIRA)
[ https://issues.jboss.org/browse/TEIID-3629?page=com.atlassian.jira.plugin... ]
RH Bugzilla Integration updated TEIID-3629:
-------------------------------------------
Bugzilla References: https://bugzilla.redhat.com/show_bug.cgi?id=1253602, https://bugzilla.redhat.com/show_bug.cgi?id=1258546
Bugzilla Update: Perform
> Teiid DDL columns options for Salesforce column have wrong name for "Calculated" property
> -----------------------------------------------------------------------------------------
>
> Key: TEIID-3629
> URL: https://issues.jboss.org/browse/TEIID-3629
> Project: Teiid
> Issue Type: Bug
> Components: Salesforce Connector
> Affects Versions: 8.8
> Reporter: Andrej Šmigala
> Priority: Minor
> Fix For: 8.12
>
> Attachments: sfDDL.ddl
>
>
> Back in 2014, Teiid & Teiid Designer synched our Salesforce constants/extension properties to facilitate DDL import. However, it appears that the teiid_sf:calculated constant wasn't converted properly to *teiid_sf:Calculated*. https://github.com/teiid/teiid/commit/88781c220e1afc79c889cfc5d7c1c3e5d8e...
> I'm able to import the attached DDL if I change *teiid_sf:calculated* to *teiid_sf:Calculated*.
> The following is logged in the error log multiple times when importing Salesforce from Teiid Connection. The imported model appears to work ok (tried previewing a couple tables).
> {quote}
> java.lang.Exception: The property definition "salesforce:calculated" could not be found.
> at org.teiid.designer.core.extension.EmfModelObjectExtensionAssistant.setPropertyValue(EmfModelObjectExtensionAssistant.java:485)
> at org.teiid.designer.ddl.importer.node.EmfModelGenerator.setPropertyValue(EmfModelGenerator.java:1203)
> at org.teiid.designer.ddl.importer.node.EmfModelGenerator.processExtensionProperties(EmfModelGenerator.java:1110)
> at org.teiid.designer.ddl.importer.node.EmfModelGenerator.execute(EmfModelGenerator.java:219)
> at org.teiid.designer.ddl.importer.DdlImporter.save(DdlImporter.java:324)
> at org.teiid.designer.teiidimporter.ui.wizard.TeiidImportManager$2.run(TeiidImportManager.java:802)
> at org.eclipse.jface.operation.ModalContext.runInCurrentThread(ModalContext.java:466)
> at org.eclipse.jface.operation.ModalContext.run(ModalContext.java:374)
> at org.eclipse.jface.dialogs.ProgressMonitorDialog.run(ProgressMonitorDialog.java:527)
> at org.teiid.designer.teiidimporter.ui.wizard.TeiidImportManager.saveUsingDdlDiffReport(TeiidImportManager.java:795)
> at org.teiid.designer.teiidimporter.ui.wizard.TeiidImportWizard.finish(TeiidImportWizard.java:197)
> at org.teiid.designer.ui.common.wizard.AbstractWizard.performFinish(AbstractWizard.java:356)
> at org.eclipse.jface.wizard.WizardDialog.finishPressed(WizardDialog.java:853)
> at org.eclipse.jface.wizard.WizardDialog.buttonPressed(WizardDialog.java:438)
> at org.eclipse.jface.dialogs.Dialog$2.widgetSelected(Dialog.java:619)
> at org.eclipse.swt.widgets.TypedListener.handleEvent(TypedListener.java:248)
> at org.eclipse.swt.widgets.EventTable.sendEvent(EventTable.java:84)
> at org.eclipse.swt.widgets.Display.sendEvent(Display.java:4454)
> at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:1388)
> at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:1412)
> at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:1397)
> at org.eclipse.swt.widgets.Widget.notifyListeners(Widget.java:1182)
> at org.jboss.reddeer.swt.handler.WidgetHandler$4.run(WidgetHandler.java:333)
> at org.jboss.reddeer.swt.util.Display$VoidResultRunnable.run(Display.java:184)
> at org.jboss.reddeer.swt.util.Display$VoidResultRunnable.run(Display.java:1)
> at org.jboss.reddeer.swt.util.Display$ErrorHandlingRunnable.run(Display.java:150)
> at org.eclipse.swt.widgets.RunnableLock.run(RunnableLock.java:35)
> at org.eclipse.swt.widgets.Synchronizer.runAsyncMessages(Synchronizer.java:136)
> at org.eclipse.swt.widgets.Display.runAsyncMessages(Display.java:3774)
> at org.eclipse.swt.widgets.Display.readAndDispatch(Display.java:3412)
> at org.eclipse.jface.window.Window.runEventLoop(Window.java:832)
> at org.eclipse.jface.window.Window.open(Window.java:808)
> at org.eclipse.ui.internal.handlers.WizardHandler$Import.executeHandler(WizardHandler.java:158)
> at org.eclipse.ui.internal.handlers.WizardHandler.execute(WizardHandler.java:290)
> at org.eclipse.ui.internal.handlers.HandlerProxy.execute(HandlerProxy.java:294)
> at org.eclipse.ui.internal.handlers.E4HandlerProxy.execute(E4HandlerProxy.java:90)
> at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
> at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
> at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
> at java.lang.reflect.Method.invoke(Method.java:606)
> at org.eclipse.e4.core.internal.di.MethodRequestor.execute(MethodRequestor.java:55)
> at org.eclipse.e4.core.internal.di.InjectorImpl.invokeUsingClass(InjectorImpl.java:247)
> at org.eclipse.e4.core.internal.di.InjectorImpl.invoke(InjectorImpl.java:229)
> at org.eclipse.e4.core.contexts.ContextInjectionFactory.invoke(ContextInjectionFactory.java:132)
> at org.eclipse.e4.core.commands.internal.HandlerServiceHandler.execute(HandlerServiceHandler.java:149)
> at org.eclipse.core.commands.Command.executeWithChecks(Command.java:499)
> at org.eclipse.core.commands.ParameterizedCommand.executeWithChecks(ParameterizedCommand.java:508)
> at org.eclipse.e4.core.commands.internal.HandlerServiceImpl.executeHandler(HandlerServiceImpl.java:210)
> at org.eclipse.ui.internal.handlers.LegacyHandlerService.executeCommand(LegacyHandlerService.java:343)
> at org.eclipse.ui.internal.actions.CommandAction.runWithEvent(CommandAction.java:159)
> at org.eclipse.jface.action.ActionContributionItem.handleWidgetSelection(ActionContributionItem.java:595)
> at org.eclipse.jface.action.ActionContributionItem.access$2(ActionContributionItem.java:511)
> at org.eclipse.jface.action.ActionContributionItem$5.handleEvent(ActionContributionItem.java:420)
> at org.eclipse.swt.widgets.EventTable.sendEvent(EventTable.java:84)
> at org.eclipse.swt.widgets.Display.sendEvent(Display.java:4454)
> at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:1388)
> at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:1412)
> at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:1397)
> at org.eclipse.swt.widgets.Widget.notifyListeners(Widget.java:1182)
> at org.jboss.reddeer.swt.handler.MenuHandler$5.run(MenuHandler.java:116)
> at org.jboss.reddeer.swt.util.Display$VoidResultRunnable.run(Display.java:184)
> at org.jboss.reddeer.swt.util.Display$VoidResultRunnable.run(Display.java:1)
> at org.jboss.reddeer.swt.util.Display$ErrorHandlingRunnable.run(Display.java:150)
> at org.eclipse.swt.widgets.RunnableLock.run(RunnableLock.java:35)
> at org.eclipse.swt.widgets.Synchronizer.runAsyncMessages(Synchronizer.java:136)
> at org.eclipse.swt.widgets.Display.runAsyncMessages(Display.java:3774)
> at org.eclipse.swt.widgets.Display.readAndDispatch(Display.java:3412)
> at org.eclipse.e4.ui.internal.workbench.swt.PartRenderingEngine$9.run(PartRenderingEngine.java:1151)
> at org.eclipse.core.databinding.observable.Realm.runWithDefault(Realm.java:332)
> at org.eclipse.e4.ui.internal.workbench.swt.PartRenderingEngine.run(PartRenderingEngine.java:1032)
> at org.eclipse.e4.ui.internal.workbench.E4Workbench.createAndRunUI(E4Workbench.java:148)
> at org.eclipse.ui.internal.Workbench$5.run(Workbench.java:636)
> at org.eclipse.core.databinding.observable.Realm.runWithDefault(Realm.java:332)
> at org.eclipse.ui.internal.Workbench.createAndRunWorkbench(Workbench.java:579)
> at org.eclipse.ui.PlatformUI.createAndRunWorkbench(PlatformUI.java:150)
> at org.eclipse.ui.internal.ide.application.IDEApplication.start(IDEApplication.java:135)
> at org.jboss.reddeer.eclipse.core.UITestApplication.start(UITestApplication.java:47)
> at org.eclipse.equinox.internal.app.EclipseAppHandle.run(EclipseAppHandle.java:196)
> at org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.runApplication(EclipseAppLauncher.java:134)
> at org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.start(EclipseAppLauncher.java:104)
> at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:380)
> at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:235)
> at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
> at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
> at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
> at java.lang.reflect.Method.invoke(Method.java:606)
> at org.eclipse.equinox.launcher.Main.invokeFramework(Main.java:648)
> at org.eclipse.equinox.launcher.Main.basicRun(Main.java:603)
> at org.eclipse.equinox.launcher.Main.run(Main.java:1465)
> at org.eclipse.equinox.launcher.Main.main(Main.java:1438)
> {quote}
--
This message was sent by Atlassian JIRA
(v6.3.15#6346)
10 years, 1 month
[JBoss JIRA] (TEIID-3669) Look at consolidating to a single session service
by Steven Hawkins (JIRA)
Steven Hawkins created TEIID-3669:
-------------------------------------
Summary: Look at consolidating to a single session service
Key: TEIID-3669
URL: https://issues.jboss.org/browse/TEIID-3669
Project: Teiid
Issue Type: Quality Risk
Components: Server
Reporter: Steven Hawkins
Assignee: Steven Hawkins
Fix For: 9.0
We should consider moving back to a single session service in Teiid 9 as most of the constraints will be specified on a vdb basis (such as security domain, auth type, etc.) and the separation in the session service causes issues with sessions originating in different transports - TEIID-3663
--
This message was sent by Atlassian JIRA
(v6.3.15#6346)
10 years, 1 month
[JBoss JIRA] (TEIID-3662) IN predicate against a materialized/temp table index without an order by returns wrong results
by Steven Hawkins (JIRA)
[ https://issues.jboss.org/browse/TEIID-3662?page=com.atlassian.jira.plugin... ]
Steven Hawkins updated TEIID-3662:
----------------------------------
Fix Version/s: 8.7.1.6_2
> IN predicate against a materialized/temp table index without an order by returns wrong results
> ----------------------------------------------------------------------------------------------
>
> Key: TEIID-3662
> URL: https://issues.jboss.org/browse/TEIID-3662
> Project: Teiid
> Issue Type: Bug
> Components: Query Engine
> Affects Versions: 8.7
> Reporter: Tom Arnold
> Assignee: Steven Hawkins
> Priority: Blocker
> Fix For: 8.7.1.6_2, 8.12, 8.11.3
>
>
> Seeing strange behavior when doing a simple select from {{SPATIAL_REF_SYS}}.
> This works as expected:
> {code}
> select srid, proj4text from spatial_ref_sys where srid in (3875,4326);
> srid | proj4text
> ------+----------------------------------------------------------------------------------------------------------------
> 3875 | +proj=tmerc +lat_0=0 +lon_0=21 +k=1 +x_0=21500000 +y_0=0 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs
> 4326 | +proj=longlat +datum=WGS84 +no_defs
> (2 rows)
> {code}
> Swapping the values in the IN causes only one row to be returned.
> {code}
> select srid, proj4text from spatial_ref_sys where srid in (4326,3875);
> srid | proj4text
> ------+-------------------------------------
> 4326 | +proj=longlat +datum=WGS84 +no_defs
> (1 row)
> {code}
--
This message was sent by Atlassian JIRA
(v6.3.15#6346)
10 years, 1 month