github.com/wanlay/gorm-dm8@v1.0.5/dmr/d.go (about) 1 /* 2 * Copyright (c) 2000-2018, 达梦数据库有限公司. 3 * All rights reserved. 4 */ 5 package dmr 6 7 import ( 8 "container/list" 9 "io" 10 ) 11 12 type Dm_build_1499 struct { 13 dm_build_1500 *list.List 14 dm_build_1501 *dm_build_1553 15 dm_build_1502 int 16 } 17 18 func Dm_build_1503() *Dm_build_1499 { 19 return &Dm_build_1499{ 20 dm_build_1500: list.New(), 21 dm_build_1502: 0, 22 } 23 } 24 25 func (dm_build_1505 *Dm_build_1499) Dm_build_1504() int { 26 return dm_build_1505.dm_build_1502 27 } 28 29 func (dm_build_1507 *Dm_build_1499) Dm_build_1506(dm_build_1508 *Dm_build_0, dm_build_1509 int) int { 30 var dm_build_1510 = 0 31 var dm_build_1511 = 0 32 for dm_build_1510 < dm_build_1509 && dm_build_1507.dm_build_1501 != nil { 33 dm_build_1511 = dm_build_1507.dm_build_1501.dm_build_1561(dm_build_1508, dm_build_1509-dm_build_1510) 34 if dm_build_1507.dm_build_1501.dm_build_1556 == 0 { 35 dm_build_1507.dm_build_1543() 36 } 37 dm_build_1510 += dm_build_1511 38 dm_build_1507.dm_build_1502 -= dm_build_1511 39 } 40 return dm_build_1510 41 } 42 43 func (dm_build_1513 *Dm_build_1499) Dm_build_1512(dm_build_1514 []byte, dm_build_1515 int, dm_build_1516 int) int { 44 var dm_build_1517 = 0 45 var dm_build_1518 = 0 46 for dm_build_1517 < dm_build_1516 && dm_build_1513.dm_build_1501 != nil { 47 dm_build_1518 = dm_build_1513.dm_build_1501.dm_build_1565(dm_build_1514, dm_build_1515, dm_build_1516-dm_build_1517) 48 if dm_build_1513.dm_build_1501.dm_build_1556 == 0 { 49 dm_build_1513.dm_build_1543() 50 } 51 dm_build_1517 += dm_build_1518 52 dm_build_1513.dm_build_1502 -= dm_build_1518 53 dm_build_1515 += dm_build_1518 54 } 55 return dm_build_1517 56 } 57 58 func (dm_build_1520 *Dm_build_1499) Dm_build_1519(dm_build_1521 io.Writer, dm_build_1522 int) int { 59 var dm_build_1523 = 0 60 var dm_build_1524 = 0 61 for dm_build_1523 < dm_build_1522 && dm_build_1520.dm_build_1501 != nil { 62 dm_build_1524 = dm_build_1520.dm_build_1501.dm_build_1570(dm_build_1521, dm_build_1522-dm_build_1523) 63 if dm_build_1520.dm_build_1501.dm_build_1556 == 0 { 64 dm_build_1520.dm_build_1543() 65 } 66 dm_build_1523 += dm_build_1524 67 dm_build_1520.dm_build_1502 -= dm_build_1524 68 } 69 return dm_build_1523 70 } 71 72 func (dm_build_1526 *Dm_build_1499) Dm_build_1525(dm_build_1527 []byte, dm_build_1528 int, dm_build_1529 int) { 73 if dm_build_1529 == 0 { 74 return 75 } 76 var dm_build_1530 = dm_build_1557(dm_build_1527, dm_build_1528, dm_build_1529) 77 if dm_build_1526.dm_build_1501 == nil { 78 dm_build_1526.dm_build_1501 = dm_build_1530 79 } else { 80 dm_build_1526.dm_build_1500.PushBack(dm_build_1530) 81 } 82 dm_build_1526.dm_build_1502 += dm_build_1529 83 } 84 85 func (dm_build_1532 *Dm_build_1499) dm_build_1531(dm_build_1533 int) byte { 86 var dm_build_1534 = dm_build_1533 87 var dm_build_1535 = dm_build_1532.dm_build_1501 88 for dm_build_1534 > 0 && dm_build_1535 != nil { 89 if dm_build_1535.dm_build_1556 == 0 { 90 continue 91 } 92 if dm_build_1534 > dm_build_1535.dm_build_1556-1 { 93 dm_build_1534 -= dm_build_1535.dm_build_1556 94 dm_build_1535 = dm_build_1532.dm_build_1500.Front().Value.(*dm_build_1553) 95 } else { 96 break 97 } 98 } 99 return dm_build_1535.dm_build_1574(dm_build_1534) 100 } 101 func (dm_build_1537 *Dm_build_1499) Dm_build_1536(dm_build_1538 *Dm_build_1499) { 102 if dm_build_1538.dm_build_1502 == 0 { 103 return 104 } 105 var dm_build_1539 = dm_build_1538.dm_build_1501 106 for dm_build_1539 != nil { 107 dm_build_1537.dm_build_1540(dm_build_1539) 108 dm_build_1538.dm_build_1543() 109 dm_build_1539 = dm_build_1538.dm_build_1501 110 } 111 dm_build_1538.dm_build_1502 = 0 112 } 113 func (dm_build_1541 *Dm_build_1499) dm_build_1540(dm_build_1542 *dm_build_1553) { 114 if dm_build_1542.dm_build_1556 == 0 { 115 return 116 } 117 if dm_build_1541.dm_build_1501 == nil { 118 dm_build_1541.dm_build_1501 = dm_build_1542 119 } else { 120 dm_build_1541.dm_build_1500.PushBack(dm_build_1542) 121 } 122 dm_build_1541.dm_build_1502 += dm_build_1542.dm_build_1556 123 } 124 125 func (dm_build_1544 *Dm_build_1499) dm_build_1543() { 126 var dm_build_1545 = dm_build_1544.dm_build_1500.Front() 127 if dm_build_1545 == nil { 128 dm_build_1544.dm_build_1501 = nil 129 } else { 130 dm_build_1544.dm_build_1501 = dm_build_1545.Value.(*dm_build_1553) 131 dm_build_1544.dm_build_1500.Remove(dm_build_1545) 132 } 133 } 134 135 func (dm_build_1547 *Dm_build_1499) Dm_build_1546() []byte { 136 var dm_build_1548 = make([]byte, dm_build_1547.dm_build_1502) 137 var dm_build_1549 = dm_build_1547.dm_build_1501 138 var dm_build_1550 = 0 139 var dm_build_1551 = len(dm_build_1548) 140 var dm_build_1552 = 0 141 for dm_build_1549 != nil { 142 if dm_build_1549.dm_build_1556 > 0 { 143 if dm_build_1551 > dm_build_1549.dm_build_1556 { 144 dm_build_1552 = dm_build_1549.dm_build_1556 145 } else { 146 dm_build_1552 = dm_build_1551 147 } 148 copy(dm_build_1548[dm_build_1550:dm_build_1550+dm_build_1552], dm_build_1549.dm_build_1554[dm_build_1549.dm_build_1555:dm_build_1549.dm_build_1555+dm_build_1552]) 149 dm_build_1550 += dm_build_1552 150 dm_build_1551 -= dm_build_1552 151 } 152 if dm_build_1547.dm_build_1500.Front() == nil { 153 dm_build_1549 = nil 154 } else { 155 dm_build_1549 = dm_build_1547.dm_build_1500.Front().Value.(*dm_build_1553) 156 } 157 } 158 return dm_build_1548 159 } 160 161 type dm_build_1553 struct { 162 dm_build_1554 []byte 163 dm_build_1555 int 164 dm_build_1556 int 165 } 166 167 func dm_build_1557(dm_build_1558 []byte, dm_build_1559 int, dm_build_1560 int) *dm_build_1553 { 168 return &dm_build_1553{ 169 dm_build_1558, 170 dm_build_1559, 171 dm_build_1560, 172 } 173 } 174 175 func (dm_build_1562 *dm_build_1553) dm_build_1561(dm_build_1563 *Dm_build_0, dm_build_1564 int) int { 176 if dm_build_1562.dm_build_1556 <= dm_build_1564 { 177 dm_build_1564 = dm_build_1562.dm_build_1556 178 } 179 dm_build_1563.Dm_build_79(dm_build_1562.dm_build_1554[dm_build_1562.dm_build_1555 : dm_build_1562.dm_build_1555+dm_build_1564]) 180 dm_build_1562.dm_build_1555 += dm_build_1564 181 dm_build_1562.dm_build_1556 -= dm_build_1564 182 return dm_build_1564 183 } 184 185 func (dm_build_1566 *dm_build_1553) dm_build_1565(dm_build_1567 []byte, dm_build_1568 int, dm_build_1569 int) int { 186 if dm_build_1566.dm_build_1556 <= dm_build_1569 { 187 dm_build_1569 = dm_build_1566.dm_build_1556 188 } 189 copy(dm_build_1567[dm_build_1568:dm_build_1568+dm_build_1569], dm_build_1566.dm_build_1554[dm_build_1566.dm_build_1555:dm_build_1566.dm_build_1555+dm_build_1569]) 190 dm_build_1566.dm_build_1555 += dm_build_1569 191 dm_build_1566.dm_build_1556 -= dm_build_1569 192 return dm_build_1569 193 } 194 195 func (dm_build_1571 *dm_build_1553) dm_build_1570(dm_build_1572 io.Writer, dm_build_1573 int) int { 196 if dm_build_1571.dm_build_1556 <= dm_build_1573 { 197 dm_build_1573 = dm_build_1571.dm_build_1556 198 } 199 dm_build_1572.Write(dm_build_1571.dm_build_1554[dm_build_1571.dm_build_1555 : dm_build_1571.dm_build_1555+dm_build_1573]) 200 dm_build_1571.dm_build_1555 += dm_build_1573 201 dm_build_1571.dm_build_1556 -= dm_build_1573 202 return dm_build_1573 203 } 204 func (dm_build_1575 *dm_build_1553) dm_build_1574(dm_build_1576 int) byte { 205 return dm_build_1575.dm_build_1554[dm_build_1575.dm_build_1555+dm_build_1576] 206 }