~drizzle-trunk/drizzle/development

« back to all changes in this revision

Viewing changes to include/my_trie.h

  • Committer: Jay Pipes
  • Date: 2008-07-17 18:48:58 UTC
  • mto: This revision was merged to the branch mainline in revision 182.
  • Revision ID: jay@mysql.com-20080717184858-2mbouxl8xi41gcge
Removed DBUG from CSV and Blackhole storage engines

Show diffs side-by-side

added added

removed removed

Lines of Context:
55
55
static inline TRIE_NODE *trie_goto (TRIE_NODE *root, TRIE_NODE *node, uchar c)
56
56
{
57
57
  TRIE_NODE *next;
58
 
  DBUG_ENTER("trie_goto");
59
58
  for (next= node->links; next; next= next->next)
60
59
    if (next->c == c)
61
 
      DBUG_RETURN(next);
 
60
      return(next);
62
61
  if (root == node)
63
 
    DBUG_RETURN(root);
64
 
  DBUG_RETURN(NULL);
 
62
    return(root);
 
63
  return(NULL);
65
64
}
66
65
 
67
66
 
82
81
static inline int ac_trie_next (AC_TRIE_STATE *state, uchar *c)
83
82
{
84
83
  TRIE_NODE *root, *node;
85
 
  DBUG_ENTER("ac_trie_next");
86
 
  DBUG_ASSERT(state && c);
 
84
  assert(state && c);
87
85
  root= &state->trie->root;
88
86
  node= state->node;
89
87
  while (! (state->node= trie_goto(root, node, *c)))
90
88
    node= node->fail;
91
 
  DBUG_RETURN(state->node->leaf);
 
89
  return(state->node->leaf);
92
90
}
93
91
 
94
92
 
117
115
{
118
116
  TRIE_NODE *node;
119
117
  uint k;
120
 
  DBUG_ENTER("trie_search");
121
 
  DBUG_ASSERT(trie && key && keylen);
 
118
  assert(trie && key && keylen);
122
119
  node= &trie->root;
123
120
 
124
121
  for (k= 0; k < keylen; k++)
125
122
  {
126
123
    uchar p;
127
124
    if (! (node= node->links))
128
 
      DBUG_RETURN(false);
 
125
      return(false);
129
126
    p= key[k];
130
127
    while (p != node->c)
131
128
      if (! (node= node->next))
132
 
        DBUG_RETURN(false);
 
129
        return(false);
133
130
  }
134
131
 
135
 
  DBUG_RETURN(node->leaf > 0);
 
132
  return(node->leaf > 0);
136
133
}
137
134
 
138
135
#ifdef  __cplusplus