本文整理汇总了Python中qgis.core.QgsSQLStatement类的典型用法代码示例。如果您正苦于以下问题:Python QgsSQLStatement类的具体用法?Python QgsSQLStatement怎么用?Python QgsSQLStatement使用的例子?那么恭喜您, 这里精选的类代码示例或许可以为您提供帮助。
在下文中一共展示了QgsSQLStatement类的4个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于我们的系统推荐出更棒的Python代码示例。
示例1: checkNominal
def checkNominal(self, statement, expected_dump=None):
exp = QgsSQLStatement(statement)
self.assertEqual(exp.hasParserError(), False)
self.assertEqual(exp.parserErrorString(), "")
if expected_dump is None:
expected_dump = statement
self.assertEqual(exp.dump(), expected_dump)
self.assertEqual(exp.dump(), exp.rootNode().clone().dump())
开发者ID:timlinux,项目名称:QGIS,代码行数:8,代码来源:test_qgssqlstatement.py
示例2: testNominalSimple
def testNominalSimple(self):
statement = "SELECT a FROM t"
self.checkNominal(statement)
exp = QgsSQLStatement(statement)
statement_node = exp.rootNode()
self.assertEqual(statement_node.nodeType(), QgsSQLStatement.ntSelect)
tables = statement_node.tables()
self.assertEqual(len(tables), 1)
table = tables[0]
self.assertEqual(table.nodeType(), QgsSQLStatement.ntTableDef)
self.assertEqual(table.name(), 't')
self.assertEqual(table.alias(), '')
columns = statement_node.columns()
self.assertEqual(len(columns), 1)
column = columns[0]
self.assertEqual(column.nodeType(), QgsSQLStatement.ntSelectedColumn)
column_ref = column.column()
self.assertEqual(column.alias(), '')
self.assertEqual(column_ref.nodeType(), QgsSQLStatement.ntColumnRef)
self.assertEqual(column_ref.name(), 'a')
self.assertEqual(column_ref.tableName(), '')
开发者ID:timlinux,项目名称:QGIS,代码行数:21,代码来源:test_qgssqlstatement.py
示例3: testBasicValidationCheck
def testBasicValidationCheck(self):
exp = QgsSQLStatement("error")
(b, errorMsg) = exp.doBasicValidationChecks()
self.assertFalse(b)
self.assertEqual(errorMsg, 'No root node')
exp = QgsSQLStatement("SELECT c FROM t")
(b, errorMsg) = exp.doBasicValidationChecks()
self.assertTrue(b)
self.assertEqual(errorMsg, '')
exp = QgsSQLStatement("SELECT t.c FROM t ORDER BY t.c")
(b, errorMsg) = exp.doBasicValidationChecks()
self.assertTrue(b)
self.assertEqual(errorMsg, '')
exp = QgsSQLStatement("SELECT t.c FROM t t_alias")
(b, errorMsg) = exp.doBasicValidationChecks()
self.assertFalse(b)
self.assertEqual(
errorMsg, 'Table t is referenced by column c, but not selected in FROM / JOIN.')
exp = QgsSQLStatement(
"SELECT CAST(1 + foo(t_unknown.a) AS varchar) FROM t")
(b, errorMsg) = exp.doBasicValidationChecks()
self.assertFalse(b)
self.assertEqual(
errorMsg, 'Table t_unknown is referenced by column a, but not selected in FROM / JOIN.')
exp = QgsSQLStatement("SELECT c FROM t WHERE t_unknown.a = 1")
(b, errorMsg) = exp.doBasicValidationChecks()
self.assertFalse(b)
self.assertEqual(
errorMsg, 'Table t_unknown is referenced by column a, but not selected in FROM / JOIN.')
exp = QgsSQLStatement(
"SELECT c FROM t JOIN t2 ON t.c1 = t2.c2 AND t3.c3 IS NOT NULL")
(b, errorMsg) = exp.doBasicValidationChecks()
self.assertFalse(b)
self.assertEqual(
errorMsg, 'Table t3 is referenced by column c3, but not selected in FROM / JOIN.')
exp = QgsSQLStatement("SELECT c FROM t ORDER BY t_unknown.c")
(b, errorMsg) = exp.doBasicValidationChecks()
self.assertFalse(b)
self.assertEqual(
errorMsg, 'Table t_unknown is referenced by column c, but not selected in FROM / JOIN.')
开发者ID:timlinux,项目名称:QGIS,代码行数:47,代码来源:test_qgssqlstatement.py
示例4: checkError
def checkError(self, statement):
exp = QgsSQLStatement(statement)
self.assertEqual(exp.hasParserError(), True)
self.assertNotEqual(exp.parserErrorString(), '')
self.assertEqual(exp.dump(), "(no root)")
self.assertEqual(exp.rootNode(), None)
开发者ID:timlinux,项目名称:QGIS,代码行数:6,代码来源:test_qgssqlstatement.py
注:本文中的qgis.core.QgsSQLStatement类示例由纯净天空整理自Github/MSDocs等源码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。 |
请发表评论