#include "Statement.h" #include "Node.h" #include "cstring.h" #include "modifysql.h" // Initialize this Type void Node_init_type(PyObject *m) { // Fill node parsing functions Node_init(); if (PyType_Ready(&NodeType) < 0) return; Py_INCREF(&NodeType); PyModule_AddObject(m, "Node", (PyObject*)&NodeType); } /*char* gsp_getNodeText( gsp_node* node ) { gsp_sourcetoken* startToken = NULL; gsp_sourcetoken* endToken = NULL; gsp_sourcetoken* currentToken = NULL; CString* content; char* rc; if(node == NULL) return NULL; if (node->nodeType == t_gsp_list) { if(((gsp_list*)node)->length>0){ startToken = (gsp_list_first((gsp_list *)node))->fragment.startToken; endToken = (gsp_list_last((gsp_list *)node))->fragment.endToken; } }else{ startToken = node->fragment.startToken; endToken = node->fragment.endToken; } currentToken = startToken; if(currentToken == NULL) return NULL; while( startToken!=NULL && startToken!=endToken && startToken->tokenStatus == ets_deleted){ startToken = startToken->pNext; } if(startToken == NULL || startToken->tokenStatus == ets_deleted){ startToken = NULL; endToken = NULL; return NULL; } else{ while(endToken!=NULL && endToken!=startToken && endToken->tokenStatus == ets_deleted){ endToken = endToken->pPrev; } if(endToken == NULL || endToken->tokenStatus == ets_deleted){ startToken = NULL; endToken = NULL; return NULL; } content = CStringNew(); if(currentToken->tokenStatus!=ets_deleted) CStringNAppend(content, currentToken->pStr, currentToken->nStrLen); while(currentToken != endToken && currentToken->pNext!=NULL){ currentToken = currentToken->pNext; if(currentToken->tokenStatus!=ets_deleted) CStringNAppend(content, currentToken->pStr, currentToken->nStrLen); if(currentToken == endToken) break; } rc = content->buffer; CStringDeleteWithoutBuffer(content); return rc; } }*/ char* gsp_getSimpleNodeText(gsp_node* node, gsp_sqlparser *parser) { gsp_sourcetoken* startToken = NULL; gsp_sourcetoken* endToken = NULL; gsp_sourcetoken* currentToken = NULL; CString* content; char* rc; if (node == NULL) return NULL; if (node->nodeType == t_gsp_list) { if (((gsp_list*)node)->length>0){ startToken = (gsp_list_first((gsp_list *)node))->fragment.startToken; endToken = (gsp_list_last((gsp_list *)node))->fragment.endToken; } } else{ startToken = node->fragment.startToken; endToken = node->fragment.endToken; } currentToken = startToken; if (currentToken == NULL) return NULL; while (startToken != NULL && startToken != endToken && startToken->tokenStatus == ets_deleted){ startToken = startToken->pNext; } if (startToken == NULL || startToken->tokenStatus == ets_deleted){ startToken = NULL; endToken = NULL; return NULL; } else{ int start, stop, len; while (endToken != NULL && endToken != startToken && endToken->tokenStatus == ets_deleted){ endToken = endToken->pPrev; } if (endToken == NULL || endToken->tokenStatus == ets_deleted){ startToken = NULL; endToken = NULL; return NULL; } content = CStringNew(); if (startToken == endToken) { start = startToken->nColumn - 1; stop = start + startToken->nStrLen; len = startToken->nStrLen; } else { start = startToken->nColumn - 1; stop = endToken->nColumn + endToken->nStrLen - 1; len = stop - start; } //printf("%d, %d, %d\n", start, stop, len); CStringNAppend(content, parser->sqltext + start, len); rc = content->buffer; CStringDeleteWithoutBuffer(content); return rc; } } PyObject *Node_get_text(SqlNode *self, PyObject *args) { char *tmp; PyObject *name; //tmp = gsp_getNodeText(self->_node); tmp = gsp_getSimpleNodeText(self->_node, self->_parser); if (tmp == NULL) { name = PyString_FromString(""); } else { name = PyString_FromString(tmp); gsp_free(tmp); } //Py_XINCREF(name); return name; } PyObject *Node_get_position(SqlNode *self, PyObject *args) { if (self->_node->fragment.startToken) { char *name; PyObject *pos; //name = gsp_getNodeText(self->_node); name = gsp_getSimpleNodeText(self->_node, self->_parser); if (name == NULL) { Py_RETURN_NONE; } pos = Py_BuildValue("(ii)", self->_node->fragment.startToken->nColumn, strlen(name)); free(name); return pos; } Py_RETURN_NONE; } // Provide a (standard) iterator if it's a list node PyObject *Node_list_iterator(PyObject *o) { SqlNode *node = (SqlNode*) o; if (node->_node->nodeType == t_gsp_list) { PyObject *iter = PyObject_GetIter(PyDict_GetItemString(node->dict, "list")); Py_XDECREF(iter); return iter; } Py_RETURN_NONE; } PyObject *Node_getattro(SqlNode *self, PyObject *name) { if (strcmp(PyString_AS_STRING(name), "node_text") == 0) { return Node_get_text(self, NULL); } return PyObject_GenericGetAttr((PyObject*)self, name); } PyObject *Node_FromNode(gsp_node *node, Statement *stmt) { PyObject *self; PyObject *type; //PyObject *name; //char *tmp; //printf("Node_FromNode(%d) : %p\n", node->nodeType, node); if (Node_parse_functions[node->nodeType] != NULL) { self = Node_parse_functions[node->nodeType](node, stmt); if (self->ob_type == &NodeType) { // it's a SqlNode object! type = PyInt_FromLong(node->nodeType); PyDict_SetItemString(((SqlNode*)self)->dict, "node_type", type); //Py_XDECREF(type); if (node->nodeType == t_gsp_list) { /*name = PyString_FromString("LIST"); PyDict_SetItemString(((SqlNode*)self)->dict, "node_text", name); Py_XDECREF(name);*/ } else { /*tmp = gsp_getNodeText(node); name = PyString_FromString(tmp); gsp_free(tmp); PyDict_SetItemString(((SqlNode*)self)->dict, "node_text", name); Py_XDECREF(name);*/ } } else { // it's something else! maybe a list. we dont judge. } } else { type = PyInt_FromLong(node->nodeType); //printf("NO PARSER FOR NODE TYPE: %d\n", node->nodeType); self = Node_new(&NodeType, NULL, NULL); PyDict_SetItemString(((SqlNode*)self)->dict, "node_type", type); /*tmp = gsp_getNodeText(node); name = PyString_FromString(tmp); gsp_free(tmp); PyDict_SetItemString(((SqlNode*)self)->dict, "node_text", name); Py_XDECREF(name);*/ } //printf("Node_FromNode: %p %p\n", stmt->_statement, stmt->_statement->sqlparser); ((SqlNode*)self)->_parser = stmt->_statement->sqlparser; return (PyObject*)self; } void Node_dealloc(SqlNode *self) { //printf("Node_dealloc %p (%d)\n", self, self->ob_refcnt); Py_XDECREF(self->dict); self->ob_type->tp_free((PyObject*)self); } PyObject *Node_new(PyTypeObject *type, PyObject *args, PyObject *kwds) { SqlNode *self; self = (SqlNode *)type->tp_alloc(type, 0); if (self != NULL) { self->_node = NULL; self->_parser = NULL; self->dict = PyDict_New(); } return (PyObject*) self; } #define ADD_TOKEN(d, path, name) if (path->name) { PyObject *o = PyString_FromStringAndSize(path->name->pStr, path->name->nStrLen); PyDict_SetItemString(d, #name, o); Py_XDECREF(o); } else { PyDict_SetItemString(d, #name, Py_None); } #define ADD_INT(d, path, name) if (true) { PyObject *o = PyInt_FromLong(path->name); PyDict_SetItemString(d, #name, o); Py_XDECREF(o); } #define ADD_NODE(d, path, name) if (path->name) { PyObject *o = Node_FromNode((gsp_node*)path->name, stmt); PyDict_SetItemString(d, #name, o); Py_XDECREF(o); } else { PyDict_SetItemString(d, #name, Py_None); } #define ADD_LIST(d, path, name) if (path->name) { PyObject *o = Node_parsepath->name; PyDict_SetItemString(d, #name, o); Py_XDECREF(o); } else { PyDict_SetItemString(d, #name, Py_None); } PyObject *Node_parse_list(gsp_node *node, Statement *stmt) { PyObject *list; struct gsp_listcell *cell; // generate new Node object SqlNode *obj; obj = (SqlNode*) Node_new(&NodeType, Py_None, Py_None); obj->_node = node; // New list list = PyList_New(0); foreach(cell, ((gsp_list*)node)) { // generate new Node object from list item PyObject *o; o= Node_FromNode((gsp_node*)cell->node, stmt); // add to list PyList_Append(list, (PyObject*) o); Py_XDECREF(o); } // Add list to node PyDict_SetItemString(obj->dict, "list", list); Py_XDECREF(list); return (PyObject*) obj; } /// AUTO-GENERATED PARSING FUNCTIONS PyObject *Node_parse_listcell(gsp_node *node, Statement *stmt) { SqlNode *obj = (SqlNode*)Node_new(&NodeType, Py_None, Py_None); obj->_node = node; ADD_NODE(obj->dict, ((gsp_listcell*)node), node); ADD_NODE(obj->dict, ((gsp_listcell*)node), nextCell); return (PyObject*)obj; } PyObject *Node_parse_sql_statement(gsp_node *node, Statement *stmt) { SqlNode *obj = (SqlNode*)Node_new(&NodeType, Py_None, Py_None); obj->_node = node; ADD_INT(obj->dict, ((gsp_sql_statement*)node), stmtType); ADD_NODE(obj->dict, ((gsp_sql_statement*)node), parseTree); ADD_INT(obj->dict, ((gsp_sql_statement*)node), start_token_pos); ADD_INT(obj->dict, ((gsp_sql_statement*)node), end_token_pos); ADD_INT(obj->dict, ((gsp_sql_statement*)node), bCteQuery); ADD_INT(obj->dict, ((gsp_sql_statement*)node), isParsed); ADD_INT(obj->dict, ((gsp_sql_statement*)node), dummyTag); return (PyObject*)obj; } PyObject *Node_parse_dummy(gsp_node *node, Statement *stmt) { SqlNode *obj = (SqlNode*)Node_new(&NodeType, Py_None, Py_None); obj->_node = node; ADD_NODE(obj->dict, ((gsp_dummy*)node), node1); ADD_INT(obj->dict, ((gsp_dummy*)node), int1); return (PyObject*)obj; } PyObject *Node_parse_constant(gsp_node *node, Statement *stmt) { SqlNode *obj = (SqlNode*)Node_new(&NodeType, Py_None, Py_None); obj->_node = node; ADD_TOKEN(obj->dict, ((gsp_constant*)node), signToken); ADD_TOKEN(obj->dict, ((gsp_constant*)node), stringToken); ADD_INT(obj->dict, ((gsp_constant*)node), constantType); return (PyObject*)obj; } PyObject *Node_parse_objectname(gsp_node *node, Statement *stmt) { SqlNode *obj = (SqlNode*)Node_new(&NodeType, Py_None, Py_None); obj->_node = node; ADD_INT(obj->dict, ((gsp_objectname*)node), objectType); ADD_TOKEN(obj->dict, ((gsp_objectname*)node), serverToken); ADD_TOKEN(obj->dict, ((gsp_objectname*)node), databaseToken); ADD_TOKEN(obj->dict, ((gsp_objectname*)node), schemaToken); ADD_TOKEN(obj->dict, ((gsp_objectname*)node), objectToken); ADD_TOKEN(obj->dict, ((gsp_objectname*)node), partToken); ADD_TOKEN(obj->dict, ((gsp_objectname*)node), propertyToken); ADD_NODE(obj->dict, ((gsp_objectname*)node), fields); ADD_INT(obj->dict, ((gsp_objectname*)node), nTokens); ADD_NODE(obj->dict, ((gsp_objectname*)node), dblink); ADD_NODE(obj->dict, ((gsp_objectname*)node), indices); return (PyObject*)obj; } PyObject *Node_parse_expr(gsp_node *node, Statement *stmt) { SqlNode *obj = (SqlNode*)Node_new(&NodeType, Py_None, Py_None); obj->_node = node; ADD_INT(obj->dict, ((gsp_expr*)node), expressionType); ADD_NODE(obj->dict, ((gsp_expr*)node), objectOperand); ADD_TOKEN(obj->dict, ((gsp_expr*)node), operatorToken); ADD_NODE(obj->dict, ((gsp_expr*)node), leftOperand); ADD_NODE(obj->dict, ((gsp_expr*)node), rightOperand); ADD_NODE(obj->dict, ((gsp_expr*)node), subQueryNode); ADD_NODE(obj->dict, ((gsp_expr*)node), subQueryStmt); ADD_NODE(obj->dict, ((gsp_expr*)node), constantOperand); ADD_NODE(obj->dict, ((gsp_expr*)node), exprList); ADD_NODE(obj->dict, ((gsp_expr*)node), functionCall); ADD_NODE(obj->dict, ((gsp_expr*)node), objectAccess); ADD_NODE(obj->dict, ((gsp_expr*)node), caseExpression); ADD_TOKEN(obj->dict, ((gsp_expr*)node), quantifier); ADD_TOKEN(obj->dict, ((gsp_expr*)node), notToken); ADD_NODE(obj->dict, ((gsp_expr*)node), likeEscapeOperand); ADD_NODE(obj->dict, ((gsp_expr*)node), betweenOperand); ADD_NODE(obj->dict, ((gsp_expr*)node), arrayAccess); ADD_NODE(obj->dict, ((gsp_expr*)node), dataTypeName); ADD_NODE(obj->dict, ((gsp_expr*)node), intervalExpression); ADD_NODE(obj->dict, ((gsp_expr*)node), indices); ADD_NODE(obj->dict, ((gsp_expr*)node), newVariantTypeArgumentList); return (PyObject*)obj; } PyObject *Node_parse_objectAccess(gsp_node *node, Statement *stmt) { SqlNode *obj = (SqlNode*)Node_new(&NodeType, Py_None, Py_None); obj->_node = node; ADD_NODE(obj->dict, ((gsp_objectAccess*)node), objectExpr); ADD_NODE(obj->dict, ((gsp_objectAccess*)node), attributes); ADD_NODE(obj->dict, ((gsp_objectAccess*)node), method); return (PyObject*)obj; } PyObject *Node_parse_aliasClause(gsp_node *node, Statement *stmt) { SqlNode *obj = (SqlNode*)Node_new(&NodeType, Py_None, Py_None); obj->_node = node; ADD_NODE(obj->dict, ((gsp_aliasClause*)node), aliasName); ADD_TOKEN(obj->dict, ((gsp_aliasClause*)node), AsToken); ADD_NODE(obj->dict, ((gsp_aliasClause*)node), nameList); return (PyObject*)obj; } PyObject *Node_parse_resultColumn(gsp_node *node, Statement *stmt) { SqlNode *obj = (SqlNode*)Node_new(&NodeType, Py_None, Py_None); obj->_node = node; ADD_NODE(obj->dict, ((gsp_resultColumn*)node), expr); ADD_NODE(obj->dict, ((gsp_resultColumn*)node), aliasClause); return (PyObject*)obj; } PyObject *Node_parse_trimArgument(gsp_node *node, Statement *stmt) { SqlNode *obj = (SqlNode*)Node_new(&NodeType, Py_None, Py_None); obj->_node = node; ADD_TOKEN(obj->dict, ((gsp_trimArgument*)node), both_trailing_leading); ADD_NODE(obj->dict, ((gsp_trimArgument*)node), stringExpression); ADD_NODE(obj->dict, ((gsp_trimArgument*)node), trimCharacter); return (PyObject*)obj; } PyObject *Node_parse_orderByItem(gsp_node *node, Statement *stmt) { SqlNode *obj = (SqlNode*)Node_new(&NodeType, Py_None, Py_None); obj->_node = node; ADD_NODE(obj->dict, ((gsp_orderByItem*)node), sortKey); ADD_TOKEN(obj->dict, ((gsp_orderByItem*)node), sortToken); return (PyObject*)obj; } PyObject *Node_parse_orderBy(gsp_node *node, Statement *stmt) { SqlNode *obj = (SqlNode*)Node_new(&NodeType, Py_None, Py_None); obj->_node = node; ADD_NODE(obj->dict, ((gsp_orderBy*)node), items); return (PyObject*)obj; } PyObject *Node_parse_keepDenseRankClause(gsp_node *node, Statement *stmt) { SqlNode *obj = (SqlNode*)Node_new(&NodeType, Py_None, Py_None); obj->_node = node; ADD_NODE(obj->dict, ((gsp_keepDenseRankClause*)node), orderBy); return (PyObject*)obj; } PyObject *Node_parse_analyticFunction(gsp_node *node, Statement *stmt) { SqlNode *obj = (SqlNode*)Node_new(&NodeType, Py_None, Py_None); obj->_node = node; ADD_NODE(obj->dict, ((gsp_analyticFunction*)node), keepDenseRankClause); ADD_NODE(obj->dict, ((gsp_analyticFunction*)node), partitionBy_ExprList); ADD_NODE(obj->dict, ((gsp_analyticFunction*)node), orderBy); return (PyObject*)obj; } PyObject *Node_parse_functionCall(gsp_node *node, Statement *stmt) { SqlNode *obj = (SqlNode*)Node_new(&NodeType, Py_None, Py_None); obj->_node = node; ADD_INT(obj->dict, ((gsp_functionCall*)node), functionType); ADD_NODE(obj->dict, ((gsp_functionCall*)node), functionName); ADD_INT(obj->dict, ((gsp_functionCall*)node), aggregateType); ADD_NODE(obj->dict, ((gsp_functionCall*)node), trimArgument); ADD_NODE(obj->dict, ((gsp_functionCall*)node), analyticFunction); ADD_NODE(obj->dict, ((gsp_functionCall*)node), Args); ADD_TOKEN(obj->dict, ((gsp_functionCall*)node), extract_time_token); ADD_NODE(obj->dict, ((gsp_functionCall*)node), expr1); ADD_NODE(obj->dict, ((gsp_functionCall*)node), expr2); ADD_NODE(obj->dict, ((gsp_functionCall*)node), expr3); ADD_NODE(obj->dict, ((gsp_functionCall*)node), dataTypename); ADD_NODE(obj->dict, ((gsp_functionCall*)node), windowDef); ADD_NODE(obj->dict, ((gsp_functionCall*)node), sortClause); ADD_NODE(obj->dict, ((gsp_functionCall*)node), sortList); return (PyObject*)obj; } PyObject *Node_parse_whenClauseItem(gsp_node *node, Statement *stmt) { SqlNode *obj = (SqlNode*)Node_new(&NodeType, Py_None, Py_None); obj->_node = node; ADD_NODE(obj->dict, ((gsp_whenClauseItem*)node), comparison_expr); ADD_NODE(obj->dict, ((gsp_whenClauseItem*)node), stmts); ADD_NODE(obj->dict, ((gsp_whenClauseItem*)node), return_expr); ADD_NODE(obj->dict, ((gsp_whenClauseItem*)node), countFractionDescriptionList); return (PyObject*)obj; } PyObject *Node_parse_caseExpression(gsp_node *node, Statement *stmt) { SqlNode *obj = (SqlNode*)Node_new(&NodeType, Py_None, Py_None); obj->_node = node; ADD_NODE(obj->dict, ((gsp_caseExpression*)node), input_expr); ADD_NODE(obj->dict, ((gsp_caseExpression*)node), else_expr); ADD_NODE(obj->dict, ((gsp_caseExpression*)node), whenClauseItemList); ADD_NODE(obj->dict, ((gsp_caseExpression*)node), else_statement_node_list); return (PyObject*)obj; } PyObject *Node_parse_intervalExpression(gsp_node *node, Statement *stmt) { SqlNode *obj = (SqlNode*)Node_new(&NodeType, Py_None, Py_None); obj->_node = node; return (PyObject*)obj; } PyObject *Node_parse_precisionScale(gsp_node *node, Statement *stmt) { SqlNode *obj = (SqlNode*)Node_new(&NodeType, Py_None, Py_None); obj->_node = node; ADD_NODE(obj->dict, ((gsp_precisionScale*)node), precision); ADD_NODE(obj->dict, ((gsp_precisionScale*)node), scale); return (PyObject*)obj; } PyObject *Node_parse_typename(gsp_node *node, Statement *stmt) { SqlNode *obj = (SqlNode*)Node_new(&NodeType, Py_None, Py_None); obj->_node = node; ADD_INT(obj->dict, ((gsp_typename*)node), dataType); ADD_NODE(obj->dict, ((gsp_typename*)node), precisionScale); ADD_NODE(obj->dict, ((gsp_typename*)node), secondsPrecision); ADD_NODE(obj->dict, ((gsp_typename*)node), length); ADD_NODE(obj->dict, ((gsp_typename*)node), genericName); ADD_NODE(obj->dict, ((gsp_typename*)node), indices); ADD_NODE(obj->dict, ((gsp_typename*)node), datatypeAttributeList); return (PyObject*)obj; } PyObject *Node_parse_keyReference(gsp_node *node, Statement *stmt) { SqlNode *obj = (SqlNode*)Node_new(&NodeType, Py_None, Py_None); obj->_node = node; ADD_INT(obj->dict, ((gsp_keyReference*)node), referenceType); return (PyObject*)obj; } PyObject *Node_parse_keyAction(gsp_node *node, Statement *stmt) { SqlNode *obj = (SqlNode*)Node_new(&NodeType, Py_None, Py_None); obj->_node = node; ADD_INT(obj->dict, ((gsp_keyAction*)node), actionType); ADD_NODE(obj->dict, ((gsp_keyAction*)node), keyReference); return (PyObject*)obj; } PyObject *Node_parse_constraint(gsp_node *node, Statement *stmt) { SqlNode *obj = (SqlNode*)Node_new(&NodeType, Py_None, Py_None); obj->_node = node; ADD_INT(obj->dict, ((gsp_constraint*)node), constraintType); ADD_NODE(obj->dict, ((gsp_constraint*)node), constraintName); ADD_NODE(obj->dict, ((gsp_constraint*)node), checkCondition); ADD_NODE(obj->dict, ((gsp_constraint*)node), columnList); ADD_NODE(obj->dict, ((gsp_constraint*)node), automaticProperties); ADD_NODE(obj->dict, ((gsp_constraint*)node), referencedObject); ADD_NODE(obj->dict, ((gsp_constraint*)node), referencedColumnList); ADD_NODE(obj->dict, ((gsp_constraint*)node), keyActions); ADD_NODE(obj->dict, ((gsp_constraint*)node), defaultValue); ADD_NODE(obj->dict, ((gsp_constraint*)node), seedExpr); ADD_NODE(obj->dict, ((gsp_constraint*)node), incrementExpr); return (PyObject*)obj; } PyObject *Node_parse_mergeInsertClause(gsp_node *node, Statement *stmt) { SqlNode *obj = (SqlNode*)Node_new(&NodeType, Py_None, Py_None); obj->_node = node; ADD_NODE(obj->dict, ((gsp_mergeInsertClause*)node), columnList); ADD_NODE(obj->dict, ((gsp_mergeInsertClause*)node), valuelist); ADD_NODE(obj->dict, ((gsp_mergeInsertClause*)node), deleteWhereClause); return (PyObject*)obj; } PyObject *Node_parse_mergeUpdateClause(gsp_node *node, Statement *stmt) { SqlNode *obj = (SqlNode*)Node_new(&NodeType, Py_None, Py_None); obj->_node = node; ADD_NODE(obj->dict, ((gsp_mergeUpdateClause*)node), updateColumnList); ADD_NODE(obj->dict, ((gsp_mergeUpdateClause*)node), updateWhereClause); ADD_NODE(obj->dict, ((gsp_mergeUpdateClause*)node), deleteWhereClause); return (PyObject*)obj; } PyObject *Node_parse_mergeDeleteClause(gsp_node *node, Statement *stmt) { SqlNode *obj = (SqlNode*)Node_new(&NodeType, Py_None, Py_None); obj->_node = node; return (PyObject*)obj; } PyObject *Node_parse_mergeWhenClause(gsp_node *node, Statement *stmt) { SqlNode *obj = (SqlNode*)Node_new(&NodeType, Py_None, Py_None); obj->_node = node; ADD_NODE(obj->dict, ((gsp_mergeWhenClause*)node), condition); ADD_NODE(obj->dict, ((gsp_mergeWhenClause*)node), updateClause); ADD_NODE(obj->dict, ((gsp_mergeWhenClause*)node), insertClause); ADD_NODE(obj->dict, ((gsp_mergeWhenClause*)node), deleteClause); ADD_NODE(obj->dict, ((gsp_mergeWhenClause*)node), signalStmt); return (PyObject*)obj; } PyObject *Node_parse_dataChangeTable(gsp_node *node, Statement *stmt) { SqlNode *obj = (SqlNode*)Node_new(&NodeType, Py_None, Py_None); obj->_node = node; ADD_NODE(obj->dict, ((gsp_dataChangeTable*)node), stmtNode); return (PyObject*)obj; } PyObject *Node_parse_fromTable(gsp_node *node, Statement *stmt) { SqlNode *obj = (SqlNode*)Node_new(&NodeType, Py_None, Py_None); obj->_node = node; ADD_NODE(obj->dict, ((gsp_fromTable*)node), aliasClause); ADD_INT(obj->dict, ((gsp_fromTable*)node), fromtableType); ADD_NODE(obj->dict, ((gsp_fromTable*)node), subQueryNode); ADD_NODE(obj->dict, ((gsp_fromTable*)node), tableName); ADD_NODE(obj->dict, ((gsp_fromTable*)node), pxGranule); ADD_NODE(obj->dict, ((gsp_fromTable*)node), tableSample); ADD_NODE(obj->dict, ((gsp_fromTable*)node), flashback); ADD_NODE(obj->dict, ((gsp_fromTable*)node), joinExpr); ADD_NODE(obj->dict, ((gsp_fromTable*)node), tableExpr); ADD_TOKEN(obj->dict, ((gsp_fromTable*)node), tableonly); ADD_NODE(obj->dict, ((gsp_fromTable*)node), dataChangeTable); ADD_NODE(obj->dict, ((gsp_fromTable*)node), tableHints); ADD_NODE(obj->dict, ((gsp_fromTable*)node), functionCall); ADD_NODE(obj->dict, ((gsp_fromTable*)node), openQuery); ADD_NODE(obj->dict, ((gsp_fromTable*)node), openDatasource); ADD_NODE(obj->dict, ((gsp_fromTable*)node), containsTable); ADD_NODE(obj->dict, ((gsp_fromTable*)node), freeTable); ADD_NODE(obj->dict, ((gsp_fromTable*)node), openRowSet); ADD_NODE(obj->dict, ((gsp_fromTable*)node), openXML); ADD_NODE(obj->dict, ((gsp_fromTable*)node), pivotClause); ADD_NODE(obj->dict, ((gsp_fromTable*)node), unPivotClause); ADD_NODE(obj->dict, ((gsp_fromTable*)node), rowList); ADD_NODE(obj->dict, ((gsp_fromTable*)node), outerClause); return (PyObject*)obj; } PyObject *Node_parse_table(gsp_node *node, Statement *stmt) { SqlNode *obj = (SqlNode*)Node_new(&NodeType, Py_None, Py_None); obj->_node = node; ADD_INT(obj->dict, ((gsp_table*)node), tableSource); ADD_NODE(obj->dict, ((gsp_table*)node), aliasClause); ADD_NODE(obj->dict, ((gsp_table*)node), tableName); ADD_NODE(obj->dict, ((gsp_table*)node), tableExpr); return (PyObject*)obj; } PyObject *Node_parse_mergeSqlNode(gsp_node *node, Statement *stmt) { SqlNode *obj = (SqlNode*)Node_new(&NodeType, Py_None, Py_None); obj->_node = node; ADD_NODE(obj->dict, ((gsp_mergeSqlNode*)node), cteList); ADD_NODE(obj->dict, ((gsp_mergeSqlNode*)node), whenClauses); ADD_NODE(obj->dict, ((gsp_mergeSqlNode*)node), targetTableNode); ADD_NODE(obj->dict, ((gsp_mergeSqlNode*)node), usingTableNode); ADD_NODE(obj->dict, ((gsp_mergeSqlNode*)node), condition); ADD_NODE(obj->dict, ((gsp_mergeSqlNode*)node), outputClause); ADD_NODE(obj->dict, ((gsp_mergeSqlNode*)node), columnList); ADD_NODE(obj->dict, ((gsp_mergeSqlNode*)node), targetTable); ADD_NODE(obj->dict, ((gsp_mergeSqlNode*)node), usingTable); return (PyObject*)obj; } PyObject *Node_parse_alterTableOption(gsp_node *node, Statement *stmt) { SqlNode *obj = (SqlNode*)Node_new(&NodeType, Py_None, Py_None); obj->_node = node; ADD_INT(obj->dict, ((gsp_alterTableOption*)node), optionType); ADD_NODE(obj->dict, ((gsp_alterTableOption*)node), constraintName); ADD_NODE(obj->dict, ((gsp_alterTableOption*)node), newConstraintName); ADD_NODE(obj->dict, ((gsp_alterTableOption*)node), columnName); ADD_NODE(obj->dict, ((gsp_alterTableOption*)node), newColumnName); ADD_NODE(obj->dict, ((gsp_alterTableOption*)node), referencedObjectName); ADD_NODE(obj->dict, ((gsp_alterTableOption*)node), newTableName); ADD_NODE(obj->dict, ((gsp_alterTableOption*)node), indexName); ADD_NODE(obj->dict, ((gsp_alterTableOption*)node), columnDefinitionList); ADD_NODE(obj->dict, ((gsp_alterTableOption*)node), constraintList); ADD_NODE(obj->dict, ((gsp_alterTableOption*)node), columnNameList); ADD_NODE(obj->dict, ((gsp_alterTableOption*)node), referencedColumnList); ADD_NODE(obj->dict, ((gsp_alterTableOption*)node), datatype); return (PyObject*)obj; } PyObject *Node_parse_alterTableSqlNode(gsp_node *node, Statement *stmt) { SqlNode *obj = (SqlNode*)Node_new(&NodeType, Py_None, Py_None); obj->_node = node; ADD_NODE(obj->dict, ((gsp_alterTableSqlNode*)node), tableName); ADD_NODE(obj->dict, ((gsp_alterTableSqlNode*)node), tableElementList); ADD_NODE(obj->dict, ((gsp_alterTableSqlNode*)node), alterTableOptionList); return (PyObject*)obj; } PyObject *Node_parse_createSequenceSqlNode(gsp_node *node, Statement *stmt) { SqlNode *obj = (SqlNode*)Node_new(&NodeType, Py_None, Py_None); obj->_node = node; ADD_NODE(obj->dict, ((gsp_createSequenceSqlNode*)node), sequenceName); ADD_NODE(obj->dict, ((gsp_createSequenceSqlNode*)node), options); return (PyObject*)obj; } PyObject *Node_parse_createSynonymSqlNode(gsp_node *node, Statement *stmt) { SqlNode *obj = (SqlNode*)Node_new(&NodeType, Py_None, Py_None); obj->_node = node; ADD_NODE(obj->dict, ((gsp_createSynonymSqlNode*)node), synonymName); ADD_NODE(obj->dict, ((gsp_createSynonymSqlNode*)node), forName); ADD_INT(obj->dict, ((gsp_createSynonymSqlNode*)node), isPublic); ADD_INT(obj->dict, ((gsp_createSynonymSqlNode*)node), isReplace); return (PyObject*)obj; } PyObject *Node_parse_createDirectorySqlNode(gsp_node *node, Statement *stmt) { SqlNode *obj = (SqlNode*)Node_new(&NodeType, Py_None, Py_None); obj->_node = node; ADD_NODE(obj->dict, ((gsp_createDirectorySqlNode*)node), directoryName); ADD_NODE(obj->dict, ((gsp_createDirectorySqlNode*)node), path); return (PyObject*)obj; } PyObject *Node_parse_dropViewSqlNode(gsp_node *node, Statement *stmt) { SqlNode *obj = (SqlNode*)Node_new(&NodeType, Py_None, Py_None); obj->_node = node; ADD_NODE(obj->dict, ((gsp_dropViewSqlNode*)node), viewNameList); return (PyObject*)obj; } PyObject *Node_parse_dropTableSqlNode(gsp_node *node, Statement *stmt) { SqlNode *obj = (SqlNode*)Node_new(&NodeType, Py_None, Py_None); obj->_node = node; ADD_NODE(obj->dict, ((gsp_dropTableSqlNode*)node), tableNameList); return (PyObject*)obj; } PyObject *Node_parse_dropIndexItem(gsp_node *node, Statement *stmt) { SqlNode *obj = (SqlNode*)Node_new(&NodeType, Py_None, Py_None); obj->_node = node; ADD_NODE(obj->dict, ((gsp_dropIndexItem*)node), indexName); ADD_NODE(obj->dict, ((gsp_dropIndexItem*)node), tableName); return (PyObject*)obj; } PyObject *Node_parse_dropIndexSqlNode(gsp_node *node, Statement *stmt) { SqlNode *obj = (SqlNode*)Node_new(&NodeType, Py_None, Py_None); obj->_node = node; ADD_NODE(obj->dict, ((gsp_dropIndexSqlNode*)node), indexName); ADD_NODE(obj->dict, ((gsp_dropIndexSqlNode*)node), itemList); return (PyObject*)obj; } PyObject *Node_parse_truncateTableSqlNode(gsp_node *node, Statement *stmt) { SqlNode *obj = (SqlNode*)Node_new(&NodeType, Py_None, Py_None); obj->_node = node; ADD_NODE(obj->dict, ((gsp_truncateTableSqlNode*)node), tableName); return (PyObject*)obj; } PyObject *Node_parse_viewAliasItem(gsp_node *node, Statement *stmt) { SqlNode *obj = (SqlNode*)Node_new(&NodeType, Py_None, Py_None); obj->_node = node; ADD_NODE(obj->dict, ((gsp_viewAliasItem*)node), alias); ADD_NODE(obj->dict, ((gsp_viewAliasItem*)node), columnConstraintList); ADD_NODE(obj->dict, ((gsp_viewAliasItem*)node), tableConstraint); return (PyObject*)obj; } PyObject *Node_parse_viewAliasClause(gsp_node *node, Statement *stmt) { SqlNode *obj = (SqlNode*)Node_new(&NodeType, Py_None, Py_None); obj->_node = node; ADD_NODE(obj->dict, ((gsp_viewAliasClause*)node), viewAliasItemList); return (PyObject*)obj; } PyObject *Node_parse_createViewSqlNode(gsp_node *node, Statement *stmt) { SqlNode *obj = (SqlNode*)Node_new(&NodeType, Py_None, Py_None); obj->_node = node; ADD_NODE(obj->dict, ((gsp_createViewSqlNode*)node), viewName); ADD_NODE(obj->dict, ((gsp_createViewSqlNode*)node), selectSqlNode); ADD_NODE(obj->dict, ((gsp_createViewSqlNode*)node), viewAliasClause); ADD_INT(obj->dict, ((gsp_createViewSqlNode*)node), isForce); ADD_INT(obj->dict, ((gsp_createViewSqlNode*)node), isReplace); ADD_NODE(obj->dict, ((gsp_createViewSqlNode*)node), rowTypeName); return (PyObject*)obj; } PyObject *Node_parse_createMaterializedViewSqlNode(gsp_node *node, Statement *stmt) { SqlNode *obj = (SqlNode*)Node_new(&NodeType, Py_None, Py_None); obj->_node = node; ADD_NODE(obj->dict, ((gsp_createMaterializedViewSqlNode*)node), viewName); ADD_NODE(obj->dict, ((gsp_createMaterializedViewSqlNode*)node), selectSqlNode); ADD_NODE(obj->dict, ((gsp_createMaterializedViewSqlNode*)node), viewAliasClause); return (PyObject*)obj; } PyObject *Node_parse_createMaterializedViewLogSqlNode(gsp_node *node, Statement *stmt) { SqlNode *obj = (SqlNode*)Node_new(&NodeType, Py_None, Py_None); obj->_node = node; ADD_NODE(obj->dict, ((gsp_createMaterializedViewLogSqlNode*)node), mvName); return (PyObject*)obj; } PyObject *Node_parse_createIndexSqlNode(gsp_node *node, Statement *stmt) { SqlNode *obj = (SqlNode*)Node_new(&NodeType, Py_None, Py_None); obj->_node = node; ADD_INT(obj->dict, ((gsp_createIndexSqlNode*)node), indexType); ADD_NODE(obj->dict, ((gsp_createIndexSqlNode*)node), indexName); ADD_NODE(obj->dict, ((gsp_createIndexSqlNode*)node), tableName); ADD_NODE(obj->dict, ((gsp_createIndexSqlNode*)node), indexItemList); return (PyObject*)obj; } PyObject *Node_parse_commitSqlNode(gsp_node *node, Statement *stmt) { SqlNode *obj = (SqlNode*)Node_new(&NodeType, Py_None, Py_None); obj->_node = node; ADD_NODE(obj->dict, ((gsp_commitSqlNode*)node), transName); return (PyObject*)obj; } PyObject *Node_parse_rollbackSqlNode(gsp_node *node, Statement *stmt) { SqlNode *obj = (SqlNode*)Node_new(&NodeType, Py_None, Py_None); obj->_node = node; ADD_NODE(obj->dict, ((gsp_rollbackSqlNode*)node), transName); return (PyObject*)obj; } PyObject *Node_parse_saveTransSqlNode(gsp_node *node, Statement *stmt) { SqlNode *obj = (SqlNode*)Node_new(&NodeType, Py_None, Py_None); obj->_node = node; ADD_NODE(obj->dict, ((gsp_saveTransSqlNode*)node), transName); return (PyObject*)obj; } PyObject *Node_parse_columnDefinition(gsp_node *node, Statement *stmt) { SqlNode *obj = (SqlNode*)Node_new(&NodeType, Py_None, Py_None); obj->_node = node; ADD_NODE(obj->dict, ((gsp_columnDefinition*)node), columnName); ADD_NODE(obj->dict, ((gsp_columnDefinition*)node), datatype); ADD_NODE(obj->dict, ((gsp_columnDefinition*)node), constraints); ADD_NODE(obj->dict, ((gsp_columnDefinition*)node), defaultExpression); ADD_NODE(obj->dict, ((gsp_columnDefinition*)node), computedColumnExpression); ADD_INT(obj->dict, ((gsp_columnDefinition*)node), isNull); ADD_INT(obj->dict, ((gsp_columnDefinition*)node), isRowGuidCol); return (PyObject*)obj; } PyObject *Node_parse_tableElement(gsp_node *node, Statement *stmt) { SqlNode *obj = (SqlNode*)Node_new(&NodeType, Py_None, Py_None); obj->_node = node; ADD_NODE(obj->dict, ((gsp_tableElement*)node), columnDefinition); ADD_NODE(obj->dict, ((gsp_tableElement*)node), constraint); return (PyObject*)obj; } PyObject *Node_parse_createTableSqlNode(gsp_node *node, Statement *stmt) { SqlNode *obj = (SqlNode*)Node_new(&NodeType, Py_None, Py_None); obj->_node = node; ADD_NODE(obj->dict, ((gsp_createTableSqlNode*)node), table); ADD_NODE(obj->dict, ((gsp_createTableSqlNode*)node), oftable); ADD_NODE(obj->dict, ((gsp_createTableSqlNode*)node), tableElementList); ADD_NODE(obj->dict, ((gsp_createTableSqlNode*)node), columnList); ADD_NODE(obj->dict, ((gsp_createTableSqlNode*)node), columnName); ADD_NODE(obj->dict, ((gsp_createTableSqlNode*)node), subQueryNode); ADD_NODE(obj->dict, ((gsp_createTableSqlNode*)node), superTableName); ADD_NODE(obj->dict, ((gsp_createTableSqlNode*)node), ofTypeName); ADD_NODE(obj->dict, ((gsp_createTableSqlNode*)node), likeTableName); return (PyObject*)obj; } PyObject *Node_parse_returningClause(gsp_node *node, Statement *stmt) { SqlNode *obj = (SqlNode*)Node_new(&NodeType, Py_None, Py_None); obj->_node = node; ADD_NODE(obj->dict, ((gsp_returningClause*)node), columnValueList); ADD_NODE(obj->dict, ((gsp_returningClause*)node), variableList); return (PyObject*)obj; } PyObject *Node_parse_isolationClause(gsp_node *node, Statement *stmt) { SqlNode *obj = (SqlNode*)Node_new(&NodeType, Py_None, Py_None); obj->_node = node; return (PyObject*)obj; } PyObject *Node_parse_includeColumns(gsp_node *node, Statement *stmt) { SqlNode *obj = (SqlNode*)Node_new(&NodeType, Py_None, Py_None); obj->_node = node; ADD_NODE(obj->dict, ((gsp_includeColumns*)node), columnList); return (PyObject*)obj; } PyObject *Node_parse_deleteSqlNode(gsp_node *node, Statement *stmt) { SqlNode *obj = (SqlNode*)Node_new(&NodeType, Py_None, Py_None); obj->_node = node; ADD_TOKEN(obj->dict, ((gsp_deleteSqlNode*)node), deleteToken); ADD_NODE(obj->dict, ((gsp_deleteSqlNode*)node), cteList); ADD_NODE(obj->dict, ((gsp_deleteSqlNode*)node), whereCondition); ADD_NODE(obj->dict, ((gsp_deleteSqlNode*)node), returningClause); ADD_NODE(obj->dict, ((gsp_deleteSqlNode*)node), isolationClause); ADD_NODE(obj->dict, ((gsp_deleteSqlNode*)node), includeColumns); ADD_NODE(obj->dict, ((gsp_deleteSqlNode*)node), targetTableNode); ADD_NODE(obj->dict, ((gsp_deleteSqlNode*)node), topClause); ADD_NODE(obj->dict, ((gsp_deleteSqlNode*)node), outputClause); ADD_NODE(obj->dict, ((gsp_deleteSqlNode*)node), sourceTableList); ADD_NODE(obj->dict, ((gsp_deleteSqlNode*)node), targetTableList); ADD_NODE(obj->dict, ((gsp_deleteSqlNode*)node), limitClause); ADD_NODE(obj->dict, ((gsp_deleteSqlNode*)node), sortClause); return (PyObject*)obj; } PyObject *Node_parse_updateSqlNode(gsp_node *node, Statement *stmt) { SqlNode *obj = (SqlNode*)Node_new(&NodeType, Py_None, Py_None); obj->_node = node; ADD_TOKEN(obj->dict, ((gsp_updateSqlNode*)node), updateToken); ADD_NODE(obj->dict, ((gsp_updateSqlNode*)node), cteList); ADD_NODE(obj->dict, ((gsp_updateSqlNode*)node), resultColumnList); ADD_NODE(obj->dict, ((gsp_updateSqlNode*)node), whereCondition); ADD_NODE(obj->dict, ((gsp_updateSqlNode*)node), returningClause); ADD_NODE(obj->dict, ((gsp_updateSqlNode*)node), isolationClause); ADD_NODE(obj->dict, ((gsp_updateSqlNode*)node), includeColumns); ADD_NODE(obj->dict, ((gsp_updateSqlNode*)node), targetTableNode); ADD_NODE(obj->dict, ((gsp_updateSqlNode*)node), topClause); ADD_NODE(obj->dict, ((gsp_updateSqlNode*)node), outputClause); ADD_NODE(obj->dict, ((gsp_updateSqlNode*)node), sourceTableList); ADD_NODE(obj->dict, ((gsp_updateSqlNode*)node), targetTableList); ADD_NODE(obj->dict, ((gsp_updateSqlNode*)node), limitClause); ADD_NODE(obj->dict, ((gsp_updateSqlNode*)node), sortClause); return (PyObject*)obj; } PyObject *Node_parse_multiTarget(gsp_node *node, Statement *stmt) { SqlNode *obj = (SqlNode*)Node_new(&NodeType, Py_None, Py_None); obj->_node = node; ADD_NODE(obj->dict, ((gsp_multiTarget*)node), subQueryNode); ADD_NODE(obj->dict, ((gsp_multiTarget*)node), resultColumnList); return (PyObject*)obj; } PyObject *Node_parse_insertRest(gsp_node *node, Statement *stmt) { SqlNode *obj = (SqlNode*)Node_new(&NodeType, Py_None, Py_None); obj->_node = node; ADD_INT(obj->dict, ((gsp_insertRest*)node), valueType); ADD_NODE(obj->dict, ((gsp_insertRest*)node), multiTargetList); ADD_NODE(obj->dict, ((gsp_insertRest*)node), subQueryNode); ADD_NODE(obj->dict, ((gsp_insertRest*)node), functionCall); ADD_NODE(obj->dict, ((gsp_insertRest*)node), recordName); ADD_NODE(obj->dict, ((gsp_insertRest*)node), updateTargetList); return (PyObject*)obj; } PyObject *Node_parse_insertValuesClause(gsp_node *node, Statement *stmt) { SqlNode *obj = (SqlNode*)Node_new(&NodeType, Py_None, Py_None); obj->_node = node; ADD_NODE(obj->dict, ((gsp_insertValuesClause*)node), multiTargetList); return (PyObject*)obj; } PyObject *Node_parse_insertIntoValue(gsp_node *node, Statement *stmt) { SqlNode *obj = (SqlNode*)Node_new(&NodeType, Py_None, Py_None); obj->_node = node; ADD_NODE(obj->dict, ((gsp_insertIntoValue*)node), fromTable); ADD_NODE(obj->dict, ((gsp_insertIntoValue*)node), columnList); ADD_NODE(obj->dict, ((gsp_insertIntoValue*)node), valuesClause); ADD_NODE(obj->dict, ((gsp_insertIntoValue*)node), table); return (PyObject*)obj; } PyObject *Node_parse_insertCondition(gsp_node *node, Statement *stmt) { SqlNode *obj = (SqlNode*)Node_new(&NodeType, Py_None, Py_None); obj->_node = node; ADD_NODE(obj->dict, ((gsp_insertCondition*)node), condition); ADD_NODE(obj->dict, ((gsp_insertCondition*)node), insertIntoValues); return (PyObject*)obj; } PyObject *Node_parse_insertSqlNode(gsp_node *node, Statement *stmt) { SqlNode *obj = (SqlNode*)Node_new(&NodeType, Py_None, Py_None); obj->_node = node; ADD_TOKEN(obj->dict, ((gsp_insertSqlNode*)node), insertToken); ADD_INT(obj->dict, ((gsp_insertSqlNode*)node), valueType); ADD_NODE(obj->dict, ((gsp_insertSqlNode*)node), cteList); ADD_NODE(obj->dict, ((gsp_insertSqlNode*)node), columnList); ADD_NODE(obj->dict, ((gsp_insertSqlNode*)node), insertIntoValues); ADD_NODE(obj->dict, ((gsp_insertSqlNode*)node), insertConditions); ADD_NODE(obj->dict, ((gsp_insertSqlNode*)node), returningClause); ADD_NODE(obj->dict, ((gsp_insertSqlNode*)node), isolationClause); ADD_NODE(obj->dict, ((gsp_insertSqlNode*)node), includeColumns); ADD_NODE(obj->dict, ((gsp_insertSqlNode*)node), targetTableNode); ADD_NODE(obj->dict, ((gsp_insertSqlNode*)node), insertRest); ADD_NODE(obj->dict, ((gsp_insertSqlNode*)node), subQueryNode); ADD_NODE(obj->dict, ((gsp_insertSqlNode*)node), topClause); ADD_NODE(obj->dict, ((gsp_insertSqlNode*)node), outputClause); ADD_NODE(obj->dict, ((gsp_insertSqlNode*)node), onDuplicateUpdateList); ADD_NODE(obj->dict, ((gsp_insertSqlNode*)node), multiTargetList); ADD_NODE(obj->dict, ((gsp_insertSqlNode*)node), recordName); ADD_NODE(obj->dict, ((gsp_insertSqlNode*)node), functionCall); return (PyObject*)obj; } PyObject *Node_parse_whereClause(gsp_node *node, Statement *stmt) { SqlNode *obj = (SqlNode*)Node_new(&NodeType, Py_None, Py_None); obj->_node = node; ADD_NODE(obj->dict, ((gsp_whereClause*)node), condition); return (PyObject*)obj; } PyObject *Node_parse_joinExpr(gsp_node *node, Statement *stmt) { SqlNode *obj = (SqlNode*)Node_new(&NodeType, Py_None, Py_None); obj->_node = node; ADD_INT(obj->dict, ((gsp_joinExpr*)node), jointype); ADD_INT(obj->dict, ((gsp_joinExpr*)node), original_jontype); ADD_NODE(obj->dict, ((gsp_joinExpr*)node), aliasClause); ADD_NODE(obj->dict, ((gsp_joinExpr*)node), leftOperand); ADD_NODE(obj->dict, ((gsp_joinExpr*)node), rightOperand); ADD_NODE(obj->dict, ((gsp_joinExpr*)node), onCondition); ADD_NODE(obj->dict, ((gsp_joinExpr*)node), usingColumns); return (PyObject*)obj; } PyObject *Node_parse_tableSamplePart(gsp_node *node, Statement *stmt) { SqlNode *obj = (SqlNode*)Node_new(&NodeType, Py_None, Py_None); obj->_node = node; return (PyObject*)obj; } PyObject *Node_parse_tableSample(gsp_node *node, Statement *stmt) { SqlNode *obj = (SqlNode*)Node_new(&NodeType, Py_None, Py_None); obj->_node = node; return (PyObject*)obj; } PyObject *Node_parse_pxGranule(gsp_node *node, Statement *stmt) { SqlNode *obj = (SqlNode*)Node_new(&NodeType, Py_None, Py_None); obj->_node = node; return (PyObject*)obj; } PyObject *Node_parse_flashback(gsp_node *node, Statement *stmt) { SqlNode *obj = (SqlNode*)Node_new(&NodeType, Py_None, Py_None); obj->_node = node; return (PyObject*)obj; } PyObject *Node_parse_forUpdate(gsp_node *node, Statement *stmt) { SqlNode *obj = (SqlNode*)Node_new(&NodeType, Py_None, Py_None); obj->_node = node; ADD_NODE(obj->dict, ((gsp_forUpdate*)node), columnRefs); return (PyObject*)obj; } PyObject *Node_parse_groupingSetItem(gsp_node *node, Statement *stmt) { SqlNode *obj = (SqlNode*)Node_new(&NodeType, Py_None, Py_None); obj->_node = node; ADD_NODE(obj->dict, ((gsp_groupingSetItem*)node), rollupCubeClause); ADD_NODE(obj->dict, ((gsp_groupingSetItem*)node), expressionItem); return (PyObject*)obj; } PyObject *Node_parse_groupingSet(gsp_node *node, Statement *stmt) { SqlNode *obj = (SqlNode*)Node_new(&NodeType, Py_None, Py_None); obj->_node = node; ADD_NODE(obj->dict, ((gsp_groupingSet*)node), items); return (PyObject*)obj; } PyObject *Node_parse_rollupCube(gsp_node *node, Statement *stmt) { SqlNode *obj = (SqlNode*)Node_new(&NodeType, Py_None, Py_None); obj->_node = node; ADD_NODE(obj->dict, ((gsp_rollupCube*)node), items); return (PyObject*)obj; } PyObject *Node_parse_gruopByItem(gsp_node *node, Statement *stmt) { SqlNode *obj = (SqlNode*)Node_new(&NodeType, Py_None, Py_None); obj->_node = node; ADD_NODE(obj->dict, ((gsp_gruopByItem*)node), expr); ADD_NODE(obj->dict, ((gsp_gruopByItem*)node), rollupCube); ADD_NODE(obj->dict, ((gsp_gruopByItem*)node), groupingSet); ADD_NODE(obj->dict, ((gsp_gruopByItem*)node), aliasClause); return (PyObject*)obj; } PyObject *Node_parse_groupBy(gsp_node *node, Statement *stmt) { SqlNode *obj = (SqlNode*)Node_new(&NodeType, Py_None, Py_None); obj->_node = node; ADD_TOKEN(obj->dict, ((gsp_groupBy*)node), stGroup); ADD_TOKEN(obj->dict, ((gsp_groupBy*)node), stBy); ADD_TOKEN(obj->dict, ((gsp_groupBy*)node), stHaving); ADD_NODE(obj->dict, ((gsp_groupBy*)node), havingClause); ADD_NODE(obj->dict, ((gsp_groupBy*)node), items); return (PyObject*)obj; } PyObject *Node_parse_selectDistinct(gsp_node *node, Statement *stmt) { SqlNode *obj = (SqlNode*)Node_new(&NodeType, Py_None, Py_None); obj->_node = node; ADD_NODE(obj->dict, ((gsp_selectDistinct*)node), exprList); return (PyObject*)obj; } PyObject *Node_parse_topClause(gsp_node *node, Statement *stmt) { SqlNode *obj = (SqlNode*)Node_new(&NodeType, Py_None, Py_None); obj->_node = node; ADD_INT(obj->dict, ((gsp_topClause*)node), bPercent); ADD_INT(obj->dict, ((gsp_topClause*)node), bWithTies); ADD_NODE(obj->dict, ((gsp_topClause*)node), expr); return (PyObject*)obj; } PyObject *Node_parse_hierarchical(gsp_node *node, Statement *stmt) { SqlNode *obj = (SqlNode*)Node_new(&NodeType, Py_None, Py_None); obj->_node = node; ADD_NODE(obj->dict, ((gsp_hierarchical*)node), connectByClause); ADD_NODE(obj->dict, ((gsp_hierarchical*)node), startWithClause); return (PyObject*)obj; } PyObject *Node_parse_intoClause(gsp_node *node, Statement *stmt) { SqlNode *obj = (SqlNode*)Node_new(&NodeType, Py_None, Py_None); obj->_node = node; ADD_NODE(obj->dict, ((gsp_intoClause*)node), exprList); return (PyObject*)obj; } PyObject *Node_parse_valueClause(gsp_node *node, Statement *stmt) { SqlNode *obj = (SqlNode*)Node_new(&NodeType, Py_None, Py_None); obj->_node = node; ADD_NODE(obj->dict, ((gsp_valueClause*)node), valueList); ADD_NODE(obj->dict, ((gsp_valueClause*)node), nameList); return (PyObject*)obj; } PyObject *Node_parse_fetchFirstClause(gsp_node *node, Statement *stmt) { SqlNode *obj = (SqlNode*)Node_new(&NodeType, Py_None, Py_None); obj->_node = node; return (PyObject*)obj; } PyObject *Node_parse_optimizeForClause(gsp_node *node, Statement *stmt) { SqlNode *obj = (SqlNode*)Node_new(&NodeType, Py_None, Py_None); obj->_node = node; return (PyObject*)obj; } PyObject *Node_parse_valueRowItem(gsp_node *node, Statement *stmt) { SqlNode *obj = (SqlNode*)Node_new(&NodeType, Py_None, Py_None); obj->_node = node; ADD_NODE(obj->dict, ((gsp_valueRowItem*)node), expr); ADD_NODE(obj->dict, ((gsp_valueRowItem*)node), exprList); return (PyObject*)obj; } PyObject *Node_parse_selectSqlNode(gsp_node *node, Statement *stmt) { SqlNode *obj = (SqlNode*)Node_new(&NodeType, Py_None, Py_None); obj->_node = node; ADD_INT(obj->dict, ((gsp_selectSqlNode*)node), setOperator); ADD_NODE(obj->dict, ((gsp_selectSqlNode*)node), cteList); ADD_NODE(obj->dict, ((gsp_selectSqlNode*)node), valueClause); ADD_TOKEN(obj->dict, ((gsp_selectSqlNode*)node), selectToken); ADD_NODE(obj->dict, ((gsp_selectSqlNode*)node), selectDistinct); ADD_NODE(obj->dict, ((gsp_selectSqlNode*)node), resultColumnList); ADD_NODE(obj->dict, ((gsp_selectSqlNode*)node), intoClause); ADD_NODE(obj->dict, ((gsp_selectSqlNode*)node), whereCondition); ADD_NODE(obj->dict, ((gsp_selectSqlNode*)node), hierarchicalClause); ADD_NODE(obj->dict, ((gsp_selectSqlNode*)node), groupByClause); ADD_NODE(obj->dict, ((gsp_selectSqlNode*)node), orderbyClause); ADD_NODE(obj->dict, ((gsp_selectSqlNode*)node), forupdateClause); ADD_NODE(obj->dict, ((gsp_selectSqlNode*)node), fetchFirstClause); ADD_NODE(obj->dict, ((gsp_selectSqlNode*)node), optimizeForClause); ADD_NODE(obj->dict, ((gsp_selectSqlNode*)node), isolationClause); ADD_NODE(obj->dict, ((gsp_selectSqlNode*)node), computeClause); ADD_NODE(obj->dict, ((gsp_selectSqlNode*)node), topClause); ADD_NODE(obj->dict, ((gsp_selectSqlNode*)node), intoTableClause); ADD_NODE(obj->dict, ((gsp_selectSqlNode*)node), limitClause); ADD_NODE(obj->dict, ((gsp_selectSqlNode*)node), lockingClause); ADD_NODE(obj->dict, ((gsp_selectSqlNode*)node), windowClause); ADD_NODE(obj->dict, ((gsp_selectSqlNode*)node), withClauses); ADD_NODE(obj->dict, ((gsp_selectSqlNode*)node), qualifyClause); ADD_NODE(obj->dict, ((gsp_selectSqlNode*)node), sampleClause); ADD_NODE(obj->dict, ((gsp_selectSqlNode*)node), expandOnClause); ADD_NODE(obj->dict, ((gsp_selectSqlNode*)node), leftNode); ADD_NODE(obj->dict, ((gsp_selectSqlNode*)node), rightNode); ADD_NODE(obj->dict, ((gsp_selectSqlNode*)node), fromTableList); return (PyObject*)obj; } PyObject *Node_parse_cte(gsp_node *node, Statement *stmt) { SqlNode *obj = (SqlNode*)Node_new(&NodeType, Py_None, Py_None); obj->_node = node; ADD_NODE(obj->dict, ((gsp_cte*)node), tableName); ADD_NODE(obj->dict, ((gsp_cte*)node), selectSqlNode); ADD_NODE(obj->dict, ((gsp_cte*)node), insertSqlNode); ADD_NODE(obj->dict, ((gsp_cte*)node), updateSqlNode); ADD_NODE(obj->dict, ((gsp_cte*)node), deleteSqlNode); ADD_NODE(obj->dict, ((gsp_cte*)node), columnList); return (PyObject*)obj; } PyObject *Node_parse_commentSqlNode(gsp_node *node, Statement *stmt) { SqlNode *obj = (SqlNode*)Node_new(&NodeType, Py_None, Py_None); obj->_node = node; ADD_INT(obj->dict, ((gsp_commentSqlNode*)node), dbObjType); ADD_NODE(obj->dict, ((gsp_commentSqlNode*)node), objectName); ADD_NODE(obj->dict, ((gsp_commentSqlNode*)node), message); return (PyObject*)obj; } PyObject *Node_parse_callSpec(gsp_node *node, Statement *stmt) { SqlNode *obj = (SqlNode*)Node_new(&NodeType, Py_None, Py_None); obj->_node = node; ADD_NODE(obj->dict, ((gsp_callSpec*)node), declaration); return (PyObject*)obj; } PyObject *Node_parse_returnSqlNode(gsp_node *node, Statement *stmt) { SqlNode *obj = (SqlNode*)Node_new(&NodeType, Py_None, Py_None); obj->_node = node; ADD_NODE(obj->dict, ((gsp_returnSqlNode*)node), expr); ADD_NODE(obj->dict, ((gsp_returnSqlNode*)node), subQueryNode); return (PyObject*)obj; } PyObject *Node_parse_continueSqlNode(gsp_node *node, Statement *stmt) { SqlNode *obj = (SqlNode*)Node_new(&NodeType, Py_None, Py_None); obj->_node = node; return (PyObject*)obj; } PyObject *Node_parse_breakSqlNode(gsp_node *node, Statement *stmt) { SqlNode *obj = (SqlNode*)Node_new(&NodeType, Py_None, Py_None); obj->_node = node; return (PyObject*)obj; } PyObject *Node_parse_grantSqlNode(gsp_node *node, Statement *stmt) { SqlNode *obj = (SqlNode*)Node_new(&NodeType, Py_None, Py_None); obj->_node = node; ADD_NODE(obj->dict, ((gsp_grantSqlNode*)node), nameList); return (PyObject*)obj; } PyObject *Node_parse_executeSqlNode(gsp_node *node, Statement *stmt) { SqlNode *obj = (SqlNode*)Node_new(&NodeType, Py_None, Py_None); obj->_node = node; ADD_NODE(obj->dict, ((gsp_executeSqlNode*)node), moduleName); ADD_NODE(obj->dict, ((gsp_executeSqlNode*)node), paramList); return (PyObject*)obj; } PyObject *Node_parse_dropRoleSqlNode(gsp_node *node, Statement *stmt) { SqlNode *obj = (SqlNode*)Node_new(&NodeType, Py_None, Py_None); obj->_node = node; ADD_NODE(obj->dict, ((gsp_dropRoleSqlNode*)node), roleNameList); return (PyObject*)obj; } PyObject *Node_parse_dropTriggerSqlNode(gsp_node *node, Statement *stmt) { SqlNode *obj = (SqlNode*)Node_new(&NodeType, Py_None, Py_None); obj->_node = node; ADD_NODE(obj->dict, ((gsp_dropTriggerSqlNode*)node), triggerName); ADD_NODE(obj->dict, ((gsp_dropTriggerSqlNode*)node), tableName); return (PyObject*)obj; } PyObject *Node_parse_lockTableSqlNode(gsp_node *node, Statement *stmt) { SqlNode *obj = (SqlNode*)Node_new(&NodeType, Py_None, Py_None); obj->_node = node; return (PyObject*)obj; } PyObject *Node_parse_revokeSqlNode(gsp_node *node, Statement *stmt) { SqlNode *obj = (SqlNode*)Node_new(&NodeType, Py_None, Py_None); obj->_node = node; return (PyObject*)obj; } PyObject *Node_parse_fetchSqlNode(gsp_node *node, Statement *stmt) { SqlNode *obj = (SqlNode*)Node_new(&NodeType, Py_None, Py_None); obj->_node = node; ADD_NODE(obj->dict, ((gsp_fetchSqlNode*)node), cursorName); ADD_NODE(obj->dict, ((gsp_fetchSqlNode*)node), variableNames); return (PyObject*)obj; } PyObject *Node_parse_openSqlNode(gsp_node *node, Statement *stmt) { SqlNode *obj = (SqlNode*)Node_new(&NodeType, Py_None, Py_None); obj->_node = node; ADD_NODE(obj->dict, ((gsp_openSqlNode*)node), cursorName); ADD_NODE(obj->dict, ((gsp_openSqlNode*)node), nameList); return (PyObject*)obj; } PyObject *Node_parse_closeSqlNode(gsp_node *node, Statement *stmt) { SqlNode *obj = (SqlNode*)Node_new(&NodeType, Py_None, Py_None); obj->_node = node; ADD_NODE(obj->dict, ((gsp_closeSqlNode*)node), cursorName); return (PyObject*)obj; } PyObject *Node_parse_iterateSqlNode(gsp_node *node, Statement *stmt) { SqlNode *obj = (SqlNode*)Node_new(&NodeType, Py_None, Py_None); obj->_node = node; ADD_NODE(obj->dict, ((gsp_iterateSqlNode*)node), cursorName); return (PyObject*)obj; } PyObject *Node_parse_leaveSqlNode(gsp_node *node, Statement *stmt) { SqlNode *obj = (SqlNode*)Node_new(&NodeType, Py_None, Py_None); obj->_node = node; ADD_NODE(obj->dict, ((gsp_leaveSqlNode*)node), cursorName); return (PyObject*)obj; } PyObject *Node_parse_createFunctionSqlNode(gsp_node *node, Statement *stmt) { SqlNode *obj = (SqlNode*)Node_new(&NodeType, Py_None, Py_None); obj->_node = node; ADD_INT(obj->dict, ((gsp_createFunctionSqlNode*)node), kind); ADD_NODE(obj->dict, ((gsp_createFunctionSqlNode*)node), functionName); ADD_NODE(obj->dict, ((gsp_createFunctionSqlNode*)node), parameters); ADD_NODE(obj->dict, ((gsp_createFunctionSqlNode*)node), returnDataType); ADD_NODE(obj->dict, ((gsp_createFunctionSqlNode*)node), declareStmts); ADD_NODE(obj->dict, ((gsp_createFunctionSqlNode*)node), stmts); ADD_NODE(obj->dict, ((gsp_createFunctionSqlNode*)node), exceptionClause); ADD_NODE(obj->dict, ((gsp_createFunctionSqlNode*)node), returnSqlNode); ADD_NODE(obj->dict, ((gsp_createFunctionSqlNode*)node), compoundSqlNode); ADD_NODE(obj->dict, ((gsp_createFunctionSqlNode*)node), callSpec); ADD_NODE(obj->dict, ((gsp_createFunctionSqlNode*)node), blockSqlNode); ADD_NODE(obj->dict, ((gsp_createFunctionSqlNode*)node), stmtSqlNode); return (PyObject*)obj; } PyObject *Node_parse_parameterDeclaration(gsp_node *node, Statement *stmt) { SqlNode *obj = (SqlNode*)Node_new(&NodeType, Py_None, Py_None); obj->_node = node; ADD_NODE(obj->dict, ((gsp_parameterDeclaration*)node), parameterName); ADD_NODE(obj->dict, ((gsp_parameterDeclaration*)node), dataType); ADD_NODE(obj->dict, ((gsp_parameterDeclaration*)node), defaultValue); ADD_INT(obj->dict, ((gsp_parameterDeclaration*)node), isVarying); ADD_NODE(obj->dict, ((gsp_parameterDeclaration*)node), varyPrecision); ADD_INT(obj->dict, ((gsp_parameterDeclaration*)node), isNotNull); ADD_INT(obj->dict, ((gsp_parameterDeclaration*)node), mode); ADD_INT(obj->dict, ((gsp_parameterDeclaration*)node), howtoSetValue); return (PyObject*)obj; } PyObject *Node_parse_createProcedureSqlNode(gsp_node *node, Statement *stmt) { SqlNode *obj = (SqlNode*)Node_new(&NodeType, Py_None, Py_None); obj->_node = node; ADD_INT(obj->dict, ((gsp_createProcedureSqlNode*)node), kind); ADD_NODE(obj->dict, ((gsp_createProcedureSqlNode*)node), procedureName); ADD_NODE(obj->dict, ((gsp_createProcedureSqlNode*)node), parameters); ADD_NODE(obj->dict, ((gsp_createProcedureSqlNode*)node), declareStmts); ADD_NODE(obj->dict, ((gsp_createProcedureSqlNode*)node), innerStmts); ADD_NODE(obj->dict, ((gsp_createProcedureSqlNode*)node), stmts); ADD_NODE(obj->dict, ((gsp_createProcedureSqlNode*)node), exceptionClause); ADD_NODE(obj->dict, ((gsp_createProcedureSqlNode*)node), callSpec); ADD_NODE(obj->dict, ((gsp_createProcedureSqlNode*)node), blockSqlNode); ADD_NODE(obj->dict, ((gsp_createProcedureSqlNode*)node), stmtSqlNode); return (PyObject*)obj; } PyObject *Node_parse_exceptionClause(gsp_node *node, Statement *stmt) { SqlNode *obj = (SqlNode*)Node_new(&NodeType, Py_None, Py_None); obj->_node = node; ADD_NODE(obj->dict, ((gsp_exceptionClause*)node), Handlers); return (PyObject*)obj; } PyObject *Node_parse_blockSqlNode(gsp_node *node, Statement *stmt) { SqlNode *obj = (SqlNode*)Node_new(&NodeType, Py_None, Py_None); obj->_node = node; ADD_NODE(obj->dict, ((gsp_blockSqlNode*)node), stmts); ADD_NODE(obj->dict, ((gsp_blockSqlNode*)node), exceptionClause); ADD_NODE(obj->dict, ((gsp_blockSqlNode*)node), declareStmts); return (PyObject*)obj; } PyObject *Node_parse_arrayAccess(gsp_node *node, Statement *stmt) { SqlNode *obj = (SqlNode*)Node_new(&NodeType, Py_None, Py_None); obj->_node = node; ADD_NODE(obj->dict, ((gsp_arrayAccess*)node), arrayName); ADD_NODE(obj->dict, ((gsp_arrayAccess*)node), index1); ADD_NODE(obj->dict, ((gsp_arrayAccess*)node), index2); ADD_NODE(obj->dict, ((gsp_arrayAccess*)node), index3); ADD_NODE(obj->dict, ((gsp_arrayAccess*)node), propertyName); return (PyObject*)obj; } PyObject *Node_parse_declareVariable(gsp_node *node, Statement *stmt) { SqlNode *obj = (SqlNode*)Node_new(&NodeType, Py_None, Py_None); obj->_node = node; ADD_NODE(obj->dict, ((gsp_declareVariable*)node), varName); ADD_NODE(obj->dict, ((gsp_declareVariable*)node), varDatatype); ADD_NODE(obj->dict, ((gsp_declareVariable*)node), defaultValue); ADD_NODE(obj->dict, ((gsp_declareVariable*)node), tableTypeDefinitions); ADD_INT(obj->dict, ((gsp_declareVariable*)node), variableType); return (PyObject*)obj; } PyObject *Node_parse_declareSqlNode(gsp_node *node, Statement *stmt) { SqlNode *obj = (SqlNode*)Node_new(&NodeType, Py_None, Py_None); obj->_node = node; ADD_INT(obj->dict, ((gsp_declareSqlNode*)node), declareType); ADD_NODE(obj->dict, ((gsp_declareSqlNode*)node), vars); ADD_NODE(obj->dict, ((gsp_declareSqlNode*)node), varType); ADD_INT(obj->dict, ((gsp_declareSqlNode*)node), howtoSetValue); ADD_NODE(obj->dict, ((gsp_declareSqlNode*)node), defaultValue); ADD_NODE(obj->dict, ((gsp_declareSqlNode*)node), conditionName); ADD_NODE(obj->dict, ((gsp_declareSqlNode*)node), cursorName); ADD_NODE(obj->dict, ((gsp_declareSqlNode*)node), subQueryNode); ADD_NODE(obj->dict, ((gsp_declareSqlNode*)node), stmt); return (PyObject*)obj; } PyObject *Node_parse_createTriggerUpdateColumn(gsp_node *node, Statement *stmt) { SqlNode *obj = (SqlNode*)Node_new(&NodeType, Py_None, Py_None); obj->_node = node; ADD_NODE(obj->dict, ((gsp_createTriggerUpdateColumn*)node), columnName); return (PyObject*)obj; } PyObject *Node_parse_ifSqlNode(gsp_node *node, Statement *stmt) { SqlNode *obj = (SqlNode*)Node_new(&NodeType, Py_None, Py_None); obj->_node = node; ADD_NODE(obj->dict, ((gsp_ifSqlNode*)node), condition); ADD_NODE(obj->dict, ((gsp_ifSqlNode*)node), stmts); ADD_NODE(obj->dict, ((gsp_ifSqlNode*)node), elseStmts); ADD_NODE(obj->dict, ((gsp_ifSqlNode*)node), elseifList); ADD_NODE(obj->dict, ((gsp_ifSqlNode*)node), stmt); ADD_NODE(obj->dict, ((gsp_ifSqlNode*)node), elseStmt); ADD_NODE(obj->dict, ((gsp_ifSqlNode*)node), updateColumnList); return (PyObject*)obj; } PyObject *Node_parse_elseIfSqlNode(gsp_node *node, Statement *stmt) { SqlNode *obj = (SqlNode*)Node_new(&NodeType, Py_None, Py_None); obj->_node = node; ADD_NODE(obj->dict, ((gsp_elseIfSqlNode*)node), condition); ADD_NODE(obj->dict, ((gsp_elseIfSqlNode*)node), stmts); return (PyObject*)obj; } PyObject *Node_parse_whileSqlNode(gsp_node *node, Statement *stmt) { SqlNode *obj = (SqlNode*)Node_new(&NodeType, Py_None, Py_None); obj->_node = node; ADD_NODE(obj->dict, ((gsp_whileSqlNode*)node), condition); ADD_NODE(obj->dict, ((gsp_whileSqlNode*)node), stmt); ADD_NODE(obj->dict, ((gsp_whileSqlNode*)node), stmts); return (PyObject*)obj; } PyObject *Node_parse_repeatSqlNode(gsp_node *node, Statement *stmt) { SqlNode *obj = (SqlNode*)Node_new(&NodeType, Py_None, Py_None); obj->_node = node; ADD_NODE(obj->dict, ((gsp_repeatSqlNode*)node), condition); ADD_NODE(obj->dict, ((gsp_repeatSqlNode*)node), stmts); return (PyObject*)obj; } PyObject *Node_parse_loopSqlNode(gsp_node *node, Statement *stmt) { SqlNode *obj = (SqlNode*)Node_new(&NodeType, Py_None, Py_None); obj->_node = node; ADD_NODE(obj->dict, ((gsp_loopSqlNode*)node), stmts); return (PyObject*)obj; } PyObject *Node_parse_unknownStatement(gsp_node *node, Statement *stmt) { SqlNode *obj = (SqlNode*)Node_new(&NodeType, Py_None, Py_None); obj->_node = node; return (PyObject*)obj; } PyObject *Node_parse_createTriggerSqlNode(gsp_node *node, Statement *stmt) { SqlNode *obj = (SqlNode*)Node_new(&NodeType, Py_None, Py_None); obj->_node = node; ADD_INT(obj->dict, ((gsp_createTriggerSqlNode*)node), fireMode); ADD_NODE(obj->dict, ((gsp_createTriggerSqlNode*)node), triggerName); ADD_NODE(obj->dict, ((gsp_createTriggerSqlNode*)node), tableName); ADD_NODE(obj->dict, ((gsp_createTriggerSqlNode*)node), whenCondition); ADD_NODE(obj->dict, ((gsp_createTriggerSqlNode*)node), triggerEvent); ADD_NODE(obj->dict, ((gsp_createTriggerSqlNode*)node), triggerAction); ADD_NODE(obj->dict, ((gsp_createTriggerSqlNode*)node), stmt); ADD_NODE(obj->dict, ((gsp_createTriggerSqlNode*)node), stmts); ADD_NODE(obj->dict, ((gsp_createTriggerSqlNode*)node), blockSqlNode); ADD_NODE(obj->dict, ((gsp_createTriggerSqlNode*)node), stmtSqlNode); return (PyObject*)obj; } PyObject *Node_parse_exceptionHandler(gsp_node *node, Statement *stmt) { SqlNode *obj = (SqlNode*)Node_new(&NodeType, Py_None, Py_None); obj->_node = node; ADD_NODE(obj->dict, ((gsp_exceptionHandler*)node), exceptionNames); ADD_NODE(obj->dict, ((gsp_exceptionHandler*)node), stmts); return (PyObject*)obj; } PyObject *Node_parse_pivotClause(gsp_node *node, Statement *stmt) { SqlNode *obj = (SqlNode*)Node_new(&NodeType, Py_None, Py_None); obj->_node = node; ADD_NODE(obj->dict, ((gsp_pivotClause*)node), aggregationFunction); ADD_NODE(obj->dict, ((gsp_pivotClause*)node), privotColumn); ADD_NODE(obj->dict, ((gsp_pivotClause*)node), privotColumnList); ADD_NODE(obj->dict, ((gsp_pivotClause*)node), inResultList); ADD_NODE(obj->dict, ((gsp_pivotClause*)node), aliasClause); return (PyObject*)obj; } PyObject *Node_parse_unPivotClause(gsp_node *node, Statement *stmt) { SqlNode *obj = (SqlNode*)Node_new(&NodeType, Py_None, Py_None); obj->_node = node; ADD_NODE(obj->dict, ((gsp_unPivotClause*)node), aggregationFunction); ADD_NODE(obj->dict, ((gsp_unPivotClause*)node), valueColumn); ADD_NODE(obj->dict, ((gsp_unPivotClause*)node), privotColumn); ADD_NODE(obj->dict, ((gsp_unPivotClause*)node), privotColumnList); ADD_NODE(obj->dict, ((gsp_unPivotClause*)node), inResultList); ADD_NODE(obj->dict, ((gsp_unPivotClause*)node), aliasClause); return (PyObject*)obj; } PyObject *Node_parse_renameColumnSqlNode(gsp_node *node, Statement *stmt) { SqlNode *obj = (SqlNode*)Node_new(&NodeType, Py_None, Py_None); obj->_node = node; ADD_NODE(obj->dict, ((gsp_renameColumnSqlNode*)node), columnName); ADD_NODE(obj->dict, ((gsp_renameColumnSqlNode*)node), newColumnName); return (PyObject*)obj; } PyObject *Node_parse_renameSequenceSqlNode(gsp_node *node, Statement *stmt) { SqlNode *obj = (SqlNode*)Node_new(&NodeType, Py_None, Py_None); obj->_node = node; ADD_NODE(obj->dict, ((gsp_renameSequenceSqlNode*)node), sequenceName); ADD_NODE(obj->dict, ((gsp_renameSequenceSqlNode*)node), newSequenceName); return (PyObject*)obj; } PyObject *Node_parse_renameTableSqlNode(gsp_node *node, Statement *stmt) { SqlNode *obj = (SqlNode*)Node_new(&NodeType, Py_None, Py_None); obj->_node = node; ADD_NODE(obj->dict, ((gsp_renameTableSqlNode*)node), tableName); ADD_NODE(obj->dict, ((gsp_renameTableSqlNode*)node), newTableName); return (PyObject*)obj; } PyObject *Node_parse_renameIndexSqlNode(gsp_node *node, Statement *stmt) { SqlNode *obj = (SqlNode*)Node_new(&NodeType, Py_None, Py_None); obj->_node = node; ADD_NODE(obj->dict, ((gsp_renameIndexSqlNode*)node), indexName); ADD_NODE(obj->dict, ((gsp_renameIndexSqlNode*)node), newIndexName); return (PyObject*)obj; } PyObject *Node_parse_dropSequenceSqlNode(gsp_node *node, Statement *stmt) { SqlNode *obj = (SqlNode*)Node_new(&NodeType, Py_None, Py_None); obj->_node = node; ADD_NODE(obj->dict, ((gsp_dropSequenceSqlNode*)node), sequenceName); return (PyObject*)obj; } PyObject *Node_parse_dropSynonymSqlNode(gsp_node *node, Statement *stmt) { SqlNode *obj = (SqlNode*)Node_new(&NodeType, Py_None, Py_None); obj->_node = node; ADD_NODE(obj->dict, ((gsp_dropSynonymSqlNode*)node), synonymName); return (PyObject*)obj; } PyObject *Node_parse_dropRowTypeSqlNode(gsp_node *node, Statement *stmt) { SqlNode *obj = (SqlNode*)Node_new(&NodeType, Py_None, Py_None); obj->_node = node; ADD_NODE(obj->dict, ((gsp_dropRowTypeSqlNode*)node), rowTypeName); return (PyObject*)obj; } PyObject *Node_parse_alterIndexSqlNode(gsp_node *node, Statement *stmt) { SqlNode *obj = (SqlNode*)Node_new(&NodeType, Py_None, Py_None); obj->_node = node; ADD_NODE(obj->dict, ((gsp_alterIndexSqlNode*)node), indexName); return (PyObject*)obj; } PyObject *Node_parse_alterSequenceSqlNode(gsp_node *node, Statement *stmt) { SqlNode *obj = (SqlNode*)Node_new(&NodeType, Py_None, Py_None); obj->_node = node; ADD_NODE(obj->dict, ((gsp_alterSequenceSqlNode*)node), sequenceName); return (PyObject*)obj; } PyObject *Node_parse_alterViewSqlNode(gsp_node *node, Statement *stmt) { SqlNode *obj = (SqlNode*)Node_new(&NodeType, Py_None, Py_None); obj->_node = node; ADD_NODE(obj->dict, ((gsp_alterViewSqlNode*)node), viewName); return (PyObject*)obj; } PyObject *Node_parse_intoTableClause(gsp_node *node, Statement *stmt) { SqlNode *obj = (SqlNode*)Node_new(&NodeType, Py_None, Py_None); obj->_node = node; ADD_NODE(obj->dict, ((gsp_intoTableClause*)node), tableName); return (PyObject*)obj; } PyObject *Node_parse_informixOuterClause(gsp_node *node, Statement *stmt) { SqlNode *obj = (SqlNode*)Node_new(&NodeType, Py_None, Py_None); obj->_node = node; ADD_NODE(obj->dict, ((gsp_informixOuterClause*)node), fromTable); ADD_NODE(obj->dict, ((gsp_informixOuterClause*)node), fromTableList); return (PyObject*)obj; } PyObject *Node_parse_createRowTypeSqlNode(gsp_node *node, Statement *stmt) { SqlNode *obj = (SqlNode*)Node_new(&NodeType, Py_None, Py_None); obj->_node = node; ADD_NODE(obj->dict, ((gsp_createRowTypeSqlNode*)node), rowTypeName); ADD_NODE(obj->dict, ((gsp_createRowTypeSqlNode*)node), superTableName); ADD_NODE(obj->dict, ((gsp_createRowTypeSqlNode*)node), columnDefList); return (PyObject*)obj; } PyObject *Node_parse_subscripts(gsp_node *node, Statement *stmt) { SqlNode *obj = (SqlNode*)Node_new(&NodeType, Py_None, Py_None); obj->_node = node; ADD_NODE(obj->dict, ((gsp_subscripts*)node), first); ADD_NODE(obj->dict, ((gsp_subscripts*)node), last); return (PyObject*)obj; } PyObject *Node_parse_limitClause(gsp_node *node, Statement *stmt) { SqlNode *obj = (SqlNode*)Node_new(&NodeType, Py_None, Py_None); obj->_node = node; ADD_NODE(obj->dict, ((gsp_limitClause*)node), offset); ADD_NODE(obj->dict, ((gsp_limitClause*)node), rowCount); ADD_NODE(obj->dict, ((gsp_limitClause*)node), limitValue); return (PyObject*)obj; } PyObject *Node_parse_callSqlNode(gsp_node *node, Statement *stmt) { SqlNode *obj = (SqlNode*)Node_new(&NodeType, Py_None, Py_None); obj->_node = node; ADD_NODE(obj->dict, ((gsp_callSqlNode*)node), functionName); ADD_NODE(obj->dict, ((gsp_callSqlNode*)node), args); return (PyObject*)obj; } PyObject *Node_parse_createDatabaseSqlNode(gsp_node *node, Statement *stmt) { SqlNode *obj = (SqlNode*)Node_new(&NodeType, Py_None, Py_None); obj->_node = node; ADD_NODE(obj->dict, ((gsp_createDatabaseSqlNode*)node), databaseName); return (PyObject*)obj; } PyObject *Node_parse_lockingClause(gsp_node *node, Statement *stmt) { SqlNode *obj = (SqlNode*)Node_new(&NodeType, Py_None, Py_None); obj->_node = node; ADD_NODE(obj->dict, ((gsp_lockingClause*)node), lockedObjects); return (PyObject*)obj; } PyObject *Node_parse_windowClause(gsp_node *node, Statement *stmt) { SqlNode *obj = (SqlNode*)Node_new(&NodeType, Py_None, Py_None); obj->_node = node; ADD_NODE(obj->dict, ((gsp_windowClause*)node), windownsDefs); return (PyObject*)obj; } PyObject *Node_parse_partitionClause(gsp_node *node, Statement *stmt) { SqlNode *obj = (SqlNode*)Node_new(&NodeType, Py_None, Py_None); obj->_node = node; ADD_NODE(obj->dict, ((gsp_partitionClause*)node), exprList); return (PyObject*)obj; } PyObject *Node_parse_windowDef(gsp_node *node, Statement *stmt) { SqlNode *obj = (SqlNode*)Node_new(&NodeType, Py_None, Py_None); obj->_node = node; ADD_NODE(obj->dict, ((gsp_windowDef*)node), referenceName); ADD_NODE(obj->dict, ((gsp_windowDef*)node), partitionClause); ADD_NODE(obj->dict, ((gsp_windowDef*)node), sortClause); ADD_NODE(obj->dict, ((gsp_windowDef*)node), frameClause); ADD_NODE(obj->dict, ((gsp_windowDef*)node), startOffset); ADD_NODE(obj->dict, ((gsp_windowDef*)node), endOffset); ADD_NODE(obj->dict, ((gsp_windowDef*)node), windowName); return (PyObject*)obj; } PyObject *Node_parse_indices(gsp_node *node, Statement *stmt) { SqlNode *obj = (SqlNode*)Node_new(&NodeType, Py_None, Py_None); obj->_node = node; ADD_NODE(obj->dict, ((gsp_indices*)node), attributeName); ADD_NODE(obj->dict, ((gsp_indices*)node), lowerSubscript); ADD_NODE(obj->dict, ((gsp_indices*)node), upperSubscript); return (PyObject*)obj; } PyObject *Node_parse_collectStatisticsSqlNode(gsp_node *node, Statement *stmt) { SqlNode *obj = (SqlNode*)Node_new(&NodeType, Py_None, Py_None); obj->_node = node; ADD_NODE(obj->dict, ((gsp_collectStatisticsSqlNode*)node), tableName); ADD_NODE(obj->dict, ((gsp_collectStatisticsSqlNode*)node), indexName); ADD_NODE(obj->dict, ((gsp_collectStatisticsSqlNode*)node), columnName); ADD_NODE(obj->dict, ((gsp_collectStatisticsSqlNode*)node), columnList); return (PyObject*)obj; } PyObject *Node_parse_teradataWithClause(gsp_node *node, Statement *stmt) { SqlNode *obj = (SqlNode*)Node_new(&NodeType, Py_None, Py_None); obj->_node = node; ADD_NODE(obj->dict, ((gsp_teradataWithClause*)node), exprList); ADD_NODE(obj->dict, ((gsp_teradataWithClause*)node), byList); return (PyObject*)obj; } PyObject *Node_parse_qualifyClause(gsp_node *node, Statement *stmt) { SqlNode *obj = (SqlNode*)Node_new(&NodeType, Py_None, Py_None); obj->_node = node; ADD_NODE(obj->dict, ((gsp_qualifyClause*)node), expr); return (PyObject*)obj; } PyObject *Node_parse_sampleClause(gsp_node *node, Statement *stmt) { SqlNode *obj = (SqlNode*)Node_new(&NodeType, Py_None, Py_None); obj->_node = node; ADD_NODE(obj->dict, ((gsp_sampleClause*)node), countFractionDescriptionList); ADD_NODE(obj->dict, ((gsp_sampleClause*)node), whenThenList); return (PyObject*)obj; } PyObject *Node_parse_expandOnClause(gsp_node *node, Statement *stmt) { SqlNode *obj = (SqlNode*)Node_new(&NodeType, Py_None, Py_None); obj->_node = node; ADD_NODE(obj->dict, ((gsp_expandOnClause*)node), expr); ADD_NODE(obj->dict, ((gsp_expandOnClause*)node), columnAlias); ADD_NODE(obj->dict, ((gsp_expandOnClause*)node), periodExpr); return (PyObject*)obj; } PyObject *Node_parse_datatypeAttribute(gsp_node *node, Statement *stmt) { SqlNode *obj = (SqlNode*)Node_new(&NodeType, Py_None, Py_None); obj->_node = node; return (PyObject*)obj; } PyObject *Node_parse_newVariantTypeArgument(gsp_node *node, Statement *stmt) { SqlNode *obj = (SqlNode*)Node_new(&NodeType, Py_None, Py_None); obj->_node = node; ADD_NODE(obj->dict, ((gsp_newVariantTypeArgument*)node), expr); ADD_NODE(obj->dict, ((gsp_newVariantTypeArgument*)node), aliasName); return (PyObject*)obj; } PyObject *Node_parse_outputFormatPhrase(gsp_node *node, Statement *stmt) { SqlNode *obj = (SqlNode*)Node_new(&NodeType, Py_None, Py_None); obj->_node = node; ADD_NODE(obj->dict, ((gsp_outputFormatPhrase*)node), dataTypeName); ADD_NODE(obj->dict, ((gsp_outputFormatPhrase*)node), datatypeAttribute); return (PyObject*)obj; } PyObject *Node_parse_plsqlCreateTypeBody(gsp_node *node, Statement *stmt) { SqlNode *obj = (SqlNode*)Node_new(&NodeType, Py_None, Py_None); obj->_node = node; ADD_NODE(obj->dict, ((gsp_plsqlCreateTypeBody*)node), typeName); ADD_NODE(obj->dict, ((gsp_plsqlCreateTypeBody*)node), stmts); return (PyObject*)obj; } PyObject *Node_parse_typeAttribute(gsp_node *node, Statement *stmt) { SqlNode *obj = (SqlNode*)Node_new(&NodeType, Py_None, Py_None); obj->_node = node; ADD_NODE(obj->dict, ((gsp_typeAttribute*)node), attributeName); ADD_NODE(obj->dict, ((gsp_typeAttribute*)node), datatype); return (PyObject*)obj; } PyObject *Node_parse_plsqlCreateType(gsp_node *node, Statement *stmt) { SqlNode *obj = (SqlNode*)Node_new(&NodeType, Py_None, Py_None); obj->_node = node; ADD_NODE(obj->dict, ((gsp_plsqlCreateType*)node), typeName); ADD_NODE(obj->dict, ((gsp_plsqlCreateType*)node), attributes); return (PyObject*)obj; } PyObject *Node_parse_dmlEventClause(gsp_node *node, Statement *stmt) { SqlNode *obj = (SqlNode*)Node_new(&NodeType, Py_None, Py_None); obj->_node = node; ADD_NODE(obj->dict, ((gsp_dmlEventClause*)node), tableName); ADD_NODE(obj->dict, ((gsp_dmlEventClause*)node), dml_event_items); return (PyObject*)obj; } PyObject *Node_parse_nonDmlTriggerClause(gsp_node *node, Statement *stmt) { SqlNode *obj = (SqlNode*)Node_new(&NodeType, Py_None, Py_None); obj->_node = node; ADD_NODE(obj->dict, ((gsp_nonDmlTriggerClause*)node), schemaName); ADD_INT(obj->dict, ((gsp_nonDmlTriggerClause*)node), fireMode); ADD_INT(obj->dict, ((gsp_nonDmlTriggerClause*)node), isSchema); ADD_INT(obj->dict, ((gsp_nonDmlTriggerClause*)node), isDatabase); ADD_NODE(obj->dict, ((gsp_nonDmlTriggerClause*)node), ddl_event_list); ADD_NODE(obj->dict, ((gsp_nonDmlTriggerClause*)node), database_event_list); return (PyObject*)obj; } PyObject *Node_parse_compoundDmlTriggerClause(gsp_node *node, Statement *stmt) { SqlNode *obj = (SqlNode*)Node_new(&NodeType, Py_None, Py_None); obj->_node = node; ADD_NODE(obj->dict, ((gsp_compoundDmlTriggerClause*)node), dmlEventClause); return (PyObject*)obj; } PyObject *Node_parse_simpleDmlTriggerClause(gsp_node *node, Statement *stmt) { SqlNode *obj = (SqlNode*)Node_new(&NodeType, Py_None, Py_None); obj->_node = node; ADD_INT(obj->dict, ((gsp_simpleDmlTriggerClause*)node), fireMode); ADD_NODE(obj->dict, ((gsp_simpleDmlTriggerClause*)node), dmlEventClause); return (PyObject*)obj; } PyObject *Node_parse_createPackageSqlNode(gsp_node *node, Statement *stmt) { SqlNode *obj = (SqlNode*)Node_new(&NodeType, Py_None, Py_None); obj->_node = node; ADD_NODE(obj->dict, ((gsp_createPackageSqlNode*)node), packageName); ADD_INT(obj->dict, ((gsp_createPackageSqlNode*)node), kind); ADD_NODE(obj->dict, ((gsp_createPackageSqlNode*)node), definitions_or_declarations); ADD_NODE(obj->dict, ((gsp_createPackageSqlNode*)node), stmts); ADD_NODE(obj->dict, ((gsp_createPackageSqlNode*)node), exceptionClause); ADD_NODE(obj->dict, ((gsp_createPackageSqlNode*)node), declareStatements); ADD_NODE(obj->dict, ((gsp_createPackageSqlNode*)node), bodyStatements); return (PyObject*)obj; } PyObject *Node_parse_plsqlVarDeclStmt(gsp_node *node, Statement *stmt) { SqlNode *obj = (SqlNode*)Node_new(&NodeType, Py_None, Py_None); obj->_node = node; ADD_INT(obj->dict, ((gsp_plsqlVarDeclStmt*)node), whatDeclared); ADD_NODE(obj->dict, ((gsp_plsqlVarDeclStmt*)node), exception_name); ADD_NODE(obj->dict, ((gsp_plsqlVarDeclStmt*)node), error_number); ADD_NODE(obj->dict, ((gsp_plsqlVarDeclStmt*)node), elementName); ADD_NODE(obj->dict, ((gsp_plsqlVarDeclStmt*)node), dataType); ADD_NODE(obj->dict, ((gsp_plsqlVarDeclStmt*)node), value); ADD_INT(obj->dict, ((gsp_plsqlVarDeclStmt*)node), isNotNull); ADD_INT(obj->dict, ((gsp_plsqlVarDeclStmt*)node), howtoSetValue); return (PyObject*)obj; } PyObject *Node_parse_plsqlRaiseStmt(gsp_node *node, Statement *stmt) { SqlNode *obj = (SqlNode*)Node_new(&NodeType, Py_None, Py_None); obj->_node = node; ADD_NODE(obj->dict, ((gsp_plsqlRaiseStmt*)node), exceptionName); return (PyObject*)obj; } PyObject *Node_parse_plsqlLoopStmt(gsp_node *node, Statement *stmt) { SqlNode *obj = (SqlNode*)Node_new(&NodeType, Py_None, Py_None); obj->_node = node; ADD_NODE(obj->dict, ((gsp_plsqlLoopStmt*)node), stmts); ADD_NODE(obj->dict, ((gsp_plsqlLoopStmt*)node), condition); ADD_NODE(obj->dict, ((gsp_plsqlLoopStmt*)node), indexName); ADD_NODE(obj->dict, ((gsp_plsqlLoopStmt*)node), cursorName); ADD_NODE(obj->dict, ((gsp_plsqlLoopStmt*)node), lower_bound); ADD_NODE(obj->dict, ((gsp_plsqlLoopStmt*)node), upper_bound); ADD_NODE(obj->dict, ((gsp_plsqlLoopStmt*)node), cursorParameterNames); return (PyObject*)obj; } PyObject *Node_parse_plsqlCaseStmt(gsp_node *node, Statement *stmt) { SqlNode *obj = (SqlNode*)Node_new(&NodeType, Py_None, Py_None); obj->_node = node; ADD_NODE(obj->dict, ((gsp_plsqlCaseStmt*)node), caseExpr); return (PyObject*)obj; } PyObject *Node_parse_plsqlForallStmt(gsp_node *node, Statement *stmt) { SqlNode *obj = (SqlNode*)Node_new(&NodeType, Py_None, Py_None); obj->_node = node; ADD_NODE(obj->dict, ((gsp_plsqlForallStmt*)node), indexName); ADD_NODE(obj->dict, ((gsp_plsqlForallStmt*)node), stmt); return (PyObject*)obj; } PyObject *Node_parse_plsqlElsifStmt(gsp_node *node, Statement *stmt) { SqlNode *obj = (SqlNode*)Node_new(&NodeType, Py_None, Py_None); obj->_node = node; ADD_NODE(obj->dict, ((gsp_plsqlElsifStmt*)node), condition); ADD_NODE(obj->dict, ((gsp_plsqlElsifStmt*)node), thenStmts); return (PyObject*)obj; } PyObject *Node_parse_plsqlIfStmt(gsp_node *node, Statement *stmt) { SqlNode *obj = (SqlNode*)Node_new(&NodeType, Py_None, Py_None); obj->_node = node; ADD_NODE(obj->dict, ((gsp_plsqlIfStmt*)node), condition); ADD_NODE(obj->dict, ((gsp_plsqlIfStmt*)node), thenStmts); ADD_NODE(obj->dict, ((gsp_plsqlIfStmt*)node), elseStmts); ADD_NODE(obj->dict, ((gsp_plsqlIfStmt*)node), elsifStmts); return (PyObject*)obj; } PyObject *Node_parse_plsqlGotoStmt(gsp_node *node, Statement *stmt) { SqlNode *obj = (SqlNode*)Node_new(&NodeType, Py_None, Py_None); obj->_node = node; ADD_NODE(obj->dict, ((gsp_plsqlGotoStmt*)node), gotolabelName); return (PyObject*)obj; } PyObject *Node_parse_plsqlExitStmt(gsp_node *node, Statement *stmt) { SqlNode *obj = (SqlNode*)Node_new(&NodeType, Py_None, Py_None); obj->_node = node; ADD_NODE(obj->dict, ((gsp_plsqlExitStmt*)node), whenCondition); ADD_NODE(obj->dict, ((gsp_plsqlExitStmt*)node), exitlabelName); return (PyObject*)obj; } PyObject *Node_parse_plsqlAssignStmt(gsp_node *node, Statement *stmt) { SqlNode *obj = (SqlNode*)Node_new(&NodeType, Py_None, Py_None); obj->_node = node; ADD_NODE(obj->dict, ((gsp_plsqlAssignStmt*)node), left); ADD_NODE(obj->dict, ((gsp_plsqlAssignStmt*)node), right); return (PyObject*)obj; } PyObject *Node_parse_plsqlCursorDeclStmt(gsp_node *node, Statement *stmt) { SqlNode *obj = (SqlNode*)Node_new(&NodeType, Py_None, Py_None); obj->_node = node; ADD_NODE(obj->dict, ((gsp_plsqlCursorDeclStmt*)node), subqueryNode); ADD_NODE(obj->dict, ((gsp_plsqlCursorDeclStmt*)node), cursorName); ADD_NODE(obj->dict, ((gsp_plsqlCursorDeclStmt*)node), cursorParameterDeclarations); ADD_NODE(obj->dict, ((gsp_plsqlCursorDeclStmt*)node), rowtype); ADD_NODE(obj->dict, ((gsp_plsqlCursorDeclStmt*)node), cursorTypeName); return (PyObject*)obj; } PyObject *Node_parse_plsqlRecordTypeDefStmt(gsp_node *node, Statement *stmt) { SqlNode *obj = (SqlNode*)Node_new(&NodeType, Py_None, Py_None); obj->_node = node; ADD_NODE(obj->dict, ((gsp_plsqlRecordTypeDefStmt*)node), typeName); ADD_NODE(obj->dict, ((gsp_plsqlRecordTypeDefStmt*)node), fieldDeclarations); return (PyObject*)obj; } PyObject *Node_parse_plsqlVarrayTypeDefStmt(gsp_node *node, Statement *stmt) { SqlNode *obj = (SqlNode*)Node_new(&NodeType, Py_None, Py_None); obj->_node = node; ADD_NODE(obj->dict, ((gsp_plsqlVarrayTypeDefStmt*)node), typeName); ADD_NODE(obj->dict, ((gsp_plsqlVarrayTypeDefStmt*)node), elementDataType); ADD_NODE(obj->dict, ((gsp_plsqlVarrayTypeDefStmt*)node), sizeLimit); ADD_INT(obj->dict, ((gsp_plsqlVarrayTypeDefStmt*)node), isNotNull); return (PyObject*)obj; } PyObject *Node_parse_plsqlTableTypeDefStmt(gsp_node *node, Statement *stmt) { SqlNode *obj = (SqlNode*)Node_new(&NodeType, Py_None, Py_None); obj->_node = node; ADD_NODE(obj->dict, ((gsp_plsqlTableTypeDefStmt*)node), typeName); ADD_NODE(obj->dict, ((gsp_plsqlTableTypeDefStmt*)node), elementDataType); ADD_INT(obj->dict, ((gsp_plsqlTableTypeDefStmt*)node), isNotNull); ADD_NODE(obj->dict, ((gsp_plsqlTableTypeDefStmt*)node), indexByDataType); return (PyObject*)obj; } PyObject *Node_parse_plsqlNullStmt(gsp_node *node, Statement *stmt) { SqlNode *obj = (SqlNode*)Node_new(&NodeType, Py_None, Py_None); obj->_node = node; return (PyObject*)obj; } PyObject *Node_parse_plsqlPipeRowStmt(gsp_node *node, Statement *stmt) { SqlNode *obj = (SqlNode*)Node_new(&NodeType, Py_None, Py_None); obj->_node = node; return (PyObject*)obj; } PyObject *Node_parse_bindArgument(gsp_node *node, Statement *stmt) { SqlNode *obj = (SqlNode*)Node_new(&NodeType, Py_None, Py_None); obj->_node = node; ADD_INT(obj->dict, ((gsp_bindArgument*)node), mode); ADD_NODE(obj->dict, ((gsp_bindArgument*)node), bindArgumentExpr); return (PyObject*)obj; } PyObject *Node_parse_execImmeNode(gsp_node *node, Statement *stmt) { SqlNode *obj = (SqlNode*)Node_new(&NodeType, Py_None, Py_None); obj->_node = node; ADD_NODE(obj->dict, ((gsp_execImmeNode*)node), dynamicStringExpr); ADD_NODE(obj->dict, ((gsp_execImmeNode*)node), intoVariables); ADD_NODE(obj->dict, ((gsp_execImmeNode*)node), bindArguments); ADD_NODE(obj->dict, ((gsp_execImmeNode*)node), returnNames); return (PyObject*)obj; } PyObject *Node_parse_plsqlOpenforStmt(gsp_node *node, Statement *stmt) { SqlNode *obj = (SqlNode*)Node_new(&NodeType, Py_None, Py_None); obj->_node = node; ADD_NODE(obj->dict, ((gsp_plsqlOpenforStmt*)node), cursorVariableName); ADD_NODE(obj->dict, ((gsp_plsqlOpenforStmt*)node), subqueryNode); ADD_NODE(obj->dict, ((gsp_plsqlOpenforStmt*)node), dynamic_string); return (PyObject*)obj; } PyObject *Node_parse_plsqlOpenStmt(gsp_node *node, Statement *stmt) { SqlNode *obj = (SqlNode*)Node_new(&NodeType, Py_None, Py_None); obj->_node = node; ADD_NODE(obj->dict, ((gsp_plsqlOpenStmt*)node), cursorName); ADD_NODE(obj->dict, ((gsp_plsqlOpenStmt*)node), cursorParameterNames); return (PyObject*)obj; } PyObject *Node_parse_plsqlBasicStmt(gsp_node *node, Statement *stmt) { SqlNode *obj = (SqlNode*)Node_new(&NodeType, Py_None, Py_None); obj->_node = node; ADD_NODE(obj->dict, ((gsp_plsqlBasicStmt*)node), expr); return (PyObject*)obj; } PyObject *Node_parse_trigger_event(gsp_node *node, Statement *stmt) { SqlNode *obj = (SqlNode*)Node_new(&NodeType, Py_None, Py_None); obj->_node = node; return (PyObject*)obj; } PyObject *Node_parse_mssql_executeAsSqlNode(gsp_node *node, Statement *stmt) { SqlNode *obj = (SqlNode*)Node_new(&NodeType, Py_None, Py_None); obj->_node = node; return (PyObject*)obj; } PyObject *Node_parse_mssql_executeSqlNode(gsp_node *node, Statement *stmt) { SqlNode *obj = (SqlNode*)Node_new(&NodeType, Py_None, Py_None); obj->_node = node; ADD_INT(obj->dict, ((gsp_mssql_executeSqlNode*)node), execType); ADD_NODE(obj->dict, ((gsp_mssql_executeSqlNode*)node), moduleName); ADD_NODE(obj->dict, ((gsp_mssql_executeSqlNode*)node), returnStatus); ADD_NODE(obj->dict, ((gsp_mssql_executeSqlNode*)node), parameterList); ADD_NODE(obj->dict, ((gsp_mssql_executeSqlNode*)node), stringValues); return (PyObject*)obj; } PyObject *Node_parse_mssql_execParameter(gsp_node *node, Statement *stmt) { SqlNode *obj = (SqlNode*)Node_new(&NodeType, Py_None, Py_None); obj->_node = node; ADD_INT(obj->dict, ((gsp_mssql_execParameter*)node), parameterMode); ADD_NODE(obj->dict, ((gsp_mssql_execParameter*)node), parameterName); ADD_NODE(obj->dict, ((gsp_mssql_execParameter*)node), parameterValue); return (PyObject*)obj; } PyObject *Node_parse_mssql_dropDbObjectSqlNode(gsp_node *node, Statement *stmt) { SqlNode *obj = (SqlNode*)Node_new(&NodeType, Py_None, Py_None); obj->_node = node; ADD_INT(obj->dict, ((gsp_mssql_dropDbObjectSqlNode*)node), dbObjectType); ADD_NODE(obj->dict, ((gsp_mssql_dropDbObjectSqlNode*)node), objectNames); return (PyObject*)obj; } PyObject *Node_parse_mssql_setSqlNode(gsp_node *node, Statement *stmt) { SqlNode *obj = (SqlNode*)Node_new(&NodeType, Py_None, Py_None); obj->_node = node; ADD_INT(obj->dict, ((gsp_mssql_setSqlNode*)node), setType); ADD_NODE(obj->dict, ((gsp_mssql_setSqlNode*)node), varName); ADD_NODE(obj->dict, ((gsp_mssql_setSqlNode*)node), varExpr); ADD_NODE(obj->dict, ((gsp_mssql_setSqlNode*)node), selectSqlNode); ADD_NODE(obj->dict, ((gsp_mssql_setSqlNode*)node), exprList); return (PyObject*)obj; } PyObject *Node_parse_mssql_beginTranSqlNode(gsp_node *node, Statement *stmt) { SqlNode *obj = (SqlNode*)Node_new(&NodeType, Py_None, Py_None); obj->_node = node; ADD_NODE(obj->dict, ((gsp_mssql_beginTranSqlNode*)node), transactionName); ADD_INT(obj->dict, ((gsp_mssql_beginTranSqlNode*)node), distributed); ADD_INT(obj->dict, ((gsp_mssql_beginTranSqlNode*)node), withMark); ADD_NODE(obj->dict, ((gsp_mssql_beginTranSqlNode*)node), withMarkDescription); return (PyObject*)obj; } PyObject *Node_parse_mssql_raiserrorSqlNode(gsp_node *node, Statement *stmt) { SqlNode *obj = (SqlNode*)Node_new(&NodeType, Py_None, Py_None); obj->_node = node; ADD_NODE(obj->dict, ((gsp_mssql_raiserrorSqlNode*)node), msgs); return (PyObject*)obj; } PyObject *Node_parse_mssql_gotoSqlNode(gsp_node *node, Statement *stmt) { SqlNode *obj = (SqlNode*)Node_new(&NodeType, Py_None, Py_None); obj->_node = node; ADD_NODE(obj->dict, ((gsp_mssql_gotoSqlNode*)node), labelName); return (PyObject*)obj; } PyObject *Node_parse_mssql_labelSqlNode(gsp_node *node, Statement *stmt) { SqlNode *obj = (SqlNode*)Node_new(&NodeType, Py_None, Py_None); obj->_node = node; return (PyObject*)obj; } PyObject *Node_parse_mssql_deallocateSqlNode(gsp_node *node, Statement *stmt) { SqlNode *obj = (SqlNode*)Node_new(&NodeType, Py_None, Py_None); obj->_node = node; ADD_NODE(obj->dict, ((gsp_mssql_deallocateSqlNode*)node), cursorName); ADD_INT(obj->dict, ((gsp_mssql_deallocateSqlNode*)node), bGlobal); return (PyObject*)obj; } PyObject *Node_parse_mssql_beginDialogSqlNode(gsp_node *node, Statement *stmt) { SqlNode *obj = (SqlNode*)Node_new(&NodeType, Py_None, Py_None); obj->_node = node; ADD_NODE(obj->dict, ((gsp_mssql_beginDialogSqlNode*)node), dialogHandle); ADD_NODE(obj->dict, ((gsp_mssql_beginDialogSqlNode*)node), initiatorServiceName); ADD_NODE(obj->dict, ((gsp_mssql_beginDialogSqlNode*)node), targetServiceName); return (PyObject*)obj; } PyObject *Node_parse_mssql_sendOnConversationSqlNode(gsp_node *node, Statement *stmt) { SqlNode *obj = (SqlNode*)Node_new(&NodeType, Py_None, Py_None); obj->_node = node; ADD_NODE(obj->dict, ((gsp_mssql_sendOnConversationSqlNode*)node), conversationHandle); return (PyObject*)obj; } PyObject *Node_parse_mssql_endConversationSqlNode(gsp_node *node, Statement *stmt) { SqlNode *obj = (SqlNode*)Node_new(&NodeType, Py_None, Py_None); obj->_node = node; ADD_NODE(obj->dict, ((gsp_mssql_endConversationSqlNode*)node), conversationHandle); return (PyObject*)obj; } PyObject *Node_parse_mssql_revertSqlNode(gsp_node *node, Statement *stmt) { SqlNode *obj = (SqlNode*)Node_new(&NodeType, Py_None, Py_None); obj->_node = node; return (PyObject*)obj; } PyObject *Node_parse_mssql_goSqlNode(gsp_node *node, Statement *stmt) { SqlNode *obj = (SqlNode*)Node_new(&NodeType, Py_None, Py_None); obj->_node = node; return (PyObject*)obj; } PyObject *Node_parse_mssql_useSqlNode(gsp_node *node, Statement *stmt) { SqlNode *obj = (SqlNode*)Node_new(&NodeType, Py_None, Py_None); obj->_node = node; ADD_NODE(obj->dict, ((gsp_mssql_useSqlNode*)node), databaseName); return (PyObject*)obj; } PyObject *Node_parse_mssql_printSqlNode(gsp_node *node, Statement *stmt) { SqlNode *obj = (SqlNode*)Node_new(&NodeType, Py_None, Py_None); obj->_node = node; ADD_NODE(obj->dict, ((gsp_mssql_printSqlNode*)node), vars); return (PyObject*)obj; } PyObject *Node_parse_mssql_computeClause(gsp_node *node, Statement *stmt) { SqlNode *obj = (SqlNode*)Node_new(&NodeType, Py_None, Py_None); obj->_node = node; ADD_NODE(obj->dict, ((gsp_mssql_computeClause*)node), items); return (PyObject*)obj; } PyObject *Node_parse_mssql_computeClauseItem(gsp_node *node, Statement *stmt) { SqlNode *obj = (SqlNode*)Node_new(&NodeType, Py_None, Py_None); obj->_node = node; ADD_NODE(obj->dict, ((gsp_mssql_computeClauseItem*)node), computeExprList); ADD_NODE(obj->dict, ((gsp_mssql_computeClauseItem*)node), exprList); return (PyObject*)obj; } PyObject *Node_parse_mssql_computeExpr(gsp_node *node, Statement *stmt) { SqlNode *obj = (SqlNode*)Node_new(&NodeType, Py_None, Py_None); obj->_node = node; ADD_NODE(obj->dict, ((gsp_mssql_computeExpr*)node), expr); return (PyObject*)obj; } PyObject *Node_parse_mssql_containsTable(gsp_node *node, Statement *stmt) { SqlNode *obj = (SqlNode*)Node_new(&NodeType, Py_None, Py_None); obj->_node = node; ADD_NODE(obj->dict, ((gsp_mssql_containsTable*)node), tableName); ADD_NODE(obj->dict, ((gsp_mssql_containsTable*)node), containExpr); ADD_NODE(obj->dict, ((gsp_mssql_containsTable*)node), searchCondition); return (PyObject*)obj; } PyObject *Node_parse_mssql_freeTable(gsp_node *node, Statement *stmt) { SqlNode *obj = (SqlNode*)Node_new(&NodeType, Py_None, Py_None); obj->_node = node; ADD_NODE(obj->dict, ((gsp_mssql_freeTable*)node), tableName); ADD_NODE(obj->dict, ((gsp_mssql_freeTable*)node), containExpr); ADD_NODE(obj->dict, ((gsp_mssql_freeTable*)node), searchCondition); return (PyObject*)obj; } PyObject *Node_parse_mssql_openXML(gsp_node *node, Statement *stmt) { SqlNode *obj = (SqlNode*)Node_new(&NodeType, Py_None, Py_None); obj->_node = node; return (PyObject*)obj; } PyObject *Node_parse_mssql_openRowSet(gsp_node *node, Statement *stmt) { SqlNode *obj = (SqlNode*)Node_new(&NodeType, Py_None, Py_None); obj->_node = node; return (PyObject*)obj; } PyObject *Node_parse_mssql_openQuery(gsp_node *node, Statement *stmt) { SqlNode *obj = (SqlNode*)Node_new(&NodeType, Py_None, Py_None); obj->_node = node; ADD_NODE(obj->dict, ((gsp_mssql_openQuery*)node), exprList); return (PyObject*)obj; } PyObject *Node_parse_mssql_openDatasource(gsp_node *node, Statement *stmt) { SqlNode *obj = (SqlNode*)Node_new(&NodeType, Py_None, Py_None); obj->_node = node; ADD_NODE(obj->dict, ((gsp_mssql_openDatasource*)node), providerName); ADD_NODE(obj->dict, ((gsp_mssql_openDatasource*)node), initString); ADD_NODE(obj->dict, ((gsp_mssql_openDatasource*)node), tableName); ADD_NODE(obj->dict, ((gsp_mssql_openDatasource*)node), exprList); return (PyObject*)obj; } PyObject *Node_parse_mssql_tableHint(gsp_node *node, Statement *stmt) { SqlNode *obj = (SqlNode*)Node_new(&NodeType, Py_None, Py_None); obj->_node = node; ADD_NODE(obj->dict, ((gsp_mssql_tableHint*)node), hintName); ADD_NODE(obj->dict, ((gsp_mssql_tableHint*)node), hintNameList); return (PyObject*)obj; } PyObject *Node_parse_mssql_bulkInsertSqlNode(gsp_node *node, Statement *stmt) { SqlNode *obj = (SqlNode*)Node_new(&NodeType, Py_None, Py_None); obj->_node = node; ADD_NODE(obj->dict, ((gsp_mssql_bulkInsertSqlNode*)node), tableName); ADD_NODE(obj->dict, ((gsp_mssql_bulkInsertSqlNode*)node), datafile); return (PyObject*)obj; } PyObject *Node_parse_mssql_outputClause(gsp_node *node, Statement *stmt) { SqlNode *obj = (SqlNode*)Node_new(&NodeType, Py_None, Py_None); obj->_node = node; ADD_NODE(obj->dict, ((gsp_mssql_outputClause*)node), selectItemList); ADD_NODE(obj->dict, ((gsp_mssql_outputClause*)node), selectItemList2); ADD_NODE(obj->dict, ((gsp_mssql_outputClause*)node), intoColumnList); ADD_NODE(obj->dict, ((gsp_mssql_outputClause*)node), tableName); return (PyObject*)obj; } PyObject *Node_parse_mssql_updateTextSqlNode(gsp_node *node, Statement *stmt) { SqlNode *obj = (SqlNode*)Node_new(&NodeType, Py_None, Py_None); obj->_node = node; ADD_NODE(obj->dict, ((gsp_mssql_updateTextSqlNode*)node), destColumnName); ADD_NODE(obj->dict, ((gsp_mssql_updateTextSqlNode*)node), destTextPtr); return (PyObject*)obj; } PyObject *Node_parse_db2_signal(gsp_node *node, Statement *stmt) { SqlNode *obj = (SqlNode*)Node_new(&NodeType, Py_None, Py_None); obj->_node = node; return (PyObject*)obj; } PyObject *Node_parse_db2_compoundSqlNode(gsp_node *node, Statement *stmt) { SqlNode *obj = (SqlNode*)Node_new(&NodeType, Py_None, Py_None); obj->_node = node; ADD_NODE(obj->dict, ((gsp_db2_compoundSqlNode*)node), declareStmts); ADD_NODE(obj->dict, ((gsp_db2_compoundSqlNode*)node), bodyStmts); return (PyObject*)obj; } PyObject *Node_parse_db2_triggerAction(gsp_node *node, Statement *stmt) { SqlNode *obj = (SqlNode*)Node_new(&NodeType, Py_None, Py_None); obj->_node = node; ADD_NODE(obj->dict, ((gsp_db2_triggerAction*)node), whenCondition); ADD_NODE(obj->dict, ((gsp_db2_triggerAction*)node), compoundSqlNode); ADD_NODE(obj->dict, ((gsp_db2_triggerAction*)node), stmt); return (PyObject*)obj; } PyObject *Node_parse_db2_callStmtSqlNode(gsp_node *node, Statement *stmt) { SqlNode *obj = (SqlNode*)Node_new(&NodeType, Py_None, Py_None); obj->_node = node; ADD_NODE(obj->dict, ((gsp_db2_callStmtSqlNode*)node), procedureName); ADD_NODE(obj->dict, ((gsp_db2_callStmtSqlNode*)node), args); return (PyObject*)obj; } PyObject *Node_parse_db2_forSqlNode(gsp_node *node, Statement *stmt) { SqlNode *obj = (SqlNode*)Node_new(&NodeType, Py_None, Py_None); obj->_node = node; ADD_NODE(obj->dict, ((gsp_db2_forSqlNode*)node), loopName); ADD_NODE(obj->dict, ((gsp_db2_forSqlNode*)node), cursorName); ADD_NODE(obj->dict, ((gsp_db2_forSqlNode*)node), subQueryNode); ADD_NODE(obj->dict, ((gsp_db2_forSqlNode*)node), stmts); return (PyObject*)obj; } PyObject *Node_parse_db2_iterateStmtSqlNode(gsp_node *node, Statement *stmt) { SqlNode *obj = (SqlNode*)Node_new(&NodeType, Py_None, Py_None); obj->_node = node; ADD_NODE(obj->dict, ((gsp_db2_iterateStmtSqlNode*)node), labelName); return (PyObject*)obj; } PyObject *Node_parse_db2_leaveStmtSqlNode(gsp_node *node, Statement *stmt) { SqlNode *obj = (SqlNode*)Node_new(&NodeType, Py_None, Py_None); obj->_node = node; ADD_NODE(obj->dict, ((gsp_db2_leaveStmtSqlNode*)node), labelName); return (PyObject*)obj; } PyObject *Node_parse_db2_setSqlNode(gsp_node *node, Statement *stmt) { SqlNode *obj = (SqlNode*)Node_new(&NodeType, Py_None, Py_None); obj->_node = node; return (PyObject*)obj; } PyObject *Node_parse_db2_whileSqlNode(gsp_node *node, Statement *stmt) { SqlNode *obj = (SqlNode*)Node_new(&NodeType, Py_None, Py_None); obj->_node = node; ADD_NODE(obj->dict, ((gsp_db2_whileSqlNode*)node), condition); ADD_NODE(obj->dict, ((gsp_db2_whileSqlNode*)node), stmts); return (PyObject*)obj; } PyObject *Node_parse_db2_repeatSqlNode(gsp_node *node, Statement *stmt) { SqlNode *obj = (SqlNode*)Node_new(&NodeType, Py_None, Py_None); obj->_node = node; ADD_NODE(obj->dict, ((gsp_db2_repeatSqlNode*)node), condition); ADD_NODE(obj->dict, ((gsp_db2_repeatSqlNode*)node), stmts); return (PyObject*)obj; } PyObject *Node_parse_db2_gotoSqlNode(gsp_node *node, Statement *stmt) { SqlNode *obj = (SqlNode*)Node_new(&NodeType, Py_None, Py_None); obj->_node = node; ADD_NODE(obj->dict, ((gsp_db2_gotoSqlNode*)node), labelName); return (PyObject*)obj; } PyObject *Node_parse_db2_loopSqlNode(gsp_node *node, Statement *stmt) { SqlNode *obj = (SqlNode*)Node_new(&NodeType, Py_None, Py_None); obj->_node = node; ADD_NODE(obj->dict, ((gsp_db2_loopSqlNode*)node), stmts); return (PyObject*)obj; } /// void Node_init() { int i; for (i=0; i