From 847a8a4e69e2627655e773a515c52f8e8be7e915 Mon Sep 17 00:00:00 2001 From: pablo <1341524317@qq.com> Date: Fri, 30 Sep 2022 17:03:22 +0800 Subject: [PATCH] =?UTF-8?q?=E6=B7=BB=E5=8A=A0=E8=AE=BE=E8=AE=A1=E6=96=87?= =?UTF-8?q?=E6=A1=A3=E5=B9=B6=E8=BF=9B=E8=A1=8C=E4=BA=86=E4=B8=80=E4=BA=9B?= =?UTF-8?q?=E4=BF=AE=E6=94=B9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- ogx/.keep | 0 ogx/README.md | 3 + ogx/dbfixture/go.mod | 2 +- ogx/dbfixture/go.sum | 4 +- ogx/dialect/dialect.go | 18 +- ogx/dialect/ogdialect/dialect.go | 8 +- ogx/dialect/ogdialect/go.mod | 2 +- ogx/dialect/ogdialect/go.sum | 4 +- ogx/dialect/ogdialect/sqltype.go | 48 +- ogx/docs/1.png | Bin 0 -> 15916 bytes ogx/docs/2.png | Bin 0 -> 36584 bytes ogx/docs/3.png | Bin 0 -> 36364 bytes ogx/docs/4.png | Bin 0 -> 32547 bytes ogx/docs/5.png | Bin 0 -> 110445 bytes ogx/docs/6.png | Bin 0 -> 88107 bytes ogx/docs/7.png | Bin 0 -> 9522 bytes ogx/docs/8.png | Bin 0 -> 53238 bytes ...76\350\256\241\346\226\207\346\241\243.md" | 728 ++++++++++++++++++ ogx/example/README.md | 5 + ogx/example/basic/go.mod | 8 +- ogx/example/basic/go.sum | 8 +- ogx/example/create-table-index/go.mod | 4 +- ogx/example/create-table-index/go.sum | 8 +- ogx/example/cursor-pagination/go.mod | 8 +- ogx/example/cursor-pagination/go.sum | 8 +- ogx/example/custom-type/go.mod | 8 +- ogx/example/custom-type/go.sum | 8 +- ogx/example/fixture/go.mod | 10 +- ogx/example/fixture/go.sum | 8 +- ogx/example/get-where-fields/go.mod | 6 +- ogx/example/get-where-fields/go.sum | 8 +- ogx/example/migrate/go.mod | 10 +- ogx/example/migrate/go.sum | 12 +- ogx/example/model-hooks/go.mod | 4 +- ogx/example/model-hooks/go.sum | 8 +- ogx/example/multi-tenant/go.mod | 4 +- ogx/example/multi-tenant/go.sum | 8 +- ogx/example/placeholders/go.mod | 6 +- ogx/example/placeholders/go.sum | 8 +- ogx/example/rel-belongs-to/go.mod | 6 +- ogx/example/rel-belongs-to/go.sum | 8 +- ogx/example/rel-has-many-polymorphic/go.mod | 6 +- ogx/example/rel-has-many-polymorphic/go.sum | 8 +- ogx/example/rel-has-many/go.mod | 6 +- ogx/example/rel-has-many/go.sum | 8 +- ogx/example/rel-has-one/go.mod | 6 +- ogx/example/rel-has-one/go.sum | 8 +- ogx/example/rel-join-condition/go.mod | 6 +- ogx/example/rel-join-condition/go.sum | 8 +- ogx/example/rel-many-to-many-self/go.mod | 6 +- ogx/example/rel-many-to-many-self/go.sum | 8 +- ogx/example/rel-many-to-many/go.mod | 6 +- ogx/example/rel-many-to-many/go.sum | 8 +- ogx/example/string-representation/go.mod | 6 +- ogx/example/string-representation/go.sum | 8 +- ogx/example/trivial/go.mod | 4 +- ogx/example/trivial/go.sum | 8 +- ogx/example/tx-composition/go.mod | 6 +- ogx/example/tx-composition/go.sum | 8 +- ogx/extra/ogxdebug/go.mod | 2 +- ogx/extra/ogxdebug/go.sum | 4 +- ogx/extra/ogxrelic/go.mod | 8 +- ogx/extra/ogxrelic/go.sum | 111 +-- ogx/go.mod | 2 +- ogx/go.sum | 4 +- ogx/query_select.go | 62 +- ogx/query_update.go | 11 - 67 files changed, 947 insertions(+), 369 deletions(-) delete mode 100644 ogx/.keep create mode 100644 ogx/docs/1.png create mode 100644 ogx/docs/2.png create mode 100644 ogx/docs/3.png create mode 100644 ogx/docs/4.png create mode 100644 ogx/docs/5.png create mode 100644 ogx/docs/6.png create mode 100644 ogx/docs/7.png create mode 100644 ogx/docs/8.png create mode 100644 "ogx/docs/Ogx\346\241\206\346\236\266\350\256\276\350\256\241\346\226\207\346\241\243.md" create mode 100644 ogx/example/README.md diff --git a/ogx/.keep b/ogx/.keep deleted file mode 100644 index e69de29b..00000000 diff --git a/ogx/README.md b/ogx/README.md index daf5cd03..660983aa 100644 --- a/ogx/README.md +++ b/ogx/README.md @@ -4,3 +4,6 @@ SQL-first Golang ORM for openGauss ## DOCUMENTATION [使用样例文档](https://gitee.com/chentanyang/ogx/blob/master/docs/Ogx%20%E4%BD%BF%E7%94%A8%E6%A0%B7%E4%BE%8B%E6%96%87%E6%A1%A3.md) + +## examples +[examples](example/README.md) diff --git a/ogx/dbfixture/go.mod b/ogx/dbfixture/go.mod index 9d3a3d01..6925439c 100644 --- a/ogx/dbfixture/go.mod +++ b/ogx/dbfixture/go.mod @@ -15,5 +15,5 @@ require ( github.com/tmthrgd/go-hex v0.0.0-20190904060850-447a3041c3bc // indirect github.com/vmihailenco/msgpack/v5 v5.3.5 // indirect github.com/vmihailenco/tagparser/v2 v2.0.0 // indirect - golang.org/x/sys v0.0.0-20220913175220-63ea55921009 // indirect + golang.org/x/sys v0.0.0-20220928140112-f11e5e49a4ec // indirect ) diff --git a/ogx/dbfixture/go.sum b/ogx/dbfixture/go.sum index 7b87e315..4daf20d8 100644 --- a/ogx/dbfixture/go.sum +++ b/ogx/dbfixture/go.sum @@ -17,8 +17,8 @@ github.com/vmihailenco/msgpack/v5 v5.3.5 h1:5gO0H1iULLWGhs2H5tbAHIZTV8/cYafcFOr9 github.com/vmihailenco/msgpack/v5 v5.3.5/go.mod h1:7xyJ9e+0+9SaZT0Wt1RGleJXzli6Q/V5KbhBonMG9jc= github.com/vmihailenco/tagparser/v2 v2.0.0 h1:y09buUbR+b5aycVFQs/g70pqKVZNBmxwAhO7/IwNM9g= github.com/vmihailenco/tagparser/v2 v2.0.0/go.mod h1:Wri+At7QHww0WTrCBeu4J6bNtoV6mEfg5OIWRZA9qds= -golang.org/x/sys v0.0.0-20220913175220-63ea55921009 h1:PuvuRMeLWqsf/ZdT1UUZz0syhioyv1mzuFZsXs4fvhw= -golang.org/x/sys v0.0.0-20220913175220-63ea55921009/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= +golang.org/x/sys v0.0.0-20220928140112-f11e5e49a4ec h1:BkDtF2Ih9xZ7le9ndzTA7KJow28VbQW3odyk/8drmuI= +golang.org/x/sys v0.0.0-20220928140112-f11e5e49a4ec/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= gopkg.in/check.v1 v0.0.0-20161208181325-20d25e280405/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0= gopkg.in/check.v1 v1.0.0-20180628173108-788fd7840127 h1:qIbj1fsPNlZgppZ+VLlY7N33q108Sa+fhmuc+sWQYwY= gopkg.in/yaml.v3 v3.0.0-20200313102051-9f266ea9e77c/go.mod h1:K4uyk7z7BCEPqu6E+C64Yfv1cQ7kz7rIZviUmN+EgEM= diff --git a/ogx/dialect/dialect.go b/ogx/dialect/dialect.go index 03b81fbb..a0c5ee2e 100644 --- a/ogx/dialect/dialect.go +++ b/ogx/dialect/dialect.go @@ -3,24 +3,10 @@ package dialect type Name int func (n Name) String() string { - switch n { - case PG: - return "pg" - case SQLite: - return "sqlite" - case MySQL: - return "mysql" - case MSSQL: - return "mssql" - default: - return "invalid" - } + return "openGauss" } const ( Invalid Name = iota - PG - SQLite - MySQL - MSSQL + OPENGAUSS ) diff --git a/ogx/dialect/ogdialect/dialect.go b/ogx/dialect/ogdialect/dialect.go index e95ebb5d..07b79153 100644 --- a/ogx/dialect/ogdialect/dialect.go +++ b/ogx/dialect/ogdialect/dialect.go @@ -55,7 +55,7 @@ func New() *Dialect { func (d *Dialect) Init(*sql.DB) {} func (d *Dialect) Name() dialect.Name { - return dialect.PG + return dialect.OPENGAUSS } func (d *Dialect) Features() feature.Feature { @@ -78,11 +78,11 @@ func (d *Dialect) onField(field *schema.Field) { if field.AutoIncrement && !field.Identity { switch field.DiscoveredSQLType { case sqltype.SmallInt: - field.CreateTableSQLType = pgTypeSmallSerial + field.CreateTableSQLType = ogTypeSmallSerial case sqltype.Integer: - field.CreateTableSQLType = pgTypeSerial + field.CreateTableSQLType = ogTypeSerial case sqltype.BigInt: - field.CreateTableSQLType = pgTypeBigSerial + field.CreateTableSQLType = ogTypeBigSerial } } diff --git a/ogx/dialect/ogdialect/go.mod b/ogx/dialect/ogdialect/go.mod index 4c47233d..518beda7 100644 --- a/ogx/dialect/ogdialect/go.mod +++ b/ogx/dialect/ogdialect/go.mod @@ -11,5 +11,5 @@ require ( github.com/tmthrgd/go-hex v0.0.0-20190904060850-447a3041c3bc // indirect github.com/vmihailenco/msgpack/v5 v5.3.5 // indirect github.com/vmihailenco/tagparser/v2 v2.0.0 // indirect - golang.org/x/sys v0.0.0-20220913175220-63ea55921009 // indirect + golang.org/x/sys v0.0.0-20220928140112-f11e5e49a4ec // indirect ) diff --git a/ogx/dialect/ogdialect/go.sum b/ogx/dialect/ogdialect/go.sum index 56ac8caa..8c600113 100644 --- a/ogx/dialect/ogdialect/go.sum +++ b/ogx/dialect/ogdialect/go.sum @@ -13,8 +13,8 @@ github.com/vmihailenco/msgpack/v5 v5.3.5 h1:5gO0H1iULLWGhs2H5tbAHIZTV8/cYafcFOr9 github.com/vmihailenco/msgpack/v5 v5.3.5/go.mod h1:7xyJ9e+0+9SaZT0Wt1RGleJXzli6Q/V5KbhBonMG9jc= github.com/vmihailenco/tagparser/v2 v2.0.0 h1:y09buUbR+b5aycVFQs/g70pqKVZNBmxwAhO7/IwNM9g= github.com/vmihailenco/tagparser/v2 v2.0.0/go.mod h1:Wri+At7QHww0WTrCBeu4J6bNtoV6mEfg5OIWRZA9qds= -golang.org/x/sys v0.0.0-20220913175220-63ea55921009 h1:PuvuRMeLWqsf/ZdT1UUZz0syhioyv1mzuFZsXs4fvhw= -golang.org/x/sys v0.0.0-20220913175220-63ea55921009/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= +golang.org/x/sys v0.0.0-20220928140112-f11e5e49a4ec h1:BkDtF2Ih9xZ7le9ndzTA7KJow28VbQW3odyk/8drmuI= +golang.org/x/sys v0.0.0-20220928140112-f11e5e49a4ec/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= gopkg.in/check.v1 v0.0.0-20161208181325-20d25e280405/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0= gopkg.in/yaml.v3 v3.0.0-20200313102051-9f266ea9e77c h1:dUUwHk2QECo/6vqA44rthZ8ie2QXMNeKRTHCNY2nXvo= gopkg.in/yaml.v3 v3.0.0-20200313102051-9f266ea9e77c/go.mod h1:K4uyk7z7BCEPqu6E+C64Yfv1cQ7kz7rIZviUmN+EgEM= diff --git a/ogx/dialect/ogdialect/sqltype.go b/ogx/dialect/ogdialect/sqltype.go index 5fb1e479..d2560b6c 100644 --- a/ogx/dialect/ogdialect/sqltype.go +++ b/ogx/dialect/ogdialect/sqltype.go @@ -11,32 +11,32 @@ import ( const ( // Date / Time - pgTypeTimestampTz = "TIMESTAMPTZ" // Timestamp with a time zone - pgTypeDate = "DATE" // Date - pgTypeTime = "TIME" // Time without a time zone - pgTypeTimeTz = "TIME WITH TIME ZONE" // Time with a time zone - pgTypeInterval = "INTERVAL" // Time Interval + ogTypeTimestampTz = "TIMESTAMPTZ" // Timestamp with a time zone + ogTypeDate = "DATE" // Date + ogTypeTime = "TIME" // Time without a time zone + ogTypeTimeTz = "TIME WITH TIME ZONE" // Time with a time zone + ogTypeInterval = "INTERVAL" // Time Interval // Network Addresses - pgTypeInet = "INET" // IPv4 or IPv6 hosts and networks - pgTypeCidr = "CIDR" // IPv4 or IPv6 networks - pgTypeMacaddr = "MACADDR" // MAC addresses + ogTypeInet = "INET" // IPv4 or IPv6 hosts and networks + ogTypeCidr = "CIDR" // IPv4 or IPv6 networks + ogTypeMacaddr = "MACADDR" // MAC addresses // Serial Types - pgTypeSmallSerial = "SMALLSERIAL" // 2 byte autoincrementing integer - pgTypeSerial = "SERIAL" // 4 byte autoincrementing integer - pgTypeBigSerial = "BIGSERIAL" // 8 byte autoincrementing integer + ogTypeSmallSerial = "SMALLSERIAL" // 2 byte autoincrementing integer + ogTypeSerial = "SERIAL" // 4 byte autoincrementing integer + ogTypeBigSerial = "BIGSERIAL" // 8 byte autoincrementing integer // Character Types - pgTypeChar = "CHAR" // fixed length string (blank padded) - pgTypeText = "TEXT" // variable length string without limit + ogTypeChar = "CHAR" // fixed length string (blank padded) + ogTypeText = "TEXT" // variable length string without limit // JSON Types - pgTypeJSON = "JSON" // text representation of json data - pgTypeJSONB = "JSONB" // binary representation of json data + ogTypeJSON = "JSON" // text representation of json data + ogTypeJSONB = "JSONB" // binary representation of json data // Binary Data Types - pgTypeBytea = "BYTEA" // binary string + ogTypeBytea = "BYTEA" // binary string ) var ( @@ -66,7 +66,7 @@ func fieldSQLType(field *schema.Field) string { } if field.DiscoveredSQLType == sqltype.Blob { - return pgTypeBytea + return ogTypeBytea } return sqlType(field.IndirectType) @@ -75,30 +75,30 @@ func fieldSQLType(field *schema.Field) string { func sqlType(typ reflect.Type) string { switch typ { case ipType: - return pgTypeInet + return ogTypeInet case ipNetType: - return pgTypeCidr + return ogTypeCidr case jsonRawMessageType: - return pgTypeJSONB + return ogTypeJSONB } sqlType := schema.DiscoverSQLType(typ) switch sqlType { case sqltype.Timestamp: - sqlType = pgTypeTimestampTz + sqlType = ogTypeTimestampTz } switch typ.Kind() { case reflect.Map, reflect.Struct: if sqlType == sqltype.VarChar { - return pgTypeJSONB + return ogTypeJSONB } return sqlType case reflect.Array, reflect.Slice: if typ.Elem().Kind() == reflect.Uint8 { - return pgTypeBytea + return ogTypeBytea } - return pgTypeJSONB + return ogTypeJSONB } return sqlType diff --git a/ogx/docs/1.png b/ogx/docs/1.png new file mode 100644 index 0000000000000000000000000000000000000000..e10943c7babdd62f5226a7bd33b9d10315258a54 GIT binary patch literal 15916 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 ZVm8H(tJ+~Wpb8u$E-WKdA)xpD{{xkce#HO) literal 0 HcmV?d00001 diff --git a/ogx/docs/2.png b/ogx/docs/2.png new file mode 100644 index 0000000000000000000000000000000000000000..bc7d86957ffe7ef31d19f27ca8f1a77232cc3ea7 GIT binary patch literal 36584 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 KTDLXqL;fG?k)T}w literal 0 HcmV?d00001 diff --git a/ogx/docs/4.png b/ogx/docs/4.png new file mode 100644 index 0000000000000000000000000000000000000000..d869c954e1fd560fa22efa86f9d2e2f0ed283f2c GIT binary patch literal 32547 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 literal 0 HcmV?d00001 diff --git a/ogx/docs/5.png b/ogx/docs/5.png new file mode 100644 index 0000000000000000000000000000000000000000..4462e08b1ffd8901f4c97a2c12ae3ac2bdb13558 GIT binary patch literal 110445 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

U%S9ToB{;bU82xYI>c)loK1)rikqW@fB3u zdJBB}73Jw+KmiE9!H*78&P4cR<$G!UoH6cwJx+_)V!e@de%Et+zL~Zo0u9(oO~iObm#j^*KP32*F<9peM*P9rhWD|9v;|;8Ac|>TN+1w zQw%gP4Mw*Y*7pY64m$aIVwqv%!c z)t518O(l*J9qLiHz=5f}@!iCI;>Y1BB&sNxZ__FA?@HyU+12GK#AY zFJ7a=Q9H>6>a!!y_-|6xGUBa7naY`T>gT5FdWt091No@T)9QU$SgUFK@q-Utzc>+u z>GG{zDv_{0PGRUWCdBfl1vZiUVsgTID*rG{3p$^Dr{I7^=rn!bW^`;=_dRg^qUYA! z!k;&=y9EzWptM{TzhwpP&>YUM5WPglsw|DA&m5Os!_cebpa(eRpRl+);1jjwX~GPdjttum0;he+Qw^kF#F|G;8t2L`j>&jSx@Vp*UHtw zyedjE>6SJg81R%`JOK@OA`$XQC;=QIxr8%%_Ozio6ME_>!*|2@M-x&*5FHD-Z^|M>WFmD2q+i{3%%?R46PGLQ8yKe~_rY$G3 zTMh|^;6$)Ekg+uW1NVc?oR|qMZ1&d^HjW1Ci@?lnJDhxpB>^Sdc*v`##w^N5T=+o+ zI%_U+O(hH=R+?nqBz(3(yUSgB@d`8-{D7kI4q)dzc9^m@F0x)c#z5XVcog?^FX6gf z#%J+7V_A=w3=z!U3V`~nw*x)DkBU)PS_FTO)L}NTV+s-tZsiwktfQ@OiNoj6NaL+i z&ke@8aIdejXp)V@NZni(#B@#Ti8|w%Jj~3@%kj+t(6Rtc&8*n51DnUvfg85|;^%bXRIHh!9-=n;E>&705R37?K}{-;((N_Q&O6 z+y9IB!~4Gxf73%Mp{J~D*M>jhX=%G!rz9)A%O9~cQk6h%OxY8fyCmGmlXiBwzcZkR z-Vi>wdwj#4c2N4tjJP5bQyw~l^zbGK`UKE|aDQ|q3ON)1i&(^H*ok4k9qe5kX3~a{xZSZ#tlvjh!5wTH zP~=4ArSMk=$K-?S>8mSOivSLm!F9Td(#Vah){uip29HMUeKl)2#>P`#6e64TuigPL zkXhV+=@ZGvUffs5$fY+oKJKm?3w88Fah(!km=XK<`}@^f%zO)0-kxG30j`x~hsC@9p{b7HQdAq@ z{Payf?%a7xZ3mE47rx{EP3z&P_B6HS#d*WLp$h8N(jB-FcC+H3h`n?$v?g1P`>=Xg#kSyG$5hEJgo~;Pe59+Ht~%c3gIp6 z7j!7?@_fp~Ndqe94OI$Vt<^6YlG8Om#gM{y#d2_j%Z7+!7_` z0NUH!4QQY27j+~&_mOy1H^f`;u^~zkUb({g-_Pd704>HoGc3=Jp?~Cm2wll{5 zQ)exPG4#aD6`_*3DjmjSo{^>au{vk|w6Zzo5Sn~Ad;DN^BYIqRBHWhTFJ1zc`G8VB z*$c2AorF)5#*HE`yO__sEYqGv&HxnTS3XSIk~ znsJjVssYD+uBD(f#c~0O*tdd8ksGaBR!BR!S>gZ2%R&7V4j+x5y{}LB+JByFJ-&#C z6!6beWL%*@;o7pNeT#+Loo*>1c{3)FfDe9DT4Z52eMyS_ygQN1God# zLnh0x@A1SP4cr&IN^xbBU`+YZH)C@$)Po-oF@I|_*j2ldTyw#nIY4+HYD*zP!36rC zN#QvgPun2mk7<6*^z8I&47#nHTQTcCm4df~DEGUtbc)vYwz9-g+rz(cUGMBhBS$U3 zmT{sN^rSQeyANk)s(h&B5?%L)BOE|KP<1Tixg_*cU1Afak-(xYkJ+oTyqc(`3EI8| zt1B6qZ$PTD+#*NP-qo4rB|zb_t%79H(^zcebvG^CvLdar$T}69`Dq&eQX7)5OyYf_ z>=f(Vd}Y>X$+&FGr!Ye3*H!g2Ql08G>+kN@roG51i>7~M@<5Q#Cicr_V512ySCC`Q zGCzc*d`*n)6hR?~@>97}><2ho*fZ;Ty(cM{>2tiVZ0J=Vjs^&QzmNsUm{e)7UL&(KE2zGjf&B;O^1X_2M~bzWV7UlKad6-rc; zh^))c-um+EfS}{iHARfwY-RshuQbxsNmM+1Bd%#nv~w~J0+tu%2b*Roc{ni<%_H9T zAqzJd5=Z0r6IAbGkys~esLum1Z)G7?zmPFzI%wN+ZgTj(u%jStt{&pMsz)dd3Ozq^ zbIVT+y4m1kqzHqHkc1?^|85LidaK9O*X`^7-U$??#adagF;eFbW@a2cp%aEhUj8kR z`$SkAqL3%1mXzr2umti_J1EKlk+A&3#TXWyKGx2w*~y#15g8*!@cVoyXEB;8d2nC| zf`Ifg{=l%9&bECG(K-G`+93_!JdeSI$da{(Ac%o5x6oe-QWlykYRouI_p_|PQSr@} zaxMhdB6p52L--+8Bh=*rQ_0l5LQ_vkQNq;vkHYT~mo=!1P}umx7+TW9O}}R-eeKKU zwgV~X_(rC^SC*+#fnPy7&l>M(uYC7pFhN1Cy9YDTrHbzcfi<|OCM|7>9k~t8sSqqJ zL1M1X6HxOed|Poxwz@yCnjqPLG`AYu9eiS?fdJpM>1JBSKxiSSM@RE>>(O6e2r zW<%M5WDBSF#8mTi*ar@&^z&z_dfM^3HU>TlAEzcLTs z=1CCJYRCR<%M+Mav`5}2vJ~t)vyv1}QIpYp`DRq0r@N_U^1RY~GrO4MA@7k) zPIC0fKL-aU{A`>?mTl0hWHP0~qwdOtJrJ?YQ?%-4giVfTxwK`sOg8llSV8yD#iguh z8cboZ$+5j$LZC?uD*34MMS{>&H_|O@~`t1vO057B$uF0l2Uhw=7a)z{3 z{X?3rFH`*+lZvAd5B%BVzL>;mOv4xch%mpO4RJMH?<`~FOy}}q3<-8o=rH*ySVS!2 z%bOt?t8Ks>Ga;79P(mA<#o%*LFb8F5f(2lRdQHNO;d6jG37i5hyW-EWhiqAO7Y72B8Qh}d1pL1OirK5`Jm zO!-LE2riOLO*P7#j^80tUbD?esA2jV7Gk(KP#BpI@U;H<0q6hHfT= zZ^*cm>RSdA%ToG=)9sEbP_DxKHpbYr`dZsoIuUOM*y=3Yt8M4~6@W+ldaY3Z{8~#3 z>~fsr?AlAmMo|rXL!#~{lMj%EWs2-4tooT1-{bY*HF2g4_8W&={GK ziPBv|hHGBz8(XTQe%wolsA%ad7i%RfrYQ5Cv(O|~0jL!%^sBFYCz1SpV+WVlaYvev z&DEbnLE{%oFW+ANJ_}vB27XzYXP{u3L5@joM&!9bI)xs>rV7b}Xcyy;ad#Y&(4W#< z&mX>%=$n7~H5_Epq2Sj`Q(jQCAl^pv`7E~%@>_I?5BJUP!X*>ksuAXmvo&eU6!dM; zb3=rK!AbAZQQw6EDzs7`Cv`H4K=2tUFnUR(G@*Ti-&mCJN`~eop~%+u_+o>ttlp(5 zImlcOqG*mn;3J|Wa|RSaG-o1CU$yB&QtVA4GMp==^G1}C#ZV~XDj7s?TmGOyu$1Ht z*S6J3g*3UGXQc7hvL-^Y$o?^HXGCzU0WEHQZP&@>@&p(QE&gjSgfK4e_O^gb@m`qU zz1XLyC?iQg)+NKS#$0(}2XKK4&P)YC>1=*L6Xtk-=s!71?vJuLMFG?o^QX4d^Y4+h zLEjmpR7%%@&x>sVrJw3^xp2OluR8{)p}FGL?77sF+d*I0AV48>z@uQv(4KmM3F_rJ z${i!1%0Z`K?(JJ_bY>6ses?GI>JtcsiX9<;q?_G1gzDzk;Nsqkm8U1oi;i9IYGR9> zEe<-EKb9u$L+?3&C-TQqW_(|Rg86M{XZ(D_=O)nFXS(L73t?GEDSlupcv_0=xXLUX zXRLWkg^Mjp68Wg-zUQ59a!S8us-Bt@x?bu#Pr9S6PJR+oIDYY&O&uQ3RMrKg85f0$!*17d~LrUgx}qFDDn* z-4n>0k9If_QZ`t8vWlwIjpuq--wpD*uZk_LH=%s+MVF53r`yPH-g{n*ftp2TUIt)? zzclUsOJP=JQmg_`$S2KRo>_;&BL5@ANylT0JR4nNCZmNyv#7Sn&PWe9XDy#>D8IV- zE6&U5%QkN&)Su2--oJKfzicgfm`NeG%pd>IGwd6T(%=+nw_}>6Vc~g2V;> z3?BUE2#bEItK0412bN)suWI9#3z!xing>X8>n^Rfd;5Rf)UG3Kz;#k|+m9FH{^-D! zq+J_{OO`3leiMaZ0;vYHfpiZXXbx*mPEM5;Cz_6@V{5wQbG<(^=EK?;RAv6V!jc}o z)h>iwPjgz_wb1>o=N$Po9Fv)XnC&t{<ZE-;o_Hk2hNWX3pFG-6AN?NpG{+|bdbDuTbzJGQ zYEPgJQXeFiw1f9gEY6wm*%>Y8m49tUdAZ&VjV3c)*cx!!l0Ie$kSii-+^?r zzw;ww+^8|oG3SmbR`&P3zxbCHpv*P{8@6BBs^3kUDAECU_Ra_o*Q{{RQAb-(SgfMc z{hlLaKr=osO;!#gKEP>cxvebjU_Tj3 zMG-k803~r72unbwvLcE+u@MZn5XB7T9~UL9O4U z6V4Ab4Z4}uxkpV@aG*MU^+Fx@8MKA5GK}~p@LG$XdA<1H0xk_k`jUz=au^m(burKp z5J%%8s+*k*YyPG`F4EO4W}J+(EO)-=P%`(r4PbGhn3WN^hhSfLyp^v`c)TCHzT|6& zTy)}NDLJ>zgxRF7$S12z^G#s6?Ln|#ep{$!)$f&sF^%^L!#bi>D|?6W2%hAMz1~G+ zA@;}Abty^p$^(J)Kyf7*rf}q2pB@YqPimx|SWAnP&b1GC2=yYwEz7!XoeflnR_w=g_jsPv5zf(nLH6p-yV!0N zY(kNLrpAfhmyTCol_j}6IfIbYlvcC{PQ-=>lS`s)*^bJskJiX8p1(}h&&Vo+@;+uq zc9*sNl%`LY5c0%#nYu?>btF54xEC-I&(qa-$qq%NJGsRA7!cVQc?x3}0$_ ze7P@1a#B`RYDP|lfb>vAtF^+4LJ|#cf+bHVON)PhR0@vOb^L(!98{VkS(Ly3i@dc$ zQD<3OOfZX9)w>}iG=p||De-L887J7i5@|P+XWP`Q$ejmOd9?Veiw*Ls5#6d9?y-58 ztrPfdk(MUnTdUSltK!`v$Oor!hh~#`Yn`IeV8=Uf-?8TBl}r$Hvf6sr%>gI1+Nl+l zPJ=Gmi4xt(RS4vGZ_(z$VV_G7swq#pQNck~%fu(48RbQW%M~xWrumfIA8zi^;bl@9 ze3}E2bh8s!;IZ(Ob=ab=m6?u8_y^C7aMuNuo*kIhH9=F9j@w=Z&d~?upYgC;JZ>}V zkyrJmkBPZ#p_q(>pHV?P8KU?9i4HK<5AZzN^g}Z~wA8cdeRP_>OvPNgp>Ay>tLBNg zNr+A`AuXtedtm0d-sF};5MQWefzCDZ-=bZXnk)O|vSugG?p&F0RFQjl5&t|Bc9S57 zFxJX6aNPupDlw>QT!SgC2)D{|XmSK)WTexv;8#P5n&vz}yLpU_1%1TEnSsvdXO!Wq`J@(2wN7){*PCd#-#wCuxrC+II40Cf|pQb*GUqPlnLd>e;>|;@fLb zl^@`25{6R`CzRyYv4F)*soYe)&8S1)H6xRA@PEpMB9FbUMcWm3SII5;F@(VZ9>kkO z?C=%t>;d;I;7vq=WW}#IrmdrUeTF>-hM9J5bNrwO5A5I7K|C+Q>}(=7bDGXEX=%eG zQQY0Q)~&Wa53~U17RZ-GU8P~|(BD3j(Jw;pO5}nMyCCNn++YAA*TnYM82AUM0--fz6;&$l7a(Uhu!GqoToNhCLm10sYL^Q$@xgl zIVQFT)>6W*e(&iuE9Tcj>&CoK{u+v!Lg@Fci16(m_zW9Q?daHdD<~fV^?UG8XCw_S zp6jb0M=dQr5vJ}c6ULzo4UvwcR%Q*XsHg6x`wEj+mnr3WU-W)S>lX8dDJCA$GDgR_$ybh0kp(q(@5%(z1 zGhQU41=7&=G9)TaQYE%7M!K_-aQsm1q*#IY=ll`%(O3K!P~8X6+ggbX-sL!A_l7L5 zP^6V3bP2T&c;o1rn3^l}^urgf+>onh(XP&x4t)at5?%ty6K@vPX;e@HRkulTmzEmz zac^M>UNNM=bL?POPR60m{-_etZD&4$3Mg5BF7C>Kg|{Irl|}^SmK&1qYv=}NbtnA* zzR$OK1(HRqj)2&9y#Z#}PJuv{NZ+}qXp3;m9VXOQu4jc|Kx)x}E3+p$vD8?#IpiS2 zO27yo@g!|?C#=nbx(+$BZvkPX)xjH1iDP~JLiyotA zR4nEe?Q)OrfC!y8sj>FsdlEzQQugb7-6|uQ^N8&F4VZ`BSpzu-FiwPN2Zw;>56cWA zP3SCros!wYkq&-2(>ZCZ_XU+mjuO4Kbg!m%vW#oBz!b>wViaX#g|sn|E$DI6vPMQh z5flKAne)qxl7{9-V`K8&#qL0Rl`#LG2*=;N+;H7Rh@!`Pi?E{O`KY@~bEaAFw#`Yx zF{Yup*>C0;Av(dFy`^<=`o+q|C*+ zx;On$w#Ktv(tgw8<5gg@O)qTOx8bds1n}XtWli9c3kO_@O4Dau; z5F(G6%R-POR`7|jX0LW)Qi*ao_?~7TE~|x;DUJ%LR>n?JIM}J-Rf>D3cOtI9pRyxc zz)UuSxq_BIm+Z@{KrG7gtZFV<^W8{#IfOBZx>iSO()DdI7|L*}#G*h++#PvPQrO`I zC<5am)#fciM(=XTGA- zrLB#-ANxjOoK}Ov#|CA0>^(x*`*bmCHH{XMIZ`LLLPx(oJxGMSk7_s#bEq&7D+IGN zHFC4u9=Op;Rnc~h-vYP5h;Xzo>1U3i?=S7XTCa}wGtGT@YhsEN6RR%p42SzQoe)%& z`3!p`iYiw*a#?x&;HB`HM}vPSW0Drz6YhN*wDDzXwvV|ph(#m_#{_16es!@0aY>u9 zd#~t+Zl!q!a|m@KNpCwQ$;!5wJHS^O&xWVvmpHU~KRZ*Jym2GGN|uv{;V?Hr0Ee_K zV~Eo_#x**@BKtdjs@9zOi@ww2i~^3mbny^deo^679j4ifayz@ZysWn|RdADfk(vZ6 z#>sH98pv40CS@Kmvbt~~?toVyjF9}U0(IBLOw0$(J-L0TLK49bZ(5TZN3L3_{-hA! z5n&i`HNx@Bxr2c&CB6sI!aPz-><$8YC&AIU*-k_)h(Ds%Q=dUVqwSx;;wK4*wTvx0 zXq;<}(0fmxn@vP4@;9#(oV&Fhr-&c{n&8o}*CG4zE_^OGK@iuAu&b3BGtT+N#ocv7 z$LP!B_{-^xytM5wO+zJM1!iVug~i1vS}&dY-?4Jy|4lg2sLy4v0z_a`d+$Q5V4_KB$W>%0%*PT-Fl1 zECw>JNodJy)P9oedl1Cr(QYC%U$a_SKssrtojmR7ilu)gxtb1Fz~c>=>P6H)Y&aZ- zydTzk+p&9OPCcH$z!LDe3H!nRO>Nkm>{A`>P~yjrMXXdkcic}CcLuhyI3%tKuDzCZ z*?Ckd&utNJ6EG$%S--*#4|X(!ML4Th(KN`;<4MbDK;vhCLB%V~Un_pX2m)I=pE zGu1&#-)cm*d~m!Wi)%36D=P&ph-|NqLs zX}zi+*%_@q2=>b0)NmvP@gvPXXD%nQ70D0B>7n0bzVRNzV8IU? za=7f{#i$D5Sph;e-8n3jje`1rTZz8zy%QaPPYQA%dKdY|_ zE^SiVbBJj(z;te_#&1D_dH5(^v2ndyQkgN%#M@gr(?(`7Q=SVPrKN!C6vN|=IgE6p zm9?*`pJSwj=J-i?(Ut0X)aksiv+Z7^!ZLi;hG=$!k?pAIOZ4Ihw_B!7ER(%|sDU%@pnce z+AIAtLE^dECO-YW#o+iY_5HU#+6-`1$EnQKBbYhG!l9Vgyc!(V#t7qv2oFV#TMKTNEK?yGA87NOqUDBdB=j$0w4k>oCEuXD6VFTUbpM(b7XopInmGP8s4 z7vjDE;{%lRHkHSnH6bCPRJ$V+*Q)W`%Wc#P*m?xp>iX^3R_pWqA@{`y)8ko`x4~?w z>PRX}*g}mllld$)u*L!3wiUw!n6NqR=X1>23Tq^}^`+G>EU#=~#_iI+NQ%)paD|l~U?e)VVtNwQM&`gZ}Bdu{TmcYZe_r}Rt<{Rv zrbVYY@~6C-T};W3qKG=59<$!)>z1U79ve=xmbIKBnZQRAod>= zTd>#PRX}+X{cEiLH_H8W94DjxZe2f++z;=c1!Q{BLpsTbH|33A~k06yN>`==B2BoLE6u(Gf) z7?0sK@dL9l{7<*_&m1?bNqt1$1O|0fb$WXTorqTQ&nRKpzYlvGH82foJ2|mxdX@hgK9Q21pWB0f{O}WW)R}B_V`ty0((Dt(6jEs!d zi!rW0%r`JA0OJ>$WaH;vadR1EnG3g95D4!2Q_Ia9dMt!xm#v7_yPdT2BS9is+rLc4 z1n5t`r+w+Wbw6Yobi>x3cLE5n5r97mX2gO;|FM(!VKz!qqq$TDr=wY`A26<~*T+ji zfO}gs|IJo_r7ACvmi2sDaCc_3=W7vT;>N}le0M*k8+S9^ z`?=7GdNB$M3WD&toT9U`_*Szu6t{QVQ8rs^8yYUWUqCPTuMSeVu(6R{K@s@-uZO(O zDKF+Nd>`O9JZQyv?KcJAY9F1~WcL7J)@G`C`Nm99$HmWEmv#fq;FZiV3Sc6fA<4to zhWzQ2@((;bJlxkN*d2(FcipYO(Ya48$u+n(MlL6^I5}MQyqhRU;@p)y65K(fI0GgD zC`nYW&M5d3Fuy27Uk>1`8oiK^4S4#F8)){D@WA(;rNP76le*Qq!(ARHBTdV1aUaIv=mW2J>n3it3A}q5z+A0daF}J zrmU>umNErA0t2~uak1ivR5TJAE`NXlejcNGgjluKuoU2HfV5^0RNO0R13%2bfH>gF z!U|}#69p1>0vbElM|YH8r($bXUqB+x;B7P^1=`5Wjzf|rQ9r#f7{N1G1TC46g#3^fE+jcBIL624l;nDY5x%(h5M(yr z*Z`jq>%WiJF)0AO1T*HOgH@zc$^d8kHs-H3KjqvZ8sT=>XgPX}MUSLew*%V17k<8b z*M=MNpcP&-d&`eSa9^vjAGRVOrKK+PYNkEurNBXgWat@r^>;8MQX%BdRPDR) zRV$W#ZUxv&R20wCWxf<@CL{sz`=E`Nr~Ocf8SeJ5TXjUNos{71aH3ZAnyN82{Y<{^ zNWY@&>k!FQyIOO?Q=crcUMMLUvv4}=W+ShpKFtOwRX5zrKu5?1m-xL-P1}^iy;~n# z>trV_$H%RRETYp@Ykg|`yki^8hH)|O3n?9AGAlvKOn}(Sw?l9*p7-QdTbvUfAVrHb z)?j|Jz?aW3oDnXlBlN&+ql{e+&=5jz%@nvIU^~fb`Z=diefC3?s;IthgH279GdHYr zaRlvOQ&}c z$+2$o$fcZ;otqm6qXitnXl041~x4ly#));Jq)#I5|qUM{8Pv?W!Hpni93Gst} zN0HyH0uRdeu^_)y2i-dew#muuftN>N?j1Reqn={6m|QN+AO<;Y1KnGXH~Fbor_XP| zVMDN_Z$cUfH`;phM8l80z^9M6pX5yQa5=UI+^GrVH+_J47Agt=A7GwYwH&iXwzDm3 z_L4jthd4JL*Q@JO;hJ5%J93v?t$Od#%v_!L39G=d%Kgx)88wa`+<&#-nL79-1Lgas zdwyslSG7t$bY$IRzWAmS{&xnQZQezGiy%NoPK&9g_oT}@wkYx8&V?v zelnr*g)V(8-RWg2iYEsm*`~UJ9ON)eJU+ z%O}_}Ycfe_f(pW1O1E5CVY}x~L9HUCDwEyYqKGJY~zHWmM#7)8nvzc{9F6B8?(LBIcuTcTk)6ew6W1e6q`rlA+wrPvF2m> z77U@2XJ=@|kBhZ5Z7h%tuqu9hMI@VWanaGA#r8?SYU}ENvlwI)F*3$P^>QTD5CTw0 z{#tK!#Kgo%$;f~7fWq{K%uE8QOm2=<-B)=1`4!}*Hvr&j+3Ln62zUj& zZ(tzG8Ah4xwfcWb_`t#8`dYq5HV}ucoFQ!#lK}S||AFrRH;lX)i{g;9p<<%fAC5he ztluxYDoW4oG%O#*B3CsP%J?Y;n+c7f;$xSi1iowk(_J!ShJQb8t(Sl#nSu4`J3#}# za~`YyYln5;eg`iB=JL^koq3eFG&osCbGpTA9&269g_?6yynU79Yq_dwaF9vl{+KWv zCOM;iVnp%vBqT?;jZbPqK%*~aqn7Q$YxKhK>|2Lkex1YptM_bcfaCdqJXQ_9BFjUGOcB`Iiwu|IB9f%# zXldbIJ6Hc;G*VlB@?8I5ZGq1rJCmS!g2_>hnMPD*a7kwLDSz5j76vrEpdya}WJ;HE zBOu>&ztM3gt@Udt21*wtpp{$4oISc)$DtoMVhGnehi{yAQpJgh?#8%Qj5biKgVnJ zTjaZ1t3y-IE%5f0;_r~ma%uQq^ZO5QwxyN&Ez`>_R-gA0ESbp{t1^Ek2F?RV*;(vg zJeyHGccHGlDa%@|gS+1KecBRj(9N*!ugVS#)quVxGm5{2Yh3~3H%m;jEgkA_?~ZiL zPI$}^Bt6R@7*bOClZ0-Ny_L&Le`#`@sedR^O^CYqk{2-TX3e_8L4Gv;_In+II=>*P z@Ly?E4X$ek+#Rl(A`S<)K3|uixa_h9hD*zhuD`}E8ljUYGn>suZD|babO&l=^DxfjWCLI ze;QR}pG5`X)i9_b?XykGa+2dy;d&OoMYZ929jL1c*2$U0FEQnj#cgfcG-f))rqW!t z?X^KH&1%IOM4$Vd=c8m95KVqC>in$Loq9uI_EX(JkZSo~T7biz>QTRjUp?1-UU164 zY|4*Q4kicBH7gV4+wg~aCT#PU$20qx8Inj(5KlMKcMV=J)7&<36%h*NmLQ8S79TV z3t#69IC8u4obDu4p{l&_hc*K15=>`)?z%NooxIHXuB~7CbYmoamGP45_Vi|*4V1{c z1;e&%?q??zlbkdkMq`pN_F$s?FU=0`=G=D_qY! z$Gex*4~QQ=Z0EQ{VE#@Sv~4k+=XEYse!Rr3$6lp}R$3pzZW_b8!B5&rL1<3e2uzM>WHdI79t5{{j%D%RlYVR_|P1 zhe$T&`+*2NQkK2d7{BKsku@NJJo!CF3Dmd=SXbrwC9~0X+k_X>)F(V$xk8aTMW4r} zbL-``$dOsrld4Ri}5K^{r3#TFfaZTKV2ROt@M(G<>o+>KJ?Kbhpy* zR@XJflHvKr{WgXKj?2 zxM6sI=vow;i$U~;^;znLyh|6i$lVCErP9OzHs3CZIU+r1=Es7wUCb`rtrgQ^010~y z?9EJJ?hE-9SXb*C$VZJ&BGlQ+wp7ehXgwTo*z<=*X1><=)I7+Tw=pFxeW*;-k$Rwl zy~{ejVA9^t8O>@sksZIw8S1&A!azRf=VML5wMgF>a%)9QoaP#jAb#M1?~aNk9I8GC zSxY;OpNOQ=0V-%PUv_%8Z)a3m0>Gx!-G8Zn82BDAXwl=y{XGwq4?gbZfDE?bWOIv! zZlPm#&Ab~)t6ywidA&ye`CSdwmrDQqmT+9rUbyb@=K3PE2IFO`vbeFvaFuoaT_wsa zCL?{|r>&38*Y9t3!Y$jcbDeEipAkOuo7(Us+RR=!%W@Ug;nXN>=h$#gXX{j{hhK+3 zw6B4#s)3rTaujobdwRlAE|E`>Q9@3E?6?Y3ePo?tQ<6uf`RTgoQVC zNJH38h@@wtHr+?t^6n9SR1HtJTnl~~7vNeIjE}%JZbl}((>WWM1nVJv$cv=3*3WWM zJUnDI3GS-i7%Yz$?DI%;O|-VoJ^VeG1wdt8mTk;7-@>qu3wTi~(D-WWf?%T7HGNWm zAv?fjo8}1lDP4}h6UoUQYnS)5wJl?3>{Nqo4mhhmB#r;Bpm5?2Q^S3V!D!~#{d=0?T zdT0UCkd_4Jx%P@J8*75IGeU{;+BjncGj@#duXc3#>rs7;F@F1=0l)azf=wI*Gk;@rC9V*m+QYr<*(lj_#y18lyjnkb}X~LAvKnl%2DOdCJp%=H`xZm;OqO z>r~C@9^!Y-nX-^|%P#<(n1a{f#ak0G+kW#O> z%86ubdfC|V%2`@i%8k_Ur{v$vzZQb7+Y9zPsT>!6e;y`;RxQd?;?sOS-LV?%W*c^$ zT8%V%;$Tp$pJlD=xw>$^nn%%Q^YYZ_xF-v4KgZ;fA>$3mD3x~~=_%vs*0Q0px zWnqmnxBcp*JujTa+SiOeQ*|rW7U*OZ$wasSwZ0Km2M0#=@NU)O4N__4xb#_ zjBh9kSQ2zy3N}}Cn+@@c>i)8$`Z>c(Lmla12>MrwNY}p%ZJL@&l~GJqTO1$Y$9ok_ zk2BfYi?R%RGVTQ~HtmtZI8g|Usvj|qYUzLlbzvul+BmR~ z0Ei|yKAqAMc#N=XUKjlY&vcfX&d>d6P{#xIV-Q&&xSA9wXX~dQ4*ukoxe$upz&@^$ z8p%C#jot{^eqi~`voa6yTU+p3THv#A%yNKJ*i|(SRo*RYXm-FcQ8m9eRI^A`X{J%B4mhRjm<&rG= z(tqk|YX@5d=hHNGei#sd*e$cC$UKET=%}G$=*0o~liw3`9Myr6PvZd_i0ocEzgfVm z%6Y3pG-wMcLnVT>Vx2oC0*cH(fPz^t{q---%BwEQG`GBMbha1T>jHE5B8~>d&8WN)dAK&fg z?SSWYgGREgw4s#oc?evl*Rc^^GGKRsVzNN~GX1-V3$^mVlG#1D9J0H{)z*!fA$3UI z3nnnDev=>6V5{;r#SZ6wfpfq0){+7Xa)WRbNrdoG@E-94zH}dhQI~xYM$^~X!5C{f z$870I_?K|D48%CNuHN8@8ocA%7+FVxUI;>bGT<*_$FS1lG_UPJ$_}2)U`E*ax(%pS zwf_}j@QuXo4(BYjHJ-`KR|~iy;5mSQ4F;^x)43xa`A`I|G=PJjb-HLBoEq66iiu^r znFmO+;r+3VF7PYXix`dDC5Q>76BzGj)XZ*UMI zbM`08E(U2e*$&^SPhg~*%k+;dMBOZe_eNJ+4b3zO=ixO5sSCoxi?5qE{zkhi*bniT zr1u+5ff&PvW%IzKHx0t$*w+9I#@}YmhMmtSmrFihW@mbSVK&y@B+~Y3fA8aey>?qb zXUWa_{M1YQ85fiT1Q(%bW?K8SYYI#YSxU*WDroxD_TWcI$)r?}m4Z4#U8u?>(0fEX6HUw#4FZo%{} z4$nn2V><}C#&8AKTuK>ka?YrkI|?|lIM4(Y`tLe^)36zR`P%p)8O9M>xd9;84pt19 zozJNIpNay84=`LSGZV))5MUPhX(n9=X+Ie_Y?f{T#O1{i$X|zw=(!ZwX;CRDFGNNj zS=Fko*e8N|fHkdRbO1B_8922WVg8$7)@Od@Ph6+j`QpM6JOX5OJ>R{T!Vg%2t%D4) zNvf4vc<~hr9d=Hgnm!I}M@&6v8BT=iEq@~T%T1yAv;+Kw~jfkr<-arPuICRgL=SS5;qz4^ya~^z#?tT7w-(W2gR}YHKRBN9iGfQ zr}@{eI~WzW%F-_Ij#lByk0Y2WzKL!J0ylefO`)mF@ZQV+b*E;>9QfA;d6%C0XR9mV z%;8^XY4NSNiyj3sv;ux{kY?hoKQx8KIxtIYvJ@7C41Snp{BeV*<9G$KofGHY}%u zRUob5(aO*&R>!@ZBL2I)ktlZqbI--&Ycmfy9 zyD@F3)~`*a;IefP^i7Ra3NAH%?Ck;l$Wu>u=($uwg>*BKUd@=-q0ntaCfz`6Oa4>( zYOe<^JPqdEUs*34UI*?8!+eyu48PspI~k6P6Vuy$d@^ICL$BARC?&OF;qy&ZPPo{> zYa7#Ut7lo7N83KZkrN*j9FrMb|1C6Qp{=QNoO|>Qp2Gd4&n+J#vBt~-uHT#5m}2e9 z(wr2%x@hq|H(NMoq&SBn4(_oApFL96(>&8BBN`kr;VuUn$y^f^|GLd)5l&9Z8v!61 zD*c1+m|sFYXcxSuk7wrjV!Z-Sv4lOVR+`+PGaWq6h%v3VaV$He#Fm3XgAUTJnt zy#a!;*rz_EaE>(8(MjnPwmY9`j@y#ogu1U;{g8JiMEz>+smk(t!|Jxmt2*nKa=TOM z_mF(<)85BvytxDO5_|C<Qzs`P;OJFZN2-hQHKC<*E&H_ znz5DrS`JMWa1mb=cdvqkITB$CDxl4!&1+R4$%a6^jy#9N21k5XB9tW3=kO70wO$F= zqG%PFPa5NE%%_dZ{_3)6B+Po^Za;&PNK08xVz56cRFH!rX<>kTT}K}12gSG)jt#|G zIxX1^Q;^9XV(uq#K`IrK-h42+TWo5Q@s>~P*UojTJU`FI4DZVd3`Zjp*$%oLR>Izn zjah^mKIELSeb9S~$j_Cg?kl<9sHp7rnH3F_6;@Va^UzFW{1d$$$)%yMsrV-w<&YRD zAId)fal|M*Jb-qB)yP8Fy7~kCQqQ|K+@=-nds6mL7bQc;>{pwYngA~hovMzj$MOwHx6;+hV;T~A-4oz)*^{>q3JMighx!|CFmFl9kdDAtePypE z*F4K)9rZ@EB_!10`p3a64FbY2c<~7E9vcw0eiHsEq;@Y(cA6ez;C`#^m@Cy4)@RAy z%Y%&XcQF%%4;J;0BEdd=RWo*9xbxzr$i{oW_WD5+tTlO=tL}i2Tq`bc)tvak7@K=4 z01h_$r+>cqM--CYil+nI83I}-+90uJqRX<_7ZXO^2QA+&Urt}Jb4WU3kxI!EIHVJ< zs8&g1!)h8;(Vp$!55KzF3>Dy5tIFA@Lopw|gIy1|)V3tQj8XTlY6%^BIZsPbP(%91 z>>%YX=j@lAW-C(><635Ksu@abh{C!eqsHf`^93TPGX0@*#$mVXrd-Z`UIX4i*Q*8? zuTkH9nAZ?z+LmSsCD0#BC|nSK{dYJ{uS*II@-gnXindNqBUZfU&EovkKdtRtXuZ>8 zJ3Il5^Xl835Zqxl+^CwB15r}?ZJxX}@rKk+v;$(a)`(Y zk8jaFpnIZMZeynXi5(Nyo>`&-uNRLz>*r*Z7{^upbiR)oP3OGgf!9a*;U_V+yvriH zVnmrp5JuZPKRQ>%dw#evd@q%BqdI5uPa@?`61RQA#V&Xo!f=;vP~C9nX~@3Lh@hV2 zdsKso;QigDApQ`YCe#kuSF#bNX69NQdgxG{V8y)f1lGjje(7C=x~d{{r0=XS0cMSJ ze$uOro58W{ZbY()UM57jN-h%^TAZ+l4`Fhm0d={1kubsg_I$0e`iY=7!$MaVByOlT zmD$4B>RR@#>~i4#8IdyS?Na(=aas}=2BAqw*0C{$es-I{b4q~_u*zzl{S68f7&uVW z(eWv5y(}Qa1opnM0G&7gTNrel4{F0$7bMFSRPn1`O8Z0VpWp%!TzHyK)qw7aa%RHt z-P{SS%Fm^q#yU=5Zph^kB7u}kWhW-O*;`4dAN7Tp~nYdS|lb^ zesA3nH%?cN+V_vriNwzbAJ&Sn-K7Y6BS`OoSZd8}0w%BV3S4$g^#Cu5sl#^}IeRIR z+u%-^D15W&&;QYf6Ie{#@ZdTQN#9aC>7^G+8z-w@Ktf_ao;Zx_iz9kf{2=-%aulDX zX9Je;yY{zv2VC65eapl-)=H=WGy$3v1F$K0^FzszE8W{W%Npi5X z+qbJEC&2~2guFPaA9|Ld4cBJ#yi)x;&_@+yodrMh7SC^>c0||&$#Fg{BJGP5 zj9yvNB)maB0PC{780%XT68`sc=sQt?UYdJ(fSU7*5Vu5juc&Pi zyiN-Gd>$yrT9(*#K`=AGHi4Y{*bBU|^#X7BZsep}byji&dy(sq52|l5n1jgQxEm0U zKB8*10DYolT?>X)uA%kd>{`WpK=4eHO;)K*Rut4lz%2Svh0LuE?%aLb^Yr+ot|M*R zlQC`_UM$1Bw^N({tGsPO;6aAkadju0k)m%4G=4`pjpp*N;%g;_*&xDzVNG%w2&48a zTdvmb9Ruwi??41e$@gQAeQd1Ax_o=tu_@x}e>+^k(Ksj`1La7Zzh3eUeG&l+Tm{8) zfEzRaTvQ2+v&yrJf_y7cSjn^(SRcwTGi=6n2^o4wOwZg+bA_!cqv~~BgfgCe zol$Eiuq5ru-&nWYKiSD!*9jH}M5E}AF&d;;L9JN!SbwaN#d2=kvR$fS&SsVwh$9wt z-g4sxTqVnF%0ZJ3c(#gNJ?S-yew;^1+$F}&yWw0Z_qhtv ziAtk-_d61fF$m*ag0aX<9^LX7XbJyE(G_r3OfqxzW0Pwv_#)&DCuxh;J%CU~_A&Gj46e%xrN)8y_=V4d0Q&8amaQvN2qA9ox&%I?EY;w*cxj0@R&`Z*ysE_91kiciiOq zmT17?5Ikmkk>Koe^pMVTdtht@!d3$zuv~4i=nKnFr?X)(`bE@9+#j3az@t;^qpOs4 zPEFc>wD{UWp&8(9RN&}=D-G~W=AFbC(*-AgdeGcFXbWW}H!X4(JL*#N%bbr>yerbd z5ouhi0x_J8Co*e3|PjSC4?|q#95tM&nwDFKu+?N^#5E4U0ngL!e(0*jL2>ju<-;~ zO_xI3R`X+L6$r-u>z#XgaLH4}OX_6MaUTuX8E8 z2HCzz0=cGmnzyCXHH^!VvaRmtsjbkYVmh>&PT_`HcqS^N;?)3P}Rg|9hK3o=alJc0Qh69 z#BAVI@yr{`n541heT~WW2$gYW^$F|vpR?P*ACn)JwxvaEgJp7G!0+c8#BIp~nuy*J z(oV~G1c+F@5rmk%X|iYUSxz8mDvJ63sk?6d>SCg%gigTc}>5cOY(7w)Ndm8V=m-~jX7-maeJmfa0)RWiU3uJEH9oh z)06x7fYew0F&<44=wWyK?$e4=%$%s)KZvqj-_K((wYxJS?Fb9p_k>Cu>o6wh&x4Xu z_l`7aQNuStU<_9Kcu*<0h>~6LE6Ao4X1;;Wyy4qZ1knxJD+AUPx3*?flP$Z} zL#jc(IHH-gfgGo}l@sJpxX7^zdIv7v3A{U0C(O_t^oL4Q;9$RUn&;LJ4-JnOW%meN zJTafrwo`TWMv#r&ffW%GDu)f*!H|mDHS0?M@h7at_l#jHXI*0-bXRW8b?dq@pzF4Znw;L$*ralg`gP=Us0EP zB+gDYD_a+`$afEDw|fEb+cFu(w!MBfIZ(a`Q$MH}2#zvi_KO6V)^ZU?-e3ny?z4@(0-dvMIiF5MA4{7Dms5>^n!&<;w ztF!%eeqRb*RACp#i&ExUD&5_IwY+FrPC?XvK6Lvqk4ZW#cVg^Q&SJUc*l_CFA8?0Q6>X0559kRaNS%9HZ0qki1b5Y%S>loN>-ntP-!eUF zx`aXaD#s}A`bOnHQaV?CW)HGHR~v8b8a{1uWLN2%(w9-rmd+x@-f0J8N4^NrUakU7 zYY{%~Bu%99gn^iPq_(a&GH zbp=FK9g_{{9xb`PpN1HpjDS$NQm&kEvIY0=eVg#O1f*&=+Smb51$Ic^0ckFcx+m_D z`{_y{^{oThrUA{CBZ1V%oi1Jm;c(_FwIZE~uN2Q?*o$*o`HLoizSYeA`19*`ZFj($ z;riQ}z~RIelhlOi9uOVpVZ)mvtE0>2wMfst@ztgbq|IhES6nXqmcEwW&-_OgV7kc9 zRU4xZdm%ip4tjaeEK*Z-*W5m{ac-X9UK+Kal>hDXVCxUY_)bd!O;$``D0s!b4;!UU zk-MMU$l#N^wk%f805s&;Z~DkK{pX4-7{$wje1a{mj7vK{pQy|qDl(cMXkZzVDSBI` z7uKo?MRww2rf1gA_Y7+=25$0a%BVa~y)!n$n!yOT@qX2pL&nXBUIhA|JVkwFl4kvY zqSaY(VK!&Mu-S-(kET{l1IA#cP-2nJ%C*isE&=yBwzE3(2QH7qDF<-tLIrp=sqbZq ziN;Ay+_M{N2>q8hLU*bk&As#{TKh^qkP(%|2l?{9i6KhMk}K_W1cEKd-X@R)s7f}g zA0Zz`*Njug!7n&lhZ+~E-Z75>ROP37>Xb9U4jb{!goG8FlP&)N6RFoidz z_*7AtdKpTAivWd&9!6wJ@};ywdi8Sxb_9Rini)u!x*!rv<1K6JiUNIM2w7E!FLc-;hi znHgI3#^%e&u6I=W)V;?{^UUJ+jYyPc+0uT31ieTxz^~Y98BGMDWH7ccLojQWlmg=a z0!$Mu#ZRh14oX8}NZv{Wj>eg%+fL-DTAJHibiOiMeIPlnOomJxKaYdQdD!oNO2v2m zR9?WpoVk>3516AwDZiTJu+iErL7D(ksmx9;t@E{wgw(O2mrU{9r;35GmVSX?4PjE? zO`tQWqzT4kj6SdOEq>fx+BxIwNT9Hv~yg;tH2blYzgpVr|$>^jvr-gu-7m^y!l zu);qG6F@|rwa#ge8YBm}XFi`}buI!ibjXrKHL>ef+kl{#n&=PjegOXVujTjX?D&lT zM(-+&TX;f|C>(OwBIdCG3Vfkr4%q%n;^w8CV&m0?Isb&k367cI#)crKXjA9SMfo6~ zH2Cv8nzo5sW7VS>@mJztmv)#W#qQd6RHso_p1DQ;#}I1OU(|{rSx);L2akgf+>g0I zxmxXEt)>Qu&m=q_G*C~X0)h{tkKng;Dzn*8H8qZd_lB7Y^#d9`Y|CA8%9Jn8LSjF} z(y~r5$LAZUMh}vRHK-!E3a0^DZsv0=q2*LJdm4WST4-Q6Wuj~dR9x1ds6yEt{{?q% zOU~dgz^RY%1LtchCUrBi|HjycRbZzM7Jh$_?fk)!o$Ks|xzrjp7!0xAfrT?ShGSXz zi{)5NEVkhsSGQ@4?Z{W+q%xGf-NHBl!FMM)HizV=-SupX#Rm>Zag#UylL~UY#Ch`YZ<+TY~hyK zL!rNO8B;%AS(Yg>nX^8!)mFz(zv1Nm>;*r(Hcf)DTjzAbp94^v;+y(HBz~)+(%{1{ z(y$)T(r4(%SPwx2h><)d(cEF1$huSEQ-eXou~eU)6q;p6RorRUo}^64r1cxg4*g38A(pvhnmp%!5)k#a3N zJL8C;1ne(N5*($(X;K|vy9&K*^`?>P%Uj$W;o_T*aDMW*VXCv=Lb5fB?p7k0OX$Cg zM5QMzs&PT-SRWfQq>l_typR_C#G@d1vZg?hWlgB5$H)*c(h=$ONVjBD#4=A~t`=t5 zPiyd1f#~U0D>+EQHvM>W(3c*i^kp`xw8diyp|*d64{Kl?q1#G3{+akF@UoQOC3F1Y z#&WA(GpXRcrYy%k`^Z35=X-m&Ij*r7+b~L-e0a!M-O;dINJQ6VNCBZ#rXDkGeQApN z;PUP3>iQ2Gi0DVOGeBCgZ7LfFLhfq`Idha6)GliE*Z)ag%3(Qm!!7Dd`#6f1K*yE0Xwh;E=L8GJ{*zfPToRipF8+dz~Pv*lrPC8FX zYo)+4U}>T9ApNdhF2Zx5L07-zHYq$cB|+nh3c3)M3^{R`;GRqmL3-Hx)Q~KO|}2C5JsHS6`%+4NgVRnd5S=>{2=jE)MaC|)uKb?y*??DFIye)?*iUj*haf-=dZlL>hb%?L(0Gy%%;FrA{`5fgnB26xP3ns(O6KBiRo*2lqX+Y9OYE%bs8 z6&Q}pPad~u91ZwiL^S4aM~ z_uHg-aR7OX^c{-z#XX-c>9W!z_dQ3Wr-FI*durDLOM4>~=EN*>X)c;+{GuqxWzg65 zpD;RV&C&%6G7i0!FT70e-X}aj^IBfuK$foe9L2w4}&-Yk{^N#yO(*Tnb$Y!wa{% zo8XyPktnZI_1=vMjHdkz->BjZt{IAYL*%?Wf->WFtEZKL|1Nkm8opwg6~m~9m51dY zL;-bMuqj2fwuEN@SR9v+LL$FJTsiDf-RrwG^^LsWe|L=-ThK`HX9S(9bUJl)LS zCP~$Db)MZ^-|GPs!<;*`Yl_x<3)YbMOHWPmFMmEOz?XFkzn%DuaLcHLBc9-JQ_gnD zXm>QWT9+vSCcfm{$Zv&z#D{MMf0$p>6LF|09kAvEB#|L+b)kN7S=2jXT=k93VO3h3JkGY6}oym;NiuOT_ZbJk$m+d>RPUUn&I%u(k0#oB%ccu@W7 z*q=~*Wkhx2+pRycyF1VHE<+*X@TfjJe%EMwbz0rdN0R@QvKPZDYyK?U>@zbMfuR5$yjD>_pB<`?RZveN=+M zA%e#8>g5t?uxoG|Xlh}jKQE|CDHdh^7@s8;&2}QlsV2BnI(7qFT>N5%az8)0z*|pS z>n$R2WO|`)$K@4II1~-VYW-iV*-|*`kb2-GAWAs6 zV=nx37S!GTd4MmN^ZRFDJStIXv!;~4`)>vsSNlDfL}YymE*75{L+aol6b^{giq?LM zyw7tr_BgyeFnkO=!F|}jj6XxnX*;U*9WIWL!S%_@xHwVaUTs02)#r!`+wFBr zQUvS|`*nrz@f&nt$<-B1jH!5mC%!)qUj?L=g7QI*8DJ8Pnj?*VJ!MbP0$9no0lwJx z(0Q~)+v2fAoR@8xUUpJNw&W1Q`FFKmBF4BY8QVCLO;6sSi3x$pG!u5{dgjsHh^*bx z{p}Ei_1-L%m$n?=s}~-LS^D%=%5-b=>kq<*$3nK?NZzS#qGT5ImYW`mjV@#4G=(Km z5qm79(y+l%yIo32B_^lj|0TQ~)ng`M2XYlQ{an5t#_ObSnWf7{ARf`%l`5Fs0wQGG zANJbBNv;^g)ki$jHMIiQ+at#$Kuvx_NX36M?5yvAi?#Skt_AyK!nfATF4bvgn>gv% z(TOzwq)KdaRZpdR9cK5d!cta5A)L0h%j75l4dyjmihh87jrs6labm!ggP&>M#DxAV z)lupZhVo38p%)l>*^LGB-?1qx(hG`GXdU0+{7N)f!)B|YFZ2|?X+Z5Bt9ED8wz~Vp z>E}Qbq>a?BkPb`J^nc2_aa)BC8F=nA7@U)@4UqL>{6i_X!`)*)e8W(Op!rhXs-01pZfG1 zOUI!61{Cr|(AXt0K`7z+gltTb?5qa#nXE1++31{ffUniykMG+vQC_h7Y$GN?sBk!x z`a&|8S%NPw)-t4Fb_*u!2?#D6k8ct0-o`cA8-oqDkp^tTIfN~&8aW-RZY^p|OY#Sl zpXx^?>!-qI;{ytoJ*h8q4BTr%4=-3BXdp&aECUy7yc6w@vO*QEg9GKX5sx!@q?#eJ zV=rI?XO&yb0H3eUX$u}j`OEn13CL<%;s>to=v__ydpvW}8#oDxjx3pjkOluzd!y@0CP0vfwExxdV|OjqoT8i5^{RcD34zI)(h zn}!9E#8@veKrjo&SR4S5ot--9B%D+e2@{#_{M%6a~{p(kIwDVK9Tax52eCGUcU;9Ras|MjnhRSgV@WSvyTVoZUK$ zkX`Eg%K0okxcT_XMM{t~6W_H~ou6c|EUFZ_6yctaIFu!@p>@CMMz29k2m!C0ue?je zo_3l%6S}{O@%8OhwpvS*;!H?cC)wP%hFYvLza87G&7Mc zistwo?9=Y2kh?(vGv#5HYnQr^1AcDID0pr zk=cQ?H%60XdFreyWZy7r?Bc>56ydJ2rusp%*^Ra&kz}?Ky!U!o&`m%9~qfk^AZyAmGWDA z6~GzZ;VSqG$t}Co{}PMY=VPm?jMDs`%x#>>R|Y*3tsM*q`$ERG%K%ToZwe%r^VVye zvl*O|>49tOVpg60q!GWwl-+^r#1aq=uU4`e7M)Y#|Bwa4JoUF184;fYDfo(&3Ui z7lhOKueZbp?B9UPmcxZBtTqm_SJ>;2UEO z!lvyGxYP+nj_fbnltaiQd-Y8_L*=WhDVHyq%sgV5?h5eT(FIlz-~at9cvol5PuC`_ z=0(PBM$T|;OQPnFW->lw1DDDm97or9=4)C&mB-)78@p{L*#VxkN!{DpQvp2XUu5G< z2cT@c{=s3?_uE4wP`!N46oG3iyeyB2OU^uCLMs?2Hlx0_vv)%EzUN?}gh*F5NoivE zT3Q?>`;+b-Q|%?A_uf#I0Y@@!IGKbEML?545Eunrjuf|3e3pUdMh}k``P;0-L}@)C z_F1!9VN4Q7u3 z7G|6M2mxKLimOjmAm%5}QxZ0gl*+|foH>Z=$ zUnq4TNGeUitV;Z8xUrEA3wCBo!*?QSEUFMPge27M3cyd%*i!A89gBmXmBK&Ds@UZg zi;p>9avnb{G*ME7viBqKKlp>1*+dOXZmUU;j z!<508#f4|3ulx5cmzK9%9{fF5(zvIrGd)y{1)NzzZ`F_my~0}4B9{qFX%RmYjV+6w zn=+u!$RNM2t%n1NzDbc|51qe_EF6f_tQu0^HeF4u2~Y`MVz_Vjhksf~KimwcPp77= zohV-rumzAqvbbMZ-zu=m@!7r7^$^W8j5#RYh9_ip%E@Vhx~r0_)hW%kC$?JM3^ zOs&>>nz}8IajE4g2_l2!NTiilJmmrGeD7+6u-UaW885Gw^0WS=P*3Sk1c|+?_o&|N zAG#OIDsne-u+#yKlXV1HLV!qj)R^VRX^}}TBE$>sjS~u8Y@#D!=AD2r!o2>%_;+S> z0#i~mfF7dc&STcZ{OX6|N8|W@0~mM?tMArZv`yXLL~qWIzIIRo1TusCZCExl@5itI zc&5VfXUGDcmw$9kq%3c)(epJo+I@o`uN)`XVBnO`50q^W&Q3AuVjBhjrkye%(vW1j zY%bz;-Dcyik6=ZMSix`D0Vy=Z`8bUMztxwilV7!YK*0-tO;pP@>zMhDaZd6eh<@5D z;z3)<;ZFKr&CjERU0B5%p7S2%+>ND!{lRAOZ=&4d^E9+HMSfd12yFRS5GvF3N9oYr z9Zb=L>g5}YS#)SEuf;);4#yWs$rUI4dz2)ri_(PHRU|q$a&@Ii!XrSNb)oku`YT66 z%f&hL#_}GJ@C#lv#S}?(tO(7^#YSrJ6DFbgU=Z}8`;P)WA*vLg*K^*Dv$obEuKUgf z{Ec<)oAQ(h+BLyLSH~FG4>(m6%y443^Mk!z0uYT zHIVks$R%$`Q2=LkYWT~E=b=XLJ?3>#oPl#B9*n`1!E7_u;iL7}?%xGW+{cCc5%z?w zsP?~yW|;GA3ig<$%+brIC|W2-^JSS4-RGrUxPq;yL{>@H6UvbxErLC7zj#qQOS#9+ zS$Sif(*MF_-(cO9qO7+7!n`Q0EF6TkN0E{1h=!_0SVB-v-df;Q*~aqkG>$P*RG;b6R*qd4o8Mg=#}b2+kjF6ln*jCHiFCpoA!RCy)wsQgARr7tvCqfp4tU>HjND^Vrz&mg10xny{YoB;D+XEo0(HfPk5DQP7d$^V zep(mgvHNz8`dmwzU`^60=6H_G{tBb<=mimG)8kux6*W1Yr#Jc++AaE4oLi|dGh`T!O z58(V+ve;~x2-l6-MB~NZgPa?O;7KIe=?K)le9RI5oM;QX@YJTJTca*9wWHGE0-fTB zFP>}w4#D&rUjfP&c4IP6DuJ7NV1olU=>V#xA~92IJ(~FuShD%ZoF)41su+ko*t%6z zBI{`dED7nn>LD{P@^-#^7lsj)*hhAtl6jNLv^S^CDTaM>$G&+LF$dr}-jx=E(PN#R z8t+T0PE3`tksq9Av?K$W>xym--1{+jIW7JpDdN`fqX7wp(Kqlz7^-Nsd}C9WLa_H# zaQ}Ee@;VN4Y2U>c}H~%{*}Zjy2c2gU|?x99QE^+H}lumjKEz^HJ|S73F5^c8vABF&EP& zB?GMTE=Juubw=mf&NJas;zOEC%B9$KyD_)88$+|5`OuNw}MN zuv=1y$KGlwaH0$6pO6N9sFrgq?>Woa&`5qTUYH(@oi4Rvi|31b6ketQx=TYKr)#T4_Hc@4B3+51BsMr&apR3k zlaP%)Ys6KONgd0zEbX2HuK%41yXP!FXdqNTS7dC|(GY$S^q*})iSIn{+bU%&l#XJZ zx;vG}V*N@kLrb0VB`B+zBOue;BYFz9V8Q5F6skJl-$WMitOr2)^7D`)r?tp@g)}L@ z!8geDCvnQP=8Ad-M3SK^?aAOnZF||G3Lj(3GtNY^ z&xQ`@ch@ig)T{=Sr^L=hVHPgmGlBf>Hal)2U}`E-M-vh-iNC!GiTK`qDHyi3x~uPT zCGVzI3R4jd-FMgL&s*#eGC-5Pz9554pBZMffGcRs+E$p!#0+)F`8Xb0$3 zpF%w237x(QA8F!`t;>}>j)=@+qg7HpbAev5;^-bIH1H-VI+iz~*<+pCW~k8yIMm%=^8gEq^wWQZ|(Md+7TXx>)_+V4F_3C>Ud>S$%w zjohTbeMr-6!jrE`a)rW^{t)fi98!@(jN9rbL<8y`TcM?`DFe}WNML(#^g1w;cL1SM zMj5_72Cp)8lc%LBxe`HAVXd)6Fq!!UHXk4`i-%44$jbb%jLaCto-yPHSfrEP6F$fs zH1$FuQQ8v#5`kkcrn_A=S-VJQ#;BBkBM04=kA_dhUQ|L<*rtU~JrDEP09&haqEtq~ zl-zqa{0bz9c@bXGap}-5hEFY=Gx657)EgU$B+HagZTf}?$YV5IoJSW)ZkJqJzdAep zFJyQ-q-o-7=#F}u$1Y#>?=~op3U(t-7{Lfofa{LG9ekT;{};#Wuo~+1pO+LICxZy% z*2s7_AB1R`)EiqaPA_zQCIuf>g>}#f5(EB-QE@+4M|kI1rQE__>r5^IL-7baOVan% zbbVg+IBa0i`BpC2vv)agH&b`fGDpMscmKmz`e?~1po9k8U}VBf7@3fQ(^Q>NG(^FSwwGkiI%}24^-dCC7f&nH||QHGi1Xgw*VXjS7C6+ zWLH%dyv0Yh`uh%ZVD#(6j~CDk_#g$}|J1Mgqt8)l8`Hd{+B;)_d?e!q2yNj%JX#kY zr+-6JZ(q9OX|{(dm#S8qJ0Y(1u>Y_ZB|PzX<=W*{l!sK(F2yr>JA*51l*%$Eys1bV zZ<2T}Qbx%qg=j=~cSD9e^FY6uoA~;Uk6aS#G1Q(93hdXM8cNyn{lIE0>|TxTkT z#l{{*q+w2(LzjierNakKfUtAJ5gnlHTn+hPkRoZ4c!-k&|XE;^Ty6NhEEB)WsKGk zYP0pxtcu2sx&3X48eO9j!0`HDI)<=qo0-m2J}Qj@u|ca++T#tClm_6c63H%;Il1z4A+gI&57{Tt9*K%wEU~RVyOwwAZNsOiZyk9 z)=(0bLMgM|jQy&*=lNT##L_PQN8r=`I_zRyrj4T!y-c)QaZI{Nof*p-Z7o~3pgUYT|hWevOAS;t5hTZ z1qwh&mcRLW=w)WFemHm3?D-9TeDLE_DTBu9x@h!dWR*A7wfUEb>dxI;DhOJ?SZI~v zMaUL^iIN>K`D35P+sBh*m!35~k*XTF!3#b;JLrL77>^8vnt1vWTQ2;BVf)_d4p^Bk zKC&6DI~Mq2Ivk9oiD$ted0zzc3-{M$$~T;*@PD?*JQkoi?l4^eQ7(~U<4rh&9F^kzDF zKa`HnGTz6YyiDNFT73v-w2PKQ6%`uqp7U41Y$FgBm{zZ~f*mVrj}r<%g}Y_z2R0s=X%nKZacd zgYF*DI(m_YOHB&+uceoPL4meIGsef4S7+PLaNyp=;l;~<%kSOb=MC0f(|PjH;tnQAG6feX(3q@A`DQQMP@9Qf_)=sv3l4}qXG1GLwPf-FJLqxH;UsLu zV$sjzCtgQ_v_b;%`1k~Ot}L^Tvo}9nNFwG(N1g0X_G4^toc3Tl(xq~6-Gm8ObJ`is z8}9V6^P*;G?a4}u`6~+CK~goFysj6Lncgo5Vw6wmD>%;hn+vjpW6_-IYLKhMbnGzb z&5}t1$pw;rQ#OFb!n;_Bxzz^vmwK%=cmej|&G9PD3D@R8x|@5{NBTf9ETe|p;u!G? zZMe8JWRv|`ApSK1BlWVg#iAm)Or_wgE9z4_df_E7HB&>=o2yZ%t0E98YV5}z8c-C? zr@aT9$C#^SmO$YqY`2UI(0X#G`o2ixS_`7GV&FI!*X+~AP>wjyx^Mm-?h9%ypN8tn zC3+f0KoAqI@IFpLK_}r@F=b~>(}{uQ+ku#aSoFfe0&8e!d=^V6?XU*G$duZ3TC1)2 z^{K9Bu7lTt{j%&IM9g>)%@e=D8OQg$?*$k}Pbx2g83`N)TMjcwU#O_5RnVEoTijub z-0DCI`=5ZuB@c wEgu1EZHhtz;-AxOy(S#LzE{Kl(?;}7Sxb_3!MuZGq6qLf*g74rw832e3rtJ04FCWD literal 0 HcmV?d00001 diff --git a/ogx/docs/6.png b/ogx/docs/6.png new file mode 100644 index 0000000000000000000000000000000000000000..4e15c7da94d25fac6b260e570ed3e53c9bcdd3cd GIT binary patch literal 88107 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

9-}5t-x$$Oon=YlcJogA_hNi2s}S4 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 literal 0 HcmV?d00001 diff --git a/ogx/docs/7.png b/ogx/docs/7.png new file mode 100644 index 0000000000000000000000000000000000000000..4548f249e4b7535202b0f72720207156047bcf0b GIT binary patch literal 9522 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 literal 0 HcmV?d00001 diff --git "a/ogx/docs/Ogx\346\241\206\346\236\266\350\256\276\350\256\241\346\226\207\346\241\243.md" "b/ogx/docs/Ogx\346\241\206\346\236\266\350\256\276\350\256\241\346\226\207\346\241\243.md" new file mode 100644 index 00000000..9e64f6c9 --- /dev/null +++ "b/ogx/docs/Ogx\346\241\206\346\236\266\350\256\276\350\256\241\346\226\207\346\241\243.md" @@ -0,0 +1,728 @@ +## 1 整体概览 +### 1.1 引言 +ORM全称为Object-Relational Mapping(对象-关系映射),通常用于使用面向对象的编程语言在类型系统之间转换数据。换句话来说,通过使用ORM框架来弥合高级编程语言类型系统和数据库类型系统。SQL作为操作数据库的通用接口,ORM一般通过反射技术将高级编程语言中的类型转化为SQL语句,然后通过数据库connection让数据库执行。 +ORM进行对象-关系映射的核心在于将对象及其关系转化为一种原子形式,该形式可以通过SQL语句反映到数据库中,并且可以保留对象之间的属性和对象间关系以便在需要的时候可以从数据库中构造对象及其关系。ORM核心在于对象-关系的建模以及QueryBuilder的实现。 +与传统的直接在代码里写SQL语句相比,ORM往往需要更少的SQL模板代码和更安全、灵活的SQL实现方式,ORM以更抽象的方式操作SQL以及数据库,这带来了更高层的思考建模方式的好处,与此同时带来了缺点。ORM高层抽象带来的一个问题是,ORM的实现掩盖了SQL的构造过程,黑箱掩盖了实际执行过程和理解上的难度。除此之外,对象-关系阻抗问题也是萦绕在ORM框架的另一个问题。 +Ogx是一个openGauss平台的golang ORM 框架,可以方便的对openGauss进行操作。Ogx专门为更直观的构造SQL,通过简明的Query API尽可能的避免ORM对SQL语句构造的遮挡。Ogx特点如下: + +- 兼容database/sql接口 +- 使用openGauss-connector-go-pq作为数据库驱动 +- 实现openGauss dialect +- 更自然的SQL构造语法 +### 1.2 Ogx处理流程 +![](./1.png) +当用户使用database/sql创建sql.DB后,实例化ogx.DB对象,便可以使用NewXXXQuery()函数创建Query对象。Query对象调用.Model()方法后,ogx将传入的对象通过反射机制映射到Model中。有的Query支持Where子句,当用户调用Where等查询条件时,ogx传入对应参数。当最终用户调用Scan()或Exec()方法后,ogx调用AppendQuery()根据Model信息、子句信息和dialect信息构造SQL语句,最终通过database/sql中已经创建的连接进行执行。 +## 2 具体实现分析 +### 2.1 连接 +Ogx为了良好的扩展性和兼容性,选择使用database/sql接口来支持OpenGauss,Ogx 直接使用database/sql的数据库driver来建立与数据库的连接,为了支持OpenGauss方言,使用opengauss dialect进行实现。通过dialect模块,可以解耦ORM框架与特定数据库SQL方言。 +![](./2.png) +以example/basic示例来说: +```go +import ( + "database/sql" + + "gitee.com/chentanyang/ogx" + "gitee.com/chentanyang/ogx/dialect/ogdialect" + + _ "gitee.com/opengauss/openGauss-connector-go-pq" +) +``` +首先需要引入database/sql模块,然后通过openGauss-connector-go-pg模块注册驱动,最后引入ogx和ogdialect进行Ogx和openGauss方言引入。 +```go +connStr := "host=127.0.0.1 port=26000 user=test password=Gauss@123 dbname=test sslmode=disable" +opengaussdb, err := sql.Open("opengauss", connStr) + +db := ogx.NewDB(opengaussdb, ogdialect.New()) +``` +然后构造数据库连接信息,通过sql.Open()函数连接数据库,Ogx通过NewDB()方法获取构造的sql.DB对象,并通过sql.DB对象进行数据库执行操作。下面为Ogx.DB的结构体定义: +```go +type DB struct { + *sql.DB + + dialect schema.Dialect + ... +} +``` +通过NewDB方法实例化ogx.DB中的sql.DB对象,实现将构造的SQL语句执行的效果。 +#### 抽象的IConn和IDB接口 +![](./3.png) +Ogx抽象了database/sql中三种连接方式:sql.DB,sql.Conn和sql.Tx,上层的ogx.DB,ogx.Conn和ogx.Tx通过IConn对象,屏蔽下层具体数据库连接方式,IConn定义如下: +```go +type IConn interface { + QueryContext(ctx context.Context, query string, args ...interface{}) (*sql.Rows, error) + ExecContext(ctx context.Context, query string, args ...interface{}) (sql.Result, error) + QueryRowContext(ctx context.Context, query string, args ...interface{}) *sql.Row +} +``` +因为Ogx支持database/sql接口,所以所有SQL语句执行最后都会通过抽象的IConn函数调用QueryContext()、ExecContext()或者QueryRowContext()函数最终执行。 +![](./4.png) +以DropTable功能为例: +```go +db.NewDropTable().Model(model).IfExists().Cascade().Exec(ctx) +``` +Ogx.db调用NewDropTable()函数会将Ogx.db构造NewDropTableQuery结构体中的IConn对象conn: +```go +func (db *DB) NewDropTable() *DropTableQuery { + return NewDropTableQuery(db) +} + +func NewDropTableQuery(db *DB) *DropTableQuery { + q := &DropTableQuery{ + baseQuery: baseQuery{ + db: db, + conn: db.DB, + }, + } + return q +} +``` +当调用Exec()函数,会调用conn执行: +```go +func (q *baseQuery) exec(...) (sql.Result, error) { + ... + res, err := q.conn.ExecContext(ctx, query) + ... +} +``` +ogx.IDB抽象了ogx.DB,ogx.Conn和ogx.Tx三种对象,ogx.IDB定义如下: +``` +type IDB interface { + IConn + Dialect() schema.Dialect + + NewValues(model interface{}) *ValuesQuery + NewSelect() *SelectQuery + NewInsert() *InsertQuery + NewUpdate() *UpdateQuery + NewDelete() *DeleteQuery + NewRaw(query string, args ...interface{}) *RawQuery + NewCreateTable() *CreateTableQuery + NewDropTable() *DropTableQuery + NewCreateIndex() *CreateIndexQuery + NewDropIndex() *DropIndexQuery + NewTruncateTable() *TruncateTableQuery + NewAddColumn() *AddColumnQuery + NewDropColumn() *DropColumnQuery + + BeginTx(ctx context.Context, opts *sql.TxOptions) (Tx, error) + RunInTx(ctx context.Context, opts *sql.TxOptions, f func(ctx context.Context, tx Tx) error) error +} +``` +用户可以直接使用ogx.IDB对象,以屏蔽具体ogx数据库映射实现。 +``` +func InsertUser(ctx context.Context, db ogx.IDB, user *User) error { + _, err := db.NewInsert().Model(user).Exec(ctx) + return err +} +``` +### 2.2 映射 +![](./5.png) +#### 2.2.1 Struct到Table映射实现 +Ogx通过golang reflect反射,将不同的struct信息提取到Table类之中,进而读取Table中字段值来构造SQL语句,因此Table类是映射的核心数据结构。下面是Table类一些关键字段: +```go +type Table struct { + dialect Dialect + + Type reflect.Type + ZeroValue reflect.Value // reflect.Struct + ZeroIface interface{} // struct pointer + + TypeName string + ModelName string + + Name string + SQLName Safe + SQLNameForSelects Safe + Alias string + SQLAlias Safe + + Fields []*Field // PKs + DataFields + PKs []*Field + DataFields []*Field + + fieldsMapMu sync.RWMutex + FieldMap map[string]*Field + + Relations map[string]*Relation + Unique map[string][]*Field + + SoftDeleteField *Field + UpdateSoftDeleteField func(fv reflect.Value, tm time.Time) error + + allFields []*Field // read only + + flags internal.Flag +} +``` +ogx首先通过反射获取结构体名和类型名,ogx将类型名改成camel_cased_string并通过下划线连接。最后使用inflection库改成复数形式,设置为表名。例如,将User类型改为users表名,并设别名为user。 +将Model和结构体进行映射主要通过structTableModel类,以下是structTableModel类的定义: +``` +type structTableModel struct { + db *DB + table *schema.Table + + rel *schema.Relation + joins []relationJoin + + dest interface{} + root reflect.Value + index []int + + strct reflect.Value + structInited bool + structInitErr error + + columns []string + scanIndex int +} +``` +ogx调用table方法,将struct转化为table: +``` +func (t *Tables) table(typ reflect.Type, allowInProgress bool) *Table { + typ = indirectType(typ) + if typ.Kind() != reflect.Struct { + panic(fmt.Errorf("got %s, wanted %s", typ.Kind(), reflect.Struct)) + } + + if v, ok := t.tables.Load(typ); ok { + return v.(*Table) + } + + t.mu.Lock() + + if v, ok := t.tables.Load(typ); ok { + t.mu.Unlock() + return v.(*Table) + } + + var table *Table + + inProgress := t.inProgress[typ] + if inProgress == nil { + table = newTable(t.dialect, typ) + inProgress = newTableInProgress(table) + t.inProgress[typ] = inProgress + } else { + table = inProgress.table + } + + t.mu.Unlock() + + inProgress.init1() + if allowInProgress { + return table + } + + if !inProgress.init2() { + return table + } + + t.mu.Lock() + delete(t.inProgress, typ) + t.tables.Store(typ, table) + t.mu.Unlock() + + t.dialect.OnTable(table) + + for _, field := range table.FieldMap { + if field.UserSQLType == "" { + field.UserSQLType = field.DiscoveredSQLType + } + if field.CreateTableSQLType == "" { + field.CreateTableSQLType = field.UserSQLType + } + } + + return table +} +``` +因为golang反射的效率问题,为了提高性能,ogx使用了sync.Map来保存缓存的映射结果。如果Model没有变动,可以直接使用table.Load获取对应类型的table。table函数中,两个init函数分别为table添加fields和relations。 +### 2.3 Query +![](./6.png) +Ogx在用户端通过链式调用来是实现相关功能,例如Select功能样例: +```go +db.NewSelect(). + Model(story). + Relation("Author"). + Limit(1). + Scan(ctx) +``` +Ogx对于每一次查询都创建了一个Query作为查询的主体,类似Laravel的ORM框架,同时为了避免并发访问的问题,查询使用不同的Query实例。例如,db.NewSelect()函数实际上就实例化了一个SelectQuery +```go +func (db *DB) NewSelect() *SelectQuery { + return NewSelectQuery(db) +} + +func NewSelectQuery(db *DB) *SelectQuery { + return &SelectQuery{ + whereBaseQuery: whereBaseQuery{ + baseQuery: baseQuery{ + db: db, + conn: db.DB, + }, + }, + } +} +``` +为了支持不同的Query及其功能的组合,将不同的Query拆分到不同结构体之中,通过组合和继承的方式来使用和构造Query。例如,SelectQuery通过whereBaseQuery,可以实现在Select中构造Where子句的效果。 +DropTableQuery在执行的时候需要支持级联操作,所以DropTableQuery结构体和cascadeQuery进行了组合。 +``` +type DropTableQuery struct { + baseQuery + cascadeQuery + + ifExists bool +} +``` +在执行AppendQuery()函数构造SQL语句时,通过显式调用cascadeQuery的appendCascade()方法,实现在添加cascade字段。 +``` +func (q cascadeQuery) appendCascade(fmter schema.Formatter, b []byte) []byte { + if !fmter.HasFeature(feature.TableCascade) { + return b + } + if q.cascade { + b = append(b, " CASCADE"...) + } + if q.restrict { + b = append(b, " RESTRICT"...) + } + return b +} +``` +Query结构体之前有着严格的继承关系,它们的共同基类为BaseQuery结构体,BaseQuery结构体定义如下: +```go +type baseQuery struct { + db *DB + conn IConn + + model Model + err error + + tableModel TableModel + table *schema.Table + + with []withQuery + modelTableName schema.QueryWithArgs + tables []schema.QueryWithArgs + columns []schema.QueryWithArgs + + flags internal.Flag +} +``` +baseQuery实现了基础的从参数构建SQL语句的方法,并且baseQuery通过其成员conn拥有执行SQL语句的能力。 +### 2.4 CRUD接口 +#### 2.4.1 CREATE TABLE +**NewCreateTable** +调用`NewCreateTableQuery()`组装`CreateTableQuery()`结构体实例并将结构体的地址返回 +```go +func NewCreateTableQuery(db *DB) *CreateTableQuery { + q := &CreateTableQuery{ + baseQuery: baseQuery{ + db: db, + conn: db.DB, + }, + } + return q +} +``` +**Model** +`Model`接口 +```go +type Model interface { + ScanRows(ctx context.Context, rows *sql.Rows) (int, error) + Value() interface{} +} +``` +```go +func (q *CreateTableQuery) Model(model interface{}) *CreateTableQuery +``` +通过`Model`方法将`model`传入`query_table_create.go`中,调用`query_base.go`的setModel然后传入model.go中 调用`_newModel`函数对`model`通过反射进行解析 +```go + v := reflect.ValueOf(dest) + v = v.Elem() + + switch v.Kind() { + case reflect.Map: + typ := v.Type() + if err := validMap(typ); err != nil { + return nil, err + } + mapPtr := v.Addr().Interface().(*map[string]interface{}) + return newMapModel(db, mapPtr), nil + case reflect.Struct: + if v.Type() != timeType { + return newStructTableModelValue(db, dest, v), nil + } + case reflect.Slice: + switch elemType := sliceElemType(v); elemType.Kind() { + case reflect.Struct: + if elemType != timeType { + return newSliceTableModel(db, dest, v, elemType), nil + } + case reflect.Map: + if err := validMap(elemType); err != nil { + return nil, err + } + slicePtr := v.Addr().Interface().(*[]map[string]interface{}) + return newMapSliceModel(db, slicePtr), nil + } + return newSliceModel(db, []interface{}{dest}, []reflect.Value{v}), nil + } +``` +如果传入的是比如实例中的`(*Book)(nil)`这样空的`model`则调用`newStructTableModel`函数 +```go + if v.IsNil() { + typ := v.Type().Elem() + fmt.Println(v, typ, "IsNil") + if typ.Kind() == reflect.Struct { + return newStructTableModel(db, dest, db.Table(typ)), nil + } + return nil, fmt.Errorf("ogx: Model(nil %T)", dest) + } +``` +组装成`structTableModel` 结构实体然后返回该`Model`实体 +```sql +func newStructTableModel(db *DB, dest interface{}, table *schema.Table) *structTableModel { + return &structTableModel{ + db: db, + table: table, + dest: dest, + } +} +``` +**Exec** +`*CreateTableQuery`结构体调用`query_table_create.go`中的`Exec()`函数 +将`q.db.fmter`和`q.db.makeQueryBytes()`传入`AppendQuery`中拼装SQL语句 +```sql + b = append(b, "CREATE "...) + if q.temp { + b = append(b, "TEMP "...) + } + b = append(b, "TABLE "...) + if q.ifNotExists && fmter.Dialect().Features().Has(feature.TableNotExists) { + b = append(b, "IF NOT EXISTS "...) + } +``` +通过`q`的各种成员变量确定拼装的`CREATE TABLE SQL`语句语句 +```go +CREATE TABLE "stories" ("id" BIGSERIAL NOT NULL, "title" VARCHAR, "author_id" BIGINT, PRIMARY KEY ("id")) +``` +然后将`q`和组装好的`query`语句传入`query_base.go`中的`exec()`中调用q`.conn.ExecContext(ctx, query)`对`sql`语句进行执行。 +![](./7.png) +#### 2.4.2 SELECT +`SELECT`操作通过下列语句执行 +```go +db.NewSelect().Model(&users).OrderExpr("id ASC").Scan(ctx) +db.NewSelect().Model(user1).Where("id = ?", 1).Scan(ctx) +``` +**SelectQuery结构** +```go +type SelectQuery struct { + whereBaseQuery + idxHintsQuery + + distinctOn []schema.QueryWithArgs + joins []joinQuery + group []schema.QueryWithArgs + having []schema.QueryWithArgs + order []schema.QueryWithArgs + limit int32 + offset int32 + selFor schema.QueryWithArgs + + union []union +} + +``` +**NewSelect()** +传入`query_select.go`中调用`NewSelectQuery`,组装`SelectQuery`结构体实例并将其的地址返回 +```go +func NewSelectQuery(db *DB) *SelectQuery { + return &SelectQuery{ + whereBaseQuery: whereBaseQuery{ + baseQuery: baseQuery{ + db: db, + conn: db.DB, + }, + }, + } +} +``` +**Model** +`Model`与上述`CreateTable`原理相同,即调用`query_base.go`的setModel然后传入model.go中 调用`_newModel`函数对`model`通过反射进行解析。 +限定条件 +此处以`ORDER B`Y为例,将`ORDER B`Y语句作为`query`参数传入`OderExpr`函数中,再将语句设置到`q.order`中 +```go +func (q *SelectQuery) OrderExpr(query string, args ...interface{}) *SelectQuery { + q.order = append(q.order, schema.SafeQuery(query, args)) + return q +} +``` +**Scan** +`Scan`函数中首先`query_base.go`函数中`getModel`函数得到`Model`。然后由`AppendQuery`函数通过刚才对q的成员变量的设置拼装出对应的`SQL`语句,然后将`model`和`query`语句一起传入`query_base.go`的`scan`函数中调用`q.conn.QueryContext(ctx, query)`进行执行。 +```go +func (q *SelectQuery) Scan(ctx context.Context, dest ...interface{}) error { + + model, err := q.getModel(dest) + + queryBytes, err := q.AppendQuery(q.db.fmter, q.db.makeQueryBytes()) + + res, err := q.scan(ctx, q, query, model, true) + + if n, _ := res.RowsAffected(); n > 0 { + if tableModel, ok := model.(TableModel); ok { + if err := q.selectJoins(ctx, tableModel.getJoins()); err != nil { + return err + } + } + } + + if q.table != nil { + if err := q.afterSelectHook(ctx); err != nil { + return err + } + } + + return nil +} +``` +#### 2.4.3 INSERT +`INSERT`操作通过下列语句执行 +```go +db.NewInsert().Model(&users).Exec(ctx) +``` +`InsertQuery`结构 +```go +type InsertQuery struct { + whereBaseQuery + returningQuery + customValueQuery + + on schema.QueryWithArgs + setQuery + + ignore bool + replace bool +} +``` +首先调用`NewInsert()`组建`InsertQuery`实例 +```go +func NewInsertQuery(db *DB) *InsertQuery { + q := &InsertQuery{ + whereBaseQuery: whereBaseQuery{ + baseQuery: baseQuery{ + db: db, + conn: db.DB, + }, + }, + } + return q +} +``` +然后将需要操作的`model`传入`Model()`函数中进行解析,2.4.1中已经解释过。 +最后再调用`Exec()`执行。`Exec`函数中首先根据`model`调用`AppendQuery()`进行`SQL`语句拼装,然后调用`exec()`方法进行执行. +```go +queryBytes, err := q.AppendQuery(q.db.fmter, q.db.makeQueryBytes()) +//... +res, err = q.exec(ctx, q, query) +``` +`Update`和`Delete`实现原理与`Insert`一致。 +### 2.5 占位符 +通过往`ColumnExpr()`函数中传入带有问号的`sql`语句并在`scan`中传入对应的变量去接收`select`的结果。 +```go +db.NewSelect().Model((*User)(nil)). + ColumnExpr("'?TableName'"). + ColumnExpr("'?TableAlias'"). + ColumnExpr("'?PKs'"). + ColumnExpr("'?TablePKs'"). + ColumnExpr("'?Columns'"). + ColumnExpr("'?TableColumns'"). + ModelTableExpr(""). + Scan(ctx, &tableName, &tableAlias, &pks, &tablePKs, &columns, &tableColumns); +``` +`Model`传入`model`后,通过`addColum`n函数传入的参数通过`SafeQuery`函数处理成`QueryWithArgs`结构体,然后都`append`进`baseQuery`结构体实例的`columns` 成员变量中,即`QueryWithArgs Slice`类型。 +```go +columns []schema.QueryWithArgs +``` +调用`scan`函数中通过`AppendQuery`开始组装`select sql`语句,然后`getModel`函数返回了一个`SliceModel`实体,再通过`scan`将对应得结果扫描至该`slice model`的每个对应值中。 +```go +type sliceModel struct { + dest []interface{} + values []reflect.Value + scanIndex int + info []sliceInfo +} +res, err := q.scan(ctx, q, query, model, true) +``` +### 2.6 迁移 +使用`gopkg.in/urfave/cli.v2` 命令行框架,来完成通过命令行输入`Migration`内容的部分。实例化一个`cli`然后在`commands`中创建命令,添加定义的指针 `&cli.Command `变量,然后创建一个`subcommands` `newDBCommand` 。 +```go +Commands: []*cli.Command{ + newDBCommand(migrate.NewMigrator(db, migrations.Migrations)), + }, +``` +在`subcommands`中将命令命名为”db“命令的处理函数。再在`subcommands`中创建名为”`migrate`“的`subcommands`,执行`migrator.Migrate()`。 +```go +func newDBCommand(migrator *migrate.Migrator) *cli.Command { + return &cli.Command{ + Name: "db", + Usage: "database migrations", + Subcommands: []*cli.Command{ + Name: "migrate", + Usage: "migrate database", + Action: func(c *cli.Context) error { + group, err := migrator.Migrate(c.Context) + fmt.Printf("migrated to %s\n", group) + return nil + }, + }, +``` +最后`main`函数调用`app.Run`启动`cli`程序。 +```go +if err := app.Run(os.Args); err != nil { + log.Fatal(err) + } +``` +### 2.7 数据初始化 +首先调用db.RegisterModel()注册Model +```go +func (t *Tables) Register(models ...interface{}) { + for _, model := range models { + _ = t.Get(reflect.TypeOf(model).Elem()) + } +} +``` +然后调用fixture.Load将yaml文件的内容装载进来,然后调用Decod()将yaml文件解析。 +```go +err := fixture.Load(ctx, os.DirFS("testdata"), "fixture.yml") +//... + var fixtures []fixtureData + + dec := yaml.NewDecoder(fh) + if err := dec.Decode(&fixtures); err != nil { + return err + } +``` +fixture.MustRow()检索加载的模型 +```go +func (f *Fixture) Row(id string) (interface{}, error) { + ss := strings.Split(id, ".") + if len(ss) != 2 { + return nil, fmt.Errorf("fixture: invalid row id: %q", id) + } + model, rowID := ss[0], ss[1] + + rows, ok := f.modelRows[model] + if !ok { + return nil, fmt.Errorf("fixture: unknown model=%q", model) + } + + row, ok := rows[rowID] + if !ok { + return nil, fmt.Errorf("fixture: can't find row=%q for model=%q", rowID, model) + } + + return row, nil +} +``` +### 2.8 事务 +Ogx的事务是通过database/sql的sql.Tx接口实现的,用户通过调用db.BeginTx()或者db.RunInTx()函数获得一个ogx.Tx对象,ogx.Tx是database/sql里面sql.Tx的简单封装,并支持了Hooks函数。ogx.Tx实现如下: +```go +type Tx struct { + ctx context.Context + db *DB + // name is the name of a savepoint + name string + *sql.Tx +} +``` +ogx.Tx支持的例如Commit等函数都是通过调用sql.Tx实现的,以QueryContext()函数为例: +```go +func (tx Tx) QueryContext( + ctx context.Context, query string, args ...interface{}, +) (*sql.Rows, error) { + ... + ctx, event := tx.db.beforeQuery(ctx, nil, query, args, formattedQuery, nil) + rows, err := tx.Tx.QueryContext(ctx, formattedQuery) + tx.db.afterQuery(ctx, event, nil, err) + return rows, err +} +``` +函数在调用sql.Tx.QueryContext()函数前后调用了ogx支持的QueryHook。 +### 2.9 钩子 +![](./8.png) +Ogx的Hooks可以分为model hooks,model query hooks和query hooks。Model hooks将Hook绑定在实现特定Model hooks接口的Model上,可以分为ogx.BeforeAppendModelHook和ogx.Before/ScanRowHook两种Hook。ogx.BeforeAppendModelHook主要用于更新一个Model前进行触发。 +#### 2.9.1 Model hooks 实现 +举例来说,当用户为Object实现BeforeAppendModelHook接口时,调用NewXXX().Model(&Object)将Object和Model进行映射,这个过程通过调用table的newTable()方法实现。 +```go +func newTable(dialect Dialect, typ reflect.Type) *Table { + t := new(Table) + t.dialect = dialect + ... + t.Type = typ + t.ZeroIface = reflect.New(t.Type).Interface() + ... + + hooks := []struct { + typ reflect.Type + flag internal.Flag + }{ + {beforeAppendModelHookType, beforeAppendModelHookFlag}, + + {beforeScanHookType, beforeScanHookFlag}, + {afterScanHookType, afterScanHookFlag}, + + {beforeScanRowHookType, beforeScanRowHookFlag}, + {afterScanRowHookType, afterScanRowHookFlag}, + } + + typ = reflect.PtrTo(t.Type) + for _, hook := range hooks { + if typ.Implements(hook.typ) { + t.flags = t.flags.Set(hook.flag) + } + } + + return t +} +``` +使用reflect.Type.Implements()方法反射得到Object是否实现了beforeAppendModelHookType,如果实现,则设置标志位。 +```go +var beforeAppendModelHookType = reflect.TypeOf((*BeforeAppendModelHook)(nil)).Elem() + +func (t *Table) HasBeforeAppendModelHook() bool { return t.flags.Has(beforeAppendModelHookFlag) } +``` +当执行NewXXX().Model(&Object).Exec()时,会调用映射的tableModel的beforeAppendModel方法,通过判断映射的tableModel是否含有该hook的flag,最终决定是否调用用户代码。 +```go +func (m *structTableModel) BeforeAppendModel(ctx context.Context, query Query) error { + if !m.table.HasBeforeAppendModelHook() || !m.strct.IsValid() { + return nil + } + return m.strct.Addr().Interface().(schema.BeforeAppendModelHook).BeforeAppendModel(ctx, query) +} +``` +#### 2.9.2 Model query hooks实现 +当用户设置model query hooks时,执行Exec()函数将执行特定的hook,例如,NewInsert()函数的Exec将会检查用户是否实现beforeInsertHook和afterInsertHook,若实现,则直接调用。 +```go +func (q *InsertQuery) beforeInsertHook(ctx context.Context) error { + if hook, ok := q.table.ZeroIface.(BeforeInsertHook); ok { + if err := hook.BeforeInsert(ctx, q); err != nil { + return err + } + } + return nil +} +``` +#### 2.9.3 Query hooks实现 +Query hooks在全局层面对所有queries进行hook调用,主要用于logging。queryHooks为一个Hooks列表,用户调用db.AddQueryHook即添加一个实现了AfterQuery和AfterQuery接口的QueryHook。当执行scan或者exec操作时,调用beforeQuery和afterQuery。beforeQuery和afterQuery内部通过for循环显式调用hook的beforeQuery和afterQuery函数。 +```go +func (db *DB) beforeQuery(...) (context.Context, *QueryEvent) { + ... + for _, hook := range db.queryHooks { + ctx = hook.BeforeQuery(ctx, event) + } + + return ctx, event +} +``` + diff --git a/ogx/example/README.md b/ogx/example/README.md new file mode 100644 index 00000000..1df70c54 --- /dev/null +++ b/ogx/example/README.md @@ -0,0 +1,5 @@ +# To run these examples: +需要修改**connStr**,为自己的**host**,**port**,**user**,**password** +```shell +connStr := "host=192.168.20.40 port=26000 user=cuih password=Gauss@123 dbname=test sslmode=disable" +``` \ No newline at end of file diff --git a/ogx/example/basic/go.mod b/ogx/example/basic/go.mod index e7c25c05..6efd03c0 100644 --- a/ogx/example/basic/go.mod +++ b/ogx/example/basic/go.mod @@ -12,8 +12,8 @@ replace gitee.com/chentanyang/ogx/dialect/ogdialect => ../../dialect/ogdialect require ( gitee.com/chentanyang/ogx v1.1.7 - gitee.com/chentanyang/ogx/dialect/ogdialect v0.0.0-20220915042425-85b0183464bc - gitee.com/chentanyang/ogx/extra/ogxdebug v0.0.0-20220915042425-85b0183464bc + gitee.com/chentanyang/ogx/dialect/ogdialect v0.0.0-20220915060802-59ab6779ee15 + gitee.com/chentanyang/ogx/extra/ogxdebug v0.0.0-20220915060802-59ab6779ee15 gitee.com/opengauss/openGauss-connector-go-pq v1.0.4 ) @@ -26,8 +26,8 @@ require ( github.com/tmthrgd/go-hex v0.0.0-20190904060850-447a3041c3bc // indirect github.com/vmihailenco/msgpack/v5 v5.3.5 // indirect github.com/vmihailenco/tagparser/v2 v2.0.0 // indirect - golang.org/x/crypto v0.0.0-20220829220503-c86fa9a7ed90 // indirect - golang.org/x/sys v0.0.0-20220913175220-63ea55921009 // indirect + golang.org/x/crypto v0.0.0-20220926161630-eccd6366d1be // indirect + golang.org/x/sys v0.0.0-20220928140112-f11e5e49a4ec // indirect golang.org/x/text v0.3.7 // indirect golang.org/x/xerrors v0.0.0-20220907171357-04be3eba64a2 // indirect gopkg.in/yaml.v3 v3.0.0-20210107192922-496545a6307b // indirect diff --git a/ogx/example/basic/go.sum b/ogx/example/basic/go.sum index 3a67d2ca..052fb696 100644 --- a/ogx/example/basic/go.sum +++ b/ogx/example/basic/go.sum @@ -59,8 +59,8 @@ golang.org/x/crypto v0.0.0-20190308221718-c2843e01d9a2/go.mod h1:djNgcEr1/C05ACk golang.org/x/crypto v0.0.0-20200622213623-75b288015ac9/go.mod h1:LzIPMQfyMNhhGPhUkYOs5KpL4U8rLKemX1yGLhDgUto= golang.org/x/crypto v0.0.0-20201012173705-84dcc777aaee/go.mod h1:LzIPMQfyMNhhGPhUkYOs5KpL4U8rLKemX1yGLhDgUto= golang.org/x/crypto v0.0.0-20210711020723-a769d52b0f97/go.mod h1:GvvjBRRGRdwPK5ydBHafDWAxML/pGHZbMvKqRZ5+Abc= -golang.org/x/crypto v0.0.0-20220829220503-c86fa9a7ed90 h1:Y/gsMcFOcR+6S6f3YeMKl5g+dZMEWqcz5Czj/GWYbkM= -golang.org/x/crypto v0.0.0-20220829220503-c86fa9a7ed90/go.mod h1:IxCIyHEi3zRg3s0A5j5BB6A9Jmi73HwBIUl50j+osU4= +golang.org/x/crypto v0.0.0-20220926161630-eccd6366d1be h1:fmw3UbQh+nxngCAHrDCCztao/kbYFnWjoqop8dHx05A= +golang.org/x/crypto v0.0.0-20220926161630-eccd6366d1be/go.mod h1:IxCIyHEi3zRg3s0A5j5BB6A9Jmi73HwBIUl50j+osU4= golang.org/x/exp v0.0.0-20190121172915-509febef88a4/go.mod h1:CJ0aWSM057203Lf6IL+f9T1iT9GByDxfZKAQTCR3kQA= golang.org/x/lint v0.0.0-20181026193005-c67002cb31c3/go.mod h1:UVdnD1Gm6xHRNCYTkRU2/jEulfH38KcIWyp/GAMgvoE= golang.org/x/lint v0.0.0-20190227174305-5b3e6a55c961/go.mod h1:wehouNa3lNwaWXcvxsM5YxQ5yQlVC4a0KAMCusXpPoU= @@ -86,8 +86,8 @@ golang.org/x/sys v0.0.0-20201119102817-f84b799fce68/go.mod h1:h1NjWce9XRLGQEsW7w golang.org/x/sys v0.0.0-20210615035016-665e8c7367d1/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.0.0-20210630005230-0f9fa26af87c/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.0.0-20220811171246-fbc7d0a398ab/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= -golang.org/x/sys v0.0.0-20220913175220-63ea55921009 h1:PuvuRMeLWqsf/ZdT1UUZz0syhioyv1mzuFZsXs4fvhw= -golang.org/x/sys v0.0.0-20220913175220-63ea55921009/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= +golang.org/x/sys v0.0.0-20220928140112-f11e5e49a4ec h1:BkDtF2Ih9xZ7le9ndzTA7KJow28VbQW3odyk/8drmuI= +golang.org/x/sys v0.0.0-20220928140112-f11e5e49a4ec/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/term v0.0.0-20201126162022-7de9c90e9dd1/go.mod h1:bj7SfCRtBDWHUb9snDiAeCFNEtKQo2Wmx5Cou7ajbmo= golang.org/x/text v0.3.0/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ= golang.org/x/text v0.3.3/go.mod h1:5Zoc/QRtKVWzQhOtBMvqHzDpF6irO9z98xDceosuGiQ= diff --git a/ogx/example/create-table-index/go.mod b/ogx/example/create-table-index/go.mod index 83eb63a3..6f8cc44d 100644 --- a/ogx/example/create-table-index/go.mod +++ b/ogx/example/create-table-index/go.mod @@ -24,8 +24,8 @@ require ( github.com/tmthrgd/go-hex v0.0.0-20190904060850-447a3041c3bc // indirect github.com/vmihailenco/msgpack/v5 v5.3.5 // indirect github.com/vmihailenco/tagparser/v2 v2.0.0 // indirect - golang.org/x/crypto v0.0.0-20220829220503-c86fa9a7ed90 // indirect - golang.org/x/sys v0.0.0-20220913175220-63ea55921009 // indirect + golang.org/x/crypto v0.0.0-20220926161630-eccd6366d1be // indirect + golang.org/x/sys v0.0.0-20220928140112-f11e5e49a4ec // indirect golang.org/x/text v0.3.7 // indirect golang.org/x/xerrors v0.0.0-20220907171357-04be3eba64a2 // indirect gopkg.in/yaml.v3 v3.0.0-20210107192922-496545a6307b // indirect diff --git a/ogx/example/create-table-index/go.sum b/ogx/example/create-table-index/go.sum index 3a67d2ca..052fb696 100644 --- a/ogx/example/create-table-index/go.sum +++ b/ogx/example/create-table-index/go.sum @@ -59,8 +59,8 @@ golang.org/x/crypto v0.0.0-20190308221718-c2843e01d9a2/go.mod h1:djNgcEr1/C05ACk golang.org/x/crypto v0.0.0-20200622213623-75b288015ac9/go.mod h1:LzIPMQfyMNhhGPhUkYOs5KpL4U8rLKemX1yGLhDgUto= golang.org/x/crypto v0.0.0-20201012173705-84dcc777aaee/go.mod h1:LzIPMQfyMNhhGPhUkYOs5KpL4U8rLKemX1yGLhDgUto= golang.org/x/crypto v0.0.0-20210711020723-a769d52b0f97/go.mod h1:GvvjBRRGRdwPK5ydBHafDWAxML/pGHZbMvKqRZ5+Abc= -golang.org/x/crypto v0.0.0-20220829220503-c86fa9a7ed90 h1:Y/gsMcFOcR+6S6f3YeMKl5g+dZMEWqcz5Czj/GWYbkM= -golang.org/x/crypto v0.0.0-20220829220503-c86fa9a7ed90/go.mod h1:IxCIyHEi3zRg3s0A5j5BB6A9Jmi73HwBIUl50j+osU4= +golang.org/x/crypto v0.0.0-20220926161630-eccd6366d1be h1:fmw3UbQh+nxngCAHrDCCztao/kbYFnWjoqop8dHx05A= +golang.org/x/crypto v0.0.0-20220926161630-eccd6366d1be/go.mod h1:IxCIyHEi3zRg3s0A5j5BB6A9Jmi73HwBIUl50j+osU4= golang.org/x/exp v0.0.0-20190121172915-509febef88a4/go.mod h1:CJ0aWSM057203Lf6IL+f9T1iT9GByDxfZKAQTCR3kQA= golang.org/x/lint v0.0.0-20181026193005-c67002cb31c3/go.mod h1:UVdnD1Gm6xHRNCYTkRU2/jEulfH38KcIWyp/GAMgvoE= golang.org/x/lint v0.0.0-20190227174305-5b3e6a55c961/go.mod h1:wehouNa3lNwaWXcvxsM5YxQ5yQlVC4a0KAMCusXpPoU= @@ -86,8 +86,8 @@ golang.org/x/sys v0.0.0-20201119102817-f84b799fce68/go.mod h1:h1NjWce9XRLGQEsW7w golang.org/x/sys v0.0.0-20210615035016-665e8c7367d1/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.0.0-20210630005230-0f9fa26af87c/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.0.0-20220811171246-fbc7d0a398ab/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= -golang.org/x/sys v0.0.0-20220913175220-63ea55921009 h1:PuvuRMeLWqsf/ZdT1UUZz0syhioyv1mzuFZsXs4fvhw= -golang.org/x/sys v0.0.0-20220913175220-63ea55921009/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= +golang.org/x/sys v0.0.0-20220928140112-f11e5e49a4ec h1:BkDtF2Ih9xZ7le9ndzTA7KJow28VbQW3odyk/8drmuI= +golang.org/x/sys v0.0.0-20220928140112-f11e5e49a4ec/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/term v0.0.0-20201126162022-7de9c90e9dd1/go.mod h1:bj7SfCRtBDWHUb9snDiAeCFNEtKQo2Wmx5Cou7ajbmo= golang.org/x/text v0.3.0/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ= golang.org/x/text v0.3.3/go.mod h1:5Zoc/QRtKVWzQhOtBMvqHzDpF6irO9z98xDceosuGiQ= diff --git a/ogx/example/cursor-pagination/go.mod b/ogx/example/cursor-pagination/go.mod index 8c530941..fd271d92 100644 --- a/ogx/example/cursor-pagination/go.mod +++ b/ogx/example/cursor-pagination/go.mod @@ -12,8 +12,8 @@ replace gitee.com/chentanyang/ogx/dialect/ogdialect => ../../dialect/ogdialect require ( gitee.com/chentanyang/ogx v1.1.7 - gitee.com/chentanyang/ogx/dialect/ogdialect v0.0.0-20220915042425-85b0183464bc - gitee.com/chentanyang/ogx/extra/ogxdebug v0.0.0-20220915042425-85b0183464bc + gitee.com/chentanyang/ogx/dialect/ogdialect v0.0.0-20220915060802-59ab6779ee15 + gitee.com/chentanyang/ogx/extra/ogxdebug v0.0.0-20220915060802-59ab6779ee15 gitee.com/opengauss/openGauss-connector-go-pq v1.0.4 ) @@ -26,8 +26,8 @@ require ( github.com/tmthrgd/go-hex v0.0.0-20190904060850-447a3041c3bc // indirect github.com/vmihailenco/msgpack/v5 v5.3.5 // indirect github.com/vmihailenco/tagparser/v2 v2.0.0 // indirect - golang.org/x/crypto v0.0.0-20220829220503-c86fa9a7ed90 // indirect - golang.org/x/sys v0.0.0-20220913175220-63ea55921009 // indirect + golang.org/x/crypto v0.0.0-20220926161630-eccd6366d1be // indirect + golang.org/x/sys v0.0.0-20220928140112-f11e5e49a4ec // indirect golang.org/x/text v0.3.7 // indirect golang.org/x/xerrors v0.0.0-20220907171357-04be3eba64a2 // indirect gopkg.in/yaml.v3 v3.0.0-20210107192922-496545a6307b // indirect diff --git a/ogx/example/cursor-pagination/go.sum b/ogx/example/cursor-pagination/go.sum index 3a67d2ca..052fb696 100644 --- a/ogx/example/cursor-pagination/go.sum +++ b/ogx/example/cursor-pagination/go.sum @@ -59,8 +59,8 @@ golang.org/x/crypto v0.0.0-20190308221718-c2843e01d9a2/go.mod h1:djNgcEr1/C05ACk golang.org/x/crypto v0.0.0-20200622213623-75b288015ac9/go.mod h1:LzIPMQfyMNhhGPhUkYOs5KpL4U8rLKemX1yGLhDgUto= golang.org/x/crypto v0.0.0-20201012173705-84dcc777aaee/go.mod h1:LzIPMQfyMNhhGPhUkYOs5KpL4U8rLKemX1yGLhDgUto= golang.org/x/crypto v0.0.0-20210711020723-a769d52b0f97/go.mod h1:GvvjBRRGRdwPK5ydBHafDWAxML/pGHZbMvKqRZ5+Abc= -golang.org/x/crypto v0.0.0-20220829220503-c86fa9a7ed90 h1:Y/gsMcFOcR+6S6f3YeMKl5g+dZMEWqcz5Czj/GWYbkM= -golang.org/x/crypto v0.0.0-20220829220503-c86fa9a7ed90/go.mod h1:IxCIyHEi3zRg3s0A5j5BB6A9Jmi73HwBIUl50j+osU4= +golang.org/x/crypto v0.0.0-20220926161630-eccd6366d1be h1:fmw3UbQh+nxngCAHrDCCztao/kbYFnWjoqop8dHx05A= +golang.org/x/crypto v0.0.0-20220926161630-eccd6366d1be/go.mod h1:IxCIyHEi3zRg3s0A5j5BB6A9Jmi73HwBIUl50j+osU4= golang.org/x/exp v0.0.0-20190121172915-509febef88a4/go.mod h1:CJ0aWSM057203Lf6IL+f9T1iT9GByDxfZKAQTCR3kQA= golang.org/x/lint v0.0.0-20181026193005-c67002cb31c3/go.mod h1:UVdnD1Gm6xHRNCYTkRU2/jEulfH38KcIWyp/GAMgvoE= golang.org/x/lint v0.0.0-20190227174305-5b3e6a55c961/go.mod h1:wehouNa3lNwaWXcvxsM5YxQ5yQlVC4a0KAMCusXpPoU= @@ -86,8 +86,8 @@ golang.org/x/sys v0.0.0-20201119102817-f84b799fce68/go.mod h1:h1NjWce9XRLGQEsW7w golang.org/x/sys v0.0.0-20210615035016-665e8c7367d1/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.0.0-20210630005230-0f9fa26af87c/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.0.0-20220811171246-fbc7d0a398ab/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= -golang.org/x/sys v0.0.0-20220913175220-63ea55921009 h1:PuvuRMeLWqsf/ZdT1UUZz0syhioyv1mzuFZsXs4fvhw= -golang.org/x/sys v0.0.0-20220913175220-63ea55921009/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= +golang.org/x/sys v0.0.0-20220928140112-f11e5e49a4ec h1:BkDtF2Ih9xZ7le9ndzTA7KJow28VbQW3odyk/8drmuI= +golang.org/x/sys v0.0.0-20220928140112-f11e5e49a4ec/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/term v0.0.0-20201126162022-7de9c90e9dd1/go.mod h1:bj7SfCRtBDWHUb9snDiAeCFNEtKQo2Wmx5Cou7ajbmo= golang.org/x/text v0.3.0/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ= golang.org/x/text v0.3.3/go.mod h1:5Zoc/QRtKVWzQhOtBMvqHzDpF6irO9z98xDceosuGiQ= diff --git a/ogx/example/custom-type/go.mod b/ogx/example/custom-type/go.mod index fb46d59e..b09198b7 100644 --- a/ogx/example/custom-type/go.mod +++ b/ogx/example/custom-type/go.mod @@ -12,8 +12,8 @@ replace gitee.com/chentanyang/ogx/dialect/ogdialect => ../../dialect/ogdialect require ( gitee.com/chentanyang/ogx v1.1.7 - gitee.com/chentanyang/ogx/dialect/ogdialect v0.0.0-20220915042425-85b0183464bc - gitee.com/chentanyang/ogx/extra/ogxdebug v0.0.0-20220915042425-85b0183464bc + gitee.com/chentanyang/ogx/dialect/ogdialect v0.0.0-20220915060802-59ab6779ee15 + gitee.com/chentanyang/ogx/extra/ogxdebug v0.0.0-20220915060802-59ab6779ee15 gitee.com/opengauss/openGauss-connector-go-pq v1.0.4 ) @@ -26,8 +26,8 @@ require ( github.com/tmthrgd/go-hex v0.0.0-20190904060850-447a3041c3bc // indirect github.com/vmihailenco/msgpack/v5 v5.3.5 // indirect github.com/vmihailenco/tagparser/v2 v2.0.0 // indirect - golang.org/x/crypto v0.0.0-20220829220503-c86fa9a7ed90 // indirect - golang.org/x/sys v0.0.0-20220913175220-63ea55921009 // indirect + golang.org/x/crypto v0.0.0-20220926161630-eccd6366d1be // indirect + golang.org/x/sys v0.0.0-20220928140112-f11e5e49a4ec // indirect golang.org/x/text v0.3.7 // indirect golang.org/x/xerrors v0.0.0-20220907171357-04be3eba64a2 // indirect gopkg.in/yaml.v3 v3.0.0-20210107192922-496545a6307b // indirect diff --git a/ogx/example/custom-type/go.sum b/ogx/example/custom-type/go.sum index 3a67d2ca..052fb696 100644 --- a/ogx/example/custom-type/go.sum +++ b/ogx/example/custom-type/go.sum @@ -59,8 +59,8 @@ golang.org/x/crypto v0.0.0-20190308221718-c2843e01d9a2/go.mod h1:djNgcEr1/C05ACk golang.org/x/crypto v0.0.0-20200622213623-75b288015ac9/go.mod h1:LzIPMQfyMNhhGPhUkYOs5KpL4U8rLKemX1yGLhDgUto= golang.org/x/crypto v0.0.0-20201012173705-84dcc777aaee/go.mod h1:LzIPMQfyMNhhGPhUkYOs5KpL4U8rLKemX1yGLhDgUto= golang.org/x/crypto v0.0.0-20210711020723-a769d52b0f97/go.mod h1:GvvjBRRGRdwPK5ydBHafDWAxML/pGHZbMvKqRZ5+Abc= -golang.org/x/crypto v0.0.0-20220829220503-c86fa9a7ed90 h1:Y/gsMcFOcR+6S6f3YeMKl5g+dZMEWqcz5Czj/GWYbkM= -golang.org/x/crypto v0.0.0-20220829220503-c86fa9a7ed90/go.mod h1:IxCIyHEi3zRg3s0A5j5BB6A9Jmi73HwBIUl50j+osU4= +golang.org/x/crypto v0.0.0-20220926161630-eccd6366d1be h1:fmw3UbQh+nxngCAHrDCCztao/kbYFnWjoqop8dHx05A= +golang.org/x/crypto v0.0.0-20220926161630-eccd6366d1be/go.mod h1:IxCIyHEi3zRg3s0A5j5BB6A9Jmi73HwBIUl50j+osU4= golang.org/x/exp v0.0.0-20190121172915-509febef88a4/go.mod h1:CJ0aWSM057203Lf6IL+f9T1iT9GByDxfZKAQTCR3kQA= golang.org/x/lint v0.0.0-20181026193005-c67002cb31c3/go.mod h1:UVdnD1Gm6xHRNCYTkRU2/jEulfH38KcIWyp/GAMgvoE= golang.org/x/lint v0.0.0-20190227174305-5b3e6a55c961/go.mod h1:wehouNa3lNwaWXcvxsM5YxQ5yQlVC4a0KAMCusXpPoU= @@ -86,8 +86,8 @@ golang.org/x/sys v0.0.0-20201119102817-f84b799fce68/go.mod h1:h1NjWce9XRLGQEsW7w golang.org/x/sys v0.0.0-20210615035016-665e8c7367d1/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.0.0-20210630005230-0f9fa26af87c/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.0.0-20220811171246-fbc7d0a398ab/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= -golang.org/x/sys v0.0.0-20220913175220-63ea55921009 h1:PuvuRMeLWqsf/ZdT1UUZz0syhioyv1mzuFZsXs4fvhw= -golang.org/x/sys v0.0.0-20220913175220-63ea55921009/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= +golang.org/x/sys v0.0.0-20220928140112-f11e5e49a4ec h1:BkDtF2Ih9xZ7le9ndzTA7KJow28VbQW3odyk/8drmuI= +golang.org/x/sys v0.0.0-20220928140112-f11e5e49a4ec/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/term v0.0.0-20201126162022-7de9c90e9dd1/go.mod h1:bj7SfCRtBDWHUb9snDiAeCFNEtKQo2Wmx5Cou7ajbmo= golang.org/x/text v0.3.0/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ= golang.org/x/text v0.3.3/go.mod h1:5Zoc/QRtKVWzQhOtBMvqHzDpF6irO9z98xDceosuGiQ= diff --git a/ogx/example/fixture/go.mod b/ogx/example/fixture/go.mod index 1da0b310..5f92f69a 100644 --- a/ogx/example/fixture/go.mod +++ b/ogx/example/fixture/go.mod @@ -12,9 +12,9 @@ replace gitee.com/chentanyang/ogx/dialect/ogdialect => ../../dialect/ogdialect require ( gitee.com/chentanyang/ogx v1.1.7 - gitee.com/chentanyang/ogx/dbfixture v0.0.0-20220915042425-85b0183464bc - gitee.com/chentanyang/ogx/dialect/ogdialect v0.0.0-20220915042425-85b0183464bc - gitee.com/chentanyang/ogx/extra/ogxdebug v0.0.0-20220915042425-85b0183464bc + gitee.com/chentanyang/ogx/dbfixture v0.0.0-20220915060802-59ab6779ee15 + gitee.com/chentanyang/ogx/dialect/ogdialect v0.0.0-20220915060802-59ab6779ee15 + gitee.com/chentanyang/ogx/extra/ogxdebug v0.0.0-20220915060802-59ab6779ee15 gitee.com/opengauss/openGauss-connector-go-pq v1.0.4 ) @@ -27,8 +27,8 @@ require ( github.com/tmthrgd/go-hex v0.0.0-20190904060850-447a3041c3bc // indirect github.com/vmihailenco/msgpack/v5 v5.3.5 // indirect github.com/vmihailenco/tagparser/v2 v2.0.0 // indirect - golang.org/x/crypto v0.0.0-20220829220503-c86fa9a7ed90 // indirect - golang.org/x/sys v0.0.0-20220913175220-63ea55921009 // indirect + golang.org/x/crypto v0.0.0-20220926161630-eccd6366d1be // indirect + golang.org/x/sys v0.0.0-20220928140112-f11e5e49a4ec // indirect golang.org/x/text v0.3.7 // indirect golang.org/x/xerrors v0.0.0-20220907171357-04be3eba64a2 // indirect gopkg.in/yaml.v3 v3.0.1 // indirect diff --git a/ogx/example/fixture/go.sum b/ogx/example/fixture/go.sum index 0e87af25..a0829ec0 100644 --- a/ogx/example/fixture/go.sum +++ b/ogx/example/fixture/go.sum @@ -61,8 +61,8 @@ golang.org/x/crypto v0.0.0-20190308221718-c2843e01d9a2/go.mod h1:djNgcEr1/C05ACk golang.org/x/crypto v0.0.0-20200622213623-75b288015ac9/go.mod h1:LzIPMQfyMNhhGPhUkYOs5KpL4U8rLKemX1yGLhDgUto= golang.org/x/crypto v0.0.0-20201012173705-84dcc777aaee/go.mod h1:LzIPMQfyMNhhGPhUkYOs5KpL4U8rLKemX1yGLhDgUto= golang.org/x/crypto v0.0.0-20210711020723-a769d52b0f97/go.mod h1:GvvjBRRGRdwPK5ydBHafDWAxML/pGHZbMvKqRZ5+Abc= -golang.org/x/crypto v0.0.0-20220829220503-c86fa9a7ed90 h1:Y/gsMcFOcR+6S6f3YeMKl5g+dZMEWqcz5Czj/GWYbkM= -golang.org/x/crypto v0.0.0-20220829220503-c86fa9a7ed90/go.mod h1:IxCIyHEi3zRg3s0A5j5BB6A9Jmi73HwBIUl50j+osU4= +golang.org/x/crypto v0.0.0-20220926161630-eccd6366d1be h1:fmw3UbQh+nxngCAHrDCCztao/kbYFnWjoqop8dHx05A= +golang.org/x/crypto v0.0.0-20220926161630-eccd6366d1be/go.mod h1:IxCIyHEi3zRg3s0A5j5BB6A9Jmi73HwBIUl50j+osU4= golang.org/x/exp v0.0.0-20190121172915-509febef88a4/go.mod h1:CJ0aWSM057203Lf6IL+f9T1iT9GByDxfZKAQTCR3kQA= golang.org/x/lint v0.0.0-20181026193005-c67002cb31c3/go.mod h1:UVdnD1Gm6xHRNCYTkRU2/jEulfH38KcIWyp/GAMgvoE= golang.org/x/lint v0.0.0-20190227174305-5b3e6a55c961/go.mod h1:wehouNa3lNwaWXcvxsM5YxQ5yQlVC4a0KAMCusXpPoU= @@ -88,8 +88,8 @@ golang.org/x/sys v0.0.0-20201119102817-f84b799fce68/go.mod h1:h1NjWce9XRLGQEsW7w golang.org/x/sys v0.0.0-20210615035016-665e8c7367d1/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.0.0-20210630005230-0f9fa26af87c/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.0.0-20220811171246-fbc7d0a398ab/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= -golang.org/x/sys v0.0.0-20220913175220-63ea55921009 h1:PuvuRMeLWqsf/ZdT1UUZz0syhioyv1mzuFZsXs4fvhw= -golang.org/x/sys v0.0.0-20220913175220-63ea55921009/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= +golang.org/x/sys v0.0.0-20220928140112-f11e5e49a4ec h1:BkDtF2Ih9xZ7le9ndzTA7KJow28VbQW3odyk/8drmuI= +golang.org/x/sys v0.0.0-20220928140112-f11e5e49a4ec/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/term v0.0.0-20201126162022-7de9c90e9dd1/go.mod h1:bj7SfCRtBDWHUb9snDiAeCFNEtKQo2Wmx5Cou7ajbmo= golang.org/x/text v0.3.0/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ= golang.org/x/text v0.3.3/go.mod h1:5Zoc/QRtKVWzQhOtBMvqHzDpF6irO9z98xDceosuGiQ= diff --git a/ogx/example/get-where-fields/go.mod b/ogx/example/get-where-fields/go.mod index 7b9a73fa..7a80e7aa 100644 --- a/ogx/example/get-where-fields/go.mod +++ b/ogx/example/get-where-fields/go.mod @@ -12,7 +12,7 @@ replace gitee.com/chentanyang/ogx/dialect/ogdialect => ../../dialect/ogdialect require ( gitee.com/chentanyang/ogx v1.1.7 - gitee.com/chentanyang/ogx/dialect/ogdialect v0.0.0-20220915042425-85b0183464bc + gitee.com/chentanyang/ogx/dialect/ogdialect v0.0.0-20220915060802-59ab6779ee15 gitee.com/opengauss/openGauss-connector-go-pq v1.0.4 ) @@ -22,8 +22,8 @@ require ( github.com/tmthrgd/go-hex v0.0.0-20190904060850-447a3041c3bc // indirect github.com/vmihailenco/msgpack/v5 v5.3.5 // indirect github.com/vmihailenco/tagparser/v2 v2.0.0 // indirect - golang.org/x/crypto v0.0.0-20220829220503-c86fa9a7ed90 // indirect - golang.org/x/sys v0.0.0-20220913175220-63ea55921009 // indirect + golang.org/x/crypto v0.0.0-20220926161630-eccd6366d1be // indirect + golang.org/x/sys v0.0.0-20220928140112-f11e5e49a4ec // indirect golang.org/x/text v0.3.7 // indirect golang.org/x/xerrors v0.0.0-20220907171357-04be3eba64a2 // indirect gopkg.in/yaml.v3 v3.0.0-20210107192922-496545a6307b // indirect diff --git a/ogx/example/get-where-fields/go.sum b/ogx/example/get-where-fields/go.sum index 1f3024f6..ebfe4a52 100644 --- a/ogx/example/get-where-fields/go.sum +++ b/ogx/example/get-where-fields/go.sum @@ -50,8 +50,8 @@ golang.org/x/crypto v0.0.0-20190308221718-c2843e01d9a2/go.mod h1:djNgcEr1/C05ACk golang.org/x/crypto v0.0.0-20200622213623-75b288015ac9/go.mod h1:LzIPMQfyMNhhGPhUkYOs5KpL4U8rLKemX1yGLhDgUto= golang.org/x/crypto v0.0.0-20201012173705-84dcc777aaee/go.mod h1:LzIPMQfyMNhhGPhUkYOs5KpL4U8rLKemX1yGLhDgUto= golang.org/x/crypto v0.0.0-20210711020723-a769d52b0f97/go.mod h1:GvvjBRRGRdwPK5ydBHafDWAxML/pGHZbMvKqRZ5+Abc= -golang.org/x/crypto v0.0.0-20220829220503-c86fa9a7ed90 h1:Y/gsMcFOcR+6S6f3YeMKl5g+dZMEWqcz5Czj/GWYbkM= -golang.org/x/crypto v0.0.0-20220829220503-c86fa9a7ed90/go.mod h1:IxCIyHEi3zRg3s0A5j5BB6A9Jmi73HwBIUl50j+osU4= +golang.org/x/crypto v0.0.0-20220926161630-eccd6366d1be h1:fmw3UbQh+nxngCAHrDCCztao/kbYFnWjoqop8dHx05A= +golang.org/x/crypto v0.0.0-20220926161630-eccd6366d1be/go.mod h1:IxCIyHEi3zRg3s0A5j5BB6A9Jmi73HwBIUl50j+osU4= golang.org/x/exp v0.0.0-20190121172915-509febef88a4/go.mod h1:CJ0aWSM057203Lf6IL+f9T1iT9GByDxfZKAQTCR3kQA= golang.org/x/lint v0.0.0-20181026193005-c67002cb31c3/go.mod h1:UVdnD1Gm6xHRNCYTkRU2/jEulfH38KcIWyp/GAMgvoE= golang.org/x/lint v0.0.0-20190227174305-5b3e6a55c961/go.mod h1:wehouNa3lNwaWXcvxsM5YxQ5yQlVC4a0KAMCusXpPoU= @@ -73,8 +73,8 @@ golang.org/x/sys v0.0.0-20190412213103-97732733099d/go.mod h1:h1NjWce9XRLGQEsW7w golang.org/x/sys v0.0.0-20200930185726-fdedc70b468f/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20201119102817-f84b799fce68/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20210615035016-665e8c7367d1/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= -golang.org/x/sys v0.0.0-20220913175220-63ea55921009 h1:PuvuRMeLWqsf/ZdT1UUZz0syhioyv1mzuFZsXs4fvhw= -golang.org/x/sys v0.0.0-20220913175220-63ea55921009/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= +golang.org/x/sys v0.0.0-20220928140112-f11e5e49a4ec h1:BkDtF2Ih9xZ7le9ndzTA7KJow28VbQW3odyk/8drmuI= +golang.org/x/sys v0.0.0-20220928140112-f11e5e49a4ec/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/term v0.0.0-20201126162022-7de9c90e9dd1/go.mod h1:bj7SfCRtBDWHUb9snDiAeCFNEtKQo2Wmx5Cou7ajbmo= golang.org/x/text v0.3.0/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ= golang.org/x/text v0.3.3/go.mod h1:5Zoc/QRtKVWzQhOtBMvqHzDpF6irO9z98xDceosuGiQ= diff --git a/ogx/example/migrate/go.mod b/ogx/example/migrate/go.mod index b92cd183..4f5fdfe0 100644 --- a/ogx/example/migrate/go.mod +++ b/ogx/example/migrate/go.mod @@ -12,10 +12,10 @@ replace gitee.com/chentanyang/ogx/dialect/ogdialect => ../../dialect/ogdialect require ( gitee.com/chentanyang/ogx v1.1.7 - gitee.com/chentanyang/ogx/dialect/ogdialect v0.0.0-20220915042425-85b0183464bc - gitee.com/chentanyang/ogx/extra/ogxdebug v0.0.0-20220915042425-85b0183464bc + gitee.com/chentanyang/ogx/dialect/ogdialect v0.0.0-20220915060802-59ab6779ee15 + gitee.com/chentanyang/ogx/extra/ogxdebug v0.0.0-20220915060802-59ab6779ee15 gitee.com/opengauss/openGauss-connector-go-pq v1.0.4 - github.com/urfave/cli/v2 v2.16.3 + github.com/urfave/cli/v2 v2.17.1 ) require ( @@ -30,8 +30,8 @@ require ( github.com/vmihailenco/msgpack/v5 v5.3.5 // indirect github.com/vmihailenco/tagparser/v2 v2.0.0 // indirect github.com/xrash/smetrics v0.0.0-20201216005158-039620a65673 // indirect - golang.org/x/crypto v0.0.0-20220829220503-c86fa9a7ed90 // indirect - golang.org/x/sys v0.0.0-20220913175220-63ea55921009 // indirect + golang.org/x/crypto v0.0.0-20220926161630-eccd6366d1be // indirect + golang.org/x/sys v0.0.0-20220928140112-f11e5e49a4ec // indirect golang.org/x/text v0.3.7 // indirect golang.org/x/xerrors v0.0.0-20220907171357-04be3eba64a2 // indirect ) diff --git a/ogx/example/migrate/go.sum b/ogx/example/migrate/go.sum index b0848b69..26c1944c 100644 --- a/ogx/example/migrate/go.sum +++ b/ogx/example/migrate/go.sum @@ -55,8 +55,8 @@ github.com/tjfoc/gmsm v1.4.1 h1:aMe1GlZb+0bLjn+cKTPEvvn9oUEBlJitaZiiBwsbgho= github.com/tjfoc/gmsm v1.4.1/go.mod h1:j4INPkHWMrhJb38G+J6W4Tw0AbuN8Thu3PbdVYhVcTE= github.com/tmthrgd/go-hex v0.0.0-20190904060850-447a3041c3bc h1:9lRDQMhESg+zvGYmW5DyG0UqvY96Bu5QYsTLvCHdrgo= github.com/tmthrgd/go-hex v0.0.0-20190904060850-447a3041c3bc/go.mod h1:bciPuU6GHm1iF1pBvUfxfsH0Wmnc2VbpgvbI9ZWuIRs= -github.com/urfave/cli/v2 v2.16.3 h1:gHoFIwpPjoyIMbJp/VFd+/vuD0dAgFK4B6DpEMFJfQk= -github.com/urfave/cli/v2 v2.16.3/go.mod h1:1CNUng3PtjQMtRzJO4FMXBQvkGtuYRxxiR9xMa7jMwI= +github.com/urfave/cli/v2 v2.17.1 h1:UzjDEw2dJQUE3iRaiNQ1VrVFbyAtKGH3VdkMoHA58V0= +github.com/urfave/cli/v2 v2.17.1/go.mod h1:1CNUng3PtjQMtRzJO4FMXBQvkGtuYRxxiR9xMa7jMwI= github.com/vmihailenco/msgpack/v5 v5.3.5 h1:5gO0H1iULLWGhs2H5tbAHIZTV8/cYafcFOr9znI5mJU= github.com/vmihailenco/msgpack/v5 v5.3.5/go.mod h1:7xyJ9e+0+9SaZT0Wt1RGleJXzli6Q/V5KbhBonMG9jc= github.com/vmihailenco/tagparser/v2 v2.0.0 h1:y09buUbR+b5aycVFQs/g70pqKVZNBmxwAhO7/IwNM9g= @@ -67,8 +67,8 @@ golang.org/x/crypto v0.0.0-20190308221718-c2843e01d9a2/go.mod h1:djNgcEr1/C05ACk golang.org/x/crypto v0.0.0-20200622213623-75b288015ac9/go.mod h1:LzIPMQfyMNhhGPhUkYOs5KpL4U8rLKemX1yGLhDgUto= golang.org/x/crypto v0.0.0-20201012173705-84dcc777aaee/go.mod h1:LzIPMQfyMNhhGPhUkYOs5KpL4U8rLKemX1yGLhDgUto= golang.org/x/crypto v0.0.0-20210711020723-a769d52b0f97/go.mod h1:GvvjBRRGRdwPK5ydBHafDWAxML/pGHZbMvKqRZ5+Abc= -golang.org/x/crypto v0.0.0-20220829220503-c86fa9a7ed90 h1:Y/gsMcFOcR+6S6f3YeMKl5g+dZMEWqcz5Czj/GWYbkM= -golang.org/x/crypto v0.0.0-20220829220503-c86fa9a7ed90/go.mod h1:IxCIyHEi3zRg3s0A5j5BB6A9Jmi73HwBIUl50j+osU4= +golang.org/x/crypto v0.0.0-20220926161630-eccd6366d1be h1:fmw3UbQh+nxngCAHrDCCztao/kbYFnWjoqop8dHx05A= +golang.org/x/crypto v0.0.0-20220926161630-eccd6366d1be/go.mod h1:IxCIyHEi3zRg3s0A5j5BB6A9Jmi73HwBIUl50j+osU4= golang.org/x/exp v0.0.0-20190121172915-509febef88a4/go.mod h1:CJ0aWSM057203Lf6IL+f9T1iT9GByDxfZKAQTCR3kQA= golang.org/x/lint v0.0.0-20181026193005-c67002cb31c3/go.mod h1:UVdnD1Gm6xHRNCYTkRU2/jEulfH38KcIWyp/GAMgvoE= golang.org/x/lint v0.0.0-20190227174305-5b3e6a55c961/go.mod h1:wehouNa3lNwaWXcvxsM5YxQ5yQlVC4a0KAMCusXpPoU= @@ -94,8 +94,8 @@ golang.org/x/sys v0.0.0-20201119102817-f84b799fce68/go.mod h1:h1NjWce9XRLGQEsW7w golang.org/x/sys v0.0.0-20210615035016-665e8c7367d1/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.0.0-20210630005230-0f9fa26af87c/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.0.0-20220811171246-fbc7d0a398ab/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= -golang.org/x/sys v0.0.0-20220913175220-63ea55921009 h1:PuvuRMeLWqsf/ZdT1UUZz0syhioyv1mzuFZsXs4fvhw= -golang.org/x/sys v0.0.0-20220913175220-63ea55921009/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= +golang.org/x/sys v0.0.0-20220928140112-f11e5e49a4ec h1:BkDtF2Ih9xZ7le9ndzTA7KJow28VbQW3odyk/8drmuI= +golang.org/x/sys v0.0.0-20220928140112-f11e5e49a4ec/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/term v0.0.0-20201126162022-7de9c90e9dd1/go.mod h1:bj7SfCRtBDWHUb9snDiAeCFNEtKQo2Wmx5Cou7ajbmo= golang.org/x/text v0.3.0/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ= golang.org/x/text v0.3.3/go.mod h1:5Zoc/QRtKVWzQhOtBMvqHzDpF6irO9z98xDceosuGiQ= diff --git a/ogx/example/model-hooks/go.mod b/ogx/example/model-hooks/go.mod index 91f3079d..7218675c 100644 --- a/ogx/example/model-hooks/go.mod +++ b/ogx/example/model-hooks/go.mod @@ -27,8 +27,8 @@ require ( github.com/tmthrgd/go-hex v0.0.0-20190904060850-447a3041c3bc // indirect github.com/vmihailenco/msgpack/v5 v5.3.5 // indirect github.com/vmihailenco/tagparser/v2 v2.0.0 // indirect - golang.org/x/crypto v0.0.0-20220829220503-c86fa9a7ed90 // indirect - golang.org/x/sys v0.0.0-20220913175220-63ea55921009 // indirect + golang.org/x/crypto v0.0.0-20220926161630-eccd6366d1be // indirect + golang.org/x/sys v0.0.0-20220928140112-f11e5e49a4ec // indirect golang.org/x/text v0.3.7 // indirect golang.org/x/xerrors v0.0.0-20220907171357-04be3eba64a2 // indirect gopkg.in/yaml.v3 v3.0.0-20210107192922-496545a6307b // indirect diff --git a/ogx/example/model-hooks/go.sum b/ogx/example/model-hooks/go.sum index 3a67d2ca..052fb696 100644 --- a/ogx/example/model-hooks/go.sum +++ b/ogx/example/model-hooks/go.sum @@ -59,8 +59,8 @@ golang.org/x/crypto v0.0.0-20190308221718-c2843e01d9a2/go.mod h1:djNgcEr1/C05ACk golang.org/x/crypto v0.0.0-20200622213623-75b288015ac9/go.mod h1:LzIPMQfyMNhhGPhUkYOs5KpL4U8rLKemX1yGLhDgUto= golang.org/x/crypto v0.0.0-20201012173705-84dcc777aaee/go.mod h1:LzIPMQfyMNhhGPhUkYOs5KpL4U8rLKemX1yGLhDgUto= golang.org/x/crypto v0.0.0-20210711020723-a769d52b0f97/go.mod h1:GvvjBRRGRdwPK5ydBHafDWAxML/pGHZbMvKqRZ5+Abc= -golang.org/x/crypto v0.0.0-20220829220503-c86fa9a7ed90 h1:Y/gsMcFOcR+6S6f3YeMKl5g+dZMEWqcz5Czj/GWYbkM= -golang.org/x/crypto v0.0.0-20220829220503-c86fa9a7ed90/go.mod h1:IxCIyHEi3zRg3s0A5j5BB6A9Jmi73HwBIUl50j+osU4= +golang.org/x/crypto v0.0.0-20220926161630-eccd6366d1be h1:fmw3UbQh+nxngCAHrDCCztao/kbYFnWjoqop8dHx05A= +golang.org/x/crypto v0.0.0-20220926161630-eccd6366d1be/go.mod h1:IxCIyHEi3zRg3s0A5j5BB6A9Jmi73HwBIUl50j+osU4= golang.org/x/exp v0.0.0-20190121172915-509febef88a4/go.mod h1:CJ0aWSM057203Lf6IL+f9T1iT9GByDxfZKAQTCR3kQA= golang.org/x/lint v0.0.0-20181026193005-c67002cb31c3/go.mod h1:UVdnD1Gm6xHRNCYTkRU2/jEulfH38KcIWyp/GAMgvoE= golang.org/x/lint v0.0.0-20190227174305-5b3e6a55c961/go.mod h1:wehouNa3lNwaWXcvxsM5YxQ5yQlVC4a0KAMCusXpPoU= @@ -86,8 +86,8 @@ golang.org/x/sys v0.0.0-20201119102817-f84b799fce68/go.mod h1:h1NjWce9XRLGQEsW7w golang.org/x/sys v0.0.0-20210615035016-665e8c7367d1/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.0.0-20210630005230-0f9fa26af87c/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.0.0-20220811171246-fbc7d0a398ab/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= -golang.org/x/sys v0.0.0-20220913175220-63ea55921009 h1:PuvuRMeLWqsf/ZdT1UUZz0syhioyv1mzuFZsXs4fvhw= -golang.org/x/sys v0.0.0-20220913175220-63ea55921009/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= +golang.org/x/sys v0.0.0-20220928140112-f11e5e49a4ec h1:BkDtF2Ih9xZ7le9ndzTA7KJow28VbQW3odyk/8drmuI= +golang.org/x/sys v0.0.0-20220928140112-f11e5e49a4ec/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/term v0.0.0-20201126162022-7de9c90e9dd1/go.mod h1:bj7SfCRtBDWHUb9snDiAeCFNEtKQo2Wmx5Cou7ajbmo= golang.org/x/text v0.3.0/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ= golang.org/x/text v0.3.3/go.mod h1:5Zoc/QRtKVWzQhOtBMvqHzDpF6irO9z98xDceosuGiQ= diff --git a/ogx/example/multi-tenant/go.mod b/ogx/example/multi-tenant/go.mod index 6c07ba78..e977a52d 100644 --- a/ogx/example/multi-tenant/go.mod +++ b/ogx/example/multi-tenant/go.mod @@ -28,8 +28,8 @@ require ( github.com/tmthrgd/go-hex v0.0.0-20190904060850-447a3041c3bc // indirect github.com/vmihailenco/msgpack/v5 v5.3.5 // indirect github.com/vmihailenco/tagparser/v2 v2.0.0 // indirect - golang.org/x/crypto v0.0.0-20220829220503-c86fa9a7ed90 // indirect - golang.org/x/sys v0.0.0-20220913175220-63ea55921009 // indirect + golang.org/x/crypto v0.0.0-20220926161630-eccd6366d1be // indirect + golang.org/x/sys v0.0.0-20220928140112-f11e5e49a4ec // indirect golang.org/x/text v0.3.7 // indirect golang.org/x/xerrors v0.0.0-20220907171357-04be3eba64a2 // indirect gopkg.in/yaml.v3 v3.0.1 // indirect diff --git a/ogx/example/multi-tenant/go.sum b/ogx/example/multi-tenant/go.sum index 0e87af25..a0829ec0 100644 --- a/ogx/example/multi-tenant/go.sum +++ b/ogx/example/multi-tenant/go.sum @@ -61,8 +61,8 @@ golang.org/x/crypto v0.0.0-20190308221718-c2843e01d9a2/go.mod h1:djNgcEr1/C05ACk golang.org/x/crypto v0.0.0-20200622213623-75b288015ac9/go.mod h1:LzIPMQfyMNhhGPhUkYOs5KpL4U8rLKemX1yGLhDgUto= golang.org/x/crypto v0.0.0-20201012173705-84dcc777aaee/go.mod h1:LzIPMQfyMNhhGPhUkYOs5KpL4U8rLKemX1yGLhDgUto= golang.org/x/crypto v0.0.0-20210711020723-a769d52b0f97/go.mod h1:GvvjBRRGRdwPK5ydBHafDWAxML/pGHZbMvKqRZ5+Abc= -golang.org/x/crypto v0.0.0-20220829220503-c86fa9a7ed90 h1:Y/gsMcFOcR+6S6f3YeMKl5g+dZMEWqcz5Czj/GWYbkM= -golang.org/x/crypto v0.0.0-20220829220503-c86fa9a7ed90/go.mod h1:IxCIyHEi3zRg3s0A5j5BB6A9Jmi73HwBIUl50j+osU4= +golang.org/x/crypto v0.0.0-20220926161630-eccd6366d1be h1:fmw3UbQh+nxngCAHrDCCztao/kbYFnWjoqop8dHx05A= +golang.org/x/crypto v0.0.0-20220926161630-eccd6366d1be/go.mod h1:IxCIyHEi3zRg3s0A5j5BB6A9Jmi73HwBIUl50j+osU4= golang.org/x/exp v0.0.0-20190121172915-509febef88a4/go.mod h1:CJ0aWSM057203Lf6IL+f9T1iT9GByDxfZKAQTCR3kQA= golang.org/x/lint v0.0.0-20181026193005-c67002cb31c3/go.mod h1:UVdnD1Gm6xHRNCYTkRU2/jEulfH38KcIWyp/GAMgvoE= golang.org/x/lint v0.0.0-20190227174305-5b3e6a55c961/go.mod h1:wehouNa3lNwaWXcvxsM5YxQ5yQlVC4a0KAMCusXpPoU= @@ -88,8 +88,8 @@ golang.org/x/sys v0.0.0-20201119102817-f84b799fce68/go.mod h1:h1NjWce9XRLGQEsW7w golang.org/x/sys v0.0.0-20210615035016-665e8c7367d1/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.0.0-20210630005230-0f9fa26af87c/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.0.0-20220811171246-fbc7d0a398ab/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= -golang.org/x/sys v0.0.0-20220913175220-63ea55921009 h1:PuvuRMeLWqsf/ZdT1UUZz0syhioyv1mzuFZsXs4fvhw= -golang.org/x/sys v0.0.0-20220913175220-63ea55921009/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= +golang.org/x/sys v0.0.0-20220928140112-f11e5e49a4ec h1:BkDtF2Ih9xZ7le9ndzTA7KJow28VbQW3odyk/8drmuI= +golang.org/x/sys v0.0.0-20220928140112-f11e5e49a4ec/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/term v0.0.0-20201126162022-7de9c90e9dd1/go.mod h1:bj7SfCRtBDWHUb9snDiAeCFNEtKQo2Wmx5Cou7ajbmo= golang.org/x/text v0.3.0/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ= golang.org/x/text v0.3.3/go.mod h1:5Zoc/QRtKVWzQhOtBMvqHzDpF6irO9z98xDceosuGiQ= diff --git a/ogx/example/placeholders/go.mod b/ogx/example/placeholders/go.mod index 7fc8b46c..264b5dea 100644 --- a/ogx/example/placeholders/go.mod +++ b/ogx/example/placeholders/go.mod @@ -10,7 +10,7 @@ replace gitee.com/chentanyang/ogx/dialect/ogdialect => ../../dialect/ogdialect require ( gitee.com/chentanyang/ogx v1.1.7 - gitee.com/chentanyang/ogx/dialect/ogdialect v0.0.0-20220915042425-85b0183464bc + gitee.com/chentanyang/ogx/dialect/ogdialect v0.0.0-20220915060802-59ab6779ee15 gitee.com/chentanyang/ogx/extra/ogxdebug v1.1.7 gitee.com/opengauss/openGauss-connector-go-pq v1.0.4 ) @@ -24,8 +24,8 @@ require ( github.com/tmthrgd/go-hex v0.0.0-20190904060850-447a3041c3bc // indirect github.com/vmihailenco/msgpack/v5 v5.3.5 // indirect github.com/vmihailenco/tagparser/v2 v2.0.0 // indirect - golang.org/x/crypto v0.0.0-20220829220503-c86fa9a7ed90 // indirect - golang.org/x/sys v0.0.0-20220913175220-63ea55921009 // indirect + golang.org/x/crypto v0.0.0-20220926161630-eccd6366d1be // indirect + golang.org/x/sys v0.0.0-20220928140112-f11e5e49a4ec // indirect golang.org/x/text v0.3.7 // indirect golang.org/x/xerrors v0.0.0-20220907171357-04be3eba64a2 // indirect gopkg.in/yaml.v3 v3.0.0-20210107192922-496545a6307b // indirect diff --git a/ogx/example/placeholders/go.sum b/ogx/example/placeholders/go.sum index 3a67d2ca..052fb696 100644 --- a/ogx/example/placeholders/go.sum +++ b/ogx/example/placeholders/go.sum @@ -59,8 +59,8 @@ golang.org/x/crypto v0.0.0-20190308221718-c2843e01d9a2/go.mod h1:djNgcEr1/C05ACk golang.org/x/crypto v0.0.0-20200622213623-75b288015ac9/go.mod h1:LzIPMQfyMNhhGPhUkYOs5KpL4U8rLKemX1yGLhDgUto= golang.org/x/crypto v0.0.0-20201012173705-84dcc777aaee/go.mod h1:LzIPMQfyMNhhGPhUkYOs5KpL4U8rLKemX1yGLhDgUto= golang.org/x/crypto v0.0.0-20210711020723-a769d52b0f97/go.mod h1:GvvjBRRGRdwPK5ydBHafDWAxML/pGHZbMvKqRZ5+Abc= -golang.org/x/crypto v0.0.0-20220829220503-c86fa9a7ed90 h1:Y/gsMcFOcR+6S6f3YeMKl5g+dZMEWqcz5Czj/GWYbkM= -golang.org/x/crypto v0.0.0-20220829220503-c86fa9a7ed90/go.mod h1:IxCIyHEi3zRg3s0A5j5BB6A9Jmi73HwBIUl50j+osU4= +golang.org/x/crypto v0.0.0-20220926161630-eccd6366d1be h1:fmw3UbQh+nxngCAHrDCCztao/kbYFnWjoqop8dHx05A= +golang.org/x/crypto v0.0.0-20220926161630-eccd6366d1be/go.mod h1:IxCIyHEi3zRg3s0A5j5BB6A9Jmi73HwBIUl50j+osU4= golang.org/x/exp v0.0.0-20190121172915-509febef88a4/go.mod h1:CJ0aWSM057203Lf6IL+f9T1iT9GByDxfZKAQTCR3kQA= golang.org/x/lint v0.0.0-20181026193005-c67002cb31c3/go.mod h1:UVdnD1Gm6xHRNCYTkRU2/jEulfH38KcIWyp/GAMgvoE= golang.org/x/lint v0.0.0-20190227174305-5b3e6a55c961/go.mod h1:wehouNa3lNwaWXcvxsM5YxQ5yQlVC4a0KAMCusXpPoU= @@ -86,8 +86,8 @@ golang.org/x/sys v0.0.0-20201119102817-f84b799fce68/go.mod h1:h1NjWce9XRLGQEsW7w golang.org/x/sys v0.0.0-20210615035016-665e8c7367d1/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.0.0-20210630005230-0f9fa26af87c/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.0.0-20220811171246-fbc7d0a398ab/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= -golang.org/x/sys v0.0.0-20220913175220-63ea55921009 h1:PuvuRMeLWqsf/ZdT1UUZz0syhioyv1mzuFZsXs4fvhw= -golang.org/x/sys v0.0.0-20220913175220-63ea55921009/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= +golang.org/x/sys v0.0.0-20220928140112-f11e5e49a4ec h1:BkDtF2Ih9xZ7le9ndzTA7KJow28VbQW3odyk/8drmuI= +golang.org/x/sys v0.0.0-20220928140112-f11e5e49a4ec/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/term v0.0.0-20201126162022-7de9c90e9dd1/go.mod h1:bj7SfCRtBDWHUb9snDiAeCFNEtKQo2Wmx5Cou7ajbmo= golang.org/x/text v0.3.0/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ= golang.org/x/text v0.3.3/go.mod h1:5Zoc/QRtKVWzQhOtBMvqHzDpF6irO9z98xDceosuGiQ= diff --git a/ogx/example/rel-belongs-to/go.mod b/ogx/example/rel-belongs-to/go.mod index 8c7bbbad..b6e450ae 100644 --- a/ogx/example/rel-belongs-to/go.mod +++ b/ogx/example/rel-belongs-to/go.mod @@ -10,7 +10,7 @@ replace gitee.com/chentanyang/ogx/dialect/ogdialect => ../../dialect/ogdialect require ( gitee.com/chentanyang/ogx v1.1.8 - gitee.com/chentanyang/ogx/dialect/ogdialect v0.0.0-20220915042425-85b0183464bc + gitee.com/chentanyang/ogx/dialect/ogdialect v0.0.0-20220915060802-59ab6779ee15 gitee.com/chentanyang/ogx/extra/ogxdebug v1.1.7 gitee.com/opengauss/openGauss-connector-go-pq v1.0.4 ) @@ -24,8 +24,8 @@ require ( github.com/tmthrgd/go-hex v0.0.0-20190904060850-447a3041c3bc // indirect github.com/vmihailenco/msgpack/v5 v5.3.5 // indirect github.com/vmihailenco/tagparser/v2 v2.0.0 // indirect - golang.org/x/crypto v0.0.0-20220829220503-c86fa9a7ed90 // indirect - golang.org/x/sys v0.0.0-20220913175220-63ea55921009 // indirect + golang.org/x/crypto v0.0.0-20220926161630-eccd6366d1be // indirect + golang.org/x/sys v0.0.0-20220928140112-f11e5e49a4ec // indirect golang.org/x/text v0.3.7 // indirect golang.org/x/xerrors v0.0.0-20220907171357-04be3eba64a2 // indirect ) diff --git a/ogx/example/rel-belongs-to/go.sum b/ogx/example/rel-belongs-to/go.sum index 58329b4c..5544085c 100644 --- a/ogx/example/rel-belongs-to/go.sum +++ b/ogx/example/rel-belongs-to/go.sum @@ -59,8 +59,8 @@ golang.org/x/crypto v0.0.0-20190308221718-c2843e01d9a2/go.mod h1:djNgcEr1/C05ACk golang.org/x/crypto v0.0.0-20200622213623-75b288015ac9/go.mod h1:LzIPMQfyMNhhGPhUkYOs5KpL4U8rLKemX1yGLhDgUto= golang.org/x/crypto v0.0.0-20201012173705-84dcc777aaee/go.mod h1:LzIPMQfyMNhhGPhUkYOs5KpL4U8rLKemX1yGLhDgUto= golang.org/x/crypto v0.0.0-20210711020723-a769d52b0f97/go.mod h1:GvvjBRRGRdwPK5ydBHafDWAxML/pGHZbMvKqRZ5+Abc= -golang.org/x/crypto v0.0.0-20220829220503-c86fa9a7ed90 h1:Y/gsMcFOcR+6S6f3YeMKl5g+dZMEWqcz5Czj/GWYbkM= -golang.org/x/crypto v0.0.0-20220829220503-c86fa9a7ed90/go.mod h1:IxCIyHEi3zRg3s0A5j5BB6A9Jmi73HwBIUl50j+osU4= +golang.org/x/crypto v0.0.0-20220926161630-eccd6366d1be h1:fmw3UbQh+nxngCAHrDCCztao/kbYFnWjoqop8dHx05A= +golang.org/x/crypto v0.0.0-20220926161630-eccd6366d1be/go.mod h1:IxCIyHEi3zRg3s0A5j5BB6A9Jmi73HwBIUl50j+osU4= golang.org/x/exp v0.0.0-20190121172915-509febef88a4/go.mod h1:CJ0aWSM057203Lf6IL+f9T1iT9GByDxfZKAQTCR3kQA= golang.org/x/lint v0.0.0-20181026193005-c67002cb31c3/go.mod h1:UVdnD1Gm6xHRNCYTkRU2/jEulfH38KcIWyp/GAMgvoE= golang.org/x/lint v0.0.0-20190227174305-5b3e6a55c961/go.mod h1:wehouNa3lNwaWXcvxsM5YxQ5yQlVC4a0KAMCusXpPoU= @@ -86,8 +86,8 @@ golang.org/x/sys v0.0.0-20201119102817-f84b799fce68/go.mod h1:h1NjWce9XRLGQEsW7w golang.org/x/sys v0.0.0-20210615035016-665e8c7367d1/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.0.0-20210630005230-0f9fa26af87c/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.0.0-20220811171246-fbc7d0a398ab/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= -golang.org/x/sys v0.0.0-20220913175220-63ea55921009 h1:PuvuRMeLWqsf/ZdT1UUZz0syhioyv1mzuFZsXs4fvhw= -golang.org/x/sys v0.0.0-20220913175220-63ea55921009/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= +golang.org/x/sys v0.0.0-20220928140112-f11e5e49a4ec h1:BkDtF2Ih9xZ7le9ndzTA7KJow28VbQW3odyk/8drmuI= +golang.org/x/sys v0.0.0-20220928140112-f11e5e49a4ec/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/term v0.0.0-20201126162022-7de9c90e9dd1/go.mod h1:bj7SfCRtBDWHUb9snDiAeCFNEtKQo2Wmx5Cou7ajbmo= golang.org/x/text v0.3.0/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ= golang.org/x/text v0.3.3/go.mod h1:5Zoc/QRtKVWzQhOtBMvqHzDpF6irO9z98xDceosuGiQ= diff --git a/ogx/example/rel-has-many-polymorphic/go.mod b/ogx/example/rel-has-many-polymorphic/go.mod index 2aa44e9e..92e35136 100644 --- a/ogx/example/rel-has-many-polymorphic/go.mod +++ b/ogx/example/rel-has-many-polymorphic/go.mod @@ -13,7 +13,7 @@ replace gitee.com/chentanyang/ogx/dialect/ogdialect => ../../dialect/ogdialect require ( gitee.com/chentanyang/ogx v1.1.7 gitee.com/chentanyang/ogx/dbfixture v1.1.7 - gitee.com/chentanyang/ogx/dialect/ogdialect v0.0.0-20220915042425-85b0183464bc + gitee.com/chentanyang/ogx/dialect/ogdialect v0.0.0-20220915060802-59ab6779ee15 gitee.com/chentanyang/ogx/extra/ogxdebug v1.1.7 gitee.com/opengauss/openGauss-connector-go-pq v1.0.4 github.com/davecgh/go-spew v1.1.1 @@ -28,8 +28,8 @@ require ( github.com/tmthrgd/go-hex v0.0.0-20190904060850-447a3041c3bc // indirect github.com/vmihailenco/msgpack/v5 v5.3.5 // indirect github.com/vmihailenco/tagparser/v2 v2.0.0 // indirect - golang.org/x/crypto v0.0.0-20220829220503-c86fa9a7ed90 // indirect - golang.org/x/sys v0.0.0-20220913175220-63ea55921009 // indirect + golang.org/x/crypto v0.0.0-20220926161630-eccd6366d1be // indirect + golang.org/x/sys v0.0.0-20220928140112-f11e5e49a4ec // indirect golang.org/x/text v0.3.7 // indirect golang.org/x/xerrors v0.0.0-20220907171357-04be3eba64a2 // indirect gopkg.in/yaml.v3 v3.0.1 // indirect diff --git a/ogx/example/rel-has-many-polymorphic/go.sum b/ogx/example/rel-has-many-polymorphic/go.sum index 0e87af25..a0829ec0 100644 --- a/ogx/example/rel-has-many-polymorphic/go.sum +++ b/ogx/example/rel-has-many-polymorphic/go.sum @@ -61,8 +61,8 @@ golang.org/x/crypto v0.0.0-20190308221718-c2843e01d9a2/go.mod h1:djNgcEr1/C05ACk golang.org/x/crypto v0.0.0-20200622213623-75b288015ac9/go.mod h1:LzIPMQfyMNhhGPhUkYOs5KpL4U8rLKemX1yGLhDgUto= golang.org/x/crypto v0.0.0-20201012173705-84dcc777aaee/go.mod h1:LzIPMQfyMNhhGPhUkYOs5KpL4U8rLKemX1yGLhDgUto= golang.org/x/crypto v0.0.0-20210711020723-a769d52b0f97/go.mod h1:GvvjBRRGRdwPK5ydBHafDWAxML/pGHZbMvKqRZ5+Abc= -golang.org/x/crypto v0.0.0-20220829220503-c86fa9a7ed90 h1:Y/gsMcFOcR+6S6f3YeMKl5g+dZMEWqcz5Czj/GWYbkM= -golang.org/x/crypto v0.0.0-20220829220503-c86fa9a7ed90/go.mod h1:IxCIyHEi3zRg3s0A5j5BB6A9Jmi73HwBIUl50j+osU4= +golang.org/x/crypto v0.0.0-20220926161630-eccd6366d1be h1:fmw3UbQh+nxngCAHrDCCztao/kbYFnWjoqop8dHx05A= +golang.org/x/crypto v0.0.0-20220926161630-eccd6366d1be/go.mod h1:IxCIyHEi3zRg3s0A5j5BB6A9Jmi73HwBIUl50j+osU4= golang.org/x/exp v0.0.0-20190121172915-509febef88a4/go.mod h1:CJ0aWSM057203Lf6IL+f9T1iT9GByDxfZKAQTCR3kQA= golang.org/x/lint v0.0.0-20181026193005-c67002cb31c3/go.mod h1:UVdnD1Gm6xHRNCYTkRU2/jEulfH38KcIWyp/GAMgvoE= golang.org/x/lint v0.0.0-20190227174305-5b3e6a55c961/go.mod h1:wehouNa3lNwaWXcvxsM5YxQ5yQlVC4a0KAMCusXpPoU= @@ -88,8 +88,8 @@ golang.org/x/sys v0.0.0-20201119102817-f84b799fce68/go.mod h1:h1NjWce9XRLGQEsW7w golang.org/x/sys v0.0.0-20210615035016-665e8c7367d1/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.0.0-20210630005230-0f9fa26af87c/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.0.0-20220811171246-fbc7d0a398ab/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= -golang.org/x/sys v0.0.0-20220913175220-63ea55921009 h1:PuvuRMeLWqsf/ZdT1UUZz0syhioyv1mzuFZsXs4fvhw= -golang.org/x/sys v0.0.0-20220913175220-63ea55921009/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= +golang.org/x/sys v0.0.0-20220928140112-f11e5e49a4ec h1:BkDtF2Ih9xZ7le9ndzTA7KJow28VbQW3odyk/8drmuI= +golang.org/x/sys v0.0.0-20220928140112-f11e5e49a4ec/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/term v0.0.0-20201126162022-7de9c90e9dd1/go.mod h1:bj7SfCRtBDWHUb9snDiAeCFNEtKQo2Wmx5Cou7ajbmo= golang.org/x/text v0.3.0/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ= golang.org/x/text v0.3.3/go.mod h1:5Zoc/QRtKVWzQhOtBMvqHzDpF6irO9z98xDceosuGiQ= diff --git a/ogx/example/rel-has-many/go.mod b/ogx/example/rel-has-many/go.mod index e8e471b5..b37a4828 100644 --- a/ogx/example/rel-has-many/go.mod +++ b/ogx/example/rel-has-many/go.mod @@ -10,7 +10,7 @@ replace gitee.com/chentanyang/ogx/dialect/ogdialect => ../../dialect/ogdialect require ( gitee.com/chentanyang/ogx v1.1.7 - gitee.com/chentanyang/ogx/dialect/ogdialect v0.0.0-20220915042425-85b0183464bc + gitee.com/chentanyang/ogx/dialect/ogdialect v0.0.0-20220915060802-59ab6779ee15 gitee.com/chentanyang/ogx/extra/ogxdebug v1.1.7 gitee.com/opengauss/openGauss-connector-go-pq v1.0.4 ) @@ -24,8 +24,8 @@ require ( github.com/tmthrgd/go-hex v0.0.0-20190904060850-447a3041c3bc // indirect github.com/vmihailenco/msgpack/v5 v5.3.5 // indirect github.com/vmihailenco/tagparser/v2 v2.0.0 // indirect - golang.org/x/crypto v0.0.0-20220829220503-c86fa9a7ed90 // indirect - golang.org/x/sys v0.0.0-20220913175220-63ea55921009 // indirect + golang.org/x/crypto v0.0.0-20220926161630-eccd6366d1be // indirect + golang.org/x/sys v0.0.0-20220928140112-f11e5e49a4ec // indirect golang.org/x/text v0.3.7 // indirect golang.org/x/xerrors v0.0.0-20220907171357-04be3eba64a2 // indirect ) diff --git a/ogx/example/rel-has-many/go.sum b/ogx/example/rel-has-many/go.sum index 58329b4c..5544085c 100644 --- a/ogx/example/rel-has-many/go.sum +++ b/ogx/example/rel-has-many/go.sum @@ -59,8 +59,8 @@ golang.org/x/crypto v0.0.0-20190308221718-c2843e01d9a2/go.mod h1:djNgcEr1/C05ACk golang.org/x/crypto v0.0.0-20200622213623-75b288015ac9/go.mod h1:LzIPMQfyMNhhGPhUkYOs5KpL4U8rLKemX1yGLhDgUto= golang.org/x/crypto v0.0.0-20201012173705-84dcc777aaee/go.mod h1:LzIPMQfyMNhhGPhUkYOs5KpL4U8rLKemX1yGLhDgUto= golang.org/x/crypto v0.0.0-20210711020723-a769d52b0f97/go.mod h1:GvvjBRRGRdwPK5ydBHafDWAxML/pGHZbMvKqRZ5+Abc= -golang.org/x/crypto v0.0.0-20220829220503-c86fa9a7ed90 h1:Y/gsMcFOcR+6S6f3YeMKl5g+dZMEWqcz5Czj/GWYbkM= -golang.org/x/crypto v0.0.0-20220829220503-c86fa9a7ed90/go.mod h1:IxCIyHEi3zRg3s0A5j5BB6A9Jmi73HwBIUl50j+osU4= +golang.org/x/crypto v0.0.0-20220926161630-eccd6366d1be h1:fmw3UbQh+nxngCAHrDCCztao/kbYFnWjoqop8dHx05A= +golang.org/x/crypto v0.0.0-20220926161630-eccd6366d1be/go.mod h1:IxCIyHEi3zRg3s0A5j5BB6A9Jmi73HwBIUl50j+osU4= golang.org/x/exp v0.0.0-20190121172915-509febef88a4/go.mod h1:CJ0aWSM057203Lf6IL+f9T1iT9GByDxfZKAQTCR3kQA= golang.org/x/lint v0.0.0-20181026193005-c67002cb31c3/go.mod h1:UVdnD1Gm6xHRNCYTkRU2/jEulfH38KcIWyp/GAMgvoE= golang.org/x/lint v0.0.0-20190227174305-5b3e6a55c961/go.mod h1:wehouNa3lNwaWXcvxsM5YxQ5yQlVC4a0KAMCusXpPoU= @@ -86,8 +86,8 @@ golang.org/x/sys v0.0.0-20201119102817-f84b799fce68/go.mod h1:h1NjWce9XRLGQEsW7w golang.org/x/sys v0.0.0-20210615035016-665e8c7367d1/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.0.0-20210630005230-0f9fa26af87c/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.0.0-20220811171246-fbc7d0a398ab/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= -golang.org/x/sys v0.0.0-20220913175220-63ea55921009 h1:PuvuRMeLWqsf/ZdT1UUZz0syhioyv1mzuFZsXs4fvhw= -golang.org/x/sys v0.0.0-20220913175220-63ea55921009/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= +golang.org/x/sys v0.0.0-20220928140112-f11e5e49a4ec h1:BkDtF2Ih9xZ7le9ndzTA7KJow28VbQW3odyk/8drmuI= +golang.org/x/sys v0.0.0-20220928140112-f11e5e49a4ec/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/term v0.0.0-20201126162022-7de9c90e9dd1/go.mod h1:bj7SfCRtBDWHUb9snDiAeCFNEtKQo2Wmx5Cou7ajbmo= golang.org/x/text v0.3.0/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ= golang.org/x/text v0.3.3/go.mod h1:5Zoc/QRtKVWzQhOtBMvqHzDpF6irO9z98xDceosuGiQ= diff --git a/ogx/example/rel-has-one/go.mod b/ogx/example/rel-has-one/go.mod index dcdd97dc..18e932fc 100644 --- a/ogx/example/rel-has-one/go.mod +++ b/ogx/example/rel-has-one/go.mod @@ -10,7 +10,7 @@ replace gitee.com/chentanyang/ogx/dialect/ogdialect => ../../dialect/ogdialect require ( gitee.com/chentanyang/ogx v1.1.7 - gitee.com/chentanyang/ogx/dialect/ogdialect v0.0.0-20220915042425-85b0183464bc + gitee.com/chentanyang/ogx/dialect/ogdialect v0.0.0-20220915060802-59ab6779ee15 gitee.com/chentanyang/ogx/extra/ogxdebug v1.1.7 gitee.com/opengauss/openGauss-connector-go-pq v1.0.4 ) @@ -24,8 +24,8 @@ require ( github.com/tmthrgd/go-hex v0.0.0-20190904060850-447a3041c3bc // indirect github.com/vmihailenco/msgpack/v5 v5.3.5 // indirect github.com/vmihailenco/tagparser/v2 v2.0.0 // indirect - golang.org/x/crypto v0.0.0-20220829220503-c86fa9a7ed90 // indirect - golang.org/x/sys v0.0.0-20220913175220-63ea55921009 // indirect + golang.org/x/crypto v0.0.0-20220926161630-eccd6366d1be // indirect + golang.org/x/sys v0.0.0-20220928140112-f11e5e49a4ec // indirect golang.org/x/text v0.3.7 // indirect golang.org/x/xerrors v0.0.0-20220907171357-04be3eba64a2 // indirect ) diff --git a/ogx/example/rel-has-one/go.sum b/ogx/example/rel-has-one/go.sum index 58329b4c..5544085c 100644 --- a/ogx/example/rel-has-one/go.sum +++ b/ogx/example/rel-has-one/go.sum @@ -59,8 +59,8 @@ golang.org/x/crypto v0.0.0-20190308221718-c2843e01d9a2/go.mod h1:djNgcEr1/C05ACk golang.org/x/crypto v0.0.0-20200622213623-75b288015ac9/go.mod h1:LzIPMQfyMNhhGPhUkYOs5KpL4U8rLKemX1yGLhDgUto= golang.org/x/crypto v0.0.0-20201012173705-84dcc777aaee/go.mod h1:LzIPMQfyMNhhGPhUkYOs5KpL4U8rLKemX1yGLhDgUto= golang.org/x/crypto v0.0.0-20210711020723-a769d52b0f97/go.mod h1:GvvjBRRGRdwPK5ydBHafDWAxML/pGHZbMvKqRZ5+Abc= -golang.org/x/crypto v0.0.0-20220829220503-c86fa9a7ed90 h1:Y/gsMcFOcR+6S6f3YeMKl5g+dZMEWqcz5Czj/GWYbkM= -golang.org/x/crypto v0.0.0-20220829220503-c86fa9a7ed90/go.mod h1:IxCIyHEi3zRg3s0A5j5BB6A9Jmi73HwBIUl50j+osU4= +golang.org/x/crypto v0.0.0-20220926161630-eccd6366d1be h1:fmw3UbQh+nxngCAHrDCCztao/kbYFnWjoqop8dHx05A= +golang.org/x/crypto v0.0.0-20220926161630-eccd6366d1be/go.mod h1:IxCIyHEi3zRg3s0A5j5BB6A9Jmi73HwBIUl50j+osU4= golang.org/x/exp v0.0.0-20190121172915-509febef88a4/go.mod h1:CJ0aWSM057203Lf6IL+f9T1iT9GByDxfZKAQTCR3kQA= golang.org/x/lint v0.0.0-20181026193005-c67002cb31c3/go.mod h1:UVdnD1Gm6xHRNCYTkRU2/jEulfH38KcIWyp/GAMgvoE= golang.org/x/lint v0.0.0-20190227174305-5b3e6a55c961/go.mod h1:wehouNa3lNwaWXcvxsM5YxQ5yQlVC4a0KAMCusXpPoU= @@ -86,8 +86,8 @@ golang.org/x/sys v0.0.0-20201119102817-f84b799fce68/go.mod h1:h1NjWce9XRLGQEsW7w golang.org/x/sys v0.0.0-20210615035016-665e8c7367d1/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.0.0-20210630005230-0f9fa26af87c/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.0.0-20220811171246-fbc7d0a398ab/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= -golang.org/x/sys v0.0.0-20220913175220-63ea55921009 h1:PuvuRMeLWqsf/ZdT1UUZz0syhioyv1mzuFZsXs4fvhw= -golang.org/x/sys v0.0.0-20220913175220-63ea55921009/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= +golang.org/x/sys v0.0.0-20220928140112-f11e5e49a4ec h1:BkDtF2Ih9xZ7le9ndzTA7KJow28VbQW3odyk/8drmuI= +golang.org/x/sys v0.0.0-20220928140112-f11e5e49a4ec/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/term v0.0.0-20201126162022-7de9c90e9dd1/go.mod h1:bj7SfCRtBDWHUb9snDiAeCFNEtKQo2Wmx5Cou7ajbmo= golang.org/x/text v0.3.0/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ= golang.org/x/text v0.3.3/go.mod h1:5Zoc/QRtKVWzQhOtBMvqHzDpF6irO9z98xDceosuGiQ= diff --git a/ogx/example/rel-join-condition/go.mod b/ogx/example/rel-join-condition/go.mod index a3bb12cf..73a03394 100644 --- a/ogx/example/rel-join-condition/go.mod +++ b/ogx/example/rel-join-condition/go.mod @@ -10,7 +10,7 @@ replace gitee.com/chentanyang/ogx/dialect/ogdialect => ../../dialect/ogdialect require ( gitee.com/chentanyang/ogx v1.1.7 - gitee.com/chentanyang/ogx/dialect/ogdialect v0.0.0-20220915042425-85b0183464bc + gitee.com/chentanyang/ogx/dialect/ogdialect v0.0.0-20220915060802-59ab6779ee15 gitee.com/chentanyang/ogx/extra/ogxdebug v1.1.7 gitee.com/opengauss/openGauss-connector-go-pq v1.0.4 ) @@ -24,8 +24,8 @@ require ( github.com/tmthrgd/go-hex v0.0.0-20190904060850-447a3041c3bc // indirect github.com/vmihailenco/msgpack/v5 v5.3.5 // indirect github.com/vmihailenco/tagparser/v2 v2.0.0 // indirect - golang.org/x/crypto v0.0.0-20220829220503-c86fa9a7ed90 // indirect - golang.org/x/sys v0.0.0-20220913175220-63ea55921009 // indirect + golang.org/x/crypto v0.0.0-20220926161630-eccd6366d1be // indirect + golang.org/x/sys v0.0.0-20220928140112-f11e5e49a4ec // indirect golang.org/x/text v0.3.7 // indirect golang.org/x/xerrors v0.0.0-20220907171357-04be3eba64a2 // indirect ) diff --git a/ogx/example/rel-join-condition/go.sum b/ogx/example/rel-join-condition/go.sum index 58329b4c..5544085c 100644 --- a/ogx/example/rel-join-condition/go.sum +++ b/ogx/example/rel-join-condition/go.sum @@ -59,8 +59,8 @@ golang.org/x/crypto v0.0.0-20190308221718-c2843e01d9a2/go.mod h1:djNgcEr1/C05ACk golang.org/x/crypto v0.0.0-20200622213623-75b288015ac9/go.mod h1:LzIPMQfyMNhhGPhUkYOs5KpL4U8rLKemX1yGLhDgUto= golang.org/x/crypto v0.0.0-20201012173705-84dcc777aaee/go.mod h1:LzIPMQfyMNhhGPhUkYOs5KpL4U8rLKemX1yGLhDgUto= golang.org/x/crypto v0.0.0-20210711020723-a769d52b0f97/go.mod h1:GvvjBRRGRdwPK5ydBHafDWAxML/pGHZbMvKqRZ5+Abc= -golang.org/x/crypto v0.0.0-20220829220503-c86fa9a7ed90 h1:Y/gsMcFOcR+6S6f3YeMKl5g+dZMEWqcz5Czj/GWYbkM= -golang.org/x/crypto v0.0.0-20220829220503-c86fa9a7ed90/go.mod h1:IxCIyHEi3zRg3s0A5j5BB6A9Jmi73HwBIUl50j+osU4= +golang.org/x/crypto v0.0.0-20220926161630-eccd6366d1be h1:fmw3UbQh+nxngCAHrDCCztao/kbYFnWjoqop8dHx05A= +golang.org/x/crypto v0.0.0-20220926161630-eccd6366d1be/go.mod h1:IxCIyHEi3zRg3s0A5j5BB6A9Jmi73HwBIUl50j+osU4= golang.org/x/exp v0.0.0-20190121172915-509febef88a4/go.mod h1:CJ0aWSM057203Lf6IL+f9T1iT9GByDxfZKAQTCR3kQA= golang.org/x/lint v0.0.0-20181026193005-c67002cb31c3/go.mod h1:UVdnD1Gm6xHRNCYTkRU2/jEulfH38KcIWyp/GAMgvoE= golang.org/x/lint v0.0.0-20190227174305-5b3e6a55c961/go.mod h1:wehouNa3lNwaWXcvxsM5YxQ5yQlVC4a0KAMCusXpPoU= @@ -86,8 +86,8 @@ golang.org/x/sys v0.0.0-20201119102817-f84b799fce68/go.mod h1:h1NjWce9XRLGQEsW7w golang.org/x/sys v0.0.0-20210615035016-665e8c7367d1/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.0.0-20210630005230-0f9fa26af87c/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.0.0-20220811171246-fbc7d0a398ab/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= -golang.org/x/sys v0.0.0-20220913175220-63ea55921009 h1:PuvuRMeLWqsf/ZdT1UUZz0syhioyv1mzuFZsXs4fvhw= -golang.org/x/sys v0.0.0-20220913175220-63ea55921009/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= +golang.org/x/sys v0.0.0-20220928140112-f11e5e49a4ec h1:BkDtF2Ih9xZ7le9ndzTA7KJow28VbQW3odyk/8drmuI= +golang.org/x/sys v0.0.0-20220928140112-f11e5e49a4ec/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/term v0.0.0-20201126162022-7de9c90e9dd1/go.mod h1:bj7SfCRtBDWHUb9snDiAeCFNEtKQo2Wmx5Cou7ajbmo= golang.org/x/text v0.3.0/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ= golang.org/x/text v0.3.3/go.mod h1:5Zoc/QRtKVWzQhOtBMvqHzDpF6irO9z98xDceosuGiQ= diff --git a/ogx/example/rel-many-to-many-self/go.mod b/ogx/example/rel-many-to-many-self/go.mod index 1b9d9206..47baca72 100644 --- a/ogx/example/rel-many-to-many-self/go.mod +++ b/ogx/example/rel-many-to-many-self/go.mod @@ -10,7 +10,7 @@ replace gitee.com/chentanyang/ogx/dialect/ogdialect => ../../dialect/ogdialect require ( gitee.com/chentanyang/ogx v1.1.7 - gitee.com/chentanyang/ogx/dialect/ogdialect v0.0.0-20220915042425-85b0183464bc + gitee.com/chentanyang/ogx/dialect/ogdialect v0.0.0-20220915060802-59ab6779ee15 gitee.com/chentanyang/ogx/extra/ogxdebug v1.1.7 gitee.com/opengauss/openGauss-connector-go-pq v1.0.4 ) @@ -24,8 +24,8 @@ require ( github.com/tmthrgd/go-hex v0.0.0-20190904060850-447a3041c3bc // indirect github.com/vmihailenco/msgpack/v5 v5.3.5 // indirect github.com/vmihailenco/tagparser/v2 v2.0.0 // indirect - golang.org/x/crypto v0.0.0-20220829220503-c86fa9a7ed90 // indirect - golang.org/x/sys v0.0.0-20220913175220-63ea55921009 // indirect + golang.org/x/crypto v0.0.0-20220926161630-eccd6366d1be // indirect + golang.org/x/sys v0.0.0-20220928140112-f11e5e49a4ec // indirect golang.org/x/text v0.3.7 // indirect golang.org/x/xerrors v0.0.0-20220907171357-04be3eba64a2 // indirect ) diff --git a/ogx/example/rel-many-to-many-self/go.sum b/ogx/example/rel-many-to-many-self/go.sum index 58329b4c..5544085c 100644 --- a/ogx/example/rel-many-to-many-self/go.sum +++ b/ogx/example/rel-many-to-many-self/go.sum @@ -59,8 +59,8 @@ golang.org/x/crypto v0.0.0-20190308221718-c2843e01d9a2/go.mod h1:djNgcEr1/C05ACk golang.org/x/crypto v0.0.0-20200622213623-75b288015ac9/go.mod h1:LzIPMQfyMNhhGPhUkYOs5KpL4U8rLKemX1yGLhDgUto= golang.org/x/crypto v0.0.0-20201012173705-84dcc777aaee/go.mod h1:LzIPMQfyMNhhGPhUkYOs5KpL4U8rLKemX1yGLhDgUto= golang.org/x/crypto v0.0.0-20210711020723-a769d52b0f97/go.mod h1:GvvjBRRGRdwPK5ydBHafDWAxML/pGHZbMvKqRZ5+Abc= -golang.org/x/crypto v0.0.0-20220829220503-c86fa9a7ed90 h1:Y/gsMcFOcR+6S6f3YeMKl5g+dZMEWqcz5Czj/GWYbkM= -golang.org/x/crypto v0.0.0-20220829220503-c86fa9a7ed90/go.mod h1:IxCIyHEi3zRg3s0A5j5BB6A9Jmi73HwBIUl50j+osU4= +golang.org/x/crypto v0.0.0-20220926161630-eccd6366d1be h1:fmw3UbQh+nxngCAHrDCCztao/kbYFnWjoqop8dHx05A= +golang.org/x/crypto v0.0.0-20220926161630-eccd6366d1be/go.mod h1:IxCIyHEi3zRg3s0A5j5BB6A9Jmi73HwBIUl50j+osU4= golang.org/x/exp v0.0.0-20190121172915-509febef88a4/go.mod h1:CJ0aWSM057203Lf6IL+f9T1iT9GByDxfZKAQTCR3kQA= golang.org/x/lint v0.0.0-20181026193005-c67002cb31c3/go.mod h1:UVdnD1Gm6xHRNCYTkRU2/jEulfH38KcIWyp/GAMgvoE= golang.org/x/lint v0.0.0-20190227174305-5b3e6a55c961/go.mod h1:wehouNa3lNwaWXcvxsM5YxQ5yQlVC4a0KAMCusXpPoU= @@ -86,8 +86,8 @@ golang.org/x/sys v0.0.0-20201119102817-f84b799fce68/go.mod h1:h1NjWce9XRLGQEsW7w golang.org/x/sys v0.0.0-20210615035016-665e8c7367d1/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.0.0-20210630005230-0f9fa26af87c/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.0.0-20220811171246-fbc7d0a398ab/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= -golang.org/x/sys v0.0.0-20220913175220-63ea55921009 h1:PuvuRMeLWqsf/ZdT1UUZz0syhioyv1mzuFZsXs4fvhw= -golang.org/x/sys v0.0.0-20220913175220-63ea55921009/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= +golang.org/x/sys v0.0.0-20220928140112-f11e5e49a4ec h1:BkDtF2Ih9xZ7le9ndzTA7KJow28VbQW3odyk/8drmuI= +golang.org/x/sys v0.0.0-20220928140112-f11e5e49a4ec/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/term v0.0.0-20201126162022-7de9c90e9dd1/go.mod h1:bj7SfCRtBDWHUb9snDiAeCFNEtKQo2Wmx5Cou7ajbmo= golang.org/x/text v0.3.0/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ= golang.org/x/text v0.3.3/go.mod h1:5Zoc/QRtKVWzQhOtBMvqHzDpF6irO9z98xDceosuGiQ= diff --git a/ogx/example/rel-many-to-many/go.mod b/ogx/example/rel-many-to-many/go.mod index 617c3f75..beff1a8d 100644 --- a/ogx/example/rel-many-to-many/go.mod +++ b/ogx/example/rel-many-to-many/go.mod @@ -10,7 +10,7 @@ replace gitee.com/chentanyang/ogx/dialect/ogdialect => ../../dialect/ogdialect require ( gitee.com/chentanyang/ogx v1.1.7 - gitee.com/chentanyang/ogx/dialect/ogdialect v0.0.0-20220915042425-85b0183464bc + gitee.com/chentanyang/ogx/dialect/ogdialect v0.0.0-20220915060802-59ab6779ee15 gitee.com/chentanyang/ogx/extra/ogxdebug v1.1.7 gitee.com/opengauss/openGauss-connector-go-pq v1.0.4 ) @@ -24,8 +24,8 @@ require ( github.com/tmthrgd/go-hex v0.0.0-20190904060850-447a3041c3bc // indirect github.com/vmihailenco/msgpack/v5 v5.3.5 // indirect github.com/vmihailenco/tagparser/v2 v2.0.0 // indirect - golang.org/x/crypto v0.0.0-20220829220503-c86fa9a7ed90 // indirect - golang.org/x/sys v0.0.0-20220913175220-63ea55921009 // indirect + golang.org/x/crypto v0.0.0-20220926161630-eccd6366d1be // indirect + golang.org/x/sys v0.0.0-20220928140112-f11e5e49a4ec // indirect golang.org/x/text v0.3.7 // indirect golang.org/x/xerrors v0.0.0-20220907171357-04be3eba64a2 // indirect ) diff --git a/ogx/example/rel-many-to-many/go.sum b/ogx/example/rel-many-to-many/go.sum index 58329b4c..5544085c 100644 --- a/ogx/example/rel-many-to-many/go.sum +++ b/ogx/example/rel-many-to-many/go.sum @@ -59,8 +59,8 @@ golang.org/x/crypto v0.0.0-20190308221718-c2843e01d9a2/go.mod h1:djNgcEr1/C05ACk golang.org/x/crypto v0.0.0-20200622213623-75b288015ac9/go.mod h1:LzIPMQfyMNhhGPhUkYOs5KpL4U8rLKemX1yGLhDgUto= golang.org/x/crypto v0.0.0-20201012173705-84dcc777aaee/go.mod h1:LzIPMQfyMNhhGPhUkYOs5KpL4U8rLKemX1yGLhDgUto= golang.org/x/crypto v0.0.0-20210711020723-a769d52b0f97/go.mod h1:GvvjBRRGRdwPK5ydBHafDWAxML/pGHZbMvKqRZ5+Abc= -golang.org/x/crypto v0.0.0-20220829220503-c86fa9a7ed90 h1:Y/gsMcFOcR+6S6f3YeMKl5g+dZMEWqcz5Czj/GWYbkM= -golang.org/x/crypto v0.0.0-20220829220503-c86fa9a7ed90/go.mod h1:IxCIyHEi3zRg3s0A5j5BB6A9Jmi73HwBIUl50j+osU4= +golang.org/x/crypto v0.0.0-20220926161630-eccd6366d1be h1:fmw3UbQh+nxngCAHrDCCztao/kbYFnWjoqop8dHx05A= +golang.org/x/crypto v0.0.0-20220926161630-eccd6366d1be/go.mod h1:IxCIyHEi3zRg3s0A5j5BB6A9Jmi73HwBIUl50j+osU4= golang.org/x/exp v0.0.0-20190121172915-509febef88a4/go.mod h1:CJ0aWSM057203Lf6IL+f9T1iT9GByDxfZKAQTCR3kQA= golang.org/x/lint v0.0.0-20181026193005-c67002cb31c3/go.mod h1:UVdnD1Gm6xHRNCYTkRU2/jEulfH38KcIWyp/GAMgvoE= golang.org/x/lint v0.0.0-20190227174305-5b3e6a55c961/go.mod h1:wehouNa3lNwaWXcvxsM5YxQ5yQlVC4a0KAMCusXpPoU= @@ -86,8 +86,8 @@ golang.org/x/sys v0.0.0-20201119102817-f84b799fce68/go.mod h1:h1NjWce9XRLGQEsW7w golang.org/x/sys v0.0.0-20210615035016-665e8c7367d1/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.0.0-20210630005230-0f9fa26af87c/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.0.0-20220811171246-fbc7d0a398ab/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= -golang.org/x/sys v0.0.0-20220913175220-63ea55921009 h1:PuvuRMeLWqsf/ZdT1UUZz0syhioyv1mzuFZsXs4fvhw= -golang.org/x/sys v0.0.0-20220913175220-63ea55921009/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= +golang.org/x/sys v0.0.0-20220928140112-f11e5e49a4ec h1:BkDtF2Ih9xZ7le9ndzTA7KJow28VbQW3odyk/8drmuI= +golang.org/x/sys v0.0.0-20220928140112-f11e5e49a4ec/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/term v0.0.0-20201126162022-7de9c90e9dd1/go.mod h1:bj7SfCRtBDWHUb9snDiAeCFNEtKQo2Wmx5Cou7ajbmo= golang.org/x/text v0.3.0/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ= golang.org/x/text v0.3.3/go.mod h1:5Zoc/QRtKVWzQhOtBMvqHzDpF6irO9z98xDceosuGiQ= diff --git a/ogx/example/string-representation/go.mod b/ogx/example/string-representation/go.mod index 7d8faa84..0e85ed5d 100644 --- a/ogx/example/string-representation/go.mod +++ b/ogx/example/string-representation/go.mod @@ -10,7 +10,7 @@ replace gitee.com/chentanyang/ogx/dialect/ogdialect => ../../dialect/ogdialect require ( gitee.com/chentanyang/ogx v1.1.7 - gitee.com/chentanyang/ogx/dialect/ogdialect v0.0.0-20220915042425-85b0183464bc + gitee.com/chentanyang/ogx/dialect/ogdialect v0.0.0-20220915060802-59ab6779ee15 gitee.com/opengauss/openGauss-connector-go-pq v1.0.4 ) @@ -20,8 +20,8 @@ require ( github.com/tmthrgd/go-hex v0.0.0-20190904060850-447a3041c3bc // indirect github.com/vmihailenco/msgpack/v5 v5.3.5 // indirect github.com/vmihailenco/tagparser/v2 v2.0.0 // indirect - golang.org/x/crypto v0.0.0-20220829220503-c86fa9a7ed90 // indirect - golang.org/x/sys v0.0.0-20220913175220-63ea55921009 // indirect + golang.org/x/crypto v0.0.0-20220926161630-eccd6366d1be // indirect + golang.org/x/sys v0.0.0-20220928140112-f11e5e49a4ec // indirect golang.org/x/text v0.3.7 // indirect golang.org/x/xerrors v0.0.0-20220907171357-04be3eba64a2 // indirect ) diff --git a/ogx/example/string-representation/go.sum b/ogx/example/string-representation/go.sum index c9537768..6db18640 100644 --- a/ogx/example/string-representation/go.sum +++ b/ogx/example/string-representation/go.sum @@ -50,8 +50,8 @@ golang.org/x/crypto v0.0.0-20190308221718-c2843e01d9a2/go.mod h1:djNgcEr1/C05ACk golang.org/x/crypto v0.0.0-20200622213623-75b288015ac9/go.mod h1:LzIPMQfyMNhhGPhUkYOs5KpL4U8rLKemX1yGLhDgUto= golang.org/x/crypto v0.0.0-20201012173705-84dcc777aaee/go.mod h1:LzIPMQfyMNhhGPhUkYOs5KpL4U8rLKemX1yGLhDgUto= golang.org/x/crypto v0.0.0-20210711020723-a769d52b0f97/go.mod h1:GvvjBRRGRdwPK5ydBHafDWAxML/pGHZbMvKqRZ5+Abc= -golang.org/x/crypto v0.0.0-20220829220503-c86fa9a7ed90 h1:Y/gsMcFOcR+6S6f3YeMKl5g+dZMEWqcz5Czj/GWYbkM= -golang.org/x/crypto v0.0.0-20220829220503-c86fa9a7ed90/go.mod h1:IxCIyHEi3zRg3s0A5j5BB6A9Jmi73HwBIUl50j+osU4= +golang.org/x/crypto v0.0.0-20220926161630-eccd6366d1be h1:fmw3UbQh+nxngCAHrDCCztao/kbYFnWjoqop8dHx05A= +golang.org/x/crypto v0.0.0-20220926161630-eccd6366d1be/go.mod h1:IxCIyHEi3zRg3s0A5j5BB6A9Jmi73HwBIUl50j+osU4= golang.org/x/exp v0.0.0-20190121172915-509febef88a4/go.mod h1:CJ0aWSM057203Lf6IL+f9T1iT9GByDxfZKAQTCR3kQA= golang.org/x/lint v0.0.0-20181026193005-c67002cb31c3/go.mod h1:UVdnD1Gm6xHRNCYTkRU2/jEulfH38KcIWyp/GAMgvoE= golang.org/x/lint v0.0.0-20190227174305-5b3e6a55c961/go.mod h1:wehouNa3lNwaWXcvxsM5YxQ5yQlVC4a0KAMCusXpPoU= @@ -73,8 +73,8 @@ golang.org/x/sys v0.0.0-20190412213103-97732733099d/go.mod h1:h1NjWce9XRLGQEsW7w golang.org/x/sys v0.0.0-20200930185726-fdedc70b468f/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20201119102817-f84b799fce68/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20210615035016-665e8c7367d1/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= -golang.org/x/sys v0.0.0-20220913175220-63ea55921009 h1:PuvuRMeLWqsf/ZdT1UUZz0syhioyv1mzuFZsXs4fvhw= -golang.org/x/sys v0.0.0-20220913175220-63ea55921009/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= +golang.org/x/sys v0.0.0-20220928140112-f11e5e49a4ec h1:BkDtF2Ih9xZ7le9ndzTA7KJow28VbQW3odyk/8drmuI= +golang.org/x/sys v0.0.0-20220928140112-f11e5e49a4ec/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/term v0.0.0-20201126162022-7de9c90e9dd1/go.mod h1:bj7SfCRtBDWHUb9snDiAeCFNEtKQo2Wmx5Cou7ajbmo= golang.org/x/text v0.3.0/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ= golang.org/x/text v0.3.3/go.mod h1:5Zoc/QRtKVWzQhOtBMvqHzDpF6irO9z98xDceosuGiQ= diff --git a/ogx/example/trivial/go.mod b/ogx/example/trivial/go.mod index c0845daa..c35878b1 100644 --- a/ogx/example/trivial/go.mod +++ b/ogx/example/trivial/go.mod @@ -24,8 +24,8 @@ require ( github.com/tmthrgd/go-hex v0.0.0-20190904060850-447a3041c3bc // indirect github.com/vmihailenco/msgpack/v5 v5.3.5 // indirect github.com/vmihailenco/tagparser/v2 v2.0.0 // indirect - golang.org/x/crypto v0.0.0-20220829220503-c86fa9a7ed90 // indirect - golang.org/x/sys v0.0.0-20220913175220-63ea55921009 // indirect + golang.org/x/crypto v0.0.0-20220926161630-eccd6366d1be // indirect + golang.org/x/sys v0.0.0-20220928140112-f11e5e49a4ec // indirect golang.org/x/text v0.3.7 // indirect golang.org/x/xerrors v0.0.0-20220907171357-04be3eba64a2 // indirect gopkg.in/yaml.v3 v3.0.0-20210107192922-496545a6307b // indirect diff --git a/ogx/example/trivial/go.sum b/ogx/example/trivial/go.sum index 3a67d2ca..052fb696 100644 --- a/ogx/example/trivial/go.sum +++ b/ogx/example/trivial/go.sum @@ -59,8 +59,8 @@ golang.org/x/crypto v0.0.0-20190308221718-c2843e01d9a2/go.mod h1:djNgcEr1/C05ACk golang.org/x/crypto v0.0.0-20200622213623-75b288015ac9/go.mod h1:LzIPMQfyMNhhGPhUkYOs5KpL4U8rLKemX1yGLhDgUto= golang.org/x/crypto v0.0.0-20201012173705-84dcc777aaee/go.mod h1:LzIPMQfyMNhhGPhUkYOs5KpL4U8rLKemX1yGLhDgUto= golang.org/x/crypto v0.0.0-20210711020723-a769d52b0f97/go.mod h1:GvvjBRRGRdwPK5ydBHafDWAxML/pGHZbMvKqRZ5+Abc= -golang.org/x/crypto v0.0.0-20220829220503-c86fa9a7ed90 h1:Y/gsMcFOcR+6S6f3YeMKl5g+dZMEWqcz5Czj/GWYbkM= -golang.org/x/crypto v0.0.0-20220829220503-c86fa9a7ed90/go.mod h1:IxCIyHEi3zRg3s0A5j5BB6A9Jmi73HwBIUl50j+osU4= +golang.org/x/crypto v0.0.0-20220926161630-eccd6366d1be h1:fmw3UbQh+nxngCAHrDCCztao/kbYFnWjoqop8dHx05A= +golang.org/x/crypto v0.0.0-20220926161630-eccd6366d1be/go.mod h1:IxCIyHEi3zRg3s0A5j5BB6A9Jmi73HwBIUl50j+osU4= golang.org/x/exp v0.0.0-20190121172915-509febef88a4/go.mod h1:CJ0aWSM057203Lf6IL+f9T1iT9GByDxfZKAQTCR3kQA= golang.org/x/lint v0.0.0-20181026193005-c67002cb31c3/go.mod h1:UVdnD1Gm6xHRNCYTkRU2/jEulfH38KcIWyp/GAMgvoE= golang.org/x/lint v0.0.0-20190227174305-5b3e6a55c961/go.mod h1:wehouNa3lNwaWXcvxsM5YxQ5yQlVC4a0KAMCusXpPoU= @@ -86,8 +86,8 @@ golang.org/x/sys v0.0.0-20201119102817-f84b799fce68/go.mod h1:h1NjWce9XRLGQEsW7w golang.org/x/sys v0.0.0-20210615035016-665e8c7367d1/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.0.0-20210630005230-0f9fa26af87c/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.0.0-20220811171246-fbc7d0a398ab/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= -golang.org/x/sys v0.0.0-20220913175220-63ea55921009 h1:PuvuRMeLWqsf/ZdT1UUZz0syhioyv1mzuFZsXs4fvhw= -golang.org/x/sys v0.0.0-20220913175220-63ea55921009/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= +golang.org/x/sys v0.0.0-20220928140112-f11e5e49a4ec h1:BkDtF2Ih9xZ7le9ndzTA7KJow28VbQW3odyk/8drmuI= +golang.org/x/sys v0.0.0-20220928140112-f11e5e49a4ec/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/term v0.0.0-20201126162022-7de9c90e9dd1/go.mod h1:bj7SfCRtBDWHUb9snDiAeCFNEtKQo2Wmx5Cou7ajbmo= golang.org/x/text v0.3.0/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ= golang.org/x/text v0.3.3/go.mod h1:5Zoc/QRtKVWzQhOtBMvqHzDpF6irO9z98xDceosuGiQ= diff --git a/ogx/example/tx-composition/go.mod b/ogx/example/tx-composition/go.mod index cfe1b743..b118b901 100644 --- a/ogx/example/tx-composition/go.mod +++ b/ogx/example/tx-composition/go.mod @@ -12,7 +12,7 @@ replace gitee.com/chentanyang/ogx/dialect/ogdialect => ../../dialect/ogdialect require ( gitee.com/chentanyang/ogx v1.1.7 - gitee.com/chentanyang/ogx/dialect/ogdialect v0.0.0-20220915042425-85b0183464bc + gitee.com/chentanyang/ogx/dialect/ogdialect v0.0.0-20220915060802-59ab6779ee15 gitee.com/chentanyang/ogx/extra/ogxdebug v1.1.7 gitee.com/opengauss/openGauss-connector-go-pq v1.0.4 ) @@ -26,8 +26,8 @@ require ( github.com/tmthrgd/go-hex v0.0.0-20190904060850-447a3041c3bc // indirect github.com/vmihailenco/msgpack/v5 v5.3.5 // indirect github.com/vmihailenco/tagparser/v2 v2.0.0 // indirect - golang.org/x/crypto v0.0.0-20220829220503-c86fa9a7ed90 // indirect - golang.org/x/sys v0.0.0-20220913175220-63ea55921009 // indirect + golang.org/x/crypto v0.0.0-20220926161630-eccd6366d1be // indirect + golang.org/x/sys v0.0.0-20220928140112-f11e5e49a4ec // indirect golang.org/x/text v0.3.7 // indirect golang.org/x/xerrors v0.0.0-20220907171357-04be3eba64a2 // indirect gopkg.in/yaml.v3 v3.0.0-20210107192922-496545a6307b // indirect diff --git a/ogx/example/tx-composition/go.sum b/ogx/example/tx-composition/go.sum index 3a67d2ca..052fb696 100644 --- a/ogx/example/tx-composition/go.sum +++ b/ogx/example/tx-composition/go.sum @@ -59,8 +59,8 @@ golang.org/x/crypto v0.0.0-20190308221718-c2843e01d9a2/go.mod h1:djNgcEr1/C05ACk golang.org/x/crypto v0.0.0-20200622213623-75b288015ac9/go.mod h1:LzIPMQfyMNhhGPhUkYOs5KpL4U8rLKemX1yGLhDgUto= golang.org/x/crypto v0.0.0-20201012173705-84dcc777aaee/go.mod h1:LzIPMQfyMNhhGPhUkYOs5KpL4U8rLKemX1yGLhDgUto= golang.org/x/crypto v0.0.0-20210711020723-a769d52b0f97/go.mod h1:GvvjBRRGRdwPK5ydBHafDWAxML/pGHZbMvKqRZ5+Abc= -golang.org/x/crypto v0.0.0-20220829220503-c86fa9a7ed90 h1:Y/gsMcFOcR+6S6f3YeMKl5g+dZMEWqcz5Czj/GWYbkM= -golang.org/x/crypto v0.0.0-20220829220503-c86fa9a7ed90/go.mod h1:IxCIyHEi3zRg3s0A5j5BB6A9Jmi73HwBIUl50j+osU4= +golang.org/x/crypto v0.0.0-20220926161630-eccd6366d1be h1:fmw3UbQh+nxngCAHrDCCztao/kbYFnWjoqop8dHx05A= +golang.org/x/crypto v0.0.0-20220926161630-eccd6366d1be/go.mod h1:IxCIyHEi3zRg3s0A5j5BB6A9Jmi73HwBIUl50j+osU4= golang.org/x/exp v0.0.0-20190121172915-509febef88a4/go.mod h1:CJ0aWSM057203Lf6IL+f9T1iT9GByDxfZKAQTCR3kQA= golang.org/x/lint v0.0.0-20181026193005-c67002cb31c3/go.mod h1:UVdnD1Gm6xHRNCYTkRU2/jEulfH38KcIWyp/GAMgvoE= golang.org/x/lint v0.0.0-20190227174305-5b3e6a55c961/go.mod h1:wehouNa3lNwaWXcvxsM5YxQ5yQlVC4a0KAMCusXpPoU= @@ -86,8 +86,8 @@ golang.org/x/sys v0.0.0-20201119102817-f84b799fce68/go.mod h1:h1NjWce9XRLGQEsW7w golang.org/x/sys v0.0.0-20210615035016-665e8c7367d1/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.0.0-20210630005230-0f9fa26af87c/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.0.0-20220811171246-fbc7d0a398ab/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= -golang.org/x/sys v0.0.0-20220913175220-63ea55921009 h1:PuvuRMeLWqsf/ZdT1UUZz0syhioyv1mzuFZsXs4fvhw= -golang.org/x/sys v0.0.0-20220913175220-63ea55921009/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= +golang.org/x/sys v0.0.0-20220928140112-f11e5e49a4ec h1:BkDtF2Ih9xZ7le9ndzTA7KJow28VbQW3odyk/8drmuI= +golang.org/x/sys v0.0.0-20220928140112-f11e5e49a4ec/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/term v0.0.0-20201126162022-7de9c90e9dd1/go.mod h1:bj7SfCRtBDWHUb9snDiAeCFNEtKQo2Wmx5Cou7ajbmo= golang.org/x/text v0.3.0/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ= golang.org/x/text v0.3.3/go.mod h1:5Zoc/QRtKVWzQhOtBMvqHzDpF6irO9z98xDceosuGiQ= diff --git a/ogx/extra/ogxdebug/go.mod b/ogx/extra/ogxdebug/go.mod index 2d4658f5..7cc443da 100644 --- a/ogx/extra/ogxdebug/go.mod +++ b/ogx/extra/ogxdebug/go.mod @@ -16,5 +16,5 @@ require ( github.com/tmthrgd/go-hex v0.0.0-20190904060850-447a3041c3bc // indirect github.com/vmihailenco/msgpack/v5 v5.3.5 // indirect github.com/vmihailenco/tagparser/v2 v2.0.0 // indirect - golang.org/x/sys v0.0.0-20220913175220-63ea55921009 // indirect + golang.org/x/sys v0.0.0-20220928140112-f11e5e49a4ec // indirect ) diff --git a/ogx/extra/ogxdebug/go.sum b/ogx/extra/ogxdebug/go.sum index 16375532..07042e4c 100644 --- a/ogx/extra/ogxdebug/go.sum +++ b/ogx/extra/ogxdebug/go.sum @@ -26,8 +26,8 @@ golang.org/x/sys v0.0.0-20200116001909-b77594299b42/go.mod h1:h1NjWce9XRLGQEsW7w golang.org/x/sys v0.0.0-20200223170610-d5e6a3e2c0ae/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20210630005230-0f9fa26af87c/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.0.0-20220811171246-fbc7d0a398ab/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= -golang.org/x/sys v0.0.0-20220913175220-63ea55921009 h1:PuvuRMeLWqsf/ZdT1UUZz0syhioyv1mzuFZsXs4fvhw= -golang.org/x/sys v0.0.0-20220913175220-63ea55921009/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= +golang.org/x/sys v0.0.0-20220928140112-f11e5e49a4ec h1:BkDtF2Ih9xZ7le9ndzTA7KJow28VbQW3odyk/8drmuI= +golang.org/x/sys v0.0.0-20220928140112-f11e5e49a4ec/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= gopkg.in/check.v1 v0.0.0-20161208181325-20d25e280405/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0= gopkg.in/yaml.v3 v3.0.0-20200313102051-9f266ea9e77c h1:dUUwHk2QECo/6vqA44rthZ8ie2QXMNeKRTHCNY2nXvo= gopkg.in/yaml.v3 v3.0.0-20200313102051-9f266ea9e77c/go.mod h1:K4uyk7z7BCEPqu6E+C64Yfv1cQ7kz7rIZviUmN+EgEM= diff --git a/ogx/extra/ogxrelic/go.mod b/ogx/extra/ogxrelic/go.mod index aecb9d41..49580603 100644 --- a/ogx/extra/ogxrelic/go.mod +++ b/ogx/extra/ogxrelic/go.mod @@ -6,7 +6,7 @@ replace gitee.com/chentanyang/ogx => ../.. require ( gitee.com/chentanyang/ogx v1.1.7 - github.com/newrelic/go-agent/v3 v3.18.2 + github.com/newrelic/go-agent/v3 v3.19.2 ) require ( @@ -15,10 +15,10 @@ require ( github.com/tmthrgd/go-hex v0.0.0-20190904060850-447a3041c3bc // indirect github.com/vmihailenco/msgpack/v5 v5.3.5 // indirect github.com/vmihailenco/tagparser/v2 v2.0.0 // indirect - golang.org/x/net v0.0.0-20220909164309-bea034e7d591 // indirect - golang.org/x/sys v0.0.0-20220913175220-63ea55921009 // indirect + golang.org/x/net v0.0.0-20220927171203-f486391704dc // indirect + golang.org/x/sys v0.0.0-20220928140112-f11e5e49a4ec // indirect golang.org/x/text v0.3.7 // indirect - google.golang.org/genproto v0.0.0-20220914210030-581e60b4ef85 // indirect + google.golang.org/genproto v0.0.0-20220929141241-1ce7b20da813 // indirect google.golang.org/grpc v1.49.0 // indirect google.golang.org/protobuf v1.28.1 // indirect ) diff --git a/ogx/extra/ogxrelic/go.sum b/ogx/extra/ogxrelic/go.sum index b403a486..e30cb201 100644 --- a/ogx/extra/ogxrelic/go.sum +++ b/ogx/extra/ogxrelic/go.sum @@ -1,56 +1,17 @@ -cloud.google.com/go v0.26.0/go.mod h1:aQUYkXzVsufM+DwF1aE+0xfcU+56JwCaLick0ClmMTw= -cloud.google.com/go v0.34.0/go.mod h1:aQUYkXzVsufM+DwF1aE+0xfcU+56JwCaLick0ClmMTw= -github.com/BurntSushi/toml v0.3.1/go.mod h1:xHWCNGjB5oqiDr8zfno3MHue2Ht5sIBksp03qcyfWMU= -github.com/antihax/optional v1.0.0/go.mod h1:uupD/76wgC+ih3iEmQUL+0Ugr19nfwCT1kdvxnR2qWY= -github.com/census-instrumentation/opencensus-proto v0.2.1/go.mod h1:f6KPmirojxKA12rnyqOA5BBL4O983OfeGPqjHWSTneU= -github.com/client9/misspell v0.3.4/go.mod h1:qj6jICC3Q7zFZvVWo7KLAzC3yx5G7kyvSDkc90ppPyw= -github.com/cncf/udpa/go v0.0.0-20191209042840-269d4d468f6f/go.mod h1:M8M6+tZqaGXZJjfX53e64911xZQV5JYwmTeXPW+k8Sc= -github.com/cncf/udpa/go v0.0.0-20201120205902-5459f2c99403/go.mod h1:WmhPx2Nbnhtbo57+VJT5O0JRkEi1Wbu0z5j0R8u5Hbk= -github.com/cncf/xds/go v0.0.0-20210312221358-fbca930ec8ed/go.mod h1:eXthEFrGJvWHgFFCl3hGmgk+/aYT6PnTQLykKQRLhEs= github.com/davecgh/go-spew v1.1.0/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38= github.com/davecgh/go-spew v1.1.1 h1:vj9j/u1bqnvCEfJOwUhtlOARqs3+rkHYY13jYWTU97c= -github.com/envoyproxy/go-control-plane v0.9.0/go.mod h1:YTl/9mNaCwkRvm6d1a2C3ymFceY/DCBVvsKhRF0iEA4= -github.com/envoyproxy/go-control-plane v0.9.1-0.20191026205805-5f8ba28d4473/go.mod h1:YTl/9mNaCwkRvm6d1a2C3ymFceY/DCBVvsKhRF0iEA4= -github.com/envoyproxy/go-control-plane v0.9.4/go.mod h1:6rpuAdCZL397s3pYoYcLgu1mIlRU8Am5FuJP05cCM98= -github.com/envoyproxy/go-control-plane v0.9.9-0.20201210154907-fd9021fe5dad/go.mod h1:cXg6YxExXjJnVBQHBLXeUAgxn2UodCpnH306RInaBQk= -github.com/envoyproxy/go-control-plane v0.9.9-0.20210512163311-63b5d3c536b0/go.mod h1:hliV/p42l8fGbc6Y9bQ70uLwIvmJyVE5k4iMKlh8wCQ= -github.com/envoyproxy/protoc-gen-validate v0.1.0/go.mod h1:iSmxcyjqTsJpI2R4NaDN7+kN2VEUnK/pcBlmesArF7c= -github.com/ghodss/yaml v1.0.0/go.mod h1:4dBDuWmgqj2HViK6kFavaiC9ZROes6MMH2rRYeMEF04= -github.com/golang/glog v0.0.0-20160126235308-23def4e6c14b/go.mod h1:SBH7ygxi8pfUlaOkMMuAQtPIUF8ecWP5IEl/CR7VP2Q= -github.com/golang/mock v1.1.1/go.mod h1:oTYuIxOrZwtPieC+H1uAHpcLFnEyAGVDL/k47Jfbm0A= -github.com/golang/protobuf v1.2.0/go.mod h1:6lQm79b+lXiMfvg/cZm0SGofjICqVBUtrP5yJMmIC1U= -github.com/golang/protobuf v1.3.2/go.mod h1:6lQm79b+lXiMfvg/cZm0SGofjICqVBUtrP5yJMmIC1U= -github.com/golang/protobuf v1.3.3/go.mod h1:vzj43D7+SQXF/4pzW/hwtAqwc6iTitCiVSaWz5lYuqw= -github.com/golang/protobuf v1.4.0-rc.1/go.mod h1:ceaxUfeHdC40wWswd/P6IGgMaK3YpKi5j83Wpe3EHw8= -github.com/golang/protobuf v1.4.0-rc.1.0.20200221234624-67d41d38c208/go.mod h1:xKAWHe0F5eneWXFV3EuXVDTCmh+JuBKY0li0aMyXATA= -github.com/golang/protobuf v1.4.0-rc.2/go.mod h1:LlEzMj4AhA7rCAGe4KMBDvJI+AwstrUpVNzEA03Pprs= -github.com/golang/protobuf v1.4.0-rc.4.0.20200313231945-b860323f09d0/go.mod h1:WU3c8KckQ9AFe+yFwt9sWVRKCVIyN9cPHBJSNnbL67w= -github.com/golang/protobuf v1.4.0/go.mod h1:jodUvKwWbYaEsadDk5Fwe5c77LiNKVO9IDvqG2KuDX0= -github.com/golang/protobuf v1.4.1/go.mod h1:U8fpvMrcmy5pZrNK1lt4xCsGvpyWQ/VVv6QDs8UjoX8= -github.com/golang/protobuf v1.4.2/go.mod h1:oDoupMAO8OvCJWAcko0GGGIgR6R6ocIYbsSw735rRwI= -github.com/golang/protobuf v1.4.3/go.mod h1:oDoupMAO8OvCJWAcko0GGGIgR6R6ocIYbsSw735rRwI= github.com/golang/protobuf v1.5.0/go.mod h1:FsONVRAS9T7sI+LIUmWTfcYkHO4aIWwzhcaSAoJOfIk= github.com/golang/protobuf v1.5.2 h1:ROPKBNFfQgOUMifHyP+KYbvpjbdoFNs+aK7DXlji0Tw= github.com/golang/protobuf v1.5.2/go.mod h1:XVQd3VNwM+JqD3oG2Ue2ip4fOMUkwXdXDdiuN0vRsmY= -github.com/google/go-cmp v0.2.0/go.mod h1:oXzfMopK8JAjlY9xF4vHSVASa0yLyX7SntLO5aqRK0M= -github.com/google/go-cmp v0.3.0/go.mod h1:8QqcDgzrUqlUb/G2PQTWiueGozuR1884gddMywk6iLU= -github.com/google/go-cmp v0.3.1/go.mod h1:8QqcDgzrUqlUb/G2PQTWiueGozuR1884gddMywk6iLU= -github.com/google/go-cmp v0.4.0/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE= -github.com/google/go-cmp v0.5.0/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE= github.com/google/go-cmp v0.5.5/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE= github.com/google/go-cmp v0.5.6 h1:BKbKCqvP6I+rmFHt06ZmyQtvB8xAkWdhFyr0ZUNZcxQ= -github.com/google/uuid v1.1.2/go.mod h1:TIyPZe4MgqvfeYDBFedMoGGpEw/LqOeaOT+nhxU+yHo= -github.com/grpc-ecosystem/grpc-gateway v1.16.0/go.mod h1:BDjrQk3hbvj6Nolgz8mAMFbcEtjT1g+wF4CSlocrBnw= github.com/jinzhu/inflection v1.0.0 h1:K317FqzuhWc8YvSVlFMCCUb36O/S9MCKRDI7QkRKD/E= github.com/jinzhu/inflection v1.0.0/go.mod h1:h+uFLlag+Qp1Va5pdKtLDYj+kHp5pxUVkryuEj+Srlc= -github.com/newrelic/go-agent/v3 v3.18.2 h1:28Nr54mkzKeoRF6lUPs4V1TRxLoPOgbnX9RWP5iDDCs= -github.com/newrelic/go-agent/v3 v3.18.2/go.mod h1:BFJOlbZWRlPTXKYIC1TTTtQKTnYntEJaU0VU507hDc0= +github.com/newrelic/go-agent/v3 v3.19.2 h1:gu5Vyp/61gMzXptr+va7+pliKaRkNShoSadYG8dM0IQ= +github.com/newrelic/go-agent/v3 v3.19.2/go.mod h1:rT6ZUxJc5rQbWLyCtjqQCOcfb01lKRFbc1yMQkcboWM= github.com/pmezard/go-difflib v1.0.0 h1:4DBwDE0NGyQoBHbLQYPwSUPoCMWR5BEzIk/f1lZbAQM= github.com/pmezard/go-difflib v1.0.0/go.mod h1:iKH77koFhYxTK1pcRnkKkqfTogsbg7gZNVY4sRDYZ/4= -github.com/prometheus/client_model v0.0.0-20190812154241-14fe0d1b01d4/go.mod h1:xMI15A0UPsDsEKsMN9yxemIoYk6Tm2C1GtYGdfGttqA= -github.com/rogpeppe/fastuuid v1.2.0/go.mod h1:jVj6XXZzXRy/MSR5jhDC/2q6DgLz+nrA6LYCDYWNEvQ= github.com/stretchr/objx v0.1.0/go.mod h1:HFkY916IF+rwdDfMAkV7OtwuqBVzrE8GR6GFx+wExME= -github.com/stretchr/testify v1.5.1/go.mod h1:5W2xD1RspED5o8YsWQXVCued0rvSQ+mT+I5cxcmMvtA= github.com/stretchr/testify v1.6.1/go.mod h1:6Fq8oRcR53rry900zMqJjRRixrwX3KX962/h/Wwjteg= github.com/stretchr/testify v1.7.0 h1:nwc3DEeHmmLAfoZucVR881uASk0Mfjw8xYJ99tb5CcY= github.com/tmthrgd/go-hex v0.0.0-20190904060850-447a3041c3bc h1:9lRDQMhESg+zvGYmW5DyG0UqvY96Bu5QYsTLvCHdrgo= @@ -59,78 +20,22 @@ github.com/vmihailenco/msgpack/v5 v5.3.5 h1:5gO0H1iULLWGhs2H5tbAHIZTV8/cYafcFOr9 github.com/vmihailenco/msgpack/v5 v5.3.5/go.mod h1:7xyJ9e+0+9SaZT0Wt1RGleJXzli6Q/V5KbhBonMG9jc= github.com/vmihailenco/tagparser/v2 v2.0.0 h1:y09buUbR+b5aycVFQs/g70pqKVZNBmxwAhO7/IwNM9g= github.com/vmihailenco/tagparser/v2 v2.0.0/go.mod h1:Wri+At7QHww0WTrCBeu4J6bNtoV6mEfg5OIWRZA9qds= -go.opentelemetry.io/proto/otlp v0.7.0/go.mod h1:PqfVotwruBrMGOCsRd/89rSnXhoiJIqeYNgFYFoEGnI= -golang.org/x/crypto v0.0.0-20190308221718-c2843e01d9a2/go.mod h1:djNgcEr1/C05ACkg1iLfiJU5Ep61QUkGW8qpdssI0+w= -golang.org/x/crypto v0.0.0-20200622213623-75b288015ac9/go.mod h1:LzIPMQfyMNhhGPhUkYOs5KpL4U8rLKemX1yGLhDgUto= -golang.org/x/exp v0.0.0-20190121172915-509febef88a4/go.mod h1:CJ0aWSM057203Lf6IL+f9T1iT9GByDxfZKAQTCR3kQA= -golang.org/x/lint v0.0.0-20181026193005-c67002cb31c3/go.mod h1:UVdnD1Gm6xHRNCYTkRU2/jEulfH38KcIWyp/GAMgvoE= -golang.org/x/lint v0.0.0-20190227174305-5b3e6a55c961/go.mod h1:wehouNa3lNwaWXcvxsM5YxQ5yQlVC4a0KAMCusXpPoU= -golang.org/x/lint v0.0.0-20190313153728-d0100b6bd8b3/go.mod h1:6SW0HCj/g11FgYtHlgUYUwCkIfeOF89ocIRzGO/8vkc= -golang.org/x/net v0.0.0-20180724234803-3673e40ba225/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4= -golang.org/x/net v0.0.0-20180826012351-8a410e7b638d/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4= -golang.org/x/net v0.0.0-20190108225652-1e06a53dbb7e/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4= -golang.org/x/net v0.0.0-20190213061140-3a22650c66bd/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4= -golang.org/x/net v0.0.0-20190311183353-d8887717615a/go.mod h1:t9HGtf8HONx5eT2rtn7q6eTqICYqUVnKs3thJo3Qplg= -golang.org/x/net v0.0.0-20190404232315-eb5bcb51f2a3/go.mod h1:t9HGtf8HONx5eT2rtn7q6eTqICYqUVnKs3thJo3Qplg= -golang.org/x/net v0.0.0-20200822124328-c89045814202/go.mod h1:/O7V0waA8r7cgGh81Ro3o1hOxt32SMVPicZroKQ2sZA= -golang.org/x/net v0.0.0-20220909164309-bea034e7d591 h1:D0B/7al0LLrVC8aWF4+oxpv/m8bc7ViFfVS8/gXGdqI= -golang.org/x/net v0.0.0-20220909164309-bea034e7d591/go.mod h1:YDH+HFinaLZZlnHAfSS6ZXJJ9M9t4Dl22yv3iI2vPwk= -golang.org/x/oauth2 v0.0.0-20180821212333-d2e6202438be/go.mod h1:N/0e6XlmueqKjAGxoOufVs8QHGRruUQn6yWY3a++T0U= -golang.org/x/oauth2 v0.0.0-20200107190931-bf48bf16ab8d/go.mod h1:gOpvHmFTYa4IltrdGE7lF6nIHvwfUNPOp7c8zoXwtLw= -golang.org/x/sync v0.0.0-20180314180146-1d60e4601c6f/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= -golang.org/x/sync v0.0.0-20181108010431-42b317875d0f/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= -golang.org/x/sync v0.0.0-20181221193216-37e7f081c4d4/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= -golang.org/x/sync v0.0.0-20190423024810-112230192c58/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= -golang.org/x/sys v0.0.0-20180830151530-49385e6e1522/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= -golang.org/x/sys v0.0.0-20190215142949-d0b11bdaac8a/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= -golang.org/x/sys v0.0.0-20190412213103-97732733099d/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20200323222414-85ca7c5b95cd/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20220913175220-63ea55921009 h1:PuvuRMeLWqsf/ZdT1UUZz0syhioyv1mzuFZsXs4fvhw= -golang.org/x/sys v0.0.0-20220913175220-63ea55921009/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= -golang.org/x/text v0.3.0/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ= +golang.org/x/net v0.0.0-20220927171203-f486391704dc h1:FxpXZdoBqT8RjqTy6i1E8nXHhW21wK7ptQ/EPIGxzPQ= +golang.org/x/net v0.0.0-20220927171203-f486391704dc/go.mod h1:YDH+HFinaLZZlnHAfSS6ZXJJ9M9t4Dl22yv3iI2vPwk= +golang.org/x/sys v0.0.0-20220928140112-f11e5e49a4ec h1:BkDtF2Ih9xZ7le9ndzTA7KJow28VbQW3odyk/8drmuI= +golang.org/x/sys v0.0.0-20220928140112-f11e5e49a4ec/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/text v0.3.7 h1:olpwvP2KacW1ZWvsR7uQhoyTYvKAupfQrRGBFM352Gk= golang.org/x/text v0.3.7/go.mod h1:u+2+/6zg+i71rQMx5EYifcz6MCKuco9NR6JIITiCfzQ= -golang.org/x/tools v0.0.0-20190114222345-bf090417da8b/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ= -golang.org/x/tools v0.0.0-20190226205152-f727befe758c/go.mod h1:9Yl7xja0Znq3iFh3HoIrodX9oNMXvdceNzlUR8zjMvY= -golang.org/x/tools v0.0.0-20190311212946-11955173bddd/go.mod h1:LCzVGOaR6xXOjkQ3onu1FJEFr0SW1gC7cKk1uF8kGRs= -golang.org/x/tools v0.0.0-20190524140312-2c0ae7006135/go.mod h1:RgjU9mgBXZiqYHBnxXauZ1Gv1EHHAz9KjViQ78xBX0Q= golang.org/x/xerrors v0.0.0-20191204190536-9bdfabe68543/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0= golang.org/x/xerrors v0.0.0-20200804184101-5ec99f83aff1 h1:go1bK/D/BFZV2I8cIQd1NKEZ+0owSTG1fDTci4IqFcE= -golang.org/x/xerrors v0.0.0-20200804184101-5ec99f83aff1/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0= -google.golang.org/appengine v1.1.0/go.mod h1:EbEs0AVv82hx2wNQdGPgUI5lhzA/G0D9YwlJXL52JkM= -google.golang.org/appengine v1.4.0/go.mod h1:xpcJRLb0r/rnEns0DIKYYv+WjYCduHsrkT7/EB5XEv4= -google.golang.org/genproto v0.0.0-20180817151627-c66870c02cf8/go.mod h1:JiN7NxoALGmiZfu7CAH4rXhgtRTLTxftemlI0sWmxmc= -google.golang.org/genproto v0.0.0-20190819201941-24fa4b261c55/go.mod h1:DMBHOl98Agz4BDEuKkezgsaosCRResVns1a3J2ZsMNc= -google.golang.org/genproto v0.0.0-20200513103714-09dca8ec2884/go.mod h1:55QSHmfGQM9UVYDPBsyGGes0y52j32PQ3BqQfXhyH3c= -google.golang.org/genproto v0.0.0-20200526211855-cb27e3aa2013/go.mod h1:NbSheEEYHJ7i3ixzK3sjbqSGDJWnxyFXZblF3eUsNvo= -google.golang.org/genproto v0.0.0-20220914210030-581e60b4ef85 h1:lkYqfLZL9+9C+SltHOTeOHL6uueWYYkGp5NoeOZQsis= -google.golang.org/genproto v0.0.0-20220914210030-581e60b4ef85/go.mod h1:0Nb8Qy+Sk5eDzHnzlStwW3itdNaWoZA5XeSG+R3JHSo= -google.golang.org/grpc v1.19.0/go.mod h1:mqu4LbDTu4XGKhr4mRzUsmM4RtVoemTSY81AxZiDr8c= -google.golang.org/grpc v1.23.0/go.mod h1:Y5yQAOtifL1yxbo5wqy6BxZv8vAUGQwXBOALyacEbxg= -google.golang.org/grpc v1.25.1/go.mod h1:c3i+UQWmh7LiEpx4sFZnkU36qjEYZ0imhYfXVyQciAY= -google.golang.org/grpc v1.27.0/go.mod h1:qbnxyOmOxrQa7FizSgH+ReBfzJrCY1pSN7KXBS8abTk= -google.golang.org/grpc v1.33.1/go.mod h1:fr5YgcSWrqhRRxogOsw7RzIpsmvOZ6IcH4kBYTpR3n0= -google.golang.org/grpc v1.36.0/go.mod h1:qjiiYl8FncCW8feJPdyg3v6XW24KsRHe+dy9BAGRRjU= -google.golang.org/grpc v1.39.0/go.mod h1:PImNr+rS9TWYb2O4/emRugxiyHZ5JyHW5F+RPnDzfrE= +google.golang.org/genproto v0.0.0-20220929141241-1ce7b20da813 h1:buul04Ikd79A5tP8nGhKEyMfr+/HplsO6nqSUapWZ/M= +google.golang.org/genproto v0.0.0-20220929141241-1ce7b20da813/go.mod h1:woMGP53BroOrRY3xTxlbr8Y3eB/nzAvvFM83q7kG2OI= google.golang.org/grpc v1.49.0 h1:WTLtQzmQori5FUH25Pq4WT22oCsv8USpQ+F6rqtsmxw= google.golang.org/grpc v1.49.0/go.mod h1:ZgQEeidpAuNRZ8iRrlBKXZQP1ghovWIVhdJRyCDK+GI= -google.golang.org/protobuf v0.0.0-20200109180630-ec00e32a8dfd/go.mod h1:DFci5gLYBciE7Vtevhsrf46CRTquxDuWsQurQQe4oz8= -google.golang.org/protobuf v0.0.0-20200221191635-4d8936d0db64/go.mod h1:kwYJMbMJ01Woi6D6+Kah6886xMZcty6N08ah7+eCXa0= -google.golang.org/protobuf v0.0.0-20200228230310-ab0ca4ff8a60/go.mod h1:cfTl7dwQJ+fmap5saPgwCLgHXTUD7jkjRqWcaiX5VyM= -google.golang.org/protobuf v1.20.1-0.20200309200217-e05f789c0967/go.mod h1:A+miEFZTKqfCUM6K7xSMQL9OKL/b6hQv+e19PK+JZNE= -google.golang.org/protobuf v1.21.0/go.mod h1:47Nbq4nVaFHyn7ilMalzfO3qCViNmqZ2kzikPIcrTAo= -google.golang.org/protobuf v1.22.0/go.mod h1:EGpADcykh3NcUnDUJcl1+ZksZNG86OlYog2l/sGQquU= -google.golang.org/protobuf v1.23.0/go.mod h1:EGpADcykh3NcUnDUJcl1+ZksZNG86OlYog2l/sGQquU= -google.golang.org/protobuf v1.23.1-0.20200526195155-81db48ad09cc/go.mod h1:EGpADcykh3NcUnDUJcl1+ZksZNG86OlYog2l/sGQquU= -google.golang.org/protobuf v1.25.0/go.mod h1:9JNX74DMeImyA3h4bdi1ymwjUzf21/xIlbajtzgsN7c= google.golang.org/protobuf v1.26.0-rc.1/go.mod h1:jlhhOSvTdKEhbULTjvd4ARK9grFBp09yW+WbY/TyQbw= google.golang.org/protobuf v1.26.0/go.mod h1:9q0QmTI4eRPtz6boOQmLYwt+qCgq0jsYwAQnmE0givc= google.golang.org/protobuf v1.28.1 h1:d0NfwRgPtno5B1Wa6L2DAG+KivqkdutMf1UhdNx175w= google.golang.org/protobuf v1.28.1/go.mod h1:HV8QOd/L58Z+nl8r43ehVNZIU/HEI6OcFqwMG9pJV4I= gopkg.in/check.v1 v0.0.0-20161208181325-20d25e280405/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0= -gopkg.in/yaml.v2 v2.2.2/go.mod h1:hI93XBmqTisBFMUTm0b8Fm+jr3Dg1NNxqwp+5A1VGuI= -gopkg.in/yaml.v2 v2.2.3/go.mod h1:hI93XBmqTisBFMUTm0b8Fm+jr3Dg1NNxqwp+5A1VGuI= gopkg.in/yaml.v3 v3.0.0-20200313102051-9f266ea9e77c h1:dUUwHk2QECo/6vqA44rthZ8ie2QXMNeKRTHCNY2nXvo= gopkg.in/yaml.v3 v3.0.0-20200313102051-9f266ea9e77c/go.mod h1:K4uyk7z7BCEPqu6E+C64Yfv1cQ7kz7rIZviUmN+EgEM= -honnef.co/go/tools v0.0.0-20190102054323-c2f93a96b099/go.mod h1:rf3lG4BRIbNafJWhAfAdb/ePZxsR/4RtNHQocxwk9r4= -honnef.co/go/tools v0.0.0-20190523083050-ea95bdfd59fc/go.mod h1:rf3lG4BRIbNafJWhAfAdb/ePZxsR/4RtNHQocxwk9r4= diff --git a/ogx/go.mod b/ogx/go.mod index 3fa3c56e..8d6f9976 100644 --- a/ogx/go.mod +++ b/ogx/go.mod @@ -14,7 +14,7 @@ require ( github.com/kr/pretty v0.1.0 // indirect github.com/pmezard/go-difflib v1.0.0 // indirect github.com/vmihailenco/tagparser/v2 v2.0.0 // indirect - golang.org/x/sys v0.0.0-20220913175220-63ea55921009 // indirect + golang.org/x/sys v0.0.0-20220928140112-f11e5e49a4ec // indirect gopkg.in/check.v1 v1.0.0-20180628173108-788fd7840127 // indirect gopkg.in/yaml.v3 v3.0.0-20200313102051-9f266ea9e77c // indirect ) diff --git a/ogx/go.sum b/ogx/go.sum index 6bff153e..768ffb8d 100644 --- a/ogx/go.sum +++ b/ogx/go.sum @@ -20,8 +20,8 @@ github.com/vmihailenco/msgpack/v5 v5.3.5 h1:5gO0H1iULLWGhs2H5tbAHIZTV8/cYafcFOr9 github.com/vmihailenco/msgpack/v5 v5.3.5/go.mod h1:7xyJ9e+0+9SaZT0Wt1RGleJXzli6Q/V5KbhBonMG9jc= github.com/vmihailenco/tagparser/v2 v2.0.0 h1:y09buUbR+b5aycVFQs/g70pqKVZNBmxwAhO7/IwNM9g= github.com/vmihailenco/tagparser/v2 v2.0.0/go.mod h1:Wri+At7QHww0WTrCBeu4J6bNtoV6mEfg5OIWRZA9qds= -golang.org/x/sys v0.0.0-20220913175220-63ea55921009 h1:PuvuRMeLWqsf/ZdT1UUZz0syhioyv1mzuFZsXs4fvhw= -golang.org/x/sys v0.0.0-20220913175220-63ea55921009/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= +golang.org/x/sys v0.0.0-20220928140112-f11e5e49a4ec h1:BkDtF2Ih9xZ7le9ndzTA7KJow28VbQW3odyk/8drmuI= +golang.org/x/sys v0.0.0-20220928140112-f11e5e49a4ec/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= gopkg.in/check.v1 v0.0.0-20161208181325-20d25e280405/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0= gopkg.in/check.v1 v1.0.0-20180628173108-788fd7840127 h1:qIbj1fsPNlZgppZ+VLlY7N33q108Sa+fhmuc+sWQYwY= gopkg.in/check.v1 v1.0.0-20180628173108-788fd7840127/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0= diff --git a/ogx/query_select.go b/ogx/query_select.go index 60d8a0c7..6732edea 100644 --- a/ogx/query_select.go +++ b/ogx/query_select.go @@ -1,20 +1,18 @@ package ogx import ( - "bytes" - "context" - "database/sql" - "errors" - "fmt" - "strconv" - "strings" - "sync" - - "gitee.com/chentanyang/ogx/dialect" - - "gitee.com/chentanyang/ogx/dialect/feature" - "gitee.com/chentanyang/ogx/internal" - "gitee.com/chentanyang/ogx/schema" + "bytes" + "context" + "database/sql" + "errors" + "fmt" + "strconv" + "strings" + "sync" + + "gitee.com/chentanyang/ogx/dialect/feature" + "gitee.com/chentanyang/ogx/internal" + "gitee.com/chentanyang/ogx/schema" ) type union struct { @@ -163,86 +161,50 @@ func (q *SelectQuery) WhereAllWithDeleted() *SelectQuery { //------------------------------------------------------------------------------ func (q *SelectQuery) UseIndex(indexes ...string) *SelectQuery { - if q.db.dialect.Name() == dialect.MySQL { - q.addUseIndex(indexes...) - } return q } func (q *SelectQuery) UseIndexForJoin(indexes ...string) *SelectQuery { - if q.db.dialect.Name() == dialect.MySQL { - q.addUseIndexForJoin(indexes...) - } return q } func (q *SelectQuery) UseIndexForOrderBy(indexes ...string) *SelectQuery { - if q.db.dialect.Name() == dialect.MySQL { - q.addUseIndexForOrderBy(indexes...) - } return q } func (q *SelectQuery) UseIndexForGroupBy(indexes ...string) *SelectQuery { - if q.db.dialect.Name() == dialect.MySQL { - q.addUseIndexForGroupBy(indexes...) - } return q } func (q *SelectQuery) IgnoreIndex(indexes ...string) *SelectQuery { - if q.db.dialect.Name() == dialect.MySQL { - q.addIgnoreIndex(indexes...) - } return q } func (q *SelectQuery) IgnoreIndexForJoin(indexes ...string) *SelectQuery { - if q.db.dialect.Name() == dialect.MySQL { - q.addIgnoreIndexForJoin(indexes...) - } return q } func (q *SelectQuery) IgnoreIndexForOrderBy(indexes ...string) *SelectQuery { - if q.db.dialect.Name() == dialect.MySQL { - q.addIgnoreIndexForOrderBy(indexes...) - } return q } func (q *SelectQuery) IgnoreIndexForGroupBy(indexes ...string) *SelectQuery { - if q.db.dialect.Name() == dialect.MySQL { - q.addIgnoreIndexForGroupBy(indexes...) - } return q } func (q *SelectQuery) ForceIndex(indexes ...string) *SelectQuery { - if q.db.dialect.Name() == dialect.MySQL { - q.addForceIndex(indexes...) - } return q } func (q *SelectQuery) ForceIndexForJoin(indexes ...string) *SelectQuery { - if q.db.dialect.Name() == dialect.MySQL { - q.addForceIndexForJoin(indexes...) - } return q } func (q *SelectQuery) ForceIndexForOrderBy(indexes ...string) *SelectQuery { - if q.db.dialect.Name() == dialect.MySQL { - q.addForceIndexForOrderBy(indexes...) - } return q } func (q *SelectQuery) ForceIndexForGroupBy(indexes ...string) *SelectQuery { - if q.db.dialect.Name() == dialect.MySQL { - q.addForceIndexForGroupBy(indexes...) - } return q } diff --git a/ogx/query_update.go b/ogx/query_update.go index cb4a49ee..6a0924f5 100644 --- a/ogx/query_update.go +++ b/ogx/query_update.go @@ -6,8 +6,6 @@ import ( "errors" "fmt" - "gitee.com/chentanyang/ogx/dialect" - "gitee.com/chentanyang/ogx/dialect/feature" "gitee.com/chentanyang/ogx/internal" "gitee.com/chentanyang/ogx/schema" @@ -564,22 +562,13 @@ func (q *updateQueryBuilder) Unwrap() interface{} { //------------------------------------------------------------------------------ func (q *UpdateQuery) UseIndex(indexes ...string) *UpdateQuery { - if q.db.dialect.Name() == dialect.MySQL { - q.addUseIndex(indexes...) - } return q } func (q *UpdateQuery) IgnoreIndex(indexes ...string) *UpdateQuery { - if q.db.dialect.Name() == dialect.MySQL { - q.addIgnoreIndex(indexes...) - } return q } func (q *UpdateQuery) ForceIndex(indexes ...string) *UpdateQuery { - if q.db.dialect.Name() == dialect.MySQL { - q.addForceIndex(indexes...) - } return q } -- Gitee