Ticket #14477: trac14477.2.patch

File trac14477.2.patch, 20.2 KB (added by ohanar, 8 years ago)

apply to sage library

  • sage/databases/sql_db.py

    # HG changeset patch
    # User R. Andrew Ohana <andrew.ohana@gmail.com>
    # Date 1366714685 25200
    # Node ID 03ca7c9d3f1cc032674824af5b9467e55aa31176
    # Parent  c8ae9724d3cfad1837a130d50ac5c83a811ec221
    sort graph database queries by graph6 column
    
    diff --git a/sage/databases/sql_db.py b/sage/databases/sql_db.py
    a b  
    649649            C?                   [0, 0, 0, 0]
    650650            C@                   [0, 0, 1, 1]
    651651            CB                   [0, 1, 1, 2]
    652             CK                   [1, 1, 1, 1]
    653652            CF                   [1, 1, 1, 3]
    654653            CJ                   [0, 2, 2, 2]
     654            CK                   [1, 1, 1, 1]
    655655            CL                   [1, 1, 2, 2]
    656656            CN                   [1, 2, 2, 3]
    657657            C]                   [2, 2, 2, 2]
  • sage/graphs/generic_graph.py

    diff --git a/sage/graphs/generic_graph.py b/sage/graphs/generic_graph.py
    a b  
    1635816358            (24, [(2,3), (1,2), (1,4)])
    1635916359            (4, [(2,3), (1,4)])
    1636016360            (2, [(1,2)])
    16361             (8, [(1,2), (1,4)(2,3)])
    1636216361            (6, [(1,2), (1,4)])
    1636316362            (6, [(2,3), (1,2)])
     16363            (8, [(1,2), (1,4)(2,3)])
    1636416364            (2, [(1,4)(2,3)])
    1636516365            (2, [(1,2)])
    1636616366            (8, [(2,3), (1,3)(2,4), (1,4)])
  • sage/graphs/graph.py

    diff --git a/sage/graphs/graph.py b/sage/graphs/graph.py
    a b  
    442442    sage: Q.show()
    443443    Graph6
    444444    --------------------
     445    F?`po
     446    F?gqg
    445447    F@?]O
    446448    F@OKg
    447     F?`po
    448     F?gqg
    449     FIAHo
    450449    F@R@o
    451450    FA_pW
     451    FEOhW
    452452    FGC{o
    453     FEOhW
     453    FIAHo
    454454
    455455Show each graph as you iterate through the results:
    456456
  • sage/graphs/graph_database.py

    diff --git a/sage/graphs/graph_database.py b/sage/graphs/graph_database.py
    a b  
    342342            ------------------------------------------------------------
    343343            A_                   2                    [1, 1]             
    344344            BW                   3                    [1, 1, 2]           
     345            CF                   4                    [1, 1, 1, 3]
    345346            CK                   4                    [1, 1, 1, 1]       
    346             CF                   4                    [1, 1, 1, 3]       
    347347            CL                   4                    [1, 1, 2, 2]       
    348348            CN                   4                    [1, 2, 2, 3]       
    349             D_K                  5                    [1, 1, 1, 1, 2]     
    350349            D?{                  5                    [1, 1, 1, 1, 4]     
    351350            D@s                  5                    [1, 1, 1, 2, 3]     
     351            D@{                  5                    [1, 1, 2, 2, 4]
    352352            DBg                  5                    [1, 1, 2, 2, 2]     
     353            DBk                  5                    [1, 1, 2, 3, 3]
     354            DIk                  5                    [1, 2, 2, 2, 3]
     355            DK[                  5                    [1, 2, 2, 2, 3]
     356            D_K                  5                    [1, 1, 1, 1, 2]
    353357            D`K                  5                    [1, 1, 2, 2, 2]     
    354             D@{                  5                    [1, 1, 2, 2, 4]     
    355             DIk                  5                    [1, 2, 2, 2, 3]     
    356             DBk                  5                    [1, 1, 2, 3, 3]     
    357             DK[                  5                    [1, 2, 2, 2, 3]     
    358             E@Q?                 6                    [1, 1, 1, 1, 1, 1] 
    359             E_?w                 6                    [1, 1, 1, 1, 1, 3] 
    360             E?N?                 6                    [1, 1, 1, 1, 2, 2] 
    361             E_Cg                 6                    [1, 1, 1, 1, 2, 2] 
    362358            E?Bw                 6                    [1, 1, 1, 1, 1, 5] 
    363359            E?Fg                 6                    [1, 1, 1, 1, 2, 4] 
     360            E?N?                 6                    [1, 1, 1, 1, 2, 2]
     361            E?NG                 6                    [1, 1, 1, 1, 3, 3]
    364362            E@FG                 6                    [1, 1, 1, 2, 2, 3] 
    365             E?NG                 6                    [1, 1, 1, 1, 3, 3] 
    366363            E@N?                 6                    [1, 1, 2, 2, 2, 2] 
     364            E@Q?                 6                    [1, 1, 1, 1, 1, 1]
     365            E@QW                 6                    [1, 1, 1, 2, 2, 3]
    367366            E@YO                 6                    [1, 1, 2, 2, 2, 2] 
    368             E@QW                 6                    [1, 1, 1, 2, 2, 3] 
     367            E_?w                 6                    [1, 1, 1, 1, 1, 3]
     368            E_Cg                 6                    [1, 1, 1, 1, 2, 2]
    369369            E_Cw                 6                    [1, 1, 1, 2, 2, 3] 
    370370            E_Ko                 6                    [1, 1, 2, 2, 2, 2] 
     371            F??^?                7                    [1, 1, 1, 1, 1, 2, 3]
     372            F?LCG                7                    [1, 1, 1, 1, 2, 2, 2]
    371373            FK??W                7                    [1, 1, 1, 1, 1, 1, 2]
     374            FK?GW                7                    [1, 1, 1, 1, 2, 2, 2]
    372375            F_?@w                7                    [1, 1, 1, 1, 1, 1, 4]
    373             F??^?                7                    [1, 1, 1, 1, 1, 2, 3]
    374376            F_?Hg                7                    [1, 1, 1, 1, 1, 2, 3]
    375             F?LCG                7                    [1, 1, 1, 1, 2, 2, 2]
    376377            F_?XO                7                    [1, 1, 1, 1, 2, 2, 2]
    377             FK?GW                7                    [1, 1, 1, 1, 2, 2, 2]
    378378        """
    379379        if graph_db == None: graph_db = GraphDatabase()
    380380        if query_dict is not None:
     
    475475                                # substitue disp_str and join_str back into self's query string
    476476                                self.__query_string__ = re.sub('SELECT.*WHERE ', disp_str + join_str + \
    477477                                                                                                'WHERE ', self.__query_string__)
     478                                self.__query_string__ += ' ORDER BY graph_data.graph6'
    478479   
    479480    def query_iterator(self):
    480481        """
     
    485486            sage: Q = GraphQuery(display_cols=['graph6'],num_vertices=7, diameter=5)
    486487            sage: for g in Q:
    487488            ...     print g.graph6_string()
     489            F?`po
     490            F?gqg
    488491            F@?]O
    489492            F@OKg
    490             F?`po
    491             F?gqg
    492             FIAHo
    493493            F@R@o
    494494            FA_pW
     495            FEOhW
    495496            FGC{o
    496             FEOhW
    497        
     497            FIAHo
    498498            sage: Q = GraphQuery(display_cols=['graph6'],num_vertices=7, diameter=5)
    499499            sage: it = iter(Q)
    500500            sage: while True:
    501501            ...     try: print it.next().graph6_string()
    502502            ...     except StopIteration: break
     503            F?`po
     504            F?gqg
    503505            F@?]O
    504506            F@OKg
    505             F?`po
    506             F?gqg
    507             FIAHo
    508507            F@R@o
    509508            FA_pW
     509            FEOhW
    510510            FGC{o
    511             FEOhW
    512 
     511            FIAHo
    513512        """
    514513        return iter(self.get_graphs_list())
    515514       
     
    549548            C?                   4                    [0, 0, 0, 0]       
    550549            C@                   4                    [0, 0, 1, 1]       
    551550            CB                   4                    [0, 1, 1, 2]       
    552             CK                   4                    [1, 1, 1, 1]       
    553551            CF                   4                    [1, 1, 1, 3]       
    554552            CJ                   4                    [0, 2, 2, 2]       
     553            CK                   4                    [1, 1, 1, 1]
    555554            CL                   4                    [1, 1, 2, 2]       
    556555            CN                   4                    [1, 2, 2, 3]       
    557556            C]                   4                    [2, 2, 2, 2]       
     
    574573            C?                   24
    575574            C@                   4
    576575            CB                   2
    577             CK                   8
    578576            CF                   6
    579577            CJ                   6
     578            CK                   8
    580579            CL                   2
    581580            CN                   2
    582581            C]                   8
     
    942941            C?                   4                    [0, 0, 0, 0]       
    943942            C@                   4                    [0, 0, 1, 1]       
    944943            CB                   4                    [0, 1, 1, 2]       
    945             CK                   4                    [1, 1, 1, 1]       
    946944            CF                   4                    [1, 1, 1, 3]       
    947945            CJ                   4                    [0, 2, 2, 2]       
     946            CK                   4                    [1, 1, 1, 1]
    948947            CL                   4                    [1, 1, 2, 2]       
    949948            CN                   4                    [1, 2, 2, 3]       
    950949            C]                   4                    [2, 2, 2, 2]       
     
    952951            D??                  5                    [0, 0, 0, 0, 0]     
    953952            D?C                  5                    [0, 0, 0, 1, 1]     
    954953            D?K                  5                    [0, 0, 1, 1, 2]     
     954            D?[                  5                    [0, 1, 1, 1, 3]
     955            D?{                  5                    [1, 1, 1, 1, 4]
     956            D@K                  5                    [0, 0, 2, 2, 2]
    955957            D@O                  5                    [0, 1, 1, 1, 1]     
    956             D?[                  5                    [0, 1, 1, 1, 3]     
    957             D@K                  5                    [0, 0, 2, 2, 2]     
    958             D_K                  5                    [1, 1, 1, 1, 2]     
    959958            D@S                  5                    [0, 1, 1, 2, 2]     
    960             D?{                  5                    [1, 1, 1, 1, 4]     
    961959            D@[                  5                    [0, 1, 2, 2, 3]     
    962960            D@s                  5                    [1, 1, 1, 2, 3]     
     961            D@{                  5                    [1, 1, 2, 2, 4]
     962            DBW                  5                    [0, 2, 2, 2, 2]
     963            DB[                  5                    [0, 2, 2, 3, 3]
    963964            DBg                  5                    [1, 1, 2, 2, 2]     
    964             DBW                  5                    [0, 2, 2, 2, 2]     
    965             D`K                  5                    [1, 1, 2, 2, 2]     
    966             D@{                  5                    [1, 1, 2, 2, 4]     
    967             DB[                  5                    [0, 2, 2, 3, 3]     
     965            DBk                  5                    [1, 1, 2, 3, 3]
    968966            DIk                  5                    [1, 2, 2, 2, 3]     
    969             DBk                  5                    [1, 1, 2, 3, 3]     
    970967            DK[                  5                    [1, 2, 2, 2, 3]     
    971968            DLo                  5                    [2, 2, 2, 2, 2]     
     969            D_K                  5                    [1, 1, 1, 1, 2]
     970            D`K                  5                    [1, 1, 2, 2, 2]
    972971            E???                 6                    [0, 0, 0, 0, 0, 0] 
    973972            E??G                 6                    [0, 0, 0, 0, 1, 1] 
    974973            E??W                 6                    [0, 0, 0, 1, 1, 2] 
     974            E??w                 6                    [0, 0, 1, 1, 1, 3]
     975            E?@w                 6                    [0, 1, 1, 1, 1, 4]
     976            E?Bw                 6                    [1, 1, 1, 1, 1, 5]
     977            E?CW                 6                    [0, 0, 0, 2, 2, 2]
    975978            E?C_                 6                    [0, 0, 1, 1, 1, 1] 
    976             E??w                 6                    [0, 0, 1, 1, 1, 3] 
    977             E?CW                 6                    [0, 0, 0, 2, 2, 2] 
    978             EG?W                 6                    [0, 1, 1, 1, 1, 2] 
    979979            E?Cg                 6                    [0, 0, 1, 1, 2, 2] 
    980             E@Q?                 6                    [1, 1, 1, 1, 1, 1] 
    981             E?@w                 6                    [0, 1, 1, 1, 1, 4] 
    982980            E?Cw                 6                    [0, 0, 1, 2, 2, 3] 
    983981            E?Dg                 6                    [0, 1, 1, 1, 2, 3] 
    984             E_?w                 6                    [1, 1, 1, 1, 1, 3] 
    985             E?LO                 6                    [0, 1, 1, 2, 2, 2] 
    986             E?N?                 6                    [1, 1, 1, 1, 2, 2] 
    987             E?Ko                 6                    [0, 0, 2, 2, 2, 2] 
    988             EGCW                 6                    [0, 1, 1, 2, 2, 2] 
    989             E_Cg                 6                    [1, 1, 1, 1, 2, 2] 
    990             E?Bw                 6                    [1, 1, 1, 1, 1, 5] 
    991982            E?Dw                 6                    [0, 1, 1, 2, 2, 4] 
    992983            E?Fg                 6                    [1, 1, 1, 1, 2, 4] 
     984            E?Ko                 6                    [0, 0, 2, 2, 2, 2]
    993985            E?Kw                 6                    [0, 0, 2, 2, 3, 3] 
     986            E?LO                 6                    [0, 1, 1, 2, 2, 2]
     987            E?LW                 6                    [0, 1, 1, 2, 3, 3]
     988            E?N?                 6                    [1, 1, 1, 1, 2, 2]
     989            E?NG                 6                    [1, 1, 1, 1, 3, 3]
     990            E@FG                 6                    [1, 1, 1, 2, 2, 3]
    994991            E@HW                 6                    [0, 1, 2, 2, 2, 3] 
    995             E@FG                 6                    [1, 1, 1, 2, 2, 3] 
    996             E?LW                 6                    [0, 1, 1, 2, 3, 3] 
    997             E?NG                 6                    [1, 1, 1, 1, 3, 3] 
    998992            E@N?                 6                    [1, 1, 2, 2, 2, 2] 
     993            E@Ow                 6                    [0, 1, 2, 2, 2, 3]
     994            E@Q?                 6                    [1, 1, 1, 1, 1, 1]
     995            E@QW                 6                    [1, 1, 1, 2, 2, 3]
     996            E@T_                 6                    [0, 2, 2, 2, 2, 2]
    999997            E@YO                 6                    [1, 1, 2, 2, 2, 2] 
    1000             E@QW                 6                    [1, 1, 1, 2, 2, 3] 
    1001             E@Ow                 6                    [0, 1, 2, 2, 2, 3] 
     998            EG?W                 6                    [0, 1, 1, 1, 1, 2]
     999            EGCW                 6                    [0, 1, 1, 2, 2, 2]
     1000            E_?w                 6                    [1, 1, 1, 1, 1, 3]
     1001            E_Cg                 6                    [1, 1, 1, 1, 2, 2]
    10021002            E_Cw                 6                    [1, 1, 1, 2, 2, 3] 
    1003             E@T_                 6                    [0, 2, 2, 2, 2, 2] 
    10041003            E_Ko                 6                    [1, 1, 2, 2, 2, 2] 
    10051004            F????                7                    [0, 0, 0, 0, 0, 0, 0]
    10061005            F???G                7                    [0, 0, 0, 0, 0, 1, 1]
    10071006            F???W                7                    [0, 0, 0, 0, 1, 1, 2]
     1007            F???w                7                    [0, 0, 0, 1, 1, 1, 3]
     1008            F??@w                7                    [0, 0, 1, 1, 1, 1, 4]
     1009            F??Bw                7                    [0, 1, 1, 1, 1, 1, 5]
     1010            F??GW                7                    [0, 0, 0, 0, 2, 2, 2]
    10081011            F??G_                7                    [0, 0, 0, 1, 1, 1, 1]
    1009             F???w                7                    [0, 0, 0, 1, 1, 1, 3]
    1010             F??GW                7                    [0, 0, 0, 0, 2, 2, 2]
    1011             F@??W                7                    [0, 0, 1, 1, 1, 1, 2]
    10121012            F??Gg                7                    [0, 0, 0, 1, 1, 2, 2]
    1013             F?Ca?                7                    [0, 1, 1, 1, 1, 1, 1]
    1014             F??@w                7                    [0, 0, 1, 1, 1, 1, 4]
    10151013            F??Gw                7                    [0, 0, 0, 1, 2, 2, 3]
    10161014            F??Hg                7                    [0, 0, 1, 1, 1, 2, 3]
    1017             FG??w                7                    [0, 1, 1, 1, 1, 1, 3]
    1018             F??XO                7                    [0, 0, 1, 1, 2, 2, 2]
    1019             F??Z?                7                    [0, 1, 1, 1, 1, 2, 2]
    1020             F??Wo                7                    [0, 0, 0, 2, 2, 2, 2]
    1021             F@?GW                7                    [0, 0, 1, 1, 2, 2, 2]
    1022             FK??W                7                    [1, 1, 1, 1, 1, 1, 2]
    1023             FG?Gg                7                    [0, 1, 1, 1, 1, 2, 2]
    1024             F??Bw                7                    [0, 1, 1, 1, 1, 1, 5]
    10251015            F??Hw                7                    [0, 0, 1, 1, 2, 2, 4]
    10261016            F??Jg                7                    [0, 1, 1, 1, 1, 2, 4]
     1017            F??Wo                7                    [0, 0, 0, 2, 2, 2, 2]
     1018            F??Ww                7                    [0, 0, 0, 2, 2, 3, 3]
     1019            F??XO                7                    [0, 0, 1, 1, 2, 2, 2]
     1020            F??XW                7                    [0, 0, 1, 1, 2, 3, 3]
     1021            F??Z?                7                    [0, 1, 1, 1, 1, 2, 2]
     1022            F??ZG                7                    [0, 1, 1, 1, 1, 3, 3]
     1023            F??^?                7                    [1, 1, 1, 1, 1, 2, 3]
     1024            F?CJG                7                    [0, 1, 1, 1, 2, 2, 3]
     1025            F?CPW                7                    [0, 0, 1, 2, 2, 2, 3]
     1026            F?CZ?                7                    [0, 1, 1, 2, 2, 2, 2]
     1027            F?C_w                7                    [0, 0, 1, 2, 2, 2, 3]
     1028            F?Ca?                7                    [0, 1, 1, 1, 1, 1, 1]
     1029            F?CaW                7                    [0, 1, 1, 1, 2, 2, 3]
     1030            F?Ch_                7                    [0, 0, 2, 2, 2, 2, 2]
     1031            F?CqO                7                    [0, 1, 1, 2, 2, 2, 2]
     1032            F?LCG                7                    [1, 1, 1, 1, 2, 2, 2]
     1033            F@??W                7                    [0, 0, 1, 1, 1, 1, 2]
     1034            F@?GW                7                    [0, 0, 1, 1, 2, 2, 2]
     1035            FG??w                7                    [0, 1, 1, 1, 1, 1, 3]
     1036            FG?Gg                7                    [0, 1, 1, 1, 1, 2, 2]
     1037            FG?Gw                7                    [0, 1, 1, 1, 2, 2, 3]
     1038            FG?Wo                7                    [0, 1, 1, 2, 2, 2, 2]
     1039            FK??W                7                    [1, 1, 1, 1, 1, 1, 2]
     1040            FK?GW                7                    [1, 1, 1, 1, 2, 2, 2]
    10271041            F_?@w                7                    [1, 1, 1, 1, 1, 1, 4]
    1028             F??Ww                7                    [0, 0, 0, 2, 2, 3, 3]
    1029             F?CPW                7                    [0, 0, 1, 2, 2, 2, 3]
    1030             F?CJG                7                    [0, 1, 1, 1, 2, 2, 3]
    1031             F??^?                7                    [1, 1, 1, 1, 1, 2, 3]
    1032             F??XW                7                    [0, 0, 1, 1, 2, 3, 3]
    1033             F??ZG                7                    [0, 1, 1, 1, 1, 3, 3]
    1034             F?CZ?                7                    [0, 1, 1, 2, 2, 2, 2]
    10351042            F_?Hg                7                    [1, 1, 1, 1, 1, 2, 3]
    1036             F?CqO                7                    [0, 1, 1, 2, 2, 2, 2]
    1037             F?CaW                7                    [0, 1, 1, 1, 2, 2, 3]
    1038             F?LCG                7                    [1, 1, 1, 1, 2, 2, 2]
    1039             F?C_w                7                    [0, 0, 1, 2, 2, 2, 3]
    1040             FG?Gw                7                    [0, 1, 1, 1, 2, 2, 3]
    1041             F?Ch_                7                    [0, 0, 2, 2, 2, 2, 2]
    1042             FG?Wo                7                    [0, 1, 1, 2, 2, 2, 2]
    10431043            F_?XO                7                    [1, 1, 1, 1, 2, 2, 2]
    1044             FK?GW                7                    [1, 1, 1, 1, 2, 2, 2]
    10451044        """
    10461045        return GraphQuery(self, query_dict, display_cols, **kwds)
    10471046