@@ -27,7 +27,7 @@ func SquashJoins(
2727 return n , nil
2828 }
2929
30- span , ctx := ctx .Span ("gitbase.SquashJoins" )
30+ span , _ := ctx .Span ("gitbase.SquashJoins" )
3131 defer span .Finish ()
3232
3333 a .Log ("squashing joins, node of type %T" , n )
@@ -123,10 +123,6 @@ func squashProjects(parent, child *plan.Project) (sql.Node, bool) {
123123 return plan .NewProject (projections , child .Child ), true
124124}
125125
126- func referenceSameColumn (parent , child * expression.GetField ) bool {
127- return parent .Name () == child .Name () && parent .Table () == child .Table ()
128- }
129-
130126func squashJoin (join * plan.InnerJoin ) (sql.Node , error ) {
131127 if ! isJoinSquashable (join ) {
132128 return join , nil
@@ -675,6 +671,9 @@ func buildSquashedTable(
675671 filters ,
676672 append (it .Schema (), gitbase .TreeEntriesSchema ... ),
677673 )
674+ if err != nil {
675+ return nil , err
676+ }
678677
679678 iter = gitbase .NewTreeTreeEntriesIter (it , f , false )
680679 case nil :
@@ -1545,53 +1544,6 @@ func isCol(table, name string) validator {
15451544 }
15461545}
15471546
1548- func isGte (left , right validator ) validator {
1549- return func (e sql.Expression ) bool {
1550- switch e := e .(type ) {
1551- case * expression.GreaterThanOrEqual :
1552- return left (e .Left ()) && right (e .Right ())
1553- case * expression.LessThanOrEqual :
1554- return left (e .Right ()) && right (e .Left ())
1555- default :
1556- return false
1557- }
1558- }
1559- }
1560-
1561- func isNum (n int64 ) validator {
1562- return func (e sql.Expression ) bool {
1563- lit , ok := e .(* expression.Literal )
1564- if ! ok {
1565- return false
1566- }
1567-
1568- result , err := lit .Eval (nil , nil )
1569- if err != nil {
1570- return false
1571- }
1572-
1573- num , ok := result .(int64 )
1574- if ! ok {
1575- return false
1576- }
1577-
1578- return num == n
1579- }
1580- }
1581-
1582- func containsField (e sql.Expression , table , name string ) bool {
1583- var found bool
1584- expression .Inspect (e , func (e sql.Expression ) bool {
1585- gf , ok := e .(* expression.GetField )
1586- if ok && gf .Table () == table && gf .Name () == name {
1587- found = true
1588- return false
1589- }
1590- return true
1591- })
1592- return found
1593- }
1594-
15951547func fixFieldIndexes (e sql.Expression , schema sql.Schema ) (sql.Expression , error ) {
15961548 if e == nil {
15971549 return nil , nil
0 commit comments