亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關于我們
? 蟲蟲下載站

?? sybase.py

?? SQLAlchemy. 經典的Python ORM框架。學習必看。
?? PY
?? 第 1 頁 / 共 3 頁
字號:
            args = []            for a in (charlen, numericprec, numericscale):                if a is not None:                    args.append(a)            coltype = self.ischema_names.get(type, None)            if coltype == SybaseString and charlen == -1:                coltype = SybaseText()            else:                if coltype is None:                    util.warn("Did not recognize type '%s' of column '%s'" %                              (type, name))                    coltype = sqltypes.NULLTYPE                coltype = coltype(*args)            colargs= []            if default is not None:                colargs.append(schema.PassiveDefault(sql.text(default)))            # any sequences ?            col = schema.Column(name, coltype, nullable=nullable, primary_key=primary_key, *colargs)            if int(max_identity) > 0:                col.sequence = schema.Sequence(name + '_identity')                col.sequence.start = int(max_identity)                col.sequence.increment = 1            # append the column            table.append_column(col)        # any foreign key constraint for this table ?        # note: no multi-column foreign keys are considered        s = "select st1.table_name, sc1.column_name, st2.table_name, sc2.column_name from systable as st1 join sysfkcol on st1.table_id=sysfkcol.foreign_table_id join sysforeignkey join systable as st2 on sysforeignkey.primary_table_id = st2.table_id join syscolumn as sc1 on sysfkcol.foreign_column_id=sc1.column_id and sc1.table_id=st1.table_id join syscolumn as sc2 on sysfkcol.primary_column_id=sc2.column_id and sc2.table_id=st2.table_id where st1.table_name='%(table_name)s';" % { 'table_name' : table.name }        c = connection.execute(s)        foreignKeys = {}        while True:            row = c.fetchone()            if row is None:                break            (foreign_table, foreign_column, primary_table, primary_column) = (                row[0], row[1], row[2], row[3],            )            if not primary_table in foreignKeys.keys():                foreignKeys[primary_table] = [['%s'%(foreign_column)], ['%s.%s'%(primary_table,primary_column)]]            else:                foreignKeys[primary_table][0].append('%s'%(foreign_column))                foreignKeys[primary_table][1].append('%s.%s'%(primary_table,primary_column))        for primary_table in foreignKeys.keys():            #table.append_constraint(schema.ForeignKeyConstraint(['%s.%s'%(foreign_table, foreign_column)], ['%s.%s'%(primary_table,primary_column)]))            table.append_constraint(schema.ForeignKeyConstraint(foreignKeys[primary_table][0], foreignKeys[primary_table][1]))        if not found_table:            raise exceptions.NoSuchTableError(table.name)class SybaseSQLDialect_mxodbc(SybaseSQLDialect):    def __init__(self, **params):        super(SybaseSQLDialect_mxodbc, self).__init__(**params)        self.dbapi_type_map = {'getdate' : SybaseDate_mxodbc()}    def import_dbapi(cls):        #import mx.ODBC.Windows as module        import mxODBC as module        return module    import_dbapi = classmethod(import_dbapi)    colspecs = SybaseSQLDialect.colspecs.copy()    colspecs[sqltypes.Time] = SybaseTime_mxodbc    colspecs[sqltypes.Date] = SybaseDate_mxodbc    colspecs[sqltypes.DateTime] = SybaseDateTime_mxodbc    ischema_names = SybaseSQLDialect.ischema_names.copy()    ischema_names['time'] = SybaseTime_mxodbc    ischema_names['date'] = SybaseDate_mxodbc    ischema_names['datetime'] = SybaseDateTime_mxodbc    ischema_names['smalldatetime'] = SybaseDateTime_mxodbc    def is_disconnect(self, e):        # FIXME: optimize        #return isinstance(e, self.dbapi.Error) and '[08S01]' in str(e)        #return True        return False    def create_execution_context(self, *args, **kwargs):        return SybaseSQLExecutionContext_mxodbc(self, *args, **kwargs)    def do_execute(self, cursor, statement, parameters, context=None, **kwargs):        super(SybaseSQLDialect_mxodbc, self).do_execute(cursor, statement, parameters, context=context, **kwargs)    def create_connect_args(self, url):        '''Return a tuple of *args,**kwargs'''        # FIXME: handle mx.odbc.Windows proprietary args        opts = url.translate_connect_args(username='user')        opts.update(url.query)        argsDict = {}        argsDict['user'] = opts['user']        argsDict['password'] = opts['password']        connArgs = [[opts['dsn']], argsDict]        return connArgsclass SybaseSQLDialect_pyodbc(SybaseSQLDialect):    def __init__(self, **params):        super(SybaseSQLDialect_pyodbc, self).__init__(**params)        self.dbapi_type_map = {'getdate' : SybaseDate_pyodbc()}    def import_dbapi(cls):        import mypyodbc as module        return module    import_dbapi = classmethod(import_dbapi)    colspecs = SybaseSQLDialect.colspecs.copy()    colspecs[sqltypes.Time] = SybaseTime_pyodbc    colspecs[sqltypes.Date] = SybaseDate_pyodbc    colspecs[sqltypes.DateTime] = SybaseDateTime_pyodbc    ischema_names = SybaseSQLDialect.ischema_names.copy()    ischema_names['time'] = SybaseTime_pyodbc    ischema_names['date'] = SybaseDate_pyodbc    ischema_names['datetime'] = SybaseDateTime_pyodbc    ischema_names['smalldatetime'] = SybaseDateTime_pyodbc    def is_disconnect(self, e):        # FIXME: optimize        #return isinstance(e, self.dbapi.Error) and '[08S01]' in str(e)        #return True        return False    def create_execution_context(self, *args, **kwargs):        return SybaseSQLExecutionContext_pyodbc(self, *args, **kwargs)    def do_execute(self, cursor, statement, parameters, context=None, **kwargs):        super(SybaseSQLDialect_pyodbc, self).do_execute(cursor, statement, parameters, context=context, **kwargs)    def create_connect_args(self, url):        '''Return a tuple of *args,**kwargs'''        # FIXME: handle pyodbc proprietary args        opts = url.translate_connect_args(username='user')        opts.update(url.query)        self.autocommit = False        if 'autocommit' in opts:            self.autocommit = bool(int(opts.pop('autocommit')))        argsDict = {}        argsDict['UID'] = opts['user']        argsDict['PWD'] = opts['password']        argsDict['DSN'] = opts['dsn']        connArgs = [[';'.join(["%s=%s"%(key, argsDict[key]) for key in argsDict])], {'autocommit' : self.autocommit}]        return connArgsdialect_mapping = {    'sqlalchemy.databases.mxODBC' : SybaseSQLDialect_mxodbc,#    'pyodbc' : SybaseSQLDialect_pyodbc,    }class SybaseSQLCompiler(compiler.DefaultCompiler):    operators = compiler.DefaultCompiler.operators.copy()    operators.update({        sql_operators.mod: lambda x, y: "MOD(%s, %s)" % (x, y),    })    def bindparam_string(self, name):        res = super(SybaseSQLCompiler, self).bindparam_string(name)        if name.lower().startswith('literal'):            res = 'STRING(%s)'%res        return res    def get_select_precolumns(self, select):        s = select._distinct and "DISTINCT " or ""        if select._limit:            #if select._limit == 1:                #s += "FIRST "            #else:                #s += "TOP %s " % (select._limit,)            s += "TOP %s " % (select._limit,)        if select._offset:            if not select._limit:                # FIXME: sybase doesn't allow an offset without a limit                # so use a huge value for TOP here                s += "TOP 1000000 "            s += "START AT %s " % (select._offset+1,)        return s    def limit_clause(self, select):        # Limit in sybase is after the select keyword        return ""    def visit_binary(self, binary):        """Move bind parameters to the right-hand side of an operator, where possible."""        if isinstance(binary.left, expression._BindParamClause) and binary.operator == operator.eq:            return self.process(expression._BinaryExpression(binary.right, binary.left, binary.operator))        else:            return super(SybaseSQLCompiler, self).visit_binary(binary)    def label_select_column(self, select, column, asfrom):        if isinstance(column, expression._Function):            return column.label(None)        else:            return super(SybaseSQLCompiler, self).label_select_column(select, column, asfrom)    function_rewrites =  {'current_date': 'getdate',                         }    def visit_function(self, func):        func.name = self.function_rewrites.get(func.name, func.name)        res = super(SybaseSQLCompiler, self).visit_function(func)        if func.name.lower() == 'getdate':            # apply CAST operator            # FIXME: what about _pyodbc ?            cast = expression._Cast(func, SybaseDate_mxodbc)            # infinite recursion            # res = self.visit_cast(cast)            res = "CAST(%s AS %s)" % (res, self.process(cast.typeclause))        return res    def for_update_clause(self, select):        # "FOR UPDATE" is only allowed on "DECLARE CURSOR" which SQLAlchemy doesn't use        return ''    def order_by_clause(self, select):        order_by = self.process(select._order_by_clause)        # SybaseSQL only allows ORDER BY in subqueries if there is a LIMIT        if order_by and (not self.is_subquery(select) or select._limit):            return " ORDER BY " + order_by        else:            return ""class SybaseSQLSchemaGenerator(compiler.SchemaGenerator):    def get_column_specification(self, column, **kwargs):        colspec = self.preparer.format_column(column)        if (not getattr(column.table, 'has_sequence', False)) and column.primary_key and \                column.autoincrement and isinstance(column.type, sqltypes.Integer):            if column.default is None or (isinstance(column.default, schema.Sequence) and column.default.optional):                column.sequence = schema.Sequence(column.name + '_seq')        if hasattr(column, 'sequence'):            column.table.has_sequence = column            #colspec += " numeric(30,0) IDENTITY"            colspec += " Integer IDENTITY"        else:            colspec += " " + column.type.dialect_impl(self.dialect, _for_ddl=column).get_col_spec()        if not column.nullable:            colspec += " NOT NULL"        default = self.get_column_default_string(column)        if default is not None:            colspec += " DEFAULT " + default        return colspecclass SybaseSQLSchemaDropper(compiler.SchemaDropper):    def visit_index(self, index):        self.append("\nDROP INDEX %s.%s" % (            self.preparer.quote_identifier(index.table.name),            self.preparer.quote_identifier(index.name)            ))        self.execute()class SybaseSQLDefaultRunner(base.DefaultRunner):    passclass SybaseSQLIdentifierPreparer(compiler.IdentifierPreparer):    reserved_words = RESERVED_WORDS    def __init__(self, dialect):        super(SybaseSQLIdentifierPreparer, self).__init__(dialect)    def _escape_identifier(self, value):        #TODO: determin SybaseSQL's escapeing rules        return value    def _fold_identifier_case(self, value):        #TODO: determin SybaseSQL's case folding rules        return valuedialect = SybaseSQLDialectdialect.statement_compiler = SybaseSQLCompilerdialect.schemagenerator = SybaseSQLSchemaGeneratordialect.schemadropper = SybaseSQLSchemaDropperdialect.preparer = SybaseSQLIdentifierPreparerdialect.defaultrunner = SybaseSQLDefaultRunner

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
99精品视频中文字幕| 日本不卡一二三区黄网| 成人激情电影免费在线观看| 欧美激情一区二区三区在线| 岛国一区二区在线观看| 国产精品日韩成人| 日本高清不卡一区| 日韩电影在线观看电影| 欧美精品一区二区三区蜜臀| 国产美女精品人人做人人爽| 欧美激情在线观看视频免费| 91久久精品一区二区三| 五月婷婷欧美视频| 精品福利一区二区三区免费视频| 国产凹凸在线观看一区二区| 亚洲精品视频在线观看免费| 日韩视频在线永久播放| 国产成人8x视频一区二区| 一区二区在线观看免费视频播放| 欧美一区二区在线观看| 丰满少妇久久久久久久| 亚洲国产婷婷综合在线精品| 日韩一区二区三区高清免费看看| 国产福利一区在线| 一区二区三区蜜桃网| 精品国产成人系列| 91福利资源站| 国产精品一区二区91| 亚洲国产精品一区二区久久| 久久众筹精品私拍模特| 在线观看日韩电影| 国内精品嫩模私拍在线| 一区二区在线电影| 国产三级三级三级精品8ⅰ区| 色噜噜狠狠成人网p站| 狠狠色2019综合网| 亚洲国产综合91精品麻豆| 国产偷国产偷亚洲高清人白洁| 在线一区二区三区四区五区 | 国产精品亚洲午夜一区二区三区 | 亚洲影视在线观看| 国产视频一区在线播放| 91精品综合久久久久久| 91香蕉国产在线观看软件| 国产在线视视频有精品| 日韩av中文在线观看| 亚洲精品欧美二区三区中文字幕| 久久午夜羞羞影院免费观看| 欧美日韩免费在线视频| 色老综合老女人久久久| 成人黄色综合网站| 精品一区二区精品| 日韩精品每日更新| 亚洲一区二区不卡免费| 中文字幕一区在线| 国产日韩欧美一区二区三区乱码| 日韩视频免费直播| 欧美三级电影一区| 色域天天综合网| 成人午夜激情在线| 国产电影精品久久禁18| 老司机精品视频在线| 丝袜美腿亚洲一区| 日韩精品高清不卡| 日韩高清一区在线| 日本sm残虐另类| 天堂久久久久va久久久久| 亚欧色一区w666天堂| 亚洲成a人片综合在线| 亚洲一区二区在线免费看| 亚洲卡通动漫在线| 亚洲欧美经典视频| 一级做a爱片久久| 一区二区三区在线免费观看| 一区二区三区四区五区视频在线观看| 1024成人网色www| 亚洲欧美成人一区二区三区| 亚洲精选视频在线| 亚洲电影在线播放| 日韩国产在线观看一区| 麻豆成人久久精品二区三区小说| 免费在线观看日韩欧美| 老司机一区二区| 国产精品资源在线| 成人av免费网站| 日本乱人伦aⅴ精品| 欧美日韩一本到| 欧美一区二区三区影视| 久久亚洲春色中文字幕久久久| 欧美激情一区二区三区在线| 国产精品不卡一区| 亚洲一区中文在线| 伦理电影国产精品| 国产99久久精品| caoporn国产精品| 欧美图区在线视频| 精品福利在线导航| 亚洲丝袜自拍清纯另类| 亚洲国产精品一区二区www| 另类综合日韩欧美亚洲| 成人av影院在线| 91成人国产精品| 欧美岛国在线观看| 综合激情成人伊人| 青青草国产精品亚洲专区无| 国产乱码精品一区二区三区五月婷| 成人国产在线观看| 69精品人人人人| 久久久久久影视| 亚洲精选在线视频| 国产真实乱偷精品视频免| 色天天综合久久久久综合片| 日韩欧美资源站| 国产精品入口麻豆九色| 视频一区视频二区中文| 国产福利不卡视频| 欧美日韩国产在线观看| 欧美国产精品一区二区三区| 亚洲一区二区三区四区在线观看| 精品一区二区三区久久| 91麻豆精品一区二区三区| 日韩视频一区二区| 樱花影视一区二区| 国产成人在线观看免费网站| 欧美色综合天天久久综合精品| 久久久久久免费毛片精品| 亚洲国产一区视频| av不卡在线播放| 精品日本一线二线三线不卡| 一区二区成人在线| www.一区二区| 久久久久久久一区| 蜜乳av一区二区| 欧美视频一区在线观看| 国产精品少妇自拍| 捆绑调教一区二区三区| 色久优优欧美色久优优| 中文字幕av一区 二区| 蜜臀91精品一区二区三区| 99久精品国产| 国产人久久人人人人爽| 久久国产剧场电影| 在线成人av网站| 亚洲人成亚洲人成在线观看图片| 国产成人精品亚洲777人妖| 欧美电影免费观看高清完整版在| 亚洲国产一区二区三区| 91色九色蝌蚪| 亚洲欧洲日本在线| 成人黄色777网| 国产日产精品一区| 国产盗摄一区二区| 久久精品一二三| 紧缚奴在线一区二区三区| 日韩一区二区三区精品视频| 日韩精品电影在线观看| 6080日韩午夜伦伦午夜伦| 亚洲一区在线观看免费| 在线观看亚洲精品视频| 亚洲精品乱码久久久久| 在线免费亚洲电影| 亚洲综合一区二区精品导航| 欧美专区日韩专区| 亚洲精品你懂的| 色94色欧美sute亚洲13| 亚洲二区在线视频| 91精品国产色综合久久不卡电影 | 一区二区三区四区中文字幕| 99久久99久久综合| 亚洲激情在线播放| 在线观看视频一区二区| 午夜av一区二区三区| 91精品国产麻豆| 久久99国产精品麻豆| 久久在线免费观看| 波多野结衣欧美| 亚洲人成精品久久久久| 色哟哟欧美精品| 亚洲观看高清完整版在线观看 | 国模一区二区三区白浆| 久久天堂av综合合色蜜桃网| 国产成人av一区二区三区在线 | 日韩欧美国产三级电影视频| 久久狠狠亚洲综合| 国产精品情趣视频| 日本高清不卡aⅴ免费网站| 五月天久久比比资源色| 欧美成人综合网站| 成人深夜视频在线观看| 一区二区三区蜜桃网| 日韩视频在线观看一区二区| 国产成人av资源| 一区二区三区蜜桃网| 欧美va亚洲va| 91影院在线观看| 日韩国产欧美一区二区三区| 中文字幕巨乱亚洲| 欧美裸体一区二区三区| 国产一区二区三区免费播放| 亚洲欧美激情视频在线观看一区二区三区|